PageSourceSearch

https://www.fisg.it/backend/theme/13/assets/plugins/global/plugins.bundle.js

js fisg.it collected 2026-10-01 12:22:39 UTC 3,608,784 bytes, 46,475 lines download raw bytes

vendor: 2,248 bytes, lines 1-79
1/*!
2 * jQuery JavaScript Library v3.7.1
3 * https://jquery.com/
4 *
5 * Copyright OpenJS Foundation and other contributors
6 * Released under the MIT license
7 * https://jquery.org/license
8 *
9 * Date: 2023-08-28T13:37Z
10 */
11( function( global, factory ) {
12
13	"use strict";
14
15	if ( typeof module === "object" && typeof module.exports === "object" ) {
16
17		// For CommonJS and CommonJS-like environments where a proper `window`
18		// is present, execute the factory and get jQuery.
19		// For environments that do not have a `window` with a `document`
20		// (such as Node.js), expose a factory as module.exports.
21		// This accentuates the need for the creation of a real `window`.
22		// e.g. var jQuery = require("jquery")(window);
23		// See ticket trac-14549 for more info.
24		module.exports = global.document ?
25			factory( global, true ) :
26			function( w ) {
27				if ( !w.document ) {
28					throw new Error( "jQuery requires a window with a document" );
29				}
30				return factory( w );
31			};
32	} else {
33		factory( global );
34	}
35
36// Pass this if window is not defined yet
37} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
38
39// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1
40// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode
41// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common
42// enough that all such attempts are guarded in a try block.
43"use strict";
44
45var arr = [];
46
47var getProto = Object.getPrototypeOf;
48
49var slice = arr.slice;
50
51var flat = arr.flat ? function( array ) {
52	return arr.flat.call( array );
53} : function( array ) {
54	return arr.concat.apply( [], array );
55};
56
57
58var push = arr.push;
59
60var indexOf = arr.indexOf;
61
62var class2type = {};
63
64var toString = class2type.toString;
65
66var hasOwn = class2type.hasOwnProperty;
67
68var fnToString = hasOwn.toString;
69
70var ObjectFunctionString = fnToString.call( Object );
71
72var support = {};
73
74var isFunction = function isFunction( obj ) {
75
76		// Support: Chrome <=57, Firefox <=52
77		// In some browsers, typeof returns "function" for HTML <object> elements
78		// (i.e., `typeof document.createElement( "object" ) === "function"`).
79		// We don't want to classify *any* DOM node as a function.
vendor: 10,176 bytes, lines 80-508
80		// Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5
81		// Plus for old WebKit, typeof returns "function" for HTML collections
82		// (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756)
83		return typeof obj === "function" && typeof obj.nodeType !== "number" &&
84			typeof obj.item !== "function";
85	};
86
87
88var isWindow = function isWindow( obj ) {
89		return obj != null && obj === obj.window;
90	};
91
92
93var document = window.document;
94
95
96
97	var preservedScriptAttributes = {
98		type: true,
99		src: true,
100		nonce: true,
101		noModule: true
102	};
103
104	function DOMEval( code, node, doc ) {
105		doc = doc || document;
106
107		var i, val,
108			script = doc.createElement( "script" );
109
110		script.text = code;
111		if ( node ) {
112			for ( i in preservedScriptAttributes ) {
113
114				// Support: Firefox 64+, Edge 18+
115				// Some browsers don't support the "nonce" property on scripts.
116				// On the other hand, just using `getAttribute` is not enough as
117				// the `nonce` attribute is reset to an empty string whenever it
118				// becomes browsing-context connected.
119				// See https://github.com/whatwg/html/issues/2369
120				// See https://html.spec.whatwg.org/#nonce-attributes
121				// The `node.getAttribute` check was added for the sake of
122				// `jQuery.globalEval` so that it can fake a nonce-containing node
123				// via an object.
124				val = node[ i ] || node.getAttribute && node.getAttribute( i );
125				if ( val ) {
126					script.setAttribute( i, val );
127				}
128			}
129		}
130		doc.head.appendChild( script ).parentNode.removeChild( script );
131	}
132
133
134function toType( obj ) {
135	if ( obj == null ) {
136		return obj + "";
137	}
138
139	// Support: Android <=2.3 only (functionish RegExp)
140	return typeof obj === "object" || typeof obj === "function" ?
141		class2type[ toString.call( obj ) ] || "object" :
142		typeof obj;
143}
144/* global Symbol */
145// Defining this global in .eslintrc.json would create a danger of using the global
146// unguarded in another place, it seems safer to define global only for this module
147
148
149
150var version = "3.7.1",
151
152	rhtmlSuffix = /HTML$/i,
153
154	// Define a local copy of jQuery
155	jQuery = function( selector, context ) {
156
157		// The jQuery object is actually just the init constructor 'enhanced'
158		// Need init if jQuery is called (just allow error to be thrown if not included)
159		return new jQuery.fn.init( selector, context );
160	};
161
162jQuery.fn = jQuery.prototype = {
163
164	// The current version of jQuery being used
165	jquery: version,
166
167	constructor: jQuery,
168
169	// The default length of a jQuery object is 0
170	length: 0,
171
172	toArray: function() {
173		return slice.call( this );
174	},
175
176	// Get the Nth element in the matched element set OR
177	// Get the whole matched element set as a clean array
178	get: function( num ) {
179
180		// Return all the elements in a clean array
181		if ( num == null ) {
182			return slice.call( this );
183		}
184
185		// Return just the one element from the set
186		return num < 0 ? this[ num + this.length ] : this[ num ];
187	},
188
189	// Take an array of elements and push it onto the stack
190	// (returning the new matched element set)
191	pushStack: function( elems ) {
192
193		// Build a new jQuery matched element set
194		var ret = jQuery.merge( this.constructor(), elems );
195
196		// Add the old object onto the stack (as a reference)
197		ret.prevObject = this;
198
199		// Return the newly-formed element set
200		return ret;
201	},
202
203	// Execute a callback for every element in the matched set.
204	each: function( callback ) {
205		return jQuery.each( this, callback );
206	},
207
208	map: function( callback ) {
209		return this.pushStack( jQuery.map( this, function( elem, i ) {
210			return callback.call( elem, i, elem );
211		} ) );
212	},
213
214	slice: function() {
215		return this.pushStack( slice.apply( this, arguments ) );
216	},
217
218	first: function() {
219		return this.eq( 0 );
220	},
221
222	last: function() {
223		return this.eq( -1 );
224	},
225
226	even: function() {
227		return this.pushStack( jQuery.grep( this, function( _elem, i ) {
228			return ( i + 1 ) % 2;
229		} ) );
230	},
231
232	odd: function() {
233		return this.pushStack( jQuery.grep( this, function( _elem, i ) {
234			return i % 2;
235		} ) );
236	},
237
238	eq: function( i ) {
239		var len = this.length,
240			j = +i + ( i < 0 ? len : 0 );
241		return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );
242	},
243
244	end: function() {
245		return this.prevObject || this.constructor();
246	},
247
248	// For internal use only.
249	// Behaves like an Array's method, not like a jQuery method.
250	push: push,
251	sort: arr.sort,
252	splice: arr.splice
253};
254
255jQuery.extend = jQuery.fn.extend = function() {
256	var options, name, src, copy, copyIsArray, clone,
257		target = arguments[ 0 ] || {},
258		i = 1,
259		length = arguments.length,
260		deep = false;
261
262	// Handle a deep copy situation
263	if ( typeof target === "boolean" ) {
264		deep = target;
265
266		// Skip the boolean and the target
267		target = arguments[ i ] || {};
268		i++;
269	}
270
271	// Handle case when target is a string or something (possible in deep copy)
272	if ( typeof target !== "object" && !isFunction( target ) ) {
273		target = {};
274	}
275
276	// Extend jQuery itself if only one argument is passed
277	if ( i === length ) {
278		target = this;
279		i--;
280	}
281
282	for ( ; i < length; i++ ) {
283
284		// Only deal with non-null/undefined values
285		if ( ( options = arguments[ i ] ) != null ) {
286
287			// Extend the base object
288			for ( name in options ) {
289				copy = options[ name ];
290
291				// Prevent Object.prototype pollution
292				// Prevent never-ending loop
293				if ( name === "__proto__" || target === copy ) {
294					continue;
295				}
296
297				// Recurse if we're merging plain objects or arrays
298				if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
299					( copyIsArray = Array.isArray( copy ) ) ) ) {
300					src = target[ name ];
301
302					// Ensure proper type for the source value
303					if ( copyIsArray && !Array.isArray( src ) ) {
304						clone = [];
305					} else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {
306						clone = {};
307					} else {
308						clone = src;
309					}
310					copyIsArray = false;
311
312					// Never move original objects, clone them
313					target[ name ] = jQuery.extend( deep, clone, copy );
314
315				// Don't bring in undefined values
316				} else if ( copy !== undefined ) {
317					target[ name ] = copy;
318				}
319			}
320		}
321	}
322
323	// Return the modified object
324	return target;
325};
326
327jQuery.extend( {
328
329	// Unique for each copy of jQuery on the page
330	expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
331
332	// Assume jQuery is ready without the ready module
333	isReady: true,
334
335	error: function( msg ) {
336		throw new Error( msg );
337	},
338
339	noop: function() {},
340
341	isPlainObject: function( obj ) {
342		var proto, Ctor;
343
344		// Detect obvious negatives
345		// Use toString instead of jQuery.type to catch host objects
346		if ( !obj || toString.call( obj ) !== "[object Object]" ) {
347			return false;
348		}
349
350		proto = getProto( obj );
351
352		// Objects with no prototype (e.g., `Object.create( null )`) are plain
353		if ( !proto ) {
354			return true;
355		}
356
357		// Objects with prototype are plain iff they were constructed by a global Object function
358		Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor;
359		return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString;
360	},
361
362	isEmptyObject: function( obj ) {
363		var name;
364
365		for ( name in obj ) {
366			return false;
367		}
368		return true;
369	},
370
371	// Evaluates a script in a provided context; falls back to the global one
372	// if not specified.
373	globalEval: function( code, options, doc ) {
374		DOMEval( code, { nonce: options && options.nonce }, doc );
375	},
376
377	each: function( obj, callback ) {
378		var length, i = 0;
379
380		if ( isArrayLike( obj ) ) {
381			length = obj.length;
382			for ( ; i < length; i++ ) {
383				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
384					break;
385				}
386			}
387		} else {
388			for ( i in obj ) {
389				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
390					break;
391				}
392			}
393		}
394
395		return obj;
396	},
397
398
399	// Retrieve the text value of an array of DOM nodes
400	text: function( elem ) {
401		var node,
402			ret = "",
403			i = 0,
404			nodeType = elem.nodeType;
405
406		if ( !nodeType ) {
407
408			// If no nodeType, this is expected to be an array
409			while ( ( node = elem[ i++ ] ) ) {
410
411				// Do not traverse comment nodes
412				ret += jQuery.text( node );
413			}
414		}
415		if ( nodeType === 1 || nodeType === 11 ) {
416			return elem.textContent;
417		}
418		if ( nodeType === 9 ) {
419			return elem.documentElement.textContent;
420		}
421		if ( nodeType === 3 || nodeType === 4 ) {
422			return elem.nodeValue;
423		}
424
425		// Do not include comment or processing instruction nodes
426
427		return ret;
428	},
429
430	// results is for internal usage only
431	makeArray: function( arr, results ) {
432		var ret = results || [];
433
434		if ( arr != null ) {
435			if ( isArrayLike( Object( arr ) ) ) {
436				jQuery.merge( ret,
437					typeof arr === "string" ?
438						[ arr ] : arr
439				);
440			} else {
441				push.call( ret, arr );
442			}
443		}
444
445		return ret;
446	},
447
448	inArray: function( elem, arr, i ) {
449		return arr == null ? -1 : indexOf.call( arr, elem, i );
450	},
451
452	isXMLDoc: function( elem ) {
453		var namespace = elem && elem.namespaceURI,
454			docElem = elem && ( elem.ownerDocument || elem ).documentElement;
455
456		// Assume HTML when documentElement doesn't yet exist, such as inside
457		// document fragments.
458		return !rhtmlSuffix.test( namespace || docElem && docElem.nodeName || "HTML" );
459	},
460
461	// Support: Android <=4.0 only, PhantomJS 1 only
462	// push.apply(_, arraylike) throws on ancient WebKit
463	merge: function( first, second ) {
464		var len = +second.length,
465			j = 0,
466			i = first.length;
467
468		for ( ; j < len; j++ ) {
469			first[ i++ ] = second[ j ];
470		}
471
472		first.length = i;
473
474		return first;
475	},
476
477	grep: function( elems, callback, invert ) {
478		var callbackInverse,
479			matches = [],
480			i = 0,
481			length = elems.length,
482			callbackExpect = !invert;
483
484		// Go through the array, only saving the items
485		// that pass the validator function
486		for ( ; i < length; i++ ) {
487			callbackInverse = !callback( elems[ i ], i );
488			if ( callbackInverse !== callbackExpect ) {
489				matches.push( elems[ i ] );
490			}
491		}
492
493		return matches;
494	},
495
496	// arg is for internal usage only
497	map: function( elems, callback, arg ) {
498		var length, value,
499			i = 0,
500			ret = [];
501
502		// Go through the array, translating each of the items to their new values
503		if ( isArrayLike( elems ) ) {
504			length = elems.length;
505			for ( ; i < length; i++ ) {
506				value = callback( elems[ i ], i, arg );
507
508				if ( value != null ) {
vendor: 17,514 bytes, lines 509-1130
509					ret.push( value );
510				}
511			}
512
513		// Go through every key on the object,
514		} else {
515			for ( i in elems ) {
516				value = callback( elems[ i ], i, arg );
517
518				if ( value != null ) {
519					ret.push( value );
520				}
521			}
522		}
523
524		// Flatten any nested arrays
525		return flat( ret );
526	},
527
528	// A global GUID counter for objects
529	guid: 1,
530
531	// jQuery.support is not used in Core but other projects attach their
532	// properties to it so it needs to exist.
533	support: support
534} );
535
536if ( typeof Symbol === "function" ) {
537	jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];
538}
539
540// Populate the class2type map
541jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
542	function( _i, name ) {
543		class2type[ "[object " + name + "]" ] = name.toLowerCase();
544	} );
545
546function isArrayLike( obj ) {
547
548	// Support: real iOS 8.2 only (not reproducible in simulator)
549	// `in` check used to prevent JIT error (gh-2145)
550	// hasOwn isn't used here due to false negatives
551	// regarding Nodelist length in IE
552	var length = !!obj && "length" in obj && obj.length,
553		type = toType( obj );
554
555	if ( isFunction( obj ) || isWindow( obj ) ) {
556		return false;
557	}
558
559	return type === "array" || length === 0 ||
560		typeof length === "number" && length > 0 && ( length - 1 ) in obj;
561}
562
563
564function nodeName( elem, name ) {
565
566	return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
567
568}
569var pop = arr.pop;
570
571
572var sort = arr.sort;
573
574
575var splice = arr.splice;
576
577
578var whitespace = "[\\x20\\t\\r\\n\\f]";
579
580
581var rtrimCSS = new RegExp(
582	"^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$",
583	"g"
584);
585
586
587
588
589// Note: an element does not contain itself
590jQuery.contains = function( a, b ) {
591	var bup = b && b.parentNode;
592
593	return a === bup || !!( bup && bup.nodeType === 1 && (
594
595		// Support: IE 9 - 11+
596		// IE doesn't have `contains` on SVG.
597		a.contains ?
598			a.contains( bup ) :
599			a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
600	) );
601};
602
603
604
605
606// CSS string/identifier serialization
607// https://drafts.csswg.org/cssom/#common-serializing-idioms
608var rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;
609
610function fcssescape( ch, asCodePoint ) {
611	if ( asCodePoint ) {
612
613		// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
614		if ( ch === "\0" ) {
615			return "\uFFFD";
616		}
617
618		// Control characters and (dependent upon position) numbers get escaped as code points
619		return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
620	}
621
622	// Other potentially-special ASCII characters get backslash-escaped
623	return "\\" + ch;
624}
625
626jQuery.escapeSelector = function( sel ) {
627	return ( sel + "" ).replace( rcssescape, fcssescape );
628};
629
630
631
632
633var preferredDoc = document,
634	pushNative = push;
635
636( function() {
637
638var i,
639	Expr,
640	outermostContext,
641	sortInput,
642	hasDuplicate,
643	push = pushNative,
644
645	// Local document vars
646	document,
647	documentElement,
648	documentIsHTML,
649	rbuggyQSA,
650	matches,
651
652	// Instance-specific data
653	expando = jQuery.expando,
654	dirruns = 0,
655	done = 0,
656	classCache = createCache(),
657	tokenCache = createCache(),
658	compilerCache = createCache(),
659	nonnativeSelectorCache = createCache(),
660	sortOrder = function( a, b ) {
661		if ( a === b ) {
662			hasDuplicate = true;
663		}
664		return 0;
665	},
666
667	booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|" +
668		"loop|multiple|open|readonly|required|scoped",
669
670	// Regular expressions
671
672	// https://www.w3.org/TR/css-syntax-3/#ident-token-diagram
673	identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace +
674		"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",
675
676	// Attribute selectors: https://www.w3.org/TR/selectors/#attribute-selectors
677	attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
678
679		// Operator (capture 2)
680		"*([*^$|!~]?=)" + whitespace +
681
682		// "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
683		"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" +
684		whitespace + "*\\]",
685
686	pseudos = ":(" + identifier + ")(?:\\((" +
687
688		// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
689		// 1. quoted (capture 3; capture 4 or capture 5)
690		"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
691
692		// 2. simple (capture 6)
693		"((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
694
695		// 3. anything else (capture 2)
696		".*" +
697		")\\)|)",
698
699	// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
700	rwhitespace = new RegExp( whitespace + "+", "g" ),
701
702	rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
703	rleadingCombinator = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" +
704		whitespace + "*" ),
705	rdescend = new RegExp( whitespace + "|>" ),
706
707	rpseudo = new RegExp( pseudos ),
708	ridentifier = new RegExp( "^" + identifier + "$" ),
709
710	matchExpr = {
711		ID: new RegExp( "^#(" + identifier + ")" ),
712		CLASS: new RegExp( "^\\.(" + identifier + ")" ),
713		TAG: new RegExp( "^(" + identifier + "|[*])" ),
714		ATTR: new RegExp( "^" + attributes ),
715		PSEUDO: new RegExp( "^" + pseudos ),
716		CHILD: new RegExp(
717			"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" +
718				whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" +
719				whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
720		bool: new RegExp( "^(?:" + booleans + ")$", "i" ),
721
722		// For use in libraries implementing .is()
723		// We use this for POS matching in `select`
724		needsContext: new RegExp( "^" + whitespace +
725			"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace +
726			"*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
727	},
728
729	rinputs = /^(?:input|select|textarea|button)$/i,
730	rheader = /^h\d$/i,
731
732	// Easily-parseable/retrievable ID or TAG or CLASS selectors
733	rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
734
735	rsibling = /[+~]/,
736
737	// CSS escapes
738	// https://www.w3.org/TR/CSS21/syndata.html#escaped-characters
739	runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace +
740		"?|\\\\([^\\r\\n\\f])", "g" ),
741	funescape = function( escape, nonHex ) {
742		var high = "0x" + escape.slice( 1 ) - 0x10000;
743
744		if ( nonHex ) {
745
746			// Strip the backslash prefix from a non-hex escape sequence
747			return nonHex;
748		}
749
750		// Replace a hexadecimal escape sequence with the encoded Unicode code point
751		// Support: IE <=11+
752		// For values outside the Basic Multilingual Plane (BMP), manually construct a
753		// surrogate pair
754		return high < 0 ?
755			String.fromCharCode( high + 0x10000 ) :
756			String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
757	},
758
759	// Used for iframes; see `setDocument`.
760	// Support: IE 9 - 11+, Edge 12 - 18+
761	// Removing the function wrapper causes a "Permission Denied"
762	// error in IE/Edge.
763	unloadHandler = function() {
764		setDocument();
765	},
766
767	inDisabledFieldset = addCombinator(
768		function( elem ) {
769			return elem.disabled === true && nodeName( elem, "fieldset" );
770		},
771		{ dir: "parentNode", next: "legend" }
772	);
773
774// Support: IE <=9 only
775// Accessing document.activeElement can throw unexpectedly
776// https://bugs.jquery.com/ticket/13393
777function safeActiveElement() {
778	try {
779		return document.activeElement;
780	} catch ( err ) { }
781}
782
783// Optimize for push.apply( _, NodeList )
784try {
785	push.apply(
786		( arr = slice.call( preferredDoc.childNodes ) ),
787		preferredDoc.childNodes
788	);
789
790	// Support: Android <=4.0
791	// Detect silently failing push.apply
792	// eslint-disable-next-line no-unused-expressions
793	arr[ preferredDoc.childNodes.length ].nodeType;
794} catch ( e ) {
795	push = {
796		apply: function( target, els ) {
797			pushNative.apply( target, slice.call( els ) );
798		},
799		call: function( target ) {
800			pushNative.apply( target, slice.call( arguments, 1 ) );
801		}
802	};
803}
804
805function find( selector, context, results, seed ) {
806	var m, i, elem, nid, match, groups, newSelector,
807		newContext = context && context.ownerDocument,
808
809		// nodeType defaults to 9, since context defaults to document
810		nodeType = context ? context.nodeType : 9;
811
812	results = results || [];
813
814	// Return early from calls with invalid selector or context
815	if ( typeof selector !== "string" || !selector ||
816		nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
817
818		return results;
819	}
820
821	// Try to shortcut find operations (as opposed to filters) in HTML documents
822	if ( !seed ) {
823		setDocument( context );
824		context = context || document;
825
826		if ( documentIsHTML ) {
827
828			// If the selector is sufficiently simple, try using a "get*By*" DOM method
829			// (excepting DocumentFragment context, where the methods don't exist)
830			if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) {
831
832				// ID selector
833				if ( ( m = match[ 1 ] ) ) {
834
835					// Document context
836					if ( nodeType === 9 ) {
837						if ( ( elem = context.getElementById( m ) ) ) {
838
839							// Support: IE 9 only
840							// getElementById can match elements by name instead of ID
841							if ( elem.id === m ) {
842								push.call( results, elem );
843								return results;
844							}
845						} else {
846							return results;
847						}
848
849					// Element context
850					} else {
851
852						// Support: IE 9 only
853						// getElementById can match elements by name instead of ID
854						if ( newContext && ( elem = newContext.getElementById( m ) ) &&
855							find.contains( context, elem ) &&
856							elem.id === m ) {
857
858							push.call( results, elem );
859							return results;
860						}
861					}
862
863				// Type selector
864				} else if ( match[ 2 ] ) {
865					push.apply( results, context.getElementsByTagName( selector ) );
866					return results;
867
868				// Class selector
869				} else if ( ( m = match[ 3 ] ) && context.getElementsByClassName ) {
870					push.apply( results, context.getElementsByClassName( m ) );
871					return results;
872				}
873			}
874
875			// Take advantage of querySelectorAll
876			if ( !nonnativeSelectorCache[ selector + " " ] &&
877				( !rbuggyQSA || !rbuggyQSA.test( selector ) ) ) {
878
879				newSelector = selector;
880				newContext = context;
881
882				// qSA considers elements outside a scoping root when evaluating child or
883				// descendant combinators, which is not what we want.
884				// In such cases, we work around the behavior by prefixing every selector in the
885				// list with an ID selector referencing the scope context.
886				// The technique has to be used as well when a leading combinator is used
887				// as such selectors are not recognized by querySelectorAll.
888				// Thanks to Andrew Dupont for this technique.
889				if ( nodeType === 1 &&
890					( rdescend.test( selector ) || rleadingCombinator.test( selector ) ) ) {
891
892					// Expand context for sibling selectors
893					newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
894						context;
895
896					// We can use :scope instead of the ID hack if the browser
897					// supports it & if we're not changing the context.
898					// Support: IE 11+, Edge 17 - 18+
899					// IE/Edge sometimes throw a "Permission denied" error when
900					// strict-comparing two documents; shallow comparisons work.
901					// eslint-disable-next-line eqeqeq
902					if ( newContext != context || !support.scope ) {
903
904						// Capture the context ID, setting it first if necessary
905						if ( ( nid = context.getAttribute( "id" ) ) ) {
906							nid = jQuery.escapeSelector( nid );
907						} else {
908							context.setAttribute( "id", ( nid = expando ) );
909						}
910					}
911
912					// Prefix every selector in the list
913					groups = tokenize( selector );
914					i = groups.length;
915					while ( i-- ) {
916						groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " +
917							toSelector( groups[ i ] );
918					}
919					newSelector = groups.join( "," );
920				}
921
922				try {
923					push.apply( results,
924						newContext.querySelectorAll( newSelector )
925					);
926					return results;
927				} catch ( qsaError ) {
928					nonnativeSelectorCache( selector, true );
929				} finally {
930					if ( nid === expando ) {
931						context.removeAttribute( "id" );
932					}
933				}
934			}
935		}
936	}
937
938	// All others
939	return select( selector.replace( rtrimCSS, "$1" ), context, results, seed );
940}
941
942/**
943 * Create key-value caches of limited size
944 * @returns {function(string, object)} Returns the Object data after storing it on itself with
945 *	property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
946 *	deleting the oldest entry
947 */
948function createCache() {
949	var keys = [];
950
951	function cache( key, value ) {
952
953		// Use (key + " ") to avoid collision with native prototype properties
954		// (see https://github.com/jquery/sizzle/issues/157)
955		if ( keys.push( key + " " ) > Expr.cacheLength ) {
956
957			// Only keep the most recent entries
958			delete cache[ keys.shift() ];
959		}
960		return ( cache[ key + " " ] = value );
961	}
962	return cache;
963}
964
965/**
966 * Mark a function for special use by jQuery selector module
967 * @param {Function} fn The function to mark
968 */
969function markFunction( fn ) {
970	fn[ expando ] = true;
971	return fn;
972}
973
974/**
975 * Support testing using an element
976 * @param {Function} fn Passed the created element and returns a boolean result
977 */
978function assert( fn ) {
979	var el = document.createElement( "fieldset" );
980
981	try {
982		return !!fn( el );
983	} catch ( e ) {
984		return false;
985	} finally {
986
987		// Remove from its parent by default
988		if ( el.parentNode ) {
989			el.parentNode.removeChild( el );
990		}
991
992		// release memory in IE
993		el = null;
994	}
995}
996
997/**
998 * Returns a function to use in pseudos for input types
999 * @param {String} type
1000 */
1001function createInputPseudo( type ) {
1002	return function( elem ) {
1003		return nodeName( elem, "input" ) && elem.type === type;
1004	};
1005}
1006
1007/**
1008 * Returns a function to use in pseudos for buttons
1009 * @param {String} type
1010 */
1011function createButtonPseudo( type ) {
1012	return function( elem ) {
1013		return ( nodeName( elem, "input" ) || nodeName( elem, "button" ) ) &&
1014			elem.type === type;
1015	};
1016}
1017
1018/**
1019 * Returns a function to use in pseudos for :enabled/:disabled
1020 * @param {Boolean} disabled true for :disabled; false for :enabled
1021 */
1022function createDisabledPseudo( disabled ) {
1023
1024	// Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable
1025	return function( elem ) {
1026
1027		// Only certain elements can match :enabled or :disabled
1028		// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled
1029		// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled
1030		if ( "form" in elem ) {
1031
1032			// Check for inherited disabledness on relevant non-disabled elements:
1033			// * listed form-associated elements in a disabled fieldset
1034			//   https://html.spec.whatwg.org/multipage/forms.html#category-listed
1035			//   https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled
1036			// * option elements in a disabled optgroup
1037			//   https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled
1038			// All such elements have a "form" property.
1039			if ( elem.parentNode && elem.disabled === false ) {
1040
1041				// Option elements defer to a parent optgroup if present
1042				if ( "label" in elem ) {
1043					if ( "label" in elem.parentNode ) {
1044						return elem.parentNode.disabled === disabled;
1045					} else {
1046						return elem.disabled === disabled;
1047					}
1048				}
1049
1050				// Support: IE 6 - 11+
1051				// Use the isDisabled shortcut property to check for disabled fieldset ancestors
1052				return elem.isDisabled === disabled ||
1053
1054					// Where there is no isDisabled, check manually
1055					elem.isDisabled !== !disabled &&
1056						inDisabledFieldset( elem ) === disabled;
1057			}
1058
1059			return elem.disabled === disabled;
1060
1061		// Try to winnow out elements that can't be disabled before trusting the disabled property.
1062		// Some victims get caught in our net (label, legend, menu, track), but it shouldn't
1063		// even exist on them, let alone have a boolean value.
1064		} else if ( "label" in elem ) {
1065			return elem.disabled === disabled;
1066		}
1067
1068		// Remaining elements are neither :enabled nor :disabled
1069		return false;
1070	};
1071}
1072
1073/**
1074 * Returns a function to use in pseudos for positionals
1075 * @param {Function} fn
1076 */
1077function createPositionalPseudo( fn ) {
1078	return markFunction( function( argument ) {
1079		argument = +argument;
1080		return markFunction( function( seed, matches ) {
1081			var j,
1082				matchIndexes = fn( [], seed.length, argument ),
1083				i = matchIndexes.length;
1084
1085			// Match elements found at the specified indexes
1086			while ( i-- ) {
1087				if ( seed[ ( j = matchIndexes[ i ] ) ] ) {
1088					seed[ j ] = !( matches[ j ] = seed[ j ] );
1089				}
1090			}
1091		} );
1092	} );
1093}
1094
1095/**
1096 * Checks a node for validity as a jQuery selector context
1097 * @param {Element|Object=} context
1098 * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
1099 */
1100function testContext( context ) {
1101	return context && typeof context.getElementsByTagName !== "undefined" && context;
1102}
1103
1104/**
1105 * Sets document-related variables once based on the current document
1106 * @param {Element|Object} [node] An element or document object to use to set the document
1107 * @returns {Object} Returns the current document
1108 */
1109function setDocument( node ) {
1110	var subWindow,
1111		doc = node ? node.ownerDocument || node : preferredDoc;
1112
1113	// Return early if doc is invalid or already selected
1114	// Support: IE 11+, Edge 17 - 18+
1115	// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1116	// two documents; shallow comparisons work.
1117	// eslint-disable-next-line eqeqeq
1118	if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) {
1119		return document;
1120	}
1121
1122	// Update global variables
1123	document = doc;
1124	documentElement = document.documentElement;
1125	documentIsHTML = !jQuery.isXMLDoc( document );
1126
1127	// Support: iOS 7 only, IE 9 - 11+
1128	// Older browsers didn't support unprefixed `matches`.
1129	matches = documentElement.matches ||
1130		documentElement.webkitMatchesSelector ||
vendor: 4,667 bytes, lines 1131-1282
1131		documentElement.msMatchesSelector;
1132
1133	// Support: IE 9 - 11+, Edge 12 - 18+
1134	// Accessing iframe documents after unload throws "permission denied" errors
1135	// (see trac-13936).
1136	// Limit the fix to IE & Edge Legacy; despite Edge 15+ implementing `matches`,
1137	// all IE 9+ and Edge Legacy versions implement `msMatchesSelector` as well.
1138	if ( documentElement.msMatchesSelector &&
1139
1140		// Support: IE 11+, Edge 17 - 18+
1141		// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1142		// two documents; shallow comparisons work.
1143		// eslint-disable-next-line eqeqeq
1144		preferredDoc != document &&
1145		( subWindow = document.defaultView ) && subWindow.top !== subWindow ) {
1146
1147		// Support: IE 9 - 11+, Edge 12 - 18+
1148		subWindow.addEventListener( "unload", unloadHandler );
1149	}
1150
1151	// Support: IE <10
1152	// Check if getElementById returns elements by name
1153	// The broken getElementById methods don't pick up programmatically-set names,
1154	// so use a roundabout getElementsByName test
1155	support.getById = assert( function( el ) {
1156		documentElement.appendChild( el ).id = jQuery.expando;
1157		return !document.getElementsByName ||
1158			!document.getElementsByName( jQuery.expando ).length;
1159	} );
1160
1161	// Support: IE 9 only
1162	// Check to see if it's possible to do matchesSelector
1163	// on a disconnected node.
1164	support.disconnectedMatch = assert( function( el ) {
1165		return matches.call( el, "*" );
1166	} );
1167
1168	// Support: IE 9 - 11+, Edge 12 - 18+
1169	// IE/Edge don't support the :scope pseudo-class.
1170	support.scope = assert( function() {
1171		return document.querySelectorAll( ":scope" );
1172	} );
1173
1174	// Support: Chrome 105 - 111 only, Safari 15.4 - 16.3 only
1175	// Make sure the `:has()` argument is parsed unforgivingly.
1176	// We include `*` in the test to detect buggy implementations that are
1177	// _selectively_ forgiving (specifically when the list includes at least
1178	// one valid selector).
1179	// Note that we treat complete lack of support for `:has()` as if it were
1180	// spec-compliant support, which is fine because use of `:has()` in such
1181	// environments will fail in the qSA path and fall back to jQuery traversal
1182	// anyway.
1183	support.cssHas = assert( function() {
1184		try {
1185			document.querySelector( ":has(*,:jqfake)" );
1186			return false;
1187		} catch ( e ) {
1188			return true;
1189		}
1190	} );
1191
1192	// ID filter and find
1193	if ( support.getById ) {
1194		Expr.filter.ID = function( id ) {
1195			var attrId = id.replace( runescape, funescape );
1196			return function( elem ) {
1197				return elem.getAttribute( "id" ) === attrId;
1198			};
1199		};
1200		Expr.find.ID = function( id, context ) {
1201			if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
1202				var elem = context.getElementById( id );
1203				return elem ? [ elem ] : [];
1204			}
1205		};
1206	} else {
1207		Expr.filter.ID =  function( id ) {
1208			var attrId = id.replace( runescape, funescape );
1209			return function( elem ) {
1210				var node = typeof elem.getAttributeNode !== "undefined" &&
1211					elem.getAttributeNode( "id" );
1212				return node && node.value === attrId;
1213			};
1214		};
1215
1216		// Support: IE 6 - 7 only
1217		// getElementById is not reliable as a find shortcut
1218		Expr.find.ID = function( id, context ) {
1219			if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
1220				var node, i, elems,
1221					elem = context.getElementById( id );
1222
1223				if ( elem ) {
1224
1225					// Verify the id attribute
1226					node = elem.getAttributeNode( "id" );
1227					if ( node && node.value === id ) {
1228						return [ elem ];
1229					}
1230
1231					// Fall back on getElementsByName
1232					elems = context.getElementsByName( id );
1233					i = 0;
1234					while ( ( elem = elems[ i++ ] ) ) {
1235						node = elem.getAttributeNode( "id" );
1236						if ( node && node.value === id ) {
1237							return [ elem ];
1238						}
1239					}
1240				}
1241
1242				return [];
1243			}
1244		};
1245	}
1246
1247	// Tag
1248	Expr.find.TAG = function( tag, context ) {
1249		if ( typeof context.getElementsByTagName !== "undefined" ) {
1250			return context.getElementsByTagName( tag );
1251
1252		// DocumentFragment nodes don't have gEBTN
1253		} else {
1254			return context.querySelectorAll( tag );
1255		}
1256	};
1257
1258	// Class
1259	Expr.find.CLASS = function( className, context ) {
1260		if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
1261			return context.getElementsByClassName( className );
1262		}
1263	};
1264
1265	/* QSA/matchesSelector
1266	---------------------------------------------------------------------- */
1267
1268	// QSA and matchesSelector support
1269
1270	rbuggyQSA = [];
1271
1272	// Build QSA regex
1273	// Regex strategy adopted from Diego Perini
1274	assert( function( el ) {
1275
1276		var input;
1277
1278		documentElement.appendChild( el ).innerHTML =
1279			"<a id='" + expando + "' href='' disabled='disabled'></a>" +
1280			"<select id='" + expando + "-\r\\' disabled='disabled'>" +
1281			"<option selected=''></option></select>";
1282
vendor: 38,614 bytes, lines 1283-2654
1283		// Support: iOS <=7 - 8 only
1284		// Boolean attributes and "value" are not treated correctly in some XML documents
1285		if ( !el.querySelectorAll( "[selected]" ).length ) {
1286			rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
1287		}
1288
1289		// Support: iOS <=7 - 8 only
1290		if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
1291			rbuggyQSA.push( "~=" );
1292		}
1293
1294		// Support: iOS 8 only
1295		// https://bugs.webkit.org/show_bug.cgi?id=136851
1296		// In-page `selector#id sibling-combinator selector` fails
1297		if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
1298			rbuggyQSA.push( ".#.+[+~]" );
1299		}
1300
1301		// Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+
1302		// In some of the document kinds, these selectors wouldn't work natively.
1303		// This is probably OK but for backwards compatibility we want to maintain
1304		// handling them through jQuery traversal in jQuery 3.x.
1305		if ( !el.querySelectorAll( ":checked" ).length ) {
1306			rbuggyQSA.push( ":checked" );
1307		}
1308
1309		// Support: Windows 8 Native Apps
1310		// The type and name attributes are restricted during .innerHTML assignment
1311		input = document.createElement( "input" );
1312		input.setAttribute( "type", "hidden" );
1313		el.appendChild( input ).setAttribute( "name", "D" );
1314
1315		// Support: IE 9 - 11+
1316		// IE's :disabled selector does not pick up the children of disabled fieldsets
1317		// Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+
1318		// In some of the document kinds, these selectors wouldn't work natively.
1319		// This is probably OK but for backwards compatibility we want to maintain
1320		// handling them through jQuery traversal in jQuery 3.x.
1321		documentElement.appendChild( el ).disabled = true;
1322		if ( el.querySelectorAll( ":disabled" ).length !== 2 ) {
1323			rbuggyQSA.push( ":enabled", ":disabled" );
1324		}
1325
1326		// Support: IE 11+, Edge 15 - 18+
1327		// IE 11/Edge don't find elements on a `[name='']` query in some cases.
1328		// Adding a temporary attribute to the document before the selection works
1329		// around the issue.
1330		// Interestingly, IE 10 & older don't seem to have the issue.
1331		input = document.createElement( "input" );
1332		input.setAttribute( "name", "" );
1333		el.appendChild( input );
1334		if ( !el.querySelectorAll( "[name='']" ).length ) {
1335			rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" +
1336				whitespace + "*(?:''|\"\")" );
1337		}
1338	} );
1339
1340	if ( !support.cssHas ) {
1341
1342		// Support: Chrome 105 - 110+, Safari 15.4 - 16.3+
1343		// Our regular `try-catch` mechanism fails to detect natively-unsupported
1344		// pseudo-classes inside `:has()` (such as `:has(:contains("Foo"))`)
1345		// in browsers that parse the `:has()` argument as a forgiving selector list.
1346		// https://drafts.csswg.org/selectors/#relational now requires the argument
1347		// to be parsed unforgivingly, but browsers have not yet fully adjusted.
1348		rbuggyQSA.push( ":has" );
1349	}
1350
1351	rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) );
1352
1353	/* Sorting
1354	---------------------------------------------------------------------- */
1355
1356	// Document order sorting
1357	sortOrder = function( a, b ) {
1358
1359		// Flag for duplicate removal
1360		if ( a === b ) {
1361			hasDuplicate = true;
1362			return 0;
1363		}
1364
1365		// Sort on method existence if only one input has compareDocumentPosition
1366		var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
1367		if ( compare ) {
1368			return compare;
1369		}
1370
1371		// Calculate position if both inputs belong to the same document
1372		// Support: IE 11+, Edge 17 - 18+
1373		// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1374		// two documents; shallow comparisons work.
1375		// eslint-disable-next-line eqeqeq
1376		compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ?
1377			a.compareDocumentPosition( b ) :
1378
1379			// Otherwise we know they are disconnected
1380			1;
1381
1382		// Disconnected nodes
1383		if ( compare & 1 ||
1384			( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) {
1385
1386			// Choose the first element that is related to our preferred document
1387			// Support: IE 11+, Edge 17 - 18+
1388			// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1389			// two documents; shallow comparisons work.
1390			// eslint-disable-next-line eqeqeq
1391			if ( a === document || a.ownerDocument == preferredDoc &&
1392				find.contains( preferredDoc, a ) ) {
1393				return -1;
1394			}
1395
1396			// Support: IE 11+, Edge 17 - 18+
1397			// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1398			// two documents; shallow comparisons work.
1399			// eslint-disable-next-line eqeqeq
1400			if ( b === document || b.ownerDocument == preferredDoc &&
1401				find.contains( preferredDoc, b ) ) {
1402				return 1;
1403			}
1404
1405			// Maintain original order
1406			return sortInput ?
1407				( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) :
1408				0;
1409		}
1410
1411		return compare & 4 ? -1 : 1;
1412	};
1413
1414	return document;
1415}
1416
1417find.matches = function( expr, elements ) {
1418	return find( expr, null, null, elements );
1419};
1420
1421find.matchesSelector = function( elem, expr ) {
1422	setDocument( elem );
1423
1424	if ( documentIsHTML &&
1425		!nonnativeSelectorCache[ expr + " " ] &&
1426		( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {
1427
1428		try {
1429			var ret = matches.call( elem, expr );
1430
1431			// IE 9's matchesSelector returns false on disconnected nodes
1432			if ( ret || support.disconnectedMatch ||
1433
1434					// As well, disconnected nodes are said to be in a document
1435					// fragment in IE 9
1436					elem.document && elem.document.nodeType !== 11 ) {
1437				return ret;
1438			}
1439		} catch ( e ) {
1440			nonnativeSelectorCache( expr, true );
1441		}
1442	}
1443
1444	return find( expr, document, null, [ elem ] ).length > 0;
1445};
1446
1447find.contains = function( context, elem ) {
1448
1449	// Set document vars if needed
1450	// Support: IE 11+, Edge 17 - 18+
1451	// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1452	// two documents; shallow comparisons work.
1453	// eslint-disable-next-line eqeqeq
1454	if ( ( context.ownerDocument || context ) != document ) {
1455		setDocument( context );
1456	}
1457	return jQuery.contains( context, elem );
1458};
1459
1460
1461find.attr = function( elem, name ) {
1462
1463	// Set document vars if needed
1464	// Support: IE 11+, Edge 17 - 18+
1465	// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1466	// two documents; shallow comparisons work.
1467	// eslint-disable-next-line eqeqeq
1468	if ( ( elem.ownerDocument || elem ) != document ) {
1469		setDocument( elem );
1470	}
1471
1472	var fn = Expr.attrHandle[ name.toLowerCase() ],
1473
1474		// Don't get fooled by Object.prototype properties (see trac-13807)
1475		val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
1476			fn( elem, name, !documentIsHTML ) :
1477			undefined;
1478
1479	if ( val !== undefined ) {
1480		return val;
1481	}
1482
1483	return elem.getAttribute( name );
1484};
1485
1486find.error = function( msg ) {
1487	throw new Error( "Syntax error, unrecognized expression: " + msg );
1488};
1489
1490/**
1491 * Document sorting and removing duplicates
1492 * @param {ArrayLike} results
1493 */
1494jQuery.uniqueSort = function( results ) {
1495	var elem,
1496		duplicates = [],
1497		j = 0,
1498		i = 0;
1499
1500	// Unless we *know* we can detect duplicates, assume their presence
1501	//
1502	// Support: Android <=4.0+
1503	// Testing for detecting duplicates is unpredictable so instead assume we can't
1504	// depend on duplicate detection in all browsers without a stable sort.
1505	hasDuplicate = !support.sortStable;
1506	sortInput = !support.sortStable && slice.call( results, 0 );
1507	sort.call( results, sortOrder );
1508
1509	if ( hasDuplicate ) {
1510		while ( ( elem = results[ i++ ] ) ) {
1511			if ( elem === results[ i ] ) {
1512				j = duplicates.push( i );
1513			}
1514		}
1515		while ( j-- ) {
1516			splice.call( results, duplicates[ j ], 1 );
1517		}
1518	}
1519
1520	// Clear input after sorting to release objects
1521	// See https://github.com/jquery/sizzle/pull/225
1522	sortInput = null;
1523
1524	return results;
1525};
1526
1527jQuery.fn.uniqueSort = function() {
1528	return this.pushStack( jQuery.uniqueSort( slice.apply( this ) ) );
1529};
1530
1531Expr = jQuery.expr = {
1532
1533	// Can be adjusted by the user
1534	cacheLength: 50,
1535
1536	createPseudo: markFunction,
1537
1538	match: matchExpr,
1539
1540	attrHandle: {},
1541
1542	find: {},
1543
1544	relative: {
1545		">": { dir: "parentNode", first: true },
1546		" ": { dir: "parentNode" },
1547		"+": { dir: "previousSibling", first: true },
1548		"~": { dir: "previousSibling" }
1549	},
1550
1551	preFilter: {
1552		ATTR: function( match ) {
1553			match[ 1 ] = match[ 1 ].replace( runescape, funescape );
1554
1555			// Move the given value to match[3] whether quoted or unquoted
1556			match[ 3 ] = ( match[ 3 ] || match[ 4 ] || match[ 5 ] || "" )
1557				.replace( runescape, funescape );
1558
1559			if ( match[ 2 ] === "~=" ) {
1560				match[ 3 ] = " " + match[ 3 ] + " ";
1561			}
1562
1563			return match.slice( 0, 4 );
1564		},
1565
1566		CHILD: function( match ) {
1567
1568			/* matches from matchExpr["CHILD"]
1569				1 type (only|nth|...)
1570				2 what (child|of-type)
1571				3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
1572				4 xn-component of xn+y argument ([+-]?\d*n|)
1573				5 sign of xn-component
1574				6 x of xn-component
1575				7 sign of y-component
1576				8 y of y-component
1577			*/
1578			match[ 1 ] = match[ 1 ].toLowerCase();
1579
1580			if ( match[ 1 ].slice( 0, 3 ) === "nth" ) {
1581
1582				// nth-* requires argument
1583				if ( !match[ 3 ] ) {
1584					find.error( match[ 0 ] );
1585				}
1586
1587				// numeric x and y parameters for Expr.filter.CHILD
1588				// remember that false/true cast respectively to 0/1
1589				match[ 4 ] = +( match[ 4 ] ?
1590					match[ 5 ] + ( match[ 6 ] || 1 ) :
1591					2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" )
1592				);
1593				match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" );
1594
1595			// other types prohibit arguments
1596			} else if ( match[ 3 ] ) {
1597				find.error( match[ 0 ] );
1598			}
1599
1600			return match;
1601		},
1602
1603		PSEUDO: function( match ) {
1604			var excess,
1605				unquoted = !match[ 6 ] && match[ 2 ];
1606
1607			if ( matchExpr.CHILD.test( match[ 0 ] ) ) {
1608				return null;
1609			}
1610
1611			// Accept quoted arguments as-is
1612			if ( match[ 3 ] ) {
1613				match[ 2 ] = match[ 4 ] || match[ 5 ] || "";
1614
1615			// Strip excess characters from unquoted arguments
1616			} else if ( unquoted && rpseudo.test( unquoted ) &&
1617
1618				// Get excess from tokenize (recursively)
1619				( excess = tokenize( unquoted, true ) ) &&
1620
1621				// advance to the next closing parenthesis
1622				( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) {
1623
1624				// excess is a negative index
1625				match[ 0 ] = match[ 0 ].slice( 0, excess );
1626				match[ 2 ] = unquoted.slice( 0, excess );
1627			}
1628
1629			// Return only captures needed by the pseudo filter method (type and argument)
1630			return match.slice( 0, 3 );
1631		}
1632	},
1633
1634	filter: {
1635
1636		TAG: function( nodeNameSelector ) {
1637			var expectedNodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
1638			return nodeNameSelector === "*" ?
1639				function() {
1640					return true;
1641				} :
1642				function( elem ) {
1643					return nodeName( elem, expectedNodeName );
1644				};
1645		},
1646
1647		CLASS: function( className ) {
1648			var pattern = classCache[ className + " " ];
1649
1650			return pattern ||
1651				( pattern = new RegExp( "(^|" + whitespace + ")" + className +
1652					"(" + whitespace + "|$)" ) ) &&
1653				classCache( className, function( elem ) {
1654					return pattern.test(
1655						typeof elem.className === "string" && elem.className ||
1656							typeof elem.getAttribute !== "undefined" &&
1657								elem.getAttribute( "class" ) ||
1658							""
1659					);
1660				} );
1661		},
1662
1663		ATTR: function( name, operator, check ) {
1664			return function( elem ) {
1665				var result = find.attr( elem, name );
1666
1667				if ( result == null ) {
1668					return operator === "!=";
1669				}
1670				if ( !operator ) {
1671					return true;
1672				}
1673
1674				result += "";
1675
1676				if ( operator === "=" ) {
1677					return result === check;
1678				}
1679				if ( operator === "!=" ) {
1680					return result !== check;
1681				}
1682				if ( operator === "^=" ) {
1683					return check && result.indexOf( check ) === 0;
1684				}
1685				if ( operator === "*=" ) {
1686					return check && result.indexOf( check ) > -1;
1687				}
1688				if ( operator === "$=" ) {
1689					return check && result.slice( -check.length ) === check;
1690				}
1691				if ( operator === "~=" ) {
1692					return ( " " + result.replace( rwhitespace, " " ) + " " )
1693						.indexOf( check ) > -1;
1694				}
1695				if ( operator === "|=" ) {
1696					return result === check || result.slice( 0, check.length + 1 ) === check + "-";
1697				}
1698
1699				return false;
1700			};
1701		},
1702
1703		CHILD: function( type, what, _argument, first, last ) {
1704			var simple = type.slice( 0, 3 ) !== "nth",
1705				forward = type.slice( -4 ) !== "last",
1706				ofType = what === "of-type";
1707
1708			return first === 1 && last === 0 ?
1709
1710				// Shortcut for :nth-*(n)
1711				function( elem ) {
1712					return !!elem.parentNode;
1713				} :
1714
1715				function( elem, _context, xml ) {
1716					var cache, outerCache, node, nodeIndex, start,
1717						dir = simple !== forward ? "nextSibling" : "previousSibling",
1718						parent = elem.parentNode,
1719						name = ofType && elem.nodeName.toLowerCase(),
1720						useCache = !xml && !ofType,
1721						diff = false;
1722
1723					if ( parent ) {
1724
1725						// :(first|last|only)-(child|of-type)
1726						if ( simple ) {
1727							while ( dir ) {
1728								node = elem;
1729								while ( ( node = node[ dir ] ) ) {
1730									if ( ofType ?
1731										nodeName( node, name ) :
1732										node.nodeType === 1 ) {
1733
1734										return false;
1735									}
1736								}
1737
1738								// Reverse direction for :only-* (if we haven't yet done so)
1739								start = dir = type === "only" && !start && "nextSibling";
1740							}
1741							return true;
1742						}
1743
1744						start = [ forward ? parent.firstChild : parent.lastChild ];
1745
1746						// non-xml :nth-child(...) stores cache data on `parent`
1747						if ( forward && useCache ) {
1748
1749							// Seek `elem` from a previously-cached index
1750							outerCache = parent[ expando ] || ( parent[ expando ] = {} );
1751							cache = outerCache[ type ] || [];
1752							nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
1753							diff = nodeIndex && cache[ 2 ];
1754							node = nodeIndex && parent.childNodes[ nodeIndex ];
1755
1756							while ( ( node = ++nodeIndex && node && node[ dir ] ||
1757
1758								// Fallback to seeking `elem` from the start
1759								( diff = nodeIndex = 0 ) || start.pop() ) ) {
1760
1761								// When found, cache indexes on `parent` and break
1762								if ( node.nodeType === 1 && ++diff && node === elem ) {
1763									outerCache[ type ] = [ dirruns, nodeIndex, diff ];
1764									break;
1765								}
1766							}
1767
1768						} else {
1769
1770							// Use previously-cached element index if available
1771							if ( useCache ) {
1772								outerCache = elem[ expando ] || ( elem[ expando ] = {} );
1773								cache = outerCache[ type ] || [];
1774								nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
1775								diff = nodeIndex;
1776							}
1777
1778							// xml :nth-child(...)
1779							// or :nth-last-child(...) or :nth(-last)?-of-type(...)
1780							if ( diff === false ) {
1781
1782								// Use the same loop as above to seek `elem` from the start
1783								while ( ( node = ++nodeIndex && node && node[ dir ] ||
1784									( diff = nodeIndex = 0 ) || start.pop() ) ) {
1785
1786									if ( ( ofType ?
1787										nodeName( node, name ) :
1788										node.nodeType === 1 ) &&
1789										++diff ) {
1790
1791										// Cache the index of each encountered element
1792										if ( useCache ) {
1793											outerCache = node[ expando ] ||
1794												( node[ expando ] = {} );
1795											outerCache[ type ] = [ dirruns, diff ];
1796										}
1797
1798										if ( node === elem ) {
1799											break;
1800										}
1801									}
1802								}
1803							}
1804						}
1805
1806						// Incorporate the offset, then check against cycle size
1807						diff -= last;
1808						return diff === first || ( diff % first === 0 && diff / first >= 0 );
1809					}
1810				};
1811		},
1812
1813		PSEUDO: function( pseudo, argument ) {
1814
1815			// pseudo-class names are case-insensitive
1816			// https://www.w3.org/TR/selectors/#pseudo-classes
1817			// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
1818			// Remember that setFilters inherits from pseudos
1819			var args,
1820				fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
1821					find.error( "unsupported pseudo: " + pseudo );
1822
1823			// The user may use createPseudo to indicate that
1824			// arguments are needed to create the filter function
1825			// just as jQuery does
1826			if ( fn[ expando ] ) {
1827				return fn( argument );
1828			}
1829
1830			// But maintain support for old signatures
1831			if ( fn.length > 1 ) {
1832				args = [ pseudo, pseudo, "", argument ];
1833				return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
1834					markFunction( function( seed, matches ) {
1835						var idx,
1836							matched = fn( seed, argument ),
1837							i = matched.length;
1838						while ( i-- ) {
1839							idx = indexOf.call( seed, matched[ i ] );
1840							seed[ idx ] = !( matches[ idx ] = matched[ i ] );
1841						}
1842					} ) :
1843					function( elem ) {
1844						return fn( elem, 0, args );
1845					};
1846			}
1847
1848			return fn;
1849		}
1850	},
1851
1852	pseudos: {
1853
1854		// Potentially complex pseudos
1855		not: markFunction( function( selector ) {
1856
1857			// Trim the selector passed to compile
1858			// to avoid treating leading and trailing
1859			// spaces as combinators
1860			var input = [],
1861				results = [],
1862				matcher = compile( selector.replace( rtrimCSS, "$1" ) );
1863
1864			return matcher[ expando ] ?
1865				markFunction( function( seed, matches, _context, xml ) {
1866					var elem,
1867						unmatched = matcher( seed, null, xml, [] ),
1868						i = seed.length;
1869
1870					// Match elements unmatched by `matcher`
1871					while ( i-- ) {
1872						if ( ( elem = unmatched[ i ] ) ) {
1873							seed[ i ] = !( matches[ i ] = elem );
1874						}
1875					}
1876				} ) :
1877				function( elem, _context, xml ) {
1878					input[ 0 ] = elem;
1879					matcher( input, null, xml, results );
1880
1881					// Don't keep the element
1882					// (see https://github.com/jquery/sizzle/issues/299)
1883					input[ 0 ] = null;
1884					return !results.pop();
1885				};
1886		} ),
1887
1888		has: markFunction( function( selector ) {
1889			return function( elem ) {
1890				return find( selector, elem ).length > 0;
1891			};
1892		} ),
1893
1894		contains: markFunction( function( text ) {
1895			text = text.replace( runescape, funescape );
1896			return function( elem ) {
1897				return ( elem.textContent || jQuery.text( elem ) ).indexOf( text ) > -1;
1898			};
1899		} ),
1900
1901		// "Whether an element is represented by a :lang() selector
1902		// is based solely on the element's language value
1903		// being equal to the identifier C,
1904		// or beginning with the identifier C immediately followed by "-".
1905		// The matching of C against the element's language value is performed case-insensitively.
1906		// The identifier C does not have to be a valid language name."
1907		// https://www.w3.org/TR/selectors/#lang-pseudo
1908		lang: markFunction( function( lang ) {
1909
1910			// lang value must be a valid identifier
1911			if ( !ridentifier.test( lang || "" ) ) {
1912				find.error( "unsupported lang: " + lang );
1913			}
1914			lang = lang.replace( runescape, funescape ).toLowerCase();
1915			return function( elem ) {
1916				var elemLang;
1917				do {
1918					if ( ( elemLang = documentIsHTML ?
1919						elem.lang :
1920						elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) {
1921
1922						elemLang = elemLang.toLowerCase();
1923						return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
1924					}
1925				} while ( ( elem = elem.parentNode ) && elem.nodeType === 1 );
1926				return false;
1927			};
1928		} ),
1929
1930		// Miscellaneous
1931		target: function( elem ) {
1932			var hash = window.location && window.location.hash;
1933			return hash && hash.slice( 1 ) === elem.id;
1934		},
1935
1936		root: function( elem ) {
1937			return elem === documentElement;
1938		},
1939
1940		focus: function( elem ) {
1941			return elem === safeActiveElement() &&
1942				document.hasFocus() &&
1943				!!( elem.type || elem.href || ~elem.tabIndex );
1944		},
1945
1946		// Boolean properties
1947		enabled: createDisabledPseudo( false ),
1948		disabled: createDisabledPseudo( true ),
1949
1950		checked: function( elem ) {
1951
1952			// In CSS3, :checked should return both checked and selected elements
1953			// https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
1954			return ( nodeName( elem, "input" ) && !!elem.checked ) ||
1955				( nodeName( elem, "option" ) && !!elem.selected );
1956		},
1957
1958		selected: function( elem ) {
1959
1960			// Support: IE <=11+
1961			// Accessing the selectedIndex property
1962			// forces the browser to treat the default option as
1963			// selected when in an optgroup.
1964			if ( elem.parentNode ) {
1965				// eslint-disable-next-line no-unused-expressions
1966				elem.parentNode.selectedIndex;
1967			}
1968
1969			return elem.selected === true;
1970		},
1971
1972		// Contents
1973		empty: function( elem ) {
1974
1975			// https://www.w3.org/TR/selectors/#empty-pseudo
1976			// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
1977			//   but not by others (comment: 8; processing instruction: 7; etc.)
1978			// nodeType < 6 works because attributes (2) do not appear as children
1979			for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
1980				if ( elem.nodeType < 6 ) {
1981					return false;
1982				}
1983			}
1984			return true;
1985		},
1986
1987		parent: function( elem ) {
1988			return !Expr.pseudos.empty( elem );
1989		},
1990
1991		// Element/input types
1992		header: function( elem ) {
1993			return rheader.test( elem.nodeName );
1994		},
1995
1996		input: function( elem ) {
1997			return rinputs.test( elem.nodeName );
1998		},
1999
2000		button: function( elem ) {
2001			return nodeName( elem, "input" ) && elem.type === "button" ||
2002				nodeName( elem, "button" );
2003		},
2004
2005		text: function( elem ) {
2006			var attr;
2007			return nodeName( elem, "input" ) && elem.type === "text" &&
2008
2009				// Support: IE <10 only
2010				// New HTML5 attribute values (e.g., "search") appear
2011				// with elem.type === "text"
2012				( ( attr = elem.getAttribute( "type" ) ) == null ||
2013					attr.toLowerCase() === "text" );
2014		},
2015
2016		// Position-in-collection
2017		first: createPositionalPseudo( function() {
2018			return [ 0 ];
2019		} ),
2020
2021		last: createPositionalPseudo( function( _matchIndexes, length ) {
2022			return [ length - 1 ];
2023		} ),
2024
2025		eq: createPositionalPseudo( function( _matchIndexes, length, argument ) {
2026			return [ argument < 0 ? argument + length : argument ];
2027		} ),
2028
2029		even: createPositionalPseudo( function( matchIndexes, length ) {
2030			var i = 0;
2031			for ( ; i < length; i += 2 ) {
2032				matchIndexes.push( i );
2033			}
2034			return matchIndexes;
2035		} ),
2036
2037		odd: createPositionalPseudo( function( matchIndexes, length ) {
2038			var i = 1;
2039			for ( ; i < length; i += 2 ) {
2040				matchIndexes.push( i );
2041			}
2042			return matchIndexes;
2043		} ),
2044
2045		lt: createPositionalPseudo( function( matchIndexes, length, argument ) {
2046			var i;
2047
2048			if ( argument < 0 ) {
2049				i = argument + length;
2050			} else if ( argument > length ) {
2051				i = length;
2052			} else {
2053				i = argument;
2054			}
2055
2056			for ( ; --i >= 0; ) {
2057				matchIndexes.push( i );
2058			}
2059			return matchIndexes;
2060		} ),
2061
2062		gt: createPositionalPseudo( function( matchIndexes, length, argument ) {
2063			var i = argument < 0 ? argument + length : argument;
2064			for ( ; ++i < length; ) {
2065				matchIndexes.push( i );
2066			}
2067			return matchIndexes;
2068		} )
2069	}
2070};
2071
2072Expr.pseudos.nth = Expr.pseudos.eq;
2073
2074// Add button/input type pseudos
2075for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
2076	Expr.pseudos[ i ] = createInputPseudo( i );
2077}
2078for ( i in { submit: true, reset: true } ) {
2079	Expr.pseudos[ i ] = createButtonPseudo( i );
2080}
2081
2082// Easy API for creating new setFilters
2083function setFilters() {}
2084setFilters.prototype = Expr.filters = Expr.pseudos;
2085Expr.setFilters = new setFilters();
2086
2087function tokenize( selector, parseOnly ) {
2088	var matched, match, tokens, type,
2089		soFar, groups, preFilters,
2090		cached = tokenCache[ selector + " " ];
2091
2092	if ( cached ) {
2093		return parseOnly ? 0 : cached.slice( 0 );
2094	}
2095
2096	soFar = selector;
2097	groups = [];
2098	preFilters = Expr.preFilter;
2099
2100	while ( soFar ) {
2101
2102		// Comma and first run
2103		if ( !matched || ( match = rcomma.exec( soFar ) ) ) {
2104			if ( match ) {
2105
2106				// Don't consume trailing commas as valid
2107				soFar = soFar.slice( match[ 0 ].length ) || soFar;
2108			}
2109			groups.push( ( tokens = [] ) );
2110		}
2111
2112		matched = false;
2113
2114		// Combinators
2115		if ( ( match = rleadingCombinator.exec( soFar ) ) ) {
2116			matched = match.shift();
2117			tokens.push( {
2118				value: matched,
2119
2120				// Cast descendant combinators to space
2121				type: match[ 0 ].replace( rtrimCSS, " " )
2122			} );
2123			soFar = soFar.slice( matched.length );
2124		}
2125
2126		// Filters
2127		for ( type in Expr.filter ) {
2128			if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] ||
2129				( match = preFilters[ type ]( match ) ) ) ) {
2130				matched = match.shift();
2131				tokens.push( {
2132					value: matched,
2133					type: type,
2134					matches: match
2135				} );
2136				soFar = soFar.slice( matched.length );
2137			}
2138		}
2139
2140		if ( !matched ) {
2141			break;
2142		}
2143	}
2144
2145	// Return the length of the invalid excess
2146	// if we're just parsing
2147	// Otherwise, throw an error or return tokens
2148	if ( parseOnly ) {
2149		return soFar.length;
2150	}
2151
2152	return soFar ?
2153		find.error( selector ) :
2154
2155		// Cache the tokens
2156		tokenCache( selector, groups ).slice( 0 );
2157}
2158
2159function toSelector( tokens ) {
2160	var i = 0,
2161		len = tokens.length,
2162		selector = "";
2163	for ( ; i < len; i++ ) {
2164		selector += tokens[ i ].value;
2165	}
2166	return selector;
2167}
2168
2169function addCombinator( matcher, combinator, base ) {
2170	var dir = combinator.dir,
2171		skip = combinator.next,
2172		key = skip || dir,
2173		checkNonElements = base && key === "parentNode",
2174		doneName = done++;
2175
2176	return combinator.first ?
2177
2178		// Check against closest ancestor/preceding element
2179		function( elem, context, xml ) {
2180			while ( ( elem = elem[ dir ] ) ) {
2181				if ( elem.nodeType === 1 || checkNonElements ) {
2182					return matcher( elem, context, xml );
2183				}
2184			}
2185			return false;
2186		} :
2187
2188		// Check against all ancestor/preceding elements
2189		function( elem, context, xml ) {
2190			var oldCache, outerCache,
2191				newCache = [ dirruns, doneName ];
2192
2193			// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
2194			if ( xml ) {
2195				while ( ( elem = elem[ dir ] ) ) {
2196					if ( elem.nodeType === 1 || checkNonElements ) {
2197						if ( matcher( elem, context, xml ) ) {
2198							return true;
2199						}
2200					}
2201				}
2202			} else {
2203				while ( ( elem = elem[ dir ] ) ) {
2204					if ( elem.nodeType === 1 || checkNonElements ) {
2205						outerCache = elem[ expando ] || ( elem[ expando ] = {} );
2206
2207						if ( skip && nodeName( elem, skip ) ) {
2208							elem = elem[ dir ] || elem;
2209						} else if ( ( oldCache = outerCache[ key ] ) &&
2210							oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
2211
2212							// Assign to newCache so results back-propagate to previous elements
2213							return ( newCache[ 2 ] = oldCache[ 2 ] );
2214						} else {
2215
2216							// Reuse newcache so results back-propagate to previous elements
2217							outerCache[ key ] = newCache;
2218
2219							// A match means we're done; a fail means we have to keep checking
2220							if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) {
2221								return true;
2222							}
2223						}
2224					}
2225				}
2226			}
2227			return false;
2228		};
2229}
2230
2231function elementMatcher( matchers ) {
2232	return matchers.length > 1 ?
2233		function( elem, context, xml ) {
2234			var i = matchers.length;
2235			while ( i-- ) {
2236				if ( !matchers[ i ]( elem, context, xml ) ) {
2237					return false;
2238				}
2239			}
2240			return true;
2241		} :
2242		matchers[ 0 ];
2243}
2244
2245function multipleContexts( selector, contexts, results ) {
2246	var i = 0,
2247		len = contexts.length;
2248	for ( ; i < len; i++ ) {
2249		find( selector, contexts[ i ], results );
2250	}
2251	return results;
2252}
2253
2254function condense( unmatched, map, filter, context, xml ) {
2255	var elem,
2256		newUnmatched = [],
2257		i = 0,
2258		len = unmatched.length,
2259		mapped = map != null;
2260
2261	for ( ; i < len; i++ ) {
2262		if ( ( elem = unmatched[ i ] ) ) {
2263			if ( !filter || filter( elem, context, xml ) ) {
2264				newUnmatched.push( elem );
2265				if ( mapped ) {
2266					map.push( i );
2267				}
2268			}
2269		}
2270	}
2271
2272	return newUnmatched;
2273}
2274
2275function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
2276	if ( postFilter && !postFilter[ expando ] ) {
2277		postFilter = setMatcher( postFilter );
2278	}
2279	if ( postFinder && !postFinder[ expando ] ) {
2280		postFinder = setMatcher( postFinder, postSelector );
2281	}
2282	return markFunction( function( seed, results, context, xml ) {
2283		var temp, i, elem, matcherOut,
2284			preMap = [],
2285			postMap = [],
2286			preexisting = results.length,
2287
2288			// Get initial elements from seed or context
2289			elems = seed ||
2290				multipleContexts( selector || "*",
2291					context.nodeType ? [ context ] : context, [] ),
2292
2293			// Prefilter to get matcher input, preserving a map for seed-results synchronization
2294			matcherIn = preFilter && ( seed || !selector ) ?
2295				condense( elems, preMap, preFilter, context, xml ) :
2296				elems;
2297
2298		if ( matcher ) {
2299
2300			// If we have a postFinder, or filtered seed, or non-seed postFilter
2301			// or preexisting results,
2302			matcherOut = postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
2303
2304				// ...intermediate processing is necessary
2305				[] :
2306
2307				// ...otherwise use results directly
2308				results;
2309
2310			// Find primary matches
2311			matcher( matcherIn, matcherOut, context, xml );
2312		} else {
2313			matcherOut = matcherIn;
2314		}
2315
2316		// Apply postFilter
2317		if ( postFilter ) {
2318			temp = condense( matcherOut, postMap );
2319			postFilter( temp, [], context, xml );
2320
2321			// Un-match failing elements by moving them back to matcherIn
2322			i = temp.length;
2323			while ( i-- ) {
2324				if ( ( elem = temp[ i ] ) ) {
2325					matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem );
2326				}
2327			}
2328		}
2329
2330		if ( seed ) {
2331			if ( postFinder || preFilter ) {
2332				if ( postFinder ) {
2333
2334					// Get the final matcherOut by condensing this intermediate into postFinder contexts
2335					temp = [];
2336					i = matcherOut.length;
2337					while ( i-- ) {
2338						if ( ( elem = matcherOut[ i ] ) ) {
2339
2340							// Restore matcherIn since elem is not yet a final match
2341							temp.push( ( matcherIn[ i ] = elem ) );
2342						}
2343					}
2344					postFinder( null, ( matcherOut = [] ), temp, xml );
2345				}
2346
2347				// Move matched elements from seed to results to keep them synchronized
2348				i = matcherOut.length;
2349				while ( i-- ) {
2350					if ( ( elem = matcherOut[ i ] ) &&
2351						( temp = postFinder ? indexOf.call( seed, elem ) : preMap[ i ] ) > -1 ) {
2352
2353						seed[ temp ] = !( results[ temp ] = elem );
2354					}
2355				}
2356			}
2357
2358		// Add elements to results, through postFinder if defined
2359		} else {
2360			matcherOut = condense(
2361				matcherOut === results ?
2362					matcherOut.splice( preexisting, matcherOut.length ) :
2363					matcherOut
2364			);
2365			if ( postFinder ) {
2366				postFinder( null, results, matcherOut, xml );
2367			} else {
2368				push.apply( results, matcherOut );
2369			}
2370		}
2371	} );
2372}
2373
2374function matcherFromTokens( tokens ) {
2375	var checkContext, matcher, j,
2376		len = tokens.length,
2377		leadingRelative = Expr.relative[ tokens[ 0 ].type ],
2378		implicitRelative = leadingRelative || Expr.relative[ " " ],
2379		i = leadingRelative ? 1 : 0,
2380
2381		// The foundational matcher ensures that elements are reachable from top-level context(s)
2382		matchContext = addCombinator( function( elem ) {
2383			return elem === checkContext;
2384		}, implicitRelative, true ),
2385		matchAnyContext = addCombinator( function( elem ) {
2386			return indexOf.call( checkContext, elem ) > -1;
2387		}, implicitRelative, true ),
2388		matchers = [ function( elem, context, xml ) {
2389
2390			// Support: IE 11+, Edge 17 - 18+
2391			// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
2392			// two documents; shallow comparisons work.
2393			// eslint-disable-next-line eqeqeq
2394			var ret = ( !leadingRelative && ( xml || context != outermostContext ) ) || (
2395				( checkContext = context ).nodeType ?
2396					matchContext( elem, context, xml ) :
2397					matchAnyContext( elem, context, xml ) );
2398
2399			// Avoid hanging onto element
2400			// (see https://github.com/jquery/sizzle/issues/299)
2401			checkContext = null;
2402			return ret;
2403		} ];
2404
2405	for ( ; i < len; i++ ) {
2406		if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) {
2407			matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ];
2408		} else {
2409			matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches );
2410
2411			// Return special upon seeing a positional matcher
2412			if ( matcher[ expando ] ) {
2413
2414				// Find the next relative operator (if any) for proper handling
2415				j = ++i;
2416				for ( ; j < len; j++ ) {
2417					if ( Expr.relative[ tokens[ j ].type ] ) {
2418						break;
2419					}
2420				}
2421				return setMatcher(
2422					i > 1 && elementMatcher( matchers ),
2423					i > 1 && toSelector(
2424
2425						// If the preceding token was a descendant combinator, insert an implicit any-element `*`
2426						tokens.slice( 0, i - 1 )
2427							.concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } )
2428					).replace( rtrimCSS, "$1" ),
2429					matcher,
2430					i < j && matcherFromTokens( tokens.slice( i, j ) ),
2431					j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ),
2432					j < len && toSelector( tokens )
2433				);
2434			}
2435			matchers.push( matcher );
2436		}
2437	}
2438
2439	return elementMatcher( matchers );
2440}
2441
2442function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
2443	var bySet = setMatchers.length > 0,
2444		byElement = elementMatchers.length > 0,
2445		superMatcher = function( seed, context, xml, results, outermost ) {
2446			var elem, j, matcher,
2447				matchedCount = 0,
2448				i = "0",
2449				unmatched = seed && [],
2450				setMatched = [],
2451				contextBackup = outermostContext,
2452
2453				// We must always have either seed elements or outermost context
2454				elems = seed || byElement && Expr.find.TAG( "*", outermost ),
2455
2456				// Use integer dirruns iff this is the outermost matcher
2457				dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ),
2458				len = elems.length;
2459
2460			if ( outermost ) {
2461
2462				// Support: IE 11+, Edge 17 - 18+
2463				// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
2464				// two documents; shallow comparisons work.
2465				// eslint-disable-next-line eqeqeq
2466				outermostContext = context == document || context || outermost;
2467			}
2468
2469			// Add elements passing elementMatchers directly to results
2470			// Support: iOS <=7 - 9 only
2471			// Tolerate NodeList properties (IE: "length"; Safari: <number>) matching
2472			// elements by id. (see trac-14142)
2473			for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) {
2474				if ( byElement && elem ) {
2475					j = 0;
2476
2477					// Support: IE 11+, Edge 17 - 18+
2478					// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
2479					// two documents; shallow comparisons work.
2480					// eslint-disable-next-line eqeqeq
2481					if ( !context && elem.ownerDocument != document ) {
2482						setDocument( elem );
2483						xml = !documentIsHTML;
2484					}
2485					while ( ( matcher = elementMatchers[ j++ ] ) ) {
2486						if ( matcher( elem, context || document, xml ) ) {
2487							push.call( results, elem );
2488							break;
2489						}
2490					}
2491					if ( outermost ) {
2492						dirruns = dirrunsUnique;
2493					}
2494				}
2495
2496				// Track unmatched elements for set filters
2497				if ( bySet ) {
2498
2499					// They will have gone through all possible matchers
2500					if ( ( elem = !matcher && elem ) ) {
2501						matchedCount--;
2502					}
2503
2504					// Lengthen the array for every element, matched or not
2505					if ( seed ) {
2506						unmatched.push( elem );
2507					}
2508				}
2509			}
2510
2511			// `i` is now the count of elements visited above, and adding it to `matchedCount`
2512			// makes the latter nonnegative.
2513			matchedCount += i;
2514
2515			// Apply set filters to unmatched elements
2516			// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`
2517			// equals `i`), unless we didn't visit _any_ elements in the above loop because we have
2518			// no element matchers and no seed.
2519			// Incrementing an initially-string "0" `i` allows `i` to remain a string only in that
2520			// case, which will result in a "00" `matchedCount` that differs from `i` but is also
2521			// numerically zero.
2522			if ( bySet && i !== matchedCount ) {
2523				j = 0;
2524				while ( ( matcher = setMatchers[ j++ ] ) ) {
2525					matcher( unmatched, setMatched, context, xml );
2526				}
2527
2528				if ( seed ) {
2529
2530					// Reintegrate element matches to eliminate the need for sorting
2531					if ( matchedCount > 0 ) {
2532						while ( i-- ) {
2533							if ( !( unmatched[ i ] || setMatched[ i ] ) ) {
2534								setMatched[ i ] = pop.call( results );
2535							}
2536						}
2537					}
2538
2539					// Discard index placeholder values to get only actual matches
2540					setMatched = condense( setMatched );
2541				}
2542
2543				// Add matches to results
2544				push.apply( results, setMatched );
2545
2546				// Seedless set matches succeeding multiple successful matchers stipulate sorting
2547				if ( outermost && !seed && setMatched.length > 0 &&
2548					( matchedCount + setMatchers.length ) > 1 ) {
2549
2550					jQuery.uniqueSort( results );
2551				}
2552			}
2553
2554			// Override manipulation of globals by nested matchers
2555			if ( outermost ) {
2556				dirruns = dirrunsUnique;
2557				outermostContext = contextBackup;
2558			}
2559
2560			return unmatched;
2561		};
2562
2563	return bySet ?
2564		markFunction( superMatcher ) :
2565		superMatcher;
2566}
2567
2568function compile( selector, match /* Internal Use Only */ ) {
2569	var i,
2570		setMatchers = [],
2571		elementMatchers = [],
2572		cached = compilerCache[ selector + " " ];
2573
2574	if ( !cached ) {
2575
2576		// Generate a function of recursive functions that can be used to check each element
2577		if ( !match ) {
2578			match = tokenize( selector );
2579		}
2580		i = match.length;
2581		while ( i-- ) {
2582			cached = matcherFromTokens( match[ i ] );
2583			if ( cached[ expando ] ) {
2584				setMatchers.push( cached );
2585			} else {
2586				elementMatchers.push( cached );
2587			}
2588		}
2589
2590		// Cache the compiled function
2591		cached = compilerCache( selector,
2592			matcherFromGroupMatchers( elementMatchers, setMatchers ) );
2593
2594		// Save selector and tokenization
2595		cached.selector = selector;
2596	}
2597	return cached;
2598}
2599
2600/**
2601 * A low-level selection function that works with jQuery's compiled
2602 *  selector functions
2603 * @param {String|Function} selector A selector or a pre-compiled
2604 *  selector function built with jQuery selector compile
2605 * @param {Element} context
2606 * @param {Array} [results]
2607 * @param {Array} [seed] A set of elements to match against
2608 */
2609function select( selector, context, results, seed ) {
2610	var i, tokens, token, type, find,
2611		compiled = typeof selector === "function" && selector,
2612		match = !seed && tokenize( ( selector = compiled.selector || selector ) );
2613
2614	results = results || [];
2615
2616	// Try to minimize operations if there is only one selector in the list and no seed
2617	// (the latter of which guarantees us context)
2618	if ( match.length === 1 ) {
2619
2620		// Reduce context if the leading compound selector is an ID
2621		tokens = match[ 0 ] = match[ 0 ].slice( 0 );
2622		if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" &&
2623				context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) {
2624
2625			context = ( Expr.find.ID(
2626				token.matches[ 0 ].replace( runescape, funescape ),
2627				context
2628			) || [] )[ 0 ];
2629			if ( !context ) {
2630				return results;
2631
2632			// Precompiled matchers will still verify ancestry, so step up a level
2633			} else if ( compiled ) {
2634				context = context.parentNode;
2635			}
2636
2637			selector = selector.slice( tokens.shift().value.length );
2638		}
2639
2640		// Fetch a seed set for right-to-left matching
2641		i = matchExpr.needsContext.test( selector ) ? 0 : tokens.length;
2642		while ( i-- ) {
2643			token = tokens[ i ];
2644
2645			// Abort if we hit a combinator
2646			if ( Expr.relative[ ( type = token.type ) ] ) {
2647				break;
2648			}
2649			if ( ( find = Expr.find[ type ] ) ) {
2650
2651				// Search, expanding context for leading sibling combinators
2652				if ( ( seed = find(
2653					token.matches[ 0 ].replace( runescape, funescape ),
2654					rsibling.test( tokens[ 0 ].type ) &&
vendor: 4,497 bytes, lines 2655-2839
2655						testContext( context.parentNode ) || context
2656				) ) ) {
2657
2658					// If seed is empty or no tokens remain, we can return early
2659					tokens.splice( i, 1 );
2660					selector = seed.length && toSelector( tokens );
2661					if ( !selector ) {
2662						push.apply( results, seed );
2663						return results;
2664					}
2665
2666					break;
2667				}
2668			}
2669		}
2670	}
2671
2672	// Compile and execute a filtering function if one is not provided
2673	// Provide `match` to avoid retokenization if we modified the selector above
2674	( compiled || compile( selector, match ) )(
2675		seed,
2676		context,
2677		!documentIsHTML,
2678		results,
2679		!context || rsibling.test( selector ) && testContext( context.parentNode ) || context
2680	);
2681	return results;
2682}
2683
2684// One-time assignments
2685
2686// Support: Android <=4.0 - 4.1+
2687// Sort stability
2688support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando;
2689
2690// Initialize against the default document
2691setDocument();
2692
2693// Support: Android <=4.0 - 4.1+
2694// Detached nodes confoundingly follow *each other*
2695support.sortDetached = assert( function( el ) {
2696
2697	// Should return 1, but returns 4 (following)
2698	return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1;
2699} );
2700
2701jQuery.find = find;
2702
2703// Deprecated
2704jQuery.expr[ ":" ] = jQuery.expr.pseudos;
2705jQuery.unique = jQuery.uniqueSort;
2706
2707// These have always been private, but they used to be documented as part of
2708// Sizzle so let's maintain them for now for backwards compatibility purposes.
2709find.compile = compile;
2710find.select = select;
2711find.setDocument = setDocument;
2712find.tokenize = tokenize;
2713
2714find.escape = jQuery.escapeSelector;
2715find.getText = jQuery.text;
2716find.isXML = jQuery.isXMLDoc;
2717find.selectors = jQuery.expr;
2718find.support = jQuery.support;
2719find.uniqueSort = jQuery.uniqueSort;
2720
2721	/* eslint-enable */
2722
2723} )();
2724
2725
2726var dir = function( elem, dir, until ) {
2727	var matched = [],
2728		truncate = until !== undefined;
2729
2730	while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {
2731		if ( elem.nodeType === 1 ) {
2732			if ( truncate && jQuery( elem ).is( until ) ) {
2733				break;
2734			}
2735			matched.push( elem );
2736		}
2737	}
2738	return matched;
2739};
2740
2741
2742var siblings = function( n, elem ) {
2743	var matched = [];
2744
2745	for ( ; n; n = n.nextSibling ) {
2746		if ( n.nodeType === 1 && n !== elem ) {
2747			matched.push( n );
2748		}
2749	}
2750
2751	return matched;
2752};
2753
2754
2755var rneedsContext = jQuery.expr.match.needsContext;
2756
2757var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );
2758
2759
2760
2761// Implement the identical functionality for filter and not
2762function winnow( elements, qualifier, not ) {
2763	if ( isFunction( qualifier ) ) {
2764		return jQuery.grep( elements, function( elem, i ) {
2765			return !!qualifier.call( elem, i, elem ) !== not;
2766		} );
2767	}
2768
2769	// Single element
2770	if ( qualifier.nodeType ) {
2771		return jQuery.grep( elements, function( elem ) {
2772			return ( elem === qualifier ) !== not;
2773		} );
2774	}
2775
2776	// Arraylike of elements (jQuery, arguments, Array)
2777	if ( typeof qualifier !== "string" ) {
2778		return jQuery.grep( elements, function( elem ) {
2779			return ( indexOf.call( qualifier, elem ) > -1 ) !== not;
2780		} );
2781	}
2782
2783	// Filtered directly for both simple and complex selectors
2784	return jQuery.filter( qualifier, elements, not );
2785}
2786
2787jQuery.filter = function( expr, elems, not ) {
2788	var elem = elems[ 0 ];
2789
2790	if ( not ) {
2791		expr = ":not(" + expr + ")";
2792	}
2793
2794	if ( elems.length === 1 && elem.nodeType === 1 ) {
2795		return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];
2796	}
2797
2798	return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {
2799		return elem.nodeType === 1;
2800	} ) );
2801};
2802
2803jQuery.fn.extend( {
2804	find: function( selector ) {
2805		var i, ret,
2806			len = this.length,
2807			self = this;
2808
2809		if ( typeof selector !== "string" ) {
2810			return this.pushStack( jQuery( selector ).filter( function() {
2811				for ( i = 0; i < len; i++ ) {
2812					if ( jQuery.contains( self[ i ], this ) ) {
2813						return true;
2814					}
2815				}
2816			} ) );
2817		}
2818
2819		ret = this.pushStack( [] );
2820
2821		for ( i = 0; i < len; i++ ) {
2822			jQuery.find( selector, self[ i ], ret );
2823		}
2824
2825		return len > 1 ? jQuery.uniqueSort( ret ) : ret;
2826	},
2827	filter: function( selector ) {
2828		return this.pushStack( winnow( this, selector || [], false ) );
2829	},
2830	not: function( selector ) {
2831		return this.pushStack( winnow( this, selector || [], true ) );
2832	},
2833	is: function( selector ) {
2834		return !!winnow(
2835			this,
2836
2837			// If this is a positional/relative selector, check membership in the returned set
2838			// so $("p:first").is("p:last") won't return true for a doc with two "p".
2839			typeof selector === "string" && rneedsContext.test( selector ) ?
vendor: 9,941 bytes, lines 2840-3228
2840				jQuery( selector ) :
2841				selector || [],
2842			false
2843		).length;
2844	}
2845} );
2846
2847
2848// Initialize a jQuery object
2849
2850
2851// A central reference to the root jQuery(document)
2852var rootjQuery,
2853
2854	// A simple way to check for HTML strings
2855	// Prioritize #id over <tag> to avoid XSS via location.hash (trac-9521)
2856	// Strict HTML recognition (trac-11290: must start with <)
2857	// Shortcut simple #id case for speed
2858	rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
2859
2860	init = jQuery.fn.init = function( selector, context, root ) {
2861		var match, elem;
2862
2863		// HANDLE: $(""), $(null), $(undefined), $(false)
2864		if ( !selector ) {
2865			return this;
2866		}
2867
2868		// Method init() accepts an alternate rootjQuery
2869		// so migrate can support jQuery.sub (gh-2101)
2870		root = root || rootjQuery;
2871
2872		// Handle HTML strings
2873		if ( typeof selector === "string" ) {
2874			if ( selector[ 0 ] === "<" &&
2875				selector[ selector.length - 1 ] === ">" &&
2876				selector.length >= 3 ) {
2877
2878				// Assume that strings that start and end with <> are HTML and skip the regex check
2879				match = [ null, selector, null ];
2880
2881			} else {
2882				match = rquickExpr.exec( selector );
2883			}
2884
2885			// Match html or make sure no context is specified for #id
2886			if ( match && ( match[ 1 ] || !context ) ) {
2887
2888				// HANDLE: $(html) -> $(array)
2889				if ( match[ 1 ] ) {
2890					context = context instanceof jQuery ? context[ 0 ] : context;
2891
2892					// Option to run scripts is true for back-compat
2893					// Intentionally let the error be thrown if parseHTML is not present
2894					jQuery.merge( this, jQuery.parseHTML(
2895						match[ 1 ],
2896						context && context.nodeType ? context.ownerDocument || context : document,
2897						true
2898					) );
2899
2900					// HANDLE: $(html, props)
2901					if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {
2902						for ( match in context ) {
2903
2904							// Properties of context are called as methods if possible
2905							if ( isFunction( this[ match ] ) ) {
2906								this[ match ]( context[ match ] );
2907
2908							// ...and otherwise set as attributes
2909							} else {
2910								this.attr( match, context[ match ] );
2911							}
2912						}
2913					}
2914
2915					return this;
2916
2917				// HANDLE: $(#id)
2918				} else {
2919					elem = document.getElementById( match[ 2 ] );
2920
2921					if ( elem ) {
2922
2923						// Inject the element directly into the jQuery object
2924						this[ 0 ] = elem;
2925						this.length = 1;
2926					}
2927					return this;
2928				}
2929
2930			// HANDLE: $(expr, $(...))
2931			} else if ( !context || context.jquery ) {
2932				return ( context || root ).find( selector );
2933
2934			// HANDLE: $(expr, context)
2935			// (which is just equivalent to: $(context).find(expr)
2936			} else {
2937				return this.constructor( context ).find( selector );
2938			}
2939
2940		// HANDLE: $(DOMElement)
2941		} else if ( selector.nodeType ) {
2942			this[ 0 ] = selector;
2943			this.length = 1;
2944			return this;
2945
2946		// HANDLE: $(function)
2947		// Shortcut for document ready
2948		} else if ( isFunction( selector ) ) {
2949			return root.ready !== undefined ?
2950				root.ready( selector ) :
2951
2952				// Execute immediately if ready is not present
2953				selector( jQuery );
2954		}
2955
2956		return jQuery.makeArray( selector, this );
2957	};
2958
2959// Give the init function the jQuery prototype for later instantiation
2960init.prototype = jQuery.fn;
2961
2962// Initialize central reference
2963rootjQuery = jQuery( document );
2964
2965
2966var rparentsprev = /^(?:parents|prev(?:Until|All))/,
2967
2968	// Methods guaranteed to produce a unique set when starting from a unique set
2969	guaranteedUnique = {
2970		children: true,
2971		contents: true,
2972		next: true,
2973		prev: true
2974	};
2975
2976jQuery.fn.extend( {
2977	has: function( target ) {
2978		var targets = jQuery( target, this ),
2979			l = targets.length;
2980
2981		return this.filter( function() {
2982			var i = 0;
2983			for ( ; i < l; i++ ) {
2984				if ( jQuery.contains( this, targets[ i ] ) ) {
2985					return true;
2986				}
2987			}
2988		} );
2989	},
2990
2991	closest: function( selectors, context ) {
2992		var cur,
2993			i = 0,
2994			l = this.length,
2995			matched = [],
2996			targets = typeof selectors !== "string" && jQuery( selectors );
2997
2998		// Positional selectors never match, since there's no _selection_ context
2999		if ( !rneedsContext.test( selectors ) ) {
3000			for ( ; i < l; i++ ) {
3001				for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {
3002
3003					// Always skip document fragments
3004					if ( cur.nodeType < 11 && ( targets ?
3005						targets.index( cur ) > -1 :
3006
3007						// Don't pass non-elements to jQuery#find
3008						cur.nodeType === 1 &&
3009							jQuery.find.matchesSelector( cur, selectors ) ) ) {
3010
3011						matched.push( cur );
3012						break;
3013					}
3014				}
3015			}
3016		}
3017
3018		return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );
3019	},
3020
3021	// Determine the position of an element within the set
3022	index: function( elem ) {
3023
3024		// No argument, return index in parent
3025		if ( !elem ) {
3026			return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;
3027		}
3028
3029		// Index in selector
3030		if ( typeof elem === "string" ) {
3031			return indexOf.call( jQuery( elem ), this[ 0 ] );
3032		}
3033
3034		// Locate the position of the desired element
3035		return indexOf.call( this,
3036
3037			// If it receives a jQuery object, the first element is used
3038			elem.jquery ? elem[ 0 ] : elem
3039		);
3040	},
3041
3042	add: function( selector, context ) {
3043		return this.pushStack(
3044			jQuery.uniqueSort(
3045				jQuery.merge( this.get(), jQuery( selector, context ) )
3046			)
3047		);
3048	},
3049
3050	addBack: function( selector ) {
3051		return this.add( selector == null ?
3052			this.prevObject : this.prevObject.filter( selector )
3053		);
3054	}
3055} );
3056
3057function sibling( cur, dir ) {
3058	while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}
3059	return cur;
3060}
3061
3062jQuery.each( {
3063	parent: function( elem ) {
3064		var parent = elem.parentNode;
3065		return parent && parent.nodeType !== 11 ? parent : null;
3066	},
3067	parents: function( elem ) {
3068		return dir( elem, "parentNode" );
3069	},
3070	parentsUntil: function( elem, _i, until ) {
3071		return dir( elem, "parentNode", until );
3072	},
3073	next: function( elem ) {
3074		return sibling( elem, "nextSibling" );
3075	},
3076	prev: function( elem ) {
3077		return sibling( elem, "previousSibling" );
3078	},
3079	nextAll: function( elem ) {
3080		return dir( elem, "nextSibling" );
3081	},
3082	prevAll: function( elem ) {
3083		return dir( elem, "previousSibling" );
3084	},
3085	nextUntil: function( elem, _i, until ) {
3086		return dir( elem, "nextSibling", until );
3087	},
3088	prevUntil: function( elem, _i, until ) {
3089		return dir( elem, "previousSibling", until );
3090	},
3091	siblings: function( elem ) {
3092		return siblings( ( elem.parentNode || {} ).firstChild, elem );
3093	},
3094	children: function( elem ) {
3095		return siblings( elem.firstChild );
3096	},
3097	contents: function( elem ) {
3098		if ( elem.contentDocument != null &&
3099
3100			// Support: IE 11+
3101			// <object> elements with no `data` attribute has an object
3102			// `contentDocument` with a `null` prototype.
3103			getProto( elem.contentDocument ) ) {
3104
3105			return elem.contentDocument;
3106		}
3107
3108		// Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
3109		// Treat the template element as a regular one in browsers that
3110		// don't support it.
3111		if ( nodeName( elem, "template" ) ) {
3112			elem = elem.content || elem;
3113		}
3114
3115		return jQuery.merge( [], elem.childNodes );
3116	}
3117}, function( name, fn ) {
3118	jQuery.fn[ name ] = function( until, selector ) {
3119		var matched = jQuery.map( this, fn, until );
3120
3121		if ( name.slice( -5 ) !== "Until" ) {
3122			selector = until;
3123		}
3124
3125		if ( selector && typeof selector === "string" ) {
3126			matched = jQuery.filter( selector, matched );
3127		}
3128
3129		if ( this.length > 1 ) {
3130
3131			// Remove duplicates
3132			if ( !guaranteedUnique[ name ] ) {
3133				jQuery.uniqueSort( matched );
3134			}
3135
3136			// Reverse order for parents* and prev-derivatives
3137			if ( rparentsprev.test( name ) ) {
3138				matched.reverse();
3139			}
3140		}
3141
3142		return this.pushStack( matched );
3143	};
3144} );
3145var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g );
3146
3147
3148
3149// Convert String-formatted options into Object-formatted ones
3150function createOptions( options ) {
3151	var object = {};
3152	jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {
3153		object[ flag ] = true;
3154	} );
3155	return object;
3156}
3157
3158/*
3159 * Create a callback list using the following parameters:
3160 *
3161 *	options: an optional list of space-separated options that will change how
3162 *			the callback list behaves or a more traditional option object
3163 *
3164 * By default a callback list will act like an event callback list and can be
3165 * "fired" multiple times.
3166 *
3167 * Possible options:
3168 *
3169 *	once:			will ensure the callback list can only be fired once (like a Deferred)
3170 *
3171 *	memory:			will keep track of previous values and will call any callback added
3172 *					after the list has been fired right away with the latest "memorized"
3173 *					values (like a Deferred)
3174 *
3175 *	unique:			will ensure a callback can only be added once (no duplicate in the list)
3176 *
3177 *	stopOnFalse:	interrupt callings when a callback returns false
3178 *
3179 */
3180jQuery.Callbacks = function( options ) {
3181
3182	// Convert options from String-formatted to Object-formatted if needed
3183	// (we check in cache first)
3184	options = typeof options === "string" ?
3185		createOptions( options ) :
3186		jQuery.extend( {}, options );
3187
3188	var // Flag to know if list is currently firing
3189		firing,
3190
3191		// Last fire value for non-forgettable lists
3192		memory,
3193
3194		// Flag to know if list was already fired
3195		fired,
3196
3197		// Flag to prevent firing
3198		locked,
3199
3200		// Actual callback list
3201		list = [],
3202
3203		// Queue of execution data for repeatable lists
3204		queue = [],
3205
3206		// Index of currently firing callback (modified by add/remove as needed)
3207		firingIndex = -1,
3208
3209		// Fire callbacks
3210		fire = function() {
3211
3212			// Enforce single-firing
3213			locked = locked || options.once;
3214
3215			// Execute callbacks for all pending executions,
3216			// respecting firingIndex overrides and runtime changes
3217			fired = firing = true;
3218			for ( ; queue.length; firingIndex = -1 ) {
3219				memory = queue.shift();
3220				while ( ++firingIndex < list.length ) {
3221
3222					// Run callback and check for early termination
3223					if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&
3224						options.stopOnFalse ) {
3225
3226						// Jump to end and forget the data so .add doesn't re-fire
3227						firingIndex = list.length;
3228						memory = false;
vendor: 4,918 bytes, lines 3229-3438
3229					}
3230				}
3231			}
3232
3233			// Forget the data if we're done with it
3234			if ( !options.memory ) {
3235				memory = false;
3236			}
3237
3238			firing = false;
3239
3240			// Clean up if we're done firing for good
3241			if ( locked ) {
3242
3243				// Keep an empty list if we have data for future add calls
3244				if ( memory ) {
3245					list = [];
3246
3247				// Otherwise, this object is spent
3248				} else {
3249					list = "";
3250				}
3251			}
3252		},
3253
3254		// Actual Callbacks object
3255		self = {
3256
3257			// Add a callback or a collection of callbacks to the list
3258			add: function() {
3259				if ( list ) {
3260
3261					// If we have memory from a past run, we should fire after adding
3262					if ( memory && !firing ) {
3263						firingIndex = list.length - 1;
3264						queue.push( memory );
3265					}
3266
3267					( function add( args ) {
3268						jQuery.each( args, function( _, arg ) {
3269							if ( isFunction( arg ) ) {
3270								if ( !options.unique || !self.has( arg ) ) {
3271									list.push( arg );
3272								}
3273							} else if ( arg && arg.length && toType( arg ) !== "string" ) {
3274
3275								// Inspect recursively
3276								add( arg );
3277							}
3278						} );
3279					} )( arguments );
3280
3281					if ( memory && !firing ) {
3282						fire();
3283					}
3284				}
3285				return this;
3286			},
3287
3288			// Remove a callback from the list
3289			remove: function() {
3290				jQuery.each( arguments, function( _, arg ) {
3291					var index;
3292					while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
3293						list.splice( index, 1 );
3294
3295						// Handle firing indexes
3296						if ( index <= firingIndex ) {
3297							firingIndex--;
3298						}
3299					}
3300				} );
3301				return this;
3302			},
3303
3304			// Check if a given callback is in the list.
3305			// If no argument is given, return whether or not list has callbacks attached.
3306			has: function( fn ) {
3307				return fn ?
3308					jQuery.inArray( fn, list ) > -1 :
3309					list.length > 0;
3310			},
3311
3312			// Remove all callbacks from the list
3313			empty: function() {
3314				if ( list ) {
3315					list = [];
3316				}
3317				return this;
3318			},
3319
3320			// Disable .fire and .add
3321			// Abort any current/pending executions
3322			// Clear all callbacks and values
3323			disable: function() {
3324				locked = queue = [];
3325				list = memory = "";
3326				return this;
3327			},
3328			disabled: function() {
3329				return !list;
3330			},
3331
3332			// Disable .fire
3333			// Also disable .add unless we have memory (since it would have no effect)
3334			// Abort any pending executions
3335			lock: function() {
3336				locked = queue = [];
3337				if ( !memory && !firing ) {
3338					list = memory = "";
3339				}
3340				return this;
3341			},
3342			locked: function() {
3343				return !!locked;
3344			},
3345
3346			// Call all callbacks with the given context and arguments
3347			fireWith: function( context, args ) {
3348				if ( !locked ) {
3349					args = args || [];
3350					args = [ context, args.slice ? args.slice() : args ];
3351					queue.push( args );
3352					if ( !firing ) {
3353						fire();
3354					}
3355				}
3356				return this;
3357			},
3358
3359			// Call all the callbacks with the given arguments
3360			fire: function() {
3361				self.fireWith( this, arguments );
3362				return this;
3363			},
3364
3365			// To know if the callbacks have already been called at least once
3366			fired: function() {
3367				return !!fired;
3368			}
3369		};
3370
3371	return self;
3372};
3373
3374
3375function Identity( v ) {
3376	return v;
3377}
3378function Thrower( ex ) {
3379	throw ex;
3380}
3381
3382function adoptValue( value, resolve, reject, noValue ) {
3383	var method;
3384
3385	try {
3386
3387		// Check for promise aspect first to privilege synchronous behavior
3388		if ( value && isFunction( ( method = value.promise ) ) ) {
3389			method.call( value ).done( resolve ).fail( reject );
3390
3391		// Other thenables
3392		} else if ( value && isFunction( ( method = value.then ) ) ) {
3393			method.call( value, resolve, reject );
3394
3395		// Other non-thenables
3396		} else {
3397
3398			// Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:
3399			// * false: [ value ].slice( 0 ) => resolve( value )
3400			// * true: [ value ].slice( 1 ) => resolve()
3401			resolve.apply( undefined, [ value ].slice( noValue ) );
3402		}
3403
3404	// For Promises/A+, convert exceptions into rejections
3405	// Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in
3406	// Deferred#then to conditionally suppress rejection.
3407	} catch ( value ) {
3408
3409		// Support: Android 4.0 only
3410		// Strict mode functions invoked without .call/.apply get global-object context
3411		reject.apply( undefined, [ value ] );
3412	}
3413}
3414
3415jQuery.extend( {
3416
3417	Deferred: function( func ) {
3418		var tuples = [
3419
3420				// action, add listener, callbacks,
3421				// ... .then handlers, argument index, [final state]
3422				[ "notify", "progress", jQuery.Callbacks( "memory" ),
3423					jQuery.Callbacks( "memory" ), 2 ],
3424				[ "resolve", "done", jQuery.Callbacks( "once memory" ),
3425					jQuery.Callbacks( "once memory" ), 0, "resolved" ],
3426				[ "reject", "fail", jQuery.Callbacks( "once memory" ),
3427					jQuery.Callbacks( "once memory" ), 1, "rejected" ]
3428			],
3429			state = "pending",
3430			promise = {
3431				state: function() {
3432					return state;
3433				},
3434				always: function() {
3435					deferred.done( arguments ).fail( arguments );
3436					return this;
3437				},
3438				"catch": function( fn ) {
vendor: 28,472 bytes, lines 3439-4550
3439					return promise.then( null, fn );
3440				},
3441
3442				// Keep pipe for back-compat
3443				pipe: function( /* fnDone, fnFail, fnProgress */ ) {
3444					var fns = arguments;
3445
3446					return jQuery.Deferred( function( newDefer ) {
3447						jQuery.each( tuples, function( _i, tuple ) {
3448
3449							// Map tuples (progress, done, fail) to arguments (done, fail, progress)
3450							var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];
3451
3452							// deferred.progress(function() { bind to newDefer or newDefer.notify })
3453							// deferred.done(function() { bind to newDefer or newDefer.resolve })
3454							// deferred.fail(function() { bind to newDefer or newDefer.reject })
3455							deferred[ tuple[ 1 ] ]( function() {
3456								var returned = fn && fn.apply( this, arguments );
3457								if ( returned && isFunction( returned.promise ) ) {
3458									returned.promise()
3459										.progress( newDefer.notify )
3460										.done( newDefer.resolve )
3461										.fail( newDefer.reject );
3462								} else {
3463									newDefer[ tuple[ 0 ] + "With" ](
3464										this,
3465										fn ? [ returned ] : arguments
3466									);
3467								}
3468							} );
3469						} );
3470						fns = null;
3471					} ).promise();
3472				},
3473				then: function( onFulfilled, onRejected, onProgress ) {
3474					var maxDepth = 0;
3475					function resolve( depth, deferred, handler, special ) {
3476						return function() {
3477							var that = this,
3478								args = arguments,
3479								mightThrow = function() {
3480									var returned, then;
3481
3482									// Support: Promises/A+ section 2.3.3.3.3
3483									// https://promisesaplus.com/#point-59
3484									// Ignore double-resolution attempts
3485									if ( depth < maxDepth ) {
3486										return;
3487									}
3488
3489									returned = handler.apply( that, args );
3490
3491									// Support: Promises/A+ section 2.3.1
3492									// https://promisesaplus.com/#point-48
3493									if ( returned === deferred.promise() ) {
3494										throw new TypeError( "Thenable self-resolution" );
3495									}
3496
3497									// Support: Promises/A+ sections 2.3.3.1, 3.5
3498									// https://promisesaplus.com/#point-54
3499									// https://promisesaplus.com/#point-75
3500									// Retrieve `then` only once
3501									then = returned &&
3502
3503										// Support: Promises/A+ section 2.3.4
3504										// https://promisesaplus.com/#point-64
3505										// Only check objects and functions for thenability
3506										( typeof returned === "object" ||
3507											typeof returned === "function" ) &&
3508										returned.then;
3509
3510									// Handle a returned thenable
3511									if ( isFunction( then ) ) {
3512
3513										// Special processors (notify) just wait for resolution
3514										if ( special ) {
3515											then.call(
3516												returned,
3517												resolve( maxDepth, deferred, Identity, special ),
3518												resolve( maxDepth, deferred, Thrower, special )
3519											);
3520
3521										// Normal processors (resolve) also hook into progress
3522										} else {
3523
3524											// ...and disregard older resolution values
3525											maxDepth++;
3526
3527											then.call(
3528												returned,
3529												resolve( maxDepth, deferred, Identity, special ),
3530												resolve( maxDepth, deferred, Thrower, special ),
3531												resolve( maxDepth, deferred, Identity,
3532													deferred.notifyWith )
3533											);
3534										}
3535
3536									// Handle all other returned values
3537									} else {
3538
3539										// Only substitute handlers pass on context
3540										// and multiple values (non-spec behavior)
3541										if ( handler !== Identity ) {
3542											that = undefined;
3543											args = [ returned ];
3544										}
3545
3546										// Process the value(s)
3547										// Default process is resolve
3548										( special || deferred.resolveWith )( that, args );
3549									}
3550								},
3551
3552								// Only normal processors (resolve) catch and reject exceptions
3553								process = special ?
3554									mightThrow :
3555									function() {
3556										try {
3557											mightThrow();
3558										} catch ( e ) {
3559
3560											if ( jQuery.Deferred.exceptionHook ) {
3561												jQuery.Deferred.exceptionHook( e,
3562													process.error );
3563											}
3564
3565											// Support: Promises/A+ section 2.3.3.3.4.1
3566											// https://promisesaplus.com/#point-61
3567											// Ignore post-resolution exceptions
3568											if ( depth + 1 >= maxDepth ) {
3569
3570												// Only substitute handlers pass on context
3571												// and multiple values (non-spec behavior)
3572												if ( handler !== Thrower ) {
3573													that = undefined;
3574													args = [ e ];
3575												}
3576
3577												deferred.rejectWith( that, args );
3578											}
3579										}
3580									};
3581
3582							// Support: Promises/A+ section 2.3.3.3.1
3583							// https://promisesaplus.com/#point-57
3584							// Re-resolve promises immediately to dodge false rejection from
3585							// subsequent errors
3586							if ( depth ) {
3587								process();
3588							} else {
3589
3590								// Call an optional hook to record the error, in case of exception
3591								// since it's otherwise lost when execution goes async
3592								if ( jQuery.Deferred.getErrorHook ) {
3593									process.error = jQuery.Deferred.getErrorHook();
3594
3595								// The deprecated alias of the above. While the name suggests
3596								// returning the stack, not an error instance, jQuery just passes
3597								// it directly to `console.warn` so both will work; an instance
3598								// just better cooperates with source maps.
3599								} else if ( jQuery.Deferred.getStackHook ) {
3600									process.error = jQuery.Deferred.getStackHook();
3601								}
3602								window.setTimeout( process );
3603							}
3604						};
3605					}
3606
3607					return jQuery.Deferred( function( newDefer ) {
3608
3609						// progress_handlers.add( ... )
3610						tuples[ 0 ][ 3 ].add(
3611							resolve(
3612								0,
3613								newDefer,
3614								isFunction( onProgress ) ?
3615									onProgress :
3616									Identity,
3617								newDefer.notifyWith
3618							)
3619						);
3620
3621						// fulfilled_handlers.add( ... )
3622						tuples[ 1 ][ 3 ].add(
3623							resolve(
3624								0,
3625								newDefer,
3626								isFunction( onFulfilled ) ?
3627									onFulfilled :
3628									Identity
3629							)
3630						);
3631
3632						// rejected_handlers.add( ... )
3633						tuples[ 2 ][ 3 ].add(
3634							resolve(
3635								0,
3636								newDefer,
3637								isFunction( onRejected ) ?
3638									onRejected :
3639									Thrower
3640							)
3641						);
3642					} ).promise();
3643				},
3644
3645				// Get a promise for this deferred
3646				// If obj is provided, the promise aspect is added to the object
3647				promise: function( obj ) {
3648					return obj != null ? jQuery.extend( obj, promise ) : promise;
3649				}
3650			},
3651			deferred = {};
3652
3653		// Add list-specific methods
3654		jQuery.each( tuples, function( i, tuple ) {
3655			var list = tuple[ 2 ],
3656				stateString = tuple[ 5 ];
3657
3658			// promise.progress = list.add
3659			// promise.done = list.add
3660			// promise.fail = list.add
3661			promise[ tuple[ 1 ] ] = list.add;
3662
3663			// Handle state
3664			if ( stateString ) {
3665				list.add(
3666					function() {
3667
3668						// state = "resolved" (i.e., fulfilled)
3669						// state = "rejected"
3670						state = stateString;
3671					},
3672
3673					// rejected_callbacks.disable
3674					// fulfilled_callbacks.disable
3675					tuples[ 3 - i ][ 2 ].disable,
3676
3677					// rejected_handlers.disable
3678					// fulfilled_handlers.disable
3679					tuples[ 3 - i ][ 3 ].disable,
3680
3681					// progress_callbacks.lock
3682					tuples[ 0 ][ 2 ].lock,
3683
3684					// progress_handlers.lock
3685					tuples[ 0 ][ 3 ].lock
3686				);
3687			}
3688
3689			// progress_handlers.fire
3690			// fulfilled_handlers.fire
3691			// rejected_handlers.fire
3692			list.add( tuple[ 3 ].fire );
3693
3694			// deferred.notify = function() { deferred.notifyWith(...) }
3695			// deferred.resolve = function() { deferred.resolveWith(...) }
3696			// deferred.reject = function() { deferred.rejectWith(...) }
3697			deferred[ tuple[ 0 ] ] = function() {
3698				deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments );
3699				return this;
3700			};
3701
3702			// deferred.notifyWith = list.fireWith
3703			// deferred.resolveWith = list.fireWith
3704			// deferred.rejectWith = list.fireWith
3705			deferred[ tuple[ 0 ] + "With" ] = list.fireWith;
3706		} );
3707
3708		// Make the deferred a promise
3709		promise.promise( deferred );
3710
3711		// Call given func if any
3712		if ( func ) {
3713			func.call( deferred, deferred );
3714		}
3715
3716		// All done!
3717		return deferred;
3718	},
3719
3720	// Deferred helper
3721	when: function( singleValue ) {
3722		var
3723
3724			// count of uncompleted subordinates
3725			remaining = arguments.length,
3726
3727			// count of unprocessed arguments
3728			i = remaining,
3729
3730			// subordinate fulfillment data
3731			resolveContexts = Array( i ),
3732			resolveValues = slice.call( arguments ),
3733
3734			// the primary Deferred
3735			primary = jQuery.Deferred(),
3736
3737			// subordinate callback factory
3738			updateFunc = function( i ) {
3739				return function( value ) {
3740					resolveContexts[ i ] = this;
3741					resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
3742					if ( !( --remaining ) ) {
3743						primary.resolveWith( resolveContexts, resolveValues );
3744					}
3745				};
3746			};
3747
3748		// Single- and empty arguments are adopted like Promise.resolve
3749		if ( remaining <= 1 ) {
3750			adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject,
3751				!remaining );
3752
3753			// Use .then() to unwrap secondary thenables (cf. gh-3000)
3754			if ( primary.state() === "pending" ||
3755				isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {
3756
3757				return primary.then();
3758			}
3759		}
3760
3761		// Multiple arguments are aggregated like Promise.all array elements
3762		while ( i-- ) {
3763			adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject );
3764		}
3765
3766		return primary.promise();
3767	}
3768} );
3769
3770
3771// These usually indicate a programmer mistake during development,
3772// warn about them ASAP rather than swallowing them by default.
3773var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
3774
3775// If `jQuery.Deferred.getErrorHook` is defined, `asyncError` is an error
3776// captured before the async barrier to get the original error cause
3777// which may otherwise be hidden.
3778jQuery.Deferred.exceptionHook = function( error, asyncError ) {
3779
3780	// Support: IE 8 - 9 only
3781	// Console exists when dev tools are open, which can happen at any time
3782	if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {
3783		window.console.warn( "jQuery.Deferred exception: " + error.message,
3784			error.stack, asyncError );
3785	}
3786};
3787
3788
3789
3790
3791jQuery.readyException = function( error ) {
3792	window.setTimeout( function() {
3793		throw error;
3794	} );
3795};
3796
3797
3798
3799
3800// The deferred used on DOM ready
3801var readyList = jQuery.Deferred();
3802
3803jQuery.fn.ready = function( fn ) {
3804
3805	readyList
3806		.then( fn )
3807
3808		// Wrap jQuery.readyException in a function so that the lookup
3809		// happens at the time of error handling instead of callback
3810		// registration.
3811		.catch( function( error ) {
3812			jQuery.readyException( error );
3813		} );
3814
3815	return this;
3816};
3817
3818jQuery.extend( {
3819
3820	// Is the DOM ready to be used? Set to true once it occurs.
3821	isReady: false,
3822
3823	// A counter to track how many items to wait for before
3824	// the ready event fires. See trac-6781
3825	readyWait: 1,
3826
3827	// Handle when the DOM is ready
3828	ready: function( wait ) {
3829
3830		// Abort if there are pending holds or we're already ready
3831		if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
3832			return;
3833		}
3834
3835		// Remember that the DOM is ready
3836		jQuery.isReady = true;
3837
3838		// If a normal DOM Ready event fired, decrement, and wait if need be
3839		if ( wait !== true && --jQuery.readyWait > 0 ) {
3840			return;
3841		}
3842
3843		// If there are functions bound, to execute
3844		readyList.resolveWith( document, [ jQuery ] );
3845	}
3846} );
3847
3848jQuery.ready.then = readyList.then;
3849
3850// The ready event handler and self cleanup method
3851function completed() {
3852	document.removeEventListener( "DOMContentLoaded", completed );
3853	window.removeEventListener( "load", completed );
3854	jQuery.ready();
3855}
3856
3857// Catch cases where $(document).ready() is called
3858// after the browser event has already occurred.
3859// Support: IE <=9 - 10 only
3860// Older IE sometimes signals "interactive" too soon
3861if ( document.readyState === "complete" ||
3862	( document.readyState !== "loading" && !document.documentElement.doScroll ) ) {
3863
3864	// Handle it asynchronously to allow scripts the opportunity to delay ready
3865	window.setTimeout( jQuery.ready );
3866
3867} else {
3868
3869	// Use the handy event callback
3870	document.addEventListener( "DOMContentLoaded", completed );
3871
3872	// A fallback to window.onload, that will always work
3873	window.addEventListener( "load", completed );
3874}
3875
3876
3877
3878
3879// Multifunctional method to get and set values of a collection
3880// The value/s can optionally be executed if it's a function
3881var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
3882	var i = 0,
3883		len = elems.length,
3884		bulk = key == null;
3885
3886	// Sets many values
3887	if ( toType( key ) === "object" ) {
3888		chainable = true;
3889		for ( i in key ) {
3890			access( elems, fn, i, key[ i ], true, emptyGet, raw );
3891		}
3892
3893	// Sets one value
3894	} else if ( value !== undefined ) {
3895		chainable = true;
3896
3897		if ( !isFunction( value ) ) {
3898			raw = true;
3899		}
3900
3901		if ( bulk ) {
3902
3903			// Bulk operations run against the entire set
3904			if ( raw ) {
3905				fn.call( elems, value );
3906				fn = null;
3907
3908			// ...except when executing function values
3909			} else {
3910				bulk = fn;
3911				fn = function( elem, _key, value ) {
3912					return bulk.call( jQuery( elem ), value );
3913				};
3914			}
3915		}
3916
3917		if ( fn ) {
3918			for ( ; i < len; i++ ) {
3919				fn(
3920					elems[ i ], key, raw ?
3921						value :
3922						value.call( elems[ i ], i, fn( elems[ i ], key ) )
3923				);
3924			}
3925		}
3926	}
3927
3928	if ( chainable ) {
3929		return elems;
3930	}
3931
3932	// Gets
3933	if ( bulk ) {
3934		return fn.call( elems );
3935	}
3936
3937	return len ? fn( elems[ 0 ], key ) : emptyGet;
3938};
3939
3940
3941// Matches dashed string for camelizing
3942var rmsPrefix = /^-ms-/,
3943	rdashAlpha = /-([a-z])/g;
3944
3945// Used by camelCase as callback to replace()
3946function fcamelCase( _all, letter ) {
3947	return letter.toUpperCase();
3948}
3949
3950// Convert dashed to camelCase; used by the css and data modules
3951// Support: IE <=9 - 11, Edge 12 - 15
3952// Microsoft forgot to hump their vendor prefix (trac-9572)
3953function camelCase( string ) {
3954	return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
3955}
3956var acceptData = function( owner ) {
3957
3958	// Accepts only:
3959	//  - Node
3960	//    - Node.ELEMENT_NODE
3961	//    - Node.DOCUMENT_NODE
3962	//  - Object
3963	//    - Any
3964	return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
3965};
3966
3967
3968
3969
3970function Data() {
3971	this.expando = jQuery.expando + Data.uid++;
3972}
3973
3974Data.uid = 1;
3975
3976Data.prototype = {
3977
3978	cache: function( owner ) {
3979
3980		// Check if the owner object already has a cache
3981		var value = owner[ this.expando ];
3982
3983		// If not, create one
3984		if ( !value ) {
3985			value = {};
3986
3987			// We can accept data for non-element nodes in modern browsers,
3988			// but we should not, see trac-8335.
3989			// Always return an empty object.
3990			if ( acceptData( owner ) ) {
3991
3992				// If it is a node unlikely to be stringify-ed or looped over
3993				// use plain assignment
3994				if ( owner.nodeType ) {
3995					owner[ this.expando ] = value;
3996
3997				// Otherwise secure it in a non-enumerable property
3998				// configurable must be true to allow the property to be
3999				// deleted when data is removed
4000				} else {
4001					Object.defineProperty( owner, this.expando, {
4002						value: value,
4003						configurable: true
4004					} );
4005				}
4006			}
4007		}
4008
4009		return value;
4010	},
4011	set: function( owner, data, value ) {
4012		var prop,
4013			cache = this.cache( owner );
4014
4015		// Handle: [ owner, key, value ] args
4016		// Always use camelCase key (gh-2257)
4017		if ( typeof data === "string" ) {
4018			cache[ camelCase( data ) ] = value;
4019
4020		// Handle: [ owner, { properties } ] args
4021		} else {
4022
4023			// Copy the properties one-by-one to the cache object
4024			for ( prop in data ) {
4025				cache[ camelCase( prop ) ] = data[ prop ];
4026			}
4027		}
4028		return cache;
4029	},
4030	get: function( owner, key ) {
4031		return key === undefined ?
4032			this.cache( owner ) :
4033
4034			// Always use camelCase key (gh-2257)
4035			owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ];
4036	},
4037	access: function( owner, key, value ) {
4038
4039		// In cases where either:
4040		//
4041		//   1. No key was specified
4042		//   2. A string key was specified, but no value provided
4043		//
4044		// Take the "read" path and allow the get method to determine
4045		// which value to return, respectively either:
4046		//
4047		//   1. The entire cache object
4048		//   2. The data stored at the key
4049		//
4050		if ( key === undefined ||
4051				( ( key && typeof key === "string" ) && value === undefined ) ) {
4052
4053			return this.get( owner, key );
4054		}
4055
4056		// When the key is not a string, or both a key and value
4057		// are specified, set or extend (existing objects) with either:
4058		//
4059		//   1. An object of properties
4060		//   2. A key and value
4061		//
4062		this.set( owner, key, value );
4063
4064		// Since the "set" path can have two possible entry points
4065		// return the expected data based on which path was taken[*]
4066		return value !== undefined ? value : key;
4067	},
4068	remove: function( owner, key ) {
4069		var i,
4070			cache = owner[ this.expando ];
4071
4072		if ( cache === undefined ) {
4073			return;
4074		}
4075
4076		if ( key !== undefined ) {
4077
4078			// Support array or space separated string of keys
4079			if ( Array.isArray( key ) ) {
4080
4081				// If key is an array of keys...
4082				// We always set camelCase keys, so remove that.
4083				key = key.map( camelCase );
4084			} else {
4085				key = camelCase( key );
4086
4087				// If a key with the spaces exists, use it.
4088				// Otherwise, create an array by matching non-whitespace
4089				key = key in cache ?
4090					[ key ] :
4091					( key.match( rnothtmlwhite ) || [] );
4092			}
4093
4094			i = key.length;
4095
4096			while ( i-- ) {
4097				delete cache[ key[ i ] ];
4098			}
4099		}
4100
4101		// Remove the expando if there's no more data
4102		if ( key === undefined || jQuery.isEmptyObject( cache ) ) {
4103
4104			// Support: Chrome <=35 - 45
4105			// Webkit & Blink performance suffers when deleting properties
4106			// from DOM nodes, so set to undefined instead
4107			// https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)
4108			if ( owner.nodeType ) {
4109				owner[ this.expando ] = undefined;
4110			} else {
4111				delete owner[ this.expando ];
4112			}
4113		}
4114	},
4115	hasData: function( owner ) {
4116		var cache = owner[ this.expando ];
4117		return cache !== undefined && !jQuery.isEmptyObject( cache );
4118	}
4119};
4120var dataPriv = new Data();
4121
4122var dataUser = new Data();
4123
4124
4125
4126//	Implementation Summary
4127//
4128//	1. Enforce API surface and semantic compatibility with 1.9.x branch
4129//	2. Improve the module's maintainability by reducing the storage
4130//		paths to a single mechanism.
4131//	3. Use the same single mechanism to support "private" and "user" data.
4132//	4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData)
4133//	5. Avoid exposing implementation details on user objects (eg. expando properties)
4134//	6. Provide a clear path for implementation upgrade to WeakMap in 2014
4135
4136var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
4137	rmultiDash = /[A-Z]/g;
4138
4139function getData( data ) {
4140	if ( data === "true" ) {
4141		return true;
4142	}
4143
4144	if ( data === "false" ) {
4145		return false;
4146	}
4147
4148	if ( data === "null" ) {
4149		return null;
4150	}
4151
4152	// Only convert to a number if it doesn't change the string
4153	if ( data === +data + "" ) {
4154		return +data;
4155	}
4156
4157	if ( rbrace.test( data ) ) {
4158		return JSON.parse( data );
4159	}
4160
4161	return data;
4162}
4163
4164function dataAttr( elem, key, data ) {
4165	var name;
4166
4167	// If nothing was found internally, try to fetch any
4168	// data from the HTML5 data-* attribute
4169	if ( data === undefined && elem.nodeType === 1 ) {
4170		name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase();
4171		data = elem.getAttribute( name );
4172
4173		if ( typeof data === "string" ) {
4174			try {
4175				data = getData( data );
4176			} catch ( e ) {}
4177
4178			// Make sure we set the data so it isn't changed later
4179			dataUser.set( elem, key, data );
4180		} else {
4181			data = undefined;
4182		}
4183	}
4184	return data;
4185}
4186
4187jQuery.extend( {
4188	hasData: function( elem ) {
4189		return dataUser.hasData( elem ) || dataPriv.hasData( elem );
4190	},
4191
4192	data: function( elem, name, data ) {
4193		return dataUser.access( elem, name, data );
4194	},
4195
4196	removeData: function( elem, name ) {
4197		dataUser.remove( elem, name );
4198	},
4199
4200	// TODO: Now that all calls to _data and _removeData have been replaced
4201	// with direct calls to dataPriv methods, these can be deprecated.
4202	_data: function( elem, name, data ) {
4203		return dataPriv.access( elem, name, data );
4204	},
4205
4206	_removeData: function( elem, name ) {
4207		dataPriv.remove( elem, name );
4208	}
4209} );
4210
4211jQuery.fn.extend( {
4212	data: function( key, value ) {
4213		var i, name, data,
4214			elem = this[ 0 ],
4215			attrs = elem && elem.attributes;
4216
4217		// Gets all values
4218		if ( key === undefined ) {
4219			if ( this.length ) {
4220				data = dataUser.get( elem );
4221
4222				if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) {
4223					i = attrs.length;
4224					while ( i-- ) {
4225
4226						// Support: IE 11 only
4227						// The attrs elements can be null (trac-14894)
4228						if ( attrs[ i ] ) {
4229							name = attrs[ i ].name;
4230							if ( name.indexOf( "data-" ) === 0 ) {
4231								name = camelCase( name.slice( 5 ) );
4232								dataAttr( elem, name, data[ name ] );
4233							}
4234						}
4235					}
4236					dataPriv.set( elem, "hasDataAttrs", true );
4237				}
4238			}
4239
4240			return data;
4241		}
4242
4243		// Sets multiple values
4244		if ( typeof key === "object" ) {
4245			return this.each( function() {
4246				dataUser.set( this, key );
4247			} );
4248		}
4249
4250		return access( this, function( value ) {
4251			var data;
4252
4253			// The calling jQuery object (element matches) is not empty
4254			// (and therefore has an element appears at this[ 0 ]) and the
4255			// `value` parameter was not undefined. An empty jQuery object
4256			// will result in `undefined` for elem = this[ 0 ] which will
4257			// throw an exception if an attempt to read a data cache is made.
4258			if ( elem && value === undefined ) {
4259
4260				// Attempt to get data from the cache
4261				// The key will always be camelCased in Data
4262				data = dataUser.get( elem, key );
4263				if ( data !== undefined ) {
4264					return data;
4265				}
4266
4267				// Attempt to "discover" the data in
4268				// HTML5 custom data-* attrs
4269				data = dataAttr( elem, key );
4270				if ( data !== undefined ) {
4271					return data;
4272				}
4273
4274				// We tried really hard, but the data doesn't exist.
4275				return;
4276			}
4277
4278			// Set the data...
4279			this.each( function() {
4280
4281				// We always store the camelCased key
4282				dataUser.set( this, key, value );
4283			} );
4284		}, null, value, arguments.length > 1, null, true );
4285	},
4286
4287	removeData: function( key ) {
4288		return this.each( function() {
4289			dataUser.remove( this, key );
4290		} );
4291	}
4292} );
4293
4294
4295jQuery.extend( {
4296	queue: function( elem, type, data ) {
4297		var queue;
4298
4299		if ( elem ) {
4300			type = ( type || "fx" ) + "queue";
4301			queue = dataPriv.get( elem, type );
4302
4303			// Speed up dequeue by getting out quickly if this is just a lookup
4304			if ( data ) {
4305				if ( !queue || Array.isArray( data ) ) {
4306					queue = dataPriv.access( elem, type, jQuery.makeArray( data ) );
4307				} else {
4308					queue.push( data );
4309				}
4310			}
4311			return queue || [];
4312		}
4313	},
4314
4315	dequeue: function( elem, type ) {
4316		type = type || "fx";
4317
4318		var queue = jQuery.queue( elem, type ),
4319			startLength = queue.length,
4320			fn = queue.shift(),
4321			hooks = jQuery._queueHooks( elem, type ),
4322			next = function() {
4323				jQuery.dequeue( elem, type );
4324			};
4325
4326		// If the fx queue is dequeued, always remove the progress sentinel
4327		if ( fn === "inprogress" ) {
4328			fn = queue.shift();
4329			startLength--;
4330		}
4331
4332		if ( fn ) {
4333
4334			// Add a progress sentinel to prevent the fx queue from being
4335			// automatically dequeued
4336			if ( type === "fx" ) {
4337				queue.unshift( "inprogress" );
4338			}
4339
4340			// Clear up the last queue stop function
4341			delete hooks.stop;
4342			fn.call( elem, next, hooks );
4343		}
4344
4345		if ( !startLength && hooks ) {
4346			hooks.empty.fire();
4347		}
4348	},
4349
4350	// Not public - generate a queueHooks object, or return the current one
4351	_queueHooks: function( elem, type ) {
4352		var key = type + "queueHooks";
4353		return dataPriv.get( elem, key ) || dataPriv.access( elem, key, {
4354			empty: jQuery.Callbacks( "once memory" ).add( function() {
4355				dataPriv.remove( elem, [ type + "queue", key ] );
4356			} )
4357		} );
4358	}
4359} );
4360
4361jQuery.fn.extend( {
4362	queue: function( type, data ) {
4363		var setter = 2;
4364
4365		if ( typeof type !== "string" ) {
4366			data = type;
4367			type = "fx";
4368			setter--;
4369		}
4370
4371		if ( arguments.length < setter ) {
4372			return jQuery.queue( this[ 0 ], type );
4373		}
4374
4375		return data === undefined ?
4376			this :
4377			this.each( function() {
4378				var queue = jQuery.queue( this, type, data );
4379
4380				// Ensure a hooks for this queue
4381				jQuery._queueHooks( this, type );
4382
4383				if ( type === "fx" && queue[ 0 ] !== "inprogress" ) {
4384					jQuery.dequeue( this, type );
4385				}
4386			} );
4387	},
4388	dequeue: function( type ) {
4389		return this.each( function() {
4390			jQuery.dequeue( this, type );
4391		} );
4392	},
4393	clearQueue: function( type ) {
4394		return this.queue( type || "fx", [] );
4395	},
4396
4397	// Get a promise resolved when queues of a certain type
4398	// are emptied (fx is the type by default)
4399	promise: function( type, obj ) {
4400		var tmp,
4401			count = 1,
4402			defer = jQuery.Deferred(),
4403			elements = this,
4404			i = this.length,
4405			resolve = function() {
4406				if ( !( --count ) ) {
4407					defer.resolveWith( elements, [ elements ] );
4408				}
4409			};
4410
4411		if ( typeof type !== "string" ) {
4412			obj = type;
4413			type = undefined;
4414		}
4415		type = type || "fx";
4416
4417		while ( i-- ) {
4418			tmp = dataPriv.get( elements[ i ], type + "queueHooks" );
4419			if ( tmp && tmp.empty ) {
4420				count++;
4421				tmp.empty.add( resolve );
4422			}
4423		}
4424		resolve();
4425		return defer.promise( obj );
4426	}
4427} );
4428var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source;
4429
4430var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );
4431
4432
4433var cssExpand = [ "Top", "Right", "Bottom", "Left" ];
4434
4435var documentElement = document.documentElement;
4436
4437
4438
4439	var isAttached = function( elem ) {
4440			return jQuery.contains( elem.ownerDocument, elem );
4441		},
4442		composed = { composed: true };
4443
4444	// Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only
4445	// Check attachment across shadow DOM boundaries when possible (gh-3504)
4446	// Support: iOS 10.0-10.2 only
4447	// Early iOS 10 versions support `attachShadow` but not `getRootNode`,
4448	// leading to errors. We need to check for `getRootNode`.
4449	if ( documentElement.getRootNode ) {
4450		isAttached = function( elem ) {
4451			return jQuery.contains( elem.ownerDocument, elem ) ||
4452				elem.getRootNode( composed ) === elem.ownerDocument;
4453		};
4454	}
4455var isHiddenWithinTree = function( elem, el ) {
4456
4457		// isHiddenWithinTree might be called from jQuery#filter function;
4458		// in that case, element will be second argument
4459		elem = el || elem;
4460
4461		// Inline style trumps all
4462		return elem.style.display === "none" ||
4463			elem.style.display === "" &&
4464
4465			// Otherwise, check computed style
4466			// Support: Firefox <=43 - 45
4467			// Disconnected elements can have computed display: none, so first confirm that elem is
4468			// in the document.
4469			isAttached( elem ) &&
4470
4471			jQuery.css( elem, "display" ) === "none";
4472	};
4473
4474
4475
4476function adjustCSS( elem, prop, valueParts, tween ) {
4477	var adjusted, scale,
4478		maxIterations = 20,
4479		currentValue = tween ?
4480			function() {
4481				return tween.cur();
4482			} :
4483			function() {
4484				return jQuery.css( elem, prop, "" );
4485			},
4486		initial = currentValue(),
4487		unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),
4488
4489		// Starting value computation is required for potential unit mismatches
4490		initialInUnit = elem.nodeType &&
4491			( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
4492			rcssNum.exec( jQuery.css( elem, prop ) );
4493
4494	if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {
4495
4496		// Support: Firefox <=54
4497		// Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)
4498		initial = initial / 2;
4499
4500		// Trust units reported by jQuery.css
4501		unit = unit || initialInUnit[ 3 ];
4502
4503		// Iteratively approximate from a nonzero starting point
4504		initialInUnit = +initial || 1;
4505
4506		while ( maxIterations-- ) {
4507
4508			// Evaluate and update our best guess (doubling guesses that zero out).
4509			// Finish if the scale equals or crosses 1 (making the old*new product non-positive).
4510			jQuery.style( elem, prop, initialInUnit + unit );
4511			if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) {
4512				maxIterations = 0;
4513			}
4514			initialInUnit = initialInUnit / scale;
4515
4516		}
4517
4518		initialInUnit = initialInUnit * 2;
4519		jQuery.style( elem, prop, initialInUnit + unit );
4520
4521		// Make sure we update the tween properties later on
4522		valueParts = valueParts || [];
4523	}
4524
4525	if ( valueParts ) {
4526		initialInUnit = +initialInUnit || +initial || 0;
4527
4528		// Apply relative offset (+=/-=) if specified
4529		adjusted = valueParts[ 1 ] ?
4530			initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :
4531			+valueParts[ 2 ];
4532		if ( tween ) {
4533			tween.unit = unit;
4534			tween.start = initialInUnit;
4535			tween.end = adjusted;
4536		}
4537	}
4538	return adjusted;
4539}
4540
4541
4542var defaultDisplayMap = {};
4543
4544function getDefaultDisplay( elem ) {
4545	var temp,
4546		doc = elem.ownerDocument,
4547		nodeName = elem.nodeName,
4548		display = defaultDisplayMap[ nodeName ];
4549
4550	if ( display ) {
vendor: 2,317 bytes, lines 4551-4649
4551		return display;
4552	}
4553
4554	temp = doc.body.appendChild( doc.createElement( nodeName ) );
4555	display = jQuery.css( temp, "display" );
4556
4557	temp.parentNode.removeChild( temp );
4558
4559	if ( display === "none" ) {
4560		display = "block";
4561	}
4562	defaultDisplayMap[ nodeName ] = display;
4563
4564	return display;
4565}
4566
4567function showHide( elements, show ) {
4568	var display, elem,
4569		values = [],
4570		index = 0,
4571		length = elements.length;
4572
4573	// Determine new display value for elements that need to change
4574	for ( ; index < length; index++ ) {
4575		elem = elements[ index ];
4576		if ( !elem.style ) {
4577			continue;
4578		}
4579
4580		display = elem.style.display;
4581		if ( show ) {
4582
4583			// Since we force visibility upon cascade-hidden elements, an immediate (and slow)
4584			// check is required in this first loop unless we have a nonempty display value (either
4585			// inline or about-to-be-restored)
4586			if ( display === "none" ) {
4587				values[ index ] = dataPriv.get( elem, "display" ) || null;
4588				if ( !values[ index ] ) {
4589					elem.style.display = "";
4590				}
4591			}
4592			if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) {
4593				values[ index ] = getDefaultDisplay( elem );
4594			}
4595		} else {
4596			if ( display !== "none" ) {
4597				values[ index ] = "none";
4598
4599				// Remember what we're overwriting
4600				dataPriv.set( elem, "display", display );
4601			}
4602		}
4603	}
4604
4605	// Set the display of the elements in a second loop to avoid constant reflow
4606	for ( index = 0; index < length; index++ ) {
4607		if ( values[ index ] != null ) {
4608			elements[ index ].style.display = values[ index ];
4609		}
4610	}
4611
4612	return elements;
4613}
4614
4615jQuery.fn.extend( {
4616	show: function() {
4617		return showHide( this, true );
4618	},
4619	hide: function() {
4620		return showHide( this );
4621	},
4622	toggle: function( state ) {
4623		if ( typeof state === "boolean" ) {
4624			return state ? this.show() : this.hide();
4625		}
4626
4627		return this.each( function() {
4628			if ( isHiddenWithinTree( this ) ) {
4629				jQuery( this ).show();
4630			} else {
4631				jQuery( this ).hide();
4632			}
4633		} );
4634	}
4635} );
4636var rcheckableType = ( /^(?:checkbox|radio)$/i );
4637
4638var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i );
4639
4640var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i );
4641
4642
4643
4644( function() {
4645	var fragment = document.createDocumentFragment(),
4646		div = fragment.appendChild( document.createElement( "div" ) ),
4647		input = document.createElement( "input" );
4648
4649	// Support: Android 4.0 - 4.3 only
vendor: 10,092 bytes, lines 4650-5034
4650	// Check state lost if the name is set (trac-11217)
4651	// Support: Windows Web Apps (WWA)
4652	// `name` and `type` must use .setAttribute for WWA (trac-14901)
4653	input.setAttribute( "type", "radio" );
4654	input.setAttribute( "checked", "checked" );
4655	input.setAttribute( "name", "t" );
4656
4657	div.appendChild( input );
4658
4659	// Support: Android <=4.1 only
4660	// Older WebKit doesn't clone checked state correctly in fragments
4661	support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
4662
4663	// Support: IE <=11 only
4664	// Make sure textarea (and checkbox) defaultValue is properly cloned
4665	div.innerHTML = "<textarea>x</textarea>";
4666	support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
4667
4668	// Support: IE <=9 only
4669	// IE <=9 replaces <option> tags with their contents when inserted outside of
4670	// the select element.
4671	div.innerHTML = "<option></option>";
4672	support.option = !!div.lastChild;
4673} )();
4674
4675
4676// We have to close these tags to support XHTML (trac-13200)
4677var wrapMap = {
4678
4679	// XHTML parsers do not magically insert elements in the
4680	// same way that tag soup parsers do. So we cannot shorten
4681	// this by omitting <tbody> or other required elements.
4682	thead: [ 1, "<table>", "</table>" ],
4683	col: [ 2, "<table><colgroup>", "</colgroup></table>" ],
4684	tr: [ 2, "<table><tbody>", "</tbody></table>" ],
4685	td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
4686
4687	_default: [ 0, "", "" ]
4688};
4689
4690wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
4691wrapMap.th = wrapMap.td;
4692
4693// Support: IE <=9 only
4694if ( !support.option ) {
4695	wrapMap.optgroup = wrapMap.option = [ 1, "<select multiple='multiple'>", "</select>" ];
4696}
4697
4698
4699function getAll( context, tag ) {
4700
4701	// Support: IE <=9 - 11 only
4702	// Use typeof to avoid zero-argument method invocation on host objects (trac-15151)
4703	var ret;
4704
4705	if ( typeof context.getElementsByTagName !== "undefined" ) {
4706		ret = context.getElementsByTagName( tag || "*" );
4707
4708	} else if ( typeof context.querySelectorAll !== "undefined" ) {
4709		ret = context.querySelectorAll( tag || "*" );
4710
4711	} else {
4712		ret = [];
4713	}
4714
4715	if ( tag === undefined || tag && nodeName( context, tag ) ) {
4716		return jQuery.merge( [ context ], ret );
4717	}
4718
4719	return ret;
4720}
4721
4722
4723// Mark scripts as having already been evaluated
4724function setGlobalEval( elems, refElements ) {
4725	var i = 0,
4726		l = elems.length;
4727
4728	for ( ; i < l; i++ ) {
4729		dataPriv.set(
4730			elems[ i ],
4731			"globalEval",
4732			!refElements || dataPriv.get( refElements[ i ], "globalEval" )
4733		);
4734	}
4735}
4736
4737
4738var rhtml = /<|&#?\w+;/;
4739
4740function buildFragment( elems, context, scripts, selection, ignored ) {
4741	var elem, tmp, tag, wrap, attached, j,
4742		fragment = context.createDocumentFragment(),
4743		nodes = [],
4744		i = 0,
4745		l = elems.length;
4746
4747	for ( ; i < l; i++ ) {
4748		elem = elems[ i ];
4749
4750		if ( elem || elem === 0 ) {
4751
4752			// Add nodes directly
4753			if ( toType( elem ) === "object" ) {
4754
4755				// Support: Android <=4.0 only, PhantomJS 1 only
4756				// push.apply(_, arraylike) throws on ancient WebKit
4757				jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );
4758
4759			// Convert non-html into a text node
4760			} else if ( !rhtml.test( elem ) ) {
4761				nodes.push( context.createTextNode( elem ) );
4762
4763			// Convert html into DOM nodes
4764			} else {
4765				tmp = tmp || fragment.appendChild( context.createElement( "div" ) );
4766
4767				// Deserialize a standard representation
4768				tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase();
4769				wrap = wrapMap[ tag ] || wrapMap._default;
4770				tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];
4771
4772				// Descend through wrappers to the right content
4773				j = wrap[ 0 ];
4774				while ( j-- ) {
4775					tmp = tmp.lastChild;
4776				}
4777
4778				// Support: Android <=4.0 only, PhantomJS 1 only
4779				// push.apply(_, arraylike) throws on ancient WebKit
4780				jQuery.merge( nodes, tmp.childNodes );
4781
4782				// Remember the top-level container
4783				tmp = fragment.firstChild;
4784
4785				// Ensure the created nodes are orphaned (trac-12392)
4786				tmp.textContent = "";
4787			}
4788		}
4789	}
4790
4791	// Remove wrapper from fragment
4792	fragment.textContent = "";
4793
4794	i = 0;
4795	while ( ( elem = nodes[ i++ ] ) ) {
4796
4797		// Skip elements already in the context collection (trac-4087)
4798		if ( selection && jQuery.inArray( elem, selection ) > -1 ) {
4799			if ( ignored ) {
4800				ignored.push( elem );
4801			}
4802			continue;
4803		}
4804
4805		attached = isAttached( elem );
4806
4807		// Append to fragment
4808		tmp = getAll( fragment.appendChild( elem ), "script" );
4809
4810		// Preserve script evaluation history
4811		if ( attached ) {
4812			setGlobalEval( tmp );
4813		}
4814
4815		// Capture executables
4816		if ( scripts ) {
4817			j = 0;
4818			while ( ( elem = tmp[ j++ ] ) ) {
4819				if ( rscriptType.test( elem.type || "" ) ) {
4820					scripts.push( elem );
4821				}
4822			}
4823		}
4824	}
4825
4826	return fragment;
4827}
4828
4829
4830var rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
4831
4832function returnTrue() {
4833	return true;
4834}
4835
4836function returnFalse() {
4837	return false;
4838}
4839
4840function on( elem, types, selector, data, fn, one ) {
4841	var origFn, type;
4842
4843	// Types can be a map of types/handlers
4844	if ( typeof types === "object" ) {
4845
4846		// ( types-Object, selector, data )
4847		if ( typeof selector !== "string" ) {
4848
4849			// ( types-Object, data )
4850			data = data || selector;
4851			selector = undefined;
4852		}
4853		for ( type in types ) {
4854			on( elem, type, selector, data, types[ type ], one );
4855		}
4856		return elem;
4857	}
4858
4859	if ( data == null && fn == null ) {
4860
4861		// ( types, fn )
4862		fn = selector;
4863		data = selector = undefined;
4864	} else if ( fn == null ) {
4865		if ( typeof selector === "string" ) {
4866
4867			// ( types, selector, fn )
4868			fn = data;
4869			data = undefined;
4870		} else {
4871
4872			// ( types, data, fn )
4873			fn = data;
4874			data = selector;
4875			selector = undefined;
4876		}
4877	}
4878	if ( fn === false ) {
4879		fn = returnFalse;
4880	} else if ( !fn ) {
4881		return elem;
4882	}
4883
4884	if ( one === 1 ) {
4885		origFn = fn;
4886		fn = function( event ) {
4887
4888			// Can use an empty set, since event contains the info
4889			jQuery().off( event );
4890			return origFn.apply( this, arguments );
4891		};
4892
4893		// Use same guid so caller can remove using origFn
4894		fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
4895	}
4896	return elem.each( function() {
4897		jQuery.event.add( this, types, fn, data, selector );
4898	} );
4899}
4900
4901/*
4902 * Helper functions for managing events -- not part of the public interface.
4903 * Props to Dean Edwards' addEvent library for many of the ideas.
4904 */
4905jQuery.event = {
4906
4907	global: {},
4908
4909	add: function( elem, types, handler, data, selector ) {
4910
4911		var handleObjIn, eventHandle, tmp,
4912			events, t, handleObj,
4913			special, handlers, type, namespaces, origType,
4914			elemData = dataPriv.get( elem );
4915
4916		// Only attach events to objects that accept data
4917		if ( !acceptData( elem ) ) {
4918			return;
4919		}
4920
4921		// Caller can pass in an object of custom data in lieu of the handler
4922		if ( handler.handler ) {
4923			handleObjIn = handler;
4924			handler = handleObjIn.handler;
4925			selector = handleObjIn.selector;
4926		}
4927
4928		// Ensure that invalid selectors throw exceptions at attach time
4929		// Evaluate against documentElement in case elem is a non-element node (e.g., document)
4930		if ( selector ) {
4931			jQuery.find.matchesSelector( documentElement, selector );
4932		}
4933
4934		// Make sure that the handler has a unique ID, used to find/remove it later
4935		if ( !handler.guid ) {
4936			handler.guid = jQuery.guid++;
4937		}
4938
4939		// Init the element's event structure and main handler, if this is the first
4940		if ( !( events = elemData.events ) ) {
4941			events = elemData.events = Object.create( null );
4942		}
4943		if ( !( eventHandle = elemData.handle ) ) {
4944			eventHandle = elemData.handle = function( e ) {
4945
4946				// Discard the second event of a jQuery.event.trigger() and
4947				// when an event is called after a page has unloaded
4948				return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ?
4949					jQuery.event.dispatch.apply( elem, arguments ) : undefined;
4950			};
4951		}
4952
4953		// Handle multiple events separated by a space
4954		types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
4955		t = types.length;
4956		while ( t-- ) {
4957			tmp = rtypenamespace.exec( types[ t ] ) || [];
4958			type = origType = tmp[ 1 ];
4959			namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
4960
4961			// There *must* be a type, no attaching namespace-only handlers
4962			if ( !type ) {
4963				continue;
4964			}
4965
4966			// If event changes its type, use the special event handlers for the changed type
4967			special = jQuery.event.special[ type ] || {};
4968
4969			// If selector defined, determine special event api type, otherwise given type
4970			type = ( selector ? special.delegateType : special.bindType ) || type;
4971
4972			// Update special based on newly reset type
4973			special = jQuery.event.special[ type ] || {};
4974
4975			// handleObj is passed to all event handlers
4976			handleObj = jQuery.extend( {
4977				type: type,
4978				origType: origType,
4979				data: data,
4980				handler: handler,
4981				guid: handler.guid,
4982				selector: selector,
4983				needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
4984				namespace: namespaces.join( "." )
4985			}, handleObjIn );
4986
4987			// Init the event handler queue if we're the first
4988			if ( !( handlers = events[ type ] ) ) {
4989				handlers = events[ type ] = [];
4990				handlers.delegateCount = 0;
4991
4992				// Only use addEventListener if the special events handler returns false
4993				if ( !special.setup ||
4994					special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
4995
4996					if ( elem.addEventListener ) {
4997						elem.addEventListener( type, eventHandle );
4998					}
4999				}
5000			}
5001
5002			if ( special.add ) {
5003				special.add.call( elem, handleObj );
5004
5005				if ( !handleObj.handler.guid ) {
5006					handleObj.handler.guid = handler.guid;
5007				}
5008			}
5009
5010			// Add to the element's handler list, delegates in front
5011			if ( selector ) {
5012				handlers.splice( handlers.delegateCount++, 0, handleObj );
5013			} else {
5014				handlers.push( handleObj );
5015			}
5016
5017			// Keep track of which events have ever been used, for event optimization
5018			jQuery.event.global[ type ] = true;
5019		}
5020
5021	},
5022
5023	// Detach an event or set of events from an element
5024	remove: function( elem, types, handler, selector, mappedTypes ) {
5025
5026		var j, origCount, tmp,
5027			events, t, handleObj,
5028			special, handlers, type, namespaces, origType,
5029			elemData = dataPriv.hasData( elem ) && dataPriv.get( elem );
5030
5031		if ( !elemData || !( events = elemData.events ) ) {
5032			return;
5033		}
5034
vendor: 4,197 bytes, lines 5035-5173
5035		// Once for each type.namespace in types; type may be omitted
5036		types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
5037		t = types.length;
5038		while ( t-- ) {
5039			tmp = rtypenamespace.exec( types[ t ] ) || [];
5040			type = origType = tmp[ 1 ];
5041			namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
5042
5043			// Unbind all events (on this namespace, if provided) for the element
5044			if ( !type ) {
5045				for ( type in events ) {
5046					jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
5047				}
5048				continue;
5049			}
5050
5051			special = jQuery.event.special[ type ] || {};
5052			type = ( selector ? special.delegateType : special.bindType ) || type;
5053			handlers = events[ type ] || [];
5054			tmp = tmp[ 2 ] &&
5055				new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" );
5056
5057			// Remove matching events
5058			origCount = j = handlers.length;
5059			while ( j-- ) {
5060				handleObj = handlers[ j ];
5061
5062				if ( ( mappedTypes || origType === handleObj.origType ) &&
5063					( !handler || handler.guid === handleObj.guid ) &&
5064					( !tmp || tmp.test( handleObj.namespace ) ) &&
5065					( !selector || selector === handleObj.selector ||
5066						selector === "**" && handleObj.selector ) ) {
5067					handlers.splice( j, 1 );
5068
5069					if ( handleObj.selector ) {
5070						handlers.delegateCount--;
5071					}
5072					if ( special.remove ) {
5073						special.remove.call( elem, handleObj );
5074					}
5075				}
5076			}
5077
5078			// Remove generic event handler if we removed something and no more handlers exist
5079			// (avoids potential for endless recursion during removal of special event handlers)
5080			if ( origCount && !handlers.length ) {
5081				if ( !special.teardown ||
5082					special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
5083
5084					jQuery.removeEvent( elem, type, elemData.handle );
5085				}
5086
5087				delete events[ type ];
5088			}
5089		}
5090
5091		// Remove data and the expando if it's no longer used
5092		if ( jQuery.isEmptyObject( events ) ) {
5093			dataPriv.remove( elem, "handle events" );
5094		}
5095	},
5096
5097	dispatch: function( nativeEvent ) {
5098
5099		var i, j, ret, matched, handleObj, handlerQueue,
5100			args = new Array( arguments.length ),
5101
5102			// Make a writable jQuery.Event from the native event object
5103			event = jQuery.event.fix( nativeEvent ),
5104
5105			handlers = (
5106				dataPriv.get( this, "events" ) || Object.create( null )
5107			)[ event.type ] || [],
5108			special = jQuery.event.special[ event.type ] || {};
5109
5110		// Use the fix-ed jQuery.Event rather than the (read-only) native event
5111		args[ 0 ] = event;
5112
5113		for ( i = 1; i < arguments.length; i++ ) {
5114			args[ i ] = arguments[ i ];
5115		}
5116
5117		event.delegateTarget = this;
5118
5119		// Call the preDispatch hook for the mapped type, and let it bail if desired
5120		if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
5121			return;
5122		}
5123
5124		// Determine handlers
5125		handlerQueue = jQuery.event.handlers.call( this, event, handlers );
5126
5127		// Run delegates first; they may want to stop propagation beneath us
5128		i = 0;
5129		while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {
5130			event.currentTarget = matched.elem;
5131
5132			j = 0;
5133			while ( ( handleObj = matched.handlers[ j++ ] ) &&
5134				!event.isImmediatePropagationStopped() ) {
5135
5136				// If the event is namespaced, then each handler is only invoked if it is
5137				// specially universal or its namespaces are a superset of the event's.
5138				if ( !event.rnamespace || handleObj.namespace === false ||
5139					event.rnamespace.test( handleObj.namespace ) ) {
5140
5141					event.handleObj = handleObj;
5142					event.data = handleObj.data;
5143
5144					ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||
5145						handleObj.handler ).apply( matched.elem, args );
5146
5147					if ( ret !== undefined ) {
5148						if ( ( event.result = ret ) === false ) {
5149							event.preventDefault();
5150							event.stopPropagation();
5151						}
5152					}
5153				}
5154			}
5155		}
5156
5157		// Call the postDispatch hook for the mapped type
5158		if ( special.postDispatch ) {
5159			special.postDispatch.call( this, event );
5160		}
5161
5162		return event.result;
5163	},
5164
5165	handlers: function( event, handlers ) {
5166		var i, handleObj, sel, matchedHandlers, matchedSelectors,
5167			handlerQueue = [],
5168			delegateCount = handlers.delegateCount,
5169			cur = event.target;
5170
5171		// Find delegate handlers
5172		if ( delegateCount &&
5173
vendor: 19,034 bytes, lines 5174-5820
5174			// Support: IE <=9
5175			// Black-hole SVG <use> instance trees (trac-13180)
5176			cur.nodeType &&
5177
5178			// Support: Firefox <=42
5179			// Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)
5180			// https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click
5181			// Support: IE 11 only
5182			// ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343)
5183			!( event.type === "click" && event.button >= 1 ) ) {
5184
5185			for ( ; cur !== this; cur = cur.parentNode || this ) {
5186
5187				// Don't check non-elements (trac-13208)
5188				// Don't process clicks on disabled elements (trac-6911, trac-8165, trac-11382, trac-11764)
5189				if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) {
5190					matchedHandlers = [];
5191					matchedSelectors = {};
5192					for ( i = 0; i < delegateCount; i++ ) {
5193						handleObj = handlers[ i ];
5194
5195						// Don't conflict with Object.prototype properties (trac-13203)
5196						sel = handleObj.selector + " ";
5197
5198						if ( matchedSelectors[ sel ] === undefined ) {
5199							matchedSelectors[ sel ] = handleObj.needsContext ?
5200								jQuery( sel, this ).index( cur ) > -1 :
5201								jQuery.find( sel, this, null, [ cur ] ).length;
5202						}
5203						if ( matchedSelectors[ sel ] ) {
5204							matchedHandlers.push( handleObj );
5205						}
5206					}
5207					if ( matchedHandlers.length ) {
5208						handlerQueue.push( { elem: cur, handlers: matchedHandlers } );
5209					}
5210				}
5211			}
5212		}
5213
5214		// Add the remaining (directly-bound) handlers
5215		cur = this;
5216		if ( delegateCount < handlers.length ) {
5217			handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );
5218		}
5219
5220		return handlerQueue;
5221	},
5222
5223	addProp: function( name, hook ) {
5224		Object.defineProperty( jQuery.Event.prototype, name, {
5225			enumerable: true,
5226			configurable: true,
5227
5228			get: isFunction( hook ) ?
5229				function() {
5230					if ( this.originalEvent ) {
5231						return hook( this.originalEvent );
5232					}
5233				} :
5234				function() {
5235					if ( this.originalEvent ) {
5236						return this.originalEvent[ name ];
5237					}
5238				},
5239
5240			set: function( value ) {
5241				Object.defineProperty( this, name, {
5242					enumerable: true,
5243					configurable: true,
5244					writable: true,
5245					value: value
5246				} );
5247			}
5248		} );
5249	},
5250
5251	fix: function( originalEvent ) {
5252		return originalEvent[ jQuery.expando ] ?
5253			originalEvent :
5254			new jQuery.Event( originalEvent );
5255	},
5256
5257	special: {
5258		load: {
5259
5260			// Prevent triggered image.load events from bubbling to window.load
5261			noBubble: true
5262		},
5263		click: {
5264
5265			// Utilize native event to ensure correct state for checkable inputs
5266			setup: function( data ) {
5267
5268				// For mutual compressibility with _default, replace `this` access with a local var.
5269				// `|| data` is dead code meant only to preserve the variable through minification.
5270				var el = this || data;
5271
5272				// Claim the first handler
5273				if ( rcheckableType.test( el.type ) &&
5274					el.click && nodeName( el, "input" ) ) {
5275
5276					// dataPriv.set( el, "click", ... )
5277					leverageNative( el, "click", true );
5278				}
5279
5280				// Return false to allow normal processing in the caller
5281				return false;
5282			},
5283			trigger: function( data ) {
5284
5285				// For mutual compressibility with _default, replace `this` access with a local var.
5286				// `|| data` is dead code meant only to preserve the variable through minification.
5287				var el = this || data;
5288
5289				// Force setup before triggering a click
5290				if ( rcheckableType.test( el.type ) &&
5291					el.click && nodeName( el, "input" ) ) {
5292
5293					leverageNative( el, "click" );
5294				}
5295
5296				// Return non-false to allow normal event-path propagation
5297				return true;
5298			},
5299
5300			// For cross-browser consistency, suppress native .click() on links
5301			// Also prevent it if we're currently inside a leveraged native-event stack
5302			_default: function( event ) {
5303				var target = event.target;
5304				return rcheckableType.test( target.type ) &&
5305					target.click && nodeName( target, "input" ) &&
5306					dataPriv.get( target, "click" ) ||
5307					nodeName( target, "a" );
5308			}
5309		},
5310
5311		beforeunload: {
5312			postDispatch: function( event ) {
5313
5314				// Support: Firefox 20+
5315				// Firefox doesn't alert if the returnValue field is not set.
5316				if ( event.result !== undefined && event.originalEvent ) {
5317					event.originalEvent.returnValue = event.result;
5318				}
5319			}
5320		}
5321	}
5322};
5323
5324// Ensure the presence of an event listener that handles manually-triggered
5325// synthetic events by interrupting progress until reinvoked in response to
5326// *native* events that it fires directly, ensuring that state changes have
5327// already occurred before other listeners are invoked.
5328function leverageNative( el, type, isSetup ) {
5329
5330	// Missing `isSetup` indicates a trigger call, which must force setup through jQuery.event.add
5331	if ( !isSetup ) {
5332		if ( dataPriv.get( el, type ) === undefined ) {
5333			jQuery.event.add( el, type, returnTrue );
5334		}
5335		return;
5336	}
5337
5338	// Register the controller as a special universal handler for all event namespaces
5339	dataPriv.set( el, type, false );
5340	jQuery.event.add( el, type, {
5341		namespace: false,
5342		handler: function( event ) {
5343			var result,
5344				saved = dataPriv.get( this, type );
5345
5346			if ( ( event.isTrigger & 1 ) && this[ type ] ) {
5347
5348				// Interrupt processing of the outer synthetic .trigger()ed event
5349				if ( !saved ) {
5350
5351					// Store arguments for use when handling the inner native event
5352					// There will always be at least one argument (an event object), so this array
5353					// will not be confused with a leftover capture object.
5354					saved = slice.call( arguments );
5355					dataPriv.set( this, type, saved );
5356
5357					// Trigger the native event and capture its result
5358					this[ type ]();
5359					result = dataPriv.get( this, type );
5360					dataPriv.set( this, type, false );
5361
5362					if ( saved !== result ) {
5363
5364						// Cancel the outer synthetic event
5365						event.stopImmediatePropagation();
5366						event.preventDefault();
5367
5368						return result;
5369					}
5370
5371				// If this is an inner synthetic event for an event with a bubbling surrogate
5372				// (focus or blur), assume that the surrogate already propagated from triggering
5373				// the native event and prevent that from happening again here.
5374				// This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the
5375				// bubbling surrogate propagates *after* the non-bubbling base), but that seems
5376				// less bad than duplication.
5377				} else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {
5378					event.stopPropagation();
5379				}
5380
5381			// If this is a native event triggered above, everything is now in order
5382			// Fire an inner synthetic event with the original arguments
5383			} else if ( saved ) {
5384
5385				// ...and capture the result
5386				dataPriv.set( this, type, jQuery.event.trigger(
5387					saved[ 0 ],
5388					saved.slice( 1 ),
5389					this
5390				) );
5391
5392				// Abort handling of the native event by all jQuery handlers while allowing
5393				// native handlers on the same element to run. On target, this is achieved
5394				// by stopping immediate propagation just on the jQuery event. However,
5395				// the native event is re-wrapped by a jQuery one on each level of the
5396				// propagation so the only way to stop it for jQuery is to stop it for
5397				// everyone via native `stopPropagation()`. This is not a problem for
5398				// focus/blur which don't bubble, but it does also stop click on checkboxes
5399				// and radios. We accept this limitation.
5400				event.stopPropagation();
5401				event.isImmediatePropagationStopped = returnTrue;
5402			}
5403		}
5404	} );
5405}
5406
5407jQuery.removeEvent = function( elem, type, handle ) {
5408
5409	// This "if" is needed for plain objects
5410	if ( elem.removeEventListener ) {
5411		elem.removeEventListener( type, handle );
5412	}
5413};
5414
5415jQuery.Event = function( src, props ) {
5416
5417	// Allow instantiation without the 'new' keyword
5418	if ( !( this instanceof jQuery.Event ) ) {
5419		return new jQuery.Event( src, props );
5420	}
5421
5422	// Event object
5423	if ( src && src.type ) {
5424		this.originalEvent = src;
5425		this.type = src.type;
5426
5427		// Events bubbling up the document may have been marked as prevented
5428		// by a handler lower down the tree; reflect the correct value.
5429		this.isDefaultPrevented = src.defaultPrevented ||
5430				src.defaultPrevented === undefined &&
5431
5432				// Support: Android <=2.3 only
5433				src.returnValue === false ?
5434			returnTrue :
5435			returnFalse;
5436
5437		// Create target properties
5438		// Support: Safari <=6 - 7 only
5439		// Target should not be a text node (trac-504, trac-13143)
5440		this.target = ( src.target && src.target.nodeType === 3 ) ?
5441			src.target.parentNode :
5442			src.target;
5443
5444		this.currentTarget = src.currentTarget;
5445		this.relatedTarget = src.relatedTarget;
5446
5447	// Event type
5448	} else {
5449		this.type = src;
5450	}
5451
5452	// Put explicitly provided properties onto the event object
5453	if ( props ) {
5454		jQuery.extend( this, props );
5455	}
5456
5457	// Create a timestamp if incoming event doesn't have one
5458	this.timeStamp = src && src.timeStamp || Date.now();
5459
5460	// Mark it as fixed
5461	this[ jQuery.expando ] = true;
5462};
5463
5464// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
5465// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
5466jQuery.Event.prototype = {
5467	constructor: jQuery.Event,
5468	isDefaultPrevented: returnFalse,
5469	isPropagationStopped: returnFalse,
5470	isImmediatePropagationStopped: returnFalse,
5471	isSimulated: false,
5472
5473	preventDefault: function() {
5474		var e = this.originalEvent;
5475
5476		this.isDefaultPrevented = returnTrue;
5477
5478		if ( e && !this.isSimulated ) {
5479			e.preventDefault();
5480		}
5481	},
5482	stopPropagation: function() {
5483		var e = this.originalEvent;
5484
5485		this.isPropagationStopped = returnTrue;
5486
5487		if ( e && !this.isSimulated ) {
5488			e.stopPropagation();
5489		}
5490	},
5491	stopImmediatePropagation: function() {
5492		var e = this.originalEvent;
5493
5494		this.isImmediatePropagationStopped = returnTrue;
5495
5496		if ( e && !this.isSimulated ) {
5497			e.stopImmediatePropagation();
5498		}
5499
5500		this.stopPropagation();
5501	}
5502};
5503
5504// Includes all common event props including KeyEvent and MouseEvent specific props
5505jQuery.each( {
5506	altKey: true,
5507	bubbles: true,
5508	cancelable: true,
5509	changedTouches: true,
5510	ctrlKey: true,
5511	detail: true,
5512	eventPhase: true,
5513	metaKey: true,
5514	pageX: true,
5515	pageY: true,
5516	shiftKey: true,
5517	view: true,
5518	"char": true,
5519	code: true,
5520	charCode: true,
5521	key: true,
5522	keyCode: true,
5523	button: true,
5524	buttons: true,
5525	clientX: true,
5526	clientY: true,
5527	offsetX: true,
5528	offsetY: true,
5529	pointerId: true,
5530	pointerType: true,
5531	screenX: true,
5532	screenY: true,
5533	targetTouches: true,
5534	toElement: true,
5535	touches: true,
5536	which: true
5537}, jQuery.event.addProp );
5538
5539jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) {
5540
5541	function focusMappedHandler( nativeEvent ) {
5542		if ( document.documentMode ) {
5543
5544			// Support: IE 11+
5545			// Attach a single focusin/focusout handler on the document while someone wants
5546			// focus/blur. This is because the former are synchronous in IE while the latter
5547			// are async. In other browsers, all those handlers are invoked synchronously.
5548
5549			// `handle` from private data would already wrap the event, but we need
5550			// to change the `type` here.
5551			var handle = dataPriv.get( this, "handle" ),
5552				event = jQuery.event.fix( nativeEvent );
5553			event.type = nativeEvent.type === "focusin" ? "focus" : "blur";
5554			event.isSimulated = true;
5555
5556			// First, handle focusin/focusout
5557			handle( nativeEvent );
5558
5559			// ...then, handle focus/blur
5560			//
5561			// focus/blur don't bubble while focusin/focusout do; simulate the former by only
5562			// invoking the handler at the lower level.
5563			if ( event.target === event.currentTarget ) {
5564
5565				// The setup part calls `leverageNative`, which, in turn, calls
5566				// `jQuery.event.add`, so event handle will already have been set
5567				// by this point.
5568				handle( event );
5569			}
5570		} else {
5571
5572			// For non-IE browsers, attach a single capturing handler on the document
5573			// while someone wants focusin/focusout.
5574			jQuery.event.simulate( delegateType, nativeEvent.target,
5575				jQuery.event.fix( nativeEvent ) );
5576		}
5577	}
5578
5579	jQuery.event.special[ type ] = {
5580
5581		// Utilize native event if possible so blur/focus sequence is correct
5582		setup: function() {
5583
5584			var attaches;
5585
5586			// Claim the first handler
5587			// dataPriv.set( this, "focus", ... )
5588			// dataPriv.set( this, "blur", ... )
5589			leverageNative( this, type, true );
5590
5591			if ( document.documentMode ) {
5592
5593				// Support: IE 9 - 11+
5594				// We use the same native handler for focusin & focus (and focusout & blur)
5595				// so we need to coordinate setup & teardown parts between those events.
5596				// Use `delegateType` as the key as `type` is already used by `leverageNative`.
5597				attaches = dataPriv.get( this, delegateType );
5598				if ( !attaches ) {
5599					this.addEventListener( delegateType, focusMappedHandler );
5600				}
5601				dataPriv.set( this, delegateType, ( attaches || 0 ) + 1 );
5602			} else {
5603
5604				// Return false to allow normal processing in the caller
5605				return false;
5606			}
5607		},
5608		trigger: function() {
5609
5610			// Force setup before trigger
5611			leverageNative( this, type );
5612
5613			// Return non-false to allow normal event-path propagation
5614			return true;
5615		},
5616
5617		teardown: function() {
5618			var attaches;
5619
5620			if ( document.documentMode ) {
5621				attaches = dataPriv.get( this, delegateType ) - 1;
5622				if ( !attaches ) {
5623					this.removeEventListener( delegateType, focusMappedHandler );
5624					dataPriv.remove( this, delegateType );
5625				} else {
5626					dataPriv.set( this, delegateType, attaches );
5627				}
5628			} else {
5629
5630				// Return false to indicate standard teardown should be applied
5631				return false;
5632			}
5633		},
5634
5635		// Suppress native focus or blur if we're currently inside
5636		// a leveraged native-event stack
5637		_default: function( event ) {
5638			return dataPriv.get( event.target, type );
5639		},
5640
5641		delegateType: delegateType
5642	};
5643
5644	// Support: Firefox <=44
5645	// Firefox doesn't have focus(in | out) events
5646	// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
5647	//
5648	// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1
5649	// focus(in | out) events fire after focus & blur events,
5650	// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
5651	// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857
5652	//
5653	// Support: IE 9 - 11+
5654	// To preserve relative focusin/focus & focusout/blur event order guaranteed on the 3.x branch,
5655	// attach a single handler for both events in IE.
5656	jQuery.event.special[ delegateType ] = {
5657		setup: function() {
5658
5659			// Handle: regular nodes (via `this.ownerDocument`), window
5660			// (via `this.document`) & document (via `this`).
5661			var doc = this.ownerDocument || this.document || this,
5662				dataHolder = document.documentMode ? this : doc,
5663				attaches = dataPriv.get( dataHolder, delegateType );
5664
5665			// Support: IE 9 - 11+
5666			// We use the same native handler for focusin & focus (and focusout & blur)
5667			// so we need to coordinate setup & teardown parts between those events.
5668			// Use `delegateType` as the key as `type` is already used by `leverageNative`.
5669			if ( !attaches ) {
5670				if ( document.documentMode ) {
5671					this.addEventListener( delegateType, focusMappedHandler );
5672				} else {
5673					doc.addEventListener( type, focusMappedHandler, true );
5674				}
5675			}
5676			dataPriv.set( dataHolder, delegateType, ( attaches || 0 ) + 1 );
5677		},
5678		teardown: function() {
5679			var doc = this.ownerDocument || this.document || this,
5680				dataHolder = document.documentMode ? this : doc,
5681				attaches = dataPriv.get( dataHolder, delegateType ) - 1;
5682
5683			if ( !attaches ) {
5684				if ( document.documentMode ) {
5685					this.removeEventListener( delegateType, focusMappedHandler );
5686				} else {
5687					doc.removeEventListener( type, focusMappedHandler, true );
5688				}
5689				dataPriv.remove( dataHolder, delegateType );
5690			} else {
5691				dataPriv.set( dataHolder, delegateType, attaches );
5692			}
5693		}
5694	};
5695} );
5696
5697// Create mouseenter/leave events using mouseover/out and event-time checks
5698// so that event delegation works in jQuery.
5699// Do the same for pointerenter/pointerleave and pointerover/pointerout
5700//
5701// Support: Safari 7 only
5702// Safari sends mouseenter too often; see:
5703// https://bugs.chromium.org/p/chromium/issues/detail?id=470258
5704// for the description of the bug (it existed in older Chrome versions as well).
5705jQuery.each( {
5706	mouseenter: "mouseover",
5707	mouseleave: "mouseout",
5708	pointerenter: "pointerover",
5709	pointerleave: "pointerout"
5710}, function( orig, fix ) {
5711	jQuery.event.special[ orig ] = {
5712		delegateType: fix,
5713		bindType: fix,
5714
5715		handle: function( event ) {
5716			var ret,
5717				target = this,
5718				related = event.relatedTarget,
5719				handleObj = event.handleObj;
5720
5721			// For mouseenter/leave call the handler if related is outside the target.
5722			// NB: No relatedTarget if the mouse left/entered the browser window
5723			if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {
5724				event.type = handleObj.origType;
5725				ret = handleObj.handler.apply( this, arguments );
5726				event.type = fix;
5727			}
5728			return ret;
5729		}
5730	};
5731} );
5732
5733jQuery.fn.extend( {
5734
5735	on: function( types, selector, data, fn ) {
5736		return on( this, types, selector, data, fn );
5737	},
5738	one: function( types, selector, data, fn ) {
5739		return on( this, types, selector, data, fn, 1 );
5740	},
5741	off: function( types, selector, fn ) {
5742		var handleObj, type;
5743		if ( types && types.preventDefault && types.handleObj ) {
5744
5745			// ( event )  dispatched jQuery.Event
5746			handleObj = types.handleObj;
5747			jQuery( types.delegateTarget ).off(
5748				handleObj.namespace ?
5749					handleObj.origType + "." + handleObj.namespace :
5750					handleObj.origType,
5751				handleObj.selector,
5752				handleObj.handler
5753			);
5754			return this;
5755		}
5756		if ( typeof types === "object" ) {
5757
5758			// ( types-object [, selector] )
5759			for ( type in types ) {
5760				this.off( type, selector, types[ type ] );
5761			}
5762			return this;
5763		}
5764		if ( selector === false || typeof selector === "function" ) {
5765
5766			// ( types [, fn] )
5767			fn = selector;
5768			selector = undefined;
5769		}
5770		if ( fn === false ) {
5771			fn = returnFalse;
5772		}
5773		return this.each( function() {
5774			jQuery.event.remove( this, types, fn, selector );
5775		} );
5776	}
5777} );
5778
5779
5780var
5781
5782	// Support: IE <=10 - 11, Edge 12 - 13 only
5783	// In IE/Edge using regex groups here causes severe slowdowns.
5784	// See https://connect.microsoft.com/IE/feedback/details/1736512/
5785	rnoInnerhtml = /<script|<style|<link/i,
5786
5787	// checked="checked" or checked
5788	rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
5789
5790	rcleanScript = /^\s*<!\[CDATA\[|\]\]>\s*$/g;
5791
5792// Prefer a tbody over its parent table for containing new rows
5793function manipulationTarget( elem, content ) {
5794	if ( nodeName( elem, "table" ) &&
5795		nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) {
5796
5797		return jQuery( elem ).children( "tbody" )[ 0 ] || elem;
5798	}
5799
5800	return elem;
5801}
5802
5803// Replace/restore the type attribute of script elements for safe DOM manipulation
5804function disableScript( elem ) {
5805	elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type;
5806	return elem;
5807}
5808function restoreScript( elem ) {
5809	if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) {
5810		elem.type = elem.type.slice( 5 );
5811	} else {
5812		elem.removeAttribute( "type" );
5813	}
5814
5815	return elem;
5816}
5817
5818function cloneCopyEvent( src, dest ) {
5819	var i, l, type, pdataOld, udataOld, udataCur, events;
5820
vendor: 6,382 bytes, lines 5821-6050
5821	if ( dest.nodeType !== 1 ) {
5822		return;
5823	}
5824
5825	// 1. Copy private data: events, handlers, etc.
5826	if ( dataPriv.hasData( src ) ) {
5827		pdataOld = dataPriv.get( src );
5828		events = pdataOld.events;
5829
5830		if ( events ) {
5831			dataPriv.remove( dest, "handle events" );
5832
5833			for ( type in events ) {
5834				for ( i = 0, l = events[ type ].length; i < l; i++ ) {
5835					jQuery.event.add( dest, type, events[ type ][ i ] );
5836				}
5837			}
5838		}
5839	}
5840
5841	// 2. Copy user data
5842	if ( dataUser.hasData( src ) ) {
5843		udataOld = dataUser.access( src );
5844		udataCur = jQuery.extend( {}, udataOld );
5845
5846		dataUser.set( dest, udataCur );
5847	}
5848}
5849
5850// Fix IE bugs, see support tests
5851function fixInput( src, dest ) {
5852	var nodeName = dest.nodeName.toLowerCase();
5853
5854	// Fails to persist the checked state of a cloned checkbox or radio button.
5855	if ( nodeName === "input" && rcheckableType.test( src.type ) ) {
5856		dest.checked = src.checked;
5857
5858	// Fails to return the selected option to the default selected state when cloning options
5859	} else if ( nodeName === "input" || nodeName === "textarea" ) {
5860		dest.defaultValue = src.defaultValue;
5861	}
5862}
5863
5864function domManip( collection, args, callback, ignored ) {
5865
5866	// Flatten any nested arrays
5867	args = flat( args );
5868
5869	var fragment, first, scripts, hasScripts, node, doc,
5870		i = 0,
5871		l = collection.length,
5872		iNoClone = l - 1,
5873		value = args[ 0 ],
5874		valueIsFunction = isFunction( value );
5875
5876	// We can't cloneNode fragments that contain checked, in WebKit
5877	if ( valueIsFunction ||
5878			( l > 1 && typeof value === "string" &&
5879				!support.checkClone && rchecked.test( value ) ) ) {
5880		return collection.each( function( index ) {
5881			var self = collection.eq( index );
5882			if ( valueIsFunction ) {
5883				args[ 0 ] = value.call( this, index, self.html() );
5884			}
5885			domManip( self, args, callback, ignored );
5886		} );
5887	}
5888
5889	if ( l ) {
5890		fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );
5891		first = fragment.firstChild;
5892
5893		if ( fragment.childNodes.length === 1 ) {
5894			fragment = first;
5895		}
5896
5897		// Require either new content or an interest in ignored elements to invoke the callback
5898		if ( first || ignored ) {
5899			scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
5900			hasScripts = scripts.length;
5901
5902			// Use the original fragment for the last item
5903			// instead of the first because it can end up
5904			// being emptied incorrectly in certain situations (trac-8070).
5905			for ( ; i < l; i++ ) {
5906				node = fragment;
5907
5908				if ( i !== iNoClone ) {
5909					node = jQuery.clone( node, true, true );
5910
5911					// Keep references to cloned scripts for later restoration
5912					if ( hasScripts ) {
5913
5914						// Support: Android <=4.0 only, PhantomJS 1 only
5915						// push.apply(_, arraylike) throws on ancient WebKit
5916						jQuery.merge( scripts, getAll( node, "script" ) );
5917					}
5918				}
5919
5920				callback.call( collection[ i ], node, i );
5921			}
5922
5923			if ( hasScripts ) {
5924				doc = scripts[ scripts.length - 1 ].ownerDocument;
5925
5926				// Re-enable scripts
5927				jQuery.map( scripts, restoreScript );
5928
5929				// Evaluate executable scripts on first document insertion
5930				for ( i = 0; i < hasScripts; i++ ) {
5931					node = scripts[ i ];
5932					if ( rscriptType.test( node.type || "" ) &&
5933						!dataPriv.access( node, "globalEval" ) &&
5934						jQuery.contains( doc, node ) ) {
5935
5936						if ( node.src && ( node.type || "" ).toLowerCase()  !== "module" ) {
5937
5938							// Optional AJAX dependency, but won't run scripts if not present
5939							if ( jQuery._evalUrl && !node.noModule ) {
5940								jQuery._evalUrl( node.src, {
5941									nonce: node.nonce || node.getAttribute( "nonce" )
5942								}, doc );
5943							}
5944						} else {
5945
5946							// Unwrap a CDATA section containing script contents. This shouldn't be
5947							// needed as in XML documents they're already not visible when
5948							// inspecting element contents and in HTML documents they have no
5949							// meaning but we're preserving that logic for backwards compatibility.
5950							// This will be removed completely in 4.0. See gh-4904.
5951							DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc );
5952						}
5953					}
5954				}
5955			}
5956		}
5957	}
5958
5959	return collection;
5960}
5961
5962function remove( elem, selector, keepData ) {
5963	var node,
5964		nodes = selector ? jQuery.filter( selector, elem ) : elem,
5965		i = 0;
5966
5967	for ( ; ( node = nodes[ i ] ) != null; i++ ) {
5968		if ( !keepData && node.nodeType === 1 ) {
5969			jQuery.cleanData( getAll( node ) );
5970		}
5971
5972		if ( node.parentNode ) {
5973			if ( keepData && isAttached( node ) ) {
5974				setGlobalEval( getAll( node, "script" ) );
5975			}
5976			node.parentNode.removeChild( node );
5977		}
5978	}
5979
5980	return elem;
5981}
5982
5983jQuery.extend( {
5984	htmlPrefilter: function( html ) {
5985		return html;
5986	},
5987
5988	clone: function( elem, dataAndEvents, deepDataAndEvents ) {
5989		var i, l, srcElements, destElements,
5990			clone = elem.cloneNode( true ),
5991			inPage = isAttached( elem );
5992
5993		// Fix IE cloning issues
5994		if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
5995				!jQuery.isXMLDoc( elem ) ) {
5996
5997			// We eschew jQuery#find here for performance reasons:
5998			// https://jsperf.com/getall-vs-sizzle/2
5999			destElements = getAll( clone );
6000			srcElements = getAll( elem );
6001
6002			for ( i = 0, l = srcElements.length; i < l; i++ ) {
6003				fixInput( srcElements[ i ], destElements[ i ] );
6004			}
6005		}
6006
6007		// Copy the events from the original to the clone
6008		if ( dataAndEvents ) {
6009			if ( deepDataAndEvents ) {
6010				srcElements = srcElements || getAll( elem );
6011				destElements = destElements || getAll( clone );
6012
6013				for ( i = 0, l = srcElements.length; i < l; i++ ) {
6014					cloneCopyEvent( srcElements[ i ], destElements[ i ] );
6015				}
6016			} else {
6017				cloneCopyEvent( elem, clone );
6018			}
6019		}
6020
6021		// Preserve script evaluation history
6022		destElements = getAll( clone, "script" );
6023		if ( destElements.length > 0 ) {
6024			setGlobalEval( destElements, !inPage && getAll( elem, "script" ) );
6025		}
6026
6027		// Return the cloned set
6028		return clone;
6029	},
6030
6031	cleanData: function( elems ) {
6032		var data, elem, type,
6033			special = jQuery.event.special,
6034			i = 0;
6035
6036		for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {
6037			if ( acceptData( elem ) ) {
6038				if ( ( data = elem[ dataPriv.expando ] ) ) {
6039					if ( data.events ) {
6040						for ( type in data.events ) {
6041							if ( special[ type ] ) {
6042								jQuery.event.remove( elem, type );
6043
6044							// This is a shortcut to avoid jQuery.event.remove's overhead
6045							} else {
6046								jQuery.removeEvent( elem, type, data.handle );
6047							}
6048						}
6049					}
6050
vendor: 1,119 bytes, lines 6051-6095
6051					// Support: Chrome <=35 - 45+
6052					// Assign undefined instead of using delete, see Data#remove
6053					elem[ dataPriv.expando ] = undefined;
6054				}
6055				if ( elem[ dataUser.expando ] ) {
6056
6057					// Support: Chrome <=35 - 45+
6058					// Assign undefined instead of using delete, see Data#remove
6059					elem[ dataUser.expando ] = undefined;
6060				}
6061			}
6062		}
6063	}
6064} );
6065
6066jQuery.fn.extend( {
6067	detach: function( selector ) {
6068		return remove( this, selector, true );
6069	},
6070
6071	remove: function( selector ) {
6072		return remove( this, selector );
6073	},
6074
6075	text: function( value ) {
6076		return access( this, function( value ) {
6077			return value === undefined ?
6078				jQuery.text( this ) :
6079				this.empty().each( function() {
6080					if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
6081						this.textContent = value;
6082					}
6083				} );
6084		}, null, value, arguments.length );
6085	},
6086
6087	append: function() {
6088		return domManip( this, arguments, function( elem ) {
6089			if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
6090				var target = manipulationTarget( this, elem );
6091				target.appendChild( elem );
6092			}
6093		} );
6094	},
6095
vendor: 4,514 bytes, lines 6096-6287
6096	prepend: function() {
6097		return domManip( this, arguments, function( elem ) {
6098			if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
6099				var target = manipulationTarget( this, elem );
6100				target.insertBefore( elem, target.firstChild );
6101			}
6102		} );
6103	},
6104
6105	before: function() {
6106		return domManip( this, arguments, function( elem ) {
6107			if ( this.parentNode ) {
6108				this.parentNode.insertBefore( elem, this );
6109			}
6110		} );
6111	},
6112
6113	after: function() {
6114		return domManip( this, arguments, function( elem ) {
6115			if ( this.parentNode ) {
6116				this.parentNode.insertBefore( elem, this.nextSibling );
6117			}
6118		} );
6119	},
6120
6121	empty: function() {
6122		var elem,
6123			i = 0;
6124
6125		for ( ; ( elem = this[ i ] ) != null; i++ ) {
6126			if ( elem.nodeType === 1 ) {
6127
6128				// Prevent memory leaks
6129				jQuery.cleanData( getAll( elem, false ) );
6130
6131				// Remove any remaining nodes
6132				elem.textContent = "";
6133			}
6134		}
6135
6136		return this;
6137	},
6138
6139	clone: function( dataAndEvents, deepDataAndEvents ) {
6140		dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
6141		deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
6142
6143		return this.map( function() {
6144			return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
6145		} );
6146	},
6147
6148	html: function( value ) {
6149		return access( this, function( value ) {
6150			var elem = this[ 0 ] || {},
6151				i = 0,
6152				l = this.length;
6153
6154			if ( value === undefined && elem.nodeType === 1 ) {
6155				return elem.innerHTML;
6156			}
6157
6158			// See if we can take a shortcut and just use innerHTML
6159			if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
6160				!wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) {
6161
6162				value = jQuery.htmlPrefilter( value );
6163
6164				try {
6165					for ( ; i < l; i++ ) {
6166						elem = this[ i ] || {};
6167
6168						// Remove element nodes and prevent memory leaks
6169						if ( elem.nodeType === 1 ) {
6170							jQuery.cleanData( getAll( elem, false ) );
6171							elem.innerHTML = value;
6172						}
6173					}
6174
6175					elem = 0;
6176
6177				// If using innerHTML throws an exception, use the fallback method
6178				} catch ( e ) {}
6179			}
6180
6181			if ( elem ) {
6182				this.empty().append( value );
6183			}
6184		}, null, value, arguments.length );
6185	},
6186
6187	replaceWith: function() {
6188		var ignored = [];
6189
6190		// Make the changes, replacing each non-ignored context element with the new content
6191		return domManip( this, arguments, function( elem ) {
6192			var parent = this.parentNode;
6193
6194			if ( jQuery.inArray( this, ignored ) < 0 ) {
6195				jQuery.cleanData( getAll( this ) );
6196				if ( parent ) {
6197					parent.replaceChild( elem, this );
6198				}
6199			}
6200
6201		// Force callback invocation
6202		}, ignored );
6203	}
6204} );
6205
6206jQuery.each( {
6207	appendTo: "append",
6208	prependTo: "prepend",
6209	insertBefore: "before",
6210	insertAfter: "after",
6211	replaceAll: "replaceWith"
6212}, function( name, original ) {
6213	jQuery.fn[ name ] = function( selector ) {
6214		var elems,
6215			ret = [],
6216			insert = jQuery( selector ),
6217			last = insert.length - 1,
6218			i = 0;
6219
6220		for ( ; i <= last; i++ ) {
6221			elems = i === last ? this : this.clone( true );
6222			jQuery( insert[ i ] )[ original ]( elems );
6223
6224			// Support: Android <=4.0 only, PhantomJS 1 only
6225			// .get() because push.apply(_, arraylike) throws on ancient WebKit
6226			push.apply( ret, elems.get() );
6227		}
6228
6229		return this.pushStack( ret );
6230	};
6231} );
6232var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
6233
6234var rcustomProp = /^--/;
6235
6236
6237var getStyles = function( elem ) {
6238
6239		// Support: IE <=11 only, Firefox <=30 (trac-15098, trac-14150)
6240		// IE throws on elements created in popups
6241		// FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
6242		var view = elem.ownerDocument.defaultView;
6243
6244		if ( !view || !view.opener ) {
6245			view = window;
6246		}
6247
6248		return view.getComputedStyle( elem );
6249	};
6250
6251var swap = function( elem, options, callback ) {
6252	var ret, name,
6253		old = {};
6254
6255	// Remember the old values, and insert the new ones
6256	for ( name in options ) {
6257		old[ name ] = elem.style[ name ];
6258		elem.style[ name ] = options[ name ];
6259	}
6260
6261	ret = callback.call( elem );
6262
6263	// Revert the old values
6264	for ( name in options ) {
6265		elem.style[ name ] = old[ name ];
6266	}
6267
6268	return ret;
6269};
6270
6271
6272var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
6273
6274
6275
6276( function() {
6277
6278	// Executing both pixelPosition & boxSizingReliable tests require only one layout
6279	// so they're executed at the same time to save the second computation.
6280	function computeStyleTests() {
6281
6282		// This is a singleton, we need to execute it only once
6283		if ( !div ) {
6284			return;
6285		}
6286
6287		container.style.cssText = "position:absolute;
vendor: 4,156 bytes, lines 6287-6406
6287left:-11111px;width:60px;" +
6288			"margin-top:1px;padding:0;border:0";
6289		div.style.cssText =
6290			"position:relative;display:block;box-sizing:border-box;overflow:scroll;" +
6291			"margin:auto;border:1px;padding:1px;" +
6292			"width:60%;top:1%";
6293		documentElement.appendChild( container ).appendChild( div );
6294
6295		var divStyle = window.getComputedStyle( div );
6296		pixelPositionVal = divStyle.top !== "1%";
6297
6298		// Support: Android 4.0 - 4.3 only, Firefox <=3 - 44
6299		reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12;
6300
6301		// Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3
6302		// Some styles come back with percentage values, even though they shouldn't
6303		div.style.right = "60%";
6304		pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36;
6305
6306		// Support: IE 9 - 11 only
6307		// Detect misreporting of content dimensions for box-sizing:border-box elements
6308		boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36;
6309
6310		// Support: IE 9 only
6311		// Detect overflow:scroll screwiness (gh-3699)
6312		// Support: Chrome <=64
6313		// Don't get tricked when zoom affects offsetWidth (gh-4029)
6314		div.style.position = "absolute";
6315		scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12;
6316
6317		documentElement.removeChild( container );
6318
6319		// Nullify the div so it wouldn't be stored in the memory and
6320		// it will also be a sign that checks already performed
6321		div = null;
6322	}
6323
6324	function roundPixelMeasures( measure ) {
6325		return Math.round( parseFloat( measure ) );
6326	}
6327
6328	var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,
6329		reliableTrDimensionsVal, reliableMarginLeftVal,
6330		container = document.createElement( "div" ),
6331		div = document.createElement( "div" );
6332
6333	// Finish early in limited (non-browser) environments
6334	if ( !div.style ) {
6335		return;
6336	}
6337
6338	// Support: IE <=9 - 11 only
6339	// Style of cloned element affects source element cloned (trac-8908)
6340	div.style.backgroundClip = "content-box";
6341	div.cloneNode( true ).style.backgroundClip = "";
6342	support.clearCloneStyle = div.style.backgroundClip === "content-box";
6343
6344	jQuery.extend( support, {
6345		boxSizingReliable: function() {
6346			computeStyleTests();
6347			return boxSizingReliableVal;
6348		},
6349		pixelBoxStyles: function() {
6350			computeStyleTests();
6351			return pixelBoxStylesVal;
6352		},
6353		pixelPosition: function() {
6354			computeStyleTests();
6355			return pixelPositionVal;
6356		},
6357		reliableMarginLeft: function() {
6358			computeStyleTests();
6359			return reliableMarginLeftVal;
6360		},
6361		scrollboxSize: function() {
6362			computeStyleTests();
6363			return scrollboxSizeVal;
6364		},
6365
6366		// Support: IE 9 - 11+, Edge 15 - 18+
6367		// IE/Edge misreport `getComputedStyle` of table rows with width/height
6368		// set in CSS while `offset*` properties report correct values.
6369		// Behavior in IE 9 is more subtle than in newer versions & it passes
6370		// some versions of this test; make sure not to make it pass there!
6371		//
6372		// Support: Firefox 70+
6373		// Only Firefox includes border widths
6374		// in computed dimensions. (gh-4529)
6375		reliableTrDimensions: function() {
6376			var table, tr, trChild, trStyle;
6377			if ( reliableTrDimensionsVal == null ) {
6378				table = document.createElement( "table" );
6379				tr = document.createElement( "tr" );
6380				trChild = document.createElement( "div" );
6381
6382				table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate";
6383				tr.style.cssText = "box-sizing:content-box;border:1px solid";
6384
6385				// Support: Chrome 86+
6386				// Height set through cssText does not get applied.
6387				// Computed height then comes back as 0.
6388				tr.style.height = "1px";
6389				trChild.style.height = "9px";
6390
6391				// Support: Android 8 Chrome 86+
6392				// In our bodyBackground.html iframe,
6393				// display for all div elements is set to "inline",
6394				// which causes a problem only in Android 8 Chrome 86.
6395				// Ensuring the div is `display: block`
6396				// gets around this issue.
6397				trChild.style.display = "block";
6398
6399				documentElement
6400					.appendChild( table )
6401					.appendChild( tr )
6402					.appendChild( trChild );
6403
6404				trStyle = window.getComputedStyle( tr );
6405				reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) +
6406					parseInt( trStyle.borderTopWidth, 10 ) +
vendor: 12,879 bytes, lines 6407-6833
6407					parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight;
6408
6409				documentElement.removeChild( table );
6410			}
6411			return reliableTrDimensionsVal;
6412		}
6413	} );
6414} )();
6415
6416
6417function curCSS( elem, name, computed ) {
6418	var width, minWidth, maxWidth, ret,
6419		isCustomProp = rcustomProp.test( name ),
6420
6421		// Support: Firefox 51+
6422		// Retrieving style before computed somehow
6423		// fixes an issue with getting wrong values
6424		// on detached elements
6425		style = elem.style;
6426
6427	computed = computed || getStyles( elem );
6428
6429	// getPropertyValue is needed for:
6430	//   .css('filter') (IE 9 only, trac-12537)
6431	//   .css('--customProperty) (gh-3144)
6432	if ( computed ) {
6433
6434		// Support: IE <=9 - 11+
6435		// IE only supports `"float"` in `getPropertyValue`; in computed styles
6436		// it's only available as `"cssFloat"`. We no longer modify properties
6437		// sent to `.css()` apart from camelCasing, so we need to check both.
6438		// Normally, this would create difference in behavior: if
6439		// `getPropertyValue` returns an empty string, the value returned
6440		// by `.css()` would be `undefined`. This is usually the case for
6441		// disconnected elements. However, in IE even disconnected elements
6442		// with no styles return `"none"` for `getPropertyValue( "float" )`
6443		ret = computed.getPropertyValue( name ) || computed[ name ];
6444
6445		if ( isCustomProp && ret ) {
6446
6447			// Support: Firefox 105+, Chrome <=105+
6448			// Spec requires trimming whitespace for custom properties (gh-4926).
6449			// Firefox only trims leading whitespace. Chrome just collapses
6450			// both leading & trailing whitespace to a single space.
6451			//
6452			// Fall back to `undefined` if empty string returned.
6453			// This collapses a missing definition with property defined
6454			// and set to an empty string but there's no standard API
6455			// allowing us to differentiate them without a performance penalty
6456			// and returning `undefined` aligns with older jQuery.
6457			//
6458			// rtrimCSS treats U+000D CARRIAGE RETURN and U+000C FORM FEED
6459			// as whitespace while CSS does not, but this is not a problem
6460			// because CSS preprocessing replaces them with U+000A LINE FEED
6461			// (which *is* CSS whitespace)
6462			// https://www.w3.org/TR/css-syntax-3/#input-preprocessing
6463			ret = ret.replace( rtrimCSS, "$1" ) || undefined;
6464		}
6465
6466		if ( ret === "" && !isAttached( elem ) ) {
6467			ret = jQuery.style( elem, name );
6468		}
6469
6470		// A tribute to the "awesome hack by Dean Edwards"
6471		// Android Browser returns percentage for some values,
6472		// but width seems to be reliably pixels.
6473		// This is against the CSSOM draft spec:
6474		// https://drafts.csswg.org/cssom/#resolved-values
6475		if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) {
6476
6477			// Remember the original values
6478			width = style.width;
6479			minWidth = style.minWidth;
6480			maxWidth = style.maxWidth;
6481
6482			// Put in the new values to get a computed value out
6483			style.minWidth = style.maxWidth = style.width = ret;
6484			ret = computed.width;
6485
6486			// Revert the changed values
6487			style.width = width;
6488			style.minWidth = minWidth;
6489			style.maxWidth = maxWidth;
6490		}
6491	}
6492
6493	return ret !== undefined ?
6494
6495		// Support: IE <=9 - 11 only
6496		// IE returns zIndex value as an integer.
6497		ret + "" :
6498		ret;
6499}
6500
6501
6502function addGetHookIf( conditionFn, hookFn ) {
6503
6504	// Define the hook, we'll check on the first run if it's really needed.
6505	return {
6506		get: function() {
6507			if ( conditionFn() ) {
6508
6509				// Hook not needed (or it's not possible to use it due
6510				// to missing dependency), remove it.
6511				delete this.get;
6512				return;
6513			}
6514
6515			// Hook needed; redefine it so that the support test is not executed again.
6516			return ( this.get = hookFn ).apply( this, arguments );
6517		}
6518	};
6519}
6520
6521
6522var cssPrefixes = [ "Webkit", "Moz", "ms" ],
6523	emptyStyle = document.createElement( "div" ).style,
6524	vendorProps = {};
6525
6526// Return a vendor-prefixed property or undefined
6527function vendorPropName( name ) {
6528
6529	// Check for vendor prefixed names
6530	var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),
6531		i = cssPrefixes.length;
6532
6533	while ( i-- ) {
6534		name = cssPrefixes[ i ] + capName;
6535		if ( name in emptyStyle ) {
6536			return name;
6537		}
6538	}
6539}
6540
6541// Return a potentially-mapped jQuery.cssProps or vendor prefixed property
6542function finalPropName( name ) {
6543	var final = jQuery.cssProps[ name ] || vendorProps[ name ];
6544
6545	if ( final ) {
6546		return final;
6547	}
6548	if ( name in emptyStyle ) {
6549		return name;
6550	}
6551	return vendorProps[ name ] = vendorPropName( name ) || name;
6552}
6553
6554
6555var
6556
6557	// Swappable if display is none or starts with table
6558	// except "table", "table-cell", or "table-caption"
6559	// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
6560	rdisplayswap = /^(none|table(?!-c[ea]).+)/,
6561	cssShow = { position: "absolute", visibility: "hidden", display: "block" },
6562	cssNormalTransform = {
6563		letterSpacing: "0",
6564		fontWeight: "400"
6565	};
6566
6567function setPositiveNumber( _elem, value, subtract ) {
6568
6569	// Any relative (+/-) values have already been
6570	// normalized at this point
6571	var matches = rcssNum.exec( value );
6572	return matches ?
6573
6574		// Guard against undefined "subtract", e.g., when used as in cssHooks
6575		Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) :
6576		value;
6577}
6578
6579function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) {
6580	var i = dimension === "width" ? 1 : 0,
6581		extra = 0,
6582		delta = 0,
6583		marginDelta = 0;
6584
6585	// Adjustment may not be necessary
6586	if ( box === ( isBorderBox ? "border" : "content" ) ) {
6587		return 0;
6588	}
6589
6590	for ( ; i < 4; i += 2 ) {
6591
6592		// Both box models exclude margin
6593		// Count margin delta separately to only add it after scroll gutter adjustment.
6594		// This is needed to make negative margins work with `outerHeight( true )` (gh-3982).
6595		if ( box === "margin" ) {
6596			marginDelta += jQuery.css( elem, box + cssExpand[ i ], true, styles );
6597		}
6598
6599		// If we get here with a content-box, we're seeking "padding" or "border" or "margin"
6600		if ( !isBorderBox ) {
6601
6602			// Add padding
6603			delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
6604
6605			// For "border" or "margin", add border
6606			if ( box !== "padding" ) {
6607				delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
6608
6609			// But still keep track of it otherwise
6610			} else {
6611				extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
6612			}
6613
6614		// If we get here with a border-box (content + padding + border), we're seeking "content" or
6615		// "padding" or "margin"
6616		} else {
6617
6618			// For "content", subtract padding
6619			if ( box === "content" ) {
6620				delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
6621			}
6622
6623			// For "content" or "padding", subtract border
6624			if ( box !== "margin" ) {
6625				delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
6626			}
6627		}
6628	}
6629
6630	// Account for positive content-box scroll gutter when requested by providing computedVal
6631	if ( !isBorderBox && computedVal >= 0 ) {
6632
6633		// offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border
6634		// Assuming integer scroll gutter, subtract the rest and round down
6635		delta += Math.max( 0, Math.ceil(
6636			elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -
6637			computedVal -
6638			delta -
6639			extra -
6640			0.5
6641
6642		// If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter
6643		// Use an explicit zero to avoid NaN (gh-3964)
6644		) ) || 0;
6645	}
6646
6647	return delta + marginDelta;
6648}
6649
6650function getWidthOrHeight( elem, dimension, extra ) {
6651
6652	// Start with computed style
6653	var styles = getStyles( elem ),
6654
6655		// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).
6656		// Fake content-box until we know it's needed to know the true value.
6657		boxSizingNeeded = !support.boxSizingReliable() || extra,
6658		isBorderBox = boxSizingNeeded &&
6659			jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
6660		valueIsBorderBox = isBorderBox,
6661
6662		val = curCSS( elem, dimension, styles ),
6663		offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 );
6664
6665	// Support: Firefox <=54
6666	// Return a confounding non-pixel value or feign ignorance, as appropriate.
6667	if ( rnumnonpx.test( val ) ) {
6668		if ( !extra ) {
6669			return val;
6670		}
6671		val = "auto";
6672	}
6673
6674
6675	// Support: IE 9 - 11 only
6676	// Use offsetWidth/offsetHeight for when box sizing is unreliable.
6677	// In those cases, the computed value can be trusted to be border-box.
6678	if ( ( !support.boxSizingReliable() && isBorderBox ||
6679
6680		// Support: IE 10 - 11+, Edge 15 - 18+
6681		// IE/Edge misreport `getComputedStyle` of table rows with width/height
6682		// set in CSS while `offset*` properties report correct values.
6683		// Interestingly, in some cases IE 9 doesn't suffer from this issue.
6684		!support.reliableTrDimensions() && nodeName( elem, "tr" ) ||
6685
6686		// Fall back to offsetWidth/offsetHeight when value is "auto"
6687		// This happens for inline elements with no explicit setting (gh-3571)
6688		val === "auto" ||
6689
6690		// Support: Android <=4.1 - 4.3 only
6691		// Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)
6692		!parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) &&
6693
6694		// Make sure the element is visible & connected
6695		elem.getClientRects().length ) {
6696
6697		isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
6698
6699		// Where available, offsetWidth/offsetHeight approximate border box dimensions.
6700		// Where not available (e.g., SVG), assume unreliable box-sizing and interpret the
6701		// retrieved value as a content box dimension.
6702		valueIsBorderBox = offsetProp in elem;
6703		if ( valueIsBorderBox ) {
6704			val = elem[ offsetProp ];
6705		}
6706	}
6707
6708	// Normalize "" and auto
6709	val = parseFloat( val ) || 0;
6710
6711	// Adjust for the element's box model
6712	return ( val +
6713		boxModelAdjustment(
6714			elem,
6715			dimension,
6716			extra || ( isBorderBox ? "border" : "content" ),
6717			valueIsBorderBox,
6718			styles,
6719
6720			// Provide the current computed size to request scroll gutter calculation (gh-3589)
6721			val
6722		)
6723	) + "px";
6724}
6725
6726jQuery.extend( {
6727
6728	// Add in style property hooks for overriding the default
6729	// behavior of getting and setting a style property
6730	cssHooks: {
6731		opacity: {
6732			get: function( elem, computed ) {
6733				if ( computed ) {
6734
6735					// We should always get a number back from opacity
6736					var ret = curCSS( elem, "opacity" );
6737					return ret === "" ? "1" : ret;
6738				}
6739			}
6740		}
6741	},
6742
6743	// Don't automatically add "px" to these possibly-unitless properties
6744	cssNumber: {
6745		animationIterationCount: true,
6746		aspectRatio: true,
6747		borderImageSlice: true,
6748		columnCount: true,
6749		flexGrow: true,
6750		flexShrink: true,
6751		fontWeight: true,
6752		gridArea: true,
6753		gridColumn: true,
6754		gridColumnEnd: true,
6755		gridColumnStart: true,
6756		gridRow: true,
6757		gridRowEnd: true,
6758		gridRowStart: true,
6759		lineHeight: true,
6760		opacity: true,
6761		order: true,
6762		orphans: true,
6763		scale: true,
6764		widows: true,
6765		zIndex: true,
6766		zoom: true,
6767
6768		// SVG-related
6769		fillOpacity: true,
6770		floodOpacity: true,
6771		stopOpacity: true,
6772		strokeMiterlimit: true,
6773		strokeOpacity: true
6774	},
6775
6776	// Add in properties whose names you wish to fix before
6777	// setting or getting the value
6778	cssProps: {},
6779
6780	// Get and set the style property on a DOM Node
6781	style: function( elem, name, value, extra ) {
6782
6783		// Don't set styles on text and comment nodes
6784		if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
6785			return;
6786		}
6787
6788		// Make sure that we're working with the right name
6789		var ret, type, hooks,
6790			origName = camelCase( name ),
6791			isCustomProp = rcustomProp.test( name ),
6792			style = elem.style;
6793
6794		// Make sure that we're working with the right name. We don't
6795		// want to query the value if it is a CSS custom property
6796		// since they are user-defined.
6797		if ( !isCustomProp ) {
6798			name = finalPropName( origName );
6799		}
6800
6801		// Gets hook for the prefixed version, then unprefixed version
6802		hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
6803
6804		// Check if we're setting a value
6805		if ( value !== undefined ) {
6806			type = typeof value;
6807
6808			// Convert "+=" or "-=" to relative numbers (trac-7345)
6809			if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {
6810				value = adjustCSS( elem, name, ret );
6811
6812				// Fixes bug trac-9237
6813				type = "number";
6814			}
6815
6816			// Make sure that null and NaN values aren't set (trac-7116)
6817			if ( value == null || value !== value ) {
6818				return;
6819			}
6820
6821			// If a number was passed in, add the unit (except for certain CSS properties)
6822			// The isCustomProp check can be removed in jQuery 4.0 when we only auto-append
6823			// "px" to a few hardcoded values.
6824			if ( type === "number" && !isCustomProp ) {
6825				value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" );
6826			}
6827
6828			// background-* props affect original clone's values
6829			if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) {
6830				style[ name ] = "inherit";
6831			}
6832
6833			// If a hook was provided, use that value, otherwise just set the specified value
vendor: 16,052 bytes, lines 6834-7438
6834			if ( !hooks || !( "set" in hooks ) ||
6835				( value = hooks.set( elem, value, extra ) ) !== undefined ) {
6836
6837				if ( isCustomProp ) {
6838					style.setProperty( name, value );
6839				} else {
6840					style[ name ] = value;
6841				}
6842			}
6843
6844		} else {
6845
6846			// If a hook was provided get the non-computed value from there
6847			if ( hooks && "get" in hooks &&
6848				( ret = hooks.get( elem, false, extra ) ) !== undefined ) {
6849
6850				return ret;
6851			}
6852
6853			// Otherwise just get the value from the style object
6854			return style[ name ];
6855		}
6856	},
6857
6858	css: function( elem, name, extra, styles ) {
6859		var val, num, hooks,
6860			origName = camelCase( name ),
6861			isCustomProp = rcustomProp.test( name );
6862
6863		// Make sure that we're working with the right name. We don't
6864		// want to modify the value if it is a CSS custom property
6865		// since they are user-defined.
6866		if ( !isCustomProp ) {
6867			name = finalPropName( origName );
6868		}
6869
6870		// Try prefixed name followed by the unprefixed name
6871		hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
6872
6873		// If a hook was provided get the computed value from there
6874		if ( hooks && "get" in hooks ) {
6875			val = hooks.get( elem, true, extra );
6876		}
6877
6878		// Otherwise, if a way to get the computed value exists, use that
6879		if ( val === undefined ) {
6880			val = curCSS( elem, name, styles );
6881		}
6882
6883		// Convert "normal" to computed value
6884		if ( val === "normal" && name in cssNormalTransform ) {
6885			val = cssNormalTransform[ name ];
6886		}
6887
6888		// Make numeric if forced or a qualifier was provided and val looks numeric
6889		if ( extra === "" || extra ) {
6890			num = parseFloat( val );
6891			return extra === true || isFinite( num ) ? num || 0 : val;
6892		}
6893
6894		return val;
6895	}
6896} );
6897
6898jQuery.each( [ "height", "width" ], function( _i, dimension ) {
6899	jQuery.cssHooks[ dimension ] = {
6900		get: function( elem, computed, extra ) {
6901			if ( computed ) {
6902
6903				// Certain elements can have dimension info if we invisibly show them
6904				// but it must have a current display style that would benefit
6905				return rdisplayswap.test( jQuery.css( elem, "display" ) ) &&
6906
6907					// Support: Safari 8+
6908					// Table columns in Safari have non-zero offsetWidth & zero
6909					// getBoundingClientRect().width unless display is changed.
6910					// Support: IE <=11 only
6911					// Running getBoundingClientRect on a disconnected node
6912					// in IE throws an error.
6913					( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?
6914					swap( elem, cssShow, function() {
6915						return getWidthOrHeight( elem, dimension, extra );
6916					} ) :
6917					getWidthOrHeight( elem, dimension, extra );
6918			}
6919		},
6920
6921		set: function( elem, value, extra ) {
6922			var matches,
6923				styles = getStyles( elem ),
6924
6925				// Only read styles.position if the test has a chance to fail
6926				// to avoid forcing a reflow.
6927				scrollboxSizeBuggy = !support.scrollboxSize() &&
6928					styles.position === "absolute",
6929
6930				// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)
6931				boxSizingNeeded = scrollboxSizeBuggy || extra,
6932				isBorderBox = boxSizingNeeded &&
6933					jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
6934				subtract = extra ?
6935					boxModelAdjustment(
6936						elem,
6937						dimension,
6938						extra,
6939						isBorderBox,
6940						styles
6941					) :
6942					0;
6943
6944			// Account for unreliable border-box dimensions by comparing offset* to computed and
6945			// faking a content-box to get border and padding (gh-3699)
6946			if ( isBorderBox && scrollboxSizeBuggy ) {
6947				subtract -= Math.ceil(
6948					elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -
6949					parseFloat( styles[ dimension ] ) -
6950					boxModelAdjustment( elem, dimension, "border", false, styles ) -
6951					0.5
6952				);
6953			}
6954
6955			// Convert to pixels if value adjustment is needed
6956			if ( subtract && ( matches = rcssNum.exec( value ) ) &&
6957				( matches[ 3 ] || "px" ) !== "px" ) {
6958
6959				elem.style[ dimension ] = value;
6960				value = jQuery.css( elem, dimension );
6961			}
6962
6963			return setPositiveNumber( elem, value, subtract );
6964		}
6965	};
6966} );
6967
6968jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,
6969	function( elem, computed ) {
6970		if ( computed ) {
6971			return ( parseFloat( curCSS( elem, "marginLeft" ) ) ||
6972				elem.getBoundingClientRect().left -
6973					swap( elem, { marginLeft: 0 }, function() {
6974						return elem.getBoundingClientRect().left;
6975					} )
6976			) + "px";
6977		}
6978	}
6979);
6980
6981// These hooks are used by animate to expand properties
6982jQuery.each( {
6983	margin: "",
6984	padding: "",
6985	border: "Width"
6986}, function( prefix, suffix ) {
6987	jQuery.cssHooks[ prefix + suffix ] = {
6988		expand: function( value ) {
6989			var i = 0,
6990				expanded = {},
6991
6992				// Assumes a single number if not a string
6993				parts = typeof value === "string" ? value.split( " " ) : [ value ];
6994
6995			for ( ; i < 4; i++ ) {
6996				expanded[ prefix + cssExpand[ i ] + suffix ] =
6997					parts[ i ] || parts[ i - 2 ] || parts[ 0 ];
6998			}
6999
7000			return expanded;
7001		}
7002	};
7003
7004	if ( prefix !== "margin" ) {
7005		jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;
7006	}
7007} );
7008
7009jQuery.fn.extend( {
7010	css: function( name, value ) {
7011		return access( this, function( elem, name, value ) {
7012			var styles, len,
7013				map = {},
7014				i = 0;
7015
7016			if ( Array.isArray( name ) ) {
7017				styles = getStyles( elem );
7018				len = name.length;
7019
7020				for ( ; i < len; i++ ) {
7021					map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );
7022				}
7023
7024				return map;
7025			}
7026
7027			return value !== undefined ?
7028				jQuery.style( elem, name, value ) :
7029				jQuery.css( elem, name );
7030		}, name, value, arguments.length > 1 );
7031	}
7032} );
7033
7034
7035function Tween( elem, options, prop, end, easing ) {
7036	return new Tween.prototype.init( elem, options, prop, end, easing );
7037}
7038jQuery.Tween = Tween;
7039
7040Tween.prototype = {
7041	constructor: Tween,
7042	init: function( elem, options, prop, end, easing, unit ) {
7043		this.elem = elem;
7044		this.prop = prop;
7045		this.easing = easing || jQuery.easing._default;
7046		this.options = options;
7047		this.start = this.now = this.cur();
7048		this.end = end;
7049		this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" );
7050	},
7051	cur: function() {
7052		var hooks = Tween.propHooks[ this.prop ];
7053
7054		return hooks && hooks.get ?
7055			hooks.get( this ) :
7056			Tween.propHooks._default.get( this );
7057	},
7058	run: function( percent ) {
7059		var eased,
7060			hooks = Tween.propHooks[ this.prop ];
7061
7062		if ( this.options.duration ) {
7063			this.pos = eased = jQuery.easing[ this.easing ](
7064				percent, this.options.duration * percent, 0, 1, this.options.duration
7065			);
7066		} else {
7067			this.pos = eased = percent;
7068		}
7069		this.now = ( this.end - this.start ) * eased + this.start;
7070
7071		if ( this.options.step ) {
7072			this.options.step.call( this.elem, this.now, this );
7073		}
7074
7075		if ( hooks && hooks.set ) {
7076			hooks.set( this );
7077		} else {
7078			Tween.propHooks._default.set( this );
7079		}
7080		return this;
7081	}
7082};
7083
7084Tween.prototype.init.prototype = Tween.prototype;
7085
7086Tween.propHooks = {
7087	_default: {
7088		get: function( tween ) {
7089			var result;
7090
7091			// Use a property on the element directly when it is not a DOM element,
7092			// or when there is no matching style property that exists.
7093			if ( tween.elem.nodeType !== 1 ||
7094				tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {
7095				return tween.elem[ tween.prop ];
7096			}
7097
7098			// Passing an empty string as a 3rd parameter to .css will automatically
7099			// attempt a parseFloat and fallback to a string if the parse fails.
7100			// Simple values such as "10px" are parsed to Float;
7101			// complex values such as "rotate(1rad)" are returned as-is.
7102			result = jQuery.css( tween.elem, tween.prop, "" );
7103
7104			// Empty strings, null, undefined and "auto" are converted to 0.
7105			return !result || result === "auto" ? 0 : result;
7106		},
7107		set: function( tween ) {
7108
7109			// Use step hook for back compat.
7110			// Use cssHook if its there.
7111			// Use .style if available and use plain properties where available.
7112			if ( jQuery.fx.step[ tween.prop ] ) {
7113				jQuery.fx.step[ tween.prop ]( tween );
7114			} else if ( tween.elem.nodeType === 1 && (
7115				jQuery.cssHooks[ tween.prop ] ||
7116					tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) {
7117				jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
7118			} else {
7119				tween.elem[ tween.prop ] = tween.now;
7120			}
7121		}
7122	}
7123};
7124
7125// Support: IE <=9 only
7126// Panic based approach to setting things on disconnected nodes
7127Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {
7128	set: function( tween ) {
7129		if ( tween.elem.nodeType && tween.elem.parentNode ) {
7130			tween.elem[ tween.prop ] = tween.now;
7131		}
7132	}
7133};
7134
7135jQuery.easing = {
7136	linear: function( p ) {
7137		return p;
7138	},
7139	swing: function( p ) {
7140		return 0.5 - Math.cos( p * Math.PI ) / 2;
7141	},
7142	_default: "swing"
7143};
7144
7145jQuery.fx = Tween.prototype.init;
7146
7147// Back compat <1.8 extension point
7148jQuery.fx.step = {};
7149
7150
7151
7152
7153var
7154	fxNow, inProgress,
7155	rfxtypes = /^(?:toggle|show|hide)$/,
7156	rrun = /queueHooks$/;
7157
7158function schedule() {
7159	if ( inProgress ) {
7160		if ( document.hidden === false && window.requestAnimationFrame ) {
7161			window.requestAnimationFrame( schedule );
7162		} else {
7163			window.setTimeout( schedule, jQuery.fx.interval );
7164		}
7165
7166		jQuery.fx.tick();
7167	}
7168}
7169
7170// Animations created synchronously will run synchronously
7171function createFxNow() {
7172	window.setTimeout( function() {
7173		fxNow = undefined;
7174	} );
7175	return ( fxNow = Date.now() );
7176}
7177
7178// Generate parameters to create a standard animation
7179function genFx( type, includeWidth ) {
7180	var which,
7181		i = 0,
7182		attrs = { height: type };
7183
7184	// If we include width, step value is 1 to do all cssExpand values,
7185	// otherwise step value is 2 to skip over Left and Right
7186	includeWidth = includeWidth ? 1 : 0;
7187	for ( ; i < 4; i += 2 - includeWidth ) {
7188		which = cssExpand[ i ];
7189		attrs[ "margin" + which ] = attrs[ "padding" + which ] = type;
7190	}
7191
7192	if ( includeWidth ) {
7193		attrs.opacity = attrs.width = type;
7194	}
7195
7196	return attrs;
7197}
7198
7199function createTween( value, prop, animation ) {
7200	var tween,
7201		collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ),
7202		index = 0,
7203		length = collection.length;
7204	for ( ; index < length; index++ ) {
7205		if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {
7206
7207			// We're done with this property
7208			return tween;
7209		}
7210	}
7211}
7212
7213function defaultPrefilter( elem, props, opts ) {
7214	var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display,
7215		isBox = "width" in props || "height" in props,
7216		anim = this,
7217		orig = {},
7218		style = elem.style,
7219		hidden = elem.nodeType && isHiddenWithinTree( elem ),
7220		dataShow = dataPriv.get( elem, "fxshow" );
7221
7222	// Queue-skipping animations hijack the fx hooks
7223	if ( !opts.queue ) {
7224		hooks = jQuery._queueHooks( elem, "fx" );
7225		if ( hooks.unqueued == null ) {
7226			hooks.unqueued = 0;
7227			oldfire = hooks.empty.fire;
7228			hooks.empty.fire = function() {
7229				if ( !hooks.unqueued ) {
7230					oldfire();
7231				}
7232			};
7233		}
7234		hooks.unqueued++;
7235
7236		anim.always( function() {
7237
7238			// Ensure the complete handler is called before this completes
7239			anim.always( function() {
7240				hooks.unqueued--;
7241				if ( !jQuery.queue( elem, "fx" ).length ) {
7242					hooks.empty.fire();
7243				}
7244			} );
7245		} );
7246	}
7247
7248	// Detect show/hide animations
7249	for ( prop in props ) {
7250		value = props[ prop ];
7251		if ( rfxtypes.test( value ) ) {
7252			delete props[ prop ];
7253			toggle = toggle || value === "toggle";
7254			if ( value === ( hidden ? "hide" : "show" ) ) {
7255
7256				// Pretend to be hidden if this is a "show" and
7257				// there is still data from a stopped show/hide
7258				if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) {
7259					hidden = true;
7260
7261				// Ignore all other no-op show/hide data
7262				} else {
7263					continue;
7264				}
7265			}
7266			orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );
7267		}
7268	}
7269
7270	// Bail out if this is a no-op like .hide().hide()
7271	propTween = !jQuery.isEmptyObject( props );
7272	if ( !propTween && jQuery.isEmptyObject( orig ) ) {
7273		return;
7274	}
7275
7276	// Restrict "overflow" and "display" styles during box animations
7277	if ( isBox && elem.nodeType === 1 ) {
7278
7279		// Support: IE <=9 - 11, Edge 12 - 15
7280		// Record all 3 overflow attributes because IE does not infer the shorthand
7281		// from identically-valued overflowX and overflowY and Edge just mirrors
7282		// the overflowX value there.
7283		opts.overflow = [ style.overflow, style.overflowX, style.overflowY ];
7284
7285		// Identify a display type, preferring old show/hide data over the CSS cascade
7286		restoreDisplay = dataShow && dataShow.display;
7287		if ( restoreDisplay == null ) {
7288			restoreDisplay = dataPriv.get( elem, "display" );
7289		}
7290		display = jQuery.css( elem, "display" );
7291		if ( display === "none" ) {
7292			if ( restoreDisplay ) {
7293				display = restoreDisplay;
7294			} else {
7295
7296				// Get nonempty value(s) by temporarily forcing visibility
7297				showHide( [ elem ], true );
7298				restoreDisplay = elem.style.display || restoreDisplay;
7299				display = jQuery.css( elem, "display" );
7300				showHide( [ elem ] );
7301			}
7302		}
7303
7304		// Animate inline elements as inline-block
7305		if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) {
7306			if ( jQuery.css( elem, "float" ) === "none" ) {
7307
7308				// Restore the original display value at the end of pure show/hide animations
7309				if ( !propTween ) {
7310					anim.done( function() {
7311						style.display = restoreDisplay;
7312					} );
7313					if ( restoreDisplay == null ) {
7314						display = style.display;
7315						restoreDisplay = display === "none" ? "" : display;
7316					}
7317				}
7318				style.display = "inline-block";
7319			}
7320		}
7321	}
7322
7323	if ( opts.overflow ) {
7324		style.overflow = "hidden";
7325		anim.always( function() {
7326			style.overflow = opts.overflow[ 0 ];
7327			style.overflowX = opts.overflow[ 1 ];
7328			style.overflowY = opts.overflow[ 2 ];
7329		} );
7330	}
7331
7332	// Implement show/hide animations
7333	propTween = false;
7334	for ( prop in orig ) {
7335
7336		// General show/hide setup for this element animation
7337		if ( !propTween ) {
7338			if ( dataShow ) {
7339				if ( "hidden" in dataShow ) {
7340					hidden = dataShow.hidden;
7341				}
7342			} else {
7343				dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } );
7344			}
7345
7346			// Store hidden/visible for toggle so `.stop().toggle()` "reverses"
7347			if ( toggle ) {
7348				dataShow.hidden = !hidden;
7349			}
7350
7351			// Show elements before animating them
7352			if ( hidden ) {
7353				showHide( [ elem ], true );
7354			}
7355
7356			/* eslint-disable no-loop-func */
7357
7358			anim.done( function() {
7359
7360				/* eslint-enable no-loop-func */
7361
7362				// The final step of a "hide" animation is actually hiding the element
7363				if ( !hidden ) {
7364					showHide( [ elem ] );
7365				}
7366				dataPriv.remove( elem, "fxshow" );
7367				for ( prop in orig ) {
7368					jQuery.style( elem, prop, orig[ prop ] );
7369				}
7370			} );
7371		}
7372
7373		// Per-property setup
7374		propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );
7375		if ( !( prop in dataShow ) ) {
7376			dataShow[ prop ] = propTween.start;
7377			if ( hidden ) {
7378				propTween.end = propTween.start;
7379				propTween.start = 0;
7380			}
7381		}
7382	}
7383}
7384
7385function propFilter( props, specialEasing ) {
7386	var index, name, easing, value, hooks;
7387
7388	// camelCase, specialEasing and expand cssHook pass
7389	for ( index in props ) {
7390		name = camelCase( index );
7391		easing = specialEasing[ name ];
7392		value = props[ index ];
7393		if ( Array.isArray( value ) ) {
7394			easing = value[ 1 ];
7395			value = props[ index ] = value[ 0 ];
7396		}
7397
7398		if ( index !== name ) {
7399			props[ name ] = value;
7400			delete props[ index ];
7401		}
7402
7403		hooks = jQuery.cssHooks[ name ];
7404		if ( hooks && "expand" in hooks ) {
7405			value = hooks.expand( value );
7406			delete props[ name ];
7407
7408			// Not quite $.extend, this won't overwrite existing keys.
7409			// Reusing 'index' because we have the correct "name"
7410			for ( index in value ) {
7411				if ( !( index in props ) ) {
7412					props[ index ] = value[ index ];
7413					specialEasing[ index ] = easing;
7414				}
7415			}
7416		} else {
7417			specialEasing[ name ] = easing;
7418		}
7419	}
7420}
7421
7422function Animation( elem, properties, options ) {
7423	var result,
7424		stopped,
7425		index = 0,
7426		length = Animation.prefilters.length,
7427		deferred = jQuery.Deferred().always( function() {
7428
7429			// Don't match elem in the :animated selector
7430			delete tick.elem;
7431		} ),
7432		tick = function() {
7433			if ( stopped ) {
7434				return false;
7435			}
7436			var currentTime = fxNow || createFxNow(),
7437				remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),
7438
vendor: 9,542 bytes, lines 7439-7829
7439				// Support: Android 2.3 only
7440				// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (trac-12497)
7441				temp = remaining / animation.duration || 0,
7442				percent = 1 - temp,
7443				index = 0,
7444				length = animation.tweens.length;
7445
7446			for ( ; index < length; index++ ) {
7447				animation.tweens[ index ].run( percent );
7448			}
7449
7450			deferred.notifyWith( elem, [ animation, percent, remaining ] );
7451
7452			// If there's more to do, yield
7453			if ( percent < 1 && length ) {
7454				return remaining;
7455			}
7456
7457			// If this was an empty animation, synthesize a final progress notification
7458			if ( !length ) {
7459				deferred.notifyWith( elem, [ animation, 1, 0 ] );
7460			}
7461
7462			// Resolve the animation and report its conclusion
7463			deferred.resolveWith( elem, [ animation ] );
7464			return false;
7465		},
7466		animation = deferred.promise( {
7467			elem: elem,
7468			props: jQuery.extend( {}, properties ),
7469			opts: jQuery.extend( true, {
7470				specialEasing: {},
7471				easing: jQuery.easing._default
7472			}, options ),
7473			originalProperties: properties,
7474			originalOptions: options,
7475			startTime: fxNow || createFxNow(),
7476			duration: options.duration,
7477			tweens: [],
7478			createTween: function( prop, end ) {
7479				var tween = jQuery.Tween( elem, animation.opts, prop, end,
7480					animation.opts.specialEasing[ prop ] || animation.opts.easing );
7481				animation.tweens.push( tween );
7482				return tween;
7483			},
7484			stop: function( gotoEnd ) {
7485				var index = 0,
7486
7487					// If we are going to the end, we want to run all the tweens
7488					// otherwise we skip this part
7489					length = gotoEnd ? animation.tweens.length : 0;
7490				if ( stopped ) {
7491					return this;
7492				}
7493				stopped = true;
7494				for ( ; index < length; index++ ) {
7495					animation.tweens[ index ].run( 1 );
7496				}
7497
7498				// Resolve when we played the last frame; otherwise, reject
7499				if ( gotoEnd ) {
7500					deferred.notifyWith( elem, [ animation, 1, 0 ] );
7501					deferred.resolveWith( elem, [ animation, gotoEnd ] );
7502				} else {
7503					deferred.rejectWith( elem, [ animation, gotoEnd ] );
7504				}
7505				return this;
7506			}
7507		} ),
7508		props = animation.props;
7509
7510	propFilter( props, animation.opts.specialEasing );
7511
7512	for ( ; index < length; index++ ) {
7513		result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );
7514		if ( result ) {
7515			if ( isFunction( result.stop ) ) {
7516				jQuery._queueHooks( animation.elem, animation.opts.queue ).stop =
7517					result.stop.bind( result );
7518			}
7519			return result;
7520		}
7521	}
7522
7523	jQuery.map( props, createTween, animation );
7524
7525	if ( isFunction( animation.opts.start ) ) {
7526		animation.opts.start.call( elem, animation );
7527	}
7528
7529	// Attach callbacks from options
7530	animation
7531		.progress( animation.opts.progress )
7532		.done( animation.opts.done, animation.opts.complete )
7533		.fail( animation.opts.fail )
7534		.always( animation.opts.always );
7535
7536	jQuery.fx.timer(
7537		jQuery.extend( tick, {
7538			elem: elem,
7539			anim: animation,
7540			queue: animation.opts.queue
7541		} )
7542	);
7543
7544	return animation;
7545}
7546
7547jQuery.Animation = jQuery.extend( Animation, {
7548
7549	tweeners: {
7550		"*": [ function( prop, value ) {
7551			var tween = this.createTween( prop, value );
7552			adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );
7553			return tween;
7554		} ]
7555	},
7556
7557	tweener: function( props, callback ) {
7558		if ( isFunction( props ) ) {
7559			callback = props;
7560			props = [ "*" ];
7561		} else {
7562			props = props.match( rnothtmlwhite );
7563		}
7564
7565		var prop,
7566			index = 0,
7567			length = props.length;
7568
7569		for ( ; index < length; index++ ) {
7570			prop = props[ index ];
7571			Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];
7572			Animation.tweeners[ prop ].unshift( callback );
7573		}
7574	},
7575
7576	prefilters: [ defaultPrefilter ],
7577
7578	prefilter: function( callback, prepend ) {
7579		if ( prepend ) {
7580			Animation.prefilters.unshift( callback );
7581		} else {
7582			Animation.prefilters.push( callback );
7583		}
7584	}
7585} );
7586
7587jQuery.speed = function( speed, easing, fn ) {
7588	var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
7589		complete: fn || !fn && easing ||
7590			isFunction( speed ) && speed,
7591		duration: speed,
7592		easing: fn && easing || easing && !isFunction( easing ) && easing
7593	};
7594
7595	// Go to the end state if fx are off
7596	if ( jQuery.fx.off ) {
7597		opt.duration = 0;
7598
7599	} else {
7600		if ( typeof opt.duration !== "number" ) {
7601			if ( opt.duration in jQuery.fx.speeds ) {
7602				opt.duration = jQuery.fx.speeds[ opt.duration ];
7603
7604			} else {
7605				opt.duration = jQuery.fx.speeds._default;
7606			}
7607		}
7608	}
7609
7610	// Normalize opt.queue - true/undefined/null -> "fx"
7611	if ( opt.queue == null || opt.queue === true ) {
7612		opt.queue = "fx";
7613	}
7614
7615	// Queueing
7616	opt.old = opt.complete;
7617
7618	opt.complete = function() {
7619		if ( isFunction( opt.old ) ) {
7620			opt.old.call( this );
7621		}
7622
7623		if ( opt.queue ) {
7624			jQuery.dequeue( this, opt.queue );
7625		}
7626	};
7627
7628	return opt;
7629};
7630
7631jQuery.fn.extend( {
7632	fadeTo: function( speed, to, easing, callback ) {
7633
7634		// Show any hidden elements after setting opacity to 0
7635		return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show()
7636
7637			// Animate to the value specified
7638			.end().animate( { opacity: to }, speed, easing, callback );
7639	},
7640	animate: function( prop, speed, easing, callback ) {
7641		var empty = jQuery.isEmptyObject( prop ),
7642			optall = jQuery.speed( speed, easing, callback ),
7643			doAnimation = function() {
7644
7645				// Operate on a copy of prop so per-property easing won't be lost
7646				var anim = Animation( this, jQuery.extend( {}, prop ), optall );
7647
7648				// Empty animations, or finishing resolves immediately
7649				if ( empty || dataPriv.get( this, "finish" ) ) {
7650					anim.stop( true );
7651				}
7652			};
7653
7654		doAnimation.finish = doAnimation;
7655
7656		return empty || optall.queue === false ?
7657			this.each( doAnimation ) :
7658			this.queue( optall.queue, doAnimation );
7659	},
7660	stop: function( type, clearQueue, gotoEnd ) {
7661		var stopQueue = function( hooks ) {
7662			var stop = hooks.stop;
7663			delete hooks.stop;
7664			stop( gotoEnd );
7665		};
7666
7667		if ( typeof type !== "string" ) {
7668			gotoEnd = clearQueue;
7669			clearQueue = type;
7670			type = undefined;
7671		}
7672		if ( clearQueue ) {
7673			this.queue( type || "fx", [] );
7674		}
7675
7676		return this.each( function() {
7677			var dequeue = true,
7678				index = type != null && type + "queueHooks",
7679				timers = jQuery.timers,
7680				data = dataPriv.get( this );
7681
7682			if ( index ) {
7683				if ( data[ index ] && data[ index ].stop ) {
7684					stopQueue( data[ index ] );
7685				}
7686			} else {
7687				for ( index in data ) {
7688					if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {
7689						stopQueue( data[ index ] );
7690					}
7691				}
7692			}
7693
7694			for ( index = timers.length; index--; ) {
7695				if ( timers[ index ].elem === this &&
7696					( type == null || timers[ index ].queue === type ) ) {
7697
7698					timers[ index ].anim.stop( gotoEnd );
7699					dequeue = false;
7700					timers.splice( index, 1 );
7701				}
7702			}
7703
7704			// Start the next in the queue if the last step wasn't forced.
7705			// Timers currently will call their complete callbacks, which
7706			// will dequeue but only if they were gotoEnd.
7707			if ( dequeue || !gotoEnd ) {
7708				jQuery.dequeue( this, type );
7709			}
7710		} );
7711	},
7712	finish: function( type ) {
7713		if ( type !== false ) {
7714			type = type || "fx";
7715		}
7716		return this.each( function() {
7717			var index,
7718				data = dataPriv.get( this ),
7719				queue = data[ type + "queue" ],
7720				hooks = data[ type + "queueHooks" ],
7721				timers = jQuery.timers,
7722				length = queue ? queue.length : 0;
7723
7724			// Enable finishing flag on private data
7725			data.finish = true;
7726
7727			// Empty the queue first
7728			jQuery.queue( this, type, [] );
7729
7730			if ( hooks && hooks.stop ) {
7731				hooks.stop.call( this, true );
7732			}
7733
7734			// Look for any active animations, and finish them
7735			for ( index = timers.length; index--; ) {
7736				if ( timers[ index ].elem === this && timers[ index ].queue === type ) {
7737					timers[ index ].anim.stop( true );
7738					timers.splice( index, 1 );
7739				}
7740			}
7741
7742			// Look for any animations in the old queue and finish them
7743			for ( index = 0; index < length; index++ ) {
7744				if ( queue[ index ] && queue[ index ].finish ) {
7745					queue[ index ].finish.call( this );
7746				}
7747			}
7748
7749			// Turn off finishing flag
7750			delete data.finish;
7751		} );
7752	}
7753} );
7754
7755jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) {
7756	var cssFn = jQuery.fn[ name ];
7757	jQuery.fn[ name ] = function( speed, easing, callback ) {
7758		return speed == null || typeof speed === "boolean" ?
7759			cssFn.apply( this, arguments ) :
7760			this.animate( genFx( name, true ), speed, easing, callback );
7761	};
7762} );
7763
7764// Generate shortcuts for custom animations
7765jQuery.each( {
7766	slideDown: genFx( "show" ),
7767	slideUp: genFx( "hide" ),
7768	slideToggle: genFx( "toggle" ),
7769	fadeIn: { opacity: "show" },
7770	fadeOut: { opacity: "hide" },
7771	fadeToggle: { opacity: "toggle" }
7772}, function( name, props ) {
7773	jQuery.fn[ name ] = function( speed, easing, callback ) {
7774		return this.animate( props, speed, easing, callback );
7775	};
7776} );
7777
7778jQuery.timers = [];
7779jQuery.fx.tick = function() {
7780	var timer,
7781		i = 0,
7782		timers = jQuery.timers;
7783
7784	fxNow = Date.now();
7785
7786	for ( ; i < timers.length; i++ ) {
7787		timer = timers[ i ];
7788
7789		// Run the timer and safely remove it when done (allowing for external removal)
7790		if ( !timer() && timers[ i ] === timer ) {
7791			timers.splice( i--, 1 );
7792		}
7793	}
7794
7795	if ( !timers.length ) {
7796		jQuery.fx.stop();
7797	}
7798	fxNow = undefined;
7799};
7800
7801jQuery.fx.timer = function( timer ) {
7802	jQuery.timers.push( timer );
7803	jQuery.fx.start();
7804};
7805
7806jQuery.fx.interval = 13;
7807jQuery.fx.start = function() {
7808	if ( inProgress ) {
7809		return;
7810	}
7811
7812	inProgress = true;
7813	schedule();
7814};
7815
7816jQuery.fx.stop = function() {
7817	inProgress = null;
7818};
7819
7820jQuery.fx.speeds = {
7821	slow: 600,
7822	fast: 200,
7823
7824	// Default speed
7825	_default: 400
7826};
7827
7828
7829// Based off of the plugin by Clint Helfers, with permission.
vendor: 5,177 bytes, lines 7830-8050
7830jQuery.fn.delay = function( time, type ) {
7831	time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
7832	type = type || "fx";
7833
7834	return this.queue( type, function( next, hooks ) {
7835		var timeout = window.setTimeout( next, time );
7836		hooks.stop = function() {
7837			window.clearTimeout( timeout );
7838		};
7839	} );
7840};
7841
7842
7843( function() {
7844	var input = document.createElement( "input" ),
7845		select = document.createElement( "select" ),
7846		opt = select.appendChild( document.createElement( "option" ) );
7847
7848	input.type = "checkbox";
7849
7850	// Support: Android <=4.3 only
7851	// Default value for a checkbox should be "on"
7852	support.checkOn = input.value !== "";
7853
7854	// Support: IE <=11 only
7855	// Must access selectedIndex to make default options select
7856	support.optSelected = opt.selected;
7857
7858	// Support: IE <=11 only
7859	// An input loses its value after becoming a radio
7860	input = document.createElement( "input" );
7861	input.value = "t";
7862	input.type = "radio";
7863	support.radioValue = input.value === "t";
7864} )();
7865
7866
7867var boolHook,
7868	attrHandle = jQuery.expr.attrHandle;
7869
7870jQuery.fn.extend( {
7871	attr: function( name, value ) {
7872		return access( this, jQuery.attr, name, value, arguments.length > 1 );
7873	},
7874
7875	removeAttr: function( name ) {
7876		return this.each( function() {
7877			jQuery.removeAttr( this, name );
7878		} );
7879	}
7880} );
7881
7882jQuery.extend( {
7883	attr: function( elem, name, value ) {
7884		var ret, hooks,
7885			nType = elem.nodeType;
7886
7887		// Don't get/set attributes on text, comment and attribute nodes
7888		if ( nType === 3 || nType === 8 || nType === 2 ) {
7889			return;
7890		}
7891
7892		// Fallback to prop when attributes are not supported
7893		if ( typeof elem.getAttribute === "undefined" ) {
7894			return jQuery.prop( elem, name, value );
7895		}
7896
7897		// Attribute hooks are determined by the lowercase version
7898		// Grab necessary hook if one is defined
7899		if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
7900			hooks = jQuery.attrHooks[ name.toLowerCase() ] ||
7901				( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );
7902		}
7903
7904		if ( value !== undefined ) {
7905			if ( value === null ) {
7906				jQuery.removeAttr( elem, name );
7907				return;
7908			}
7909
7910			if ( hooks && "set" in hooks &&
7911				( ret = hooks.set( elem, value, name ) ) !== undefined ) {
7912				return ret;
7913			}
7914
7915			elem.setAttribute( name, value + "" );
7916			return value;
7917		}
7918
7919		if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
7920			return ret;
7921		}
7922
7923		ret = jQuery.find.attr( elem, name );
7924
7925		// Non-existent attributes return null, we normalize to undefined
7926		return ret == null ? undefined : ret;
7927	},
7928
7929	attrHooks: {
7930		type: {
7931			set: function( elem, value ) {
7932				if ( !support.radioValue && value === "radio" &&
7933					nodeName( elem, "input" ) ) {
7934					var val = elem.value;
7935					elem.setAttribute( "type", value );
7936					if ( val ) {
7937						elem.value = val;
7938					}
7939					return value;
7940				}
7941			}
7942		}
7943	},
7944
7945	removeAttr: function( elem, value ) {
7946		var name,
7947			i = 0,
7948
7949			// Attribute names can contain non-HTML whitespace characters
7950			// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2
7951			attrNames = value && value.match( rnothtmlwhite );
7952
7953		if ( attrNames && elem.nodeType === 1 ) {
7954			while ( ( name = attrNames[ i++ ] ) ) {
7955				elem.removeAttribute( name );
7956			}
7957		}
7958	}
7959} );
7960
7961// Hooks for boolean attributes
7962boolHook = {
7963	set: function( elem, value, name ) {
7964		if ( value === false ) {
7965
7966			// Remove boolean attributes when set to false
7967			jQuery.removeAttr( elem, name );
7968		} else {
7969			elem.setAttribute( name, name );
7970		}
7971		return name;
7972	}
7973};
7974
7975jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) {
7976	var getter = attrHandle[ name ] || jQuery.find.attr;
7977
7978	attrHandle[ name ] = function( elem, name, isXML ) {
7979		var ret, handle,
7980			lowercaseName = name.toLowerCase();
7981
7982		if ( !isXML ) {
7983
7984			// Avoid an infinite loop by temporarily removing this function from the getter
7985			handle = attrHandle[ lowercaseName ];
7986			attrHandle[ lowercaseName ] = ret;
7987			ret = getter( elem, name, isXML ) != null ?
7988				lowercaseName :
7989				null;
7990			attrHandle[ lowercaseName ] = handle;
7991		}
7992		return ret;
7993	};
7994} );
7995
7996
7997
7998
7999var rfocusable = /^(?:input|select|textarea|button)$/i,
8000	rclickable = /^(?:a|area)$/i;
8001
8002jQuery.fn.extend( {
8003	prop: function( name, value ) {
8004		return access( this, jQuery.prop, name, value, arguments.length > 1 );
8005	},
8006
8007	removeProp: function( name ) {
8008		return this.each( function() {
8009			delete this[ jQuery.propFix[ name ] || name ];
8010		} );
8011	}
8012} );
8013
8014jQuery.extend( {
8015	prop: function( elem, name, value ) {
8016		var ret, hooks,
8017			nType = elem.nodeType;
8018
8019		// Don't get/set properties on text, comment and attribute nodes
8020		if ( nType === 3 || nType === 8 || nType === 2 ) {
8021			return;
8022		}
8023
8024		if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
8025
8026			// Fix name and attach hooks
8027			name = jQuery.propFix[ name ] || name;
8028			hooks = jQuery.propHooks[ name ];
8029		}
8030
8031		if ( value !== undefined ) {
8032			if ( hooks && "set" in hooks &&
8033				( ret = hooks.set( elem, value, name ) ) !== undefined ) {
8034				return ret;
8035			}
8036
8037			return ( elem[ name ] = value );
8038		}
8039
8040		if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
8041			return ret;
8042		}
8043
8044		return elem[ name ];
8045	},
8046
8047	propHooks: {
8048		tabIndex: {
8049			get: function( elem ) {
8050
vendor: 6,126 bytes, lines 8051-8310
8051				// Support: IE <=9 - 11 only
8052				// elem.tabIndex doesn't always return the
8053				// correct value when it hasn't been explicitly set
8054				// Use proper attribute retrieval (trac-12072)
8055				var tabindex = jQuery.find.attr( elem, "tabindex" );
8056
8057				if ( tabindex ) {
8058					return parseInt( tabindex, 10 );
8059				}
8060
8061				if (
8062					rfocusable.test( elem.nodeName ) ||
8063					rclickable.test( elem.nodeName ) &&
8064					elem.href
8065				) {
8066					return 0;
8067				}
8068
8069				return -1;
8070			}
8071		}
8072	},
8073
8074	propFix: {
8075		"for": "htmlFor",
8076		"class": "className"
8077	}
8078} );
8079
8080// Support: IE <=11 only
8081// Accessing the selectedIndex property
8082// forces the browser to respect setting selected
8083// on the option
8084// The getter ensures a default option is selected
8085// when in an optgroup
8086// eslint rule "no-unused-expressions" is disabled for this code
8087// since it considers such accessions noop
8088if ( !support.optSelected ) {
8089	jQuery.propHooks.selected = {
8090		get: function( elem ) {
8091
8092			/* eslint no-unused-expressions: "off" */
8093
8094			var parent = elem.parentNode;
8095			if ( parent && parent.parentNode ) {
8096				parent.parentNode.selectedIndex;
8097			}
8098			return null;
8099		},
8100		set: function( elem ) {
8101
8102			/* eslint no-unused-expressions: "off" */
8103
8104			var parent = elem.parentNode;
8105			if ( parent ) {
8106				parent.selectedIndex;
8107
8108				if ( parent.parentNode ) {
8109					parent.parentNode.selectedIndex;
8110				}
8111			}
8112		}
8113	};
8114}
8115
8116jQuery.each( [
8117	"tabIndex",
8118	"readOnly",
8119	"maxLength",
8120	"cellSpacing",
8121	"cellPadding",
8122	"rowSpan",
8123	"colSpan",
8124	"useMap",
8125	"frameBorder",
8126	"contentEditable"
8127], function() {
8128	jQuery.propFix[ this.toLowerCase() ] = this;
8129} );
8130
8131
8132
8133
8134	// Strip and collapse whitespace according to HTML spec
8135	// https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace
8136	function stripAndCollapse( value ) {
8137		var tokens = value.match( rnothtmlwhite ) || [];
8138		return tokens.join( " " );
8139	}
8140
8141
8142function getClass( elem ) {
8143	return elem.getAttribute && elem.getAttribute( "class" ) || "";
8144}
8145
8146function classesToArray( value ) {
8147	if ( Array.isArray( value ) ) {
8148		return value;
8149	}
8150	if ( typeof value === "string" ) {
8151		return value.match( rnothtmlwhite ) || [];
8152	}
8153	return [];
8154}
8155
8156jQuery.fn.extend( {
8157	addClass: function( value ) {
8158		var classNames, cur, curValue, className, i, finalValue;
8159
8160		if ( isFunction( value ) ) {
8161			return this.each( function( j ) {
8162				jQuery( this ).addClass( value.call( this, j, getClass( this ) ) );
8163			} );
8164		}
8165
8166		classNames = classesToArray( value );
8167
8168		if ( classNames.length ) {
8169			return this.each( function() {
8170				curValue = getClass( this );
8171				cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
8172
8173				if ( cur ) {
8174					for ( i = 0; i < classNames.length; i++ ) {
8175						className = classNames[ i ];
8176						if ( cur.indexOf( " " + className + " " ) < 0 ) {
8177							cur += className + " ";
8178						}
8179					}
8180
8181					// Only assign if different to avoid unneeded rendering.
8182					finalValue = stripAndCollapse( cur );
8183					if ( curValue !== finalValue ) {
8184						this.setAttribute( "class", finalValue );
8185					}
8186				}
8187			} );
8188		}
8189
8190		return this;
8191	},
8192
8193	removeClass: function( value ) {
8194		var classNames, cur, curValue, className, i, finalValue;
8195
8196		if ( isFunction( value ) ) {
8197			return this.each( function( j ) {
8198				jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );
8199			} );
8200		}
8201
8202		if ( !arguments.length ) {
8203			return this.attr( "class", "" );
8204		}
8205
8206		classNames = classesToArray( value );
8207
8208		if ( classNames.length ) {
8209			return this.each( function() {
8210				curValue = getClass( this );
8211
8212				// This expression is here for better compressibility (see addClass)
8213				cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
8214
8215				if ( cur ) {
8216					for ( i = 0; i < classNames.length; i++ ) {
8217						className = classNames[ i ];
8218
8219						// Remove *all* instances
8220						while ( cur.indexOf( " " + className + " " ) > -1 ) {
8221							cur = cur.replace( " " + className + " ", " " );
8222						}
8223					}
8224
8225					// Only assign if different to avoid unneeded rendering.
8226					finalValue = stripAndCollapse( cur );
8227					if ( curValue !== finalValue ) {
8228						this.setAttribute( "class", finalValue );
8229					}
8230				}
8231			} );
8232		}
8233
8234		return this;
8235	},
8236
8237	toggleClass: function( value, stateVal ) {
8238		var classNames, className, i, self,
8239			type = typeof value,
8240			isValidValue = type === "string" || Array.isArray( value );
8241
8242		if ( isFunction( value ) ) {
8243			return this.each( function( i ) {
8244				jQuery( this ).toggleClass(
8245					value.call( this, i, getClass( this ), stateVal ),
8246					stateVal
8247				);
8248			} );
8249		}
8250
8251		if ( typeof stateVal === "boolean" && isValidValue ) {
8252			return stateVal ? this.addClass( value ) : this.removeClass( value );
8253		}
8254
8255		classNames = classesToArray( value );
8256
8257		return this.each( function() {
8258			if ( isValidValue ) {
8259
8260				// Toggle individual class names
8261				self = jQuery( this );
8262
8263				for ( i = 0; i < classNames.length; i++ ) {
8264					className = classNames[ i ];
8265
8266					// Check each className given, space separated list
8267					if ( self.hasClass( className ) ) {
8268						self.removeClass( className );
8269					} else {
8270						self.addClass( className );
8271					}
8272				}
8273
8274			// Toggle whole class name
8275			} else if ( value === undefined || type === "boolean" ) {
8276				className = getClass( this );
8277				if ( className ) {
8278
8279					// Store className if set
8280					dataPriv.set( this, "__className__", className );
8281				}
8282
8283				// If the element has a class name or if we're passed `false`,
8284				// then remove the whole classname (if there was one, the above saved it).
8285				// Otherwise bring back whatever was previously saved (if anything),
8286				// falling back to the empty string if nothing was stored.
8287				if ( this.setAttribute ) {
8288					this.setAttribute( "class",
8289						className || value === false ?
8290							"" :
8291							dataPriv.get( this, "__className__" ) || ""
8292					);
8293				}
8294			}
8295		} );
8296	},
8297
8298	hasClass: function( selector ) {
8299		var className, elem,
8300			i = 0;
8301
8302		className = " " + selector + " ";
8303		while ( ( elem = this[ i++ ] ) ) {
8304			if ( elem.nodeType === 1 &&
8305				( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) {
8306				return true;
8307			}
8308		}
8309
8310		return false;
vendor: 1,385 bytes, lines 8311-8380
8311	}
8312} );
8313
8314
8315
8316
8317var rreturn = /\r/g;
8318
8319jQuery.fn.extend( {
8320	val: function( value ) {
8321		var hooks, ret, valueIsFunction,
8322			elem = this[ 0 ];
8323
8324		if ( !arguments.length ) {
8325			if ( elem ) {
8326				hooks = jQuery.valHooks[ elem.type ] ||
8327					jQuery.valHooks[ elem.nodeName.toLowerCase() ];
8328
8329				if ( hooks &&
8330					"get" in hooks &&
8331					( ret = hooks.get( elem, "value" ) ) !== undefined
8332				) {
8333					return ret;
8334				}
8335
8336				ret = elem.value;
8337
8338				// Handle most common string cases
8339				if ( typeof ret === "string" ) {
8340					return ret.replace( rreturn, "" );
8341				}
8342
8343				// Handle cases where value is null/undef or number
8344				return ret == null ? "" : ret;
8345			}
8346
8347			return;
8348		}
8349
8350		valueIsFunction = isFunction( value );
8351
8352		return this.each( function( i ) {
8353			var val;
8354
8355			if ( this.nodeType !== 1 ) {
8356				return;
8357			}
8358
8359			if ( valueIsFunction ) {
8360				val = value.call( this, i, jQuery( this ).val() );
8361			} else {
8362				val = value;
8363			}
8364
8365			// Treat null/undefined as ""; convert numbers to string
8366			if ( val == null ) {
8367				val = "";
8368
8369			} else if ( typeof val === "number" ) {
8370				val += "";
8371
8372			} else if ( Array.isArray( val ) ) {
8373				val = jQuery.map( val, function( value ) {
8374					return value == null ? "" : value + "";
8375				} );
8376			}
8377
8378			hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];
8379
8380			// If set returns undefined, fall back to normal setting
vendor: 4,458 bytes, lines 8381-8566
8381			if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) {
8382				this.value = val;
8383			}
8384		} );
8385	}
8386} );
8387
8388jQuery.extend( {
8389	valHooks: {
8390		option: {
8391			get: function( elem ) {
8392
8393				var val = jQuery.find.attr( elem, "value" );
8394				return val != null ?
8395					val :
8396
8397					// Support: IE <=10 - 11 only
8398					// option.text throws exceptions (trac-14686, trac-14858)
8399					// Strip and collapse whitespace
8400					// https://html.spec.whatwg.org/#strip-and-collapse-whitespace
8401					stripAndCollapse( jQuery.text( elem ) );
8402			}
8403		},
8404		select: {
8405			get: function( elem ) {
8406				var value, option, i,
8407					options = elem.options,
8408					index = elem.selectedIndex,
8409					one = elem.type === "select-one",
8410					values = one ? null : [],
8411					max = one ? index + 1 : options.length;
8412
8413				if ( index < 0 ) {
8414					i = max;
8415
8416				} else {
8417					i = one ? index : 0;
8418				}
8419
8420				// Loop through all the selected options
8421				for ( ; i < max; i++ ) {
8422					option = options[ i ];
8423
8424					// Support: IE <=9 only
8425					// IE8-9 doesn't update selected after form reset (trac-2551)
8426					if ( ( option.selected || i === index ) &&
8427
8428							// Don't return options that are disabled or in a disabled optgroup
8429							!option.disabled &&
8430							( !option.parentNode.disabled ||
8431								!nodeName( option.parentNode, "optgroup" ) ) ) {
8432
8433						// Get the specific value for the option
8434						value = jQuery( option ).val();
8435
8436						// We don't need an array for one selects
8437						if ( one ) {
8438							return value;
8439						}
8440
8441						// Multi-Selects return an array
8442						values.push( value );
8443					}
8444				}
8445
8446				return values;
8447			},
8448
8449			set: function( elem, value ) {
8450				var optionSet, option,
8451					options = elem.options,
8452					values = jQuery.makeArray( value ),
8453					i = options.length;
8454
8455				while ( i-- ) {
8456					option = options[ i ];
8457
8458					/* eslint-disable no-cond-assign */
8459
8460					if ( option.selected =
8461						jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1
8462					) {
8463						optionSet = true;
8464					}
8465
8466					/* eslint-enable no-cond-assign */
8467				}
8468
8469				// Force browsers to behave consistently when non-matching value is set
8470				if ( !optionSet ) {
8471					elem.selectedIndex = -1;
8472				}
8473				return values;
8474			}
8475		}
8476	}
8477} );
8478
8479// Radios and checkboxes getter/setter
8480jQuery.each( [ "radio", "checkbox" ], function() {
8481	jQuery.valHooks[ this ] = {
8482		set: function( elem, value ) {
8483			if ( Array.isArray( value ) ) {
8484				return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );
8485			}
8486		}
8487	};
8488	if ( !support.checkOn ) {
8489		jQuery.valHooks[ this ].get = function( elem ) {
8490			return elem.getAttribute( "value" ) === null ? "on" : elem.value;
8491		};
8492	}
8493} );
8494
8495
8496
8497
8498// Return jQuery for attributes-only inclusion
8499var location = window.location;
8500
8501var nonce = { guid: Date.now() };
8502
8503var rquery = ( /\?/ );
8504
8505
8506
8507// Cross-browser xml parsing
8508jQuery.parseXML = function( data ) {
8509	var xml, parserErrorElem;
8510	if ( !data || typeof data !== "string" ) {
8511		return null;
8512	}
8513
8514	// Support: IE 9 - 11 only
8515	// IE throws on parseFromString with invalid input.
8516	try {
8517		xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
8518	} catch ( e ) {}
8519
8520	parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ];
8521	if ( !xml || parserErrorElem ) {
8522		jQuery.error( "Invalid XML: " + (
8523			parserErrorElem ?
8524				jQuery.map( parserErrorElem.childNodes, function( el ) {
8525					return el.textContent;
8526				} ).join( "\n" ) :
8527				data
8528		) );
8529	}
8530	return xml;
8531};
8532
8533
8534var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
8535	stopPropagationCallback = function( e ) {
8536		e.stopPropagation();
8537	};
8538
8539jQuery.extend( jQuery.event, {
8540
8541	trigger: function( event, data, elem, onlyHandlers ) {
8542
8543		var i, cur, tmp, bubbleType, ontype, handle, special, lastElement,
8544			eventPath = [ elem || document ],
8545			type = hasOwn.call( event, "type" ) ? event.type : event,
8546			namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : [];
8547
8548		cur = lastElement = tmp = elem = elem || document;
8549
8550		// Don't do events on text and comment nodes
8551		if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
8552			return;
8553		}
8554
8555		// focus/blur morphs to focusin/out; ensure we're not firing them right now
8556		if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
8557			return;
8558		}
8559
8560		if ( type.indexOf( "." ) > -1 ) {
8561
8562			// Namespaced trigger; create a regexp to match event type in handle()
8563			namespaces = type.split( "." );
8564			type = namespaces.shift();
8565			namespaces.sort();
8566		}
vendor: 6,524 bytes, lines 8567-8816
8567		ontype = type.indexOf( ":" ) < 0 && "on" + type;
8568
8569		// Caller can pass in a jQuery.Event object, Object, or just an event type string
8570		event = event[ jQuery.expando ] ?
8571			event :
8572			new jQuery.Event( type, typeof event === "object" && event );
8573
8574		// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
8575		event.isTrigger = onlyHandlers ? 2 : 3;
8576		event.namespace = namespaces.join( "." );
8577		event.rnamespace = event.namespace ?
8578			new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) :
8579			null;
8580
8581		// Clean up the event in case it is being reused
8582		event.result = undefined;
8583		if ( !event.target ) {
8584			event.target = elem;
8585		}
8586
8587		// Clone any incoming data and prepend the event, creating the handler arg list
8588		data = data == null ?
8589			[ event ] :
8590			jQuery.makeArray( data, [ event ] );
8591
8592		// Allow special events to draw outside the lines
8593		special = jQuery.event.special[ type ] || {};
8594		if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {
8595			return;
8596		}
8597
8598		// Determine event propagation path in advance, per W3C events spec (trac-9951)
8599		// Bubble up to document, then to window; watch for a global ownerDocument var (trac-9724)
8600		if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) {
8601
8602			bubbleType = special.delegateType || type;
8603			if ( !rfocusMorph.test( bubbleType + type ) ) {
8604				cur = cur.parentNode;
8605			}
8606			for ( ; cur; cur = cur.parentNode ) {
8607				eventPath.push( cur );
8608				tmp = cur;
8609			}
8610
8611			// Only add window if we got to document (e.g., not plain obj or detached DOM)
8612			if ( tmp === ( elem.ownerDocument || document ) ) {
8613				eventPath.push( tmp.defaultView || tmp.parentWindow || window );
8614			}
8615		}
8616
8617		// Fire handlers on the event path
8618		i = 0;
8619		while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {
8620			lastElement = cur;
8621			event.type = i > 1 ?
8622				bubbleType :
8623				special.bindType || type;
8624
8625			// jQuery handler
8626			handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] &&
8627				dataPriv.get( cur, "handle" );
8628			if ( handle ) {
8629				handle.apply( cur, data );
8630			}
8631
8632			// Native handler
8633			handle = ontype && cur[ ontype ];
8634			if ( handle && handle.apply && acceptData( cur ) ) {
8635				event.result = handle.apply( cur, data );
8636				if ( event.result === false ) {
8637					event.preventDefault();
8638				}
8639			}
8640		}
8641		event.type = type;
8642
8643		// If nobody prevented the default action, do it now
8644		if ( !onlyHandlers && !event.isDefaultPrevented() ) {
8645
8646			if ( ( !special._default ||
8647				special._default.apply( eventPath.pop(), data ) === false ) &&
8648				acceptData( elem ) ) {
8649
8650				// Call a native DOM method on the target with the same name as the event.
8651				// Don't do default actions on window, that's where global variables be (trac-6170)
8652				if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) {
8653
8654					// Don't re-trigger an onFOO event when we call its FOO() method
8655					tmp = elem[ ontype ];
8656
8657					if ( tmp ) {
8658						elem[ ontype ] = null;
8659					}
8660
8661					// Prevent re-triggering of the same event, since we already bubbled it above
8662					jQuery.event.triggered = type;
8663
8664					if ( event.isPropagationStopped() ) {
8665						lastElement.addEventListener( type, stopPropagationCallback );
8666					}
8667
8668					elem[ type ]();
8669
8670					if ( event.isPropagationStopped() ) {
8671						lastElement.removeEventListener( type, stopPropagationCallback );
8672					}
8673
8674					jQuery.event.triggered = undefined;
8675
8676					if ( tmp ) {
8677						elem[ ontype ] = tmp;
8678					}
8679				}
8680			}
8681		}
8682
8683		return event.result;
8684	},
8685
8686	// Piggyback on a donor event to simulate a different one
8687	// Used only for `focus(in | out)` events
8688	simulate: function( type, elem, event ) {
8689		var e = jQuery.extend(
8690			new jQuery.Event(),
8691			event,
8692			{
8693				type: type,
8694				isSimulated: true
8695			}
8696		);
8697
8698		jQuery.event.trigger( e, null, elem );
8699	}
8700
8701} );
8702
8703jQuery.fn.extend( {
8704
8705	trigger: function( type, data ) {
8706		return this.each( function() {
8707			jQuery.event.trigger( type, data, this );
8708		} );
8709	},
8710	triggerHandler: function( type, data ) {
8711		var elem = this[ 0 ];
8712		if ( elem ) {
8713			return jQuery.event.trigger( type, data, elem, true );
8714		}
8715	}
8716} );
8717
8718
8719var
8720	rbracket = /\[\]$/,
8721	rCRLF = /\r?\n/g,
8722	rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,
8723	rsubmittable = /^(?:input|select|textarea|keygen)/i;
8724
8725function buildParams( prefix, obj, traditional, add ) {
8726	var name;
8727
8728	if ( Array.isArray( obj ) ) {
8729
8730		// Serialize array item.
8731		jQuery.each( obj, function( i, v ) {
8732			if ( traditional || rbracket.test( prefix ) ) {
8733
8734				// Treat each array item as a scalar.
8735				add( prefix, v );
8736
8737			} else {
8738
8739				// Item is non-scalar (array or object), encode its numeric index.
8740				buildParams(
8741					prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]",
8742					v,
8743					traditional,
8744					add
8745				);
8746			}
8747		} );
8748
8749	} else if ( !traditional && toType( obj ) === "object" ) {
8750
8751		// Serialize object item.
8752		for ( name in obj ) {
8753			buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
8754		}
8755
8756	} else {
8757
8758		// Serialize scalar item.
8759		add( prefix, obj );
8760	}
8761}
8762
8763// Serialize an array of form elements or a set of
8764// key/values into a query string
8765jQuery.param = function( a, traditional ) {
8766	var prefix,
8767		s = [],
8768		add = function( key, valueOrFunction ) {
8769
8770			// If value is a function, invoke it and use its return value
8771			var value = isFunction( valueOrFunction ) ?
8772				valueOrFunction() :
8773				valueOrFunction;
8774
8775			s[ s.length ] = encodeURIComponent( key ) + "=" +
8776				encodeURIComponent( value == null ? "" : value );
8777		};
8778
8779	if ( a == null ) {
8780		return "";
8781	}
8782
8783	// If an array was passed in, assume that it is an array of form elements.
8784	if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
8785
8786		// Serialize the form elements
8787		jQuery.each( a, function() {
8788			add( this.name, this.value );
8789		} );
8790
8791	} else {
8792
8793		// If traditional, encode the "old" way (the way 1.3.2 or older
8794		// did it), otherwise encode params recursively.
8795		for ( prefix in a ) {
8796			buildParams( prefix, a[ prefix ], traditional, add );
8797		}
8798	}
8799
8800	// Return the resulting serialization
8801	return s.join( "&" );
8802};
8803
8804jQuery.fn.extend( {
8805	serialize: function() {
8806		return jQuery.param( this.serializeArray() );
8807	},
8808	serializeArray: function() {
8809		return this.map( function() {
8810
8811			// Can add propHook for "elements" to filter or add form elements
8812			var elements = jQuery.prop( this, "elements" );
8813			return elements ? jQuery.makeArray( elements ) : this;
8814		} ).filter( function() {
8815			var type = this.type;
8816
vendor: 32,437 bytes, lines 8817-10070
8817			// Use .is( ":disabled" ) so that fieldset[disabled] works
8818			return this.name && !jQuery( this ).is( ":disabled" ) &&
8819				rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&
8820				( this.checked || !rcheckableType.test( type ) );
8821		} ).map( function( _i, elem ) {
8822			var val = jQuery( this ).val();
8823
8824			if ( val == null ) {
8825				return null;
8826			}
8827
8828			if ( Array.isArray( val ) ) {
8829				return jQuery.map( val, function( val ) {
8830					return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
8831				} );
8832			}
8833
8834			return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
8835		} ).get();
8836	}
8837} );
8838
8839
8840var
8841	r20 = /%20/g,
8842	rhash = /#.*$/,
8843	rantiCache = /([?&])_=[^&]*/,
8844	rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg,
8845
8846	// trac-7653, trac-8125, trac-8152: local protocol detection
8847	rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
8848	rnoContent = /^(?:GET|HEAD)$/,
8849	rprotocol = /^\/\//,
8850
8851	/* Prefilters
8852	 * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
8853	 * 2) These are called:
8854	 *    - BEFORE asking for a transport
8855	 *    - AFTER param serialization (s.data is a string if s.processData is true)
8856	 * 3) key is the dataType
8857	 * 4) the catchall symbol "*" can be used
8858	 * 5) execution will start with transport dataType and THEN continue down to "*" if needed
8859	 */
8860	prefilters = {},
8861
8862	/* Transports bindings
8863	 * 1) key is the dataType
8864	 * 2) the catchall symbol "*" can be used
8865	 * 3) selection will start with transport dataType and THEN go to "*" if needed
8866	 */
8867	transports = {},
8868
8869	// Avoid comment-prolog char sequence (trac-10098); must appease lint and evade compression
8870	allTypes = "*/".concat( "*" ),
8871
8872	// Anchor tag for parsing the document origin
8873	originAnchor = document.createElement( "a" );
8874
8875originAnchor.href = location.href;
8876
8877// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
8878function addToPrefiltersOrTransports( structure ) {
8879
8880	// dataTypeExpression is optional and defaults to "*"
8881	return function( dataTypeExpression, func ) {
8882
8883		if ( typeof dataTypeExpression !== "string" ) {
8884			func = dataTypeExpression;
8885			dataTypeExpression = "*";
8886		}
8887
8888		var dataType,
8889			i = 0,
8890			dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || [];
8891
8892		if ( isFunction( func ) ) {
8893
8894			// For each dataType in the dataTypeExpression
8895			while ( ( dataType = dataTypes[ i++ ] ) ) {
8896
8897				// Prepend if requested
8898				if ( dataType[ 0 ] === "+" ) {
8899					dataType = dataType.slice( 1 ) || "*";
8900					( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );
8901
8902				// Otherwise append
8903				} else {
8904					( structure[ dataType ] = structure[ dataType ] || [] ).push( func );
8905				}
8906			}
8907		}
8908	};
8909}
8910
8911// Base inspection function for prefilters and transports
8912function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {
8913
8914	var inspected = {},
8915		seekingTransport = ( structure === transports );
8916
8917	function inspect( dataType ) {
8918		var selected;
8919		inspected[ dataType ] = true;
8920		jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {
8921			var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );
8922			if ( typeof dataTypeOrTransport === "string" &&
8923				!seekingTransport && !inspected[ dataTypeOrTransport ] ) {
8924
8925				options.dataTypes.unshift( dataTypeOrTransport );
8926				inspect( dataTypeOrTransport );
8927				return false;
8928			} else if ( seekingTransport ) {
8929				return !( selected = dataTypeOrTransport );
8930			}
8931		} );
8932		return selected;
8933	}
8934
8935	return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" );
8936}
8937
8938// A special extend for ajax options
8939// that takes "flat" options (not to be deep extended)
8940// Fixes trac-9887
8941function ajaxExtend( target, src ) {
8942	var key, deep,
8943		flatOptions = jQuery.ajaxSettings.flatOptions || {};
8944
8945	for ( key in src ) {
8946		if ( src[ key ] !== undefined ) {
8947			( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];
8948		}
8949	}
8950	if ( deep ) {
8951		jQuery.extend( true, target, deep );
8952	}
8953
8954	return target;
8955}
8956
8957/* Handles responses to an ajax request:
8958 * - finds the right dataType (mediates between content-type and expected dataType)
8959 * - returns the corresponding response
8960 */
8961function ajaxHandleResponses( s, jqXHR, responses ) {
8962
8963	var ct, type, finalDataType, firstDataType,
8964		contents = s.contents,
8965		dataTypes = s.dataTypes;
8966
8967	// Remove auto dataType and get content-type in the process
8968	while ( dataTypes[ 0 ] === "*" ) {
8969		dataTypes.shift();
8970		if ( ct === undefined ) {
8971			ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" );
8972		}
8973	}
8974
8975	// Check if we're dealing with a known content-type
8976	if ( ct ) {
8977		for ( type in contents ) {
8978			if ( contents[ type ] && contents[ type ].test( ct ) ) {
8979				dataTypes.unshift( type );
8980				break;
8981			}
8982		}
8983	}
8984
8985	// Check to see if we have a response for the expected dataType
8986	if ( dataTypes[ 0 ] in responses ) {
8987		finalDataType = dataTypes[ 0 ];
8988	} else {
8989
8990		// Try convertible dataTypes
8991		for ( type in responses ) {
8992			if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) {
8993				finalDataType = type;
8994				break;
8995			}
8996			if ( !firstDataType ) {
8997				firstDataType = type;
8998			}
8999		}
9000
9001		// Or just use first one
9002		finalDataType = finalDataType || firstDataType;
9003	}
9004
9005	// If we found a dataType
9006	// We add the dataType to the list if needed
9007	// and return the corresponding response
9008	if ( finalDataType ) {
9009		if ( finalDataType !== dataTypes[ 0 ] ) {
9010			dataTypes.unshift( finalDataType );
9011		}
9012		return responses[ finalDataType ];
9013	}
9014}
9015
9016/* Chain conversions given the request and the original response
9017 * Also sets the responseXXX fields on the jqXHR instance
9018 */
9019function ajaxConvert( s, response, jqXHR, isSuccess ) {
9020	var conv2, current, conv, tmp, prev,
9021		converters = {},
9022
9023		// Work with a copy of dataTypes in case we need to modify it for conversion
9024		dataTypes = s.dataTypes.slice();
9025
9026	// Create converters map with lowercased keys
9027	if ( dataTypes[ 1 ] ) {
9028		for ( conv in s.converters ) {
9029			converters[ conv.toLowerCase() ] = s.converters[ conv ];
9030		}
9031	}
9032
9033	current = dataTypes.shift();
9034
9035	// Convert to each sequential dataType
9036	while ( current ) {
9037
9038		if ( s.responseFields[ current ] ) {
9039			jqXHR[ s.responseFields[ current ] ] = response;
9040		}
9041
9042		// Apply the dataFilter if provided
9043		if ( !prev && isSuccess && s.dataFilter ) {
9044			response = s.dataFilter( response, s.dataType );
9045		}
9046
9047		prev = current;
9048		current = dataTypes.shift();
9049
9050		if ( current ) {
9051
9052			// There's only work to do if current dataType is non-auto
9053			if ( current === "*" ) {
9054
9055				current = prev;
9056
9057			// Convert response if prev dataType is non-auto and differs from current
9058			} else if ( prev !== "*" && prev !== current ) {
9059
9060				// Seek a direct converter
9061				conv = converters[ prev + " " + current ] || converters[ "* " + current ];
9062
9063				// If none found, seek a pair
9064				if ( !conv ) {
9065					for ( conv2 in converters ) {
9066
9067						// If conv2 outputs current
9068						tmp = conv2.split( " " );
9069						if ( tmp[ 1 ] === current ) {
9070
9071							// If prev can be converted to accepted input
9072							conv = converters[ prev + " " + tmp[ 0 ] ] ||
9073								converters[ "* " + tmp[ 0 ] ];
9074							if ( conv ) {
9075
9076								// Condense equivalence converters
9077								if ( conv === true ) {
9078									conv = converters[ conv2 ];
9079
9080								// Otherwise, insert the intermediate dataType
9081								} else if ( converters[ conv2 ] !== true ) {
9082									current = tmp[ 0 ];
9083									dataTypes.unshift( tmp[ 1 ] );
9084								}
9085								break;
9086							}
9087						}
9088					}
9089				}
9090
9091				// Apply converter (if not an equivalence)
9092				if ( conv !== true ) {
9093
9094					// Unless errors are allowed to bubble, catch and return them
9095					if ( conv && s.throws ) {
9096						response = conv( response );
9097					} else {
9098						try {
9099							response = conv( response );
9100						} catch ( e ) {
9101							return {
9102								state: "parsererror",
9103								error: conv ? e : "No conversion from " + prev + " to " + current
9104							};
9105						}
9106					}
9107				}
9108			}
9109		}
9110	}
9111
9112	return { state: "success", data: response };
9113}
9114
9115jQuery.extend( {
9116
9117	// Counter for holding the number of active queries
9118	active: 0,
9119
9120	// Last-Modified header cache for next request
9121	lastModified: {},
9122	etag: {},
9123
9124	ajaxSettings: {
9125		url: location.href,
9126		type: "GET",
9127		isLocal: rlocalProtocol.test( location.protocol ),
9128		global: true,
9129		processData: true,
9130		async: true,
9131		contentType: "application/x-www-form-urlencoded; charset=UTF-8",
9132
9133		/*
9134		timeout: 0,
9135		data: null,
9136		dataType: null,
9137		username: null,
9138		password: null,
9139		cache: null,
9140		throws: false,
9141		traditional: false,
9142		headers: {},
9143		*/
9144
9145		accepts: {
9146			"*": allTypes,
9147			text: "text/plain",
9148			html: "text/html",
9149			xml: "application/xml, text/xml",
9150			json: "application/json, text/javascript"
9151		},
9152
9153		contents: {
9154			xml: /\bxml\b/,
9155			html: /\bhtml/,
9156			json: /\bjson\b/
9157		},
9158
9159		responseFields: {
9160			xml: "responseXML",
9161			text: "responseText",
9162			json: "responseJSON"
9163		},
9164
9165		// Data converters
9166		// Keys separate source (or catchall "*") and destination types with a single space
9167		converters: {
9168
9169			// Convert anything to text
9170			"* text": String,
9171
9172			// Text to html (true = no transformation)
9173			"text html": true,
9174
9175			// Evaluate text as a json expression
9176			"text json": JSON.parse,
9177
9178			// Parse text as xml
9179			"text xml": jQuery.parseXML
9180		},
9181
9182		// For options that shouldn't be deep extended:
9183		// you can add your own custom options here if
9184		// and when you create one that shouldn't be
9185		// deep extended (see ajaxExtend)
9186		flatOptions: {
9187			url: true,
9188			context: true
9189		}
9190	},
9191
9192	// Creates a full fledged settings object into target
9193	// with both ajaxSettings and settings fields.
9194	// If target is omitted, writes into ajaxSettings.
9195	ajaxSetup: function( target, settings ) {
9196		return settings ?
9197
9198			// Building a settings object
9199			ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :
9200
9201			// Extending ajaxSettings
9202			ajaxExtend( jQuery.ajaxSettings, target );
9203	},
9204
9205	ajaxPrefilter: addToPrefiltersOrTransports( prefilters ),
9206	ajaxTransport: addToPrefiltersOrTransports( transports ),
9207
9208	// Main method
9209	ajax: function( url, options ) {
9210
9211		// If url is an object, simulate pre-1.5 signature
9212		if ( typeof url === "object" ) {
9213			options = url;
9214			url = undefined;
9215		}
9216
9217		// Force options to be an object
9218		options = options || {};
9219
9220		var transport,
9221
9222			// URL without anti-cache param
9223			cacheURL,
9224
9225			// Response headers
9226			responseHeadersString,
9227			responseHeaders,
9228
9229			// timeout handle
9230			timeoutTimer,
9231
9232			// Url cleanup var
9233			urlAnchor,
9234
9235			// Request state (becomes false upon send and true upon completion)
9236			completed,
9237
9238			// To know if global events are to be dispatched
9239			fireGlobals,
9240
9241			// Loop variable
9242			i,
9243
9244			// uncached part of the url
9245			uncached,
9246
9247			// Create the final options object
9248			s = jQuery.ajaxSetup( {}, options ),
9249
9250			// Callbacks context
9251			callbackContext = s.context || s,
9252
9253			// Context for global events is callbackContext if it is a DOM node or jQuery collection
9254			globalEventContext = s.context &&
9255				( callbackContext.nodeType || callbackContext.jquery ) ?
9256				jQuery( callbackContext ) :
9257				jQuery.event,
9258
9259			// Deferreds
9260			deferred = jQuery.Deferred(),
9261			completeDeferred = jQuery.Callbacks( "once memory" ),
9262
9263			// Status-dependent callbacks
9264			statusCode = s.statusCode || {},
9265
9266			// Headers (they are sent all at once)
9267			requestHeaders = {},
9268			requestHeadersNames = {},
9269
9270			// Default abort message
9271			strAbort = "canceled",
9272
9273			// Fake xhr
9274			jqXHR = {
9275				readyState: 0,
9276
9277				// Builds headers hashtable if needed
9278				getResponseHeader: function( key ) {
9279					var match;
9280					if ( completed ) {
9281						if ( !responseHeaders ) {
9282							responseHeaders = {};
9283							while ( ( match = rheaders.exec( responseHeadersString ) ) ) {
9284								responseHeaders[ match[ 1 ].toLowerCase() + " " ] =
9285									( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] )
9286										.concat( match[ 2 ] );
9287							}
9288						}
9289						match = responseHeaders[ key.toLowerCase() + " " ];
9290					}
9291					return match == null ? null : match.join( ", " );
9292				},
9293
9294				// Raw string
9295				getAllResponseHeaders: function() {
9296					return completed ? responseHeadersString : null;
9297				},
9298
9299				// Caches the header
9300				setRequestHeader: function( name, value ) {
9301					if ( completed == null ) {
9302						name = requestHeadersNames[ name.toLowerCase() ] =
9303							requestHeadersNames[ name.toLowerCase() ] || name;
9304						requestHeaders[ name ] = value;
9305					}
9306					return this;
9307				},
9308
9309				// Overrides response content-type header
9310				overrideMimeType: function( type ) {
9311					if ( completed == null ) {
9312						s.mimeType = type;
9313					}
9314					return this;
9315				},
9316
9317				// Status-dependent callbacks
9318				statusCode: function( map ) {
9319					var code;
9320					if ( map ) {
9321						if ( completed ) {
9322
9323							// Execute the appropriate callbacks
9324							jqXHR.always( map[ jqXHR.status ] );
9325						} else {
9326
9327							// Lazy-add the new callbacks in a way that preserves old ones
9328							for ( code in map ) {
9329								statusCode[ code ] = [ statusCode[ code ], map[ code ] ];
9330							}
9331						}
9332					}
9333					return this;
9334				},
9335
9336				// Cancel the request
9337				abort: function( statusText ) {
9338					var finalText = statusText || strAbort;
9339					if ( transport ) {
9340						transport.abort( finalText );
9341					}
9342					done( 0, finalText );
9343					return this;
9344				}
9345			};
9346
9347		// Attach deferreds
9348		deferred.promise( jqXHR );
9349
9350		// Add protocol if not provided (prefilters might expect it)
9351		// Handle falsy url in the settings object (trac-10093: consistency with old signature)
9352		// We also use the url parameter if available
9353		s.url = ( ( url || s.url || location.href ) + "" )
9354			.replace( rprotocol, location.protocol + "//" );
9355
9356		// Alias method option to type as per ticket trac-12004
9357		s.type = options.method || options.type || s.method || s.type;
9358
9359		// Extract dataTypes list
9360		s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ];
9361
9362		// A cross-domain request is in order when the origin doesn't match the current origin.
9363		if ( s.crossDomain == null ) {
9364			urlAnchor = document.createElement( "a" );
9365
9366			// Support: IE <=8 - 11, Edge 12 - 15
9367			// IE throws exception on accessing the href property if url is malformed,
9368			// e.g. http://example.com:80x/
9369			try {
9370				urlAnchor.href = s.url;
9371
9372				// Support: IE <=8 - 11 only
9373				// Anchor's host property isn't correctly set when s.url is relative
9374				urlAnchor.href = urlAnchor.href;
9375				s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !==
9376					urlAnchor.protocol + "//" + urlAnchor.host;
9377			} catch ( e ) {
9378
9379				// If there is an error parsing the URL, assume it is crossDomain,
9380				// it can be rejected by the transport if it is invalid
9381				s.crossDomain = true;
9382			}
9383		}
9384
9385		// Convert data if not already a string
9386		if ( s.data && s.processData && typeof s.data !== "string" ) {
9387			s.data = jQuery.param( s.data, s.traditional );
9388		}
9389
9390		// Apply prefilters
9391		inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );
9392
9393		// If request was aborted inside a prefilter, stop there
9394		if ( completed ) {
9395			return jqXHR;
9396		}
9397
9398		// We can fire global events as of now if asked to
9399		// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (trac-15118)
9400		fireGlobals = jQuery.event && s.global;
9401
9402		// Watch for a new set of requests
9403		if ( fireGlobals && jQuery.active++ === 0 ) {
9404			jQuery.event.trigger( "ajaxStart" );
9405		}
9406
9407		// Uppercase the type
9408		s.type = s.type.toUpperCase();
9409
9410		// Determine if request has content
9411		s.hasContent = !rnoContent.test( s.type );
9412
9413		// Save the URL in case we're toying with the If-Modified-Since
9414		// and/or If-None-Match header later on
9415		// Remove hash to simplify url manipulation
9416		cacheURL = s.url.replace( rhash, "" );
9417
9418		// More options handling for requests with no content
9419		if ( !s.hasContent ) {
9420
9421			// Remember the hash so we can put it back
9422			uncached = s.url.slice( cacheURL.length );
9423
9424			// If data is available and should be processed, append data to url
9425			if ( s.data && ( s.processData || typeof s.data === "string" ) ) {
9426				cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data;
9427
9428				// trac-9682: remove data so that it's not used in an eventual retry
9429				delete s.data;
9430			}
9431
9432			// Add or update anti-cache param if needed
9433			if ( s.cache === false ) {
9434				cacheURL = cacheURL.replace( rantiCache, "$1" );
9435				uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) +
9436					uncached;
9437			}
9438
9439			// Put hash and anti-cache on the URL that will be requested (gh-1732)
9440			s.url = cacheURL + uncached;
9441
9442		// Change '%20' to '+' if this is encoded form body content (gh-2658)
9443		} else if ( s.data && s.processData &&
9444			( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) {
9445			s.data = s.data.replace( r20, "+" );
9446		}
9447
9448		// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
9449		if ( s.ifModified ) {
9450			if ( jQuery.lastModified[ cacheURL ] ) {
9451				jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] );
9452			}
9453			if ( jQuery.etag[ cacheURL ] ) {
9454				jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] );
9455			}
9456		}
9457
9458		// Set the correct header, if data is being sent
9459		if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
9460			jqXHR.setRequestHeader( "Content-Type", s.contentType );
9461		}
9462
9463		// Set the Accepts header for the server, depending on the dataType
9464		jqXHR.setRequestHeader(
9465			"Accept",
9466			s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?
9467				s.accepts[ s.dataTypes[ 0 ] ] +
9468					( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) :
9469				s.accepts[ "*" ]
9470		);
9471
9472		// Check for headers option
9473		for ( i in s.headers ) {
9474			jqXHR.setRequestHeader( i, s.headers[ i ] );
9475		}
9476
9477		// Allow custom headers/mimetypes and early abort
9478		if ( s.beforeSend &&
9479			( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {
9480
9481			// Abort if not done already and return
9482			return jqXHR.abort();
9483		}
9484
9485		// Aborting is no longer a cancellation
9486		strAbort = "abort";
9487
9488		// Install callbacks on deferreds
9489		completeDeferred.add( s.complete );
9490		jqXHR.done( s.success );
9491		jqXHR.fail( s.error );
9492
9493		// Get transport
9494		transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );
9495
9496		// If no transport, we auto-abort
9497		if ( !transport ) {
9498			done( -1, "No Transport" );
9499		} else {
9500			jqXHR.readyState = 1;
9501
9502			// Send global event
9503			if ( fireGlobals ) {
9504				globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
9505			}
9506
9507			// If request was aborted inside ajaxSend, stop there
9508			if ( completed ) {
9509				return jqXHR;
9510			}
9511
9512			// Timeout
9513			if ( s.async && s.timeout > 0 ) {
9514				timeoutTimer = window.setTimeout( function() {
9515					jqXHR.abort( "timeout" );
9516				}, s.timeout );
9517			}
9518
9519			try {
9520				completed = false;
9521				transport.send( requestHeaders, done );
9522			} catch ( e ) {
9523
9524				// Rethrow post-completion exceptions
9525				if ( completed ) {
9526					throw e;
9527				}
9528
9529				// Propagate others as results
9530				done( -1, e );
9531			}
9532		}
9533
9534		// Callback for when everything is done
9535		function done( status, nativeStatusText, responses, headers ) {
9536			var isSuccess, success, error, response, modified,
9537				statusText = nativeStatusText;
9538
9539			// Ignore repeat invocations
9540			if ( completed ) {
9541				return;
9542			}
9543
9544			completed = true;
9545
9546			// Clear timeout if it exists
9547			if ( timeoutTimer ) {
9548				window.clearTimeout( timeoutTimer );
9549			}
9550
9551			// Dereference transport for early garbage collection
9552			// (no matter how long the jqXHR object will be used)
9553			transport = undefined;
9554
9555			// Cache response headers
9556			responseHeadersString = headers || "";
9557
9558			// Set readyState
9559			jqXHR.readyState = status > 0 ? 4 : 0;
9560
9561			// Determine if successful
9562			isSuccess = status >= 200 && status < 300 || status === 304;
9563
9564			// Get response data
9565			if ( responses ) {
9566				response = ajaxHandleResponses( s, jqXHR, responses );
9567			}
9568
9569			// Use a noop converter for missing script but not if jsonp
9570			if ( !isSuccess &&
9571				jQuery.inArray( "script", s.dataTypes ) > -1 &&
9572				jQuery.inArray( "json", s.dataTypes ) < 0 ) {
9573				s.converters[ "text script" ] = function() {};
9574			}
9575
9576			// Convert no matter what (that way responseXXX fields are always set)
9577			response = ajaxConvert( s, response, jqXHR, isSuccess );
9578
9579			// If successful, handle type chaining
9580			if ( isSuccess ) {
9581
9582				// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
9583				if ( s.ifModified ) {
9584					modified = jqXHR.getResponseHeader( "Last-Modified" );
9585					if ( modified ) {
9586						jQuery.lastModified[ cacheURL ] = modified;
9587					}
9588					modified = jqXHR.getResponseHeader( "etag" );
9589					if ( modified ) {
9590						jQuery.etag[ cacheURL ] = modified;
9591					}
9592				}
9593
9594				// if no content
9595				if ( status === 204 || s.type === "HEAD" ) {
9596					statusText = "nocontent";
9597
9598				// if not modified
9599				} else if ( status === 304 ) {
9600					statusText = "notmodified";
9601
9602				// If we have data, let's convert it
9603				} else {
9604					statusText = response.state;
9605					success = response.data;
9606					error = response.error;
9607					isSuccess = !error;
9608				}
9609			} else {
9610
9611				// Extract error from statusText and normalize for non-aborts
9612				error = statusText;
9613				if ( status || !statusText ) {
9614					statusText = "error";
9615					if ( status < 0 ) {
9616						status = 0;
9617					}
9618				}
9619			}
9620
9621			// Set data for the fake xhr object
9622			jqXHR.status = status;
9623			jqXHR.statusText = ( nativeStatusText || statusText ) + "";
9624
9625			// Success/Error
9626			if ( isSuccess ) {
9627				deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
9628			} else {
9629				deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
9630			}
9631
9632			// Status-dependent callbacks
9633			jqXHR.statusCode( statusCode );
9634			statusCode = undefined;
9635
9636			if ( fireGlobals ) {
9637				globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError",
9638					[ jqXHR, s, isSuccess ? success : error ] );
9639			}
9640
9641			// Complete
9642			completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );
9643
9644			if ( fireGlobals ) {
9645				globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );
9646
9647				// Handle the global AJAX counter
9648				if ( !( --jQuery.active ) ) {
9649					jQuery.event.trigger( "ajaxStop" );
9650				}
9651			}
9652		}
9653
9654		return jqXHR;
9655	},
9656
9657	getJSON: function( url, data, callback ) {
9658		return jQuery.get( url, data, callback, "json" );
9659	},
9660
9661	getScript: function( url, callback ) {
9662		return jQuery.get( url, undefined, callback, "script" );
9663	}
9664} );
9665
9666jQuery.each( [ "get", "post" ], function( _i, method ) {
9667	jQuery[ method ] = function( url, data, callback, type ) {
9668
9669		// Shift arguments if data argument was omitted
9670		if ( isFunction( data ) ) {
9671			type = type || callback;
9672			callback = data;
9673			data = undefined;
9674		}
9675
9676		// The url can be an options object (which then must have .url)
9677		return jQuery.ajax( jQuery.extend( {
9678			url: url,
9679			type: method,
9680			dataType: type,
9681			data: data,
9682			success: callback
9683		}, jQuery.isPlainObject( url ) && url ) );
9684	};
9685} );
9686
9687jQuery.ajaxPrefilter( function( s ) {
9688	var i;
9689	for ( i in s.headers ) {
9690		if ( i.toLowerCase() === "content-type" ) {
9691			s.contentType = s.headers[ i ] || "";
9692		}
9693	}
9694} );
9695
9696
9697jQuery._evalUrl = function( url, options, doc ) {
9698	return jQuery.ajax( {
9699		url: url,
9700
9701		// Make this explicit, since user can override this through ajaxSetup (trac-11264)
9702		type: "GET",
9703		dataType: "script",
9704		cache: true,
9705		async: false,
9706		global: false,
9707
9708		// Only evaluate the response if it is successful (gh-4126)
9709		// dataFilter is not invoked for failure responses, so using it instead
9710		// of the default converter is kludgy but it works.
9711		converters: {
9712			"text script": function() {}
9713		},
9714		dataFilter: function( response ) {
9715			jQuery.globalEval( response, options, doc );
9716		}
9717	} );
9718};
9719
9720
9721jQuery.fn.extend( {
9722	wrapAll: function( html ) {
9723		var wrap;
9724
9725		if ( this[ 0 ] ) {
9726			if ( isFunction( html ) ) {
9727				html = html.call( this[ 0 ] );
9728			}
9729
9730			// The elements to wrap the target around
9731			wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );
9732
9733			if ( this[ 0 ].parentNode ) {
9734				wrap.insertBefore( this[ 0 ] );
9735			}
9736
9737			wrap.map( function() {
9738				var elem = this;
9739
9740				while ( elem.firstElementChild ) {
9741					elem = elem.firstElementChild;
9742				}
9743
9744				return elem;
9745			} ).append( this );
9746		}
9747
9748		return this;
9749	},
9750
9751	wrapInner: function( html ) {
9752		if ( isFunction( html ) ) {
9753			return this.each( function( i ) {
9754				jQuery( this ).wrapInner( html.call( this, i ) );
9755			} );
9756		}
9757
9758		return this.each( function() {
9759			var self = jQuery( this ),
9760				contents = self.contents();
9761
9762			if ( contents.length ) {
9763				contents.wrapAll( html );
9764
9765			} else {
9766				self.append( html );
9767			}
9768		} );
9769	},
9770
9771	wrap: function( html ) {
9772		var htmlIsFunction = isFunction( html );
9773
9774		return this.each( function( i ) {
9775			jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html );
9776		} );
9777	},
9778
9779	unwrap: function( selector ) {
9780		this.parent( selector ).not( "body" ).each( function() {
9781			jQuery( this ).replaceWith( this.childNodes );
9782		} );
9783		return this;
9784	}
9785} );
9786
9787
9788jQuery.expr.pseudos.hidden = function( elem ) {
9789	return !jQuery.expr.pseudos.visible( elem );
9790};
9791jQuery.expr.pseudos.visible = function( elem ) {
9792	return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );
9793};
9794
9795
9796
9797
9798jQuery.ajaxSettings.xhr = function() {
9799	try {
9800		return new window.XMLHttpRequest();
9801	} catch ( e ) {}
9802};
9803
9804var xhrSuccessStatus = {
9805
9806		// File protocol always yields status code 0, assume 200
9807		0: 200,
9808
9809		// Support: IE <=9 only
9810		// trac-1450: sometimes IE returns 1223 when it should be 204
9811		1223: 204
9812	},
9813	xhrSupported = jQuery.ajaxSettings.xhr();
9814
9815support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported );
9816support.ajax = xhrSupported = !!xhrSupported;
9817
9818jQuery.ajaxTransport( function( options ) {
9819	var callback, errorCallback;
9820
9821	// Cross domain only allowed if supported through XMLHttpRequest
9822	if ( support.cors || xhrSupported && !options.crossDomain ) {
9823		return {
9824			send: function( headers, complete ) {
9825				var i,
9826					xhr = options.xhr();
9827
9828				xhr.open(
9829					options.type,
9830					options.url,
9831					options.async,
9832					options.username,
9833					options.password
9834				);
9835
9836				// Apply custom fields if provided
9837				if ( options.xhrFields ) {
9838					for ( i in options.xhrFields ) {
9839						xhr[ i ] = options.xhrFields[ i ];
9840					}
9841				}
9842
9843				// Override mime type if needed
9844				if ( options.mimeType && xhr.overrideMimeType ) {
9845					xhr.overrideMimeType( options.mimeType );
9846				}
9847
9848				// X-Requested-With header
9849				// For cross-domain requests, seeing as conditions for a preflight are
9850				// akin to a jigsaw puzzle, we simply never set it to be sure.
9851				// (it can always be set on a per-request basis or even using ajaxSetup)
9852				// For same-domain requests, won't change header if already provided.
9853				if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) {
9854					headers[ "X-Requested-With" ] = "XMLHttpRequest";
9855				}
9856
9857				// Set headers
9858				for ( i in headers ) {
9859					xhr.setRequestHeader( i, headers[ i ] );
9860				}
9861
9862				// Callback
9863				callback = function( type ) {
9864					return function() {
9865						if ( callback ) {
9866							callback = errorCallback = xhr.onload =
9867								xhr.onerror = xhr.onabort = xhr.ontimeout =
9868									xhr.onreadystatechange = null;
9869
9870							if ( type === "abort" ) {
9871								xhr.abort();
9872							} else if ( type === "error" ) {
9873
9874								// Support: IE <=9 only
9875								// On a manual native abort, IE9 throws
9876								// errors on any property access that is not readyState
9877								if ( typeof xhr.status !== "number" ) {
9878									complete( 0, "error" );
9879								} else {
9880									complete(
9881
9882										// File: protocol always yields status 0; see trac-8605, trac-14207
9883										xhr.status,
9884										xhr.statusText
9885									);
9886								}
9887							} else {
9888								complete(
9889									xhrSuccessStatus[ xhr.status ] || xhr.status,
9890									xhr.statusText,
9891
9892									// Support: IE <=9 only
9893									// IE9 has no XHR2 but throws on binary (trac-11426)
9894									// For XHR2 non-text, let the caller handle it (gh-2498)
9895									( xhr.responseType || "text" ) !== "text"  ||
9896									typeof xhr.responseText !== "string" ?
9897										{ binary: xhr.response } :
9898										{ text: xhr.responseText },
9899									xhr.getAllResponseHeaders()
9900								);
9901							}
9902						}
9903					};
9904				};
9905
9906				// Listen to events
9907				xhr.onload = callback();
9908				errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" );
9909
9910				// Support: IE 9 only
9911				// Use onreadystatechange to replace onabort
9912				// to handle uncaught aborts
9913				if ( xhr.onabort !== undefined ) {
9914					xhr.onabort = errorCallback;
9915				} else {
9916					xhr.onreadystatechange = function() {
9917
9918						// Check readyState before timeout as it changes
9919						if ( xhr.readyState === 4 ) {
9920
9921							// Allow onerror to be called first,
9922							// but that will not handle a native abort
9923							// Also, save errorCallback to a variable
9924							// as xhr.onerror cannot be accessed
9925							window.setTimeout( function() {
9926								if ( callback ) {
9927									errorCallback();
9928								}
9929							} );
9930						}
9931					};
9932				}
9933
9934				// Create the abort callback
9935				callback = callback( "abort" );
9936
9937				try {
9938
9939					// Do send the request (this may raise an exception)
9940					xhr.send( options.hasContent && options.data || null );
9941				} catch ( e ) {
9942
9943					// trac-14683: Only rethrow if this hasn't been notified as an error yet
9944					if ( callback ) {
9945						throw e;
9946					}
9947				}
9948			},
9949
9950			abort: function() {
9951				if ( callback ) {
9952					callback();
9953				}
9954			}
9955		};
9956	}
9957} );
9958
9959
9960
9961
9962// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)
9963jQuery.ajaxPrefilter( function( s ) {
9964	if ( s.crossDomain ) {
9965		s.contents.script = false;
9966	}
9967} );
9968
9969// Install script dataType
9970jQuery.ajaxSetup( {
9971	accepts: {
9972		script: "text/javascript, application/javascript, " +
9973			"application/ecmascript, application/x-ecmascript"
9974	},
9975	contents: {
9976		script: /\b(?:java|ecma)script\b/
9977	},
9978	converters: {
9979		"text script": function( text ) {
9980			jQuery.globalEval( text );
9981			return text;
9982		}
9983	}
9984} );
9985
9986// Handle cache's special case and crossDomain
9987jQuery.ajaxPrefilter( "script", function( s ) {
9988	if ( s.cache === undefined ) {
9989		s.cache = false;
9990	}
9991	if ( s.crossDomain ) {
9992		s.type = "GET";
9993	}
9994} );
9995
9996// Bind script tag hack transport
9997jQuery.ajaxTransport( "script", function( s ) {
9998
9999	// This transport only deals with cross domain or forced-by-attrs requests
10000	if ( s.crossDomain || s.scriptAttrs ) {
10001		var script, callback;
10002		return {
10003			send: function( _, complete ) {
10004				script = jQuery( "<script>" )
10005					.attr( s.scriptAttrs || {} )
10006					.prop( { charset: s.scriptCharset, src: s.url } )
10007					.on( "load error", callback = function( evt ) {
10008						script.remove();
10009						callback = null;
10010						if ( evt ) {
10011							complete( evt.type === "error" ? 404 : 200, evt.type );
10012						}
10013					} );
10014
10015				// Use native DOM manipulation to avoid our domManip AJAX trickery
10016				document.head.appendChild( script[ 0 ] );
10017			},
10018			abort: function() {
10019				if ( callback ) {
10020					callback();
10021				}
10022			}
10023		};
10024	}
10025} );
10026
10027
10028
10029
10030var oldCallbacks = [],
10031	rjsonp = /(=)\?(?=&|$)|\?\?/;
10032
10033// Default jsonp settings
10034jQuery.ajaxSetup( {
10035	jsonp: "callback",
10036	jsonpCallback: function() {
10037		var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce.guid++ ) );
10038		this[ callback ] = true;
10039		return callback;
10040	}
10041} );
10042
10043// Detect, normalize options and install callbacks for jsonp requests
10044jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
10045
10046	var callbackName, overwritten, responseContainer,
10047		jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?
10048			"url" :
10049			typeof s.data === "string" &&
10050				( s.contentType || "" )
10051					.indexOf( "application/x-www-form-urlencoded" ) === 0 &&
10052				rjsonp.test( s.data ) && "data"
10053		);
10054
10055	// Handle iff the expected data type is "jsonp" or we have a parameter to set
10056	if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) {
10057
10058		// Get callback name, remembering preexisting value associated with it
10059		callbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ?
10060			s.jsonpCallback() :
10061			s.jsonpCallback;
10062
10063		// Insert callback into url or form data
10064		if ( jsonProp ) {
10065			s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName );
10066		} else if ( s.jsonp !== false ) {
10067			s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName;
10068		}
10069
10070		// Use data converter to retrieve json after script execution
vendor: 8,362 bytes, lines 10071-10382
10071		s.converters[ "script json" ] = function() {
10072			if ( !responseContainer ) {
10073				jQuery.error( callbackName + " was not called" );
10074			}
10075			return responseContainer[ 0 ];
10076		};
10077
10078		// Force json dataType
10079		s.dataTypes[ 0 ] = "json";
10080
10081		// Install callback
10082		overwritten = window[ callbackName ];
10083		window[ callbackName ] = function() {
10084			responseContainer = arguments;
10085		};
10086
10087		// Clean-up function (fires after converters)
10088		jqXHR.always( function() {
10089
10090			// If previous value didn't exist - remove it
10091			if ( overwritten === undefined ) {
10092				jQuery( window ).removeProp( callbackName );
10093
10094			// Otherwise restore preexisting value
10095			} else {
10096				window[ callbackName ] = overwritten;
10097			}
10098
10099			// Save back as free
10100			if ( s[ callbackName ] ) {
10101
10102				// Make sure that re-using the options doesn't screw things around
10103				s.jsonpCallback = originalSettings.jsonpCallback;
10104
10105				// Save the callback name for future use
10106				oldCallbacks.push( callbackName );
10107			}
10108
10109			// Call if it was a function and we have a response
10110			if ( responseContainer && isFunction( overwritten ) ) {
10111				overwritten( responseContainer[ 0 ] );
10112			}
10113
10114			responseContainer = overwritten = undefined;
10115		} );
10116
10117		// Delegate to script
10118		return "script";
10119	}
10120} );
10121
10122
10123
10124
10125// Support: Safari 8 only
10126// In Safari 8 documents created via document.implementation.createHTMLDocument
10127// collapse sibling forms: the second one becomes a child of the first one.
10128// Because of that, this security measure has to be disabled in Safari 8.
10129// https://bugs.webkit.org/show_bug.cgi?id=137337
10130support.createHTMLDocument = ( function() {
10131	var body = document.implementation.createHTMLDocument( "" ).body;
10132	body.innerHTML = "<form></form><form></form>";
10133	return body.childNodes.length === 2;
10134} )();
10135
10136
10137// Argument "data" should be string of html
10138// context (optional): If specified, the fragment will be created in this context,
10139// defaults to document
10140// keepScripts (optional): If true, will include scripts passed in the html string
10141jQuery.parseHTML = function( data, context, keepScripts ) {
10142	if ( typeof data !== "string" ) {
10143		return [];
10144	}
10145	if ( typeof context === "boolean" ) {
10146		keepScripts = context;
10147		context = false;
10148	}
10149
10150	var base, parsed, scripts;
10151
10152	if ( !context ) {
10153
10154		// Stop scripts or inline event handlers from being executed immediately
10155		// by using document.implementation
10156		if ( support.createHTMLDocument ) {
10157			context = document.implementation.createHTMLDocument( "" );
10158
10159			// Set the base href for the created document
10160			// so any parsed elements with URLs
10161			// are based on the document's URL (gh-2965)
10162			base = context.createElement( "base" );
10163			base.href = document.location.href;
10164			context.head.appendChild( base );
10165		} else {
10166			context = document;
10167		}
10168	}
10169
10170	parsed = rsingleTag.exec( data );
10171	scripts = !keepScripts && [];
10172
10173	// Single tag
10174	if ( parsed ) {
10175		return [ context.createElement( parsed[ 1 ] ) ];
10176	}
10177
10178	parsed = buildFragment( [ data ], context, scripts );
10179
10180	if ( scripts && scripts.length ) {
10181		jQuery( scripts ).remove();
10182	}
10183
10184	return jQuery.merge( [], parsed.childNodes );
10185};
10186
10187
10188/**
10189 * Load a url into a page
10190 */
10191jQuery.fn.load = function( url, params, callback ) {
10192	var selector, type, response,
10193		self = this,
10194		off = url.indexOf( " " );
10195
10196	if ( off > -1 ) {
10197		selector = stripAndCollapse( url.slice( off ) );
10198		url = url.slice( 0, off );
10199	}
10200
10201	// If it's a function
10202	if ( isFunction( params ) ) {
10203
10204		// We assume that it's the callback
10205		callback = params;
10206		params = undefined;
10207
10208	// Otherwise, build a param string
10209	} else if ( params && typeof params === "object" ) {
10210		type = "POST";
10211	}
10212
10213	// If we have elements to modify, make the request
10214	if ( self.length > 0 ) {
10215		jQuery.ajax( {
10216			url: url,
10217
10218			// If "type" variable is undefined, then "GET" method will be used.
10219			// Make value of this field explicit since
10220			// user can override it through ajaxSetup method
10221			type: type || "GET",
10222			dataType: "html",
10223			data: params
10224		} ).done( function( responseText ) {
10225
10226			// Save response for use in complete callback
10227			response = arguments;
10228
10229			self.html( selector ?
10230
10231				// If a selector was specified, locate the right elements in a dummy div
10232				// Exclude scripts to avoid IE 'Permission Denied' errors
10233				jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :
10234
10235				// Otherwise use the full result
10236				responseText );
10237
10238		// If the request succeeds, this function gets "data", "status", "jqXHR"
10239		// but they are ignored because response was set above.
10240		// If it fails, this function gets "jqXHR", "status", "error"
10241		} ).always( callback && function( jqXHR, status ) {
10242			self.each( function() {
10243				callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] );
10244			} );
10245		} );
10246	}
10247
10248	return this;
10249};
10250
10251
10252
10253
10254jQuery.expr.pseudos.animated = function( elem ) {
10255	return jQuery.grep( jQuery.timers, function( fn ) {
10256		return elem === fn.elem;
10257	} ).length;
10258};
10259
10260
10261
10262
10263jQuery.offset = {
10264	setOffset: function( elem, options, i ) {
10265		var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,
10266			position = jQuery.css( elem, "position" ),
10267			curElem = jQuery( elem ),
10268			props = {};
10269
10270		// Set position first, in-case top/left are set even on static elem
10271		if ( position === "static" ) {
10272			elem.style.position = "relative";
10273		}
10274
10275		curOffset = curElem.offset();
10276		curCSSTop = jQuery.css( elem, "top" );
10277		curCSSLeft = jQuery.css( elem, "left" );
10278		calculatePosition = ( position === "absolute" || position === "fixed" ) &&
10279			( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1;
10280
10281		// Need to be able to calculate position if either
10282		// top or left is auto and position is either absolute or fixed
10283		if ( calculatePosition ) {
10284			curPosition = curElem.position();
10285			curTop = curPosition.top;
10286			curLeft = curPosition.left;
10287
10288		} else {
10289			curTop = parseFloat( curCSSTop ) || 0;
10290			curLeft = parseFloat( curCSSLeft ) || 0;
10291		}
10292
10293		if ( isFunction( options ) ) {
10294
10295			// Use jQuery.extend here to allow modification of coordinates argument (gh-1848)
10296			options = options.call( elem, i, jQuery.extend( {}, curOffset ) );
10297		}
10298
10299		if ( options.top != null ) {
10300			props.top = ( options.top - curOffset.top ) + curTop;
10301		}
10302		if ( options.left != null ) {
10303			props.left = ( options.left - curOffset.left ) + curLeft;
10304		}
10305
10306		if ( "using" in options ) {
10307			options.using.call( elem, props );
10308
10309		} else {
10310			curElem.css( props );
10311		}
10312	}
10313};
10314
10315jQuery.fn.extend( {
10316
10317	// offset() relates an element's border box to the document origin
10318	offset: function( options ) {
10319
10320		// Preserve chaining for setter
10321		if ( arguments.length ) {
10322			return options === undefined ?
10323				this :
10324				this.each( function( i ) {
10325					jQuery.offset.setOffset( this, options, i );
10326				} );
10327		}
10328
10329		var rect, win,
10330			elem = this[ 0 ];
10331
10332		if ( !elem ) {
10333			return;
10334		}
10335
10336		// Return zeros for disconnected and hidden (display: none) elements (gh-2310)
10337		// Support: IE <=11 only
10338		// Running getBoundingClientRect on a
10339		// disconnected node in IE throws an error
10340		if ( !elem.getClientRects().length ) {
10341			return { top: 0, left: 0 };
10342		}
10343
10344		// Get document-relative position by adding viewport scroll to viewport-relative gBCR
10345		rect = elem.getBoundingClientRect();
10346		win = elem.ownerDocument.defaultView;
10347		return {
10348			top: rect.top + win.pageYOffset,
10349			left: rect.left + win.pageXOffset
10350		};
10351	},
10352
10353	// position() relates an element's margin box to its offset parent's padding box
10354	// This corresponds to the behavior of CSS absolute positioning
10355	position: function() {
10356		if ( !this[ 0 ] ) {
10357			return;
10358		}
10359
10360		var offsetParent, offset, doc,
10361			elem = this[ 0 ],
10362			parentOffset = { top: 0, left: 0 };
10363
10364		// position:fixed elements are offset from the viewport, which itself always has zero offset
10365		if ( jQuery.css( elem, "position" ) === "fixed" ) {
10366
10367			// Assume position:fixed implies availability of getBoundingClientRect
10368			offset = elem.getBoundingClientRect();
10369
10370		} else {
10371			offset = this.offset();
10372
10373			// Account for the *real* offset parent, which can be the document or its root element
10374			// when a statically positioned element is identified
10375			doc = elem.ownerDocument;
10376			offsetParent = elem.offsetParent || doc.documentElement;
10377			while ( offsetParent &&
10378				( offsetParent === doc.body || offsetParent === doc.documentElement ) &&
10379				jQuery.css( offsetParent, "position" ) === "static" ) {
10380
10381				offsetParent = offsetParent.parentNode;
10382			}
vendor: 8,818 bytes, lines 10383-10676
10383			if ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) {
10384
10385				// Incorporate borders into its offset, since they are outside its content origin
10386				parentOffset = jQuery( offsetParent ).offset();
10387				parentOffset.top += jQuery.css( offsetParent, "borderTopWidth", true );
10388				parentOffset.left += jQuery.css( offsetParent, "borderLeftWidth", true );
10389			}
10390		}
10391
10392		// Subtract parent offsets and element margins
10393		return {
10394			top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ),
10395			left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true )
10396		};
10397	},
10398
10399	// This method will return documentElement in the following cases:
10400	// 1) For the element inside the iframe without offsetParent, this method will return
10401	//    documentElement of the parent window
10402	// 2) For the hidden or detached element
10403	// 3) For body or html element, i.e. in case of the html node - it will return itself
10404	//
10405	// but those exceptions were never presented as a real life use-cases
10406	// and might be considered as more preferable results.
10407	//
10408	// This logic, however, is not guaranteed and can change at any point in the future
10409	offsetParent: function() {
10410		return this.map( function() {
10411			var offsetParent = this.offsetParent;
10412
10413			while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) {
10414				offsetParent = offsetParent.offsetParent;
10415			}
10416
10417			return offsetParent || documentElement;
10418		} );
10419	}
10420} );
10421
10422// Create scrollLeft and scrollTop methods
10423jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) {
10424	var top = "pageYOffset" === prop;
10425
10426	jQuery.fn[ method ] = function( val ) {
10427		return access( this, function( elem, method, val ) {
10428
10429			// Coalesce documents and windows
10430			var win;
10431			if ( isWindow( elem ) ) {
10432				win = elem;
10433			} else if ( elem.nodeType === 9 ) {
10434				win = elem.defaultView;
10435			}
10436
10437			if ( val === undefined ) {
10438				return win ? win[ prop ] : elem[ method ];
10439			}
10440
10441			if ( win ) {
10442				win.scrollTo(
10443					!top ? val : win.pageXOffset,
10444					top ? val : win.pageYOffset
10445				);
10446
10447			} else {
10448				elem[ method ] = val;
10449			}
10450		}, method, val, arguments.length );
10451	};
10452} );
10453
10454// Support: Safari <=7 - 9.1, Chrome <=37 - 49
10455// Add the top/left cssHooks using jQuery.fn.position
10456// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084
10457// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347
10458// getComputedStyle returns percent when specified for top/left/bottom/right;
10459// rather than make the css module depend on the offset module, just check for it here
10460jQuery.each( [ "top", "left" ], function( _i, prop ) {
10461	jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
10462		function( elem, computed ) {
10463			if ( computed ) {
10464				computed = curCSS( elem, prop );
10465
10466				// If curCSS returns percentage, fallback to offset
10467				return rnumnonpx.test( computed ) ?
10468					jQuery( elem ).position()[ prop ] + "px" :
10469					computed;
10470			}
10471		}
10472	);
10473} );
10474
10475
10476// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
10477jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
10478	jQuery.each( {
10479		padding: "inner" + name,
10480		content: type,
10481		"": "outer" + name
10482	}, function( defaultExtra, funcName ) {
10483
10484		// Margin is only for outerHeight, outerWidth
10485		jQuery.fn[ funcName ] = function( margin, value ) {
10486			var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),
10487				extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" );
10488
10489			return access( this, function( elem, type, value ) {
10490				var doc;
10491
10492				if ( isWindow( elem ) ) {
10493
10494					// $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)
10495					return funcName.indexOf( "outer" ) === 0 ?
10496						elem[ "inner" + name ] :
10497						elem.document.documentElement[ "client" + name ];
10498				}
10499
10500				// Get document width or height
10501				if ( elem.nodeType === 9 ) {
10502					doc = elem.documentElement;
10503
10504					// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],
10505					// whichever is greatest
10506					return Math.max(
10507						elem.body[ "scroll" + name ], doc[ "scroll" + name ],
10508						elem.body[ "offset" + name ], doc[ "offset" + name ],
10509						doc[ "client" + name ]
10510					);
10511				}
10512
10513				return value === undefined ?
10514
10515					// Get width or height on the element, requesting but not forcing parseFloat
10516					jQuery.css( elem, type, extra ) :
10517
10518					// Set width or height on the element
10519					jQuery.style( elem, type, value, extra );
10520			}, type, chainable ? margin : undefined, chainable );
10521		};
10522	} );
10523} );
10524
10525
10526jQuery.each( [
10527	"ajaxStart",
10528	"ajaxStop",
10529	"ajaxComplete",
10530	"ajaxError",
10531	"ajaxSuccess",
10532	"ajaxSend"
10533], function( _i, type ) {
10534	jQuery.fn[ type ] = function( fn ) {
10535		return this.on( type, fn );
10536	};
10537} );
10538
10539
10540
10541
10542jQuery.fn.extend( {
10543
10544	bind: function( types, data, fn ) {
10545		return this.on( types, null, data, fn );
10546	},
10547	unbind: function( types, fn ) {
10548		return this.off( types, null, fn );
10549	},
10550
10551	delegate: function( selector, types, data, fn ) {
10552		return this.on( types, selector, data, fn );
10553	},
10554	undelegate: function( selector, types, fn ) {
10555
10556		// ( namespace ) or ( selector, types [, fn] )
10557		return arguments.length === 1 ?
10558			this.off( selector, "**" ) :
10559			this.off( types, selector || "**", fn );
10560	},
10561
10562	hover: function( fnOver, fnOut ) {
10563		return this
10564			.on( "mouseenter", fnOver )
10565			.on( "mouseleave", fnOut || fnOver );
10566	}
10567} );
10568
10569jQuery.each(
10570	( "blur focus focusin focusout resize scroll click dblclick " +
10571	"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
10572	"change select submit keydown keypress keyup contextmenu" ).split( " " ),
10573	function( _i, name ) {
10574
10575		// Handle event binding
10576		jQuery.fn[ name ] = function( data, fn ) {
10577			return arguments.length > 0 ?
10578				this.on( name, null, data, fn ) :
10579				this.trigger( name );
10580		};
10581	}
10582);
10583
10584
10585
10586
10587// Support: Android <=4.0 only
10588// Make sure we trim BOM and NBSP
10589// Require that the "whitespace run" starts from a non-whitespace
10590// to avoid O(N^2) behavior when the engine would try matching "\s+$" at each space position.
10591var rtrim = /^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;
10592
10593// Bind a function to a context, optionally partially applying any
10594// arguments.
10595// jQuery.proxy is deprecated to promote standards (specifically Function#bind)
10596// However, it is not slated for removal any time soon
10597jQuery.proxy = function( fn, context ) {
10598	var tmp, args, proxy;
10599
10600	if ( typeof context === "string" ) {
10601		tmp = fn[ context ];
10602		context = fn;
10603		fn = tmp;
10604	}
10605
10606	// Quick check to determine if target is callable, in the spec
10607	// this throws a TypeError, but we will just return undefined.
10608	if ( !isFunction( fn ) ) {
10609		return undefined;
10610	}
10611
10612	// Simulated bind
10613	args = slice.call( arguments, 2 );
10614	proxy = function() {
10615		return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
10616	};
10617
10618	// Set the guid of unique handler to the same of original handler, so it can be removed
10619	proxy.guid = fn.guid = fn.guid || jQuery.guid++;
10620
10621	return proxy;
10622};
10623
10624jQuery.holdReady = function( hold ) {
10625	if ( hold ) {
10626		jQuery.readyWait++;
10627	} else {
10628		jQuery.ready( true );
10629	}
10630};
10631jQuery.isArray = Array.isArray;
10632jQuery.parseJSON = JSON.parse;
10633jQuery.nodeName = nodeName;
10634jQuery.isFunction = isFunction;
10635jQuery.isWindow = isWindow;
10636jQuery.camelCase = camelCase;
10637jQuery.type = toType;
10638
10639jQuery.now = Date.now;
10640
10641jQuery.isNumeric = function( obj ) {
10642
10643	// As of jQuery 3.0, isNumeric is limited to
10644	// strings and numbers (primitives or objects)
10645	// that can be coerced to finite numbers (gh-2662)
10646	var type = jQuery.type( obj );
10647	return ( type === "number" || type === "string" ) &&
10648
10649		// parseFloat NaNs numeric-cast false positives ("")
10650		// ...but misinterprets leading-number strings, particularly hex literals ("0x...")
10651		// subtraction forces infinities to NaN
10652		!isNaN( obj - parseFloat( obj ) );
10653};
10654
10655jQuery.trim = function( text ) {
10656	return text == null ?
10657		"" :
10658		( text + "" ).replace( rtrim, "$1" );
10659};
10660
10661
10662
10663// Register as a named AMD module, since jQuery can be concatenated with other
10664// files that may use define, but not via a proper concatenation script that
10665// understands anonymous AMD modules. A named AMD is safest and most robust
10666// way to register. Lowercase jquery is used because AMD module names are
10667// derived from file names, and jQuery is normally delivered in a lowercase
10668// file name. Do this after creating the global so that if an AMD module wants
10669// to call noConflict to hide this version of jQuery, it will work.
10670
10671// Note that for maximum portability, libraries that are not jQuery should
10672// declare themselves as anonymous modules, and avoid setting a global if an
10673// AMD loader is present. jQuery is a special case. For more information, see
10674// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon
10675
10676if ( t
vendor: 3,161 bytes, lines 10676-10802
10676ypeof define === "function" && define.amd ) {
10677	define( "jquery", [], function() {
10678		return jQuery;
10679	} );
10680}
10681
10682
10683
10684
10685var
10686
10687	// Map over jQuery in case of overwrite
10688	_jQuery = window.jQuery,
10689
10690	// Map over the $ in case of overwrite
10691	_$ = window.$;
10692
10693jQuery.noConflict = function( deep ) {
10694	if ( window.$ === jQuery ) {
10695		window.$ = _$;
10696	}
10697
10698	if ( deep && window.jQuery === jQuery ) {
10699		window.jQuery = _jQuery;
10700	}
10701
10702	return jQuery;
10703};
10704
10705// Expose jQuery and $ identifiers, even in AMD
10706// (trac-7102#comment:10, https://github.com/jquery/jquery/pull/557)
10707// and CommonJS for browser emulators (trac-13566)
10708if ( typeof noGlobal === "undefined" ) {
10709	window.jQuery = window.$ = jQuery;
10710}
10711
10712
10713
10714
10715return jQuery;
10716} );
10717
10718/**
10719 * @popperjs/core v2.11.8 - MIT License
10720 */
10721
10722(function (global, factory) {
10723  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
10724  typeof define === 'function' && define.amd ? define(['exports'], factory) :
10725  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.Popper = {}));
10726}(this, (function (exports) { 'use strict';
10727
10728  function getWindow(node) {
10729    if (node == null) {
10730      return window;
10731    }
10732
10733    if (node.toString() !== '[object Window]') {
10734      var ownerDocument = node.ownerDocument;
10735      return ownerDocument ? ownerDocument.defaultView || window : window;
10736    }
10737
10738    return node;
10739  }
10740
10741  function isElement(node) {
10742    var OwnElement = getWindow(node).Element;
10743    return node instanceof OwnElement || node instanceof Element;
10744  }
10745
10746  function isHTMLElement(node) {
10747    var OwnElement = getWindow(node).HTMLElement;
10748    return node instanceof OwnElement || node instanceof HTMLElement;
10749  }
10750
10751  function isShadowRoot(node) {
10752    // IE 11 has no ShadowRoot
10753    if (typeof ShadowRoot === 'undefined') {
10754      return false;
10755    }
10756
10757    var OwnElement = getWindow(node).ShadowRoot;
10758    return node instanceof OwnElement || node instanceof ShadowRoot;
10759  }
10760
10761  var max = Math.max;
10762  var min = Math.min;
10763  var round = Math.round;
10764
10765  function getUAString() {
10766    var uaData = navigator.userAgentData;
10767
10768    if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {
10769      return uaData.brands.map(function (item) {
10770        return item.brand + "/" + item.version;
10771      }).join(' ');
10772    }
10773
10774    return navigator.userAgent;
10775  }
10776
10777  function isLayoutViewport() {
10778    return !/^((?!chrome|android).)*safari/i.test(getUAString());
10779  }
10780
10781  function getBoundingClientRect(element, includeScale, isFixedStrategy) {
10782    if (includeScale === void 0) {
10783      includeScale = false;
10784    }
10785
10786    if (isFixedStrategy === void 0) {
10787      isFixedStrategy = false;
10788    }
10789
10790    var clientRect = element.getBoundingClientRect();
10791    var scaleX = 1;
10792    var scaleY = 1;
10793
10794    if (includeScale && isHTMLElement(element)) {
10795      scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;
10796      scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;
10797    }
10798
10799    var _ref = isElement(element) ? getWindow(element) : window,
10800        visualViewport = _ref.visualViewport;
10801
10802    var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;
vendor: 6,462 bytes, lines 10803-11000
10803    var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;
10804    var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;
10805    var width = clientRect.width / scaleX;
10806    var height = clientRect.height / scaleY;
10807    return {
10808      width: width,
10809      height: height,
10810      top: y,
10811      right: x + width,
10812      bottom: y + height,
10813      left: x,
10814      x: x,
10815      y: y
10816    };
10817  }
10818
10819  function getWindowScroll(node) {
10820    var win = getWindow(node);
10821    var scrollLeft = win.pageXOffset;
10822    var scrollTop = win.pageYOffset;
10823    return {
10824      scrollLeft: scrollLeft,
10825      scrollTop: scrollTop
10826    };
10827  }
10828
10829  function getHTMLElementScroll(element) {
10830    return {
10831      scrollLeft: element.scrollLeft,
10832      scrollTop: element.scrollTop
10833    };
10834  }
10835
10836  function getNodeScroll(node) {
10837    if (node === getWindow(node) || !isHTMLElement(node)) {
10838      return getWindowScroll(node);
10839    } else {
10840      return getHTMLElementScroll(node);
10841    }
10842  }
10843
10844  function getNodeName(element) {
10845    return element ? (element.nodeName || '').toLowerCase() : null;
10846  }
10847
10848  function getDocumentElement(element) {
10849    // $FlowFixMe[incompatible-return]: assume body is always available
10850    return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]
10851    element.document) || window.document).documentElement;
10852  }
10853
10854  function getWindowScrollBarX(element) {
10855    // If <html> has a CSS width greater than the viewport, then this will be
10856    // incorrect for RTL.
10857    // Popper 1 is broken in this case and never had a bug report so let's assume
10858    // it's not an issue. I don't think anyone ever specifies width on <html>
10859    // anyway.
10860    // Browsers where the left scrollbar doesn't cause an issue report `0` for
10861    // this (e.g. Edge 2019, IE11, Safari)
10862    return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;
10863  }
10864
10865  function getComputedStyle(element) {
10866    return getWindow(element).getComputedStyle(element);
10867  }
10868
10869  function isScrollParent(element) {
10870    // Firefox wants us to check `-x` and `-y` variations as well
10871    var _getComputedStyle = getComputedStyle(element),
10872        overflow = _getComputedStyle.overflow,
10873        overflowX = _getComputedStyle.overflowX,
10874        overflowY = _getComputedStyle.overflowY;
10875
10876    return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);
10877  }
10878
10879  function isElementScaled(element) {
10880    var rect = element.getBoundingClientRect();
10881    var scaleX = round(rect.width) / element.offsetWidth || 1;
10882    var scaleY = round(rect.height) / element.offsetHeight || 1;
10883    return scaleX !== 1 || scaleY !== 1;
10884  } // Returns the composite rect of an element relative to its offsetParent.
10885  // Composite means it takes into account transforms as well as layout.
10886
10887
10888  function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {
10889    if (isFixed === void 0) {
10890      isFixed = false;
10891    }
10892
10893    var isOffsetParentAnElement = isHTMLElement(offsetParent);
10894    var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);
10895    var documentElement = getDocumentElement(offsetParent);
10896    var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);
10897    var scroll = {
10898      scrollLeft: 0,
10899      scrollTop: 0
10900    };
10901    var offsets = {
10902      x: 0,
10903      y: 0
10904    };
10905
10906    if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
10907      if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078
10908      isScrollParent(documentElement)) {
10909        scroll = getNodeScroll(offsetParent);
10910      }
10911
10912      if (isHTMLElement(offsetParent)) {
10913        offsets = getBoundingClientRect(offsetParent, true);
10914        offsets.x += offsetParent.clientLeft;
10915        offsets.y += offsetParent.clientTop;
10916      } else if (documentElement) {
10917        offsets.x = getWindowScrollBarX(documentElement);
10918      }
10919    }
10920
10921    return {
10922      x: rect.left + scroll.scrollLeft - offsets.x,
10923      y: rect.top + scroll.scrollTop - offsets.y,
10924      width: rect.width,
10925      height: rect.height
10926    };
10927  }
10928
10929  // means it doesn't take into account transforms.
10930
10931  function getLayoutRect(element) {
10932    var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.
10933    // Fixes https://github.com/popperjs/popper-core/issues/1223
10934
10935    var width = element.offsetWidth;
10936    var height = element.offsetHeight;
10937
10938    if (Math.abs(clientRect.width - width) <= 1) {
10939      width = clientRect.width;
10940    }
10941
10942    if (Math.abs(clientRect.height - height) <= 1) {
10943      height = clientRect.height;
10944    }
10945
10946    return {
10947      x: element.offsetLeft,
10948      y: element.offsetTop,
10949      width: width,
10950      height: height
10951    };
10952  }
10953
10954  function getParentNode(element) {
10955    if (getNodeName(element) === 'html') {
10956      return element;
10957    }
10958
10959    return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle
10960      // $FlowFixMe[incompatible-return]
10961      // $FlowFixMe[prop-missing]
10962      element.assignedSlot || // step into the shadow DOM of the parent of a slotted node
10963      element.parentNode || ( // DOM Element detected
10964      isShadowRoot(element) ? element.host : null) || // ShadowRoot detected
10965      // $FlowFixMe[incompatible-call]: HTMLElement is a Node
10966      getDocumentElement(element) // fallback
10967
10968    );
10969  }
10970
10971  function getScrollParent(node) {
10972    if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {
10973      // $FlowFixMe[incompatible-return]: assume body is always available
10974      return node.ownerDocument.body;
10975    }
10976
10977    if (isHTMLElement(node) && isScrollParent(node)) {
10978      return node;
10979    }
10980
10981    return getScrollParent(getParentNode(node));
10982  }
10983
10984  /*
10985  given a DOM element, return the list of all scroll parents, up the list of ancesors
10986  until we get to the top window object. This list is what we attach scroll listeners
10987  to, because if any of these parent elements scroll, we'll need to re-calculate the
10988  reference element's position.
10989  */
10990
10991  function listScrollParents(element, list) {
10992    var _element$ownerDocumen;
10993
10994    if (list === void 0) {
10995      list = [];
10996    }
10997
10998    var scrollParent = getScrollParent(element);
10999    var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);
11000    var win = getWindow(scrollParent);
vendor: 3,555 bytes, lines 11001-11090
11001    var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;
11002    var updatedList = list.concat(target);
11003    return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here
11004    updatedList.concat(listScrollParents(getParentNode(target)));
11005  }
11006
11007  function isTableElement(element) {
11008    return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;
11009  }
11010
11011  function getTrueOffsetParent(element) {
11012    if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837
11013    getComputedStyle(element).position === 'fixed') {
11014      return null;
11015    }
11016
11017    return element.offsetParent;
11018  } // `.offsetParent` reports `null` for fixed elements, while absolute elements
11019  // return the containing block
11020
11021
11022  function getContainingBlock(element) {
11023    var isFirefox = /firefox/i.test(getUAString());
11024    var isIE = /Trident/i.test(getUAString());
11025
11026    if (isIE && isHTMLElement(element)) {
11027      // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport
11028      var elementCss = getComputedStyle(element);
11029
11030      if (elementCss.position === 'fixed') {
11031        return null;
11032      }
11033    }
11034
11035    var currentNode = getParentNode(element);
11036
11037    if (isShadowRoot(currentNode)) {
11038      currentNode = currentNode.host;
11039    }
11040
11041    while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {
11042      var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that
11043      // create a containing block.
11044      // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
11045
11046      if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {
11047        return currentNode;
11048      } else {
11049        currentNode = currentNode.parentNode;
11050      }
11051    }
11052
11053    return null;
11054  } // Gets the closest ancestor positioned element. Handles some edge cases,
11055  // such as table ancestors and cross browser bugs.
11056
11057
11058  function getOffsetParent(element) {
11059    var window = getWindow(element);
11060    var offsetParent = getTrueOffsetParent(element);
11061
11062    while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {
11063      offsetParent = getTrueOffsetParent(offsetParent);
11064    }
11065
11066    if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {
11067      return window;
11068    }
11069
11070    return offsetParent || getContainingBlock(element) || window;
11071  }
11072
11073  var top = 'top';
11074  var bottom = 'bottom';
11075  var right = 'right';
11076  var left = 'left';
11077  var auto = 'auto';
11078  var basePlacements = [top, bottom, right, left];
11079  var start = 'start';
11080  var end = 'end';
11081  var clippingParents = 'clippingParents';
11082  var viewport = 'viewport';
11083  var popper = 'popper';
11084  var reference = 'reference';
11085  var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {
11086    return acc.concat([placement + "-" + start, placement + "-" + end]);
11087  }, []);
11088  var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {
11089    return acc.concat([placement, placement + "-" + start, placement + "-" + end]);
11090  }, []); // modifiers that need to read the DOM
vendor: 14,402 bytes, lines 11090-11517
11090
11091
11092  var beforeRead = 'beforeRead';
11093  var read = 'read';
11094  var afterRead = 'afterRead'; // pure-logic modifiers
11095
11096  var beforeMain = 'beforeMain';
11097  var main = 'main';
11098  var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)
11099
11100  var beforeWrite = 'beforeWrite';
11101  var write = 'write';
11102  var afterWrite = 'afterWrite';
11103  var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];
11104
11105  function order(modifiers) {
11106    var map = new Map();
11107    var visited = new Set();
11108    var result = [];
11109    modifiers.forEach(function (modifier) {
11110      map.set(modifier.name, modifier);
11111    }); // On visiting object, check for its dependencies and visit them recursively
11112
11113    function sort(modifier) {
11114      visited.add(modifier.name);
11115      var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);
11116      requires.forEach(function (dep) {
11117        if (!visited.has(dep)) {
11118          var depModifier = map.get(dep);
11119
11120          if (depModifier) {
11121            sort(depModifier);
11122          }
11123        }
11124      });
11125      result.push(modifier);
11126    }
11127
11128    modifiers.forEach(function (modifier) {
11129      if (!visited.has(modifier.name)) {
11130        // check for visited object
11131        sort(modifier);
11132      }
11133    });
11134    return result;
11135  }
11136
11137  function orderModifiers(modifiers) {
11138    // order based on dependencies
11139    var orderedModifiers = order(modifiers); // order based on phase
11140
11141    return modifierPhases.reduce(function (acc, phase) {
11142      return acc.concat(orderedModifiers.filter(function (modifier) {
11143        return modifier.phase === phase;
11144      }));
11145    }, []);
11146  }
11147
11148  function debounce(fn) {
11149    var pending;
11150    return function () {
11151      if (!pending) {
11152        pending = new Promise(function (resolve) {
11153          Promise.resolve().then(function () {
11154            pending = undefined;
11155            resolve(fn());
11156          });
11157        });
11158      }
11159
11160      return pending;
11161    };
11162  }
11163
11164  function mergeByName(modifiers) {
11165    var merged = modifiers.reduce(function (merged, current) {
11166      var existing = merged[current.name];
11167      merged[current.name] = existing ? Object.assign({}, existing, current, {
11168        options: Object.assign({}, existing.options, current.options),
11169        data: Object.assign({}, existing.data, current.data)
11170      }) : current;
11171      return merged;
11172    }, {}); // IE11 does not support Object.values
11173
11174    return Object.keys(merged).map(function (key) {
11175      return merged[key];
11176    });
11177  }
11178
11179  function getViewportRect(element, strategy) {
11180    var win = getWindow(element);
11181    var html = getDocumentElement(element);
11182    var visualViewport = win.visualViewport;
11183    var width = html.clientWidth;
11184    var height = html.clientHeight;
11185    var x = 0;
11186    var y = 0;
11187
11188    if (visualViewport) {
11189      width = visualViewport.width;
11190      height = visualViewport.height;
11191      var layoutViewport = isLayoutViewport();
11192
11193      if (layoutViewport || !layoutViewport && strategy === 'fixed') {
11194        x = visualViewport.offsetLeft;
11195        y = visualViewport.offsetTop;
11196      }
11197    }
11198
11199    return {
11200      width: width,
11201      height: height,
11202      x: x + getWindowScrollBarX(element),
11203      y: y
11204    };
11205  }
11206
11207  // of the `<html>` and `<body>` rect bounds if horizontally scrollable
11208
11209  function getDocumentRect(element) {
11210    var _element$ownerDocumen;
11211
11212    var html = getDocumentElement(element);
11213    var winScroll = getWindowScroll(element);
11214    var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;
11215    var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);
11216    var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);
11217    var x = -winScroll.scrollLeft + getWindowScrollBarX(element);
11218    var y = -winScroll.scrollTop;
11219
11220    if (getComputedStyle(body || html).direction === 'rtl') {
11221      x += max(html.clientWidth, body ? body.clientWidth : 0) - width;
11222    }
11223
11224    return {
11225      width: width,
11226      height: height,
11227      x: x,
11228      y: y
11229    };
11230  }
11231
11232  function contains(parent, child) {
11233    var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method
11234
11235    if (parent.contains(child)) {
11236      return true;
11237    } // then fallback to custom implementation with Shadow DOM support
11238    else if (rootNode && isShadowRoot(rootNode)) {
11239        var next = child;
11240
11241        do {
11242          if (next && parent.isSameNode(next)) {
11243            return true;
11244          } // $FlowFixMe[prop-missing]: need a better way to handle this...
11245
11246
11247          next = next.parentNode || next.host;
11248        } while (next);
11249      } // Give up, the result is false
11250
11251
11252    return false;
11253  }
11254
11255  function rectToClientRect(rect) {
11256    return Object.assign({}, rect, {
11257      left: rect.x,
11258      top: rect.y,
11259      right: rect.x + rect.width,
11260      bottom: rect.y + rect.height
11261    });
11262  }
11263
11264  function getInnerBoundingClientRect(element, strategy) {
11265    var rect = getBoundingClientRect(element, false, strategy === 'fixed');
11266    rect.top = rect.top + element.clientTop;
11267    rect.left = rect.left + element.clientLeft;
11268    rect.bottom = rect.top + element.clientHeight;
11269    rect.right = rect.left + element.clientWidth;
11270    rect.width = element.clientWidth;
11271    rect.height = element.clientHeight;
11272    rect.x = rect.left;
11273    rect.y = rect.top;
11274    return rect;
11275  }
11276
11277  function getClientRectFromMixedType(element, clippingParent, strategy) {
11278    return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
11279  } // A "clipping parent" is an overflowable container with the characteristic of
11280  // clipping (or hiding) overflowing elements with a position different from
11281  // `initial`
11282
11283
11284  function getClippingParents(element) {
11285    var clippingParents = listScrollParents(getParentNode(element));
11286    var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;
11287    var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;
11288
11289    if (!isElement(clipperElement)) {
11290      return [];
11291    } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414
11292
11293
11294    return clippingParents.filter(function (clippingParent) {
11295      return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';
11296    });
11297  } // Gets the maximum area that the element is visible in due to any number of
11298  // clipping parents
11299
11300
11301  function getClippingRect(element, boundary, rootBoundary, strategy) {
11302    var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);
11303    var clippingParents = [].concat(mainClippingParents, [rootBoundary]);
11304    var firstClippingParent = clippingParents[0];
11305    var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {
11306      var rect = getClientRectFromMixedType(element, clippingParent, strategy);
11307      accRect.top = max(rect.top, accRect.top);
11308      accRect.right = min(rect.right, accRect.right);
11309      accRect.bottom = min(rect.bottom, accRect.bottom);
11310      accRect.left = max(rect.left, accRect.left);
11311      return accRect;
11312    }, getClientRectFromMixedType(element, firstClippingParent, strategy));
11313    clippingRect.width = clippingRect.right - clippingRect.left;
11314    clippingRect.height = clippingRect.bottom - clippingRect.top;
11315    clippingRect.x = clippingRect.left;
11316    clippingRect.y = clippingRect.top;
11317    return clippingRect;
11318  }
11319
11320  function getBasePlacement(placement) {
11321    return placement.split('-')[0];
11322  }
11323
11324  function getVariation(placement) {
11325    return placement.split('-')[1];
11326  }
11327
11328  function getMainAxisFromPlacement(placement) {
11329    return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';
11330  }
11331
11332  function computeOffsets(_ref) {
11333    var reference = _ref.reference,
11334        element = _ref.element,
11335        placement = _ref.placement;
11336    var basePlacement = placement ? getBasePlacement(placement) : null;
11337    var variation = placement ? getVariation(placement) : null;
11338    var commonX = reference.x + reference.width / 2 - element.width / 2;
11339    var commonY = reference.y + reference.height / 2 - element.height / 2;
11340    var offsets;
11341
11342    switch (basePlacement) {
11343      case top:
11344        offsets = {
11345          x: commonX,
11346          y: reference.y - element.height
11347        };
11348        break;
11349
11350      case bottom:
11351        offsets = {
11352          x: commonX,
11353          y: reference.y + reference.height
11354        };
11355        break;
11356
11357      case right:
11358        offsets = {
11359          x: reference.x + reference.width,
11360          y: commonY
11361        };
11362        break;
11363
11364      case left:
11365        offsets = {
11366          x: reference.x - element.width,
11367          y: commonY
11368        };
11369        break;
11370
11371      default:
11372        offsets = {
11373          x: reference.x,
11374          y: reference.y
11375        };
11376    }
11377
11378    var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;
11379
11380    if (mainAxis != null) {
11381      var len = mainAxis === 'y' ? 'height' : 'width';
11382
11383      switch (variation) {
11384        case start:
11385          offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);
11386          break;
11387
11388        case end:
11389          offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);
11390          break;
11391      }
11392    }
11393
11394    return offsets;
11395  }
11396
11397  function getFreshSideObject() {
11398    return {
11399      top: 0,
11400      right: 0,
11401      bottom: 0,
11402      left: 0
11403    };
11404  }
11405
11406  function mergePaddingObject(paddingObject) {
11407    return Object.assign({}, getFreshSideObject(), paddingObject);
11408  }
11409
11410  function expandToHashMap(value, keys) {
11411    return keys.reduce(function (hashMap, key) {
11412      hashMap[key] = value;
11413      return hashMap;
11414    }, {});
11415  }
11416
11417  function detectOverflow(state, options) {
11418    if (options === void 0) {
11419      options = {};
11420    }
11421
11422    var _options = options,
11423        _options$placement = _options.placement,
11424        placement = _options$placement === void 0 ? state.placement : _options$placement,
11425        _options$strategy = _options.strategy,
11426        strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,
11427        _options$boundary = _options.boundary,
11428        boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,
11429        _options$rootBoundary = _options.rootBoundary,
11430        rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,
11431        _options$elementConte = _options.elementContext,
11432        elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,
11433        _options$altBoundary = _options.altBoundary,
11434        altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,
11435        _options$padding = _options.padding,
11436        padding = _options$padding === void 0 ? 0 : _options$padding;
11437    var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));
11438    var altContext = elementContext === popper ? reference : popper;
11439    var popperRect = state.rects.popper;
11440    var element = state.elements[altBoundary ? altContext : elementContext];
11441    var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);
11442    var referenceClientRect = getBoundingClientRect(state.elements.reference);
11443    var popperOffsets = computeOffsets({
11444      reference: referenceClientRect,
11445      element: popperRect,
11446      strategy: 'absolute',
11447      placement: placement
11448    });
11449    var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));
11450    var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect
11451    // 0 or negative = within the clipping rect
11452
11453    var overflowOffsets = {
11454      top: clippingClientRect.top - elementClientRect.top + paddingObject.top,
11455      bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,
11456      left: clippingClientRect.left - elementClientRect.left + paddingObject.left,
11457      right: elementClientRect.right - clippingClientRect.right + paddingObject.right
11458    };
11459    var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element
11460
11461    if (elementContext === popper && offsetData) {
11462      var offset = offsetData[placement];
11463      Object.keys(overflowOffsets).forEach(function (key) {
11464        var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;
11465        var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';
11466        overflowOffsets[key] += offset[axis] * multiply;
11467      });
11468    }
11469
11470    return overflowOffsets;
11471  }
11472
11473  var DEFAULT_OPTIONS = {
11474    placement: 'bottom',
11475    modifiers: [],
11476    strategy: 'absolute'
11477  };
11478
11479  function areValidElements() {
11480    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
11481      args[_key] = arguments[_key];
11482    }
11483
11484    return !args.some(function (element) {
11485      return !(element && typeof element.getBoundingClientRect === 'function');
11486    });
11487  }
11488
11489  function popperGenerator(generatorOptions) {
11490    if (generatorOptions === void 0) {
11491      generatorOptions = {};
11492    }
11493
11494    var _generatorOptions = generatorOptions,
11495        _generatorOptions$def = _generatorOptions.defaultModifiers,
11496        defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,
11497        _generatorOptions$def2 = _generatorOptions.defaultOptions,
11498        defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;
11499    return function createPopper(reference, popper, options) {
11500      if (options === void 0) {
11501        options = defaultOptions;
11502      }
11503
11504      var state = {
11505        placement: 'bottom',
11506        orderedModifiers: [],
11507        options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),
11508        modifiersData: {},
11509        elements: {
11510          reference: reference,
11511          popper: popper
11512        },
11513        attributes: {},
11514        styles: {}
11515      };
11516      var effectCleanupFns = [];
11517      var isDestroyed = false;
vendor: 4,800 bytes, lines 11518-11628
11518      var instance = {
11519        state: state,
11520        setOptions: function setOptions(setOptionsAction) {
11521          var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;
11522          cleanupModifierEffects();
11523          state.options = Object.assign({}, defaultOptions, state.options, options);
11524          state.scrollParents = {
11525            reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],
11526            popper: listScrollParents(popper)
11527          }; // Orders the modifiers based on their dependencies and `phase`
11528          // properties
11529
11530          var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers
11531
11532          state.orderedModifiers = orderedModifiers.filter(function (m) {
11533            return m.enabled;
11534          });
11535          runModifierEffects();
11536          return instance.update();
11537        },
11538        // Sync update – it will always be executed, even if not necessary. This
11539        // is useful for low frequency updates where sync behavior simplifies the
11540        // logic.
11541        // For high frequency updates (e.g. `resize` and `scroll` events), always
11542        // prefer the async Popper#update method
11543        forceUpdate: function forceUpdate() {
11544          if (isDestroyed) {
11545            return;
11546          }
11547
11548          var _state$elements = state.elements,
11549              reference = _state$elements.reference,
11550              popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements
11551          // anymore
11552
11553          if (!areValidElements(reference, popper)) {
11554            return;
11555          } // Store the reference and popper rects to be read by modifiers
11556
11557
11558          state.rects = {
11559            reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),
11560            popper: getLayoutRect(popper)
11561          }; // Modifiers have the ability to reset the current update cycle. The
11562          // most common use case for this is the `flip` modifier changing the
11563          // placement, which then needs to re-run all the modifiers, because the
11564          // logic was previously ran for the previous placement and is therefore
11565          // stale/incorrect
11566
11567          state.reset = false;
11568          state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier
11569          // is filled with the initial data specified by the modifier. This means
11570          // it doesn't persist and is fresh on each update.
11571          // To ensure persistent data, use `${name}#persistent`
11572
11573          state.orderedModifiers.forEach(function (modifier) {
11574            return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);
11575          });
11576
11577          for (var index = 0; index < state.orderedModifiers.length; index++) {
11578            if (state.reset === true) {
11579              state.reset = false;
11580              index = -1;
11581              continue;
11582            }
11583
11584            var _state$orderedModifie = state.orderedModifiers[index],
11585                fn = _state$orderedModifie.fn,
11586                _state$orderedModifie2 = _state$orderedModifie.options,
11587                _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,
11588                name = _state$orderedModifie.name;
11589
11590            if (typeof fn === 'function') {
11591              state = fn({
11592                state: state,
11593                options: _options,
11594                name: name,
11595                instance: instance
11596              }) || state;
11597            }
11598          }
11599        },
11600        // Async and optimistically optimized update – it will not be executed if
11601        // not necessary (debounced to run at most once-per-tick)
11602        update: debounce(function () {
11603          return new Promise(function (resolve) {
11604            instance.forceUpdate();
11605            resolve(state);
11606          });
11607        }),
11608        destroy: function destroy() {
11609          cleanupModifierEffects();
11610          isDestroyed = true;
11611        }
11612      };
11613
11614      if (!areValidElements(reference, popper)) {
11615        return instance;
11616      }
11617
11618      instance.setOptions(options).then(function (state) {
11619        if (!isDestroyed && options.onFirstUpdate) {
11620          options.onFirstUpdate(state);
11621        }
11622      }); // Modifiers have the ability to execute arbitrary code before the first
11623      // update cycle runs. They will be executed in the same order as the update
11624      // cycle. This is useful when a modifier adds some persistent data that
11625      // other modifiers need to use, but the modifier is run after the dependent
11626      // one.
11627
11628      function runModifierEffects() {
vendor: 4,368 bytes, lines 11629-11788
11629        state.orderedModifiers.forEach(function (_ref) {
11630          var name = _ref.name,
11631              _ref$options = _ref.options,
11632              options = _ref$options === void 0 ? {} : _ref$options,
11633              effect = _ref.effect;
11634
11635          if (typeof effect === 'function') {
11636            var cleanupFn = effect({
11637              state: state,
11638              name: name,
11639              instance: instance,
11640              options: options
11641            });
11642
11643            var noopFn = function noopFn() {};
11644
11645            effectCleanupFns.push(cleanupFn || noopFn);
11646          }
11647        });
11648      }
11649
11650      function cleanupModifierEffects() {
11651        effectCleanupFns.forEach(function (fn) {
11652          return fn();
11653        });
11654        effectCleanupFns = [];
11655      }
11656
11657      return instance;
11658    };
11659  }
11660
11661  var passive = {
11662    passive: true
11663  };
11664
11665  function effect$2(_ref) {
11666    var state = _ref.state,
11667        instance = _ref.instance,
11668        options = _ref.options;
11669    var _options$scroll = options.scroll,
11670        scroll = _options$scroll === void 0 ? true : _options$scroll,
11671        _options$resize = options.resize,
11672        resize = _options$resize === void 0 ? true : _options$resize;
11673    var window = getWindow(state.elements.popper);
11674    var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);
11675
11676    if (scroll) {
11677      scrollParents.forEach(function (scrollParent) {
11678        scrollParent.addEventListener('scroll', instance.update, passive);
11679      });
11680    }
11681
11682    if (resize) {
11683      window.addEventListener('resize', instance.update, passive);
11684    }
11685
11686    return function () {
11687      if (scroll) {
11688        scrollParents.forEach(function (scrollParent) {
11689          scrollParent.removeEventListener('scroll', instance.update, passive);
11690        });
11691      }
11692
11693      if (resize) {
11694        window.removeEventListener('resize', instance.update, passive);
11695      }
11696    };
11697  } // eslint-disable-next-line import/no-unused-modules
11698
11699
11700  var eventListeners = {
11701    name: 'eventListeners',
11702    enabled: true,
11703    phase: 'write',
11704    fn: function fn() {},
11705    effect: effect$2,
11706    data: {}
11707  };
11708
11709  function popperOffsets(_ref) {
11710    var state = _ref.state,
11711        name = _ref.name;
11712    // Offsets are the actual position the popper needs to have to be
11713    // properly positioned near its reference element
11714    // This is the most basic placement, and will be adjusted by
11715    // the modifiers in the next step
11716    state.modifiersData[name] = computeOffsets({
11717      reference: state.rects.reference,
11718      element: state.rects.popper,
11719      strategy: 'absolute',
11720      placement: state.placement
11721    });
11722  } // eslint-disable-next-line import/no-unused-modules
11723
11724
11725  var popperOffsets$1 = {
11726    name: 'popperOffsets',
11727    enabled: true,
11728    phase: 'read',
11729    fn: popperOffsets,
11730    data: {}
11731  };
11732
11733  var unsetSides = {
11734    top: 'auto',
11735    right: 'auto',
11736    bottom: 'auto',
11737    left: 'auto'
11738  }; // Round the offsets to the nearest suitable subpixel based on the DPR.
11739  // Zooming can change the DPR, but it seems to report a value that will
11740  // cleanly divide the values into the appropriate subpixels.
11741
11742  function roundOffsetsByDPR(_ref, win) {
11743    var x = _ref.x,
11744        y = _ref.y;
11745    var dpr = win.devicePixelRatio || 1;
11746    return {
11747      x: round(x * dpr) / dpr || 0,
11748      y: round(y * dpr) / dpr || 0
11749    };
11750  }
11751
11752  function mapToStyles(_ref2) {
11753    var _Object$assign2;
11754
11755    var popper = _ref2.popper,
11756        popperRect = _ref2.popperRect,
11757        placement = _ref2.placement,
11758        variation = _ref2.variation,
11759        offsets = _ref2.offsets,
11760        position = _ref2.position,
11761        gpuAcceleration = _ref2.gpuAcceleration,
11762        adaptive = _ref2.adaptive,
11763        roundOffsets = _ref2.roundOffsets,
11764        isFixed = _ref2.isFixed;
11765    var _offsets$x = offsets.x,
11766        x = _offsets$x === void 0 ? 0 : _offsets$x,
11767        _offsets$y = offsets.y,
11768        y = _offsets$y === void 0 ? 0 : _offsets$y;
11769
11770    var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({
11771      x: x,
11772      y: y
11773    }) : {
11774      x: x,
11775      y: y
11776    };
11777
11778    x = _ref3.x;
11779    y = _ref3.y;
11780    var hasX = offsets.hasOwnProperty('x');
11781    var hasY = offsets.hasOwnProperty('y');
11782    var sideX = left;
11783    var sideY = top;
11784    var win = window;
11785
11786    if (adaptive) {
11787      var offsetParent = getOffsetParent(popper);
11788      var heightProp = 'clientHeight';
vendor: 4,563 bytes, lines 11789-11910
11789      var widthProp = 'clientWidth';
11790
11791      if (offsetParent === getWindow(popper)) {
11792        offsetParent = getDocumentElement(popper);
11793
11794        if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {
11795          heightProp = 'scrollHeight';
11796          widthProp = 'scrollWidth';
11797        }
11798      } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it
11799
11800
11801      offsetParent = offsetParent;
11802
11803      if (placement === top || (placement === left || placement === right) && variation === end) {
11804        sideY = bottom;
11805        var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]
11806        offsetParent[heightProp];
11807        y -= offsetY - popperRect.height;
11808        y *= gpuAcceleration ? 1 : -1;
11809      }
11810
11811      if (placement === left || (placement === top || placement === bottom) && variation === end) {
11812        sideX = right;
11813        var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]
11814        offsetParent[widthProp];
11815        x -= offsetX - popperRect.width;
11816        x *= gpuAcceleration ? 1 : -1;
11817      }
11818    }
11819
11820    var commonStyles = Object.assign({
11821      position: position
11822    }, adaptive && unsetSides);
11823
11824    var _ref4 = roundOffsets === true ? roundOffsetsByDPR({
11825      x: x,
11826      y: y
11827    }, getWindow(popper)) : {
11828      x: x,
11829      y: y
11830    };
11831
11832    x = _ref4.x;
11833    y = _ref4.y;
11834
11835    if (gpuAcceleration) {
11836      var _Object$assign;
11837
11838      return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign));
11839    }
11840
11841    return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : '', _Object$assign2[sideX] = hasX ? x + "px" : '', _Object$assign2.transform = '', _Object$assign2));
11842  }
11843
11844  function computeStyles(_ref5) {
11845    var state = _ref5.state,
11846        options = _ref5.options;
11847    var _options$gpuAccelerat = options.gpuAcceleration,
11848        gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,
11849        _options$adaptive = options.adaptive,
11850        adaptive = _options$adaptive === void 0 ? true : _options$adaptive,
11851        _options$roundOffsets = options.roundOffsets,
11852        roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;
11853    var commonStyles = {
11854      placement: getBasePlacement(state.placement),
11855      variation: getVariation(state.placement),
11856      popper: state.elements.popper,
11857      popperRect: state.rects.popper,
11858      gpuAcceleration: gpuAcceleration,
11859      isFixed: state.options.strategy === 'fixed'
11860    };
11861
11862    if (state.modifiersData.popperOffsets != null) {
11863      state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {
11864        offsets: state.modifiersData.popperOffsets,
11865        position: state.options.strategy,
11866        adaptive: adaptive,
11867        roundOffsets: roundOffsets
11868      })));
11869    }
11870
11871    if (state.modifiersData.arrow != null) {
11872      state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {
11873        offsets: state.modifiersData.arrow,
11874        position: 'absolute',
11875        adaptive: false,
11876        roundOffsets: roundOffsets
11877      })));
11878    }
11879
11880    state.attributes.popper = Object.assign({}, state.attributes.popper, {
11881      'data-popper-placement': state.placement
11882    });
11883  } // eslint-disable-next-line import/no-unused-modules
11884
11885
11886  var computeStyles$1 = {
11887    name: 'computeStyles',
11888    enabled: true,
11889    phase: 'beforeWrite',
11890    fn: computeStyles,
11891    data: {}
11892  };
11893
11894  // and applies them to the HTMLElements such as popper and arrow
11895
11896  function applyStyles(_ref) {
11897    var state = _ref.state;
11898    Object.keys(state.elements).forEach(function (name) {
11899      var style = state.styles[name] || {};
11900      var attributes = state.attributes[name] || {};
11901      var element = state.elements[name]; // arrow is optional + virtual elements
11902
11903      if (!isHTMLElement(element) || !getNodeName(element)) {
11904        return;
11905      } // Flow doesn't support to extend this property, but it's the most
11906      // effective way to apply styles to an HTMLElement
11907      // $FlowFixMe[cannot-write]
11908
11909
11910      Object.assign(element.style, style);
vendor: 22,456 bytes, lines 11911-12542
11911      Object.keys(attributes).forEach(function (name) {
11912        var value = attributes[name];
11913
11914        if (value === false) {
11915          element.removeAttribute(name);
11916        } else {
11917          element.setAttribute(name, value === true ? '' : value);
11918        }
11919      });
11920    });
11921  }
11922
11923  function effect$1(_ref2) {
11924    var state = _ref2.state;
11925    var initialStyles = {
11926      popper: {
11927        position: state.options.strategy,
11928        left: '0',
11929        top: '0',
11930        margin: '0'
11931      },
11932      arrow: {
11933        position: 'absolute'
11934      },
11935      reference: {}
11936    };
11937    Object.assign(state.elements.popper.style, initialStyles.popper);
11938    state.styles = initialStyles;
11939
11940    if (state.elements.arrow) {
11941      Object.assign(state.elements.arrow.style, initialStyles.arrow);
11942    }
11943
11944    return function () {
11945      Object.keys(state.elements).forEach(function (name) {
11946        var element = state.elements[name];
11947        var attributes = state.attributes[name] || {};
11948        var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them
11949
11950        var style = styleProperties.reduce(function (style, property) {
11951          style[property] = '';
11952          return style;
11953        }, {}); // arrow is optional + virtual elements
11954
11955        if (!isHTMLElement(element) || !getNodeName(element)) {
11956          return;
11957        }
11958
11959        Object.assign(element.style, style);
11960        Object.keys(attributes).forEach(function (attribute) {
11961          element.removeAttribute(attribute);
11962        });
11963      });
11964    };
11965  } // eslint-disable-next-line import/no-unused-modules
11966
11967
11968  var applyStyles$1 = {
11969    name: 'applyStyles',
11970    enabled: true,
11971    phase: 'write',
11972    fn: applyStyles,
11973    effect: effect$1,
11974    requires: ['computeStyles']
11975  };
11976
11977  function distanceAndSkiddingToXY(placement, rects, offset) {
11978    var basePlacement = getBasePlacement(placement);
11979    var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;
11980
11981    var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {
11982      placement: placement
11983    })) : offset,
11984        skidding = _ref[0],
11985        distance = _ref[1];
11986
11987    skidding = skidding || 0;
11988    distance = (distance || 0) * invertDistance;
11989    return [left, right].indexOf(basePlacement) >= 0 ? {
11990      x: distance,
11991      y: skidding
11992    } : {
11993      x: skidding,
11994      y: distance
11995    };
11996  }
11997
11998  function offset(_ref2) {
11999    var state = _ref2.state,
12000        options = _ref2.options,
12001        name = _ref2.name;
12002    var _options$offset = options.offset,
12003        offset = _options$offset === void 0 ? [0, 0] : _options$offset;
12004    var data = placements.reduce(function (acc, placement) {
12005      acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);
12006      return acc;
12007    }, {});
12008    var _data$state$placement = data[state.placement],
12009        x = _data$state$placement.x,
12010        y = _data$state$placement.y;
12011
12012    if (state.modifiersData.popperOffsets != null) {
12013      state.modifiersData.popperOffsets.x += x;
12014      state.modifiersData.popperOffsets.y += y;
12015    }
12016
12017    state.modifiersData[name] = data;
12018  } // eslint-disable-next-line import/no-unused-modules
12019
12020
12021  var offset$1 = {
12022    name: 'offset',
12023    enabled: true,
12024    phase: 'main',
12025    requires: ['popperOffsets'],
12026    fn: offset
12027  };
12028
12029  var hash$1 = {
12030    left: 'right',
12031    right: 'left',
12032    bottom: 'top',
12033    top: 'bottom'
12034  };
12035  function getOppositePlacement(placement) {
12036    return placement.replace(/left|right|bottom|top/g, function (matched) {
12037      return hash$1[matched];
12038    });
12039  }
12040
12041  var hash = {
12042    start: 'end',
12043    end: 'start'
12044  };
12045  function getOppositeVariationPlacement(placement) {
12046    return placement.replace(/start|end/g, function (matched) {
12047      return hash[matched];
12048    });
12049  }
12050
12051  function computeAutoPlacement(state, options) {
12052    if (options === void 0) {
12053      options = {};
12054    }
12055
12056    var _options = options,
12057        placement = _options.placement,
12058        boundary = _options.boundary,
12059        rootBoundary = _options.rootBoundary,
12060        padding = _options.padding,
12061        flipVariations = _options.flipVariations,
12062        _options$allowedAutoP = _options.allowedAutoPlacements,
12063        allowedAutoPlacements = _options$allowedAutoP === void 0 ? placements : _options$allowedAutoP;
12064    var variation = getVariation(placement);
12065    var placements$1 = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {
12066      return getVariation(placement) === variation;
12067    }) : basePlacements;
12068    var allowedPlacements = placements$1.filter(function (placement) {
12069      return allowedAutoPlacements.indexOf(placement) >= 0;
12070    });
12071
12072    if (allowedPlacements.length === 0) {
12073      allowedPlacements = placements$1;
12074    } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...
12075
12076
12077    var overflows = allowedPlacements.reduce(function (acc, placement) {
12078      acc[placement] = detectOverflow(state, {
12079        placement: placement,
12080        boundary: boundary,
12081        rootBoundary: rootBoundary,
12082        padding: padding
12083      })[getBasePlacement(placement)];
12084      return acc;
12085    }, {});
12086    return Object.keys(overflows).sort(function (a, b) {
12087      return overflows[a] - overflows[b];
12088    });
12089  }
12090
12091  function getExpandedFallbackPlacements(placement) {
12092    if (getBasePlacement(placement) === auto) {
12093      return [];
12094    }
12095
12096    var oppositePlacement = getOppositePlacement(placement);
12097    return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];
12098  }
12099
12100  function flip(_ref) {
12101    var state = _ref.state,
12102        options = _ref.options,
12103        name = _ref.name;
12104
12105    if (state.modifiersData[name]._skip) {
12106      return;
12107    }
12108
12109    var _options$mainAxis = options.mainAxis,
12110        checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,
12111        _options$altAxis = options.altAxis,
12112        checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,
12113        specifiedFallbackPlacements = options.fallbackPlacements,
12114        padding = options.padding,
12115        boundary = options.boundary,
12116        rootBoundary = options.rootBoundary,
12117        altBoundary = options.altBoundary,
12118        _options$flipVariatio = options.flipVariations,
12119        flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,
12120        allowedAutoPlacements = options.allowedAutoPlacements;
12121    var preferredPlacement = state.options.placement;
12122    var basePlacement = getBasePlacement(preferredPlacement);
12123    var isBasePlacement = basePlacement === preferredPlacement;
12124    var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));
12125    var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {
12126      return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {
12127        placement: placement,
12128        boundary: boundary,
12129        rootBoundary: rootBoundary,
12130        padding: padding,
12131        flipVariations: flipVariations,
12132        allowedAutoPlacements: allowedAutoPlacements
12133      }) : placement);
12134    }, []);
12135    var referenceRect = state.rects.reference;
12136    var popperRect = state.rects.popper;
12137    var checksMap = new Map();
12138    var makeFallbackChecks = true;
12139    var firstFittingPlacement = placements[0];
12140
12141    for (var i = 0; i < placements.length; i++) {
12142      var placement = placements[i];
12143
12144      var _basePlacement = getBasePlacement(placement);
12145
12146      var isStartVariation = getVariation(placement) === start;
12147      var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;
12148      var len = isVertical ? 'width' : 'height';
12149      var overflow = detectOverflow(state, {
12150        placement: placement,
12151        boundary: boundary,
12152        rootBoundary: rootBoundary,
12153        altBoundary: altBoundary,
12154        padding: padding
12155      });
12156      var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;
12157
12158      if (referenceRect[len] > popperRect[len]) {
12159        mainVariationSide = getOppositePlacement(mainVariationSide);
12160      }
12161
12162      var altVariationSide = getOppositePlacement(mainVariationSide);
12163      var checks = [];
12164
12165      if (checkMainAxis) {
12166        checks.push(overflow[_basePlacement] <= 0);
12167      }
12168
12169      if (checkAltAxis) {
12170        checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);
12171      }
12172
12173      if (checks.every(function (check) {
12174        return check;
12175      })) {
12176        firstFittingPlacement = placement;
12177        makeFallbackChecks = false;
12178        break;
12179      }
12180
12181      checksMap.set(placement, checks);
12182    }
12183
12184    if (makeFallbackChecks) {
12185      // `2` may be desired in some cases – research later
12186      var numberOfChecks = flipVariations ? 3 : 1;
12187
12188      var _loop = function _loop(_i) {
12189        var fittingPlacement = placements.find(function (placement) {
12190          var checks = checksMap.get(placement);
12191
12192          if (checks) {
12193            return checks.slice(0, _i).every(function (check) {
12194              return check;
12195            });
12196          }
12197        });
12198
12199        if (fittingPlacement) {
12200          firstFittingPlacement = fittingPlacement;
12201          return "break";
12202        }
12203      };
12204
12205      for (var _i = numberOfChecks; _i > 0; _i--) {
12206        var _ret = _loop(_i);
12207
12208        if (_ret === "break") break;
12209      }
12210    }
12211
12212    if (state.placement !== firstFittingPlacement) {
12213      state.modifiersData[name]._skip = true;
12214      state.placement = firstFittingPlacement;
12215      state.reset = true;
12216    }
12217  } // eslint-disable-next-line import/no-unused-modules
12218
12219
12220  var flip$1 = {
12221    name: 'flip',
12222    enabled: true,
12223    phase: 'main',
12224    fn: flip,
12225    requiresIfExists: ['offset'],
12226    data: {
12227      _skip: false
12228    }
12229  };
12230
12231  function getAltAxis(axis) {
12232    return axis === 'x' ? 'y' : 'x';
12233  }
12234
12235  function within(min$1, value, max$1) {
12236    return max(min$1, min(value, max$1));
12237  }
12238  function withinMaxClamp(min, value, max) {
12239    var v = within(min, value, max);
12240    return v > max ? max : v;
12241  }
12242
12243  function preventOverflow(_ref) {
12244    var state = _ref.state,
12245        options = _ref.options,
12246        name = _ref.name;
12247    var _options$mainAxis = options.mainAxis,
12248        checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,
12249        _options$altAxis = options.altAxis,
12250        checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,
12251        boundary = options.boundary,
12252        rootBoundary = options.rootBoundary,
12253        altBoundary = options.altBoundary,
12254        padding = options.padding,
12255        _options$tether = options.tether,
12256        tether = _options$tether === void 0 ? true : _options$tether,
12257        _options$tetherOffset = options.tetherOffset,
12258        tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;
12259    var overflow = detectOverflow(state, {
12260      boundary: boundary,
12261      rootBoundary: rootBoundary,
12262      padding: padding,
12263      altBoundary: altBoundary
12264    });
12265    var basePlacement = getBasePlacement(state.placement);
12266    var variation = getVariation(state.placement);
12267    var isBasePlacement = !variation;
12268    var mainAxis = getMainAxisFromPlacement(basePlacement);
12269    var altAxis = getAltAxis(mainAxis);
12270    var popperOffsets = state.modifiersData.popperOffsets;
12271    var referenceRect = state.rects.reference;
12272    var popperRect = state.rects.popper;
12273    var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {
12274      placement: state.placement
12275    })) : tetherOffset;
12276    var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {
12277      mainAxis: tetherOffsetValue,
12278      altAxis: tetherOffsetValue
12279    } : Object.assign({
12280      mainAxis: 0,
12281      altAxis: 0
12282    }, tetherOffsetValue);
12283    var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;
12284    var data = {
12285      x: 0,
12286      y: 0
12287    };
12288
12289    if (!popperOffsets) {
12290      return;
12291    }
12292
12293    if (checkMainAxis) {
12294      var _offsetModifierState$;
12295
12296      var mainSide = mainAxis === 'y' ? top : left;
12297      var altSide = mainAxis === 'y' ? bottom : right;
12298      var len = mainAxis === 'y' ? 'height' : 'width';
12299      var offset = popperOffsets[mainAxis];
12300      var min$1 = offset + overflow[mainSide];
12301      var max$1 = offset - overflow[altSide];
12302      var additive = tether ? -popperRect[len] / 2 : 0;
12303      var minLen = variation === start ? referenceRect[len] : popperRect[len];
12304      var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go
12305      // outside the reference bounds
12306
12307      var arrowElement = state.elements.arrow;
12308      var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {
12309        width: 0,
12310        height: 0
12311      };
12312      var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();
12313      var arrowPaddingMin = arrowPaddingObject[mainSide];
12314      var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want
12315      // to include its full size in the calculation. If the reference is small
12316      // and near the edge of a boundary, the popper can overflow even if the
12317      // reference is not overflowing as well (e.g. virtual elements with no
12318      // width or height)
12319
12320      var arrowLen = within(0, referenceRect[len], arrowRect[len]);
12321      var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;
12322      var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;
12323      var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);
12324      var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;
12325      var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;
12326      var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;
12327      var tetherMax = offset + maxOffset - offsetModifierValue;
12328      var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset, tether ? max(max$1, tetherMax) : max$1);
12329      popperOffsets[mainAxis] = preventedOffset;
12330      data[mainAxis] = preventedOffset - offset;
12331    }
12332
12333    if (checkAltAxis) {
12334      var _offsetModifierState$2;
12335
12336      var _mainSide = mainAxis === 'x' ? top : left;
12337
12338      var _altSide = mainAxis === 'x' ? bottom : right;
12339
12340      var _offset = popperOffsets[altAxis];
12341
12342      var _len = altAxis === 'y' ? 'height' : 'width';
12343
12344      var _min = _offset + overflow[_mainSide];
12345
12346      var _max = _offset - overflow[_altSide];
12347
12348      var isOriginSide = [top, left].indexOf(basePlacement) !== -1;
12349
12350      var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;
12351
12352      var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;
12353
12354      var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;
12355
12356      var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);
12357
12358      popperOffsets[altAxis] = _preventedOffset;
12359      data[altAxis] = _preventedOffset - _offset;
12360    }
12361
12362    state.modifiersData[name] = data;
12363  } // eslint-disable-next-line import/no-unused-modules
12364
12365
12366  var preventOverflow$1 = {
12367    name: 'preventOverflow',
12368    enabled: true,
12369    phase: 'main',
12370    fn: preventOverflow,
12371    requiresIfExists: ['offset']
12372  };
12373
12374  var toPaddingObject = function toPaddingObject(padding, state) {
12375    padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {
12376      placement: state.placement
12377    })) : padding;
12378    return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));
12379  };
12380
12381  function arrow(_ref) {
12382    var _state$modifiersData$;
12383
12384    var state = _ref.state,
12385        name = _ref.name,
12386        options = _ref.options;
12387    var arrowElement = state.elements.arrow;
12388    var popperOffsets = state.modifiersData.popperOffsets;
12389    var basePlacement = getBasePlacement(state.placement);
12390    var axis = getMainAxisFromPlacement(basePlacement);
12391    var isVertical = [left, right].indexOf(basePlacement) >= 0;
12392    var len = isVertical ? 'height' : 'width';
12393
12394    if (!arrowElement || !popperOffsets) {
12395      return;
12396    }
12397
12398    var paddingObject = toPaddingObject(options.padding, state);
12399    var arrowRect = getLayoutRect(arrowElement);
12400    var minProp = axis === 'y' ? top : left;
12401    var maxProp = axis === 'y' ? bottom : right;
12402    var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];
12403    var startDiff = popperOffsets[axis] - state.rects.reference[axis];
12404    var arrowOffsetParent = getOffsetParent(arrowElement);
12405    var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;
12406    var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is
12407    // outside of the popper bounds
12408
12409    var min = paddingObject[minProp];
12410    var max = clientSize - arrowRect[len] - paddingObject[maxProp];
12411    var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;
12412    var offset = within(min, center, max); // Prevents breaking syntax highlighting...
12413
12414    var axisProp = axis;
12415    state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);
12416  }
12417
12418  function effect(_ref2) {
12419    var state = _ref2.state,
12420        options = _ref2.options;
12421    var _options$element = options.element,
12422        arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;
12423
12424    if (arrowElement == null) {
12425      return;
12426    } // CSS selector
12427
12428
12429    if (typeof arrowElement === 'string') {
12430      arrowElement = state.elements.popper.querySelector(arrowElement);
12431
12432      if (!arrowElement) {
12433        return;
12434      }
12435    }
12436
12437    if (!contains(state.elements.popper, arrowElement)) {
12438      return;
12439    }
12440
12441    state.elements.arrow = arrowElement;
12442  } // eslint-disable-next-line import/no-unused-modules
12443
12444
12445  var arrow$1 = {
12446    name: 'arrow',
12447    enabled: true,
12448    phase: 'main',
12449    fn: arrow,
12450    effect: effect,
12451    requires: ['popperOffsets'],
12452    requiresIfExists: ['preventOverflow']
12453  };
12454
12455  function getSideOffsets(overflow, rect, preventedOffsets) {
12456    if (preventedOffsets === void 0) {
12457      preventedOffsets = {
12458        x: 0,
12459        y: 0
12460      };
12461    }
12462
12463    return {
12464      top: overflow.top - rect.height - preventedOffsets.y,
12465      right: overflow.right - rect.width + preventedOffsets.x,
12466      bottom: overflow.bottom - rect.height + preventedOffsets.y,
12467      left: overflow.left - rect.width - preventedOffsets.x
12468    };
12469  }
12470
12471  function isAnySideFullyClipped(overflow) {
12472    return [top, right, bottom, left].some(function (side) {
12473      return overflow[side] >= 0;
12474    });
12475  }
12476
12477  function hide(_ref) {
12478    var state = _ref.state,
12479        name = _ref.name;
12480    var referenceRect = state.rects.reference;
12481    var popperRect = state.rects.popper;
12482    var preventedOffsets = state.modifiersData.preventOverflow;
12483    var referenceOverflow = detectOverflow(state, {
12484      elementContext: 'reference'
12485    });
12486    var popperAltOverflow = detectOverflow(state, {
12487      altBoundary: true
12488    });
12489    var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);
12490    var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);
12491    var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);
12492    var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);
12493    state.modifiersData[name] = {
12494      referenceClippingOffsets: referenceClippingOffsets,
12495      popperEscapeOffsets: popperEscapeOffsets,
12496      isReferenceHidden: isReferenceHidden,
12497      hasPopperEscaped: hasPopperEscaped
12498    };
12499    state.attributes.popper = Object.assign({}, state.attributes.popper, {
12500      'data-popper-reference-hidden': isReferenceHidden,
12501      'data-popper-escaped': hasPopperEscaped
12502    });
12503  } // eslint-disable-next-line import/no-unused-modules
12504
12505
12506  var hide$1 = {
12507    name: 'hide',
12508    enabled: true,
12509    phase: 'main',
12510    requiresIfExists: ['preventOverflow'],
12511    fn: hide
12512  };
12513
12514  var defaultModifiers$1 = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1];
12515  var createPopper$1 = /*#__PURE__*/popperGenerator({
12516    defaultModifiers: defaultModifiers$1
12517  }); // eslint-disable-next-line import/no-unused-modules
12518
12519  var defaultModifiers = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1, offset$1, flip$1, preventOverflow$1, arrow$1, hide$1];
12520  var createPopper = /*#__PURE__*/popperGenerator({
12521    defaultModifiers: defaultModifiers
12522  }); // eslint-disable-next-line import/no-unused-modules
12523
12524  exports.applyStyles = applyStyles$1;
12525  exports.arrow = arrow$1;
12526  exports.computeStyles = computeStyles$1;
12527  exports.createPopper = createPopper;
12528  exports.createPopperLite = createPopper$1;
12529  exports.defaultModifiers = defaultModifiers;
12530  exports.detectOverflow = detectOverflow;
12531  exports.eventListeners = eventListeners;
12532  exports.flip = flip$1;
12533  exports.hide = hide$1;
12534  exports.offset = offset$1;
12535  exports.popperGenerator = popperGenerator;
12536  exports.popperOffsets = popperOffsets$1;
12537  exports.preventOverflow = preventOverflow$1;
12538
12539  Object.defineProperty(exports, '__esModule', { value: true });
12540
12541})));
12542//# sourceMappingURL=popper.js.map
vendor: 873 bytes, lines 12543-12549
12543
12544/*!
12545  * Bootstrap v5.3.7 (https://getbootstrap.com/)
12546  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
12547  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
12548  */
12549!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("@popperjs/core")):"function"==typeof define&&define.amd?define(["@popperjs/core"],e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e(t.Popper)}(this,(function(t){"use strict";function e(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t)for(const i in t)if("default"!==i){const s=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,s.get?s:{enumerable:!0,get:()=>t[i]})}return e.default=t,Object.freeze(e)}const i=e(t),s=new Map,n={set(t,e,i){s.has(t)||s.set(t,new Map);const n=s.get(t);
vendor: 9,998 bytes, line 12549
12549n.has(e)||0===n.size?n.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>s.has(t)&&s.get(t).get(e)||null,remove(t,e){if(!s.has(t))return;const i=s.get(t);i.delete(e),0===i.size&&s.delete(t)}},o="transitionend",r=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),a=t=>{t.dispatchEvent(new Event(o))},l=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),c=t=>l(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(r(t)):null,h=t=>{if(!l(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},d=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),u=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?u(t.parentNode):null},_=()=>{},g=t=>{t.offsetHeight},f=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,m=[],p=()=>"rtl"===document.documentElement.dir,b=t=>{var e;e=()=>{const e=f();if(e){const i=t.NAME,s=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=s,t.jQueryInterface)}},"loading"===document.readyState?(m.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of m)t()})),m.push(e)):e()},v=(t,e=[],i=t)=>"function"==typeof t?t.call(...e):i,y=(t,e,i=!0)=>{if(!i)return void v(t);const s=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const s=Number.parseFloat(e),n=Number.parseFloat(i);return s||n?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let n=!1;const r=({target:i})=>{i===e&&(n=!0,e.removeEventListener(o,r),v(t))};e.addEventListener(o,r),setTimeout((()=>{n||a(e)}),s)},w=(t,e,i,s)=>{const n=t.length;let o=t.indexOf(e);return-1===o?!i&&s?t[n-1]:t[0]:(o+=i?1:-1,s&&(o=(o+n)%n),t[Math.max(0,Math.min(o,n-1))])},A=/[^.]*(?=\..*)\.|.*/,E=/\..*/,C=/::\d+$/,T={};let k=1;const $={mouseenter:"mouseover",mouseleave:"mouseout"},S=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function L(t,e){return e&&`${e}::${k++}`||t.uidEvent||k++}function O(t){const e=L(t);return t.uidEvent=e,T[e]=T[e]||{},T[e]}function I(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function D(t,e,i){const s="string"==typeof e,n=s?i:e||i;let o=M(t);return S.has(o)||(o=t),[s,n,o]}function N(t,e,i,s,n){if("string"!=typeof e||!t)return;let[o,r,a]=D(e,i,s);if(e in $){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=O(t),c=l[a]||(l[a]={}),h=I(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&n);const d=L(r,e.replace(A,"")),u=o?function(t,e,i){return function s(n){const o=t.querySelectorAll(e);for(let{target:r}=n;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return F(n,{delegateTarget:r}),s.oneOff&&j.off(t,n.type,e,i),i.apply(r,[n])}}(t,i,r):function(t,e){return function i(s){return F(s,{delegateTarget:t}),i.oneOff&&j.off(t,s.type,e),e.apply(t,[s])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=n,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function P(t,e,i,s,n){const o=I(e[i],s,n);o&&(t.removeEventListener(i,o,Boolean(n)),delete e[i][o.uidEvent])}function x(t,e,i,s){const n=e[i]||{};for(const[o,r]of Object.entries(n))o.includes(s)&&P(t,e,i,r.callable,r.delegationSelector)}function M(t){return t=t.replace(E,""),$[t]||t}const j={on(t,e,i,s){N(t,e,i,s,!1)},one(t,e,i,s){N(t,e,i,s,!0)},off(t,e,i,s){if("string"!=typeof e||!t)return;const[n,o,r]=D(e,i,s),a=r!==e,l=O(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))x(t,l,i,e.slice(1));for(const[i,s]of Object.entries(c)){const n=i.replace(C,"");a&&!e.includes(n)||P(t,l,r,s.callable,s.delegationSelector)}}else{if(!Object.keys(c).length)return;P(t,l,r,o,n?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const s=f();let n=null,o=!0,r=!0,a=!1;e!==M(e)&&s&&(n=s.Event(e,i),s(t).trigger(n),o=!n.isPropagationStopped(),r=!n.isImmediatePropagationStopped(),a=n.isDefaultPrevented());const l=F(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&n&&n.preventDefault(),l}};function F(t,e={}){for(const[i,s]of Object.entries(e))try{t[i]=s}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>s})}return t}function z(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function H(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const B={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${H(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${H(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const s of i){let i=s.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1),e[i]=z(t.dataset[s])}return e},getDataAttribute:(t,e)=>z(t.getAttribute(`data-bs-${H(e)}`))};class q{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=l(e)?B.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...l(e)?B.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[s,n]of Object.entries(e)){const e=t[s],o=l(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(n).test(o))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${s}" provided type "${o}" but expected type "${n}".`)}var i}}class W extends q{constructor(t,e){super(),(t=c(t))&&(this._element=t,this._config=this._getConfig(e),n.set(this._element,this.constructor.DATA_KEY,this))}dispose(){n.remove(this._element,this.constructor.DATA_KEY),j.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){y(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return n.get(c(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.7"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const R=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e?e.split(",").map((t=>r(t))).join(","):null},K={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let s=t.parentNode.closest(e);for(;s;)i.push(s),s=s.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!d(t)&&h(t)))},getSelectorFromElement(t){const e=R(t);return e&&K.findOne(e)?e:null},getElementFromSelector(t){const e=R(t);return e?K.findOne(e):null},getMultipleElementsFromSelector(t){const e=R(t);return e?K.find(e):[]}},V=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,s=t.NAME;j.on(document,i,`[data-bs-dismiss="${s}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),d(this))return;const n=K.getElementFromSelector(this)||this.closest(`.${s}`);t.getOrCreateInstance(n)[e]()}))},Q=".bs.alert",X=`close${Q}`,Y=`closed${Q}`;class U extends W{static get NAME(){return"alert"}close(){if(j.trigger(this._element,X).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),j.trigger(this._element,Y),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=U.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method n
12549amed "${t}"`);e[t](this)}}))}}V(U,"close"),b(U);const G='[data-bs-toggle="button"]';class J extends W{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=J.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}j.on(document,"click.bs.button.data-api",G,(t=>{t.preventDefault();const e=t.target.closest(G);J.getOrCreateInstance(e).toggle()})),b(J);const Z=".bs.swipe",tt=`touchstart${Z}`,et=`touchmove${Z}`,it=`touchend${Z}`,st=`pointerdown${Z}`,nt=`pointerup${Z}`,ot={endCallback:null,leftCallback:null,rightCallback:null},rt={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class at extends q{constructor(t,e){super(),this._element=t,t&&at.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return ot}static get DefaultType(){return rt}static get NAME(){return"swipe"}dispose(){j.off(this._element,Z)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),v(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&v(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(j.on(this._element,st,(t=>this._start(t))),j.on(this._element,nt,(t=>this._end(t))),this._element.classList.add("pointer-event")):(j.on(this._element,tt,(t=>this._start(t))),j.on(this._element,et,(t=>this._move(t))),j.on(this._element,it,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const lt=".bs.carousel",ct=".data-api",ht="ArrowLeft",dt="ArrowRight",ut="next",_t="prev",gt="left",ft="right",mt=`slide${lt}`,pt=`slid${lt}`,bt=`keydown${lt}`,vt=`mouseenter${lt}`,yt=`mouseleave${lt}`,wt=`dragstart${lt}`,At=`load${lt}${ct}`,Et=`click${lt}${ct}`,Ct="carousel",Tt="active",kt=".active",$t=".carousel-item",St=kt+$t,Lt={[ht]:ft,[dt]:gt},Ot={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},It={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class Dt extends W{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=K.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===Ct&&this.cycle()}static get Default(){return Ot}static get DefaultType(){return It}static get NAME(){return"carousel"}next(){this._slide(ut)}nextWhenVisible(){!document.hidden&&h(this._element)&&this.next()}prev(){this._slide(_t)}pause(){this._isSliding&&a(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?j.one(this._element,pt,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void j.one(this._element,pt,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const s=t>i?ut:_t;this._slide(s,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&j.on(this._element,bt,(t=>this._keydown(t))),"hover"===this._config.pause&&(j.on(this._element,vt,(()=>this.pause())),j.on(this._element,yt,(()=>this._maybeEnableCycle()))),this._config.touch&&at.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of K.find(".carousel-item img",this._element))j.on(t,wt,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(gt)),rightCallback:()=>this._slide(this._directionToOrder(ft)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new at(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=Lt[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=K.findOne(kt,this._indicatorsElement);e.classList.remove(Tt),e.removeAttribute("aria-current");const i=K.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(Tt),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),s=t===ut,n=e||w(this._getItems(),i,s,this._config.wrap);if(n===i)return;const o=this._getItemIndex(n),r=e=>j.trigger(this._element,e,{relatedTarget:n,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(mt).defaultPrevented)return;if(!i||!n)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=n;const l=s?"carousel-item-start":"carousel-item-end",c=s?"carousel-item-next":"carousel-item-prev";n.classList.add(c),g(n),i.classList.add(l),n.classList.add(l),this._queueCallback((()=>{n.classList.remove(l,c),n.classList.add(Tt),i.classList.remove(Tt,c,l),this._isSliding=!1,r(pt)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return K.findOne(St,this._element)}_getItems(){return K.find($t,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===gt?_t:ut:t===gt?ut:_t}_orderToDirection(t){return p()?t===_t?gt:ft:t===_t?ft:gt}static jQueryInterface(t){return this.each((function(){const e=Dt.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method n
12549amed "${t}"`);e[t]()}}else e.to(t)}))}}j.on(document,Et,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=K.getElementFromSelector(this);if(!e||!e.classList.contains(Ct))return;t.preventDefault();const i=Dt.getOrCreateInstance(e),s=this.getAttribute("data-bs-slide-to");return s?(i.to(s),void i._maybeEnableCycle()):"next"===B.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),j.on(window,At,(()=>{const t=K.find('[data-bs-ride="carousel"]');for(const e of t)Dt.getOrCreateInstance(e)})),b(Dt);const Nt=".bs.collapse",Pt=`show${Nt}`,xt=`shown${Nt}`,Mt=`hide${Nt}`,jt=`hidden${Nt}`,Ft=`click${Nt}.data-api`,zt="show",Ht="collapse",Bt="collapsing",qt=`:scope .${Ht} .${Ht}`,Wt='[data-bs-toggle="collapse"]',Rt={parent:null,toggle:!0},Kt={parent:"(null|element)",toggle:"boolean"};class Vt extends W{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=K.find(Wt);for(const t of i){const e=K.getSelectorFromElement(t),i=K.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Rt}static get DefaultType(){return Kt}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>Vt.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(j.trigger(this._element,Pt).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(Ht),this._element.classList.add(Bt),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(Bt),this._element.classList.add(Ht,zt),this._element.style[e]="",j.trigger(this._element,xt)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(j.trigger(this._element,Mt).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,g(this._element),this._element.classList.add(Bt),this._element.classList.remove(Ht,zt);for(const t of this._triggerArray){const e=K.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(Bt),this._element.classList.add(Ht),j.trigger(this._element,jt)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(zt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=c(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(Wt);for(const e of t){const t=K.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=K.find(qt,this._config.parent);return K.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=Vt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}j.on(document,Ft,Wt,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of K.getMultipleElementsFromSelector(this))Vt.getOrCreateInstance(t,{toggle:!1}).toggle()})),b(Vt);const Qt="dropdown",Xt=".bs.dropdown",Yt=".data-api",Ut="ArrowUp",Gt="ArrowDown",Jt=`hide${Xt}`,Zt=`hidden${Xt}`,te=`show${Xt}`,ee=`shown${Xt}`,ie=`click${Xt}${Yt}`,se=`keydown${Xt}${Yt}`,ne=`keyup${Xt}${Yt}`,oe="show",re='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',ae=`${re}.${oe}`,le=".dropdown-menu",ce=p()?"top-end":"top-start",he=p()?"top-start":"top-end",de=p()?"bottom-end":"bottom-start",ue=p()?"bottom-start":"bottom-end",_e=p()?"left-start":"right-start",ge=p()?"right-start":"left-start",fe={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},me={autoClose:"(boolean|string)",boundary:"(string|element)",display:"str
12549ing",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class pe extends W{constructor(t,e){super(t,e),this._popper=null,this._parent=this._element.parentNode,this._menu=K.next(this._element,le)[0]||K.prev(this._element,le)[0]||K.findOne(le,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return fe}static get DefaultType(){return me}static get NAME(){return Qt}toggle(){return this._isShown()?this.hide():this.show()}show(){if(d(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!j.trigger(this._element,te,t).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const t of[].concat(...document.body.children))j.on(t,"mouseover",_);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(oe),this._element.classList.add(oe),j.trigger(this._element,ee,t)}}hide(){if(d(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){if(!j.trigger(this._element,Jt,t).defaultPrevented){if("ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))j.off(t,"mouseover",_);this._popper&&this._popper.destroy(),this._menu.classList.remove(oe),this._element.classList.remove(oe),this._element.setAttribute("aria-expanded","false"),B.removeDataAttribute(this._menu,"popper"),j.trigger(this._element,Zt,t),this._element.focus()}}_getConfig(t){if("object"==typeof(t=super._getConfig(t)).reference&&!l(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${Qt.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(){if(void 0===i)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org/docs/v2/)");let t=this._element;"parent"===this._config.reference?t=this._parent:l(this._config.reference)?t=c(this._config.reference):"object"==typeof this._config.reference&&(t=this._config.reference);const e=this._getPopperConfig();this._popper=i.createPopper(t,this._menu,e)}_isShown(){return this._menu.classList.contains(oe)}_getPlacement(){const t=this._parent;if(t.classList.contains("dropend"))return _e;if(t.classList.contains("dropstart"))return ge;if(t.classList.contains("dropup-center"))return"top";if(t.classList.contains("dropdown-center"))return"bottom";const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?he:ce:e?ue:de}
vendor: 10,255 bytes, line 12549
12549_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(B.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...v(this._config.popperConfig,[void 0,t])}}_selectMenuItem({key:t,target:e}){const i=K.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>h(t)));i.length&&w(i,e,t===Gt,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=pe.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=K.find(ae);for(const i of e){const e=pe.getInstance(i);if(!e||!1===e._config.autoClose)continue;const s=t.composedPath(),n=s.includes(e._menu);if(s.includes(e._element)||"inside"===e._config.autoClose&&!n||"outside"===e._config.autoClose&&n)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,s=[Ut,Gt].includes(t.key);if(!s&&!i)return;if(e&&!i)return;t.preventDefault();const n=this.matches(re)?this:K.prev(this,re)[0]||K.next(this,re)[0]||K.findOne(re,t.delegateTarget.parentNode),o=pe.getOrCreateInstance(n);if(s)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),n.focus())}}j.on(document,se,re,pe.dataApiKeydownHandler),j.on(document,se,le,pe.dataApiKeydownHandler),j.on(document,ie,pe.clearMenus),j.on(document,ne,pe.clearMenus),j.on(document,ie,re,(function(t){t.preventDefault(),pe.getOrCreateInstance(this).toggle()})),b(pe);const be="backdrop",ve="show",ye=`mousedown.bs.${be}`,we={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Ae={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Ee extends q{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return we}static get DefaultType(){return Ae}static get NAME(){return be}show(t){if(!this._config.isVisible)return void v(t);this._append();const e=this._getElement();this._config.isAnimated&&g(e),e.classList.add(ve),this._emulateAnimation((()=>{v(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(ve),this._emulateAnimation((()=>{this.dispose(),v(t)}))):v(t)}dispose(){this._isAppended&&(j.off(this._element,ye),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=c(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),j.on(t,ye,(()=>{v(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){y(t,this._getElement(),this._config.isAnimated)}}const Ce=".bs.focustrap",Te=`focusin${Ce}`,ke=`keydown.tab${Ce}`,$e="backward",Se={autofocus:!0,trapElement:null},Le={autofocus:"boolean",trapElement:"element"};class Oe extends q{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return Se}static get DefaultType(){return Le}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),j.off(document,Ce),j.on(document,Te,(t=>this._handleFocusin(t))),j.on(document,ke,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,j.off(document,Ce))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=K.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===$e?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?$e:"forward")}}const Ie=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",De=".sticky-top",Ne="padding-right",Pe="margin-right";class xe{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,Ne,(e=>e+t)),this._setElementAttributes(Ie,Ne,(e=>e+t)),this._setElementAttributes(De,Pe,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,Ne),this._resetElementAttributes(Ie,Ne),this._resetElementAttributes(De,Pe)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const s=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+s)return;this._saveInitialAttribute(t,e);const n=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(n))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&B.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=B.getDataAttribute(t,e);null!==i?(B.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(l(t))e(t);else for(const i of K.find(t,this._element))e(i)}}const Me=".bs.modal",je=`hide${Me}`,Fe=`hidePrevented${Me}`,ze=`hidden${Me}`,He=`show${Me}`,Be=`shown${Me}`,qe=`resize${Me}`,We=`click.dismiss${Me}`,Re=`mousedown.dismiss${Me}`,Ke=`keydown.dismiss${Me}`,Ve=`click${Me}.data-api`,Qe="modal-open",Xe="show",Ye="modal-static",Ue={backdrop:!0,focus:!0,keyboard:!0},Ge={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Je extends W{constructor(t,e){super(t,e),this._dialog=K.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new xe,this._addEventListeners()}static get Default(){return Ue}static get DefaultType(){return Ge}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||j.trigger(this._element,He,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(Qe),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(j.trigger(this._element,je).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Xe),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){j.off(window,Me),j.off(this._dialog,Me),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Ee({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Oe({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=K.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),g(this._element),this._element.classList.add(Xe),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,j.trigger(this._element,Be,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){j.on(this._element,Ke,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),j.on(window,qe,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),j.on(this._element,Re,(t=>{j.one(this._element,We,(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(Qe),this._resetAdjustments(),this._scrollBar.reset(),j.trigger(this._element,ze)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(j.trigger(this._element,Fe).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(Ye)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(Ye),this._queueCallback((()=>{this._element.classList.remove(Ye),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=p()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=p()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=Je.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method n
12549amed "${t}"`);i[t](e)}}))}}j.on(document,Ve,'[data-bs-toggle="modal"]',(function(t){const e=K.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),j.one(e,He,(t=>{t.defaultPrevented||j.one(e,ze,(()=>{h(this)&&this.focus()}))}));const i=K.findOne(".modal.show");i&&Je.getInstance(i).hide(),Je.getOrCreateInstance(e).toggle(this)})),V(Je),b(Je);const Ze=".bs.offcanvas",ti=".data-api",ei=`load${Ze}${ti}`,ii="show",si="showing",ni="hiding",oi=".offcanvas.show",ri=`show${Ze}`,ai=`shown${Ze}`,li=`hide${Ze}`,ci=`hidePrevented${Ze}`,hi=`hidden${Ze}`,di=`resize${Ze}`,ui=`click${Ze}${ti}`,_i=`keydown.dismiss${Ze}`,gi={backdrop:!0,keyboard:!0,scroll:!1},fi={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class mi extends W{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return gi}static get DefaultType(){return fi}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||j.trigger(this._element,ri,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new xe).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(si),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(ii),this._element.classList.remove(si),j.trigger(this._element,ai,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(j.trigger(this._element,li).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(ni),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(ii,ni),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new xe).reset(),j.trigger(this._element,hi)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Ee({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():j.trigger(this._element,ci)}:null})}_initializeFocusTrap(){return new Oe({trapElement:this._element})}_addEventListeners(){j.on(this._element,_i,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():j.trigger(this._element,ci))}))}static jQueryInterface(t){return this.each((function(){const e=mi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}j.on(document,ui,'[data-bs-toggle="offcanvas"]',(function(t){const e=K.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),d(this))return;j.one(e,hi,(()=>{h(this)&&this.focus()}));const i=K.findOne(oi);i&&i!==e&&mi.getInstance(i).hide(),mi.getOrCreateInstance(e).toggle(this)})),j.on(window,ei,(()=>{for(const t of K.find(oi))mi.getOrCreateInstance(t).show()})),j.on(window,di,(()=>{for(const t of K.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&mi.getOrCreateInstance(t).hide()})),V(mi),b(mi);const pi={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},bi=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),vi=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,yi=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!bi.has(i)||Boolean(vi.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},wi={allowList:pi,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"<div></div>"},Ai={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Ei={entry:"(string|element|function|null)",selector:"(string|element)"};class Ci extends q{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return wi}static get DefaultType(){return Ai}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>
vendor: 4,600 bytes, line 12549
12549this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},Ei)}_setContent(t,e,i){const s=K.findOne(i,t);s&&((e=this._resolvePossibleFunction(e))?l(e)?this._putElementInTemplate(c(e),s):this._config.html?s.innerHTML=this._maybeSanitize(e):s.textContent=e:s.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const s=(new window.DOMParser).parseFromString(t,"text/html"),n=[].concat(...s.body.querySelectorAll("*"));for(const t of n){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const s=[].concat(...t.attributes),n=[].concat(e["*"]||[],e[i]||[]);for(const e of s)yi(e,n)||t.removeAttribute(e.nodeName)}return s.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return v(t,[void 0,this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Ti=new Set(["sanitize","allowList","sanitizeFn"]),ki="fade",$i="show",Si=".tooltip-inner",Li=".modal",Oi="hide.bs.modal",Ii="hover",Di="focus",Ni="click",Pi={AUTO:"auto",TOP:"top",RIGHT:p()?"left":"right",BOTTOM:"bottom",LEFT:p()?"right":"left"},xi={allowList:pi,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',title:"",trigger:"hover focus"},Mi={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class ji extends W{constructor(t,e){if(void 0===i)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org/docs/v2/)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return xi}static get DefaultType(){return Mi}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),j.off(this._element.closest(Li),Oi,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=j.trigger(this._element,this.constructor.eventName("show")),e=(u(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:s}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(s.append(i),j.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add($i),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))j.on(t,"mouseover",_);this._queueCallback((()=>{j.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}
vendor: 5,484 bytes, line 12549
12549hide(){if(this._isShown()&&!j.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove($i),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))j.off(t,"mouseover",_);this._activeTrigger[Ni]=!1,this._activeTrigger[Di]=!1,this._activeTrigger[Ii]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),j.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(ki,$i),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(ki),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Ci({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[Si]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(ki)}_isShown(){return this.tip&&this.tip.classList.contains($i)}_createPopper(t){const e=v(this._config.placement,[this,t,this._element]),s=Pi[e.toUpperCase()];return i.createPopper(this._element,t,this._getPopperConfig(s))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return v(t,[this._element,this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...v(this._config.popperConfig,[void 0,e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)j.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger[Ni]=!(e._isShown()&&e._activeTrigger[Ni]),e.toggle()}));else if("manual"!==e){const t=e===Ii?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===Ii?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");j.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?Di:Ii]=!0,e._enter()})),j.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?Di:Ii]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},j.on(this._element.closest(Li),Oi,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=B.getDataAttributes(this._element);for(const t of Object.keys(e))Ti.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:c(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=ji.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method n
12549amed "${t}"`);e[t]()}}))}}b(ji);const Fi=".popover-header",zi=".popover-body",Hi={...ji.Default,content:"",offset:[0,8],placement:"right",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',trigger:"click"},Bi={...ji.DefaultType,content:"(null|string|element|function)"};class qi extends ji{static get Default(){return Hi}static get DefaultType(){return Bi}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[Fi]:this._getTitle(),[zi]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=qi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}b(qi);const Wi=".bs.scrollspy",Ri=`activate${Wi}`,Ki=`click${Wi}`,Vi=`load${Wi}.data-api`,Qi="active",Xi="[href]",Yi=".nav-link",Ui=`${Yi}, .nav-item > ${Yi}, .list-group-item`,Gi={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},Ji={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Zi extends W{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Gi}static get DefaultType(){return Ji}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=c(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(j.off(this._config.target,Ki),j.on(this._config.target,Ki,Xi,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,s=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:s,behavior:"smooth"});i.scrollTop=s}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},s=(this._rootElement||document.documentElement).scrollTop,n=s>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=s;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(n&&t){if(i(o),!s)return}else n||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=K.find(Xi,this._config.target);for(const e of t){if(!e.hash||d(e))continue;const t=K.findOne(decodeURI(e.hash),this._element);h(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(Qi),this._activateParents(t),j.trigger(this._element,Ri,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))K.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(Qi);else for(const e of K.parents(t,".nav, .list-group"))for(const t of K.prev(e,Ui))t.classList.add(Qi)}_clearActiveClass(t){t.classList.remove(Qi);const e=K.find(`${Xi}.${Qi}`,t);for(const t of e)t.classList.remove(Qi)}static jQueryInterface(t){return this.each((function(){const e=Zi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method n
12549amed "${t}"`);e[t]()}}))}}j.on(window,Vi,(()=>{for(const t of K.find('[data-bs-spy="scroll"]'))Zi.getOrCreateInstance(t)})),b(Zi);const ts=".bs.tab",es=`hide${ts}`,is=`hidden${ts}`,ss=`show${ts}`,ns=`shown${ts}`,os=`click${ts}`,rs=`keydown${ts}`,as=`load${ts}`,ls="ArrowLeft",cs="ArrowRight",hs="ArrowUp",ds="ArrowDown",us="Home",_s="End",gs="active",fs="fade",ms="show",ps=".dropdown-toggle",bs=`:not(${ps})`,vs='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',ys=`.nav-link${bs}, .list-group-item${bs}, [role="tab"]${bs}, ${vs}`,ws=`.${gs}[data-bs-toggle="tab"], .${gs}[data-bs-toggle="pill"], .${gs}[data-bs-toggle="list"]`;class As extends W{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),j.on(this._element,rs,(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?j.trigger(e,es,{relatedTarget:t}):null;j.trigger(t,ss,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(gs),this._activate(K.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),j.trigger(t,ns,{relatedTarget:e})):t.classList.add(ms)}),t,t.classList.contains(fs)))}_deactivate(t,e){t&&(t.classList.remove(gs),t.blur(),this._deactivate(K.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),j.trigger(t,is,{relatedTarget:e})):t.classList.remove(ms)}),t,t.classList.contains(fs)))}_keydown(t){if(![ls,cs,hs,ds,us,_s].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!d(t)));let i;if([us,_s].includes(t.key))i=e[t.key===us?0:e.length-1];else{const s=[cs,ds].includes(t.key);i=w(e,t.target,s,!0)}i&&(i.focus({preventScroll:!0}),As.getOrCreateInstance(i).show())}_getChildren(){return K.find(ys,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=K.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const s=(t,s)=>{const n=K.findOne(t,i);n&&n.classList.toggle(s,e)};s(ps,gs),s(".dropdown-menu",ms),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(gs)}_getInnerElement(t){return t.matches(ys)?t:K.findOne(ys,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=As.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}j.on(document,os,vs,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),d(this)||As.getOrCreateInstance(this).show()})),j.on(window,as,(()=>{for(const t of K.find(ws))As.getOrCreateInstance(t)})),b(As);const Es=".bs.toast",Cs=`mouseover${Es}`,Ts=`mouseout${Es}`,ks=`focusin${Es}`,$s=`focusout${Es}`,Ss=`hide${Es}`,Ls=`hidden${Es}`,Os=`show${Es}`,Is=`shown${Es}`,Ds="hide",Ns="show",Ps="showing",xs={animation:"boolean",autohide:"boolean",delay:"number"},Ms={animation:!0,autohide:!0,delay:5e3};class js extends W{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Ms}static get DefaultType(){return xs}static get NAME(){return"toast"}show(){j.trigger(this._element,Os).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(Ds),g(this._element),this._element.classList.add(Ns,Ps),this._queueCallback((()=>{this._element.classList.remove(Ps),j.trigger(this._element,Is),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(j.trigger(this._element,Ss).defaultPrevented||(this._element.classList.add(Ps),this._queueCallback((()=>{this._element.classList.add(Ds),this._element.classList.remove(Ps,Ns),j.trigger(this._element,Ls)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(Ns),super.dispose()}isShown(){return this._element.classList.contains(Ns)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){j.on(this._element,Cs,(t=>this._onInteraction(t,!0))),j.on(this._element,Ts,(t=>this._onInteraction(t,!1))),j.on(this._element,ks,(t=>this._onInteraction(t,!0))),j.on(this._element,$s,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=js.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method n
12549amed "${t}"`);e[t](this)}}))}}return V(js),b(js),{Alert:U,Button:J,Carousel:Dt,Collapse:Vt,Dropdown:pe,Modal:Je,Offcanvas:mi,Popover:qi,ScrollSpy:Zi,Tab:As,Toast:js,Tooltip:ji}}));
12550//# sourceMappingURL=bootstrap.min.js.map
vendor: 375,055 bytes, lines 12551-12552
12551!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a():"function"==typeof define&&define.amd?define(a):e.moment=a()}(this,function(){"use strict";var E;function c(){return E.apply(null,arguments)}function F(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function z(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function l(e,a){return Object.prototype.hasOwnProperty.call(e,a)}function N(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;for(var a in e)if(l(e,a))return;return 1}function L(e){return void 0===e}function J(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function R(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function C(e,a){for(var t=[],s=e.length,n=0;n<s;++n)t.push(a(e[n],n));return t}function I(e,a){for(var t in a)l(a,t)&&(e[t]=a[t]);return l(a,"toString")&&(e.toString=a.toString),l(a,"valueOf")&&(e.valueOf=a.valueOf),e}function U(e,a,t,s){return Na(e,a,t,s,!0).utc()}function Y(e){return null==e._pf&&(e._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidEra:null,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],era:null,meridiem:null,rfc2822:!1,weekdayMismatch:!1}),e._pf}function G(e){var a,t,s=e._d&&!isNaN(e._d.getTime());return s&&(a=Y(e),t=q.call(a.parsedDateParts,function(e){return null!=e}),s=a.overflow<0&&!a.empty&&!a.invalidEra&&!a.invalidMonth&&!a.invalidWeekday&&!a.weekdayMismatch&&!a.nullInput&&!a.invalidFormat&&!a.userInvalidated&&(!a.meridiem||a.meridiem&&t),e._strict)&&(s=s&&0===a.charsLeftOver&&0===a.unusedTokens.length&&void 0===a.bigHour),null!=Object.isFrozen&&Object.isFrozen(e)?s:(e._isValid=s,e._isValid)}function V(e){var a=U(NaN);return null!=e?I(Y(a),e):Y(a).userInvalidated=!0,a}var q=Array.prototype.some||function(e){for(var a=Object(this),t=a.length>>>0,s=0;s<t;s++)if(s in a&&e.call(this,a[s],s,a))return!0;return!1},B=c.momentProperties=[],K=!1;function Z(e,a){var t,s,n,r=B.length;if(L(a._isAMomentObject)||(e._isAMomentObject=a._isAMomentObject),L(a._i)||(e._i=a._i),L(a._f)||(e._f=a._f),L(a._l)||(e._l=a._l),L(a._strict)||(e._strict=a._strict),L(a._tzm)||(e._tzm=a._tzm),L(a._isUTC)||(e._isUTC=a._isUTC),L(a._offset)||(e._offset=a._offset),L(a._pf)||(e._pf=Y(a)),L(a._locale)||(e._locale=a._locale),0<r)for(t=0;t<r;t++)L(n=a[s=B[t]])||(e[s]=n);return e}function $(e){Z(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===K&&(K=!0,c.updateOffset(this),K=!1)}function Q(e){return e instanceof $||null!=e&&null!=e._isAMomentObject}function X(e){!1===c.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+e)}function e(r,d){var _=!0;return I(function(){if(null!=c.deprecationHandler&&c.deprecationHandler(null,r),_){for(var e,a,t=[],s=arguments.length,n=0;n<s;n++){if(e="","object"==typeof arguments[n]){for(a in e+="\n["+n+"] ",arguments[0])l(arguments[0],a)&&(e+=a+": "+arguments[0][a]+", ");e=e.slice(0,-2)}else e=arguments[n];t.push(e)}X(r+"\nArguments: "+Array.prototype.slice.call(t).join("")+"\n"+(new Error).stack),_=!1}return d.apply(this,arguments)},d)}var ee={};function ae(e,a){null!=c.deprecationHandler&&c.deprecationHandler(e,a),ee[e]||(X(a),ee[e]=!0)}function te(e){return"undefined"!=typeof Function&&e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}function se(e,a){var t,s=I({},e);for(t in a)l(a,t)&&(z(e[t])&&z(a[t])?(s[t]={},I(s[t],e[t]),I(s[t],a[t])):null!=a[t]?s[t]=a[t]:delete s[t]);for(t in e)l(e,t)&&!l(a,t)&&z(e[t])&&(s[t]=I({},s[t]));return s}function ne(e){null!=e&&this.set(e)}c.suppressDeprecationWarnings=!1,c.deprecationHandler=null;var re=Object.keys||function(e){var a,t=[];for(a in e)l(e,a)&&t.push(a);return t};function de(e,a,t){var s=""+Math.abs(e);return(0<=e?t?"+":"":"-")+Math.pow(10,Math.max(0,a-s.length)).toString().substr(1)+s}var _e=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,ie=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,oe={},me={};function s(e,a,t,s){var n="string"==typeof s?function(){return this[s]()}:s;e&&(me[e]=n),a&&(me[a[0]]=function(){return de(n.apply(this,arguments),a[1],a[2])}),t&&(me[t]=function(){return this.localeData().ordinal(n.apply(this,arguments),e)})}function ue(e,a){return e.isValid()?(a=le(a,e.localeData()),oe[a]=oe[a]||function(s){for(var e,n=s.match(_e),a=0,r=n.length;a<r;a++)me[n[a]]?n[a]=me[n[a]]:n[a]=(e=n[a]).match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"");return function(e){for(var a="",t=0;t<r;t++)a+=te(n[t])?n[t].call(e,s):n[t];return a}}(a),oe[a](e)):e.localeData().invalidDate()}function le(e,a){var t=5;function s(e){return a.longDateFormat(e)||e}for(ie.lastIndex=0;0<=t&&ie.test(e);)e=e.replace(ie,s),ie.lastIndex=0,--t;return e}var Me={D:"date",dates:"date",date:"date",d:"day",days:"day",day:"day",e:"weekday",weekdays:"weekday",weekday:"weekday",E:"isoWeekday",isoweekdays:"isoWeekday",isoweekday:"isoWeekday",DDD:"dayOfYear",dayofyears:"dayOfYear",dayofyear:"dayOfYear",h:"hour",hours:"hour",hour:"hour",ms:"millisecond",milliseconds:"millisecond",millisecond:"millisecond",m:"minute",minutes:"minute",minute:"minute",M:"month",months:"month",month:"month",Q:"quarter",quarters:"quarter",quarter:"quarter",s:"second",seconds:"second",second:"second",gg:"weekYear",weekyears:"weekYear",weekyear:"weekYear",GG:"isoWeekYear",isoweekyears:"isoWeekYear",isoweekyear:"isoWeekYear",w:"week",weeks:"week",week:"week",W:"isoWeek",isoweeks:"isoWeek",isoweek:"isoWeek",y:"year",years:"year",year:"year"};function d(e){return"string"==typeof e?Me[e]||Me[e.toLowerCase()]:void 0}function he(e){var a,t,s={};for(t in e)l(e,t)&&(a=d(t))&&(s[a]=e[t]);return s}var ce={date:9,day:11,weekday:11,isoWeekday:11,dayOfYear:4,hour:13,millisecond:16,minute:14,month:8,quarter:7,second:15,weekYear:1,isoWeekYear:1,week:5,isoWeek:5,year:1};var Le=/\d/,a=/\d\d/,Ye=/\d{3}/,t=/\d{4}/,n=/[+-]?\d{6}/,r=/\d\d?/,ye=/\d\d\d\d?/,_=/\d\d\d\d\d\d?/,fe=/\d{1,3}/,i=/\d{1,4}/,o=/[+-]?\d{1,6}/,ke=/\d+/,pe=/[+-]?\d+/,De=/Z|[+-]\d\d:?\d\d/gi,Te=/Z|[+-]\d\d(?::?\d\d)?/gi,m=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,u=/^[1-9]\d?/,M=/^([1-9]\d|\d)/;function h(e,t,s){be[e]=te(t)?t:function(e,a){return e&&s?s:t}}function ge(e,a){return l(be,e)?be[e](a._strict,a._locale):new RegExp(we(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,a,t,s,n){return a||t||s||n})))}function we(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function y(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function f(e){var e=+e,a=0;return a=0!=e&&isFinite(e)?y(e):a}var be={},He={};function k(e,t){var a,s,n=t;for("string"==typeof e&&(e=[e]),J(t)&&(n=function(e,a){a[t]=f(e)}),s=e.length,a=0;a<s;a++)He[e[a]]=n}function Se(e,n){k(e,function(e,a,t,s){t._w=t._w||{},n(e,t._w,t,s)})}function ve(e){return e%4==0&&e%100!=0||e%400==0}var p=0,je=1,xe=2,D=3,Pe=4,Oe=5,We=6,Ae=7,Ee=8;function Fe(e){return ve(e)?366:365}s("Y",0,0,function(){var e=this.year();return e<=9999?de(e,4):"+"+e}),s(0,["YY",2],0,function(){return this.year()%100}),s(0,["YYYY",4],0,"year"),s(0,["YYYYY",5],0,"year"),s(0,["YYYYYY",6,!0],0,"year"),h("Y",pe),h("YY",r,a),h("YYYY",i,t),h("YYYYY",o,n),h("YYYYYY",o,n),k(["YYYYY","YYYYYY"],p),k("YYYY",function(e,a){a[p]=2===e.length?c.parseTwoDigitYear(e):f(e)}),k("YY",function(e,a){a[p]=c.parseTwoDigitYear(e)}),k("Y",function(e,a){a[p]=parseInt(e,10)}),c.parseTwoDigitYear=function(e){return f(e)+(68<f(e)?1900:2e3)};var T,ze=Ne("FullYear",!0);function Ne(a,t){return function(e){return null!=e?(Re(this,a,e),c.updateOffset(this,t),this):Je(this,a)}}function Je(e,a){if(!e.isValid())return NaN;var t=e._d,s=e._isUTC;switch(a){case"Milliseconds":return s?t.getUTCMilliseconds():t.getMilliseconds();case"Seconds":return s?t.getUTCSeconds():t.getSeconds();case"Minutes":return s?t.getUTCMinutes():t.getMinutes();case"Hours":return s?t.getUTCHours():t.getHours();case"Date":return s?t.getUTCDate():t.getDate();case"Day":return s?t.getUTCDay():t.getDay();case"Month":return s?t.getUTCMonth():t.getMonth();case"FullYear":return s?t.getUTCFullYear():t.getFullYear();default:return NaN}}function Re(e,a,t){var s,n,r;if(e.isValid()&&!isNaN(t)){switch(s=e._d,n=e._isUTC,a){case"Milliseconds":return n?s.setUTCMilliseconds(t):s.setMilliseconds(t);case"Seconds":return n?s.setUTCSeconds(t):s.setSeconds(t);case"Minutes":return n?s.setUTCMinutes(t):s.setMinutes(t);case"Hours":return n?s.setUTCHours(t):s.setHours(t);case"Date":return n?s.setUTCDate(t):s.setDate(t);case"FullYear":break;default:return}a=t,r=e.month(),e=29!==(e=e.date())||1!==r||ve(a)?e:28,n?s.setUTCFullYear(a,r,e):s.setFullYear(a,r,e)}}function Ce(e,a){var t;return isNaN(e)||isNaN(a)?NaN:(t=(a%(t=12)+t)%t,e+=(a-t)/12,1==t?ve(e)?29:28:31-t%7%2)}T=Array.prototype.indexOf||function(e){for(var a=0;a<this.length;++a)if(this[a]===e)return a;return-1},s("M",["MM",2],"Mo",function(){return this.month()+1}),s("MMM",0,0,function(e){return this.localeData().monthsShort(this,e)}),s("MMMM",0,0,function(e){return this.localeData().months(this,e)}),h("M",r,u),h("MM",r,a),h("MMM",function(e,a){return a.monthsShortRegex(e)}),h("MMMM",function(e,a){return a.monthsRegex(e)}),k(["M","MM"],function(e,a){a[je]=f(e)-1}),k(["MMM","MMMM"],function(e,a,t,s){s=t._locale.monthsParse(e,s,t._strict);null!=s?a[je]=s:Y(t).invalidMonth=e});var Ie="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Ue="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),Ge=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,Ve=m,qe=m;function Be(e,a){if(e.isValid()){if("string"==typeof a)if(/^\d+$/.test(a))a=f(a);else if(!J(a=e.localeData().monthsParse(a)))return;var t=(t=e.date())<29?t:Math.min(t,Ce(e.year(),a));e._isUTC?e._d.setUTCMonth(a,t):e._d.setMonth(a,t)}}function Ke(e){return null!=e?(Be(this,e),c.updateOffset(this,!0),this):Je(this,"Month")}function Ze(){function e(e,a){return a.length-e.length}for(var a,t,s=[],n=[],r=[],d=0;d<12;d++)t=U([2e3,d]),a=we(this.monthsShort(t,"")),t=we(this.months(t,"")),s.push(a),n.push(t),r.push(t),r.push(a);s.sort(e),n.sort(e),r.sort(e),this._monthsRegex=new RegExp("^("+r.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+n.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+s.join("|")+")","i")}function $e(e,a,t,s,n,r,d){var _;return e<100&&0<=e?(_=new Date(e+400,a,t,s,n,r,d),isFinite(_.getFullYear())&&_.setFullYear(e)):_=new Date(e,a,t,s,n,r,d),_}function Qe(e){var a;return e<100&&0<=e?((a=Array.prototype.slice.call(arguments))[0]=e+400,a=new Date(Date.UTC.apply(null,a)),isFinite(a.getUTCFullYear())&&a.setUTCFullYear(e)):a=new Date(Date.UTC.apply(null,arguments)),a}function Xe(e,a,t){t=7+a-t;return t-(7+Qe(e,0,t).getUTCDay()-a)%7-1}function ea(e,a,t,s,n){var r,a=1+7*(a-1)+(7+t-s)%7+Xe(e,s,n),t=a<=0?Fe(r=e-1)+a:a>Fe(e)?(r=e+1,a-Fe(e)):(r=e,a);return{year:r,dayOfYear:t}}function aa(e,a,t){var s,n,r=Xe(e.year(),a,t),r=Math.floor((e.dayOfYear()-r-1)/7)+1;return r<1?s=r+ta(n=e.year()-1,a,t):r>ta(e.year(),a,t)?(s=r-ta(e.year(),a,t),n=e.year()+1):(n=e.year(),s=r),{week:s,year:n}}function ta(e,a,t){var s=Xe(e,a,t),a=Xe(e+1,a,t);return(Fe(e)-s+a)/7}s("w",["ww",2],"wo","week"),s("W",["WW",2],"Wo","isoWeek"),h("w",r,u),h("ww",r,a),h("W",r,u),h("WW",r,a),Se(["w","ww","W","WW"],function(e,a,t,s){a[s.substr(0,1)]=f(e)});function sa(e,a){return e.slice(a,7).concat(e.slice(0,a))}s("d",0,"do","day"),s("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),s("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),s("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),s("e",0,0,"weekday"),s("E",0,0,"isoWeekday"),h("d",r),h("e",r),h("E",r),h("dd",function(e,a){return a.weekdaysMinRegex(e)}),h("ddd",function(e,a){return a.weekdaysShortRegex(e)}),h("dddd",function(e,a){return a.weekdaysRegex(e)}),Se(["dd","ddd","dddd"],function(e,a,t,s){s=t._locale.weekdaysParse(e,s,t._strict);null!=s?a.d=s:Y(t).invalidWeekday=e}),Se(["d","e","E"],function(e,a,t,s){a[s]=f(e)});var na="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),ra="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),da="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),_a=m,ia=m,oa=m;function ma(){function e(e,a){return a.length-e.length}for(var a,t,s,n=[],r=[],d=[],_=[],i=0;i<7;i++)s=U([2e3,1]).day(i),a=we(this.weekdaysMin(s,"")),t=we(this.weekdaysShort(s,"")),s=we(this.weekdays(s,"")),n.push(a),r.push(t),d.push(s),_.push(a),_.push(t),_.push(s);n.sort(e),r.sort(e),d.sort(e),_.sort(e),this._weekdaysRegex=new RegExp("^("+_.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+r.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+n.join("|")+")","i")}function ua(){return this.hours()%12||12}function la(e,a){s(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),a)})}function Ma(e,a){return a._meridiemParse}s("H",["HH",2],0,"hour"),s("h",["hh",2],0,ua),s("k",["kk",2],0,function(){return this.hours()||24}),s("hmm",0,0,function(){return""+ua.apply(this)+de(this.minutes(),2)}),s("hmmss",0,0,function(){return""+ua.apply(this)+de(this.minutes(),2)+de(this.seconds(),2)}),s("Hmm",0,0,function(){return""+this.hours()+de(this.minutes(),2)}),s("Hmmss",0,0,function(){return""+this.hours()+de(this.minutes(),2)+de(this.seconds(),2)}),la("a",!0),la("A",!1),h("a",Ma),h("A",Ma),h("H",r,M),h("h",r,u),h("k",r,u),h("HH",r,a),h("hh",r,a),h("kk",r,a),h("hmm",ye),h("hmmss",_),h("Hmm",ye),h("Hmmss",_),k(["H","HH"],D),k(["k","kk"],function(e,a,t){e=f(e);a[D]=24===e?0:e}),k(["a","A"],function(e,a,t){t._isPm=t._locale.isPM(e),t._meridiem=e}),k(["h","hh"],function(e,a,t){a[D]=f(e),Y(t).bigHour=!0}),k("hmm",function(e,a,t){var s=e.length-2;a[D]=f(e.substr(0,s)),a[Pe]=f(e.substr(s)),Y(t).bigHour=!0}),k("hmmss",function(e,a,t){var s=e.length-4,n=e.length-2;a[D]=f(e.substr(0,s)),a[Pe]=f(e.substr(s,2)),a[Oe]=f(e.substr(n)),Y(t).bigHour=!0}),k("Hmm",function(e,a,t){var s=e.length-2;a[D]=f(e.substr(0,s)),a[Pe]=f(e.substr(s))}),k("Hmmss",function(e,a,t){var s=e.length-4,n=e.length-2;a[D]=f(e.substr(0,s)),a[Pe]=f(e.substr(s,2)),a[Oe]=f(e.substr(n))});m=Ne("Hours",!0);var ha,ca={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Ie,monthsShort:Ue,week:{dow:0,doy:6},weekdays:na,weekdaysMin:da,weekdaysShort:ra,meridiemParse:/[ap]\.?m?\.?/i},g={},La={};function Ya(e){return e&&e.toLowerCase().replace("_","-")}function ya(e){for(var a,t,s,n,r=0;r<e.length;){for(a=(n=Ya(e[r]).split("-")).length,t=(t=Ya(e[r+1]))?t.split("-"):null;0<a;){if(s=fa(n.slice(0,a).join("-")))return s;if(t&&t.length>=a&&function(e,a){for(var t=Math.min(e.length,a.length),s=0;s<t;s+=1)if(e[s]!==a[s])return s;return t}(n,t)>=a-1)break;a--}r++}return ha}function fa(a){var e,t;if(void 0===g[a]&&"undefined"!=typeof module&&module&&module.exports&&(t=a)&&t.match("^[^/\\\\]*$"))try{e=ha._abbr,require("./locale/"+a),ka(e)}catch(e){g[a]=null}return g[a]}function ka(e,a){return e&&((a=L(a)?Da(e):pa(e,a))?ha=a:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),ha._abbr}function pa(e,a){if(null===a)return delete g[e],null;var t,s=ca;if(a.abbr=e,null!=g[e])ae("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),s=g[e]._config;else if(null!=a.parentLocale)if(null!=g[a.parentLocale])s=g[a.parentLocale]._config;else{if(null==(t=fa(a.parentLocale)))return La[a.parentLocale]||(La[a.parentLocale]=[]),La[a.parentLocale].push({name:e,config:a}),null;s=t._config}return g[e]=new ne(se(s,a)),La[e]&&La[e].forEach(function(e){pa(e.name,e.config)}),ka(e),g[e]}function Da(e){var a;if(!(e=e&&e._locale&&e._locale._abbr?e._locale._abbr:e))return ha;if(!F(e)){if(a=fa(e))return a;e=[e]}return ya(e)}function Ta(e){var a=e._a;return a&&-2===Y(e).overflow&&(a=a[je]<0||11<a[je]?je:a[xe]<1||a[xe]>Ce(a[p],a[je])?xe:a[D]<0||24<a[D]||24===a[D]&&(0!==a[Pe]||0!==a[Oe]||0!==a[We])?D:a[Pe]<0||59<a[Pe]?Pe:a[Oe]<0||59<a[Oe]?Oe:a[We]<0||999<a[We]?We:-1,Y(e)._overflowDayOfYear&&(a<p||xe<a)&&(a=xe),Y(e)._overflowWeeks&&-1===a&&(a=Ae),Y(e)._overflowWeekday&&-1===a&&(a=Ee),Y(e).overflow=a),e}var ga=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,wa=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ba=/Z|[+-]\d\d(?::?\d\d)?/,Ha=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],Sa=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],va=/^\/?Date\((-?\d+)/i,ja=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,xa={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Pa(e){var a,t,s,n,r,d,_=e._i,i=ga.exec(_)||wa.exec(_),_=Ha.length,o=Sa.length;if(i){for(Y(e).iso=!0,a=0,t=_;a<t;a++)if(Ha[a][1].exec(i[1])){n=Ha[a][0],s=!1!==Ha[a][2];break}if(null==n)e._isValid=!1;else{if(i[3]){for(a=0,t=o;a<t;a++)if(Sa[a][1].exec(i[3])){r=(i[2]||" ")+Sa[a][0];break}if(null==r)return void(e._isValid=!1)}if(s||null==r){if(i[4]){if(!ba.exec(i[4]))return void(e._isValid=!1);d="Z"}e._f=n+(r||"")+(d||""),Fa(e)}else e._isValid=!1}}else e._isValid=!1}function Oa(e,a,t,s,n,r){e=[function(e){e=parseInt(e,10);{if(e<=49)return 2e3+e;if(e<=999)return 1900+e}return e}(e),Ue.indexOf(a),parseInt(t,10),parseInt(s,10),parseInt(n,10)];return r&&e.push(parseInt(r,10)),e}function Wa(e){var a,t,s=ja.exec(e._i.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));s?(a=Oa(s[4],s[3],s[2],s[5],s[6],s[7]),function(e,a,t){if(!e||ra.indexOf(e)===new Date(a[0],a[1],a[2]).getDay())return 1;Y(t).weekdayMismatch=!0,t._isValid=!1}(s[1],a,e)&&(e._a=a,e._tzm=(a=s[8],t=s[9],s=s[10],a?xa[a]:t?0:60*(((a=parseInt(s,10))-(t=a%100))/100)+t),e._d=Qe.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),Y(e).rfc2822=!0)):e._isValid=!1}function Aa(e,a,t){return null!=e?e:null!=a?a:t}function Ea(e){var a,t,s,n,r,d,_,i,o,m,u,l=[];if(!e._d){for(s=e,n=new Date(c.now()),t=s._useUTC?[n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()]:[n.getFullYear(),n.getMonth(),n.getDate()],e._w&&null==e._a[xe]&&null==e._a[je]&&(null!=(n=(s=e)._w).GG||null!=n.W||null!=n.E?(i=1,o=4,r=Aa(n.GG,s._a[p],aa(w(),1,4).year),d=Aa(n.W,1),((_=Aa(n.E,1))<1||7<_)&&(m=!0)):(i=s._locale._week.dow,o=s._locale._week.doy,u=aa(w(),i,o),r=Aa(n.gg,s._a[p],u.year),d=Aa(n.w,u.week),null!=n.d?((_=n.d)<0||6<_)&&(m=!0):null!=n.e?(_=n.e+i,(n.e<0||6<n.e)&&(m=!0)):_=i),d<1||d>ta(r,i,o)?Y(s)._overflowWeeks=!0:null!=m?Y(s)._overflowWeekday=!0:(u=ea(r,d,_,i,o),s._a[p]=u.year,s._dayOfYear=u.dayOfYear)),null!=e._dayOfYear&&(n=Aa(e._a[p],t[p]),(e._dayOfYear>Fe(n)||0===e._dayOfYear)&&(Y(e)._overflowDayOfYear=!0),m=Qe(n,0,e._dayOfYear),e._a[je]=m.getUTCMonth(),e._a[xe]=m.getUTCDate()),a=0;a<3&&null==e._a[a];++a)e._a[a]=l[a]=t[a];for(;a<7;a++)e._a[a]=l[a]=null==e._a[a]?2===a?1:0:e._a[a];24===e._a[D]&&0===e._a[Pe]&&0===e._a[Oe]&&0===e._a[We]&&(e._nextDay=!0,e._a[D]=0),e._d=(e._useUTC?Qe:$e).apply(null,l),r=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[D]=24),e._w&&void 0!==e._w.d&&e._w.d!==r&&(Y(e).weekdayMismatch=!0)}}function Fa(e){if(e._f===c.ISO_8601)Pa(e);else if(e._f===c.RFC_2822)Wa(e);else{e._a=[],Y(e).empty=!0;for(var a,t,s,n,r,d=""+e._i,_=d.length,i=0,o=le(e._f,e._locale).match(_e)||[],m=o.length,u=0;u<m;u++)t=o[u],(a=(d.match(ge(t,e))||[])[0])&&(0<(s=d.substr(0,d.indexOf(a))).length&&Y(e).unusedInput.push(s),d=d.slice(d.indexOf(a)+a.length),i+=a.length),me[t]?(a?Y(e).empty=!1:Y(e).unusedTokens.push(t),s=t,r=e,null!=(n=a)&&l(He,s)&&He[s](n,r._a,r,s)):e._strict&&!a&&Y(e).unusedTokens.push(t);Y(e).charsLeftOver=_-i,0<d.length&&Y(e).unusedInput.push(d),e._a[D]<=12&&!0===Y(e).bigHour&&0<e._a[D]&&(Y(e).bigHour=void 0),Y(e).parsedDateParts=e._a.slice(0),Y(e).meridiem=e._meridiem,e._a[D]=function(e,a,t){if(null==t)return a;return null!=e.meridiemHour?e.meridiemHour(a,t):null!=e.isPM?((e=e.isPM(t))&&a<12&&(a+=12),a=e||12!==a?a:0):a}(e._locale,e._a[D],e._meridiem),null!==(_=Y(e).era)&&(e._a[p]=e._locale.erasConvertYear(_,e._a[p])),Ea(e),Ta(e)}}function za(e){var a,t,s,n=e._i,r=e._f;if(e._locale=e._locale||Da(e._l),null===n||void 0===r&&""===n)return V({nullInput:!0});if("string"==typeof n&&(e._i=n=e._locale.preparse(n)),Q(n))return new $(Ta(n));if(R(n))e._d=n;else if(F(r)){var d,_,i,o,m,u,l=e,M=!1,h=l._f.length;if(0===h)Y(l).invalidFormat=!0,l._d=new Date(NaN);else{for(o=0;o<h;o++)m=0,u=!1,d=Z({},l),null!=l._useUTC&&(d._useUTC=l._useUTC),d._f=l._f[o],Fa(d),G(d)&&(u=!0),m=(m+=Y(d).charsLeftOver)+10*Y(d).unusedTokens.length,Y(d).score=m,M?m<i&&(i=m,_=d):(null==i||m<i||u)&&(i=m,_=d,u)&&(M=!0);I(l,_||d)}}else if(r)Fa(e);else if(L(r=(n=e)._i))n._d=new Date(c.now());else R(r)?n._d=new Date(r.valueOf()):"string"==typeof r?(t=n,null!==(a=va.exec(t._i))?t._d=new Date(+a[1]):(Pa(t),!1===t._isValid&&(delete t._isValid,Wa(t),!1===t._isValid)&&(delete t._isValid,t._strict?t._isValid=!1:c.createFromInputFallback(t)))):F(r)?(n._a=C(r.slice(0),function(e){return parseInt(e,10)}),Ea(n)):z(r)?(a=n)._d||(s=void 0===(t=he(a._i)).day?t.date:t.day,a._a=C([t.year,t.month,s,t.hour,t.minute,t.second,t.millisecond],function(e){return e&&parseInt(e,10)}),Ea(a)):J(r)?n._d=new Date(r):c.createFromInputFallback(n);return G(e)||(e._d=null),e}function Na(e,a,t,s,n){var r={};return!0!==a&&!1!==a||(s=a,a=void 0),!0!==t&&!1!==t||(s=t,t=void 0),(z(e)&&N(e)||F(e)&&0===e.length)&&(e=void 0),r._isAMomentObject=!0,r._useUTC=r._isUTC=n,r._l=t,r._i=e,r._f=a,r._strict=s,(n=new $(Ta(za(n=r))))._nextDay&&(n.add(1,"d"),n._nextDay=void 0),n}function w(e,a,t,s){return Na(e,a,t,s,!1)}c.createFromInputFallback=e("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),c.ISO_8601=function(){},c.RFC_2822=function(){};ye=e("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=w.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:V()}),_=e("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=w.apply(null,arguments);return this.isValid()&&e.isValid()?this<e?this:e:V()});function Ja(e,a){var t,s;if(!(a=1===a.length&&F(a[0])?a[0]:a).length)return w();for(t=a[0],s=1;s<a.length;++s)a[s].isValid()&&!a[s][e](t)||(t=a[s]);return t}var Ra=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Ca(e){var e=he(e),a=e.year||0,t=e.quarter||0,s=e.month||0,n=e.week||e.isoWeek||0,r=e.day||0,d=e.hour||0,_=e.minute||0,i=e.second||0,o=e.millisecond||0;this._isValid=function(e){var a,t,s=!1,n=Ra.length;for(a in e)if(l(e,a)&&(-1===T.call(Ra,a)||null!=e[a]&&isNaN(e[a])))return!1;for(t=0;t<n;++t)if(e[Ra[t]]){if(s)return!1;parseFloat(e[Ra[t]])!==f(e[Ra[t]])&&(s=!0)}return!0}(e),this._milliseconds=+o+1e3*i+6e4*_+1e3*d*60*60,this._days=+r+7*n,this._months=+s+3*t+12*a,this._data={},this._locale=Da(),this._bubble()}function Ia(e){return e instanceof Ca}function Ua(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function Ga(e,t){s(e,0,0,function(){var e=this.utcOffset(),a="+";return e<0&&(e=-e,a="-"),a+de(~~(e/60),2)+t+de(~~e%60,2)})}Ga("Z",":"),Ga("ZZ",""),h("Z",Te),h("ZZ",Te),k(["Z","ZZ"],function(e,a,t){t._useUTC=!0,t._tzm=qa(Te,e)});var Va=/([\+\-]|\d\d)/gi;function qa(e,a){var a=(a||"").match(e);return null===a?null:0===(a=60*(e=((a[a.length-1]||[])+"").match(Va)||["-",0,0])[1]+f(e[2]))?0:"+"===e[0]?a:-a}function Ba(e,a){var t;return a._isUTC?(a=a.clone(),t=(Q(e)||R(e)?e:w(e)).valueOf()-a.valueOf(),a._d.setTime(a._d.valueOf()+t),c.updateOffset(a,!1),a):w(e).local()}function Ka(e){return-Math.round(e._d.getTimezoneOffset())}function Za(){return!!this.isValid()&&this._isUTC&&0===this._offset}c.updateOffset=function(){};var $a=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,Qa=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Xa(e,a){var t,s=e;return Ia(e)?s={ms:e._milliseconds,d:e._days,M:e._months}:J(e)||!isNaN(+e)?(s={},a?s[a]=+e:s.milliseconds=+e):(a=$a.exec(e))?(t="-"===a[1]?-1:1,s={y:0,d:f(a[xe])*t,h:f(a[D])*t,m:f(a[Pe])*t,s:f(a[Oe])*t,ms:f(Ua(1e3*a[We]))*t}):(a=Qa.exec(e))?(t="-"===a[1]?-1:1,s={y:et(a[2],t),M:et(a[3],t),w:et(a[4],t),d:et(a[5],t),h:et(a[6],t),m:et(a[7],t),s:et(a[8],t)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(a=function(e,a){var t;if(!e.isValid()||!a.isValid())return{milliseconds:0,months:0};a=Ba(a,e),e.isBefore(a)?t=at(e,a):((t=at(a,e)).milliseconds=-t.milliseconds,t.months=-t.months);return t}(w(s.from),w(s.to)),(s={}).ms=a.milliseconds,s.M=a.months),t=new Ca(s),Ia(e)&&l(e,"_locale")&&(t._locale=e._locale),Ia(e)&&l(e,"_isValid")&&(t._isValid=e._isValid),t}function et(e,a){e=e&&parseFloat(e.replace(",","."));return(isNaN(e)?0:e)*a}function at(e,a){var t={};return t.months=a.month()-e.month()+12*(a.year()-e.year()),e.clone().add(t.months,"M").isAfter(a)&&--t.months,t.milliseconds=+a-+e.clone().add(t.months,"M"),t}function tt(s,n){return function(e,a){var t;return null===a||isNaN(+a)||(ae(n,"moment()."+n+"(period, number) is deprecated. Please use moment()."+n+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),t=e,e=a,a=t),st(this,Xa(e,a),s),this}}function st(e,a,t,s){var n=a._milliseconds,r=Ua(a._days),a=Ua(a._months);e.isValid()&&(s=null==s||s,a&&Be(e,Je(e,"Month")+a*t),r&&Re(e,"Date",Je(e,"Date")+r*t),n&&e._d.setTime(e._d.valueOf()+n*t),s)&&c.updateOffset(e,r||a)}Xa.fn=Ca.prototype,Xa.invalid=function(){return Xa(NaN)};Ie=tt(1,"add"),na=tt(-1,"subtract");function nt(e){return"string"==typeof e||e instanceof String}function rt(e){return Q(e)||R(e)||nt(e)||J(e)||function(a){var e=F(a),t=!1;e&&(t=0===a.filter(function(e){return!J(e)&&nt(a)}).length);return e&&t}(e)||function(e){var a,t,s=z(e)&&!N(e),n=!1,r=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],d=r.length;for(a=0;a<d;a+=1)t=r[a],n=n||l(e,t);return s&&n}(e)||null==e}function dt(e,a){var t,s;return e.date()<a.date()?-dt(a,e):-((t=12*(a.year()-e.year())+(a.month()-e.month()))+(a-(s=e.clone().add(t,"months"))<0?(a-s)/(s-e.clone().add(t-1,"months")):(a-s)/(e.clone().add(1+t,"months")-s)))||0}function _t(e){return void 0===e?this._locale._abbr:(null!=(e=Da(e))&&(this._locale=e),this)}c.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",c.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";da=e("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return void 0===e?this.localeData():this.locale(e)});function it(){return this._locale}var ot=126227808e5;function mt(e,a){return(e%a+a)%a}function ut(e,a,t){return e<100&&0<=e?new Date(e+400,a,t)-ot:new Date(e,a,t).valueOf()}function lt(e,a,t){return e<100&&0<=e?Date.UTC(e+400,a,t)-ot:Date.UTC(e,a,t)}function Mt(e,a){return a.erasAbbrRegex(e)}function ht(){for(var e,a,t,s=[],n=[],r=[],d=[],_=this.eras(),i=0,o=_.length;i<o;++i)e=we(_[i].name),a=we(_[i].abbr),t=we(_[i].narrow),n.push(e),s.push(a),r.push(t),d.push(e),d.push(a),d.push(t);this._erasRegex=new RegExp("^("+d.join("|")+")","i"),this._erasNameRegex=new RegExp("^("+n.join("|")+")","i"),this._erasAbbrRegex=new RegExp("^("+s.join("|")+")","i"),this._erasNarrowRegex=new RegExp("^("+r.join("|")+")","i")}function ct(e,a){s(0,[e,e.length],0,a)}function Lt(e,a,t,s,n){var r;return null==e?aa(this,s,n).year:(r=ta(e,s,n),function(e,a,t,s,n){e=ea(e,a,t,s,n),a=Qe(e.year,0,e.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}.call(this,e,a=r<a?r:a,t,s,n))}s("N",0,0,"eraAbbr"),s("NN",0,0,"eraAbbr"),s("NNN",0,0,"eraAbbr"),s("NNNN",0,0,"eraName"),s("NNNNN",0,0,"eraNarrow"),s("y",["y",1],"yo","eraYear"),s("y",["yy",2],0,"eraYear"),s("y",["yyy",3],0,"eraYear"),s("y",["yyyy",4],0,"eraYear"),h("N",Mt),h("NN",Mt),h("NNN",Mt),h("NNNN",function(e,a){return a.erasNameRegex(e)}),h("NNNNN",function(e,a){return a.erasNarrowRegex(e)}),k(["N","NN","NNN","NNNN","NNNNN"],function(e,a,t,s){s=t._locale.erasParse(e,s,t._strict);s?Y(t).era=s:Y(t).invalidEra=e}),h("y",ke),h("yy",ke),h("yyy",ke),h("yyyy",ke),h("yo",function(e,a){return a._eraYearOrdinalRegex||ke}),k(["y","yy","yyy","yyyy"],p),k(["yo"],function(e,a,t,s){var n;t._locale._eraYearOrdinalRegex&&(n=e.match(t._locale._eraYearOrdinalRegex)),t._locale.eraYearOrdinalParse?a[p]=t._locale.eraYearOrdinalParse(e,n):a[p]=parseInt(e,10)}),s(0,["gg",2],0,function(){return this.weekYear()%100}),s(0,["GG",2],0,function(){return this.isoWeekYear()%100}),ct("gggg","weekYear"),ct("ggggg","weekYear"),ct("GGGG","isoWeekYear"),ct("GGGGG","isoWeekYear"),h("G",pe),h("g",pe),h("GG",r,a),h("gg",r,a),h("GGGG",i,t),h("gggg",i,t),h("GGGGG",o,n),h("ggggg",o,n),Se(["gggg","ggggg","GGGG","GGGGG"],function(e,a,t,s){a[s.substr(0,2)]=f(e)}),Se(["gg","GG"],function(e,a,t,s){a[s]=c.parseTwoDigitYear(e)}),s("Q",0,"Qo","quarter"),h("Q",Le),k("Q",function(e,a){a[je]=3*(f(e)-1)}),s("D",["DD",2],"Do","date"),h("D",r,u),h("DD",r,a),h("Do",function(e,a){return e?a._dayOfMonthOrdinalParse||a._ordinalParse:a._dayOfMonthOrdinalParseLenient}),k(["D","DD"],xe),k("Do",function(e,a){a[xe]=f(e.match(r)[0])});i=Ne("Date",!0);s("DDD",["DDDD",3],"DDDo","dayOfYear"),h("DDD",fe),h("DDDD",Ye),k(["DDD","DDDD"],function(e,a,t){t._dayOfYear=f(e)}),s("m",["mm",2],0,"minute"),h("m",r,M),h("mm",r,a),k(["m","mm"],Pe);var Yt,t=Ne("Minutes",!1),o=(s("s",["ss",2],0,"second"),h("s",r,M),h("ss",r,a),k(["s","ss"],Oe),Ne("Seconds",!1));for(s("S",0,0,function(){return~~(this.millisecond()/100)}),s(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),s(0,["SSS",3],0,"millisecond"),s(0,["SSSS",4],0,function(){return 10*this.millisecond()}),s(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),s(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),s(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),s(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),s(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),h("S",fe,Le),h("SS",fe,a),h("SSS",fe,Ye),Yt="SSSS";Yt.length<=9;Yt+="S")h(Yt,ke);function yt(e,a){a[We]=f(1e3*("0."+e))}for(Yt="S";Yt.length<=9;Yt+="S")k(Yt,yt);n=Ne("Milliseconds",!1),s("z",0,0,"zoneAbbr"),s("zz",0,0,"zoneName");u=$.prototype;function ft(e){return e}u.add=Ie,u.calendar=function(e,a){1===arguments.length&&(arguments[0]?rt(arguments[0])?(e=arguments[0],a=void 0):function(e){for(var a=z(e)&&!N(e),t=!1,s=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"],n=0;n<s.length;n+=1)t=t||l(e,s[n]);return a&&t}(arguments[0])&&(a=arguments[0],e=void 0):a=e=void 0);var e=e||w(),t=Ba(e,this).startOf("day"),t=c.calendarFormat(this,t)||"sameElse",a=a&&(te(a[t])?a[t].call(this,e):a[t]);return this.format(a||this.localeData().calendar(t,this,w(e)))},u.clone=function(){return new $(this)},u.diff=function(e,a,t){var s,n,r;if(!this.isValid())return NaN;if(!(s=Ba(e,this)).isValid())return NaN;switch(n=6e4*(s.utcOffset()-this.utcOffset()),a=d(a)){case"year":r=dt(this,s)/12;break;case"month":r=dt(this,s);break;case"quarter":r=dt(this,s)/3;break;case"second":r=(this-s)/1e3;break;case"minute":r=(this-s)/6e4;break;case"hour":r=(this-s)/36e5;break;case"day":r=(this-s-n)/864e5;break;case"week":r=(this-s-n)/6048e5;break;default:r=this-s}return t?r:y(r)},u.endOf=function(e){var a,t;if(void 0!==(e=d(e))&&"millisecond"!==e&&this.isValid()){switch(t=this._isUTC?lt:ut,e){case"year":a=t(this.year()+1,0,1)-1;break;case"quarter":a=t(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":a=t(this.year(),this.month()+1,1)-1;break;case"week":a=t(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":a=t(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":a=t(this.year(),this.month(),this.date()+1)-1;break;case"hour":a=this._d.valueOf(),a+=36e5-mt(a+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":a=this._d.valueOf(),a+=6e4-mt(a,6e4)-1;break;case"second":a=this._d.valueOf(),a+=1e3-mt(a,1e3)-1;break}this._d.setTime(a),c.updateOffset(this,!0)}return this},u.format=function(e){return e=e||(this.isUtc()?c.defaultFormatUtc:c.defaultFormat),e=ue(this,e),this.localeData().postformat(e)},u.from=function(e,a){return this.isValid()&&(Q(e)&&e.isValid()||w(e).isValid())?Xa({to:this,from:e}).locale(this.locale()).humanize(!a):this.localeData().invalidDate()},u.fromNow=function(e){return this.from(w(),e)},u.to=function(e,a){return this.isValid()&&(Q(e)&&e.isValid()||w(e).isValid())?Xa({from:this,to:e}).locale(this.locale()).humanize(!a):this.localeData().invalidDate()},u.toNow=function(e){return this.to(w(),e)},u.get=function(e){return te(this[e=d(e)])?this[e]():this},u.invalidAt=function(){return Y(this).overflow},u.isAfter=function(e,a){return e=Q(e)?e:w(e),!(!this.isValid()||!e.isValid())&&("millisecond"===(a=d(a)||"millisecond")?this.valueOf()>e.valueOf():e.valueOf()<this.clone().startOf(a).valueOf())},u.isBefore=function(e,a){return e=Q(e)?e:w(e),!(!this.isValid()||!e.isValid())&&("millisecond"===(a=d(a)||"millisecond")?this.valueOf()<e.valueOf():this.clone().endOf(a).valueOf()<e.valueOf())},u.isBetween=function(e,a,t,s){return e=Q(e)?e:w(e),a=Q(a)?a:w(a),!!(this.isValid()&&e.isValid()&&a.isValid())&&("("===(s=s||"()")[0]?this.isAfter(e,t):!this.isBefore(e,t))&&(")"===s[1]?this.isBefore(a,t):!this.isAfter(a,t))},u.isSame=function(e,a){var e=Q(e)?e:w(e);return!(!this.isValid()||!e.isValid())&&("millisecond"===(a=d(a)||"millisecond")?this.valueOf()===e.valueOf():(e=e.valueOf(),this.clone().startOf(a).valueOf()<=e&&e<=this.clone().endOf(a).valueOf()))},u.isSameOrAfter=function(e,a){return this.isSame(e,a)||this.isAfter(e,a)},u.isSameOrBefore=function(e,a){return this.isSame(e,a)||this.isBefore(e,a)},u.isValid=function(){return G(this)},u.lang=da,u.locale=_t,u.localeData=it,u.max=_,u.min=ye,u.parsingFlags=function(){return I({},Y(this))},u.set=function(e,a){if("object"==typeof e)for(var t=function(e){var a,t=[];for(a in e)l(e,a)&&t.push({unit:a,priority:ce[a]});return t.sort(function(e,a){return e.priority-a.priority}),t}(e=he(e)),s=t.length,n=0;n<s;n++)this[t[n].unit](e[t[n].unit]);else if(te(this[e=d(e)]))return this[e](a);return this},u.startOf=function(e){var a,t;if(void 0!==(e=d(e))&&"millisecond"!==e&&this.isValid()){switch(t=this._isUTC?lt:ut,e){case"year":a=t(this.year(),0,1);break;case"quarter":a=t(this.year(),this.month()-this.month()%3,1);break;case"month":a=t(this.year(),this.month(),1);break;case"week":a=t(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":a=t(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":a=t(this.year(),this.month(),this.date());break;case"hour":a=this._d.valueOf(),a-=mt(a+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case"minute":a=this._d.valueOf(),a-=mt(a,6e4);break;case"second":a=this._d.valueOf(),a-=mt(a,1e3);break}this._d.setTime(a),c.updateOffset(this,!0)}return this},u.subtract=na,u.toArray=function(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]},u.toObject=function(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}},u.toDate=function(){return new Date(this.valueOf())},u.toISOString=function(e){var a;return this.isValid()?(a=(e=!0!==e)?this.clone().utc():this).year()<0||9999<a.year()?ue(a,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):te(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",ue(a,"Z")):ue(a,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ"):null},u.inspect=function(){var e,a,t;return this.isValid()?(a="moment",e="",this.isLocal()||(a=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z"),a="["+a+'("]',t=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",this.format(a+t+"-MM-DD[T]HH:mm:ss.SSS"+(e+'[")]'))):"moment.invalid(/* "+this._i+" */)"},"undefined"!=typeof Symbol&&null!=Symbol.for&&(u[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),u.toJSON=function(){return this.isValid()?this.toISOString():null},u.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},u.unix=function(){return Math.floor(this.valueOf()/1e3)},u.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},u.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},u.eraName=function(){for(var e,a=this.localeData().eras(),t=0,s=a.length;t<s;++t){if(e=this.clone().startOf("day").valueOf(),a[t].since<=e&&e<=a[t].until)return a[t].name;if(a[t].until<=e&&e<=a[t].since)return a[t].name}return""},u.eraNarrow=function(){for(var e,a=this.localeData().eras(),t=0,s=a.length;t<s;++t){if(e=this.clone().startOf("day").valueOf(),a[t].since<=e&&e<=a[t].until)return a[t].narrow;if(a[t].until<=e&&e<=a[t].since)return a[t].narrow}return""},u.eraAbbr=function(){for(var e,a=this.localeData().eras(),t=0,s=a.length;t<s;++t){if(e=this.clone().startOf("day").valueOf(),a[t].since<=e&&e<=a[t].until)return a[t].abbr;if(a[t].until<=e&&e<=a[t].since)return a[t].abbr}return""},u.eraYear=function(){for(var e,a,t=this.localeData().eras(),s=0,n=t.length;s<n;++s)if(e=t[s].since<=t[s].until?1:-1,a=this.clone().startOf("day").valueOf(),t[s].since<=a&&a<=t[s].until||t[s].until<=a&&a<=t[s].since)return(this.year()-c(t[s].since).year())*e+t[s].offset;return this.year()},u.year=ze,u.isLeapYear=function(){return ve(this.year())},u.weekYear=function(e){return Lt.call(this,e,this.week(),this.weekday()+this.localeData()._week.dow,this.localeData()._week.dow,this.localeData()._week.doy)},u.isoWeekYear=function(e){return Lt.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},u.quarter=u.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},u.month=Ke,u.daysInMonth=function(){return Ce(this.year(),this.month())},u.week=u.weeks=function(e){var a=this.localeData().week(this);return null==e?a:this.add(7*(e-a),"d")},u.isoWeek=u.isoWeeks=function(e){var a=aa(this,1,4).week;return null==e?a:this.add(7*(e-a),"d")},u.weeksInYear=function(){var e=this.localeData()._week;return ta(this.year(),e.dow,e.doy)},u.weeksInWeekYear=function(){var e=this.localeData()._week;return ta(this.weekYear(),e.dow,e.doy)},u.isoWeeksInYear=function(){return ta(this.year(),1,4)},u.isoWeeksInISOWeekYear=function(){return ta(this.isoWeekYear(),1,4)},u.date=i,u.day=u.days=function(e){var a,t,s;return this.isValid()?(a=Je(this,"Day"),null!=e?(t=e,s=this.localeData(),e="string"!=typeof t?t:isNaN(t)?"number"==typeof(t=s.weekdaysParse(t))?t:null:parseInt(t,10),this.add(e-a,"d")):a):null!=e?this:NaN},u.weekday=function(e){var a;return this.isValid()?(a=(this.day()+7-this.localeData()._week.dow)%7,null==e?a:this.add(e-a,"d")):null!=e?this:NaN},u.isoWeekday=function(e){var a,t;return this.isValid()?null!=e?(a=e,t=this.localeData(),t="string"==typeof a?t.weekdaysParse(a)%7||7:isNaN(a)?null:a,this.day(this.day()%7?t:t-7)):this.day()||7:null!=e?this:NaN},u.dayOfYear=function(e){var a=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?a:this.add(e-a,"d")},u.hour=u.hours=m,u.minute=u.minutes=t,u.second=u.seconds=o,u.millisecond=u.milliseconds=n,u.utcOffset=function(e,a,t){var s,n=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null==e)return this._isUTC?n:Ka(this);if("string"==typeof e){if(null===(e=qa(Te,e)))return this}else Math.abs(e)<16&&!t&&(e*=60);return!this._isUTC&&a&&(s=Ka(this)),this._offset=e,this._isUTC=!0,null!=s&&this.add(s,"m"),n!==e&&(!a||this._changeInProgress?st(this,Xa(e-n,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,c.updateOffset(this,!0),this._changeInProgress=null)),this},u.utc=function(e){return this.utcOffset(0,e)},u.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e)&&this.subtract(Ka(this),"m"),this},u.parseZone=function(){var e;return null!=this._tzm?this.utcOffset(this._tzm,!1,!0):"string"==typeof this._i&&(null!=(e=qa(De,this._i))?this.utcOffset(e):this.utcOffset(0,!0)),this},u.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?w(e).utcOffset():0,(this.utcOffset()-e)%60==0)},u.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},u.isLocal=function(){return!!this.isValid()&&!this._isUTC},u.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},u.isUtc=Za,u.isUTC=Za,u.zoneAbbr=function(){return this._isUTC?"UTC":""},u.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},u.dates=e("dates accessor is deprecated. Use date instead.",i),u.months=e("months accessor is deprecated. Use month instead",Ke),u.years=e("years accessor is deprecated. Use year instead",ze),u.zone=e("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,a){return null!=e?(this.utcOffset(e="string"!=typeof e?-e:e,a),this):-this.utcOffset()}),u.isDSTShifted=e("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){var e,a;return L(this._isDSTShifted)&&(Z(e={},this),(e=za(e))._a?(a=(e._isUTC?U:w)(e._a),this._isDSTShifted=this.isValid()&&0<function(e,a,t){for(var s=Math.min(e.length,a.length),n=Math.abs(e.length-a.length),r=0,d=0;d<s;d++)(t&&e[d]!==a[d]||!t&&f(e[d])!==f(a[d]))&&r++;return r+n}(e._a,a.toArray())):this._isDSTShifted=!1),this._isDSTShifted});M=ne.prototype;function kt(e,a,t,s){var n=Da(),s=U().set(s,a);return n[t](s,e)}function pt(e,a,t){if(J(e)&&(a=e,e=void 0),e=e||"",null!=a)return kt(e,a,t,"month");for(var s=[],n=0;n<12;n++)s[n]=kt(e,n,t,"month");return s}function Dt(e,a,t,s){a=("boolean"==typeof e?J(a)&&(t=a,a=void 0):(a=e,e=!1,J(t=a)&&(t=a,a=void 0)),a||"");var n,r=Da(),d=e?r._week.dow:0,_=[];if(null!=t)return kt(a,(t+d)%7,s,"day");for(n=0;n<7;n++)_[n]=kt(a,(n+d)%7,s,"day");return _}M.calendar=function(e,a,t){return te(e=this._calendar[e]||this._calendar.sameElse)?e.call(a,t):e},M.longDateFormat=function(e){var a=this._longDateFormat[e],t=this._longDateFormat[e.toUpperCase()];return a||!t?a:(this._longDateFormat[e]=t.match(_e).map(function(e){return"MMMM"===e||"MM"===e||"DD"===e||"dddd"===e?e.slice(1):e}).join(""),this._longDateFormat[e])},M.invalidDate=function(){return this._invalidDate},M.ordinal=function(e){return this._ordinal.replace("%d",e)},M.preparse=ft,M.postformat=ft,M.relativeTime=function(e,a,t,s){var n=this._relativeTime[t];return te(n)?n(e,a,t,s):n.replace(/%d/i,e)},M.pastFuture=function(e,a){return te(e=this._relativeTime[0<e?"future":"past"])?e(a):e.replace(/%s/i,a)},M.set=function(e){var a,t;for(t in e)l(e,t)&&(te(a=e[t])?this[t]=a:this["_"+t]=a);this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},M.eras=function(e,a){for(var t,s=this._eras||Da("en")._eras,n=0,r=s.length;n<r;++n){switch(typeof s[n].since){case"string":t=c(s[n].since).startOf("day"),s[n].since=t.valueOf();break}switch(typeof s[n].until){case"undefined":s[n].until=1/0;break;case"string":t=c(s[n].until).startOf("day").valueOf(),s[n].until=t.valueOf();break}}return s},M.erasParse=function(e,a,t){var s,n,r,d,_,i=this.eras();for(e=e.toUpperCase(),s=0,n=i.length;s<n;++s)if(r=i[s].name.toUpperCase(),d=i[s].abbr.toUpperCase(),_=i[s].narrow.toUpperCase(),t)switch(a){case"N":case"NN":case"NNN":if(d===e)return i[s];break;case"NNNN":if(r===e)return i[s];break;case"NNNNN":if(_===e)return i[s];break}else if(0<=[r,d,_].indexOf(e))return i[s]},M.erasConvertYear=function(e,a){var t=e.since<=e.until?1:-1;return void 0===a?c(e.since).year():c(e.since).year()+(a-e.offset)*t},M.erasAbbrRegex=function(e){return l(this,"_erasAbbrRegex")||ht.call(this),e?this._erasAbbrRegex:this._erasRegex},M.erasNameRegex=function(e){return l(this,"_erasNameRegex")||ht.call(this),e?this._erasNameRegex:this._erasRegex},M.erasNarrowRegex=function(e){return l(this,"_erasNarrowRegex")||ht.call(this),e?this._erasNarrowRegex:this._erasRegex},M.months=function(e,a){return e?(F(this._months)?this._months:this._months[(this._months.isFormat||Ge).test(a)?"format":"standalone"])[e.month()]:F(this._months)?this._months:this._months.standalone},M.monthsShort=function(e,a){return e?(F(this._monthsShort)?this._monthsShort:this._monthsShort[Ge.test(a)?"format":"standalone"])[e.month()]:F(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},M.monthsParse=function(e,a,t){var s,n;if(this._monthsParseExact)return function(e,a,t){var s,n,r,e=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],s=0;s<12;++s)r=U([2e3,s]),this._shortMonthsParse[s]=this.monthsShort(r,"").toLocaleLowerCase(),this._longMonthsParse[s]=this.months(r,"").toLocaleLowerCase();return t?"MMM"===a?-1!==(n=T.call(this._shortMonthsParse,e))?n:null:-1!==(n=T.call(this._longMonthsParse,e))?n:null:"MMM"===a?-1!==(n=T.call(this._shortMonthsParse,e))||-1!==(n=T.call(this._longMonthsParse,e))?n:null:-1!==(n=T.call(this._longMonthsParse,e))||-1!==(n=T.call(this._shortMonthsParse,e))?n:null}.call(this,e,a,t);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;s<12;s++){if(n=U([2e3,s]),t&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+this.months(n,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp("^"+this.monthsShort(n,"").replace(".","")+"$","i")),t||this._monthsParse[s]||(n="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[s]=new RegExp(n.replace(".",""),"i")),t&&"MMMM"===a&&this._longMonthsParse[s].test(e))return s;if(t&&"MMM"===a&&this._shortMonthsParse[s].test(e))return s;if(!t&&this._monthsParse[s].test(e))return s}},M.monthsRegex=function(e){return this._monthsParseExact?(l(this,"_monthsRegex")||Ze.call(this),e?this._monthsStrictRegex:this._monthsRegex):(l(this,"_monthsRegex")||(this._monthsRegex=qe),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},M.monthsShortRegex=function(e){return this._monthsParseExact?(l(this,"_monthsRegex")||Ze.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(l(this,"_monthsShortRegex")||(this._monthsShortRegex=Ve),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},M.week=function(e){return aa(e,this._week.dow,this._week.doy).week},M.firstDayOfYear=function(){return this._week.doy},M.firstDayOfWeek=function(){return this._week.dow},M.weekdays=function(e,a){return a=F(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(a)?"format":"standalone"],!0===e?sa(a,this._week.dow):e?a[e.day()]:a},M.weekdaysMin=function(e){return!0===e?sa(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},M.weekdaysShort=function(e){return!0===e?sa(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},M.weekdaysParse=function(e,a,t){var s,n;if(this._weekdaysParseExact)return function(e,a,t){var s,n,r,e=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],s=0;s<7;++s)r=U([2e3,1]).day(s),this._minWeekdaysParse[s]=this.weekdaysMin(r,"").toLocaleLowerCase(),this._shortWeekdaysParse[s]=this.weekdaysShort(r,"").toLocaleLowerCase(),this._weekdaysParse[s]=this.weekdays(r,"").toLocaleLowerCase();return t?"dddd"===a?-1!==(n=T.call(this._weekdaysParse,e))?n:null:"ddd"===a?-1!==(n=T.call(this._shortWeekdaysParse,e))?n:null:-1!==(n=T.call(this._minWeekdaysParse,e))?n:null:"dddd"===a?-1!==(n=T.call(this._weekdaysParse,e))||-1!==(n=T.call(this._shortWeekdaysParse,e))||-1!==(n=T.call(this._minWeekdaysParse,e))?n:null:"ddd"===a?-1!==(n=T.call(this._shortWeekdaysParse,e))||-1!==(n=T.call(this._weekdaysParse,e))||-1!==(n=T.call(this._minWeekdaysParse,e))?n:null:-1!==(n=T.call(this._minWeekdaysParse,e))||-1!==(n=T.call(this._weekdaysParse,e))||-1!==(n=T.call(this._shortWeekdaysParse,e))?n:null}.call(this,e,a,t);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),s=0;s<7;s++){if(n=U([2e3,1]).day(s),t&&!this._fullWeekdaysParse[s]&&(this._fullWeekdaysParse[s]=new RegExp("^"+this.weekdays(n,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[s]=new RegExp("^"+this.weekdaysShort(n,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[s]=new RegExp("^"+this.weekdaysMin(n,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[s]||(n="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[s]=new RegExp(n.replace(".",""),"i")),t&&"dddd"===a&&this._fullWeekdaysParse[s].test(e))return s;if(t&&"ddd"===a&&this._shortWeekdaysParse[s].test(e))return s;if(t&&"dd"===a&&this._minWeekdaysParse[s].test(e))return s;if(!t&&this._weekdaysParse[s].test(e))return s}},M.weekdaysRegex=function(e){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||ma.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(l(this,"_weekdaysRegex")||(this._weekdaysRegex=_a),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},M.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||ma.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(l(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=ia),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},M.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||ma.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(l(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=oa),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},M.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},M.meridiem=function(e,a,t){return 11<e?t?"pm":"PM":t?"am":"AM"},ka("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var a=e%10;return e+(1===f(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")}}),c.lang=e("moment.lang is deprecated. Use moment.locale instead.",ka),c.langData=e("moment.langData is deprecated. Use moment.localeData instead.",Da);var Tt=Math.abs;function gt(e,a,t,s){a=Xa(a,t);return e._milliseconds+=s*a._milliseconds,e._days+=s*a._days,e._months+=s*a._months,e._bubble()}function wt(e){return e<0?Math.floor(e):Math.ceil(e)}function bt(e){return 4800*e/146097}function Ht(e){return 146097*e/4800}function St(e){return function(){return this.as(e)}}Le=St("ms"),a=St("s"),fe=St("m"),Ye=St("h"),Ie=St("d"),_=St("w"),ye=St("M"),na=St("Q"),m=St("y"),t=Le;function vt(e){return function(){return this.isValid()?this._data[e]:NaN}}var o=vt("milliseconds"),n=vt("seconds"),i=vt("minutes"),ze=vt("hours"),M=vt("days"),jt=vt("months"),xt=vt("years");var Pt=Math.round,Ot={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function Wt(e,a,t,s){var n=Xa(e).abs(),r=Pt(n.as("s")),d=Pt(n.as("m")),_=Pt(n.as("h")),i=Pt(n.as("d")),o=Pt(n.as("M")),m=Pt(n.as("w")),n=Pt(n.as("y")),r=(r<=t.ss?["s",r]:r<t.s&&["ss",r])||(d<=1?["m"]:d<t.m&&["mm",d])||(_<=1?["h"]:_<t.h&&["hh",_])||(i<=1?["d"]:i<t.d&&["dd",i]);return(r=(r=null!=t.w?r||(m<=1?["w"]:m<t.w&&["ww",m]):r)||(o<=1?["M"]:o<t.M&&["MM",o])||(n<=1?["y"]:["yy",n]))[2]=a,r[3]=0<+e,r[4]=s,function(e,a,t,s,n){return n.relativeTime(a||1,!!t,e,s)}.apply(null,r)}var At=Math.abs;function Et(e){return(0<e)-(e<0)||+e}function Ft(){var e,a,t,s,n,r,d,_,i,o,m;return this.isValid()?(e=At(this._milliseconds)/1e3,a=At(this._days),t=At(this._months),(_=this.asSeconds())?(s=y(e/60),n=y(s/60),e%=60,s%=60,r=y(t/12),t%=12,d=e?e.toFixed(3).replace(/\.?0+$/,""):"",i=Et(this._months)!==Et(_)?"-":"",o=Et(this._days)!==Et(_)?"-":"",m=Et(this._milliseconds)!==Et(_)?"-":"",(_<0?"-":"")+"P"+(r?i+r+"Y":"")+(t?i+t+"M":"")+(a?o+a+"D":"")+(n||s||e?"T":"")+(n?m+n+"H":"")+(s?m+s+"M":"")+(e?m+d+"S":"")):"P0D"):this.localeData().invalidDate()}function zt(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5}function b(d){return function(e,a,t,s){var n=zt(e),r=Rt[d][zt(e)];return(r=2===n?r[a?0:1]:r).replace(/%d/i,e)}}function Nt(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5}function H(d){return function(e,a,t,s){var n=Nt(e),r=It[d][Nt(e)];return(r=2===n?r[a?0:1]:r).replace(/%d/i,e)}}function Jt(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5}function S(d){return function(e,a,t,s){var n=Jt(e),r=Zt[d][Jt(e)];return(r=2===n?r[a?0:1]:r).replace(/%d/i,e)}}var v=Ca.prototype,Rt=(v.isValid=function(){return this._isValid},v.abs=function(){var e=this._data;return this._milliseconds=Tt(this._milliseconds),this._days=Tt(this._days),this._months=Tt(this._months),e.milliseconds=Tt(e.milliseconds),e.seconds=Tt(e.seconds),e.minutes=Tt(e.minutes),e.hours=Tt(e.hours),e.months=Tt(e.months),e.years=Tt(e.years),this},v.add=function(e,a){return gt(this,e,a,1)},v.subtract=function(e,a){return gt(this,e,a,-1)},v.as=function(e){if(!this.isValid())return NaN;var a,t,s=this._milliseconds;if("month"===(e=d(e))||"quarter"===e||"year"===e)switch(a=this._days+s/864e5,t=this._months+bt(a),e){case"month":return t;case"quarter":return t/3;case"year":return t/12}else switch(a=this._days+Math.round(Ht(this._months)),e){case"week":return a/7+s/6048e5;case"day":return a+s/864e5;case"hour":return 24*a+s/36e5;case"minute":return 1440*a+s/6e4;case"second":return 86400*a+s/1e3;case"millisecond":return Math.floor(864e5*a)+s;default:throw new Error("Unknown unit "+e)}},v.asMilliseconds=Le,v.asSeconds=a,v.asMinutes=fe,v.asHours=Ye,v.asDays=Ie,v.asWeeks=_,v.asMonths=ye,v.asQuarters=na,v.asYears=m,v.valueOf=t,v._bubble=function(){var e=this._milliseconds,a=this._days,t=this._months,s=this._data;return 0<=e&&0<=a&&0<=t||e<=0&&a<=0&&t<=0||(e+=864e5*wt(Ht(t)+a),t=a=0),s.milliseconds=e%1e3,e=y(e/1e3),s.seconds=e%60,e=y(e/60),s.minutes=e%60,e=y(e/60),s.hours=e%24,a+=y(e/24),t+=e=y(bt(a)),a-=wt(Ht(e)),e=y(t/12),t%=12,s.days=a,s.months=t,s.years=e,this},v.clone=function(){return Xa(this)},v.get=function(e){return e=d(e),this.isValid()?this[e+"s"]():NaN},v.milliseconds=o,v.seconds=n,v.minutes=i,v.hours=ze,v.days=M,v.weeks=function(){return y(this.days()/7)},v.months=jt,v.years=xt,v.humanize=function(e,a){var t,s;return this.isValid()?(t=!1,s=Ot,"object"==typeof e&&(a=e,e=!1),"boolean"==typeof e&&(t=e),"object"==typeof a&&(s=Object.assign({},Ot,a),null!=a.s)&&null==a.ss&&(s.ss=a.s-1),e=this.localeData(),a=Wt(this,!t,s,e),t&&(a=e.pastFuture(+this,a)),e.postformat(a)):this.localeData().invalidDate()},v.toISOString=Ft,v.toString=Ft,v.toJSON=Ft,v.locale=_t,v.localeData=it,v.toIsoString=e("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Ft),v.lang=da,s("X",0,0,"unix"),s("x",0,0,"valueOf"),h("x",pe),h("X",/[+-]?\d+(\.\d{1,3})?/),k("X",function(e,a,t){t._d=new Date(1e3*parseFloat(e))}),k("x",function(e,a,t){t._d=new Date(f(e))}),c.version="2.30.1",E=w,c.fn=u,c.min=function(){return Ja("isBefore",[].slice.call(arguments,0))},c.max=function(){return Ja("isAfter",[].slice.call(arguments,0))},c.now=function(){return Date.now?Date.now():+new Date},c.utc=U,c.unix=function(e){return w(1e3*e)},c.months=function(e,a){return pt(e,a,"months")},c.isDate=R,c.locale=ka,c.invalid=V,c.duration=Xa,c.isMoment=Q,c.weekdays=function(e,a,t){return Dt(e,a,t,"weekdays")},c.parseZone=function(){return w.apply(null,arguments).parseZone()},c.localeData=Da,c.isDuration=Ia,c.monthsShort=function(e,a){return pt(e,a,"monthsShort")},c.weekdaysMin=function(e,a,t){return Dt(e,a,t,"weekdaysMin")},c.defineLocale=pa,c.updateLocale=function(e,a){var t,s;return null!=a?(s=ca,null!=g[e]&&null!=g[e].parentLocale?g[e].set(se(g[e]._config,a)):(a=se(s=null!=(t=fa(e))?t._config:s,a),null==t&&(a.abbr=e),(s=new ne(a)).parentLocale=g[e],g[e]=s),ka(e)):null!=g[e]&&(null!=g[e].parentLocale?(g[e]=g[e].parentLocale,e===ka()&&ka(e)):null!=g[e]&&delete g[e]),g[e]},c.locales=function(){return re(g)},c.weekdaysShort=function(e,a,t){return Dt(e,a,t,"weekdaysShort")},c.normalizeUnits=d,c.relativeTimeRounding=function(e){return void 0===e?Pt:"function"==typeof e&&(Pt=e,!0)},c.relativeTimeThreshold=function(e,a){return void 0!==Ot[e]&&(void 0===a?Ot[e]:(Ot[e]=a,"s"===e&&(Ot.ss=a-1),!0))},c.calendarFormat=function(e,a){return(e=e.diff(a,"days",!0))<-6?"sameElse":e<-1?"lastWeek":e<0?"lastDay":e<1?"sameDay":e<2?"nextDay":e<7?"nextWeek":"sameElse"},c.prototype=u,c.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},c.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(e){return/^nm$/i.test(e)},meridiem:function(e,a,t){return e<12?t?"vm":"VM":t?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[M\xf4re om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",ss:"%d sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}}),{s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]}),Le=["\u062c\u0627\u0646\u0641\u064a","\u0641\u064a\u0641\u0631\u064a","\u0645\u0627\u0631\u0633","\u0623\u0641\u0631\u064a\u0644","\u0645\u0627\u064a","\u062c\u0648\u0627\u0646","\u062c\u0648\u064a\u0644\u064a\u0629","\u0623\u0648\u062a","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"],Ct=(c.defineLocale("ar-dz",{months:Le,monthsShort:Le,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:b("s"),ss:b("s"),m:b("m"),mm:b("m"),h:b("h"),hh:b("h"),d:b("d"),dd:b("d"),M:b("M"),MM:b("M"),y:b("y"),yy:b("y")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:0,doy:4}}),c.defineLocale("ar-kw",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062a\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062a\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:0,doy:12}}),{1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"}),It={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},a=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"],Ut=(c.defineLocale("ar-ly",{months:a,monthsShort:a,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:H("s"),ss:H("s"),m:H("m"),mm:H("m"),h:H("h"),hh:H("h"),d:H("d"),dd:H("d"),M:H("M"),MM:H("M"),y:H("y"),yy:H("y")},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return Ct[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}}),c.defineLocale("ar-ma",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:1,doy:4}}),{1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"}),Gt={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},Vt=(c.defineLocale("ar-ps",{months:"\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a_\u0634\u0628\u0627\u0637_\u0622\u0630\u0627\u0631_\u0646\u064a\u0633\u0627\u0646_\u0623\u064a\u0651\u0627\u0631_\u062d\u0632\u064a\u0631\u0627\u0646_\u062a\u0645\u0651\u0648\u0632_\u0622\u0628_\u0623\u064a\u0644\u0648\u0644_\u062a\u0634\u0631\u064a \u0627\u0644\u0623\u0648\u0651\u0644_\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a_\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0651\u0644".split("_"),monthsShort:"\u0643\u0662_\u0634\u0628\u0627\u0637_\u0622\u0630\u0627\u0631_\u0646\u064a\u0633\u0627\u0646_\u0623\u064a\u0651\u0627\u0631_\u062d\u0632\u064a\u0631\u0627\u0646_\u062a\u0645\u0651\u0648\u0632_\u0622\u0628_\u0623\u064a\u0644\u0648\u0644_\u062a\u0661_\u062a\u0662_\u0643\u0661".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},preparse:function(e){return e.replace(/[\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return Gt[e]}).split("").reverse().join("").replace(/[\u0661\u0662](?![\u062a\u0643])/g,function(e){return Gt[e]}).split("").reverse().join("").replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return Ut[e]}).replace(/,/g,"\u060c")},week:{dow:0,doy:6}}),{1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"}),qt={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},Bt=(c.defineLocale("ar-sa",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return qt[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return Vt[e]}).replace(/,/g,"\u060c")},week:{dow:0,doy:6}}),c.defineLocale("ar-tn",{months:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:1,doy:4}}),{1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"}),Kt={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},Zt={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},fe=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"],$t=(c.defineLocale("ar",{months:fe,monthsShort:fe,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:S("s"),ss:S("s"),m:S("m"),mm:S("m"),h:S("h"),hh:S("h"),d:S("d"),dd:S("d"),M:S("M"),MM:S("M"),y:S("y"),yy:S("y")},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return Kt[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return Bt[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}}),{1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-\xfcnc\xfc",4:"-\xfcnc\xfc",100:"-\xfcnc\xfc",6:"-nc\u0131",9:"-uncu",10:"-uncu",30:"-uncu",60:"-\u0131nc\u0131",90:"-\u0131nc\u0131"});function Qt(e,a,t){return"m"===t?a?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443":"h"===t?a?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443":e+" "+(e=+e,a=(a={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d",hh:a?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d",dd:"\u0434\u0437\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u0437\u0451\u043d",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u044b_\u043c\u0435\u0441\u044f\u0446\u0430\u045e",yy:"\u0433\u043e\u0434_\u0433\u0430\u0434\u044b_\u0433\u0430\u0434\u043e\u045e"}[t]).split("_"),e%10==1&&e%100!=11?a[0]:2<=e%10&&e%10<=4&&(e%100<10||20<=e%100)?a[1]:a[2])}c.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ert\u0259si_\xc7\u0259r\u015f\u0259nb\u0259 ax\u015fam\u0131_\xc7\u0259r\u015f\u0259nb\u0259_C\xfcm\u0259 ax\u015fam\u0131_C\xfcm\u0259_\u015e\u0259nb\u0259".split("_"),weekdaysShort:"Baz_BzE_\xc7Ax_\xc7\u0259r_CAx_C\xfcm_\u015e\u0259n".split("_"),weekdaysMin:"Bz_BE_\xc7A_\xc7\u0259_CA_C\xfc_\u015e\u0259".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[g\u0259l\u0259n h\u0259ft\u0259] dddd [saat] LT",lastDay:"[d\xfcn\u0259n] LT",lastWeek:"[ke\xe7\u0259n h\u0259ft\u0259] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \u0259vv\u0259l",s:"bir ne\xe7\u0259 saniy\u0259",ss:"%d saniy\u0259",m:"bir d\u0259qiq\u0259",mm:"%d d\u0259qiq\u0259",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gec\u0259|s\u0259h\u0259r|g\xfcnd\xfcz|ax\u015fam/,isPM:function(e){return/^(g\xfcnd\xfcz|ax\u015fam)$/.test(e)},meridiem:function(e,a,t){return e<4?"gec\u0259":e<12?"s\u0259h\u0259r":e<17?"g\xfcnd\xfcz":"ax\u015fam"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0131nc\u0131|inci|nci|\xfcnc\xfc|nc\u0131|uncu)/,ordinal:function(e){var a;return 0===e?e+"-\u0131nc\u0131":e+($t[a=e%10]||$t[e%100-a]||$t[100<=e?100:null])},week:{dow:1,doy:7}}),c.defineLocale("be",{months:{format:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044f_\u043b\u044e\u0442\u0430\u0433\u0430_\u0441\u0430\u043a\u0430\u0432\u0456\u043a\u0430_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a\u0430_\u0442\u0440\u0430\u045e\u043d\u044f_\u0447\u044d\u0440\u0432\u0435\u043d\u044f_\u043b\u0456\u043f\u0435\u043d\u044f_\u0436\u043d\u0456\u045e\u043d\u044f_\u0432\u0435\u0440\u0430\u0441\u043d\u044f_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a\u0430_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434\u0430_\u0441\u043d\u0435\u0436\u043d\u044f".split("_"),standalone:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044c_\u043b\u044e\u0442\u044b_\u0441\u0430\u043a\u0430\u0432\u0456\u043a_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u044d\u0440\u0432\u0435\u043d\u044c_\u043b\u0456\u043f\u0435\u043d\u044c_\u0436\u043d\u0456\u0432\u0435\u043d\u044c_\u0432\u0435\u0440\u0430\u0441\u0435\u043d\u044c_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434_\u0441\u043d\u0435\u0436\u0430\u043d\u044c".split("_")},monthsShort:"\u0441\u0442\u0443\u0434_\u043b\u044e\u0442_\u0441\u0430\u043a_\u043a\u0440\u0430\u0441_\u0442\u0440\u0430\u0432_\u0447\u044d\u0440\u0432_\u043b\u0456\u043f_\u0436\u043d\u0456\u0432_\u0432\u0435\u0440_\u043a\u0430\u0441\u0442_\u043b\u0456\u0441\u0442_\u0441\u043d\u0435\u0436".split("_"),weekdays:{format:"\u043d\u044f\u0434\u0437\u0435\u043b\u044e_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0443_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0443_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),standalone:"\u043d\u044f\u0434\u0437\u0435\u043b\u044f_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0430_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0430_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),isFormat:/\[ ?[\u0423\u0443\u045e] ?(?:\u043c\u0456\u043d\u0443\u043b\u0443\u044e|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u0443\u044e)? ?\] ?dddd/},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., HH:mm",LLLL:"dddd, D MMMM YYYY \u0433., HH:mm"},calendar:{sameDay:"[\u0421\u0451\u043d\u043d\u044f \u045e] LT",nextDay:"[\u0417\u0430\u045e\u0442\u0440\u0430 \u045e] LT",lastDay:"[\u0423\u0447\u043e\u0440\u0430 \u045e] LT",nextWeek:function(){return"[\u0423] dddd [\u045e] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u0443\u044e] dddd [\u045e] LT";case 1:case 2:case 4:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u044b] dddd [\u045e] LT"}},sameElse:"L"},relativeTime:{future:"\u043f\u0440\u0430\u0437 %s",past:"%s \u0442\u0430\u043c\u0443",s:"\u043d\u0435\u043a\u0430\u043b\u044c\u043a\u0456 \u0441\u0435\u043a\u0443\u043d\u0434",m:Qt,mm:Qt,h:Qt,hh:Qt,d:"\u0434\u0437\u0435\u043d\u044c",dd:Qt,M:"\u043c\u0435\u0441\u044f\u0446",MM:Qt,y:"\u0433\u043e\u0434",yy:Qt},meridiemParse:/\u043d\u043e\u0447\u044b|\u0440\u0430\u043d\u0456\u0446\u044b|\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430/,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430)$/.test(e)},meridiem:function(e,a,t){return e<4?"\u043d\u043e\u0447\u044b":e<12?"\u0440\u0430\u043d\u0456\u0446\u044b":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0430\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0456|\u044b|\u0433\u0430)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":case"w":case"W":return e%10!=2&&e%10!=3||e%100==12||e%100==13?e+"-\u044b":e+"-\u0456";case"D":return e+"-\u0433\u0430";default:return e}},week:{dow:1,doy:7}}),c.defineLocale("bg",{months:"\u044f\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u044f\u043d\u0443_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u044f\u0434\u0430_\u0447\u0435\u0442\u0432\u044a\u0440\u0442\u044a\u043a_\u043f\u0435\u0442\u044a\u043a_\u0441\u044a\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u044f_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u044a\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u043d\u0435\u0441 \u0432] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432] LT",nextWeek:"dddd [\u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u041c\u0438\u043d\u0430\u043b\u0430\u0442\u0430] dddd [\u0432] LT";case 1:case 2:case 4:case 5:return"[\u041c\u0438\u043d\u0430\u043b\u0438\u044f] dddd [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0441\u043b\u0435\u0434 %s",past:"\u043f\u0440\u0435\u0434\u0438 %s",s:"\u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0434\u0435\u043d",dd:"%d \u0434\u0435\u043d\u0430",w:"\u0441\u0435\u0434\u043c\u0438\u0446\u0430",ww:"%d \u0441\u0435\u0434\u043c\u0438\u0446\u0438",M:"\u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0430",y:"\u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(e){var a=e%10,t=e%100;return 0===e?e+"-\u0435\u0432":0==t?e+"-\u0435\u043d":10<t&&t<20?e+"-\u0442\u0438":1==a?e+"-\u0432\u0438":2==a?e+"-\u0440\u0438":7==a||8==a?e+"-\u043c\u0438":e+"-\u0442\u0438"},week:{dow:1,doy:7}}),c.defineLocale("bm",{months:"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_M\u025bkalo_Zuw\u025bnkalo_Zuluyekalo_Utikalo_S\u025btanburukalo_\u0254kut\u0254burukalo_Nowanburukalo_Desanburukalo".split("_"),monthsShort:"Zan_Few_Mar_Awi_M\u025b_Zuw_Zul_Uti_S\u025bt_\u0254ku_Now_Des".split("_"),weekdays:"Kari_Nt\u025bn\u025bn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),weekdaysShort:"Kar_Nt\u025b_Tar_Ara_Ala_Jum_Sib".split("_"),weekdaysMin:"Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM [tile] D [san] YYYY",LLL:"MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm",LLLL:"dddd MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm"},calendar:{sameDay:"[Bi l\u025br\u025b] LT",nextDay:"[Sini l\u025br\u025b] LT",nextWeek:"dddd [don l\u025br\u025b] LT",lastDay:"[Kunu l\u025br\u025b] LT",lastWeek:"dddd [t\u025bm\u025bnen l\u025br\u025b] LT",sameElse:"L"},relativeTime:{future:"%s k\u0254n\u0254",past:"a b\u025b %s b\u0254",s:"sanga dama dama",ss:"sekondi %d",m:"miniti kelen",mm:"miniti %d",h:"l\u025br\u025b kelen",hh:"l\u025br\u025b %d",d:"tile kelen",dd:"tile %d",M:"kalo kelen",MM:"kalo %d",y:"san kelen",yy:"san %d"},week:{dow:1,doy:4}});var Xt={1:"\u09e7",2:"\u09e8",3:"\u09e9",4:"\u09ea",5:"\u09eb",6:"\u09ec",7:"\u09ed",8:"\u09ee",9:"\u09ef",0:"\u09e6"},es={"\u09e7":"1","\u09e8":"2","\u09e9":"3","\u09ea":"4","\u09eb":"5","\u09ec":"6","\u09ed":"7","\u09ee":"8","\u09ef":"9","\u09e6":"0"},as=(c.defineLocale("bn-bd",{months:"\u099c\u09be\u09a8\u09c1\u09df\u09be\u09b0\u09bf_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09df\u09be\u09b0\u09bf_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0_\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0_\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0_\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0".split("_"),monthsShort:"\u099c\u09be\u09a8\u09c1_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f_\u0985\u0995\u09cd\u099f\u09cb_\u09a8\u09ad\u09c7_\u09a1\u09bf\u09b8\u09c7".split("_"),weekdays:"\u09b0\u09ac\u09bf\u09ac\u09be\u09b0_\u09b8\u09cb\u09ae\u09ac\u09be\u09b0_\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0_\u09ac\u09c1\u09a7\u09ac\u09be\u09b0_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0_\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0_\u09b6\u09a8\u09bf\u09ac\u09be\u09b0".split("_"),weekdaysShort:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),weekdaysMin:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),longDateFormat:{LT:"A h:mm \u09b8\u09ae\u09df",LTS:"A h:mm:ss \u09b8\u09ae\u09df",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u09b8\u09ae\u09df",LLLL:"dddd, D MMMM YYYY, A h:mm \u09b8\u09ae\u09df"},calendar:{sameDay:"[\u0986\u099c] LT",nextDay:"[\u0986\u0997\u09be\u09ae\u09c0\u0995\u09be\u09b2] LT",nextWeek:"dddd, LT",lastDay:"[\u0997\u09a4\u0995\u09be\u09b2] LT",lastWeek:"[\u0997\u09a4] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u09aa\u09b0\u09c7",past:"%s \u0986\u0997\u09c7",s:"\u0995\u09df\u09c7\u0995 \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",ss:"%d \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",m:"\u098f\u0995 \u09ae\u09bf\u09a8\u09bf\u099f",mm:"%d \u09ae\u09bf\u09a8\u09bf\u099f",h:"\u098f\u0995 \u0998\u09a8\u09cd\u099f\u09be",hh:"%d \u0998\u09a8\u09cd\u099f\u09be",d:"\u098f\u0995 \u09a6\u09bf\u09a8",dd:"%d \u09a6\u09bf\u09a8",M:"\u098f\u0995 \u09ae\u09be\u09b8",MM:"%d \u09ae\u09be\u09b8",y:"\u098f\u0995 \u09ac\u099b\u09b0",yy:"%d \u09ac\u099b\u09b0"},preparse:function(e){return e.replace(/[\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09e6]/g,function(e){return es[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Xt[e]})},meridiemParse:/\u09b0\u09be\u09a4|\u09ad\u09cb\u09b0|\u09b8\u0995\u09be\u09b2|\u09a6\u09c1\u09aa\u09c1\u09b0|\u09ac\u09bf\u0995\u09be\u09b2|\u09b8\u09a8\u09cd\u09a7\u09cd\u09af\u09be|\u09b0\u09be\u09a4/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u09b0\u09be\u09a4"===a?e<4?e:e+12:"\u09ad\u09cb\u09b0"===a||"\u09b8\u0995\u09be\u09b2"===a?e:"\u09a6\u09c1\u09aa\u09c1\u09b0"===a?3<=e?e:e+12:"\u09ac\u09bf\u0995\u09be\u09b2"===a||"\u09b8\u09a8\u09cd\u09a7\u09cd\u09af\u09be"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u09b0\u09be\u09a4":e<6?"\u09ad\u09cb\u09b0":e<12?"\u09b8\u0995\u09be\u09b2":e<15?"\u09a6\u09c1\u09aa\u09c1\u09b0":e<18?"\u09ac\u09bf\u0995\u09be\u09b2":e<20?"\u09b8\u09a8\u09cd\u09a7\u09cd\u09af\u09be":"\u09b0\u09be\u09a4"},week:{dow:0,doy:6}}),{1:"\u09e7",2:"\u09e8",3:"\u09e9",4:"\u09ea",5:"\u09eb",6:"\u09ec",7:"\u09ed",8:"\u09ee",9:"\u09ef",0:"\u09e6"}),ts={"\u09e7":"1","\u09e8":"2","\u09e9":"3","\u09ea":"4","\u09eb":"5","\u09ec":"6","\u09ed":"7","\u09ee":"8","\u09ef":"9","\u09e6":"0"},ss=(c.defineLocale("bn",{months:"\u099c\u09be\u09a8\u09c1\u09df\u09be\u09b0\u09bf_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09df\u09be\u09b0\u09bf_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0_\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0_\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0_\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0".split("_"),monthsShort:"\u099c\u09be\u09a8\u09c1_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f_\u0985\u0995\u09cd\u099f\u09cb_\u09a8\u09ad\u09c7_\u09a1\u09bf\u09b8\u09c7".split("_"),weekdays:"\u09b0\u09ac\u09bf\u09ac\u09be\u09b0_\u09b8\u09cb\u09ae\u09ac\u09be\u09b0_\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0_\u09ac\u09c1\u09a7\u09ac\u09be\u09b0_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0_\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0_\u09b6\u09a8\u09bf\u09ac\u09be\u09b0".split("_"),weekdaysShort:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),weekdaysMin:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),longDateFormat:{LT:"A h:mm \u09b8\u09ae\u09df",LTS:"A h:mm:ss \u09b8\u09ae\u09df",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u09b8\u09ae\u09df",LLLL:"dddd, D MMMM YYYY, A h:mm \u09b8\u09ae\u09df"},calendar:{sameDay:"[\u0986\u099c] LT",nextDay:"[\u0986\u0997\u09be\u09ae\u09c0\u0995\u09be\u09b2] LT",nextWeek:"dddd, LT",lastDay:"[\u0997\u09a4\u0995\u09be\u09b2] LT",lastWeek:"[\u0997\u09a4] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u09aa\u09b0\u09c7",past:"%s \u0986\u0997\u09c7",s:"\u0995\u09df\u09c7\u0995 \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",ss:"%d \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",m:"\u098f\u0995 \u09ae\u09bf\u09a8\u09bf\u099f",mm:"%d \u09ae\u09bf\u09a8\u09bf\u099f",h:"\u098f\u0995 \u0998\u09a8\u09cd\u099f\u09be",hh:"%d \u0998\u09a8\u09cd\u099f\u09be",d:"\u098f\u0995 \u09a6\u09bf\u09a8",dd:"%d \u09a6\u09bf\u09a8",M:"\u098f\u0995 \u09ae\u09be\u09b8",MM:"%d \u09ae\u09be\u09b8",y:"\u098f\u0995 \u09ac\u099b\u09b0",yy:"%d \u09ac\u099b\u09b0"},preparse:function(e){return e.replace(/[\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09e6]/g,function(e){return ts[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return as[e]})},meridiemParse:/\u09b0\u09be\u09a4|\u09b8\u0995\u09be\u09b2|\u09a6\u09c1\u09aa\u09c1\u09b0|\u09ac\u09bf\u0995\u09be\u09b2|\u09b0\u09be\u09a4/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u09b0\u09be\u09a4"===a&&4<=e||"\u09a6\u09c1\u09aa\u09c1\u09b0"===a&&e<5||"\u09ac\u09bf\u0995\u09be\u09b2"===a?e+12:e},meridiem:function(e,a,t){return e<4?"\u09b0\u09be\u09a4":e<10?"\u09b8\u0995\u09be\u09b2":e<17?"\u09a6\u09c1\u09aa\u09c1\u09b0":e<20?"\u09ac\u09bf\u0995\u09be\u09b2":"\u09b0\u09be\u09a4"},week:{dow:0,doy:6}}),{1:"\u0f21",2:"\u0f22",3:"\u0f23",4:"\u0f24",5:"\u0f25",6:"\u0f26",7:"\u0f27",8:"\u0f28",9:"\u0f29",0:"\u0f20"}),ns={"\u0f21":"1","\u0f22":"2","\u0f23":"3","\u0f24":"4","\u0f25":"5","\u0f26":"6","\u0f27":"7","\u0f28":"8","\u0f29":"9","\u0f20":"0"};function rs(e,a,t){return e+" "+(t={mm:"munutenn",MM:"miz",dd:"devezh"}[t],2!==(e=e)?t:void 0!==(e={m:"v",b:"v",d:"z"})[(t=t).charAt(0)]?e[t.charAt(0)]+t.substring(1):t)}c.defineLocale("bo",{months:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f44\u0f0b\u0f54\u0f7c_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f66\u0f74\u0f58\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f5e\u0f72\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f63\u0f94\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0fb2\u0f74\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f62\u0f92\u0fb1\u0f51\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f42\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f45\u0f72\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54".split("_"),monthsShort:"\u0f5f\u0fb3\u0f0b1_\u0f5f\u0fb3\u0f0b2_\u0f5f\u0fb3\u0f0b3_\u0f5f\u0fb3\u0f0b4_\u0f5f\u0fb3\u0f0b5_\u0f5f\u0fb3\u0f0b6_\u0f5f\u0fb3\u0f0b7_\u0f5f\u0fb3\u0f0b8_\u0f5f\u0fb3\u0f0b9_\u0f5f\u0fb3\u0f0b10_\u0f5f\u0fb3\u0f0b11_\u0f5f\u0fb3\u0f0b12".split("_"),monthsShortRegex:/^(\u0f5f\u0fb3\u0f0b\d{1,2})/,monthsParseExact:!0,weekdays:"\u0f42\u0f5f\u0f60\u0f0b\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f42\u0f5f\u0f60\u0f0b\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysShort:"\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysMin:"\u0f49\u0f72_\u0f5f\u0fb3_\u0f58\u0f72\u0f42_\u0f63\u0fb7\u0f42_\u0f55\u0f74\u0f62_\u0f66\u0f44\u0f66_\u0f66\u0fa4\u0f7a\u0f53".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0f51\u0f72\u0f0b\u0f62\u0f72\u0f44] LT",nextDay:"[\u0f66\u0f44\u0f0b\u0f49\u0f72\u0f53] LT",nextWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f62\u0f97\u0f7a\u0f66\u0f0b\u0f58], LT",lastDay:"[\u0f41\u0f0b\u0f66\u0f44] LT",lastWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f58\u0f50\u0f60\u0f0b\u0f58] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0f63\u0f0b",past:"%s \u0f66\u0f94\u0f53\u0f0b\u0f63",s:"\u0f63\u0f58\u0f0b\u0f66\u0f44",ss:"%d \u0f66\u0f90\u0f62\u0f0b\u0f46\u0f0d",m:"\u0f66\u0f90\u0f62\u0f0b\u0f58\u0f0b\u0f42\u0f45\u0f72\u0f42",mm:"%d \u0f66\u0f90\u0f62\u0f0b\u0f58",h:"\u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51\u0f0b\u0f42\u0f45\u0f72\u0f42",hh:"%d \u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51",d:"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f45\u0f72\u0f42",dd:"%d \u0f49\u0f72\u0f53\u0f0b",M:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f45\u0f72\u0f42",MM:"%d \u0f5f\u0fb3\u0f0b\u0f56",y:"\u0f63\u0f7c\u0f0b\u0f42\u0f45\u0f72\u0f42",yy:"%d \u0f63\u0f7c"},preparse:function(e){return e.replace(/[\u0f21\u0f22\u0f23\u0f24\u0f25\u0f26\u0f27\u0f28\u0f29\u0f20]/g,function(e){return ns[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return ss[e]})},meridiemParse:/\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c|\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66|\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44|\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42|\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"===a&&4<=e||"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44"===a&&e<5||"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42"===a?e+12:e},meridiem:function(e,a,t){return e<4?"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c":e<10?"\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66":e<17?"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44":e<20?"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42":"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"},week:{dow:0,doy:6}});Ye=[/^gen/i,/^c[\u02bc\']hwe/i,/^meu/i,/^ebr/i,/^mae/i,/^(mez|eve)/i,/^gou/i,/^eos/i,/^gwe/i,/^her/i,/^du/i,/^ker/i],Ie=/^(genver|c[\u02bc\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[\u02bc\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,_=[/^Su/i,/^Lu/i,/^Me([^r]|$)/i,/^Mer/i,/^Ya/i,/^Gw/i,/^Sa/i];function ds(e,a,t){var s=e+" ";switch(t){case"ss":return s+=1===e?"sekunda":2===e||3===e||4===e?"sekunde":"sekundi";case"mm":return s+=1!==e&&(2===e||3===e||4===e)?"minute":"minuta";case"h":return"jedan sat";case"hh":return s+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return s+=1===e?"dan":"dana";case"MM":return s+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return s+=1!==e&&(2===e||3===e||4===e)?"godine":"godina"}}c.defineLocale("br",{months:"Genver_C\u02bchwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C\u02bchwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc\u02bcher_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParse:_,fullWeekdaysParse:[/^sul/i,/^lun/i,/^meurzh/i,/^merc[\u02bc\']her/i,/^yaou/i,/^gwener/i,/^sadorn/i],shortWeekdaysParse:[/^Sul/i,/^Lun/i,/^Meu/i,/^Mer/i,/^Yao/i,/^Gwe/i,/^Sad/i],minWeekdaysParse:_,monthsRegex:Ie,monthsShortRegex:Ie,monthsStrictRegex:/^(genver|c[\u02bc\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,monthsShortStrictRegex:/^(gen|c[\u02bc\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,monthsParse:Ye,longMonthsParse:Ye,shortMonthsParse:Ye,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY HH:mm",LLLL:"dddd, D [a viz] MMMM YYYY HH:mm"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc\u02bchoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec\u02bch da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s \u02bczo",s:"un nebeud segondenno\xf9",ss:"%d eilenn",m:"ur vunutenn",mm:rs,h:"un eur",hh:"%d eur",d:"un devezh",dd:rs,M:"ur miz",MM:rs,y:"ur bloaz",yy:function(e){switch(function e(a){if(9<a)return e(a%10);return a}(e)){case 1:case 3:case 4:case 5:case 9:return e+" bloaz";default:return e+" vloaz"}}},dayOfMonthOrdinalParse:/\d{1,2}(a\xf1|vet)/,ordinal:function(e){return e+(1===e?"a\xf1":"vet")},week:{dow:1,doy:4},meridiemParse:/a.m.|g.m./,isPM:function(e){return"g.m."===e},meridiem:function(e,a,t){return e<12?"a.m.":"g.m."}}),c.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010der u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[pro\u0161lu] dddd [u] LT";case 6:return"[pro\u0161le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[pro\u0161li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:ds,m:function(e,a,t,s){switch(t){case"m":return a?"jedna minuta":s?"jednu minutu":"jedne minute"}},mm:ds,h:ds,hh:ds,d:"dan",dd:ds,M:"mjesec",MM:ds,y:"godinu",yy:ds},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),c.defineLocale("ca",{months:{standalone:"gener_febrer_mar\xe7_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de mar\xe7_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._mar\xe7_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dt_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[dem\xe0 a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aqu\xed %s",past:"fa %s",s:"uns segons",ss:"%d segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|\xe8|a)/,ordinal:function(e,a){return e+("w"!==a&&"W"!==a?1===e?"r":2===e?"n":3===e?"r":4===e?"t":"\xe8":"a")},week:{dow:1,doy:4}});ye={standalone:"leden_\xfanor_b\u0159ezen_duben_kv\u011bten_\u010derven_\u010dervenec_srpen_z\xe1\u0159\xed_\u0159\xedjen_listopad_prosinec".split("_"),format:"ledna_\xfanora_b\u0159ezna_dubna_kv\u011btna_\u010dervna_\u010dervence_srpna_z\xe1\u0159\xed_\u0159\xedjna_listopadu_prosince".split("_"),isFormat:/DD?[o.]?(\[[^\[\]]*\]|\s)+MMMM/},na="led_\xfano_b\u0159e_dub_kv\u011b_\u010dvn_\u010dvc_srp_z\xe1\u0159_\u0159\xedj_lis_pro".split("_"),m=[/^led/i,/^\xfano/i,/^b\u0159e/i,/^dub/i,/^kv\u011b/i,/^(\u010dvn|\u010derven$|\u010dervna)/i,/^(\u010dvc|\u010dervenec|\u010dervence)/i,/^srp/i,/^z\xe1\u0159/i,/^\u0159\xedj/i,/^lis/i,/^pro/i],t=/^(leden|\xfanor|b\u0159ezen|duben|kv\u011bten|\u010dervenec|\u010dervence|\u010derven|\u010dervna|srpen|z\xe1\u0159\xed|\u0159\xedjen|listopad|prosinec|led|\xfano|b\u0159e|dub|kv\u011b|\u010dvn|\u010dvc|srp|z\xe1\u0159|\u0159\xedj|lis|pro)/i;function _s(e){return 1<e&&e<5&&1!=~~(e/10)}function j(e,a,t,s){var n=e+" ";switch(t){case"s":return a||s?"p\xe1r sekund":"p\xe1r sekundami";case"ss":return a||s?n+(_s(e)?"sekundy":"sekund"):n+"sekundami";case"m":return a?"minuta":s?"minutu":"minutou";case"mm":return a||s?n+(_s(e)?"minuty":"minut"):n+"minutami";case"h":return a?"hodina":s?"hodinu":"hodinou";case"hh":return a||s?n+(_s(e)?"hodiny":"hodin"):n+"hodinami";case"d":return a||s?"den":"dnem";case"dd":return a||s?n+(_s(e)?"dny":"dn\xed"):n+"dny";case"M":return a||s?"m\u011bs\xedc":"m\u011bs\xedcem";case"MM":return a||s?n+(_s(e)?"m\u011bs\xedce":"m\u011bs\xedc\u016f"):n+"m\u011bs\xedci";case"y":return a||s?"rok":"rokem";case"yy":return a||s?n+(_s(e)?"roky":"let"):n+"lety"}}function is(e,a,t,s){e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],w:["eine Woche","einer Woche"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?e[t][0]:e[t][1]}function os(e,a,t,s){e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],w:["eine Woche","einer Woche"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?e[t][0]:e[t][1]}function ms(e,a,t,s){e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],w:["eine Woche","einer Woche"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?e[t][0]:e[t][1]}c.defineLocale("cs",{months:ye,monthsShort:na,monthsRegex:t,monthsShortRegex:t,monthsStrictRegex:/^(leden|ledna|\xfanora|\xfanor|b\u0159ezen|b\u0159ezna|duben|dubna|kv\u011bten|kv\u011btna|\u010dervenec|\u010dervence|\u010derven|\u010dervna|srpen|srpna|z\xe1\u0159\xed|\u0159\xedjen|\u0159\xedjna|listopadu|listopad|prosinec|prosince)/i,monthsShortStrictRegex:/^(led|\xfano|b\u0159e|dub|kv\u011b|\u010dvn|\u010dvc|srp|z\xe1\u0159|\u0159\xedj|lis|pro)/i,monthsParse:m,longMonthsParse:m,shortMonthsParse:m,weekdays:"ned\u011ble_pond\u011bl\xed_\xfater\xfd_st\u0159eda_\u010dtvrtek_p\xe1tek_sobota".split("_"),weekdaysShort:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),weekdaysMin:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[z\xedtra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v ned\u011bli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve st\u0159edu v] LT";case 4:return"[ve \u010dtvrtek v] LT";case 5:return"[v p\xe1tek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[v\u010dera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou ned\u011bli v] LT";case 1:case 2:return"[minul\xe9] dddd [v] LT";case 3:return"[minulou st\u0159edu v] LT";case 4:case 5:return"[minul\xfd] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"p\u0159ed %s",s:j,ss:j,m:j,mm:j,h:j,hh:j,d:j,dd:j,M:j,MM:j,y:j,yy:j},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("cv",{months:"\u043a\u04d1\u0440\u043b\u0430\u0447_\u043d\u0430\u0440\u04d1\u0441_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\u04ab\u04d7\u0440\u0442\u043c\u0435_\u0443\u0442\u04d1_\u04ab\u0443\u0440\u043b\u0430_\u0430\u0432\u04d1\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448\u0442\u0430\u0432".split("_"),monthsShort:"\u043a\u04d1\u0440_\u043d\u0430\u0440_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\u04ab\u04d7\u0440_\u0443\u0442\u04d1_\u04ab\u0443\u0440_\u0430\u0432\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448".split("_"),weekdays:"\u0432\u044b\u0440\u0441\u0430\u0440\u043d\u0438\u043a\u0443\u043d_\u0442\u0443\u043d\u0442\u0438\u043a\u0443\u043d_\u044b\u0442\u043b\u0430\u0440\u0438\u043a\u0443\u043d_\u044e\u043d\u043a\u0443\u043d_\u043a\u04d7\u04ab\u043d\u0435\u0440\u043d\u0438\u043a\u0443\u043d_\u044d\u0440\u043d\u0435\u043a\u0443\u043d_\u0448\u04d1\u043c\u0430\u0442\u043a\u0443\u043d".split("_"),weekdaysShort:"\u0432\u044b\u0440_\u0442\u0443\u043d_\u044b\u0442\u043b_\u044e\u043d_\u043a\u04d7\u04ab_\u044d\u0440\u043d_\u0448\u04d1\u043c".split("_"),weekdaysMin:"\u0432\u0440_\u0442\u043d_\u044b\u0442_\u044e\u043d_\u043a\u04ab_\u044d\u0440_\u0448\u043c".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7]",LLL:"YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7], HH:mm",LLLL:"dddd, YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7], HH:mm"},calendar:{sameDay:"[\u041f\u0430\u044f\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextDay:"[\u042b\u0440\u0430\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastDay:"[\u04d6\u043d\u0435\u0440] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextWeek:"[\u04aa\u0438\u0442\u0435\u0441] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastWeek:"[\u0418\u0440\u0442\u043d\u04d7] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",sameElse:"L"},relativeTime:{future:function(e){return e+(/\u0441\u0435\u0445\u0435\u0442$/i.exec(e)?"\u0440\u0435\u043d":/\u04ab\u0443\u043b$/i.exec(e)?"\u0442\u0430\u043d":"\u0440\u0430\u043d")},past:"%s \u043a\u0430\u044f\u043b\u043b\u0430",s:"\u043f\u04d7\u0440-\u0438\u043a \u04ab\u0435\u043a\u043a\u0443\u043d\u0442",ss:"%d \u04ab\u0435\u043a\u043a\u0443\u043d\u0442",m:"\u043f\u04d7\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u043f\u04d7\u0440 \u0441\u0435\u0445\u0435\u0442",hh:"%d \u0441\u0435\u0445\u0435\u0442",d:"\u043f\u04d7\u0440 \u043a\u0443\u043d",dd:"%d \u043a\u0443\u043d",M:"\u043f\u04d7\u0440 \u0443\u0439\u04d1\u0445",MM:"%d \u0443\u0439\u04d1\u0445",y:"\u043f\u04d7\u0440 \u04ab\u0443\u043b",yy:"%d \u04ab\u0443\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-\u043c\u04d7\u0448/,ordinal:"%d-\u043c\u04d7\u0448",week:{dow:1,doy:7}}),c.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn \xf4l",s:"ychydig eiliadau",ss:"%d eiliad",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(e){var a="";return 20<e?a=40===e||50===e||60===e||80===e||100===e?"fed":"ain":0<e&&(a=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"][e]),e+a},week:{dow:1,doy:4}}),c.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"s\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xf8rdag".split("_"),weekdaysShort:"s\xf8n_man_tir_ons_tor_fre_l\xf8r".split("_"),weekdaysMin:"s\xf8_ma_ti_on_to_fr_l\xf8".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"p\xe5 dddd [kl.] LT",lastDay:"[i g\xe5r kl.] LT",lastWeek:"[i] dddd[s kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"f\xe5 sekunder",ss:"%d sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en m\xe5ned",MM:"%d m\xe5neder",y:"et \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("de-at",{months:"J\xe4nner_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"J\xe4n._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:is,mm:"%d Minuten",h:is,hh:"%d Stunden",d:is,dd:is,w:is,ww:"%d Wochen",M:is,MM:is,y:is,yy:is},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("de-ch",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:os,mm:"%d Minuten",h:os,hh:"%d Stunden",d:os,dd:os,w:os,ww:"%d Wochen",M:os,MM:os,y:os,yy:os},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("de",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:ms,mm:"%d Minuten",h:ms,hh:"%d Stunden",d:ms,dd:ms,w:ms,ww:"%d Wochen",M:ms,MM:ms,y:ms,yy:ms},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});o=["\u0796\u07ac\u0782\u07aa\u0787\u07a6\u0783\u07a9","\u078a\u07ac\u0784\u07b0\u0783\u07aa\u0787\u07a6\u0783\u07a9","\u0789\u07a7\u0783\u07a8\u0797\u07aa","\u0787\u07ad\u0795\u07b0\u0783\u07a9\u078d\u07aa","\u0789\u07ad","\u0796\u07ab\u0782\u07b0","\u0796\u07aa\u078d\u07a6\u0787\u07a8","\u0787\u07af\u078e\u07a6\u0790\u07b0\u0793\u07aa","\u0790\u07ac\u0795\u07b0\u0793\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa","\u0787\u07ae\u0786\u07b0\u0793\u07af\u0784\u07a6\u0783\u07aa","\u0782\u07ae\u0788\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa","\u0791\u07a8\u0790\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa"],n=["\u0787\u07a7\u078b\u07a8\u0787\u07b0\u078c\u07a6","\u0780\u07af\u0789\u07a6","\u0787\u07a6\u0782\u07b0\u078e\u07a7\u0783\u07a6","\u0784\u07aa\u078b\u07a6","\u0784\u07aa\u0783\u07a7\u0790\u07b0\u078a\u07a6\u078c\u07a8","\u0780\u07aa\u0786\u07aa\u0783\u07aa","\u0780\u07ae\u0782\u07a8\u0780\u07a8\u0783\u07aa"];c.defineLocale("dv",{months:o,monthsShort:o,weekdays:n,weekdaysShort:n,weekdaysMin:"\u0787\u07a7\u078b\u07a8_\u0780\u07af\u0789\u07a6_\u0787\u07a6\u0782\u07b0_\u0784\u07aa\u078b\u07a6_\u0784\u07aa\u0783\u07a7_\u0780\u07aa\u0786\u07aa_\u0780\u07ae\u0782\u07a8".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0789\u0786|\u0789\u078a/,isPM:function(e){return"\u0789\u078a"===e},meridiem:function(e,a,t){return e<12?"\u0789\u0786":"\u0789\u078a"},calendar:{sameDay:"[\u0789\u07a8\u0787\u07a6\u078b\u07aa] LT",nextDay:"[\u0789\u07a7\u078b\u07a6\u0789\u07a7] LT",nextWeek:"dddd LT",lastDay:"[\u0787\u07a8\u0787\u07b0\u0794\u07ac] LT",lastWeek:"[\u078a\u07a7\u0787\u07a8\u078c\u07aa\u0788\u07a8] dddd LT",sameElse:"L"},relativeTime:{future:"\u078c\u07ac\u0783\u07ad\u078e\u07a6\u0787\u07a8 %s",past:"\u0786\u07aa\u0783\u07a8\u0782\u07b0 %s",s:"\u0790\u07a8\u0786\u07aa\u0782\u07b0\u078c\u07aa\u0786\u07ae\u0785\u07ac\u0787\u07b0",ss:"d% \u0790\u07a8\u0786\u07aa\u0782\u07b0\u078c\u07aa",m:"\u0789\u07a8\u0782\u07a8\u0793\u07ac\u0787\u07b0",mm:"\u0789\u07a8\u0782\u07a8\u0793\u07aa %d",h:"\u078e\u07a6\u0791\u07a8\u0787\u07a8\u0783\u07ac\u0787\u07b0",hh:"\u078e\u07a6\u0791\u07a8\u0787\u07a8\u0783\u07aa %d",d:"\u078b\u07aa\u0788\u07a6\u0780\u07ac\u0787\u07b0",dd:"\u078b\u07aa\u0788\u07a6\u0790\u07b0 %d",M:"\u0789\u07a6\u0780\u07ac\u0787\u07b0",MM:"\u0789\u07a6\u0790\u07b0 %d",y:"\u0787\u07a6\u0780\u07a6\u0783\u07ac\u0787\u07b0",yy:"\u0787\u07a6\u0780\u07a6\u0783\u07aa %d"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:7,doy:12}}),c.defineLocale("el",{monthsNominativeEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u039c\u03ac\u03c1\u03c4\u03b9\u03bf\u03c2_\u0391\u03c0\u03c1\u03af\u03bb\u03b9\u03bf\u03c2_\u039c\u03ac\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bd\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bb\u03b9\u03bf\u03c2_\u0391\u03cd\u03b3\u03bf\u03c5\u03c3\u03c4\u03bf\u03c2_\u03a3\u03b5\u03c0\u03c4\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u039f\u03ba\u03c4\u03ce\u03b2\u03c1\u03b9\u03bf\u03c2_\u039d\u03bf\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u0394\u03b5\u03ba\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2".split("_"),monthsGenitiveEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u039c\u03b1\u03c1\u03c4\u03af\u03bf\u03c5_\u0391\u03c0\u03c1\u03b9\u03bb\u03af\u03bf\u03c5_\u039c\u03b1\u0390\u03bf\u03c5_\u0399\u03bf\u03c5\u03bd\u03af\u03bf\u03c5_\u0399\u03bf\u03c5\u03bb\u03af\u03bf\u03c5_\u0391\u03c5\u03b3\u03bf\u03cd\u03c3\u03c4\u03bf\u03c5_\u03a3\u03b5\u03c0\u03c4\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u039f\u03ba\u03c4\u03c9\u03b2\u03c1\u03af\u03bf\u03c5_\u039d\u03bf\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u0394\u03b5\u03ba\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5".split("_"),months:function(e,a){return e?("string"==typeof a&&/D/.test(a.substring(0,a.indexOf("MMMM")))?this._monthsGenitiveEl:this._monthsNominativeEl)[e.month()]:this._monthsNominativeEl},monthsShort:"\u0399\u03b1\u03bd_\u03a6\u03b5\u03b2_\u039c\u03b1\u03c1_\u0391\u03c0\u03c1_\u039c\u03b1\u03ca_\u0399\u03bf\u03c5\u03bd_\u0399\u03bf\u03c5\u03bb_\u0391\u03c5\u03b3_\u03a3\u03b5\u03c0_\u039f\u03ba\u03c4_\u039d\u03bf\u03b5_\u0394\u03b5\u03ba".split("_"),weekdays:"\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae_\u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1_\u03a4\u03c1\u03af\u03c4\u03b7_\u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7_\u03a0\u03ad\u03bc\u03c0\u03c4\u03b7_\u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae_\u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf".split("_"),weekdaysShort:"\u039a\u03c5\u03c1_\u0394\u03b5\u03c5_\u03a4\u03c1\u03b9_\u03a4\u03b5\u03c4_\u03a0\u03b5\u03bc_\u03a0\u03b1\u03c1_\u03a3\u03b1\u03b2".split("_"),weekdaysMin:"\u039a\u03c5_\u0394\u03b5_\u03a4\u03c1_\u03a4\u03b5_\u03a0\u03b5_\u03a0\u03b1_\u03a3\u03b1".split("_"),meridiem:function(e,a,t){return 11<e?t?"\u03bc\u03bc":"\u039c\u039c":t?"\u03c0\u03bc":"\u03a0\u039c"},isPM:function(e){return"\u03bc"===(e+"").toLowerCase()[0]},meridiemParse:/[\u03a0\u039c]\.?\u039c?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[\u03a3\u03ae\u03bc\u03b5\u03c1\u03b1 {}] LT",nextDay:"[\u0391\u03cd\u03c1\u03b9\u03bf {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[\u03a7\u03b8\u03b5\u03c2 {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[\u03c4\u03bf \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf] dddd [{}] LT";default:return"[\u03c4\u03b7\u03bd \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03b7] dddd [{}] LT"}},sameElse:"L"},calendar:function(e,a){var t,e=this._calendarEl[e],s=a&&a.hours();return t=e,(e="undefined"!=typeof Function&&t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)?e.apply(a):e).replace("{}",s%12==1?"\u03c3\u03c4\u03b7":"\u03c3\u03c4\u03b9\u03c2")},relativeTime:{future:"\u03c3\u03b5 %s",past:"%s \u03c0\u03c1\u03b9\u03bd",s:"\u03bb\u03af\u03b3\u03b1 \u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",ss:"%d \u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",m:"\u03ad\u03bd\u03b1 \u03bb\u03b5\u03c0\u03c4\u03cc",mm:"%d \u03bb\u03b5\u03c0\u03c4\u03ac",h:"\u03bc\u03af\u03b1 \u03ce\u03c1\u03b1",hh:"%d \u03ce\u03c1\u03b5\u03c2",d:"\u03bc\u03af\u03b1 \u03bc\u03ad\u03c1\u03b1",dd:"%d \u03bc\u03ad\u03c1\u03b5\u03c2",M:"\u03ad\u03bd\u03b1\u03c2 \u03bc\u03ae\u03bd\u03b1\u03c2",MM:"%d \u03bc\u03ae\u03bd\u03b5\u03c2",y:"\u03ad\u03bd\u03b1\u03c2 \u03c7\u03c1\u03cc\u03bd\u03bf\u03c2",yy:"%d \u03c7\u03c1\u03cc\u03bd\u03b9\u03b1"},dayOfMonthOrdinalParse:/\d{1,2}\u03b7/,ordinal:"%d\u03b7",week:{dow:1,doy:4}}),c.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:0,doy:4}}),c.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")}}),c.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),c.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),c.defineLocale("en-il",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")}}),c.defineLocale("en-in",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:0,doy:6}}),c.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),c.defineLocale("en-sg",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),c.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_a\u016dgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mart_apr_maj_jun_jul_a\u016dg_sept_okt_nov_dec".split("_"),weekdays:"diman\u0109o_lundo_mardo_merkredo_\u0135a\u016ddo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_\u0135a\u016d_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_\u0135a_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"[la] D[-an de] MMMM, YYYY",LLL:"[la] D[-an de] MMMM, YYYY HH:mm",LLLL:"dddd[n], [la] D[-an de] MMMM, YYYY HH:mm",llll:"ddd, [la] D[-an de] MMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(e){return"p"===e.charAt(0).toLowerCase()},meridiem:function(e,a,t){return 11<e?t?"p.t.m.":"P.T.M.":t?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodia\u016d je] LT",nextDay:"[Morga\u016d je] LT",nextWeek:"dddd[n je] LT",lastDay:"[Hiera\u016d je] LT",lastWeek:"[pasintan] dddd[n je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"anta\u016d %s",s:"kelkaj sekundoj",ss:"%d sekundoj",m:"unu minuto",mm:"%d minutoj",h:"unu horo",hh:"%d horoj",d:"unu tago",dd:"%d tagoj",M:"unu monato",MM:"%d monatoj",y:"unu jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}});var us="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),ls="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),i=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],ze=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,Ms=(c.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?ls:us)[e.month()]:us},monthsRegex:ze,monthsShortRegex:ze,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:i,longMonthsParse:i,shortMonthsParse:i,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),"ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_")),hs="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),M=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],jt=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,cs=(c.defineLocale("es-mx",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?hs:Ms)[e.month()]:Ms},monthsRegex:jt,monthsShortRegex:jt,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:M,longMonthsParse:M,shortMonthsParse:M,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:0,doy:4},invalidDate:"Fecha inv\xe1lida"}),"ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_")),Ls="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),xt=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],v=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,Ys=(c.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?Ls:cs)[e.month()]:cs},monthsRegex:v,monthsShortRegex:v,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:xt,longMonthsParse:xt,shortMonthsParse:xt,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"MM/DD/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:0,doy:6}}),"ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_")),ys="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),da=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],pe=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;function fs(e,a,t,s){e={s:["m\xf5ne sekundi","m\xf5ni sekund","paar sekundit"],ss:[e+"sekundi",e+"sekundit"],m:["\xfche minuti","\xfcks minut"],mm:[e+" minuti",e+" minutit"],h:["\xfche tunni","tund aega","\xfcks tund"],hh:[e+" tunni",e+" tundi"],d:["\xfche p\xe4eva","\xfcks p\xe4ev"],M:["kuu aja","kuu aega","\xfcks kuu"],MM:[e+" kuu",e+" kuud"],y:["\xfche aasta","aasta","\xfcks aasta"],yy:[e+" aasta",e+" aastat"]};return a?e[t][2]||e[t][1]:s?e[t][0]:e[t][1]}c.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?ys:Ys)[e.month()]:Ys},monthsRegex:pe,monthsShortRegex:pe,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:da,longMonthsParse:da,shortMonthsParse:da,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4},invalidDate:"Fecha inv\xe1lida"}),c.defineLocale("et",{months:"jaanuar_veebruar_m\xe4rts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_m\xe4rts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"p\xfchap\xe4ev_esmasp\xe4ev_teisip\xe4ev_kolmap\xe4ev_neljap\xe4ev_reede_laup\xe4ev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[T\xe4na,] LT",nextDay:"[Homme,] LT",nextWeek:"[J\xe4rgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s p\xe4rast",past:"%s tagasi",s:fs,ss:fs,m:fs,mm:fs,h:fs,hh:fs,d:fs,dd:"%d p\xe4eva",M:fs,MM:fs,y:fs,yy:fs},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",ss:"%d segundo",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});var ks={1:"\u06f1",2:"\u06f2",3:"\u06f3",4:"\u06f4",5:"\u06f5",6:"\u06f6",7:"\u06f7",8:"\u06f8",9:"\u06f9",0:"\u06f0"},ps={"\u06f1":"1","\u06f2":"2","\u06f3":"3","\u06f4":"4","\u06f5":"5","\u06f6":"6","\u06f7":"7","\u06f8":"8","\u06f9":"9","\u06f0":"0"},Ds=(c.defineLocale("fa",{months:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),monthsShort:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),weekdays:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysShort:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysMin:"\u06cc_\u062f_\u0633_\u0686_\u067e_\u062c_\u0634".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631|\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/,isPM:function(e){return/\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/.test(e)},meridiem:function(e,a,t){return e<12?"\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631":"\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631"},calendar:{sameDay:"[\u0627\u0645\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",nextDay:"[\u0641\u0631\u062f\u0627 \u0633\u0627\u0639\u062a] LT",nextWeek:"dddd [\u0633\u0627\u0639\u062a] LT",lastDay:"[\u062f\u06cc\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",lastWeek:"dddd [\u067e\u06cc\u0634] [\u0633\u0627\u0639\u062a] LT",sameElse:"L"},relativeTime:{future:"\u062f\u0631 %s",past:"%s \u067e\u06cc\u0634",s:"\u0686\u0646\u062f \u062b\u0627\u0646\u06cc\u0647",ss:"%d \u062b\u0627\u0646\u06cc\u0647",m:"\u06cc\u06a9 \u062f\u0642\u06cc\u0642\u0647",mm:"%d \u062f\u0642\u06cc\u0642\u0647",h:"\u06cc\u06a9 \u0633\u0627\u0639\u062a",hh:"%d \u0633\u0627\u0639\u062a",d:"\u06cc\u06a9 \u0631\u0648\u0632",dd:"%d \u0631\u0648\u0632",M:"\u06cc\u06a9 \u0645\u0627\u0647",MM:"%d \u0645\u0627\u0647",y:"\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/[\u06f0-\u06f9]/g,function(e){return ps[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return ks[e]}).replace(/,/g,"\u060c")},dayOfMonthOrdinalParse:/\d{1,2}\u0645/,ordinal:"%d\u0645",week:{dow:6,doy:12}}),"nolla yksi kaksi kolme nelj\xe4 viisi kuusi seitsem\xe4n kahdeksan yhdeks\xe4n".split(" ")),Ts=["nolla","yhden","kahden","kolmen","nelj\xe4n","viiden","kuuden",Ds[7],Ds[8],Ds[9]];function x(e,a,t,s){var n="";switch(t){case"s":return s?"muutaman sekunnin":"muutama sekunti";case"ss":n=s?"sekunnin":"sekuntia";break;case"m":return s?"minuutin":"minuutti";case"mm":n=s?"minuutin":"minuuttia";break;case"h":return s?"tunnin":"tunti";case"hh":n=s?"tunnin":"tuntia";break;case"d":return s?"p\xe4iv\xe4n":"p\xe4iv\xe4";case"dd":n=s?"p\xe4iv\xe4n":"p\xe4iv\xe4\xe4";break;case"M":return s?"kuukauden":"kuukausi";case"MM":n=s?"kuukauden":"kuukautta";break;case"y":return s?"vuoden":"vuosi";case"yy":n=s?"vuoden":"vuotta";break}return t=s,n=((e=e)<10?(t?Ts:Ds)[e]:e)+" "+n}c.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kes\xe4kuu_hein\xe4kuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kes\xe4_hein\xe4_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[t\xe4n\xe4\xe4n] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s p\xe4\xe4st\xe4",past:"%s sitten",s:x,ss:x,m:x,mm:x,h:x,hh:x,d:x,dd:x,M:x,MM:x,y:x,yy:x},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("fil",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}}),c.defineLocale("fo",{months:"januar_februar_mars_apr\xedl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_m\xe1nadagur_t\xfdsdagur_mikudagur_h\xf3sdagur_fr\xedggjadagur_leygardagur".split("_"),weekdaysShort:"sun_m\xe1n_t\xfds_mik_h\xf3s_fr\xed_ley".split("_"),weekdaysMin:"su_m\xe1_t\xfd_mi_h\xf3_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[\xcd dag kl.] LT",nextDay:"[\xcd morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xcd gj\xe1r kl.] LT",lastWeek:"[s\xed\xf0stu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s s\xed\xf0ani",s:"f\xe1 sekund",ss:"%d sekundir",m:"ein minuttur",mm:"%d minuttir",h:"ein t\xedmi",hh:"%d t\xedmar",d:"ein dagur",dd:"%d dagar",M:"ein m\xe1na\xf0ur",MM:"%d m\xe1na\xf0ir",y:"eitt \xe1r",yy:"%d \xe1r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("fr-ca",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,a){switch(a){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}}}),c.defineLocale("fr-ch",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,a){switch(a){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}});var u=/(janv\.?|f\xe9vr\.?|mars|avr\.?|mai|juin|juil\.?|ao\xfbt|sept\.?|oct\.?|nov\.?|d\xe9c\.?|janvier|f\xe9vrier|mars|avril|mai|juin|juillet|ao\xfbt|septembre|octobre|novembre|d\xe9cembre)/i,Le=[/^janv/i,/^f\xe9vr/i,/^mars/i,/^avr/i,/^mai/i,/^juin/i,/^juil/i,/^ao\xfbt/i,/^sept/i,/^oct/i,/^nov/i,/^d\xe9c/i],gs=(c.defineLocale("fr",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsRegex:u,monthsShortRegex:u,monthsStrictRegex:/^(janvier|f\xe9vrier|mars|avril|mai|juin|juillet|ao\xfbt|septembre|octobre|novembre|d\xe9cembre)/i,monthsShortStrictRegex:/(janv\.?|f\xe9vr\.?|mars|avr\.?|mai|juin|juil\.?|ao\xfbt|sept\.?|oct\.?|nov\.?|d\xe9c\.?)/i,monthsParse:Le,longMonthsParse:Le,shortMonthsParse:Le,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",w:"une semaine",ww:"%d semaines",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(e,a){switch(a){case"D":return e+(1===e?"er":"");default:case"M":case"Q":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}}),"jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_")),ws="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");c.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?ws:gs)[e.month()]:gs},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[\xf4fr\xfbne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",ss:"%d sekonden",m:"ien min\xfat",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}}),c.defineLocale("ga",{months:["Ean\xe1ir","Feabhra","M\xe1rta","Aibre\xe1n","Bealtaine","Meitheamh","I\xfail","L\xfanasa","Me\xe1n F\xf3mhair","Deireadh F\xf3mhair","Samhain","Nollaig"],monthsShort:["Ean","Feabh","M\xe1rt","Aib","Beal","Meith","I\xfail","L\xfan","M.F.","D.F.","Samh","Noll"],monthsParseExact:!0,weekdays:["D\xe9 Domhnaigh","D\xe9 Luain","D\xe9 M\xe1irt","D\xe9 C\xe9adaoin","D\xe9ardaoin","D\xe9 hAoine","D\xe9 Sathairn"],weekdaysShort:["Domh","Luan","M\xe1irt","C\xe9ad","D\xe9ar","Aoine","Sath"],weekdaysMin:["Do","Lu","M\xe1","C\xe9","D\xe9","A","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Inniu ag] LT",nextDay:"[Am\xe1rach ag] LT",nextWeek:"dddd [ag] LT",lastDay:"[Inn\xe9 ag] LT",lastWeek:"dddd [seo caite] [ag] LT",sameElse:"L"},relativeTime:{future:"i %s",past:"%s \xf3 shin",s:"c\xfapla soicind",ss:"%d soicind",m:"n\xf3im\xe9ad",mm:"%d n\xf3im\xe9ad",h:"uair an chloig",hh:"%d uair an chloig",d:"l\xe1",dd:"%d l\xe1",M:"m\xed",MM:"%d m\xedonna",y:"bliain",yy:"%d bliain"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){return e+(1===e?"d":e%10==2?"na":"mh")},week:{dow:1,doy:4}});function P(e,a,t,s){e={s:["\u0925\u094b\u0921\u092f\u093e \u0938\u0945\u0915\u0902\u0921\u093e\u0902\u0928\u0940","\u0925\u094b\u0921\u0947 \u0938\u0945\u0915\u0902\u0921"],ss:[e+" \u0938\u0945\u0915\u0902\u0921\u093e\u0902\u0928\u0940",e+" \u0938\u0945\u0915\u0902\u0921"],m:["\u090f\u0915\u093e \u092e\u093f\u0923\u091f\u093e\u0928","\u090f\u0915 \u092e\u093f\u0928\u0942\u091f"],mm:[e+" \u092e\u093f\u0923\u091f\u093e\u0902\u0928\u0940",e+" \u092e\u093f\u0923\u091f\u093e\u0902"],h:["\u090f\u0915\u093e \u0935\u0930\u093e\u0928","\u090f\u0915 \u0935\u0930"],hh:[e+" \u0935\u0930\u093e\u0902\u0928\u0940",e+" \u0935\u0930\u093e\u0902"],d:["\u090f\u0915\u093e \u0926\u093f\u0938\u093e\u0928","\u090f\u0915 \u0926\u0940\u0938"],dd:[e+" \u0926\u093f\u0938\u093e\u0902\u0928\u0940",e+" \u0926\u0940\u0938"],M:["\u090f\u0915\u093e \u092e\u094d\u0939\u092f\u0928\u094d\u092f\u093e\u0928","\u090f\u0915 \u092e\u094d\u0939\u092f\u0928\u094b"],MM:[e+" \u092e\u094d\u0939\u092f\u0928\u094d\u092f\u093e\u0928\u0940",e+" \u092e\u094d\u0939\u092f\u0928\u0947"],y:["\u090f\u0915\u093e \u0935\u0930\u094d\u0938\u093e\u0928","\u090f\u0915 \u0935\u0930\u094d\u0938"],yy:[e+" \u0935\u0930\u094d\u0938\u093e\u0902\u0928\u0940",e+" \u0935\u0930\u094d\u0938\u093e\u0902"]};return s?e[t][0]:e[t][1]}function bs(e,a,t,s){e={s:["thoddea sekondamni","thodde sekond"],ss:[e+" sekondamni",e+" sekond"],m:["eka mintan","ek minut"],mm:[e+" mintamni",e+" mintam"],h:["eka voran","ek vor"],hh:[e+" voramni",e+" voram"],d:["eka disan","ek dis"],dd:[e+" disamni",e+" dis"],M:["eka mhoinean","ek mhoino"],MM:[e+" mhoineamni",e+" mhoine"],y:["eka vorsan","ek voros"],yy:[e+" vorsamni",e+" vorsam"]};return s?e[t][0]:e[t][1]}c.defineLocale("gd",{months:["Am Faoilleach","An Gearran","Am M\xe0rt","An Giblean","An C\xe8itean","An t-\xd2gmhios","An t-Iuchar","An L\xf9nastal","An t-Sultain","An D\xe0mhair","An t-Samhain","An D\xf9bhlachd"],monthsShort:["Faoi","Gear","M\xe0rt","Gibl","C\xe8it","\xd2gmh","Iuch","L\xf9n","Sult","D\xe0mh","Samh","D\xf9bh"],monthsParseExact:!0,weekdays:["Did\xf2mhnaich","Diluain","Dim\xe0irt","Diciadain","Diardaoin","Dihaoine","Disathairne"],weekdaysShort:["Did","Dil","Dim","Dic","Dia","Dih","Dis"],weekdaysMin:["D\xf2","Lu","M\xe0","Ci","Ar","Ha","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-m\xe0ireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-d\xe8 aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",ss:"%d diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"m\xecos",MM:"%d m\xecosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){return e+(1===e?"d":e%10==2?"na":"mh")},week:{dow:1,doy:4}}),c.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xu\xf1o_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xu\xf1._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_m\xe9rcores_xoves_venres_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._m\xe9r._xov._ven._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_m\xe9_xo_ve_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextDay:function(){return"[ma\xf1\xe1 "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"\xe1s":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"\xe1":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"\xe1s":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(e){return 0===e.indexOf("un")?"n"+e:"en "+e},past:"hai %s",s:"uns segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),c.defineLocale("gom-deva",{months:{standalone:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u0940\u0932_\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932\u092f_\u0911\u0917\u0938\u094d\u091f_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930_\u0911\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930_\u0921\u093f\u0938\u0947\u0902\u092c\u0930".split("_"),format:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940\u091a\u094d\u092f\u093e_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940\u091a\u094d\u092f\u093e_\u092e\u093e\u0930\u094d\u091a\u093e\u091a\u094d\u092f\u093e_\u090f\u092a\u094d\u0930\u0940\u0932\u093e\u091a\u094d\u092f\u093e_\u092e\u0947\u092f\u093e\u091a\u094d\u092f\u093e_\u091c\u0942\u0928\u093e\u091a\u094d\u092f\u093e_\u091c\u0941\u0932\u092f\u093e\u091a\u094d\u092f\u093e_\u0911\u0917\u0938\u094d\u091f\u093e\u091a\u094d\u092f\u093e_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930\u093e\u091a\u094d\u092f\u093e_\u0911\u0915\u094d\u091f\u094b\u092c\u0930\u093e\u091a\u094d\u092f\u093e_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930\u093e\u091a\u094d\u092f\u093e_\u0921\u093f\u0938\u0947\u0902\u092c\u0930\u093e\u091a\u094d\u092f\u093e".split("_"),isFormat:/MMMM(\s)+D[oD]?/},monthsShort:"\u091c\u093e\u0928\u0947._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u0940._\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932._\u0911\u0917._\u0938\u092a\u094d\u091f\u0947\u0902._\u0911\u0915\u094d\u091f\u094b._\u0928\u094b\u0935\u094d\u0939\u0947\u0902._\u0921\u093f\u0938\u0947\u0902.".split("_"),monthsParseExact:!0,weekdays:"\u0906\u092f\u0924\u093e\u0930_\u0938\u094b\u092e\u093e\u0930_\u092e\u0902\u0917\u0933\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u092c\u093f\u0930\u0947\u0938\u094d\u0924\u093e\u0930_\u0938\u0941\u0915\u094d\u0930\u093e\u0930_\u0936\u0947\u0928\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0906\u092f\u0924._\u0938\u094b\u092e._\u092e\u0902\u0917\u0933._\u092c\u0941\u0927._\u092c\u094d\u0930\u0947\u0938\u094d\u0924._\u0938\u0941\u0915\u094d\u0930._\u0936\u0947\u0928.".split("_"),weekdaysMin:"\u0906_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u092c\u094d\u0930\u0947_\u0938\u0941_\u0936\u0947".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]",LTS:"A h:mm:ss [\u0935\u093e\u091c\u0924\u093e\u0902]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]",LLLL:"dddd, MMMM Do, YYYY, A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]",llll:"ddd, D MMM YYYY, A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]"},calendar:{sameDay:"[\u0906\u092f\u091c] LT",nextDay:"[\u092b\u093e\u0932\u094d\u092f\u093e\u0902] LT",nextWeek:"[\u092b\u0941\u0921\u0932\u094b] dddd[,] LT",lastDay:"[\u0915\u093e\u0932] LT",lastWeek:"[\u092b\u093e\u091f\u0932\u094b] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s \u0906\u0926\u0940\u0902",s:P,ss:P,m:P,mm:P,h:P,hh:P,d:P,dd:P,M:P,MM:P,y:P,yy:P},dayOfMonthOrdinalParse:/\d{1,2}(\u0935\u0947\u0930)/,ordinal:function(e,a){switch(a){case"D":return e+"\u0935\u0947\u0930";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return e}},week:{dow:0,doy:3},meridiemParse:/\u0930\u093e\u0924\u0940|\u0938\u0915\u093e\u0933\u0940\u0902|\u0926\u0928\u092a\u093e\u0930\u093e\u0902|\u0938\u093e\u0902\u091c\u0947/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924\u0940"===a?e<4?e:e+12:"\u0938\u0915\u093e\u0933\u0940\u0902"===a?e:"\u0926\u0928\u092a\u093e\u0930\u093e\u0902"===a?12<e?e:e+12:"\u0938\u093e\u0902\u091c\u0947"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0930\u093e\u0924\u0940":e<12?"\u0938\u0915\u093e\u0933\u0940\u0902":e<16?"\u0926\u0928\u092a\u093e\u0930\u093e\u0902":e<20?"\u0938\u093e\u0902\u091c\u0947":"\u0930\u093e\u0924\u0940"}}),c.defineLocale("gom-latn",{months:{standalone:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),format:"Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea".split("_"),isFormat:/MMMM(\s)+D[oD]?/},monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Fuddlo] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fattlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:bs,ss:bs,m:bs,mm:bs,h:bs,hh:bs,d:bs,dd:bs,M:bs,MM:bs,y:bs,yy:bs},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(e,a){switch(a){case"D":return e+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return e}},week:{dow:0,doy:3},meridiemParse:/rati|sokallim|donparam|sanje/,meridiemHour:function(e,a){return 12===e&&(e=0),"rati"===a?e<4?e:e+12:"sokallim"===a?e:"donparam"===a?12<e?e:e+12:"sanje"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"rati":e<12?"sokallim":e<16?"donparam":e<20?"sanje":"rati"}});var Hs={1:"\u0ae7",2:"\u0ae8",3:"\u0ae9",4:"\u0aea",5:"\u0aeb",6:"\u0aec",7:"\u0aed",8:"\u0aee",9:"\u0aef",0:"\u0ae6"},Ss={"\u0ae7":"1","\u0ae8":"2","\u0ae9":"3","\u0aea":"4","\u0aeb":"5","\u0aec":"6","\u0aed":"7","\u0aee":"8","\u0aef":"9","\u0ae6":"0"},vs=(c.defineLocale("gu",{months:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1\u0a86\u0ab0\u0ac0_\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1\u0a86\u0ab0\u0ac0_\u0aae\u0abe\u0ab0\u0acd\u0a9a_\u0a8f\u0aaa\u0acd\u0ab0\u0abf\u0ab2_\u0aae\u0ac7_\u0a9c\u0ac2\u0aa8_\u0a9c\u0ac1\u0ab2\u0abe\u0a88_\u0a91\u0a97\u0ab8\u0acd\u0a9f_\u0ab8\u0aaa\u0acd\u0a9f\u0ac7\u0aae\u0acd\u0aac\u0ab0_\u0a91\u0a95\u0acd\u0a9f\u0acd\u0aac\u0ab0_\u0aa8\u0ab5\u0ac7\u0aae\u0acd\u0aac\u0ab0_\u0aa1\u0abf\u0ab8\u0ac7\u0aae\u0acd\u0aac\u0ab0".split("_"),monthsShort:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1._\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1._\u0aae\u0abe\u0ab0\u0acd\u0a9a_\u0a8f\u0aaa\u0acd\u0ab0\u0abf._\u0aae\u0ac7_\u0a9c\u0ac2\u0aa8_\u0a9c\u0ac1\u0ab2\u0abe._\u0a91\u0a97._\u0ab8\u0aaa\u0acd\u0a9f\u0ac7._\u0a91\u0a95\u0acd\u0a9f\u0acd._\u0aa8\u0ab5\u0ac7._\u0aa1\u0abf\u0ab8\u0ac7.".split("_"),monthsParseExact:!0,weekdays:"\u0ab0\u0ab5\u0abf\u0ab5\u0abe\u0ab0_\u0ab8\u0acb\u0aae\u0ab5\u0abe\u0ab0_\u0aae\u0a82\u0a97\u0ab3\u0ab5\u0abe\u0ab0_\u0aac\u0ac1\u0aa7\u0acd\u0ab5\u0abe\u0ab0_\u0a97\u0ac1\u0ab0\u0ac1\u0ab5\u0abe\u0ab0_\u0ab6\u0ac1\u0a95\u0acd\u0ab0\u0ab5\u0abe\u0ab0_\u0ab6\u0aa8\u0abf\u0ab5\u0abe\u0ab0".split("_"),weekdaysShort:"\u0ab0\u0ab5\u0abf_\u0ab8\u0acb\u0aae_\u0aae\u0a82\u0a97\u0ab3_\u0aac\u0ac1\u0aa7\u0acd_\u0a97\u0ac1\u0ab0\u0ac1_\u0ab6\u0ac1\u0a95\u0acd\u0ab0_\u0ab6\u0aa8\u0abf".split("_"),weekdaysMin:"\u0ab0_\u0ab8\u0acb_\u0aae\u0a82_\u0aac\u0ac1_\u0a97\u0ac1_\u0ab6\u0ac1_\u0ab6".split("_"),longDateFormat:{LT:"A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",LTS:"A h:mm:ss \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",LLLL:"dddd, D MMMM YYYY, A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7"},calendar:{sameDay:"[\u0a86\u0a9c] LT",nextDay:"[\u0a95\u0abe\u0ab2\u0ac7] LT",nextWeek:"dddd, LT",lastDay:"[\u0a97\u0a87\u0a95\u0abe\u0ab2\u0ac7] LT",lastWeek:"[\u0aaa\u0abe\u0a9b\u0ab2\u0abe] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0aae\u0abe",past:"%s \u0aaa\u0ab9\u0ac7\u0ab2\u0abe",s:"\u0a85\u0aae\u0ac1\u0a95 \u0aaa\u0ab3\u0acb",ss:"%d \u0ab8\u0ac7\u0a95\u0a82\u0aa1",m:"\u0a8f\u0a95 \u0aae\u0abf\u0aa8\u0abf\u0a9f",mm:"%d \u0aae\u0abf\u0aa8\u0abf\u0a9f",h:"\u0a8f\u0a95 \u0a95\u0ab2\u0abe\u0a95",hh:"%d \u0a95\u0ab2\u0abe\u0a95",d:"\u0a8f\u0a95 \u0aa6\u0abf\u0ab5\u0ab8",dd:"%d \u0aa6\u0abf\u0ab5\u0ab8",M:"\u0a8f\u0a95 \u0aae\u0ab9\u0abf\u0aa8\u0acb",MM:"%d \u0aae\u0ab9\u0abf\u0aa8\u0acb",y:"\u0a8f\u0a95 \u0ab5\u0ab0\u0acd\u0ab7",yy:"%d \u0ab5\u0ab0\u0acd\u0ab7"},preparse:function(e){return e.replace(/[\u0ae7\u0ae8\u0ae9\u0aea\u0aeb\u0aec\u0aed\u0aee\u0aef\u0ae6]/g,function(e){return Ss[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Hs[e]})},meridiemParse:/\u0ab0\u0abe\u0aa4|\u0aac\u0aaa\u0acb\u0ab0|\u0ab8\u0ab5\u0abe\u0ab0|\u0ab8\u0abe\u0a82\u0a9c/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0ab0\u0abe\u0aa4"===a?e<4?e:e+12:"\u0ab8\u0ab5\u0abe\u0ab0"===a?e:"\u0aac\u0aaa\u0acb\u0ab0"===a?10<=e?e:e+12:"\u0ab8\u0abe\u0a82\u0a9c"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0ab0\u0abe\u0aa4":e<10?"\u0ab8\u0ab5\u0abe\u0ab0":e<17?"\u0aac\u0aaa\u0acb\u0ab0":e<20?"\u0ab8\u0abe\u0a82\u0a9c":"\u0ab0\u0abe\u0aa4"},week:{dow:0,doy:6}}),c.defineLocale("he",{months:"\u05d9\u05e0\u05d5\u05d0\u05e8_\u05e4\u05d1\u05e8\u05d5\u05d0\u05e8_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05d9\u05dc_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05d5\u05e1\u05d8_\u05e1\u05e4\u05d8\u05de\u05d1\u05e8_\u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8_\u05e0\u05d5\u05d1\u05de\u05d1\u05e8_\u05d3\u05e6\u05de\u05d1\u05e8".split("_"),monthsShort:"\u05d9\u05e0\u05d5\u05f3_\u05e4\u05d1\u05e8\u05f3_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05f3_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05f3_\u05e1\u05e4\u05d8\u05f3_\u05d0\u05d5\u05e7\u05f3_\u05e0\u05d5\u05d1\u05f3_\u05d3\u05e6\u05de\u05f3".split("_"),weekdays:"\u05e8\u05d0\u05e9\u05d5\u05df_\u05e9\u05e0\u05d9_\u05e9\u05dc\u05d9\u05e9\u05d9_\u05e8\u05d1\u05d9\u05e2\u05d9_\u05d7\u05de\u05d9\u05e9\u05d9_\u05e9\u05d9\u05e9\u05d9_\u05e9\u05d1\u05ea".split("_"),weekdaysShort:"\u05d0\u05f3_\u05d1\u05f3_\u05d2\u05f3_\u05d3\u05f3_\u05d4\u05f3_\u05d5\u05f3_\u05e9\u05f3".split("_"),weekdaysMin:"\u05d0_\u05d1_\u05d2_\u05d3_\u05d4_\u05d5_\u05e9".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [\u05d1]MMMM YYYY",LLL:"D [\u05d1]MMMM YYYY HH:mm",LLLL:"dddd, D [\u05d1]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[\u05d4\u05d9\u05d5\u05dd \u05d1\u05be]LT",nextDay:"[\u05de\u05d7\u05e8 \u05d1\u05be]LT",nextWeek:"dddd [\u05d1\u05e9\u05e2\u05d4] LT",lastDay:"[\u05d0\u05ea\u05de\u05d5\u05dc \u05d1\u05be]LT",lastWeek:"[\u05d1\u05d9\u05d5\u05dd] dddd [\u05d4\u05d0\u05d7\u05e8\u05d5\u05df \u05d1\u05e9\u05e2\u05d4] LT",sameElse:"L"},relativeTime:{future:"\u05d1\u05e2\u05d5\u05d3 %s",past:"\u05dc\u05e4\u05e0\u05d9 %s",s:"\u05de\u05e1\u05e4\u05e8 \u05e9\u05e0\u05d9\u05d5\u05ea",ss:"%d \u05e9\u05e0\u05d9\u05d5\u05ea",m:"\u05d3\u05e7\u05d4",mm:"%d \u05d3\u05e7\u05d5\u05ea",h:"\u05e9\u05e2\u05d4",hh:function(e){return 2===e?"\u05e9\u05e2\u05ea\u05d9\u05d9\u05dd":e+" \u05e9\u05e2\u05d5\u05ea"},d:"\u05d9\u05d5\u05dd",dd:function(e){return 2===e?"\u05d9\u05d5\u05de\u05d9\u05d9\u05dd":e+" \u05d9\u05de\u05d9\u05dd"},M:"\u05d7\u05d5\u05d3\u05e9",MM:function(e){return 2===e?"\u05d7\u05d5\u05d3\u05e9\u05d9\u05d9\u05dd":e+" \u05d7\u05d5\u05d3\u05e9\u05d9\u05dd"},y:"\u05e9\u05e0\u05d4",yy:function(e){return 2===e?"\u05e9\u05e0\u05ea\u05d9\u05d9\u05dd":e%10==0&&10!==e?e+" \u05e9\u05e0\u05d4":e+" \u05e9\u05e0\u05d9\u05dd"}},meridiemParse:/\u05d0\u05d7\u05d4"\u05e6|\u05dc\u05e4\u05e0\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8|\u05d1\u05d1\u05d5\u05e7\u05e8|\u05d1\u05e2\u05e8\u05d1/i,isPM:function(e){return/^(\u05d0\u05d7\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05d1\u05e2\u05e8\u05d1)$/.test(e)},meridiem:function(e,a,t){return e<5?"\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8":e<10?"\u05d1\u05d1\u05d5\u05e7\u05e8":e<12?t?'\u05dc\u05e4\u05e0\u05d4"\u05e6':"\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":e<18?t?'\u05d0\u05d7\u05d4"\u05e6':"\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":"\u05d1\u05e2\u05e8\u05d1"}}),{1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"}),js={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"},a=[/^\u091c\u0928/i,/^\u092b\u093c\u0930|\u092b\u0930/i,/^\u092e\u093e\u0930\u094d\u091a/i,/^\u0905\u092a\u094d\u0930\u0948/i,/^\u092e\u0908/i,/^\u091c\u0942\u0928/i,/^\u091c\u0941\u0932/i,/^\u0905\u0917/i,/^\u0938\u093f\u0924\u0902|\u0938\u093f\u0924/i,/^\u0905\u0915\u094d\u091f\u0942/i,/^\u0928\u0935|\u0928\u0935\u0902/i,/^\u0926\u093f\u0938\u0902|\u0926\u093f\u0938/i];function xs(e,a,t){var s=e+" ";switch(t){case"ss":return s+=1===e?"sekunda":2===e||3===e||4===e?"sekunde":"sekundi";case"m":return a?"jedna minuta":"jedne minute";case"mm":return s+=1!==e&&(2===e||3===e||4===e)?"minute":"minuta";case"h":return a?"jedan sat":"jednog sata";case"hh":return s+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return s+=1===e?"dan":"dana";case"MM":return s+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return s+=1!==e&&(2===e||3===e||4===e)?"godine":"godina"}}c.defineLocale("hi",{months:{format:"\u091c\u0928\u0935\u0930\u0940_\u092b\u093c\u0930\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948\u0932_\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0938\u094d\u0924_\u0938\u093f\u0924\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u0942\u092c\u0930_\u0928\u0935\u092e\u094d\u092c\u0930_\u0926\u093f\u0938\u092e\u094d\u092c\u0930".split("_"),standalone:"\u091c\u0928\u0935\u0930\u0940_\u092b\u0930\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948\u0932_\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0938\u094d\u0924_\u0938\u093f\u0924\u0902\u092c\u0930_\u0905\u0915\u094d\u091f\u0942\u092c\u0930_\u0928\u0935\u0902\u092c\u0930_\u0926\u093f\u0938\u0902\u092c\u0930".split("_")},monthsShort:"\u091c\u0928._\u092b\u093c\u0930._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948._\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932._\u0905\u0917._\u0938\u093f\u0924._\u0905\u0915\u094d\u091f\u0942._\u0928\u0935._\u0926\u093f\u0938.".split("_"),weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0932\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0932_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u092c\u091c\u0947",LTS:"A h:mm:ss \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u092c\u091c\u0947",LLLL:"dddd, D MMMM YYYY, A h:mm \u092c\u091c\u0947"},monthsParse:a,longMonthsParse:a,shortMonthsParse:[/^\u091c\u0928/i,/^\u092b\u093c\u0930/i,/^\u092e\u093e\u0930\u094d\u091a/i,/^\u0905\u092a\u094d\u0930\u0948/i,/^\u092e\u0908/i,/^\u091c\u0942\u0928/i,/^\u091c\u0941\u0932/i,/^\u0905\u0917/i,/^\u0938\u093f\u0924/i,/^\u0905\u0915\u094d\u091f\u0942/i,/^\u0928\u0935/i,/^\u0926\u093f\u0938/i],monthsRegex:/^(\u091c\u0928\u0935\u0930\u0940|\u091c\u0928\.?|\u092b\u093c\u0930\u0935\u0930\u0940|\u092b\u0930\u0935\u0930\u0940|\u092b\u093c\u0930\.?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\u0932|\u0905\u092a\u094d\u0930\u0948\.?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\u093e\u0908|\u091c\u0941\u0932\.?|\u0905\u0917\u0938\u094d\u0924|\u0905\u0917\.?|\u0938\u093f\u0924\u092e\u094d\u092c\u0930|\u0938\u093f\u0924\u0902\u092c\u0930|\u0938\u093f\u0924\.?|\u0905\u0915\u094d\u091f\u0942\u092c\u0930|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\u092e\u094d\u092c\u0930|\u0928\u0935\u0902\u092c\u0930|\u0928\u0935\.?|\u0926\u093f\u0938\u092e\u094d\u092c\u0930|\u0926\u093f\u0938\u0902\u092c\u0930|\u0926\u093f\u0938\.?)/i,monthsShortRegex:/^(\u091c\u0928\u0935\u0930\u0940|\u091c\u0928\.?|\u092b\u093c\u0930\u0935\u0930\u0940|\u092b\u0930\u0935\u0930\u0940|\u092b\u093c\u0930\.?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\u0932|\u0905\u092a\u094d\u0930\u0948\.?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\u093e\u0908|\u091c\u0941\u0932\.?|\u0905\u0917\u0938\u094d\u0924|\u0905\u0917\.?|\u0938\u093f\u0924\u092e\u094d\u092c\u0930|\u0938\u093f\u0924\u0902\u092c\u0930|\u0938\u093f\u0924\.?|\u0905\u0915\u094d\u091f\u0942\u092c\u0930|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\u092e\u094d\u092c\u0930|\u0928\u0935\u0902\u092c\u0930|\u0928\u0935\.?|\u0926\u093f\u0938\u092e\u094d\u092c\u0930|\u0926\u093f\u0938\u0902\u092c\u0930|\u0926\u093f\u0938\.?)/i,monthsStrictRegex:/^(\u091c\u0928\u0935\u0930\u0940?|\u092b\u093c\u0930\u0935\u0930\u0940|\u092b\u0930\u0935\u0930\u0940?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\u0932?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\u093e\u0908?|\u0905\u0917\u0938\u094d\u0924?|\u0938\u093f\u0924\u092e\u094d\u092c\u0930|\u0938\u093f\u0924\u0902\u092c\u0930|\u0938\u093f\u0924?\.?|\u0905\u0915\u094d\u091f\u0942\u092c\u0930|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\u092e\u094d\u092c\u0930|\u0928\u0935\u0902\u092c\u0930?|\u0926\u093f\u0938\u092e\u094d\u092c\u0930|\u0926\u093f\u0938\u0902\u092c\u0930?)/i,monthsShortStrictRegex:/^(\u091c\u0928\.?|\u092b\u093c\u0930\.?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\.?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\.?|\u0905\u0917\.?|\u0938\u093f\u0924\.?|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\.?|\u0926\u093f\u0938\.?)/i,calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0915\u0932] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u0932] LT",lastWeek:"[\u092a\u093f\u091b\u0932\u0947] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u092e\u0947\u0902",past:"%s \u092a\u0939\u0932\u0947",s:"\u0915\u0941\u091b \u0939\u0940 \u0915\u094d\u0937\u0923",ss:"%d \u0938\u0947\u0915\u0902\u0921",m:"\u090f\u0915 \u092e\u093f\u0928\u091f",mm:"%d \u092e\u093f\u0928\u091f",h:"\u090f\u0915 \u0918\u0902\u091f\u093e",hh:"%d \u0918\u0902\u091f\u0947",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u0940\u0928\u0947",MM:"%d \u092e\u0939\u0940\u0928\u0947",y:"\u090f\u0915 \u0935\u0930\u094d\u0937",yy:"%d \u0935\u0930\u094d\u0937"},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return js[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return vs[e]})},meridiemParse:/\u0930\u093e\u0924|\u0938\u0941\u092c\u0939|\u0926\u094b\u092a\u0939\u0930|\u0936\u093e\u092e/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924"===a?e<4?e:e+12:"\u0938\u0941\u092c\u0939"===a?e:"\u0926\u094b\u092a\u0939\u0930"===a?10<=e?e:e+12:"\u0936\u093e\u092e"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0930\u093e\u0924":e<10?"\u0938\u0941\u092c\u0939":e<17?"\u0926\u094b\u092a\u0939\u0930":e<20?"\u0936\u093e\u092e":"\u0930\u093e\u0924"},week:{dow:0,doy:6}}),c.defineLocale("hr",{months:{format:"sije\u010dnja_velja\u010de_o\u017eujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"sije\u010danj_velja\u010da_o\u017eujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._o\u017eu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"Do MMMM YYYY",LLL:"Do MMMM YYYY H:mm",LLLL:"dddd, Do MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010der u] LT",lastWeek:function(){switch(this.day()){case 0:return"[pro\u0161lu] [nedjelju] [u] LT";case 3:return"[pro\u0161lu] [srijedu] [u] LT";case 6:return"[pro\u0161le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[pro\u0161li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:xs,m:xs,mm:xs,h:xs,hh:xs,d:"dan",dd:xs,M:"mjesec",MM:xs,y:"godinu",yy:xs},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});var Ps="vas\xe1rnap h\xe9tf\u0151n kedden szerd\xe1n cs\xfct\xf6rt\xf6k\xf6n p\xe9nteken szombaton".split(" ");function Os(e,a,t,s){var n=e;switch(t){case"s":return s||a?"n\xe9h\xe1ny m\xe1sodperc":"n\xe9h\xe1ny m\xe1sodperce";case"ss":return n+(s||a)?" m\xe1sodperc":" m\xe1sodperce";case"m":return"egy"+(s||a?" perc":" perce");case"mm":return n+(s||a?" perc":" perce");case"h":return"egy"+(s||a?" \xf3ra":" \xf3r\xe1ja");case"hh":return n+(s||a?" \xf3ra":" \xf3r\xe1ja");case"d":return"egy"+(s||a?" nap":" napja");case"dd":return n+(s||a?" nap":" napja");case"M":return"egy"+(s||a?" h\xf3nap":" h\xf3napja");case"MM":return n+(s||a?" h\xf3nap":" h\xf3napja");case"y":return"egy"+(s||a?" \xe9v":" \xe9ve");case"yy":return n+(s||a?" \xe9v":" \xe9ve")}return""}function Ws(e){return(e?"":"[m\xfalt] ")+"["+Ps[this.day()]+"] LT[-kor]"}function As(e){return e%100==11||e%10!=1}function Es(e,a,t,s){var n=e+" ";switch(t){case"s":return a||s?"nokkrar sek\xfandur":"nokkrum sek\xfandum";case"ss":return As(e)?n+(a||s?"sek\xfandur":"sek\xfandum"):n+"sek\xfanda";case"m":return a?"m\xedn\xfata":"m\xedn\xfatu";case"mm":return As(e)?n+(a||s?"m\xedn\xfatur":"m\xedn\xfatum"):a?n+"m\xedn\xfata":n+"m\xedn\xfatu";case"hh":return As(e)?n+(a||s?"klukkustundir":"klukkustundum"):n+"klukkustund";case"d":return a?"dagur":s?"dag":"degi";case"dd":return As(e)?a?n+"dagar":n+(s?"daga":"d\xf6gum"):a?n+"dagur":n+(s?"dag":"degi");case"M":return a?"m\xe1nu\xf0ur":s?"m\xe1nu\xf0":"m\xe1nu\xf0i";case"MM":return As(e)?a?n+"m\xe1nu\xf0ir":n+(s?"m\xe1nu\xf0i":"m\xe1nu\xf0um"):a?n+"m\xe1nu\xf0ur":n+(s?"m\xe1nu\xf0":"m\xe1nu\xf0i");case"y":return a||s?"\xe1r":"\xe1ri";case"yy":return As(e)?n+(a||s?"\xe1r":"\xe1rum"):n+(a||s?"\xe1r":"\xe1ri")}}c.defineLocale("hu",{months:"janu\xe1r_febru\xe1r_m\xe1rcius_\xe1prilis_m\xe1jus_j\xfanius_j\xfalius_augusztus_szeptember_okt\xf3ber_november_december".split("_"),monthsShort:"jan._feb._m\xe1rc._\xe1pr._m\xe1j._j\xfan._j\xfal._aug._szept._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"vas\xe1rnap_h\xe9tf\u0151_kedd_szerda_cs\xfct\xf6rt\xf6k_p\xe9ntek_szombat".split("_"),weekdaysShort:"vas_h\xe9t_kedd_sze_cs\xfct_p\xe9n_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(e){return"u"===e.charAt(1).toLowerCase()},meridiem:function(e,a,t){return e<12?!0===t?"de":"DE":!0===t?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return Ws.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return Ws.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s m\xfalva",past:"%s",s:Os,ss:Os,m:Os,mm:Os,h:Os,hh:Os,d:Os,dd:Os,M:Os,MM:Os,y:Os,yy:Os},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("hy-am",{months:{format:"\u0570\u0578\u0582\u0576\u057e\u0561\u0580\u056b_\u0583\u0565\u057f\u0580\u057e\u0561\u0580\u056b_\u0574\u0561\u0580\u057f\u056b_\u0561\u057a\u0580\u056b\u056c\u056b_\u0574\u0561\u0575\u056b\u057d\u056b_\u0570\u0578\u0582\u0576\u056b\u057d\u056b_\u0570\u0578\u0582\u056c\u056b\u057d\u056b_\u0585\u0563\u0578\u057d\u057f\u0578\u057d\u056b_\u057d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580\u056b_\u0570\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580\u056b_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580\u056b_\u0564\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580\u056b".split("_"),standalone:"\u0570\u0578\u0582\u0576\u057e\u0561\u0580_\u0583\u0565\u057f\u0580\u057e\u0561\u0580_\u0574\u0561\u0580\u057f_\u0561\u057a\u0580\u056b\u056c_\u0574\u0561\u0575\u056b\u057d_\u0570\u0578\u0582\u0576\u056b\u057d_\u0570\u0578\u0582\u056c\u056b\u057d_\u0585\u0563\u0578\u057d\u057f\u0578\u057d_\u057d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580_\u0570\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580_\u0564\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580".split("_")},monthsShort:"\u0570\u0576\u057e_\u0583\u057f\u0580_\u0574\u0580\u057f_\u0561\u057a\u0580_\u0574\u0575\u057d_\u0570\u0576\u057d_\u0570\u056c\u057d_\u0585\u0563\u057d_\u057d\u057a\u057f_\u0570\u056f\u057f_\u0576\u0574\u0562_\u0564\u056f\u057f".split("_"),weekdays:"\u056f\u056b\u0580\u0561\u056f\u056b_\u0565\u0580\u056f\u0578\u0582\u0577\u0561\u0562\u0569\u056b_\u0565\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b_\u0579\u0578\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b_\u0570\u056b\u0576\u0563\u0577\u0561\u0562\u0569\u056b_\u0578\u0582\u0580\u0562\u0561\u0569_\u0577\u0561\u0562\u0561\u0569".split("_"),weekdaysShort:"\u056f\u0580\u056f_\u0565\u0580\u056f_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),weekdaysMin:"\u056f\u0580\u056f_\u0565\u0580\u056f_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0569.",LLL:"D MMMM YYYY \u0569., HH:mm",LLLL:"dddd, D MMMM YYYY \u0569., HH:mm"},calendar:{sameDay:"[\u0561\u0575\u057d\u0585\u0580] LT",nextDay:"[\u057e\u0561\u0572\u0568] LT",lastDay:"[\u0565\u0580\u0565\u056f] LT",nextWeek:function(){return"dddd [\u0585\u0580\u0568 \u056a\u0561\u0574\u0568] LT"},lastWeek:function(){return"[\u0561\u0576\u0581\u0561\u056e] dddd [\u0585\u0580\u0568 \u056a\u0561\u0574\u0568] LT"},sameElse:"L"},relativeTime:{future:"%s \u0570\u0565\u057f\u0578",past:"%s \u0561\u057c\u0561\u057b",s:"\u0574\u056b \u0584\u0561\u0576\u056b \u057e\u0561\u0575\u0580\u056f\u0575\u0561\u0576",ss:"%d \u057e\u0561\u0575\u0580\u056f\u0575\u0561\u0576",m:"\u0580\u0578\u057a\u0565",mm:"%d \u0580\u0578\u057a\u0565",h:"\u056a\u0561\u0574",hh:"%d \u056a\u0561\u0574",d:"\u0585\u0580",dd:"%d \u0585\u0580",M:"\u0561\u0574\u056b\u057d",MM:"%d \u0561\u0574\u056b\u057d",y:"\u057f\u0561\u0580\u056b",yy:"%d \u057f\u0561\u0580\u056b"},meridiemParse:/\u0563\u056b\u0577\u0565\u0580\u057e\u0561|\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561|\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576/,isPM:function(e){return/^(\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576)$/.test(e)},meridiem:function(e){return e<4?"\u0563\u056b\u0577\u0565\u0580\u057e\u0561":e<12?"\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561":e<17?"\u0581\u0565\u0580\u0565\u056f\u057e\u0561":"\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(\u056b\u0576|\u0580\u0564)/,ordinal:function(e,a){switch(a){case"DDD":case"w":case"W":case"DDDo":return 1===e?e+"-\u056b\u0576":e+"-\u0580\u0564";default:return e}},week:{dow:1,doy:7}}),c.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"siang"===a?11<=e?e:e+12:"sore"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?"pagi":e<15?"siang":e<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",ss:"%d detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:0,doy:6}}),c.defineLocale("is",{months:"jan\xfaar_febr\xfaar_mars_apr\xedl_ma\xed_j\xfan\xed_j\xfal\xed_\xe1g\xfast_september_okt\xf3ber_n\xf3vember_desember".split("_"),monthsShort:"jan_feb_mar_apr_ma\xed_j\xfan_j\xfal_\xe1g\xfa_sep_okt_n\xf3v_des".split("_"),weekdays:"sunnudagur_m\xe1nudagur_\xferi\xf0judagur_mi\xf0vikudagur_fimmtudagur_f\xf6studagur_laugardagur".split("_"),weekdaysShort:"sun_m\xe1n_\xferi_mi\xf0_fim_f\xf6s_lau".split("_"),weekdaysMin:"Su_M\xe1_\xder_Mi_Fi_F\xf6_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[\xed dag kl.] LT",nextDay:"[\xe1 morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xed g\xe6r kl.] LT",lastWeek:"[s\xed\xf0asta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s s\xed\xf0an",s:Es,ss:Es,m:Es,mm:Es,h:"klukkustund",hh:Es,d:Es,dd:Es,M:Es,MM:Es,y:Es,yy:Es},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("it-ch",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_luned\xec_marted\xec_mercoled\xec_gioved\xec_venerd\xec_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(e){return(/^[0-9].+$/.test(e)?"tra":"in")+" "+e},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),c.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_luned\xec_marted\xec_mercoled\xec_gioved\xec_venerd\xec_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:function(){return"[Oggi a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"},nextDay:function(){return"[Domani a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"},nextWeek:function(){return"dddd [a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"},lastDay:function(){return"[Ieri a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"},lastWeek:function(){switch(this.day()){case 0:return"[La scorsa] dddd [a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT";default:return"[Lo scorso] dddd [a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"}},sameElse:"L"},relativeTime:{future:"tra %s",past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",w:"una settimana",ww:"%d settimane",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),c.defineLocale("ja",{eras:[{since:"2019-05-01",offset:1,name:"\u4ee4\u548c",narrow:"\u32ff",abbr:"R"},{since:"1989-01-08",until:"2019-04-30",offset:1,name:"\u5e73\u6210",narrow:"\u337b",abbr:"H"},{since:"1926-12-25",until:"1989-01-07",offset:1,name:"\u662d\u548c",narrow:"\u337c",abbr:"S"},{since:"1912-07-30",until:"1926-12-24",offset:1,name:"\u5927\u6b63",narrow:"\u337d",abbr:"T"},{since:"1873-01-01",until:"1912-07-29",offset:6,name:"\u660e\u6cbb",narrow:"\u337e",abbr:"M"},{since:"0001-01-01",until:"1873-12-31",offset:1,name:"\u897f\u66a6",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"\u7d00\u5143\u524d",narrow:"BC",abbr:"BC"}],eraYearOrdinalRegex:/(\u5143|\d+)\u5e74/,eraYearOrdinalParse:function(e,a){return"\u5143"===a[1]?1:parseInt(a[1]||e,10)},months:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u65e5\u66dc\u65e5_\u6708\u66dc\u65e5_\u706b\u66dc\u65e5_\u6c34\u66dc\u65e5_\u6728\u66dc\u65e5_\u91d1\u66dc\u65e5_\u571f\u66dc\u65e5".split("_"),weekdaysShort:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),weekdaysMin:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5 dddd HH:mm",l:"YYYY/MM/DD",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5(ddd) HH:mm"},meridiemParse:/\u5348\u524d|\u5348\u5f8c/i,isPM:function(e){return"\u5348\u5f8c"===e},meridiem:function(e,a,t){return e<12?"\u5348\u524d":"\u5348\u5f8c"},calendar:{sameDay:"[\u4eca\u65e5] LT",nextDay:"[\u660e\u65e5] LT",nextWeek:function(e){return e.week()!==this.week()?"[\u6765\u9031]dddd LT":"dddd LT"},lastDay:"[\u6628\u65e5] LT",lastWeek:function(e){return this.week()!==e.week()?"[\u5148\u9031]dddd LT":"dddd LT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}\u65e5/,ordinal:function(e,a){switch(a){case"y":return 1===e?"\u5143\u5e74":e+"\u5e74";case"d":case"D":case"DDD":return e+"\u65e5";default:return e}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u6570\u79d2",ss:"%d\u79d2",m:"1\u5206",mm:"%d\u5206",h:"1\u6642\u9593",hh:"%d\u6642\u9593",d:"1\u65e5",dd:"%d\u65e5",M:"1\u30f6\u6708",MM:"%d\u30f6\u6708",y:"1\u5e74",yy:"%d\u5e74"}}),c.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(e,a){return 12===e&&(e=0),"enjing"===a?e:"siyang"===a?11<=e?e:e+12:"sonten"===a||"ndalu"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?"enjing":e<15?"siyang":e<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",ss:"%d detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}}),c.defineLocale("ka",{months:"\u10d8\u10d0\u10dc\u10d5\u10d0\u10e0\u10d8_\u10d7\u10d4\u10d1\u10d4\u10e0\u10d5\u10d0\u10da\u10d8_\u10db\u10d0\u10e0\u10e2\u10d8_\u10d0\u10de\u10e0\u10d8\u10da\u10d8_\u10db\u10d0\u10d8\u10e1\u10d8_\u10d8\u10d5\u10dc\u10d8\u10e1\u10d8_\u10d8\u10d5\u10da\u10d8\u10e1\u10d8_\u10d0\u10d2\u10d5\u10d8\u10e1\u10e2\u10dd_\u10e1\u10d4\u10e5\u10e2\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10dd\u10e5\u10e2\u10dd\u10db\u10d1\u10d4\u10e0\u10d8_\u10dc\u10dd\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10d3\u10d4\u10d9\u10d4\u10db\u10d1\u10d4\u10e0\u10d8".split("_"),monthsShort:"\u10d8\u10d0\u10dc_\u10d7\u10d4\u10d1_\u10db\u10d0\u10e0_\u10d0\u10de\u10e0_\u10db\u10d0\u10d8_\u10d8\u10d5\u10dc_\u10d8\u10d5\u10da_\u10d0\u10d2\u10d5_\u10e1\u10d4\u10e5_\u10dd\u10e5\u10e2_\u10dc\u10dd\u10d4_\u10d3\u10d4\u10d9".split("_"),weekdays:{standalone:"\u10d9\u10d5\u10d8\u10e0\u10d0_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10d8_\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8".split("_"),format:"\u10d9\u10d5\u10d8\u10e0\u10d0\u10e1_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10e1_\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1".split("_"),isFormat:/(\u10ec\u10d8\u10dc\u10d0|\u10e8\u10d4\u10db\u10d3\u10d4\u10d2)/},weekdaysShort:"\u10d9\u10d5\u10d8_\u10dd\u10e0\u10e8_\u10e1\u10d0\u10db_\u10dd\u10d7\u10ee_\u10ee\u10e3\u10d7_\u10de\u10d0\u10e0_\u10e8\u10d0\u10d1".split("_"),weekdaysMin:"\u10d9\u10d5_\u10dd\u10e0_\u10e1\u10d0_\u10dd\u10d7_\u10ee\u10e3_\u10de\u10d0_\u10e8\u10d0".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u10d3\u10e6\u10d4\u10e1] LT[-\u10d6\u10d4]",nextDay:"[\u10ee\u10d5\u10d0\u10da] LT[-\u10d6\u10d4]",lastDay:"[\u10d2\u10e3\u10e8\u10d8\u10dc] LT[-\u10d6\u10d4]",nextWeek:"[\u10e8\u10d4\u10db\u10d3\u10d4\u10d2] dddd LT[-\u10d6\u10d4]",lastWeek:"[\u10ec\u10d8\u10dc\u10d0] dddd LT-\u10d6\u10d4",sameElse:"L"},relativeTime:{future:function(e){return e.replace(/(\u10ec\u10d0\u10db|\u10ec\u10e3\u10d7|\u10e1\u10d0\u10d0\u10d7|\u10ec\u10d4\u10da|\u10d3\u10e6|\u10d7\u10d5)(\u10d8|\u10d4)/,function(e,a,t){return"\u10d8"===t?a+"\u10e8\u10d8":a+t+"\u10e8\u10d8"})},past:function(e){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10d3\u10e6\u10d4|\u10d7\u10d5\u10d4)/.test(e)?e.replace(/(\u10d8|\u10d4)$/,"\u10d8\u10e1 \u10ec\u10d8\u10dc"):/\u10ec\u10d4\u10da\u10d8/.test(e)?e.replace(/\u10ec\u10d4\u10da\u10d8$/,"\u10ec\u10da\u10d8\u10e1 \u10ec\u10d8\u10dc"):e},s:"\u10e0\u10d0\u10db\u10d3\u10d4\u10dc\u10d8\u10db\u10d4 \u10ec\u10d0\u10db\u10d8",ss:"%d \u10ec\u10d0\u10db\u10d8",m:"\u10ec\u10e3\u10d7\u10d8",mm:"%d \u10ec\u10e3\u10d7\u10d8",h:"\u10e1\u10d0\u10d0\u10d7\u10d8",hh:"%d \u10e1\u10d0\u10d0\u10d7\u10d8",d:"\u10d3\u10e6\u10d4",dd:"%d \u10d3\u10e6\u10d4",M:"\u10d7\u10d5\u10d4",MM:"%d \u10d7\u10d5\u10d4",y:"\u10ec\u10d4\u10da\u10d8",yy:"%d \u10ec\u10d4\u10da\u10d8"},dayOfMonthOrdinalParse:/0|1-\u10da\u10d8|\u10db\u10d4-\d{1,2}|\d{1,2}-\u10d4/,ordinal:function(e){return 0===e?e:1===e?e+"-\u10da\u10d8":e<20||e<=100&&e%20==0||e%100==0?"\u10db\u10d4-"+e:e+"-\u10d4"},week:{dow:1,doy:7}});var Fs={0:"-\u0448\u0456",1:"-\u0448\u0456",2:"-\u0448\u0456",3:"-\u0448\u0456",4:"-\u0448\u0456",5:"-\u0448\u0456",6:"-\u0448\u044b",7:"-\u0448\u0456",8:"-\u0448\u0456",9:"-\u0448\u044b",10:"-\u0448\u044b",20:"-\u0448\u044b",30:"-\u0448\u044b",40:"-\u0448\u044b",50:"-\u0448\u0456",60:"-\u0448\u044b",70:"-\u0448\u0456",80:"-\u0448\u0456",90:"-\u0448\u044b",100:"-\u0448\u0456"},zs=(c.defineLocale("kk",{months:"\u049b\u0430\u04a3\u0442\u0430\u0440_\u0430\u049b\u043f\u0430\u043d_\u043d\u0430\u0443\u0440\u044b\u0437_\u0441\u04d9\u0443\u0456\u0440_\u043c\u0430\u043c\u044b\u0440_\u043c\u0430\u0443\u0441\u044b\u043c_\u0448\u0456\u043b\u0434\u0435_\u0442\u0430\u043c\u044b\u0437_\u049b\u044b\u0440\u043a\u04af\u0439\u0435\u043a_\u049b\u0430\u0437\u0430\u043d_\u049b\u0430\u0440\u0430\u0448\u0430_\u0436\u0435\u043b\u0442\u043e\u049b\u0441\u0430\u043d".split("_"),monthsShort:"\u049b\u0430\u04a3_\u0430\u049b\u043f_\u043d\u0430\u0443_\u0441\u04d9\u0443_\u043c\u0430\u043c_\u043c\u0430\u0443_\u0448\u0456\u043b_\u0442\u0430\u043c_\u049b\u044b\u0440_\u049b\u0430\u0437_\u049b\u0430\u0440_\u0436\u0435\u043b".split("_"),weekdays:"\u0436\u0435\u043a\u0441\u0435\u043d\u0431\u0456_\u0434\u04af\u0439\u0441\u0435\u043d\u0431\u0456_\u0441\u0435\u0439\u0441\u0435\u043d\u0431\u0456_\u0441\u04d9\u0440\u0441\u0435\u043d\u0431\u0456_\u0431\u0435\u0439\u0441\u0435\u043d\u0431\u0456_\u0436\u04b1\u043c\u0430_\u0441\u0435\u043d\u0431\u0456".split("_"),weekdaysShort:"\u0436\u0435\u043a_\u0434\u04af\u0439_\u0441\u0435\u0439_\u0441\u04d9\u0440_\u0431\u0435\u0439_\u0436\u04b1\u043c_\u0441\u0435\u043d".split("_"),weekdaysMin:"\u0436\u043a_\u0434\u0439_\u0441\u0439_\u0441\u0440_\u0431\u0439_\u0436\u043c_\u0441\u043d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0411\u04af\u0433\u0456\u043d \u0441\u0430\u0493\u0430\u0442] LT",nextDay:"[\u0415\u0440\u0442\u0435\u04a3 \u0441\u0430\u0493\u0430\u0442] LT",nextWeek:"dddd [\u0441\u0430\u0493\u0430\u0442] LT",lastDay:"[\u041a\u0435\u0448\u0435 \u0441\u0430\u0493\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u0435\u043d \u0430\u043f\u0442\u0430\u043d\u044b\u04a3] dddd [\u0441\u0430\u0493\u0430\u0442] LT",sameElse:"L"},relativeTime:{future:"%s \u0456\u0448\u0456\u043d\u0434\u0435",past:"%s \u0431\u04b1\u0440\u044b\u043d",s:"\u0431\u0456\u0440\u043d\u0435\u0448\u0435 \u0441\u0435\u043a\u0443\u043d\u0434",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434",m:"\u0431\u0456\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u0431\u0456\u0440 \u0441\u0430\u0493\u0430\u0442",hh:"%d \u0441\u0430\u0493\u0430\u0442",d:"\u0431\u0456\u0440 \u043a\u04af\u043d",dd:"%d \u043a\u04af\u043d",M:"\u0431\u0456\u0440 \u0430\u0439",MM:"%d \u0430\u0439",y:"\u0431\u0456\u0440 \u0436\u044b\u043b",yy:"%d \u0436\u044b\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0448\u0456|\u0448\u044b)/,ordinal:function(e){return e+(Fs[e]||Fs[e%10]||Fs[100<=e?100:null])},week:{dow:1,doy:7}}),{1:"\u17e1",2:"\u17e2",3:"\u17e3",4:"\u17e4",5:"\u17e5",6:"\u17e6",7:"\u17e7",8:"\u17e8",9:"\u17e9",0:"\u17e0"}),Ns={"\u17e1":"1","\u17e2":"2","\u17e3":"3","\u17e4":"4","\u17e5":"5","\u17e6":"6","\u17e7":"7","\u17e8":"8","\u17e9":"9","\u17e0":"0"},Js=(c.defineLocale("km",{months:"\u1798\u1780\u179a\u17b6_\u1780\u17bb\u1798\u17d2\u1797\u17c8_\u1798\u17b8\u1793\u17b6_\u1798\u17c1\u179f\u17b6_\u17a7\u179f\u1797\u17b6_\u1798\u17b7\u1790\u17bb\u1793\u17b6_\u1780\u1780\u17d2\u1780\u178a\u17b6_\u179f\u17b8\u17a0\u17b6_\u1780\u1789\u17d2\u1789\u17b6_\u178f\u17bb\u179b\u17b6_\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6_\u1792\u17d2\u1793\u17bc".split("_"),monthsShort:"\u1798\u1780\u179a\u17b6_\u1780\u17bb\u1798\u17d2\u1797\u17c8_\u1798\u17b8\u1793\u17b6_\u1798\u17c1\u179f\u17b6_\u17a7\u179f\u1797\u17b6_\u1798\u17b7\u1790\u17bb\u1793\u17b6_\u1780\u1780\u17d2\u1780\u178a\u17b6_\u179f\u17b8\u17a0\u17b6_\u1780\u1789\u17d2\u1789\u17b6_\u178f\u17bb\u179b\u17b6_\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6_\u1792\u17d2\u1793\u17bc".split("_"),weekdays:"\u17a2\u17b6\u1791\u17b7\u178f\u17d2\u1799_\u1785\u17d0\u1793\u17d2\u1791_\u17a2\u1784\u17d2\u1782\u17b6\u179a_\u1796\u17bb\u1792_\u1796\u17d2\u179a\u17a0\u179f\u17d2\u1794\u178f\u17b7\u17cd_\u179f\u17bb\u1780\u17d2\u179a_\u179f\u17c5\u179a\u17cd".split("_"),weekdaysShort:"\u17a2\u17b6_\u1785_\u17a2_\u1796_\u1796\u17d2\u179a_\u179f\u17bb_\u179f".split("_"),weekdaysMin:"\u17a2\u17b6_\u1785_\u17a2_\u1796_\u1796\u17d2\u179a_\u179f\u17bb_\u179f".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u1796\u17d2\u179a\u17b9\u1780|\u179b\u17d2\u1784\u17b6\u1785/,isPM:function(e){return"\u179b\u17d2\u1784\u17b6\u1785"===e},meridiem:function(e,a,t){return e<12?"\u1796\u17d2\u179a\u17b9\u1780":"\u179b\u17d2\u1784\u17b6\u1785"},calendar:{sameDay:"[\u1790\u17d2\u1784\u17c3\u1793\u17c1\u17c7 \u1798\u17c9\u17c4\u1784] LT",nextDay:"[\u179f\u17d2\u17a2\u17c2\u1780 \u1798\u17c9\u17c4\u1784] LT",nextWeek:"dddd [\u1798\u17c9\u17c4\u1784] LT",lastDay:"[\u1798\u17d2\u179f\u17b7\u179b\u1798\u17b7\u1789 \u1798\u17c9\u17c4\u1784] LT",lastWeek:"dddd [\u179f\u1794\u17d2\u178f\u17b6\u17a0\u17cd\u1798\u17bb\u1793] [\u1798\u17c9\u17c4\u1784] LT",sameElse:"L"},relativeTime:{future:"%s\u1791\u17c0\u178f",past:"%s\u1798\u17bb\u1793",s:"\u1794\u17c9\u17bb\u1793\u17d2\u1798\u17b6\u1793\u179c\u17b7\u1793\u17b6\u1791\u17b8",ss:"%d \u179c\u17b7\u1793\u17b6\u1791\u17b8",m:"\u1798\u17bd\u1799\u1793\u17b6\u1791\u17b8",mm:"%d \u1793\u17b6\u1791\u17b8",h:"\u1798\u17bd\u1799\u1798\u17c9\u17c4\u1784",hh:"%d \u1798\u17c9\u17c4\u1784",d:"\u1798\u17bd\u1799\u1790\u17d2\u1784\u17c3",dd:"%d \u1790\u17d2\u1784\u17c3",M:"\u1798\u17bd\u1799\u1781\u17c2",MM:"%d \u1781\u17c2",y:"\u1798\u17bd\u1799\u1786\u17d2\u1793\u17b6\u17c6",yy:"%d \u1786\u17d2\u1793\u17b6\u17c6"},dayOfMonthOrdinalParse:/\u1791\u17b8\d{1,2}/,ordinal:"\u1791\u17b8%d",preparse:function(e){return e.replace(/[\u17e1\u17e2\u17e3\u17e4\u17e5\u17e6\u17e7\u17e8\u17e9\u17e0]/g,function(e){return Ns[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return zs[e]})},week:{dow:1,doy:4}}),{1:"\u0ce7",2:"\u0ce8",3:"\u0ce9",4:"\u0cea",5:"\u0ceb",6:"\u0cec",7:"\u0ced",8:"\u0cee",9:"\u0cef",0:"\u0ce6"}),Rs={"\u0ce7":"1","\u0ce8":"2","\u0ce9":"3","\u0cea":"4","\u0ceb":"5","\u0cec":"6","\u0ced":"7","\u0cee":"8","\u0cef":"9","\u0ce6":"0"};function O(e,a,t,s){e={s:["\xe7end san\xeeye","\xe7end san\xeeyeyan"],ss:[e+" san\xeeye",e+" san\xeeyeyan"],m:["deq\xeeqeyek","deq\xeeqeyek\xea"],mm:[e+" deq\xeeqe",e+" deq\xeeqeyan"],h:["saetek","saetek\xea"],hh:[e+" saet",e+" saetan"],d:["rojek","rojek\xea"],dd:[e+" roj",e+" rojan"],w:["hefteyek","hefteyek\xea"],ww:[e+" hefte",e+" hefteyan"],M:["mehek","mehek\xea"],MM:[e+" meh",e+" mehan"],y:["salek","salek\xea"],yy:[e+" sal",e+" salan"]};return a?e[t][0]:e[t][1]}c.defineLocale("kn",{months:"\u0c9c\u0ca8\u0cb5\u0cb0\u0cbf_\u0cab\u0cc6\u0cac\u0ccd\u0cb0\u0cb5\u0cb0\u0cbf_\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd_\u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd_\u0cae\u0cc6\u0cd5_\u0c9c\u0cc2\u0ca8\u0ccd_\u0c9c\u0cc1\u0cb2\u0cc6\u0cd6_\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd_\u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82\u0cac\u0cb0\u0ccd_\u0c85\u0c95\u0ccd\u0c9f\u0cc6\u0cc2\u0cd5\u0cac\u0cb0\u0ccd_\u0ca8\u0cb5\u0cc6\u0c82\u0cac\u0cb0\u0ccd_\u0ca1\u0cbf\u0cb8\u0cc6\u0c82\u0cac\u0cb0\u0ccd".split("_"),monthsShort:"\u0c9c\u0ca8_\u0cab\u0cc6\u0cac\u0ccd\u0cb0_\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd_\u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd_\u0cae\u0cc6\u0cd5_\u0c9c\u0cc2\u0ca8\u0ccd_\u0c9c\u0cc1\u0cb2\u0cc6\u0cd6_\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd_\u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82_\u0c85\u0c95\u0ccd\u0c9f\u0cc6\u0cc2\u0cd5_\u0ca8\u0cb5\u0cc6\u0c82_\u0ca1\u0cbf\u0cb8\u0cc6\u0c82".split("_"),monthsParseExact:!0,weekdays:"\u0cad\u0cbe\u0ca8\u0cc1\u0cb5\u0cbe\u0cb0_\u0cb8\u0cc6\u0cc2\u0cd5\u0cae\u0cb5\u0cbe\u0cb0_\u0cae\u0c82\u0c97\u0cb3\u0cb5\u0cbe\u0cb0_\u0cac\u0cc1\u0ca7\u0cb5\u0cbe\u0cb0_\u0c97\u0cc1\u0cb0\u0cc1\u0cb5\u0cbe\u0cb0_\u0cb6\u0cc1\u0c95\u0ccd\u0cb0\u0cb5\u0cbe\u0cb0_\u0cb6\u0ca8\u0cbf\u0cb5\u0cbe\u0cb0".split("_"),weekdaysShort:"\u0cad\u0cbe\u0ca8\u0cc1_\u0cb8\u0cc6\u0cc2\u0cd5\u0cae_\u0cae\u0c82\u0c97\u0cb3_\u0cac\u0cc1\u0ca7_\u0c97\u0cc1\u0cb0\u0cc1_\u0cb6\u0cc1\u0c95\u0ccd\u0cb0_\u0cb6\u0ca8\u0cbf".split("_"),weekdaysMin:"\u0cad\u0cbe_\u0cb8\u0cc6\u0cc2\u0cd5_\u0cae\u0c82_\u0cac\u0cc1_\u0c97\u0cc1_\u0cb6\u0cc1_\u0cb6".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0c87\u0c82\u0ca6\u0cc1] LT",nextDay:"[\u0ca8\u0cbe\u0cb3\u0cc6] LT",nextWeek:"dddd, LT",lastDay:"[\u0ca8\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6] LT",lastWeek:"[\u0c95\u0cc6\u0cc2\u0ca8\u0cc6\u0caf] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0ca8\u0c82\u0ca4\u0cb0",past:"%s \u0cb9\u0cbf\u0c82\u0ca6\u0cc6",s:"\u0c95\u0cc6\u0cb2\u0cb5\u0cc1 \u0c95\u0ccd\u0cb7\u0ca3\u0c97\u0cb3\u0cc1",ss:"%d \u0cb8\u0cc6\u0c95\u0cc6\u0c82\u0ca1\u0cc1\u0c97\u0cb3\u0cc1",m:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca8\u0cbf\u0cae\u0cbf\u0cb7",mm:"%d \u0ca8\u0cbf\u0cae\u0cbf\u0cb7",h:"\u0c92\u0c82\u0ca6\u0cc1 \u0c97\u0c82\u0c9f\u0cc6",hh:"%d \u0c97\u0c82\u0c9f\u0cc6",d:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca6\u0cbf\u0ca8",dd:"%d \u0ca6\u0cbf\u0ca8",M:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",MM:"%d \u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",y:"\u0c92\u0c82\u0ca6\u0cc1 \u0cb5\u0cb0\u0ccd\u0cb7",yy:"%d \u0cb5\u0cb0\u0ccd\u0cb7"},preparse:function(e){return e.replace(/[\u0ce7\u0ce8\u0ce9\u0cea\u0ceb\u0cec\u0ced\u0cee\u0cef\u0ce6]/g,function(e){return Rs[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Js[e]})},meridiemParse:/\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf|\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6|\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8|\u0cb8\u0c82\u0c9c\u0cc6/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"===a?e<4?e:e+12:"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6"===a?e:"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8"===a?10<=e?e:e+12:"\u0cb8\u0c82\u0c9c\u0cc6"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf":e<10?"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6":e<17?"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8":e<20?"\u0cb8\u0c82\u0c9c\u0cc6":"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"},dayOfMonthOrdinalParse:/\d{1,2}(\u0ca8\u0cc6\u0cd5)/,ordinal:function(e){return e+"\u0ca8\u0cc6\u0cd5"},week:{dow:0,doy:6}}),c.defineLocale("ko",{months:"1\uc6d4_2\uc6d4_3\uc6d4_4\uc6d4_5\uc6d4_6\uc6d4_7\uc6d4_8\uc6d4_9\uc6d4_10\uc6d4_11\uc6d4_12\uc6d4".split("_"),monthsShort:"1\uc6d4_2\uc6d4_3\uc6d4_4\uc6d4_5\uc6d4_6\uc6d4_7\uc6d4_8\uc6d4_9\uc6d4_10\uc6d4_11\uc6d4_12\uc6d4".split("_"),weekdays:"\uc77c\uc694\uc77c_\uc6d4\uc694\uc77c_\ud654\uc694\uc77c_\uc218\uc694\uc77c_\ubaa9\uc694\uc77c_\uae08\uc694\uc77c_\ud1a0\uc694\uc77c".split("_"),weekdaysShort:"\uc77c_\uc6d4_\ud654_\uc218_\ubaa9_\uae08_\ud1a0".split("_"),weekdaysMin:"\uc77c_\uc6d4_\ud654_\uc218_\ubaa9_\uae08_\ud1a0".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY\ub144 MMMM D\uc77c",LLL:"YYYY\ub144 MMMM D\uc77c A h:mm",LLLL:"YYYY\ub144 MMMM D\uc77c dddd A h:mm",l:"YYYY.MM.DD.",ll:"YYYY\ub144 MMMM D\uc77c",lll:"YYYY\ub144 MMMM D\uc77c A h:mm",llll:"YYYY\ub144 MMMM D\uc77c dddd A h:mm"},calendar:{sameDay:"\uc624\ub298 LT",nextDay:"\ub0b4\uc77c LT",nextWeek:"dddd LT",lastDay:"\uc5b4\uc81c LT",lastWeek:"\uc9c0\ub09c\uc8fc dddd LT",sameElse:"L"},relativeTime:{future:"%s \ud6c4",past:"%s \uc804",s:"\uba87 \ucd08",ss:"%d\ucd08",m:"1\ubd84",mm:"%d\ubd84",h:"\ud55c \uc2dc\uac04",hh:"%d\uc2dc\uac04",d:"\ud558\ub8e8",dd:"%d\uc77c",M:"\ud55c \ub2ec",MM:"%d\ub2ec",y:"\uc77c \ub144",yy:"%d\ub144"},dayOfMonthOrdinalParse:/\d{1,2}(\uc77c|\uc6d4|\uc8fc)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\uc77c";case"M":return e+"\uc6d4";case"w":case"W":return e+"\uc8fc";default:return e}},meridiemParse:/\uc624\uc804|\uc624\ud6c4/,isPM:function(e){return"\uc624\ud6c4"===e},meridiem:function(e,a,t){return e<12?"\uc624\uc804":"\uc624\ud6c4"}}),c.defineLocale("ku-kmr",{months:"R\xeabendan_Sibat_Adar_N\xeesan_Gulan_Hez\xeeran_T\xeermeh_Tebax_\xcelon_Cotmeh_Mijdar_Berfanbar".split("_"),monthsShort:"R\xeab_Sib_Ada_N\xees_Gul_Hez_T\xeer_Teb_\xcelo_Cot_Mij_Ber".split("_"),monthsParseExact:!0,weekdays:"Yek\u015fem_Du\u015fem_S\xea\u015fem_\xc7ar\u015fem_P\xeanc\u015fem_\xcen_\u015eem\xee".split("_"),weekdaysShort:"Yek_Du_S\xea_\xc7ar_P\xean_\xcen_\u015eem".split("_"),weekdaysMin:"Ye_Du_S\xea_\xc7a_P\xea_\xcen_\u015ee".split("_"),meridiem:function(e,a,t){return e<12?t?"bn":"BN":t?"pn":"PN"},meridiemParse:/bn|BN|pn|PN/,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"Do MMMM[a] YYYY[an]",LLL:"Do MMMM[a] YYYY[an] HH:mm",LLLL:"dddd, Do MMMM[a] YYYY[an] HH:mm",ll:"Do MMM[.] YYYY[an]",lll:"Do MMM[.] YYYY[an] HH:mm",llll:"ddd[.], Do MMM[.] YYYY[an] HH:mm"},calendar:{sameDay:"[\xcero di saet] LT [de]",nextDay:"[Sib\xea di saet] LT [de]",nextWeek:"dddd [di saet] LT [de]",lastDay:"[Duh di saet] LT [de]",lastWeek:"dddd[a bor\xee di saet] LT [de]",sameElse:"L"},relativeTime:{future:"di %s de",past:"ber\xee %s",s:O,ss:O,m:O,mm:O,h:O,hh:O,d:O,dd:O,w:O,ww:O,M:O,MM:O,y:O,yy:O},dayOfMonthOrdinalParse:/\d{1,2}(?:y\xea|\xea|\.)/,ordinal:function(e,a){var a=a.toLowerCase();return a.includes("w")||a.includes("m")?e+".":e+(e=(a=""+(a=e)).substring(a.length-1),12==(a=1<a.length?a.substring(a.length-2):"")||13==a||"2"!=e&&"3"!=e&&"50"!=a&&"70"!=e&&"80"!=e?"\xea":"y\xea")},week:{dow:1,doy:4}});var Cs={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},Is={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},fe=["\u06a9\u0627\u0646\u0648\u0646\u06cc \u062f\u0648\u0648\u06d5\u0645","\u0634\u0648\u0628\u0627\u062a","\u0626\u0627\u0632\u0627\u0631","\u0646\u06cc\u0633\u0627\u0646","\u0626\u0627\u06cc\u0627\u0631","\u062d\u0648\u0632\u06d5\u06cc\u0631\u0627\u0646","\u062a\u06d5\u0645\u0645\u0648\u0632","\u0626\u0627\u0628","\u0626\u06d5\u06cc\u0644\u0648\u0648\u0644","\u062a\u0634\u0631\u06cc\u0646\u06cc \u06cc\u06d5\u0643\u06d5\u0645","\u062a\u0634\u0631\u06cc\u0646\u06cc \u062f\u0648\u0648\u06d5\u0645","\u0643\u0627\u0646\u0648\u0646\u06cc \u06cc\u06d5\u06a9\u06d5\u0645"],Us=(c.defineLocale("ku",{months:fe,monthsShort:fe,weekdays:"\u06cc\u0647\u200c\u0643\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u062f\u0648\u0648\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0633\u06ce\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0686\u0648\u0627\u0631\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u067e\u06ce\u0646\u062c\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0647\u0647\u200c\u06cc\u0646\u06cc_\u0634\u0647\u200c\u0645\u0645\u0647\u200c".split("_"),weekdaysShort:"\u06cc\u0647\u200c\u0643\u0634\u0647\u200c\u0645_\u062f\u0648\u0648\u0634\u0647\u200c\u0645_\u0633\u06ce\u0634\u0647\u200c\u0645_\u0686\u0648\u0627\u0631\u0634\u0647\u200c\u0645_\u067e\u06ce\u0646\u062c\u0634\u0647\u200c\u0645_\u0647\u0647\u200c\u06cc\u0646\u06cc_\u0634\u0647\u200c\u0645\u0645\u0647\u200c".split("_"),weekdaysMin:"\u06cc_\u062f_\u0633_\u0686_\u067e_\u0647_\u0634".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u0626\u06ce\u0648\u0627\u0631\u0647\u200c|\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc/,isPM:function(e){return/\u0626\u06ce\u0648\u0627\u0631\u0647\u200c/.test(e)},meridiem:function(e,a,t){return e<12?"\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc":"\u0626\u06ce\u0648\u0627\u0631\u0647\u200c"},calendar:{sameDay:"[\u0626\u0647\u200c\u0645\u0631\u06c6 \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",nextDay:"[\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",nextWeek:"dddd [\u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",lastDay:"[\u062f\u0648\u06ce\u0646\u06ce \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",lastWeek:"dddd [\u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",sameElse:"L"},relativeTime:{future:"\u0644\u0647\u200c %s",past:"%s",s:"\u0686\u0647\u200c\u0646\u062f \u0686\u0631\u0643\u0647\u200c\u06cc\u0647\u200c\u0643",ss:"\u0686\u0631\u0643\u0647\u200c %d",m:"\u06cc\u0647\u200c\u0643 \u062e\u0648\u0644\u0647\u200c\u0643",mm:"%d \u062e\u0648\u0644\u0647\u200c\u0643",h:"\u06cc\u0647\u200c\u0643 \u0643\u0627\u062a\u0698\u0645\u06ce\u0631",hh:"%d \u0643\u0627\u062a\u0698\u0645\u06ce\u0631",d:"\u06cc\u0647\u200c\u0643 \u0695\u06c6\u0698",dd:"%d \u0695\u06c6\u0698",M:"\u06cc\u0647\u200c\u0643 \u0645\u0627\u0646\u06af",MM:"%d \u0645\u0627\u0646\u06af",y:"\u06cc\u0647\u200c\u0643 \u0633\u0627\u06b5",yy:"%d \u0633\u0627\u06b5"},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return Is[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return Cs[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}}),{0:"-\u0447\u04af",1:"-\u0447\u0438",2:"-\u0447\u0438",3:"-\u0447\u04af",4:"-\u0447\u04af",5:"-\u0447\u0438",6:"-\u0447\u044b",7:"-\u0447\u0438",8:"-\u0447\u0438",9:"-\u0447\u0443",10:"-\u0447\u0443",20:"-\u0447\u044b",30:"-\u0447\u0443",40:"-\u0447\u044b",50:"-\u0447\u04af",60:"-\u0447\u044b",70:"-\u0447\u0438",80:"-\u0447\u0438",90:"-\u0447\u0443",100:"-\u0447\u04af"});function Gs(e,a,t,s){var n={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return a?n[t][0]:n[t][1]}function Vs(e){if(e=parseInt(e,10),isNaN(e))return!1;if(e<0)return!0;if(e<10)return 4<=e&&e<=7;var a;if(e<100)return Vs(0==(a=e%10)?e/10:a);if(e<1e4){for(;10<=e;)e/=10;return Vs(e)}return Vs(e/=1e3)}c.defineLocale("ky",{months:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u0416\u0435\u043a\u0448\u0435\u043c\u0431\u0438_\u0414\u04af\u0439\u0448\u04e9\u043c\u0431\u04af_\u0428\u0435\u0439\u0448\u0435\u043c\u0431\u0438_\u0428\u0430\u0440\u0448\u0435\u043c\u0431\u0438_\u0411\u0435\u0439\u0448\u0435\u043c\u0431\u0438_\u0416\u0443\u043c\u0430_\u0418\u0448\u0435\u043c\u0431\u0438".split("_"),weekdaysShort:"\u0416\u0435\u043a_\u0414\u04af\u0439_\u0428\u0435\u0439_\u0428\u0430\u0440_\u0411\u0435\u0439_\u0416\u0443\u043c_\u0418\u0448\u0435".split("_"),weekdaysMin:"\u0416\u043a_\u0414\u0439_\u0428\u0439_\u0428\u0440_\u0411\u0439_\u0416\u043c_\u0418\u0448".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0411\u04af\u0433\u04af\u043d \u0441\u0430\u0430\u0442] LT",nextDay:"[\u042d\u0440\u0442\u0435\u04a3 \u0441\u0430\u0430\u0442] LT",nextWeek:"dddd [\u0441\u0430\u0430\u0442] LT",lastDay:"[\u041a\u0435\u0447\u044d\u044d \u0441\u0430\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u04e9\u043d \u0430\u043f\u0442\u0430\u043d\u044b\u043d] dddd [\u043a\u04af\u043d\u04af] [\u0441\u0430\u0430\u0442] LT",sameElse:"L"},relativeTime:{future:"%s \u0438\u0447\u0438\u043d\u0434\u0435",past:"%s \u043c\u0443\u0440\u0443\u043d",s:"\u0431\u0438\u0440\u043d\u0435\u0447\u0435 \u0441\u0435\u043a\u0443\u043d\u0434",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434",m:"\u0431\u0438\u0440 \u043c\u04af\u043d\u04e9\u0442",mm:"%d \u043c\u04af\u043d\u04e9\u0442",h:"\u0431\u0438\u0440 \u0441\u0430\u0430\u0442",hh:"%d \u0441\u0430\u0430\u0442",d:"\u0431\u0438\u0440 \u043a\u04af\u043d",dd:"%d \u043a\u04af\u043d",M:"\u0431\u0438\u0440 \u0430\u0439",MM:"%d \u0430\u0439",y:"\u0431\u0438\u0440 \u0436\u044b\u043b",yy:"%d \u0436\u044b\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0447\u0438|\u0447\u044b|\u0447\u04af|\u0447\u0443)/,ordinal:function(e){return e+(Us[e]||Us[e%10]||Us[100<=e?100:null])},week:{dow:1,doy:7}}),c.defineLocale("lb",{months:"Januar_Februar_M\xe4erz_Abr\xebll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_M\xe9indeg_D\xebnschdeg_M\xebttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._M\xe9._D\xeb._M\xeb._Do._Fr._Sa.".split("_"),weekdaysMin:"So_M\xe9_D\xeb_M\xeb_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[G\xebschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:function(e){return Vs(e.substr(0,e.indexOf(" ")))?"a "+e:"an "+e},past:function(e){return Vs(e.substr(0,e.indexOf(" ")))?"viru "+e:"virun "+e},s:"e puer Sekonnen",ss:"%d Sekonnen",m:Gs,mm:"%d Minutten",h:Gs,hh:"%d Stonnen",d:Gs,dd:"%d Deeg",M:Gs,MM:"%d M\xe9int",y:Gs,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("lo",{months:"\u0ea1\u0eb1\u0e87\u0e81\u0ead\u0e99_\u0e81\u0eb8\u0ea1\u0e9e\u0eb2_\u0ea1\u0eb5\u0e99\u0eb2_\u0ec0\u0ea1\u0eaa\u0eb2_\u0e9e\u0eb6\u0e94\u0eaa\u0eb0\u0e9e\u0eb2_\u0ea1\u0eb4\u0e96\u0eb8\u0e99\u0eb2_\u0e81\u0ecd\u0ea5\u0eb0\u0e81\u0ebb\u0e94_\u0eaa\u0eb4\u0e87\u0eab\u0eb2_\u0e81\u0eb1\u0e99\u0e8d\u0eb2_\u0e95\u0eb8\u0ea5\u0eb2_\u0e9e\u0eb0\u0e88\u0eb4\u0e81_\u0e97\u0eb1\u0e99\u0ea7\u0eb2".split("_"),monthsShort:"\u0ea1\u0eb1\u0e87\u0e81\u0ead\u0e99_\u0e81\u0eb8\u0ea1\u0e9e\u0eb2_\u0ea1\u0eb5\u0e99\u0eb2_\u0ec0\u0ea1\u0eaa\u0eb2_\u0e9e\u0eb6\u0e94\u0eaa\u0eb0\u0e9e\u0eb2_\u0ea1\u0eb4\u0e96\u0eb8\u0e99\u0eb2_\u0e81\u0ecd\u0ea5\u0eb0\u0e81\u0ebb\u0e94_\u0eaa\u0eb4\u0e87\u0eab\u0eb2_\u0e81\u0eb1\u0e99\u0e8d\u0eb2_\u0e95\u0eb8\u0ea5\u0eb2_\u0e9e\u0eb0\u0e88\u0eb4\u0e81_\u0e97\u0eb1\u0e99\u0ea7\u0eb2".split("_"),weekdays:"\u0ead\u0eb2\u0e97\u0eb4\u0e94_\u0e88\u0eb1\u0e99_\u0ead\u0eb1\u0e87\u0e84\u0eb2\u0e99_\u0e9e\u0eb8\u0e94_\u0e9e\u0eb0\u0eab\u0eb1\u0e94_\u0eaa\u0eb8\u0e81_\u0ec0\u0eaa\u0ebb\u0eb2".split("_"),weekdaysShort:"\u0e97\u0eb4\u0e94_\u0e88\u0eb1\u0e99_\u0ead\u0eb1\u0e87\u0e84\u0eb2\u0e99_\u0e9e\u0eb8\u0e94_\u0e9e\u0eb0\u0eab\u0eb1\u0e94_\u0eaa\u0eb8\u0e81_\u0ec0\u0eaa\u0ebb\u0eb2".split("_"),weekdaysMin:"\u0e97_\u0e88_\u0ead\u0e84_\u0e9e_\u0e9e\u0eab_\u0eaa\u0e81_\u0eaa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"\u0ea7\u0eb1\u0e99dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2|\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87/,isPM:function(e){return"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"===e},meridiem:function(e,a,t){return e<12?"\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2":"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"},calendar:{sameDay:"[\u0ea1\u0eb7\u0ec9\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",nextDay:"[\u0ea1\u0eb7\u0ec9\u0ead\u0eb7\u0ec8\u0e99\u0ec0\u0ea7\u0ea5\u0eb2] LT",nextWeek:"[\u0ea7\u0eb1\u0e99]dddd[\u0edc\u0ec9\u0eb2\u0ec0\u0ea7\u0ea5\u0eb2] LT",lastDay:"[\u0ea1\u0eb7\u0ec9\u0ea7\u0eb2\u0e99\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",lastWeek:"[\u0ea7\u0eb1\u0e99]dddd[\u0ec1\u0ea5\u0ec9\u0ea7\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",sameElse:"L"},relativeTime:{future:"\u0ead\u0eb5\u0e81 %s",past:"%s\u0e9c\u0ec8\u0eb2\u0e99\u0ea1\u0eb2",s:"\u0e9a\u0ecd\u0ec8\u0ec0\u0e97\u0ebb\u0ec8\u0eb2\u0ec3\u0e94\u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5",ss:"%d \u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5",m:"1 \u0e99\u0eb2\u0e97\u0eb5",mm:"%d \u0e99\u0eb2\u0e97\u0eb5",h:"1 \u0e8a\u0ebb\u0ec8\u0ea7\u0ec2\u0ea1\u0e87",hh:"%d \u0e8a\u0ebb\u0ec8\u0ea7\u0ec2\u0ea1\u0e87",d:"1 \u0ea1\u0eb7\u0ec9",dd:"%d \u0ea1\u0eb7\u0ec9",M:"1 \u0ec0\u0e94\u0eb7\u0ead\u0e99",MM:"%d \u0ec0\u0e94\u0eb7\u0ead\u0e99",y:"1 \u0e9b\u0eb5",yy:"%d \u0e9b\u0eb5"},dayOfMonthOrdinalParse:/(\u0e97\u0eb5\u0ec8)\d{1,2}/,ordinal:function(e){return"\u0e97\u0eb5\u0ec8"+e}});var qs={ss:"sekund\u0117_sekund\u017ei\u0173_sekundes",m:"minut\u0117_minut\u0117s_minut\u0119",mm:"minut\u0117s_minu\u010di\u0173_minutes",h:"valanda_valandos_valand\u0105",hh:"valandos_valand\u0173_valandas",d:"diena_dienos_dien\u0105",dd:"dienos_dien\u0173_dienas",M:"m\u0117nuo_m\u0117nesio_m\u0117nes\u012f",MM:"m\u0117nesiai_m\u0117nesi\u0173_m\u0117nesius",y:"metai_met\u0173_metus",yy:"metai_met\u0173_metus"};function Bs(e,a,t,s){return a?Zs(t)[0]:s?Zs(t)[1]:Zs(t)[2]}function Ks(e){return e%10==0||10<e&&e<20}function Zs(e){return qs[e].split("_")}function $s(e,a,t,s){var n=e+" ";return 1===e?n+Bs(0,a,t[0],s):a?n+(Ks(e)?Zs(t)[1]:Zs(t)[0]):s?n+Zs(t)[1]:n+(Ks(e)?Zs(t)[1]:Zs(t)[2])}c.defineLocale("lt",{months:{format:"sausio_vasario_kovo_baland\u017eio_gegu\u017e\u0117s_bir\u017eelio_liepos_rugpj\u016b\u010dio_rugs\u0117jo_spalio_lapkri\u010dio_gruod\u017eio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegu\u017e\u0117_bir\u017eelis_liepa_rugpj\u016btis_rugs\u0117jis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadien\u012f_pirmadien\u012f_antradien\u012f_tre\u010diadien\u012f_ketvirtadien\u012f_penktadien\u012f_\u0161e\u0161tadien\u012f".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_tre\u010diadienis_ketvirtadienis_penktadienis_\u0161e\u0161tadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_\u0160e\u0161".split("_"),weekdaysMin:"S_P_A_T_K_Pn_\u0160".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[\u0160iandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Pra\u0117jus\u012f] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prie\u0161 %s",s:function(e,a,t,s){return a?"kelios sekund\u0117s":s?"keli\u0173 sekund\u017ei\u0173":"kelias sekundes"},ss:$s,m:Bs,mm:$s,h:Bs,hh:$s,d:Bs,dd:$s,M:Bs,MM:$s,y:Bs,yy:$s},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(e){return e+"-oji"},week:{dow:1,doy:4}});var Qs={ss:"sekundes_sekund\u0113m_sekunde_sekundes".split("_"),m:"min\u016btes_min\u016bt\u0113m_min\u016bte_min\u016btes".split("_"),mm:"min\u016btes_min\u016bt\u0113m_min\u016bte_min\u016btes".split("_"),h:"stundas_stund\u0101m_stunda_stundas".split("_"),hh:"stundas_stund\u0101m_stunda_stundas".split("_"),d:"dienas_dien\u0101m_diena_dienas".split("_"),dd:"dienas_dien\u0101m_diena_dienas".split("_"),M:"m\u0113ne\u0161a_m\u0113ne\u0161iem_m\u0113nesis_m\u0113ne\u0161i".split("_"),MM:"m\u0113ne\u0161a_m\u0113ne\u0161iem_m\u0113nesis_m\u0113ne\u0161i".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};function Xs(e,a,t){return t?a%10==1&&a%100!=11?e[2]:e[3]:a%10==1&&a%100!=11?e[0]:e[1]}function en(e,a,t){return e+" "+Xs(Qs[t],e,a)}function an(e,a,t){return Xs(Qs[t],e,a)}c.defineLocale("lv",{months:"janv\u0101ris_febru\u0101ris_marts_apr\u012blis_maijs_j\u016bnijs_j\u016blijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_j\u016bn_j\u016bl_aug_sep_okt_nov_dec".split("_"),weekdays:"sv\u0113tdiena_pirmdiena_otrdiena_tre\u0161diena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[\u0160odien pulksten] LT",nextDay:"[R\u012bt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pag\u0101ju\u0161\u0101] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"p\u0113c %s",past:"pirms %s",s:function(e,a){return a?"da\u017eas sekundes":"da\u017e\u0101m sekund\u0113m"},ss:en,m:an,mm:en,h:an,hh:en,d:an,dd:en,M:an,MM:en,y:an,yy:en},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var tn={words:{ss:["sekund","sekunda","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,a){return 1===e?a[0]:2<=e&&e<=4?a[1]:a[2]},translate:function(e,a,t){var s=tn.words[t];return 1===t.length?a?s[0]:s[1]:e+" "+tn.correctGrammaticalCase(e,s)}};function sn(e,a,t,s){switch(t){case"s":return a?"\u0445\u044d\u0434\u0445\u044d\u043d \u0441\u0435\u043a\u0443\u043d\u0434":"\u0445\u044d\u0434\u0445\u044d\u043d \u0441\u0435\u043a\u0443\u043d\u0434\u044b\u043d";case"ss":return e+(a?" \u0441\u0435\u043a\u0443\u043d\u0434":" \u0441\u0435\u043a\u0443\u043d\u0434\u044b\u043d");case"m":case"mm":return e+(a?" \u043c\u0438\u043d\u0443\u0442":" \u043c\u0438\u043d\u0443\u0442\u044b\u043d");case"h":case"hh":return e+(a?" \u0446\u0430\u0433":" \u0446\u0430\u0433\u0438\u0439\u043d");case"d":case"dd":return e+(a?" \u04e9\u0434\u04e9\u0440":" \u04e9\u0434\u0440\u0438\u0439\u043d");case"M":case"MM":return e+(a?" \u0441\u0430\u0440":" \u0441\u0430\u0440\u044b\u043d");case"y":case"yy":return e+(a?" \u0436\u0438\u043b":" \u0436\u0438\u043b\u0438\u0439\u043d");default:return e}}c.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010de u] LT",lastWeek:function(){return["[pro\u0161le] [nedjelje] [u] LT","[pro\u0161log] [ponedjeljka] [u] LT","[pro\u0161log] [utorka] [u] LT","[pro\u0161le] [srijede] [u] LT","[pro\u0161log] [\u010detvrtka] [u] LT","[pro\u0161log] [petka] [u] LT","[pro\u0161le] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",ss:tn.translate,m:tn.translate,mm:tn.translate,h:tn.translate,hh:tn.translate,d:"dan",dd:tn.translate,M:"mjesec",MM:tn.translate,y:"godinu",yy:tn.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),c.defineLocale("mi",{months:"Kohi-t\u0101te_Hui-tanguru_Pout\u016b-te-rangi_Paenga-wh\u0101wh\u0101_Haratua_Pipiri_H\u014dngoingoi_Here-turi-k\u014dk\u0101_Mahuru_Whiringa-\u0101-nuku_Whiringa-\u0101-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_H\u014dngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"R\u0101tapu_Mane_T\u016brei_Wenerei_T\u0101ite_Paraire_H\u0101tarei".split("_"),weekdaysShort:"Ta_Ma_T\u016b_We_T\u0101i_Pa_H\u0101".split("_"),weekdaysMin:"Ta_Ma_T\u016b_We_T\u0101i_Pa_H\u0101".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te h\u0113kona ruarua",ss:"%d h\u0113kona",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),c.defineLocale("mk",{months:"\u0458\u0430\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0458_\u0458\u0443\u043d\u0438_\u0458\u0443\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u0458\u0430\u043d_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u0430_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0440\u0442\u043e\u043a_\u043f\u0435\u0442\u043e\u043a_\u0441\u0430\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u0435_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u0430\u0431".split("_"),weekdaysMin:"\u043de_\u043fo_\u0432\u0442_\u0441\u0440_\u0447\u0435_\u043f\u0435_\u0441a".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u0435\u043d\u0435\u0441 \u0432\u043e] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432\u043e] LT",nextWeek:"[\u0412\u043e] dddd [\u0432\u043e] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432\u043e] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u0418\u0437\u043c\u0438\u043d\u0430\u0442\u0430\u0442\u0430] dddd [\u0432\u043e] LT";case 1:case 2:case 4:case 5:return"[\u0418\u0437\u043c\u0438\u043d\u0430\u0442\u0438\u043e\u0442] dddd [\u0432\u043e] LT"}},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"\u043f\u0440\u0435\u0434 %s",s:"\u043d\u0435\u043a\u043e\u043b\u043a\u0443 \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u0435\u0434\u043d\u0430 \u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0435\u0434\u0435\u043d \u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0435\u0434\u0435\u043d \u0434\u0435\u043d",dd:"%d \u0434\u0435\u043d\u0430",M:"\u0435\u0434\u0435\u043d \u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0438",y:"\u0435\u0434\u043d\u0430 \u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(e){var a=e%10,t=e%100;return 0===e?e+"-\u0435\u0432":0==t?e+"-\u0435\u043d":10<t&&t<20?e+"-\u0442\u0438":1==a?e+"-\u0432\u0438":2==a?e+"-\u0440\u0438":7==a||8==a?e+"-\u043c\u0438":e+"-\u0442\u0438"},week:{dow:1,doy:7}}),c.defineLocale("ml",{months:"\u0d1c\u0d28\u0d41\u0d35\u0d30\u0d3f_\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41\u0d35\u0d30\u0d3f_\u0d2e\u0d3e\u0d7c\u0d1a\u0d4d\u0d1a\u0d4d_\u0d0f\u0d2a\u0d4d\u0d30\u0d3f\u0d7d_\u0d2e\u0d47\u0d2f\u0d4d_\u0d1c\u0d42\u0d7a_\u0d1c\u0d42\u0d32\u0d48_\u0d13\u0d17\u0d38\u0d4d\u0d31\u0d4d\u0d31\u0d4d_\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31\u0d02\u0d2c\u0d7c_\u0d12\u0d15\u0d4d\u0d1f\u0d4b\u0d2c\u0d7c_\u0d28\u0d35\u0d02\u0d2c\u0d7c_\u0d21\u0d3f\u0d38\u0d02\u0d2c\u0d7c".split("_"),monthsShort:"\u0d1c\u0d28\u0d41._\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41._\u0d2e\u0d3e\u0d7c._\u0d0f\u0d2a\u0d4d\u0d30\u0d3f._\u0d2e\u0d47\u0d2f\u0d4d_\u0d1c\u0d42\u0d7a_\u0d1c\u0d42\u0d32\u0d48._\u0d13\u0d17._\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31._\u0d12\u0d15\u0d4d\u0d1f\u0d4b._\u0d28\u0d35\u0d02._\u0d21\u0d3f\u0d38\u0d02.".split("_"),monthsParseExact:!0,weekdays:"\u0d1e\u0d3e\u0d2f\u0d31\u0d3e\u0d34\u0d4d\u0d1a_\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d33\u0d3e\u0d34\u0d4d\u0d1a_\u0d1a\u0d4a\u0d35\u0d4d\u0d35\u0d3e\u0d34\u0d4d\u0d1a_\u0d2c\u0d41\u0d27\u0d28\u0d3e\u0d34\u0d4d\u0d1a_\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d3e\u0d34\u0d4d\u0d1a_\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a_\u0d36\u0d28\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a".split("_"),weekdaysShort:"\u0d1e\u0d3e\u0d2f\u0d7c_\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d7e_\u0d1a\u0d4a\u0d35\u0d4d\u0d35_\u0d2c\u0d41\u0d27\u0d7b_\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d02_\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f_\u0d36\u0d28\u0d3f".split("_"),weekdaysMin:"\u0d1e\u0d3e_\u0d24\u0d3f_\u0d1a\u0d4a_\u0d2c\u0d41_\u0d35\u0d4d\u0d2f\u0d3e_\u0d35\u0d46_\u0d36".split("_"),longDateFormat:{LT:"A h:mm -\u0d28\u0d41",LTS:"A h:mm:ss -\u0d28\u0d41",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -\u0d28\u0d41",LLLL:"dddd, D MMMM YYYY, A h:mm -\u0d28\u0d41"},calendar:{sameDay:"[\u0d07\u0d28\u0d4d\u0d28\u0d4d] LT",nextDay:"[\u0d28\u0d3e\u0d33\u0d46] LT",nextWeek:"dddd, LT",lastDay:"[\u0d07\u0d28\u0d4d\u0d28\u0d32\u0d46] LT",lastWeek:"[\u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d",past:"%s \u0d2e\u0d41\u0d7b\u0d2a\u0d4d",s:"\u0d05\u0d7d\u0d2a \u0d28\u0d3f\u0d2e\u0d3f\u0d37\u0d19\u0d4d\u0d19\u0d7e",ss:"%d \u0d38\u0d46\u0d15\u0d4d\u0d15\u0d7b\u0d21\u0d4d",m:"\u0d12\u0d30\u0d41 \u0d2e\u0d3f\u0d28\u0d3f\u0d31\u0d4d\u0d31\u0d4d",mm:"%d \u0d2e\u0d3f\u0d28\u0d3f\u0d31\u0d4d\u0d31\u0d4d",h:"\u0d12\u0d30\u0d41 \u0d2e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d42\u0d7c",hh:"%d \u0d2e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d42\u0d7c",d:"\u0d12\u0d30\u0d41 \u0d26\u0d3f\u0d35\u0d38\u0d02",dd:"%d \u0d26\u0d3f\u0d35\u0d38\u0d02",M:"\u0d12\u0d30\u0d41 \u0d2e\u0d3e\u0d38\u0d02",MM:"%d \u0d2e\u0d3e\u0d38\u0d02",y:"\u0d12\u0d30\u0d41 \u0d35\u0d7c\u0d37\u0d02",yy:"%d \u0d35\u0d7c\u0d37\u0d02"},meridiemParse:/\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f|\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46|\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d|\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02|\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f/i,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"===a&&4<=e||"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d"===a||"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02"===a?e+12:e},meridiem:function(e,a,t){return e<4?"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f":e<12?"\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46":e<17?"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d":e<20?"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02":"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"}}),c.defineLocale("mn",{months:"\u041d\u044d\u0433\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0425\u043e\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0413\u0443\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0414\u04e9\u0440\u04e9\u0432\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0422\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0417\u0443\u0440\u0433\u0430\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0414\u043e\u043b\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u041d\u0430\u0439\u043c\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0415\u0441\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0410\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0410\u0440\u0432\u0430\u043d \u043d\u044d\u0433\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0410\u0440\u0432\u0430\u043d \u0445\u043e\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440".split("_"),monthsShort:"1 \u0441\u0430\u0440_2 \u0441\u0430\u0440_3 \u0441\u0430\u0440_4 \u0441\u0430\u0440_5 \u0441\u0430\u0440_6 \u0441\u0430\u0440_7 \u0441\u0430\u0440_8 \u0441\u0430\u0440_9 \u0441\u0430\u0440_10 \u0441\u0430\u0440_11 \u0441\u0430\u0440_12 \u0441\u0430\u0440".split("_"),monthsParseExact:!0,weekdays:"\u041d\u044f\u043c_\u0414\u0430\u0432\u0430\u0430_\u041c\u044f\u0433\u043c\u0430\u0440_\u041b\u0445\u0430\u0433\u0432\u0430_\u041f\u04af\u0440\u044d\u0432_\u0411\u0430\u0430\u0441\u0430\u043d_\u0411\u044f\u043c\u0431\u0430".split("_"),weekdaysShort:"\u041d\u044f\u043c_\u0414\u0430\u0432_\u041c\u044f\u0433_\u041b\u0445\u0430_\u041f\u04af\u0440_\u0411\u0430\u0430_\u0411\u044f\u043c".split("_"),weekdaysMin:"\u041d\u044f_\u0414\u0430_\u041c\u044f_\u041b\u0445_\u041f\u04af_\u0411\u0430_\u0411\u044f".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY \u043e\u043d\u044b MMMM\u044b\u043d D",LLL:"YYYY \u043e\u043d\u044b MMMM\u044b\u043d D HH:mm",LLLL:"dddd, YYYY \u043e\u043d\u044b MMMM\u044b\u043d D HH:mm"},meridiemParse:/\u04ae\u04e8|\u04ae\u0425/i,isPM:function(e){return"\u04ae\u0425"===e},meridiem:function(e,a,t){return e<12?"\u04ae\u04e8":"\u04ae\u0425"},calendar:{sameDay:"[\u04e8\u043d\u04e9\u04e9\u0434\u04e9\u0440] LT",nextDay:"[\u041c\u0430\u0440\u0433\u0430\u0430\u0448] LT",nextWeek:"[\u0418\u0440\u044d\u0445] dddd LT",lastDay:"[\u04e8\u0447\u0438\u0433\u0434\u04e9\u0440] LT",lastWeek:"[\u04e8\u043d\u0433\u04e9\u0440\u0441\u04e9\u043d] dddd LT",sameElse:"L"},relativeTime:{future:"%s \u0434\u0430\u0440\u0430\u0430",past:"%s \u04e9\u043c\u043d\u04e9",s:sn,ss:sn,m:sn,mm:sn,h:sn,hh:sn,d:sn,dd:sn,M:sn,MM:sn,y:sn,yy:sn},dayOfMonthOrdinalParse:/\d{1,2} \u04e9\u0434\u04e9\u0440/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+" \u04e9\u0434\u04e9\u0440";default:return e}}});var nn={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},rn={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};function dn(e,a,t,s){var n="";if(a)switch(t){case"s":n="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926";break;case"ss":n="%d \u0938\u0947\u0915\u0902\u0926";break;case"m":n="\u090f\u0915 \u092e\u093f\u0928\u093f\u091f";break;case"mm":n="%d \u092e\u093f\u0928\u093f\u091f\u0947";break;case"h":n="\u090f\u0915 \u0924\u093e\u0938";break;case"hh":n="%d \u0924\u093e\u0938";break;case"d":n="\u090f\u0915 \u0926\u093f\u0935\u0938";break;case"dd":n="%d \u0926\u093f\u0935\u0938";break;case"M":n="\u090f\u0915 \u092e\u0939\u093f\u0928\u093e";break;case"MM":n="%d \u092e\u0939\u093f\u0928\u0947";break;case"y":n="\u090f\u0915 \u0935\u0930\u094d\u0937";break;case"yy":n="%d \u0935\u0930\u094d\u0937\u0947";break}else switch(t){case"s":n="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"ss":n="%d \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"m":n="\u090f\u0915\u093e \u092e\u093f\u0928\u093f\u091f\u093e";break;case"mm":n="%d \u092e\u093f\u0928\u093f\u091f\u093e\u0902";break;case"h":n="\u090f\u0915\u093e \u0924\u093e\u0938\u093e";break;case"hh":n="%d \u0924\u093e\u0938\u093e\u0902";break;case"d":n="\u090f\u0915\u093e \u0926\u093f\u0935\u0938\u093e";break;case"dd":n="%d \u0926\u093f\u0935\u0938\u093e\u0902";break;case"M":n="\u090f\u0915\u093e \u092e\u0939\u093f\u0928\u094d\u092f\u093e";break;case"MM":n="%d \u092e\u0939\u093f\u0928\u094d\u092f\u093e\u0902";break;case"y":n="\u090f\u0915\u093e \u0935\u0930\u094d\u0937\u093e";break;case"yy":n="%d \u0935\u0930\u094d\u0937\u093e\u0902";break}return n.replace(/%d/i,e)}c.defineLocale("mr",{months:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u093f\u0932_\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932\u0948_\u0911\u0917\u0938\u094d\u091f_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930_\u0911\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930_\u0921\u093f\u0938\u0947\u0902\u092c\u0930".split("_"),monthsShort:"\u091c\u093e\u0928\u0947._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a._\u090f\u092a\u094d\u0930\u093f._\u092e\u0947._\u091c\u0942\u0928._\u091c\u0941\u0932\u0948._\u0911\u0917._\u0938\u092a\u094d\u091f\u0947\u0902._\u0911\u0915\u094d\u091f\u094b._\u0928\u094b\u0935\u094d\u0939\u0947\u0902._\u0921\u093f\u0938\u0947\u0902.".split("_"),monthsParseExact:!0,weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0933\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0933_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u0935\u093e\u091c\u0924\u093e",LTS:"A h:mm:ss \u0935\u093e\u091c\u0924\u093e",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0935\u093e\u091c\u0924\u093e",LLLL:"dddd, D MMMM YYYY, A h:mm \u0935\u093e\u091c\u0924\u093e"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0909\u0926\u094d\u092f\u093e] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u093e\u0932] LT",lastWeek:"[\u092e\u093e\u0917\u0940\u0932] dddd, LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u0927\u094d\u092f\u0947",past:"%s\u092a\u0942\u0930\u094d\u0935\u0940",s:dn,ss:dn,m:dn,mm:dn,h:dn,hh:dn,d:dn,dd:dn,M:dn,MM:dn,y:dn,yy:dn},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return rn[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return nn[e]})},meridiemParse:/\u092a\u0939\u093e\u091f\u0947|\u0938\u0915\u093e\u0933\u0940|\u0926\u0941\u092a\u093e\u0930\u0940|\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940|\u0930\u093e\u0924\u094d\u0930\u0940/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u092a\u0939\u093e\u091f\u0947"===a||"\u0938\u0915\u093e\u0933\u0940"===a?e:"\u0926\u0941\u092a\u093e\u0930\u0940"===a||"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940"===a||"\u0930\u093e\u0924\u094d\u0930\u0940"===a?12<=e?e:e+12:void 0},meridiem:function(e,a,t){return 0<=e&&e<6?"\u092a\u0939\u093e\u091f\u0947":e<12?"\u0938\u0915\u093e\u0933\u0940":e<17?"\u0926\u0941\u092a\u093e\u0930\u0940":e<20?"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940":"\u0930\u093e\u0924\u094d\u0930\u0940"},week:{dow:0,doy:6}}),c.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"tengahari"===a?11<=e?e:e+12:"petang"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),c.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"tengahari"===a?11<=e?e:e+12:"petang"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),c.defineLocale("mt",{months:"Jannar_Frar_Marzu_April_Mejju_\u0120unju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Di\u010bembru".split("_"),monthsShort:"Jan_Fra_Mar_Apr_Mej_\u0120un_Lul_Aww_Set_Ott_Nov_Di\u010b".split("_"),weekdays:"Il-\u0126add_It-Tnejn_It-Tlieta_L-Erbg\u0127a_Il-\u0126amis_Il-\u0120img\u0127a_Is-Sibt".split("_"),weekdaysShort:"\u0126ad_Tne_Tli_Erb_\u0126am_\u0120im_Sib".split("_"),weekdaysMin:"\u0126a_Tn_Tl_Er_\u0126a_\u0120i_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Illum fil-]LT",nextDay:"[G\u0127ada fil-]LT",nextWeek:"dddd [fil-]LT",lastDay:"[Il-biera\u0127 fil-]LT",lastWeek:"dddd [li g\u0127adda] [fil-]LT",sameElse:"L"},relativeTime:{future:"f\u2019 %s",past:"%s ilu",s:"ftit sekondi",ss:"%d sekondi",m:"minuta",mm:"%d minuti",h:"sieg\u0127a",hh:"%d sieg\u0127at",d:"\u0121urnata",dd:"%d \u0121ranet",M:"xahar",MM:"%d xhur",y:"sena",yy:"%d sni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}});var _n={1:"\u1041",2:"\u1042",3:"\u1043",4:"\u1044",5:"\u1045",6:"\u1046",7:"\u1047",8:"\u1048",9:"\u1049",0:"\u1040"},on={"\u1041":"1","\u1042":"2","\u1043":"3","\u1044":"4","\u1045":"5","\u1046":"6","\u1047":"7","\u1048":"8","\u1049":"9","\u1040":"0"},mn=(c.defineLocale("my",{months:"\u1007\u1014\u103a\u1014\u101d\u102b\u101b\u102e_\u1016\u1031\u1016\u1031\u102c\u103a\u101d\u102b\u101b\u102e_\u1019\u1010\u103a_\u1027\u1015\u103c\u102e_\u1019\u1031_\u1007\u103d\u1014\u103a_\u1007\u1030\u101c\u102d\u102f\u1004\u103a_\u101e\u103c\u1002\u102f\u1010\u103a_\u1005\u1000\u103a\u1010\u1004\u103a\u1018\u102c_\u1021\u1031\u102c\u1000\u103a\u1010\u102d\u102f\u1018\u102c_\u1014\u102d\u102f\u101d\u1004\u103a\u1018\u102c_\u1012\u102e\u1007\u1004\u103a\u1018\u102c".split("_"),monthsShort:"\u1007\u1014\u103a_\u1016\u1031_\u1019\u1010\u103a_\u1015\u103c\u102e_\u1019\u1031_\u1007\u103d\u1014\u103a_\u101c\u102d\u102f\u1004\u103a_\u101e\u103c_\u1005\u1000\u103a_\u1021\u1031\u102c\u1000\u103a_\u1014\u102d\u102f_\u1012\u102e".split("_"),weekdays:"\u1010\u1014\u1004\u103a\u1039\u1002\u1014\u103d\u1031_\u1010\u1014\u1004\u103a\u1039\u101c\u102c_\u1021\u1004\u103a\u1039\u1002\u102b_\u1017\u102f\u1012\u1039\u1013\u101f\u1030\u1038_\u1000\u103c\u102c\u101e\u1015\u1010\u1031\u1038_\u101e\u1031\u102c\u1000\u103c\u102c_\u1005\u1014\u1031".split("_"),weekdaysShort:"\u1014\u103d\u1031_\u101c\u102c_\u1002\u102b_\u101f\u1030\u1038_\u1000\u103c\u102c_\u101e\u1031\u102c_\u1014\u1031".split("_"),weekdaysMin:"\u1014\u103d\u1031_\u101c\u102c_\u1002\u102b_\u101f\u1030\u1038_\u1000\u103c\u102c_\u101e\u1031\u102c_\u1014\u1031".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u101a\u1014\u1031.] LT [\u1019\u103e\u102c]",nextDay:"[\u1019\u1014\u1000\u103a\u1016\u103c\u1014\u103a] LT [\u1019\u103e\u102c]",nextWeek:"dddd LT [\u1019\u103e\u102c]",lastDay:"[\u1019\u1014\u1031.\u1000] LT [\u1019\u103e\u102c]",lastWeek:"[\u1015\u103c\u102e\u1038\u1001\u1032\u1037\u101e\u1031\u102c] dddd LT [\u1019\u103e\u102c]",sameElse:"L"},relativeTime:{future:"\u101c\u102c\u1019\u100a\u103a\u1037 %s \u1019\u103e\u102c",past:"\u101c\u103d\u1014\u103a\u1001\u1032\u1037\u101e\u1031\u102c %s \u1000",s:"\u1005\u1000\u1039\u1000\u1014\u103a.\u1021\u1014\u100a\u103a\u1038\u1004\u101a\u103a",ss:"%d \u1005\u1000\u1039\u1000\u1014\u1037\u103a",m:"\u1010\u1005\u103a\u1019\u102d\u1014\u1005\u103a",mm:"%d \u1019\u102d\u1014\u1005\u103a",h:"\u1010\u1005\u103a\u1014\u102c\u101b\u102e",hh:"%d \u1014\u102c\u101b\u102e",d:"\u1010\u1005\u103a\u101b\u1000\u103a",dd:"%d \u101b\u1000\u103a",M:"\u1010\u1005\u103a\u101c",MM:"%d \u101c",y:"\u1010\u1005\u103a\u1014\u103e\u1005\u103a",yy:"%d \u1014\u103e\u1005\u103a"},preparse:function(e){return e.replace(/[\u1041\u1042\u1043\u1044\u1045\u1046\u1047\u1048\u1049\u1040]/g,function(e){return on[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return _n[e]})},week:{dow:1,doy:4}}),c.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"s\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xf8rdag".split("_"),weekdaysShort:"s\xf8._ma._ti._on._to._fr._l\xf8.".split("_"),weekdaysMin:"s\xf8_ma_ti_on_to_fr_l\xf8".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i g\xe5r kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",ss:"%d sekunder",m:"ett minutt",mm:"%d minutter",h:"\xe9n time",hh:"%d timer",d:"\xe9n dag",dd:"%d dager",w:"\xe9n uke",ww:"%d uker",M:"\xe9n m\xe5ned",MM:"%d m\xe5neder",y:"ett \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),{1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"}),un={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"},ln=(c.defineLocale("ne",{months:"\u091c\u0928\u0935\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f\u0932_\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0937\u094d\u091f_\u0938\u0947\u092a\u094d\u091f\u0947\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u092d\u0947\u092e\u094d\u092c\u0930_\u0921\u093f\u0938\u0947\u092e\u094d\u092c\u0930".split("_"),monthsShort:"\u091c\u0928._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f._\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908._\u0905\u0917._\u0938\u0947\u092a\u094d\u091f._\u0905\u0915\u094d\u091f\u094b._\u0928\u094b\u092d\u0947._\u0921\u093f\u0938\u0947.".split("_"),monthsParseExact:!0,weekdays:"\u0906\u0907\u0924\u092c\u093e\u0930_\u0938\u094b\u092e\u092c\u093e\u0930_\u092e\u0919\u094d\u0917\u0932\u092c\u093e\u0930_\u092c\u0941\u0927\u092c\u093e\u0930_\u092c\u093f\u0939\u093f\u092c\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u092c\u093e\u0930_\u0936\u0928\u093f\u092c\u093e\u0930".split("_"),weekdaysShort:"\u0906\u0907\u0924._\u0938\u094b\u092e._\u092e\u0919\u094d\u0917\u0932._\u092c\u0941\u0927._\u092c\u093f\u0939\u093f._\u0936\u0941\u0915\u094d\u0930._\u0936\u0928\u093f.".split("_"),weekdaysMin:"\u0906._\u0938\u094b._\u092e\u0902._\u092c\u0941._\u092c\u093f._\u0936\u0941._\u0936.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A\u0915\u094b h:mm \u092c\u091c\u0947",LTS:"A\u0915\u094b h:mm:ss \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A\u0915\u094b h:mm \u092c\u091c\u0947",LLLL:"dddd, D MMMM YYYY, A\u0915\u094b h:mm \u092c\u091c\u0947"},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return un[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return mn[e]})},meridiemParse:/\u0930\u093e\u0924\u093f|\u092c\u093f\u0939\u093e\u0928|\u0926\u093f\u0909\u0901\u0938\u094b|\u0938\u093e\u0901\u091d/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924\u093f"===a?e<4?e:e+12:"\u092c\u093f\u0939\u093e\u0928"===a?e:"\u0926\u093f\u0909\u0901\u0938\u094b"===a?10<=e?e:e+12:"\u0938\u093e\u0901\u091d"===a?e+12:void 0},meridiem:function(e,a,t){return e<3?"\u0930\u093e\u0924\u093f":e<12?"\u092c\u093f\u0939\u093e\u0928":e<16?"\u0926\u093f\u0909\u0901\u0938\u094b":e<20?"\u0938\u093e\u0901\u091d":"\u0930\u093e\u0924\u093f"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u092d\u094b\u0932\u093f] LT",nextWeek:"[\u0906\u0909\u0901\u0926\u094b] dddd[,] LT",lastDay:"[\u0939\u093f\u091c\u094b] LT",lastWeek:"[\u0917\u090f\u0915\u094b] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u093e",past:"%s \u0905\u0917\u093e\u0921\u093f",s:"\u0915\u0947\u0939\u0940 \u0915\u094d\u0937\u0923",ss:"%d \u0938\u0947\u0915\u0947\u0923\u094d\u0921",m:"\u090f\u0915 \u092e\u093f\u0928\u0947\u091f",mm:"%d \u092e\u093f\u0928\u0947\u091f",h:"\u090f\u0915 \u0918\u0923\u094d\u091f\u093e",hh:"%d \u0918\u0923\u094d\u091f\u093e",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u093f\u0928\u093e",MM:"%d \u092e\u0939\u093f\u0928\u093e",y:"\u090f\u0915 \u092c\u0930\u094d\u0937",yy:"%d \u092c\u0930\u094d\u0937"},week:{dow:0,doy:6}}),"jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_")),Mn="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),_=[/^jan/i,/^feb/i,/^(maart|mrt\.?)$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],Ie=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,hn=(c.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?Mn:ln)[e.month()]:ln},monthsRegex:Ie,monthsShortRegex:Ie,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:_,longMonthsParse:_,shortMonthsParse:_,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}}),"jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_")),cn="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),Ye=[/^jan/i,/^feb/i,/^(maart|mrt\.?)$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],ye=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,Ln=(c.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?cn:hn)[e.month()]:hn},monthsRegex:ye,monthsShortRegex:ye,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:Ye,longMonthsParse:Ye,shortMonthsParse:Ye,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",w:"\xe9\xe9n week",ww:"%d weken",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}}),c.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"sundag_m\xe5ndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"su._m\xe5._ty._on._to._fr._lau.".split("_"),weekdaysMin:"su_m\xe5_ty_on_to_fr_la".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I g\xe5r klokka] LT",lastWeek:"[F\xf8reg\xe5ande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",ss:"%d sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",w:"ei veke",ww:"%d veker",M:"ein m\xe5nad",MM:"%d m\xe5nader",y:"eit \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("oc-lnc",{months:{standalone:"geni\xe8r_febri\xe8r_mar\xe7_abril_mai_junh_julhet_agost_setembre_oct\xf2bre_novembre_decembre".split("_"),format:"de geni\xe8r_de febri\xe8r_de mar\xe7_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'oct\xf2bre_de novembre_de decembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._mar\xe7_abr._mai_junh_julh._ago._set._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"dimenge_diluns_dimars_dim\xe8cres_dij\xf2us_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dm._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dm_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:"[u\xe8i a] LT",nextDay:"[deman a] LT",nextWeek:"dddd [a] LT",lastDay:"[i\xe8r a] LT",lastWeek:"dddd [passat a] LT",sameElse:"L"},relativeTime:{future:"d'aqu\xed %s",past:"fa %s",s:"unas segondas",ss:"%d segondas",m:"una minuta",mm:"%d minutas",h:"una ora",hh:"%d oras",d:"un jorn",dd:"%d jorns",M:"un mes",MM:"%d meses",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|\xe8|a)/,ordinal:function(e,a){return e+("w"!==a&&"W"!==a?1===e?"r":2===e?"n":3===e?"r":4===e?"t":"\xe8":"a")},week:{dow:1,doy:4}}),{1:"\u0a67",2:"\u0a68",3:"\u0a69",4:"\u0a6a",5:"\u0a6b",6:"\u0a6c",7:"\u0a6d",8:"\u0a6e",9:"\u0a6f",0:"\u0a66"}),Yn={"\u0a67":"1","\u0a68":"2","\u0a69":"3","\u0a6a":"4","\u0a6b":"5","\u0a6c":"6","\u0a6d":"7","\u0a6e":"8","\u0a6f":"9","\u0a66":"0"},yn=(c.defineLocale("pa-in",{months:"\u0a1c\u0a28\u0a35\u0a30\u0a40_\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40_\u0a2e\u0a3e\u0a30\u0a1a_\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32_\u0a2e\u0a08_\u0a1c\u0a42\u0a28_\u0a1c\u0a41\u0a32\u0a3e\u0a08_\u0a05\u0a17\u0a38\u0a24_\u0a38\u0a24\u0a70\u0a2c\u0a30_\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30_\u0a28\u0a35\u0a70\u0a2c\u0a30_\u0a26\u0a38\u0a70\u0a2c\u0a30".split("_"),monthsShort:"\u0a1c\u0a28\u0a35\u0a30\u0a40_\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40_\u0a2e\u0a3e\u0a30\u0a1a_\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32_\u0a2e\u0a08_\u0a1c\u0a42\u0a28_\u0a1c\u0a41\u0a32\u0a3e\u0a08_\u0a05\u0a17\u0a38\u0a24_\u0a38\u0a24\u0a70\u0a2c\u0a30_\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30_\u0a28\u0a35\u0a70\u0a2c\u0a30_\u0a26\u0a38\u0a70\u0a2c\u0a30".split("_"),weekdays:"\u0a10\u0a24\u0a35\u0a3e\u0a30_\u0a38\u0a4b\u0a2e\u0a35\u0a3e\u0a30_\u0a2e\u0a70\u0a17\u0a32\u0a35\u0a3e\u0a30_\u0a2c\u0a41\u0a27\u0a35\u0a3e\u0a30_\u0a35\u0a40\u0a30\u0a35\u0a3e\u0a30_\u0a38\u0a3c\u0a41\u0a71\u0a15\u0a30\u0a35\u0a3e\u0a30_\u0a38\u0a3c\u0a28\u0a40\u0a1a\u0a30\u0a35\u0a3e\u0a30".split("_"),weekdaysShort:"\u0a10\u0a24_\u0a38\u0a4b\u0a2e_\u0a2e\u0a70\u0a17\u0a32_\u0a2c\u0a41\u0a27_\u0a35\u0a40\u0a30_\u0a38\u0a3c\u0a41\u0a15\u0a30_\u0a38\u0a3c\u0a28\u0a40".split("_"),weekdaysMin:"\u0a10\u0a24_\u0a38\u0a4b\u0a2e_\u0a2e\u0a70\u0a17\u0a32_\u0a2c\u0a41\u0a27_\u0a35\u0a40\u0a30_\u0a38\u0a3c\u0a41\u0a15\u0a30_\u0a38\u0a3c\u0a28\u0a40".split("_"),longDateFormat:{LT:"A h:mm \u0a35\u0a1c\u0a47",LTS:"A h:mm:ss \u0a35\u0a1c\u0a47",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0a35\u0a1c\u0a47",LLLL:"dddd, D MMMM YYYY, A h:mm \u0a35\u0a1c\u0a47"},calendar:{sameDay:"[\u0a05\u0a1c] LT",nextDay:"[\u0a15\u0a32] LT",nextWeek:"[\u0a05\u0a17\u0a32\u0a3e] dddd, LT",lastDay:"[\u0a15\u0a32] LT",lastWeek:"[\u0a2a\u0a3f\u0a1b\u0a32\u0a47] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0a35\u0a3f\u0a71\u0a1a",past:"%s \u0a2a\u0a3f\u0a1b\u0a32\u0a47",s:"\u0a15\u0a41\u0a1d \u0a38\u0a15\u0a3f\u0a70\u0a1f",ss:"%d \u0a38\u0a15\u0a3f\u0a70\u0a1f",m:"\u0a07\u0a15 \u0a2e\u0a3f\u0a70\u0a1f",mm:"%d \u0a2e\u0a3f\u0a70\u0a1f",h:"\u0a07\u0a71\u0a15 \u0a18\u0a70\u0a1f\u0a3e",hh:"%d \u0a18\u0a70\u0a1f\u0a47",d:"\u0a07\u0a71\u0a15 \u0a26\u0a3f\u0a28",dd:"%d \u0a26\u0a3f\u0a28",M:"\u0a07\u0a71\u0a15 \u0a2e\u0a39\u0a40\u0a28\u0a3e",MM:"%d \u0a2e\u0a39\u0a40\u0a28\u0a47",y:"\u0a07\u0a71\u0a15 \u0a38\u0a3e\u0a32",yy:"%d \u0a38\u0a3e\u0a32"},preparse:function(e){return e.replace(/[\u0a67\u0a68\u0a69\u0a6a\u0a6b\u0a6c\u0a6d\u0a6e\u0a6f\u0a66]/g,function(e){return Yn[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Ln[e]})},meridiemParse:/\u0a30\u0a3e\u0a24|\u0a38\u0a35\u0a47\u0a30|\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30|\u0a38\u0a3c\u0a3e\u0a2e/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0a30\u0a3e\u0a24"===a?e<4?e:e+12:"\u0a38\u0a35\u0a47\u0a30"===a?e:"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30"===a?10<=e?e:e+12:"\u0a38\u0a3c\u0a3e\u0a2e"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0a30\u0a3e\u0a24":e<10?"\u0a38\u0a35\u0a47\u0a30":e<17?"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30":e<20?"\u0a38\u0a3c\u0a3e\u0a2e":"\u0a30\u0a3e\u0a24"},week:{dow:0,doy:6}}),"stycze\u0144_luty_marzec_kwiecie\u0144_maj_czerwiec_lipiec_sierpie\u0144_wrzesie\u0144_pa\u017adziernik_listopad_grudzie\u0144".split("_")),fn="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrze\u015bnia_pa\u017adziernika_listopada_grudnia".split("_"),na=[/^sty/i,/^lut/i,/^mar/i,/^kwi/i,/^maj/i,/^cze/i,/^lip/i,/^sie/i,/^wrz/i,/^pa\u017a/i,/^lis/i,/^gru/i];function kn(e){return e%10<5&&1<e%10&&~~(e/10)%10!=1}function pn(e,a,t){var s=e+" ";switch(t){case"ss":return s+(kn(e)?"sekundy":"sekund");case"m":return a?"minuta":"minut\u0119";case"mm":return s+(kn(e)?"minuty":"minut");case"h":return a?"godzina":"godzin\u0119";case"hh":return s+(kn(e)?"godziny":"godzin");case"ww":return s+(kn(e)?"tygodnie":"tygodni");case"MM":return s+(kn(e)?"miesi\u0105ce":"miesi\u0119cy");case"yy":return s+(kn(e)?"lata":"lat")}}function Dn(e,a,t){return e+(20<=e%100||100<=e&&e%100==0?" de ":" ")+{ss:"secunde",mm:"minute",hh:"ore",dd:"zile",ww:"s\u0103pt\u0103m\xe2ni",MM:"luni",yy:"ani"}[t]}function Tn(e,a,t){return"m"===t?a?"\u043c\u0438\u043d\u0443\u0442\u0430":"\u043c\u0438\u043d\u0443\u0442\u0443":e+" "+(e=+e,a=(a={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u043c\u0438\u043d\u0443\u0442\u0430_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442":"\u043c\u0438\u043d\u0443\u0442\u0443_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442",hh:"\u0447\u0430\u0441_\u0447\u0430\u0441\u0430_\u0447\u0430\u0441\u043e\u0432",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u044f_\u0434\u043d\u0435\u0439",ww:"\u043d\u0435\u0434\u0435\u043b\u044f_\u043d\u0435\u0434\u0435\u043b\u0438_\u043d\u0435\u0434\u0435\u043b\u044c",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u0430_\u043c\u0435\u0441\u044f\u0446\u0435\u0432",yy:"\u0433\u043e\u0434_\u0433\u043e\u0434\u0430_\u043b\u0435\u0442"}[t]).split("_"),e%10==1&&e%100!=11?a[0]:2<=e%10&&e%10<=4&&(e%100<10||20<=e%100)?a[1]:a[2])}c.defineLocale("pl",{months:function(e,a){return e?(/D MMMM/.test(a)?fn:yn)[e.month()]:yn},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_pa\u017a_lis_gru".split("_"),monthsParse:na,longMonthsParse:na,shortMonthsParse:na,weekdays:"niedziela_poniedzia\u0142ek_wtorek_\u015broda_czwartek_pi\u0105tek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_\u015br_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_\u015ar_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dzi\u015b o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedziel\u0119 o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W \u015brod\u0119 o] LT";case 6:return"[W sobot\u0119 o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zesz\u0142\u0105 niedziel\u0119 o] LT";case 3:return"[W zesz\u0142\u0105 \u015brod\u0119 o] LT";case 6:return"[W zesz\u0142\u0105 sobot\u0119 o] LT";default:return"[W zesz\u0142y] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:pn,m:pn,mm:pn,h:pn,hh:pn,d:"1 dzie\u0144",dd:"%d dni",w:"tydzie\u0144",ww:pn,M:"miesi\u0105c",MM:pn,y:"rok",yy:pn},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("pt-br",{months:"janeiro_fevereiro_mar\xe7o_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"domingo_segunda-feira_ter\xe7a-feira_quarta-feira_quinta-feira_sexta-feira_s\xe1bado".split("_"),weekdaysShort:"dom_seg_ter_qua_qui_sex_s\xe1b".split("_"),weekdaysMin:"do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [\xe0s] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [\xe0s] HH:mm"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"poucos segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",invalidDate:"Data inv\xe1lida"}),c.defineLocale("pt",{months:"janeiro_fevereiro_mar\xe7o_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Ter\xe7a-feira_Quarta-feira_Quinta-feira_Sexta-feira_S\xe1bado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_S\xe1b".split("_"),weekdaysMin:"Do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",w:"uma semana",ww:"%d semanas",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),c.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminic\u0103_luni_mar\u021bi_miercuri_joi_vineri_s\xe2mb\u0103t\u0103".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_S\xe2m".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_S\xe2".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[m\xe2ine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s \xeen urm\u0103",s:"c\xe2teva secunde",ss:Dn,m:"un minut",mm:Dn,h:"o or\u0103",hh:Dn,d:"o zi",dd:Dn,w:"o s\u0103pt\u0103m\xe2n\u0103",ww:Dn,M:"o lun\u0103",MM:Dn,y:"un an",yy:Dn},week:{dow:1,doy:7}});t=[/^\u044f\u043d\u0432/i,/^\u0444\u0435\u0432/i,/^\u043c\u0430\u0440/i,/^\u0430\u043f\u0440/i,/^\u043c\u0430[\u0439\u044f]/i,/^\u0438\u044e\u043d/i,/^\u0438\u044e\u043b/i,/^\u0430\u0432\u0433/i,/^\u0441\u0435\u043d/i,/^\u043e\u043a\u0442/i,/^\u043d\u043e\u044f/i,/^\u0434\u0435\u043a/i],c.defineLocale("ru",{months:{format:"\u044f\u043d\u0432\u0430\u0440\u044f_\u0444\u0435\u0432\u0440\u0430\u043b\u044f_\u043c\u0430\u0440\u0442\u0430_\u0430\u043f\u0440\u0435\u043b\u044f_\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433\u0443\u0441\u0442\u0430_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f_\u043e\u043a\u0442\u044f\u0431\u0440\u044f_\u043d\u043e\u044f\u0431\u0440\u044f_\u0434\u0435\u043a\u0430\u0431\u0440\u044f".split("_"),standalone:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_")},monthsShort:{format:"\u044f\u043d\u0432._\u0444\u0435\u0432\u0440._\u043c\u0430\u0440._\u0430\u043f\u0440._\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433._\u0441\u0435\u043d\u0442._\u043e\u043a\u0442._\u043d\u043e\u044f\u0431._\u0434\u0435\u043a.".split("_"),standalone:"\u044f\u043d\u0432._\u0444\u0435\u0432\u0440._\u043c\u0430\u0440\u0442_\u0430\u043f\u0440._\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433._\u0441\u0435\u043d\u0442._\u043e\u043a\u0442._\u043d\u043e\u044f\u0431._\u0434\u0435\u043a.".split("_")},weekdays:{standalone:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0430_\u0441\u0443\u0431\u0431\u043e\u0442\u0430".split("_"),format:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0443_\u0441\u0443\u0431\u0431\u043e\u0442\u0443".split("_"),isFormat:/\[ ?[\u0412\u0432] ?(?:\u043f\u0440\u043e\u0448\u043b\u0443\u044e|\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e|\u044d\u0442\u0443)? ?] ?dddd/},weekdaysShort:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),monthsParse:t,longMonthsParse:t,shortMonthsParse:t,monthsRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044c\u044f]|\u044f\u043d\u0432\.?|\u0444\u0435\u0432\u0440\u0430\u043b[\u044c\u044f]|\u0444\u0435\u0432\u0440?\.?|\u043c\u0430\u0440\u0442\u0430?|\u043c\u0430\u0440\.?|\u0430\u043f\u0440\u0435\u043b[\u044c\u044f]|\u0430\u043f\u0440\.?|\u043c\u0430[\u0439\u044f]|\u0438\u044e\u043d[\u044c\u044f]|\u0438\u044e\u043d\.?|\u0438\u044e\u043b[\u044c\u044f]|\u0438\u044e\u043b\.?|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0430\u0432\u0433\.?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044c\u044f]|\u0441\u0435\u043d\u0442?\.?|\u043e\u043a\u0442\u044f\u0431\u0440[\u044c\u044f]|\u043e\u043a\u0442\.?|\u043d\u043e\u044f\u0431\u0440[\u044c\u044f]|\u043d\u043e\u044f\u0431?\.?|\u0434\u0435\u043a\u0430\u0431\u0440[\u044c\u044f]|\u0434\u0435\u043a\.?)/i,monthsShortRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044c\u044f]|\u044f\u043d\u0432\.?|\u0444\u0435\u0432\u0440\u0430\u043b[\u044c\u044f]|\u0444\u0435\u0432\u0440?\.?|\u043c\u0430\u0440\u0442\u0430?|\u043c\u0430\u0440\.?|\u0430\u043f\u0440\u0435\u043b[\u044c\u044f]|\u0430\u043f\u0440\.?|\u043c\u0430[\u0439\u044f]|\u0438\u044e\u043d[\u044c\u044f]|\u0438\u044e\u043d\.?|\u0438\u044e\u043b[\u044c\u044f]|\u0438\u044e\u043b\.?|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0430\u0432\u0433\.?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044c\u044f]|\u0441\u0435\u043d\u0442?\.?|\u043e\u043a\u0442\u044f\u0431\u0440[\u044c\u044f]|\u043e\u043a\u0442\.?|\u043d\u043e\u044f\u0431\u0440[\u044c\u044f]|\u043d\u043e\u044f\u0431?\.?|\u0434\u0435\u043a\u0430\u0431\u0440[\u044c\u044f]|\u0434\u0435\u043a\.?)/i,monthsStrictRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044f\u044c]|\u0444\u0435\u0432\u0440\u0430\u043b[\u044f\u044c]|\u043c\u0430\u0440\u0442\u0430?|\u0430\u043f\u0440\u0435\u043b[\u044f\u044c]|\u043c\u0430[\u044f\u0439]|\u0438\u044e\u043d[\u044f\u044c]|\u0438\u044e\u043b[\u044f\u044c]|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044f\u044c]|\u043e\u043a\u0442\u044f\u0431\u0440[\u044f\u044c]|\u043d\u043e\u044f\u0431\u0440[\u044f\u044c]|\u0434\u0435\u043a\u0430\u0431\u0440[\u044f\u044c])/i,monthsShortStrictRegex:/^(\u044f\u043d\u0432\.|\u0444\u0435\u0432\u0440?\.|\u043c\u0430\u0440[\u0442.]|\u0430\u043f\u0440\.|\u043c\u0430[\u044f\u0439]|\u0438\u044e\u043d[\u044c\u044f.]|\u0438\u044e\u043b[\u044c\u044f.]|\u0430\u0432\u0433\.|\u0441\u0435\u043d\u0442?\.|\u043e\u043a\u0442\.|\u043d\u043e\u044f\u0431?\.|\u0434\u0435\u043a\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., H:mm",LLLL:"dddd, D MMMM YYYY \u0433., H:mm"},calendar:{sameDay:"[\u0421\u0435\u0433\u043e\u0434\u043d\u044f, \u0432] LT",nextDay:"[\u0417\u0430\u0432\u0442\u0440\u0430, \u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430, \u0432] LT",nextWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[\u0412\u043e] dddd, [\u0432] LT":"[\u0412] dddd, [\u0432] LT";switch(this.day()){case 0:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435] dddd, [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439] dddd, [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e] dddd, [\u0432] LT"}},lastWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[\u0412\u043e] dddd, [\u0432] LT":"[\u0412] dddd, [\u0432] LT";switch(this.day()){case 0:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0435] dddd, [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u044b\u0439] dddd, [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u0443\u044e] dddd, [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0447\u0435\u0440\u0435\u0437 %s",past:"%s \u043d\u0430\u0437\u0430\u0434",s:"\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434",ss:Tn,m:Tn,mm:Tn,h:"\u0447\u0430\u0441",hh:Tn,d:"\u0434\u0435\u043d\u044c",dd:Tn,w:"\u043d\u0435\u0434\u0435\u043b\u044f",ww:Tn,M:"\u043c\u0435\u0441\u044f\u0446",MM:Tn,y:"\u0433\u043e\u0434",yy:Tn},meridiemParse:/\u043d\u043e\u0447\u0438|\u0443\u0442\u0440\u0430|\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430/i,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430)$/.test(e)},meridiem:function(e,a,t){return e<4?"\u043d\u043e\u0447\u0438":e<12?"\u0443\u0442\u0440\u0430":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0435\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e|\u044f)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":return e+"-\u0439";case"D":return e+"-\u0433\u043e";case"w":case"W":return e+"-\u044f";default:return e}},week:{dow:1,doy:4}}),m=["\u062c\u0646\u0648\u0631\u064a","\u0641\u064a\u0628\u0631\u0648\u0631\u064a","\u0645\u0627\u0631\u0686","\u0627\u067e\u0631\u064a\u0644","\u0645\u0626\u064a","\u062c\u0648\u0646","\u062c\u0648\u0644\u0627\u0621\u0650","\u0622\u06af\u0633\u067d","\u0633\u064a\u067e\u067d\u0645\u0628\u0631","\u0622\u06aa\u067d\u0648\u0628\u0631","\u0646\u0648\u0645\u0628\u0631","\u068a\u0633\u0645\u0628\u0631"],o=["\u0622\u0686\u0631","\u0633\u0648\u0645\u0631","\u0627\u06b1\u0627\u0631\u0648","\u0627\u0631\u0628\u0639","\u062e\u0645\u064a\u0633","\u062c\u0645\u0639","\u0687\u0646\u0687\u0631"],c.defineLocale("sd",{months:m,monthsShort:m,weekdays:o,weekdaysShort:o,weekdaysMin:o,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd\u060c D MMMM YYYY HH:mm"},meridiemParse:/\u0635\u0628\u062d|\u0634\u0627\u0645/,isPM:function(e){return"\u0634\u0627\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635\u0628\u062d":"\u0634\u0627\u0645"},calendar:{sameDay:"[\u0627\u0684] LT",nextDay:"[\u0633\u0680\u0627\u06bb\u064a] LT",nextWeek:"dddd [\u0627\u06b3\u064a\u0646 \u0647\u0641\u062a\u064a \u062a\u064a] LT",lastDay:"[\u06aa\u0627\u0644\u0647\u0647] LT",lastWeek:"[\u06af\u0632\u0631\u064a\u0644 \u0647\u0641\u062a\u064a] dddd [\u062a\u064a] LT",sameElse:"L"},relativeTime:{future:"%s \u067e\u0648\u0621",past:"%s \u0627\u06b3",s:"\u0686\u0646\u062f \u0633\u064a\u06aa\u0646\u068a",ss:"%d \u0633\u064a\u06aa\u0646\u068a",m:"\u0647\u06aa \u0645\u0646\u067d",mm:"%d \u0645\u0646\u067d",h:"\u0647\u06aa \u06aa\u0644\u0627\u06aa",hh:"%d \u06aa\u0644\u0627\u06aa",d:"\u0647\u06aa \u068f\u064a\u0646\u0647\u0646",dd:"%d \u068f\u064a\u0646\u0647\u0646",M:"\u0647\u06aa \u0645\u0647\u064a\u0646\u0648",MM:"%d \u0645\u0647\u064a\u0646\u0627",y:"\u0647\u06aa \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:4}}),c.defineLocale("se",{months:"o\u0111\u0111ajagem\xe1nnu_guovvam\xe1nnu_njuk\u010dam\xe1nnu_cuo\u014bom\xe1nnu_miessem\xe1nnu_geassem\xe1nnu_suoidnem\xe1nnu_borgem\xe1nnu_\u010dak\u010dam\xe1nnu_golggotm\xe1nnu_sk\xe1bmam\xe1nnu_juovlam\xe1nnu".split("_"),monthsShort:"o\u0111\u0111j_guov_njuk_cuo_mies_geas_suoi_borg_\u010dak\u010d_golg_sk\xe1b_juov".split("_"),weekdays:"sotnabeaivi_vuoss\xe1rga_ma\u014b\u014beb\xe1rga_gaskavahkku_duorastat_bearjadat_l\xe1vvardat".split("_"),weekdaysShort:"sotn_vuos_ma\u014b_gask_duor_bear_l\xe1v".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s gea\u017ees",past:"ma\u014bit %s",s:"moadde sekunddat",ss:"%d sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta m\xe1nnu",MM:"%d m\xe1nut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("si",{months:"\u0da2\u0db1\u0dc0\u0dcf\u0dbb\u0dd2_\u0db4\u0dd9\u0db6\u0dbb\u0dc0\u0dcf\u0dbb\u0dd2_\u0db8\u0dcf\u0dbb\u0dca\u0dad\u0dd4_\u0d85\u0db4\u0dca\u200d\u0dbb\u0dda\u0dbd\u0dca_\u0db8\u0dd0\u0dba\u0dd2_\u0da2\u0dd6\u0db1\u0dd2_\u0da2\u0dd6\u0dbd\u0dd2_\u0d85\u0d9c\u0ddd\u0dc3\u0dca\u0dad\u0dd4_\u0dc3\u0dd0\u0db4\u0dca\u0dad\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca_\u0d94\u0d9a\u0dca\u0dad\u0ddd\u0db6\u0dbb\u0dca_\u0db1\u0ddc\u0dc0\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca_\u0daf\u0dd9\u0dc3\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca".split("_"),monthsShort:"\u0da2\u0db1_\u0db4\u0dd9\u0db6_\u0db8\u0dcf\u0dbb\u0dca_\u0d85\u0db4\u0dca_\u0db8\u0dd0\u0dba\u0dd2_\u0da2\u0dd6\u0db1\u0dd2_\u0da2\u0dd6\u0dbd\u0dd2_\u0d85\u0d9c\u0ddd_\u0dc3\u0dd0\u0db4\u0dca_\u0d94\u0d9a\u0dca_\u0db1\u0ddc\u0dc0\u0dd0_\u0daf\u0dd9\u0dc3\u0dd0".split("_"),weekdays:"\u0d89\u0dbb\u0dd2\u0daf\u0dcf_\u0dc3\u0db3\u0dd4\u0daf\u0dcf_\u0d85\u0d9f\u0dc4\u0dbb\u0dd4\u0dc0\u0dcf\u0daf\u0dcf_\u0db6\u0daf\u0dcf\u0daf\u0dcf_\u0db6\u0dca\u200d\u0dbb\u0dc4\u0dc3\u0dca\u0db4\u0dad\u0dd2\u0db1\u0dca\u0daf\u0dcf_\u0dc3\u0dd2\u0d9a\u0dd4\u0dbb\u0dcf\u0daf\u0dcf_\u0dc3\u0dd9\u0db1\u0dc3\u0dd4\u0dbb\u0dcf\u0daf\u0dcf".split("_"),weekdaysShort:"\u0d89\u0dbb\u0dd2_\u0dc3\u0db3\u0dd4_\u0d85\u0d9f_\u0db6\u0daf\u0dcf_\u0db6\u0dca\u200d\u0dbb\u0dc4_\u0dc3\u0dd2\u0d9a\u0dd4_\u0dc3\u0dd9\u0db1".split("_"),weekdaysMin:"\u0d89_\u0dc3_\u0d85_\u0db6_\u0db6\u0dca\u200d\u0dbb_\u0dc3\u0dd2_\u0dc3\u0dd9".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [\u0dc0\u0dd0\u0db1\u0dd2] dddd, a h:mm:ss"},calendar:{sameDay:"[\u0d85\u0daf] LT[\u0da7]",nextDay:"[\u0dc4\u0dd9\u0da7] LT[\u0da7]",nextWeek:"dddd LT[\u0da7]",lastDay:"[\u0d8a\u0dba\u0dda] LT[\u0da7]",lastWeek:"[\u0db4\u0dc3\u0dd4\u0d9c\u0dd2\u0dba] dddd LT[\u0da7]",sameElse:"L"},relativeTime:{future:"%s\u0d9a\u0dd2\u0db1\u0dca",past:"%s\u0d9a\u0da7 \u0db4\u0dd9\u0dbb",s:"\u0dad\u0dad\u0dca\u0db4\u0dbb \u0d9a\u0dd2\u0dc4\u0dd2\u0db4\u0dba",ss:"\u0dad\u0dad\u0dca\u0db4\u0dbb %d",m:"\u0db8\u0dd2\u0db1\u0dd2\u0dad\u0dca\u0dad\u0dd4\u0dc0",mm:"\u0db8\u0dd2\u0db1\u0dd2\u0dad\u0dca\u0dad\u0dd4 %d",h:"\u0db4\u0dd0\u0dba",hh:"\u0db4\u0dd0\u0dba %d",d:"\u0daf\u0dd2\u0db1\u0dba",dd:"\u0daf\u0dd2\u0db1 %d",M:"\u0db8\u0dcf\u0dc3\u0dba",MM:"\u0db8\u0dcf\u0dc3 %d",y:"\u0dc0\u0dc3\u0dbb",yy:"\u0dc0\u0dc3\u0dbb %d"},dayOfMonthOrdinalParse:/\d{1,2} \u0dc0\u0dd0\u0db1\u0dd2/,ordinal:function(e){return e+" \u0dc0\u0dd0\u0db1\u0dd2"},meridiemParse:/\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4|\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4|\u0db4\u0dd9.\u0dc0|\u0db4.\u0dc0./,isPM:function(e){return"\u0db4.\u0dc0."===e||"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4"===e},meridiem:function(e,a,t){return 11<e?t?"\u0db4.\u0dc0.":"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4":t?"\u0db4\u0dd9.\u0dc0.":"\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4"}}),n="janu\xe1r_febru\xe1r_marec_apr\xedl_m\xe1j_j\xfan_j\xfal_august_september_okt\xf3ber_november_december".split("_"),ze="jan_feb_mar_apr_m\xe1j_j\xfan_j\xfal_aug_sep_okt_nov_dec".split("_");function gn(e){return 1<e&&e<5}function wn(e,a,t,s){var n=e+" ";switch(t){case"s":return a||s?"p\xe1r sek\xfand":"p\xe1r sekundami";case"ss":return a||s?n+(gn(e)?"sekundy":"sek\xfand"):n+"sekundami";case"m":return a?"min\xfata":s?"min\xfatu":"min\xfatou";case"mm":return a||s?n+(gn(e)?"min\xfaty":"min\xfat"):n+"min\xfatami";case"h":return a?"hodina":s?"hodinu":"hodinou";case"hh":return a||s?n+(gn(e)?"hodiny":"hod\xedn"):n+"hodinami";case"d":return a||s?"de\u0148":"d\u0148om";case"dd":return a||s?n+(gn(e)?"dni":"dn\xed"):n+"d\u0148ami";case"M":return a||s?"mesiac":"mesiacom";case"MM":return a||s?n+(gn(e)?"mesiace":"mesiacov"):n+"mesiacmi";case"y":return a||s?"rok":"rokom";case"yy":return a||s?n+(gn(e)?"roky":"rokov"):n+"rokmi"}}function bn(e,a,t,s){var n=e+" ";switch(t){case"s":return a||s?"nekaj sekund":"nekaj sekundami";case"ss":return n+=1===e?a?"sekundo":"sekundi":2===e?a||s?"sekundi":"sekundah":e<5?a||s?"sekunde":"sekundah":"sekund";case"m":return a?"ena minuta":"eno minuto";case"mm":return n+=1===e?a?"minuta":"minuto":2===e?a||s?"minuti":"minutama":e<5?a||s?"minute":"minutami":a||s?"minut":"minutami";case"h":return a?"ena ura":"eno uro";case"hh":return n+=1===e?a?"ura":"uro":2===e?a||s?"uri":"urama":e<5?a||s?"ure":"urami":a||s?"ur":"urami";case"d":return a||s?"en dan":"enim dnem";case"dd":return n+=1===e?a||s?"dan":"dnem":2===e?a||s?"dni":"dnevoma":a||s?"dni":"dnevi";case"M":return a||s?"en mesec":"enim mesecem";case"MM":return n+=1===e?a||s?"mesec":"mesecem":2===e?a||s?"meseca":"mesecema":e<5?a||s?"mesece":"meseci":a||s?"mesecev":"meseci";case"y":return a||s?"eno leto":"enim letom";case"yy":return n+=1===e?a||s?"leto":"letom":2===e?a||s?"leti":"letoma":e<5?a||s?"leta":"leti":a||s?"let":"leti"}}c.defineLocale("sk",{months:n,monthsShort:ze,weekdays:"nede\u013ea_pondelok_utorok_streda_\u0161tvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_\u0161t_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_\u0161t_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nede\u013eu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo \u0161tvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[v\u010dera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minul\xfa nede\u013eu o] LT";case 1:case 2:return"[minul\xfd] dddd [o] LT";case 3:return"[minul\xfa stredu o] LT";case 4:case 5:return"[minul\xfd] dddd [o] LT";case 6:return"[minul\xfa sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:wn,ss:wn,m:wn,mm:wn,h:wn,hh:wn,d:wn,dd:wn,M:wn,MM:wn,y:wn,yy:wn},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_\u010detrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._\u010det._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_\u010de_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[v\u010deraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prej\u0161njo] [nedeljo] [ob] LT";case 3:return"[prej\u0161njo] [sredo] [ob] LT";case 6:return"[prej\u0161njo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prej\u0161nji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"\u010dez %s",past:"pred %s",s:bn,ss:bn,m:bn,mm:bn,h:bn,hh:bn,d:bn,dd:bn,M:bn,MM:bn,y:bn,yy:bn},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),c.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_N\xebntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_N\xebn_Dhj".split("_"),weekdays:"E Diel_E H\xebn\xeb_E Mart\xeb_E M\xebrkur\xeb_E Enjte_E Premte_E Shtun\xeb".split("_"),weekdaysShort:"Die_H\xebn_Mar_M\xebr_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_M\xeb_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(e){return"M"===e.charAt(0)},meridiem:function(e,a,t){return e<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot n\xeb] LT",nextDay:"[Nes\xebr n\xeb] LT",nextWeek:"dddd [n\xeb] LT",lastDay:"[Dje n\xeb] LT",lastWeek:"dddd [e kaluar n\xeb] LT",sameElse:"L"},relativeTime:{future:"n\xeb %s",past:"%s m\xeb par\xeb",s:"disa sekonda",ss:"%d sekonda",m:"nj\xeb minut\xeb",mm:"%d minuta",h:"nj\xeb or\xeb",hh:"%d or\xeb",d:"nj\xeb dit\xeb",dd:"%d dit\xeb",M:"nj\xeb muaj",MM:"%d muaj",y:"nj\xeb vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var W={words:{ss:["\u0441\u0435\u043a\u0443\u043d\u0434\u0430","\u0441\u0435\u043a\u0443\u043d\u0434\u0435","\u0441\u0435\u043a\u0443\u043d\u0434\u0438"],m:["\u0458\u0435\u0434\u0430\u043d \u043c\u0438\u043d\u0443\u0442","\u0458\u0435\u0434\u043d\u043e\u0433 \u043c\u0438\u043d\u0443\u0442\u0430"],mm:["\u043c\u0438\u043d\u0443\u0442","\u043c\u0438\u043d\u0443\u0442\u0430","\u043c\u0438\u043d\u0443\u0442\u0430"],h:["\u0458\u0435\u0434\u0430\u043d \u0441\u0430\u0442","\u0458\u0435\u0434\u043d\u043e\u0433 \u0441\u0430\u0442\u0430"],hh:["\u0441\u0430\u0442","\u0441\u0430\u0442\u0430","\u0441\u0430\u0442\u0438"],d:["\u0458\u0435\u0434\u0430\u043d \u0434\u0430\u043d","\u0458\u0435\u0434\u043d\u043e\u0433 \u0434\u0430\u043d\u0430"],dd:["\u0434\u0430\u043d","\u0434\u0430\u043d\u0430","\u0434\u0430\u043d\u0430"],M:["\u0458\u0435\u0434\u0430\u043d \u043c\u0435\u0441\u0435\u0446","\u0458\u0435\u0434\u043d\u043e\u0433 \u043c\u0435\u0441\u0435\u0446\u0430"],MM:["\u043c\u0435\u0441\u0435\u0446","\u043c\u0435\u0441\u0435\u0446\u0430","\u043c\u0435\u0441\u0435\u0446\u0438"],y:["\u0458\u0435\u0434\u043d\u0443 \u0433\u043e\u0434\u0438\u043d\u0443","\u0458\u0435\u0434\u043d\u0435 \u0433\u043e\u0434\u0438\u043d\u0435"],yy:["\u0433\u043e\u0434\u0438\u043d\u0443","\u0433\u043e\u0434\u0438\u043d\u0435","\u0433\u043e\u0434\u0438\u043d\u0430"]},correctGrammaticalCase:function(e,a){return 1<=e%10&&e%10<=4&&(e%100<10||20<=e%100)?e%10==1?a[0]:a[1]:a[2]},translate:function(e,a,t,s){var n=W.words[t];return 1===t.length?"y"===t&&a?"\u0458\u0435\u0434\u043d\u0430 \u0433\u043e\u0434\u0438\u043d\u0430":s||a?n[0]:n[1]:(s=W.correctGrammaticalCase(e,n),"yy"===t&&a&&"\u0433\u043e\u0434\u0438\u043d\u0443"===s?e+" \u0433\u043e\u0434\u0438\u043d\u0430":e+" "+s)}},A=(c.defineLocale("sr-cyrl",{months:"\u0458\u0430\u043d\u0443\u0430\u0440_\u0444\u0435\u0431\u0440\u0443\u0430\u0440_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0431\u0430\u0440_\u043e\u043a\u0442\u043e\u0431\u0430\u0440_\u043d\u043e\u0432\u0435\u043c\u0431\u0430\u0440_\u0434\u0435\u0446\u0435\u043c\u0431\u0430\u0440".split("_"),monthsShort:"\u0458\u0430\u043d._\u0444\u0435\u0431._\u043c\u0430\u0440._\u0430\u043f\u0440._\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433._\u0441\u0435\u043f._\u043e\u043a\u0442._\u043d\u043e\u0432._\u0434\u0435\u0446.".split("_"),monthsParseExact:!0,weekdays:"\u043d\u0435\u0434\u0435\u0459\u0430_\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u0430\u043a_\u0443\u0442\u043e\u0440\u0430\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0440\u0442\u0430\u043a_\u043f\u0435\u0442\u0430\u043a_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434._\u043f\u043e\u043d._\u0443\u0442\u043e._\u0441\u0440\u0435._\u0447\u0435\u0442._\u043f\u0435\u0442._\u0441\u0443\u0431.".split("_"),weekdaysMin:"\u043d\u0435_\u043f\u043e_\u0443\u0442_\u0441\u0440_\u0447\u0435_\u043f\u0435_\u0441\u0443".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D. M. YYYY.",LL:"D. MMMM YYYY.",LLL:"D. MMMM YYYY. H:mm",LLLL:"dddd, D. MMMM YYYY. H:mm"},calendar:{sameDay:"[\u0434\u0430\u043d\u0430\u0441 \u0443] LT",nextDay:"[\u0441\u0443\u0442\u0440\u0430 \u0443] LT",nextWeek:function(){switch(this.day()){case 0:return"[\u0443] [\u043d\u0435\u0434\u0435\u0459\u0443] [\u0443] LT";case 3:return"[\u0443] [\u0441\u0440\u0435\u0434\u0443] [\u0443] LT";case 6:return"[\u0443] [\u0441\u0443\u0431\u043e\u0442\u0443] [\u0443] LT";case 1:case 2:case 4:case 5:return"[\u0443] dddd [\u0443] LT"}},lastDay:"[\u0458\u0443\u0447\u0435 \u0443] LT",lastWeek:function(){return["[\u043f\u0440\u043e\u0448\u043b\u0435] [\u043d\u0435\u0434\u0435\u0459\u0435] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u0443\u0442\u043e\u0440\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u0435] [\u0441\u0440\u0435\u0434\u0435] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u0447\u0435\u0442\u0432\u0440\u0442\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u043f\u0435\u0442\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u0435] [\u0441\u0443\u0431\u043e\u0442\u0435] [\u0443] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"\u043f\u0440\u0435 %s",s:"\u043d\u0435\u043a\u043e\u043b\u0438\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:W.translate,m:W.translate,mm:W.translate,h:W.translate,hh:W.translate,d:W.translate,dd:W.translate,M:W.translate,MM:W.translate,y:W.translate,yy:W.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),{words:{ss:["sekunda","sekunde","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],d:["jedan dan","jednog dana"],dd:["dan","dana","dana"],M:["jedan mesec","jednog meseca"],MM:["mesec","meseca","meseci"],y:["jednu godinu","jedne godine"],yy:["godinu","godine","godina"]},correctGrammaticalCase:function(e,a){return 1<=e%10&&e%10<=4&&(e%100<10||20<=e%100)?e%10==1?a[0]:a[1]:a[2]},translate:function(e,a,t,s){var n=A.words[t];return 1===t.length?"y"===t&&a?"jedna godina":s||a?n[0]:n[1]:(s=A.correctGrammaticalCase(e,n),"yy"===t&&a&&"godinu"===s?e+" godina":e+" "+s)}}),Hn=(c.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D. M. YYYY.",LL:"D. MMMM YYYY.",LLL:"D. MMMM YYYY. H:mm",LLLL:"dddd, D. MMMM YYYY. H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010de u] LT",lastWeek:function(){return["[pro\u0161le] [nedelje] [u] LT","[pro\u0161log] [ponedeljka] [u] LT","[pro\u0161log] [utorka] [u] LT","[pro\u0161le] [srede] [u] LT","[pro\u0161log] [\u010detvrtka] [u] LT","[pro\u0161log] [petka] [u] LT","[pro\u0161le] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",ss:A.translate,m:A.translate,mm:A.translate,h:A.translate,hh:A.translate,d:A.translate,dd:A.translate,M:A.translate,MM:A.translate,y:A.translate,yy:A.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),c.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",ss:"%d mzuzwana",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(e,a,t){return e<11?"ekuseni":e<15?"emini":e<19?"entsambama":"ebusuku"},meridiemHour:function(e,a){return 12===e&&(e=0),"ekuseni"===a?e:"emini"===a?11<=e?e:e+12:"entsambama"===a||"ebusuku"===a?0===e?0:e+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}}),c.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"s\xf6ndag_m\xe5ndag_tisdag_onsdag_torsdag_fredag_l\xf6rdag".split("_"),weekdaysShort:"s\xf6n_m\xe5n_tis_ons_tor_fre_l\xf6r".split("_"),weekdaysMin:"s\xf6_m\xe5_ti_on_to_fr_l\xf6".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Ig\xe5r] LT",nextWeek:"[P\xe5] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"f\xf6r %s sedan",s:"n\xe5gra sekunder",ss:"%d sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en m\xe5nad",MM:"%d m\xe5nader",y:"ett \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}(\:e|\:a)/,ordinal:function(e){var a=e%10;return e+(1!=~~(e%100/10)&&(1==a||2==a)?":a":":e")},week:{dow:1,doy:4}}),c.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"hh:mm A",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",ss:"sekunde %d",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"siku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}}),{1:"\u0be7",2:"\u0be8",3:"\u0be9",4:"\u0bea",5:"\u0beb",6:"\u0bec",7:"\u0bed",8:"\u0bee",9:"\u0bef",0:"\u0be6"}),Sn={"\u0be7":"1","\u0be8":"2","\u0be9":"3","\u0bea":"4","\u0beb":"5","\u0bec":"6","\u0bed":"7","\u0bee":"8","\u0bef":"9","\u0be6":"0"},vn=(c.defineLocale("ta",{months:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf_\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf_\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd_\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd_\u0bae\u0bc7_\u0b9c\u0bc2\u0ba9\u0bcd_\u0b9c\u0bc2\u0bb2\u0bc8_\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd_\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bc6\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b85\u0b95\u0bcd\u0b9f\u0bc7\u0bbe\u0baa\u0bb0\u0bcd_\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split("_"),monthsShort:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf_\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf_\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd_\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd_\u0bae\u0bc7_\u0b9c\u0bc2\u0ba9\u0bcd_\u0b9c\u0bc2\u0bb2\u0bc8_\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd_\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bc6\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b85\u0b95\u0bcd\u0b9f\u0bc7\u0bbe\u0baa\u0bb0\u0bcd_\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split("_"),weekdays:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bcd\u0bb1\u0bc1\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0b9f\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0baa\u0bc1\u0ba4\u0ba9\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0b9a\u0ba9\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8".split("_"),weekdaysShort:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bc1_\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0bb3\u0bcd_\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd_\u0baa\u0bc1\u0ba4\u0ba9\u0bcd_\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0ba9\u0bcd_\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf_\u0b9a\u0ba9\u0bbf".split("_"),weekdaysMin:"\u0b9e\u0bbe_\u0ba4\u0bbf_\u0b9a\u0bc6_\u0baa\u0bc1_\u0bb5\u0bbf_\u0bb5\u0bc6_\u0b9a".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[\u0b87\u0ba9\u0bcd\u0bb1\u0bc1] LT",nextDay:"[\u0ba8\u0bbe\u0bb3\u0bc8] LT",nextWeek:"dddd, LT",lastDay:"[\u0ba8\u0bc7\u0bb1\u0bcd\u0bb1\u0bc1] LT",lastWeek:"[\u0b95\u0b9f\u0ba8\u0bcd\u0ba4 \u0bb5\u0bbe\u0bb0\u0bae\u0bcd] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0b87\u0bb2\u0bcd",past:"%s \u0bae\u0bc1\u0ba9\u0bcd",s:"\u0b92\u0bb0\u0bc1 \u0b9a\u0bbf\u0bb2 \u0bb5\u0bbf\u0ba8\u0bbe\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",ss:"%d \u0bb5\u0bbf\u0ba8\u0bbe\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",m:"\u0b92\u0bb0\u0bc1 \u0ba8\u0bbf\u0bae\u0bbf\u0b9f\u0bae\u0bcd",mm:"%d \u0ba8\u0bbf\u0bae\u0bbf\u0b9f\u0b99\u0bcd\u0b95\u0bb3\u0bcd",h:"\u0b92\u0bb0\u0bc1 \u0bae\u0ba3\u0bbf \u0ba8\u0bc7\u0bb0\u0bae\u0bcd",hh:"%d \u0bae\u0ba3\u0bbf \u0ba8\u0bc7\u0bb0\u0bae\u0bcd",d:"\u0b92\u0bb0\u0bc1 \u0ba8\u0bbe\u0bb3\u0bcd",dd:"%d \u0ba8\u0bbe\u0b9f\u0bcd\u0b95\u0bb3\u0bcd",M:"\u0b92\u0bb0\u0bc1 \u0bae\u0bbe\u0ba4\u0bae\u0bcd",MM:"%d \u0bae\u0bbe\u0ba4\u0b99\u0bcd\u0b95\u0bb3\u0bcd",y:"\u0b92\u0bb0\u0bc1 \u0bb5\u0bb0\u0bc1\u0b9f\u0bae\u0bcd",yy:"%d \u0b86\u0ba3\u0bcd\u0b9f\u0bc1\u0b95\u0bb3\u0bcd"},dayOfMonthOrdinalParse:/\d{1,2}\u0bb5\u0ba4\u0bc1/,ordinal:function(e){return e+"\u0bb5\u0ba4\u0bc1"},preparse:function(e){return e.replace(/[\u0be7\u0be8\u0be9\u0bea\u0beb\u0bec\u0bed\u0bee\u0bef\u0be6]/g,function(e){return Sn[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Hn[e]})},meridiemParse:/\u0baf\u0bbe\u0bae\u0bae\u0bcd|\u0bb5\u0bc8\u0b95\u0bb1\u0bc8|\u0b95\u0bbe\u0bb2\u0bc8|\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd|\u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1|\u0bae\u0bbe\u0bb2\u0bc8/,meridiem:function(e,a,t){return e<2?" \u0baf\u0bbe\u0bae\u0bae\u0bcd":e<6?" \u0bb5\u0bc8\u0b95\u0bb1\u0bc8":e<10?" \u0b95\u0bbe\u0bb2\u0bc8":e<14?" \u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd":e<18?" \u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1":e<22?" \u0bae\u0bbe\u0bb2\u0bc8":" \u0baf\u0bbe\u0bae\u0bae\u0bcd"},meridiemHour:function(e,a){return 12===e&&(e=0),"\u0baf\u0bbe\u0bae\u0bae\u0bcd"===a?e<2?e:e+12:"\u0bb5\u0bc8\u0b95\u0bb1\u0bc8"===a||"\u0b95\u0bbe\u0bb2\u0bc8"===a||"\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd"===a&&10<=e?e:e+12},week:{dow:0,doy:6}}),c.defineLocale("te",{months:"\u0c1c\u0c28\u0c35\u0c30\u0c3f_\u0c2b\u0c3f\u0c2c\u0c4d\u0c30\u0c35\u0c30\u0c3f_\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f_\u0c0f\u0c2a\u0c4d\u0c30\u0c3f\u0c32\u0c4d_\u0c2e\u0c47_\u0c1c\u0c42\u0c28\u0c4d_\u0c1c\u0c41\u0c32\u0c48_\u0c06\u0c17\u0c38\u0c4d\u0c1f\u0c41_\u0c38\u0c46\u0c2a\u0c4d\u0c1f\u0c46\u0c02\u0c2c\u0c30\u0c4d_\u0c05\u0c15\u0c4d\u0c1f\u0c4b\u0c2c\u0c30\u0c4d_\u0c28\u0c35\u0c02\u0c2c\u0c30\u0c4d_\u0c21\u0c3f\u0c38\u0c46\u0c02\u0c2c\u0c30\u0c4d".split("_"),monthsShort:"\u0c1c\u0c28._\u0c2b\u0c3f\u0c2c\u0c4d\u0c30._\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f_\u0c0f\u0c2a\u0c4d\u0c30\u0c3f._\u0c2e\u0c47_\u0c1c\u0c42\u0c28\u0c4d_\u0c1c\u0c41\u0c32\u0c48_\u0c06\u0c17._\u0c38\u0c46\u0c2a\u0c4d._\u0c05\u0c15\u0c4d\u0c1f\u0c4b._\u0c28\u0c35._\u0c21\u0c3f\u0c38\u0c46.".split("_"),monthsParseExact:!0,weekdays:"\u0c06\u0c26\u0c3f\u0c35\u0c3e\u0c30\u0c02_\u0c38\u0c4b\u0c2e\u0c35\u0c3e\u0c30\u0c02_\u0c2e\u0c02\u0c17\u0c33\u0c35\u0c3e\u0c30\u0c02_\u0c2c\u0c41\u0c27\u0c35\u0c3e\u0c30\u0c02_\u0c17\u0c41\u0c30\u0c41\u0c35\u0c3e\u0c30\u0c02_\u0c36\u0c41\u0c15\u0c4d\u0c30\u0c35\u0c3e\u0c30\u0c02_\u0c36\u0c28\u0c3f\u0c35\u0c3e\u0c30\u0c02".split("_"),weekdaysShort:"\u0c06\u0c26\u0c3f_\u0c38\u0c4b\u0c2e_\u0c2e\u0c02\u0c17\u0c33_\u0c2c\u0c41\u0c27_\u0c17\u0c41\u0c30\u0c41_\u0c36\u0c41\u0c15\u0c4d\u0c30_\u0c36\u0c28\u0c3f".split("_"),weekdaysMin:"\u0c06_\u0c38\u0c4b_\u0c2e\u0c02_\u0c2c\u0c41_\u0c17\u0c41_\u0c36\u0c41_\u0c36".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0c28\u0c47\u0c21\u0c41] LT",nextDay:"[\u0c30\u0c47\u0c2a\u0c41] LT",nextWeek:"dddd, LT",lastDay:"[\u0c28\u0c3f\u0c28\u0c4d\u0c28] LT",lastWeek:"[\u0c17\u0c24] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0c32\u0c4b",past:"%s \u0c15\u0c4d\u0c30\u0c3f\u0c24\u0c02",s:"\u0c15\u0c4a\u0c28\u0c4d\u0c28\u0c3f \u0c15\u0c4d\u0c37\u0c23\u0c3e\u0c32\u0c41",ss:"%d \u0c38\u0c46\u0c15\u0c28\u0c4d\u0c32\u0c41",m:"\u0c12\u0c15 \u0c28\u0c3f\u0c2e\u0c3f\u0c37\u0c02",mm:"%d \u0c28\u0c3f\u0c2e\u0c3f\u0c37\u0c3e\u0c32\u0c41",h:"\u0c12\u0c15 \u0c17\u0c02\u0c1f",hh:"%d \u0c17\u0c02\u0c1f\u0c32\u0c41",d:"\u0c12\u0c15 \u0c30\u0c4b\u0c1c\u0c41",dd:"%d \u0c30\u0c4b\u0c1c\u0c41\u0c32\u0c41",M:"\u0c12\u0c15 \u0c28\u0c46\u0c32",MM:"%d \u0c28\u0c46\u0c32\u0c32\u0c41",y:"\u0c12\u0c15 \u0c38\u0c02\u0c35\u0c24\u0c4d\u0c38\u0c30\u0c02",yy:"%d \u0c38\u0c02\u0c35\u0c24\u0c4d\u0c38\u0c30\u0c3e\u0c32\u0c41"},dayOfMonthOrdinalParse:/\d{1,2}\u0c35/,ordinal:"%d\u0c35",meridiemParse:/\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f|\u0c09\u0c26\u0c2f\u0c02|\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02|\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"===a?e<4?e:e+12:"\u0c09\u0c26\u0c2f\u0c02"===a?e:"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02"===a?10<=e?e:e+12:"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f":e<10?"\u0c09\u0c26\u0c2f\u0c02":e<17?"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02":e<20?"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02":"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"},week:{dow:0,doy:6}}),c.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Ju\xf1u_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Ses_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"segundu balun",ss:"segundu %d",m:"minutu ida",mm:"minutu %d",h:"oras ida",hh:"oras %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),{0:"-\u0443\u043c",1:"-\u0443\u043c",2:"-\u044e\u043c",3:"-\u044e\u043c",4:"-\u0443\u043c",5:"-\u0443\u043c",6:"-\u0443\u043c",7:"-\u0443\u043c",8:"-\u0443\u043c",9:"-\u0443\u043c",10:"-\u0443\u043c",12:"-\u0443\u043c",13:"-\u0443\u043c",20:"-\u0443\u043c",30:"-\u044e\u043c",40:"-\u0443\u043c",50:"-\u0443\u043c",60:"-\u0443\u043c",70:"-\u0443\u043c",80:"-\u0443\u043c",90:"-\u0443\u043c",100:"-\u0443\u043c"}),jn=(c.defineLocale("tg",{months:{format:"\u044f\u043d\u0432\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0430\u043b\u0438_\u043c\u0430\u0440\u0442\u0438_\u0430\u043f\u0440\u0435\u043b\u0438_\u043c\u0430\u0439\u0438_\u0438\u044e\u043d\u0438_\u0438\u044e\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442\u0438_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u0438_\u043e\u043a\u0442\u044f\u0431\u0440\u0438_\u043d\u043e\u044f\u0431\u0440\u0438_\u0434\u0435\u043a\u0430\u0431\u0440\u0438".split("_"),standalone:"\u044f\u043d\u0432\u0430\u0440_\u0444\u0435\u0432\u0440\u0430\u043b_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440_\u043e\u043a\u0442\u044f\u0431\u0440_\u043d\u043e\u044f\u0431\u0440_\u0434\u0435\u043a\u0430\u0431\u0440".split("_")},monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u044f\u043a\u0448\u0430\u043d\u0431\u0435_\u0434\u0443\u0448\u0430\u043d\u0431\u0435_\u0441\u0435\u0448\u0430\u043d\u0431\u0435_\u0447\u043e\u0440\u0448\u0430\u043d\u0431\u0435_\u043f\u0430\u043d\u04b7\u0448\u0430\u043d\u0431\u0435_\u04b7\u0443\u043c\u044a\u0430_\u0448\u0430\u043d\u0431\u0435".split("_"),weekdaysShort:"\u044f\u0448\u0431_\u0434\u0448\u0431_\u0441\u0448\u0431_\u0447\u0448\u0431_\u043f\u0448\u0431_\u04b7\u0443\u043c_\u0448\u043d\u0431".split("_"),weekdaysMin:"\u044f\u0448_\u0434\u0448_\u0441\u0448_\u0447\u0448_\u043f\u0448_\u04b7\u043c_\u0448\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0418\u043c\u0440\u04ef\u0437 \u0441\u043e\u0430\u0442\u0438] LT",nextDay:"[\u0424\u0430\u0440\u0434\u043e \u0441\u043e\u0430\u0442\u0438] LT",lastDay:"[\u0414\u0438\u0440\u04ef\u0437 \u0441\u043e\u0430\u0442\u0438] LT",nextWeek:"dddd[\u0438] [\u04b3\u0430\u0444\u0442\u0430\u0438 \u043e\u044f\u043d\u0434\u0430 \u0441\u043e\u0430\u0442\u0438] LT",lastWeek:"dddd[\u0438] [\u04b3\u0430\u0444\u0442\u0430\u0438 \u0433\u0443\u0437\u0430\u0448\u0442\u0430 \u0441\u043e\u0430\u0442\u0438] LT",sameElse:"L"},relativeTime:{future:"\u0431\u0430\u044a\u0434\u0438 %s",past:"%s \u043f\u0435\u0448",s:"\u044f\u043a\u0447\u0430\u043d\u0434 \u0441\u043e\u043d\u0438\u044f",m:"\u044f\u043a \u0434\u0430\u049b\u0438\u049b\u0430",mm:"%d \u0434\u0430\u049b\u0438\u049b\u0430",h:"\u044f\u043a \u0441\u043e\u0430\u0442",hh:"%d \u0441\u043e\u0430\u0442",d:"\u044f\u043a \u0440\u04ef\u0437",dd:"%d \u0440\u04ef\u0437",M:"\u044f\u043a \u043c\u043e\u04b3",MM:"%d \u043c\u043e\u04b3",y:"\u044f\u043a \u0441\u043e\u043b",yy:"%d \u0441\u043e\u043b"},meridiemParse:/\u0448\u0430\u0431|\u0441\u0443\u0431\u04b3|\u0440\u04ef\u0437|\u0431\u0435\u0433\u043e\u04b3/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0448\u0430\u0431"===a?e<4?e:e+12:"\u0441\u0443\u0431\u04b3"===a?e:"\u0440\u04ef\u0437"===a?11<=e?e:e+12:"\u0431\u0435\u0433\u043e\u04b3"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0448\u0430\u0431":e<11?"\u0441\u0443\u0431\u04b3":e<16?"\u0440\u04ef\u0437":e<19?"\u0431\u0435\u0433\u043e\u04b3":"\u0448\u0430\u0431"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0443\u043c|\u044e\u043c)/,ordinal:function(e){return e+(vn[e]||vn[e%10]||vn[100<=e?100:null])},week:{dow:1,doy:7}}),c.defineLocale("th",{months:"\u0e21\u0e01\u0e23\u0e32\u0e04\u0e21_\u0e01\u0e38\u0e21\u0e20\u0e32\u0e1e\u0e31\u0e19\u0e18\u0e4c_\u0e21\u0e35\u0e19\u0e32\u0e04\u0e21_\u0e40\u0e21\u0e29\u0e32\u0e22\u0e19_\u0e1e\u0e24\u0e29\u0e20\u0e32\u0e04\u0e21_\u0e21\u0e34\u0e16\u0e38\u0e19\u0e32\u0e22\u0e19_\u0e01\u0e23\u0e01\u0e0e\u0e32\u0e04\u0e21_\u0e2a\u0e34\u0e07\u0e2b\u0e32\u0e04\u0e21_\u0e01\u0e31\u0e19\u0e22\u0e32\u0e22\u0e19_\u0e15\u0e38\u0e25\u0e32\u0e04\u0e21_\u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32\u0e22\u0e19_\u0e18\u0e31\u0e19\u0e27\u0e32\u0e04\u0e21".split("_"),monthsShort:"\u0e21.\u0e04._\u0e01.\u0e1e._\u0e21\u0e35.\u0e04._\u0e40\u0e21.\u0e22._\u0e1e.\u0e04._\u0e21\u0e34.\u0e22._\u0e01.\u0e04._\u0e2a.\u0e04._\u0e01.\u0e22._\u0e15.\u0e04._\u0e1e.\u0e22._\u0e18.\u0e04.".split("_"),monthsParseExact:!0,weekdays:"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c_\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c_\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23_\u0e1e\u0e38\u0e18_\u0e1e\u0e24\u0e2b\u0e31\u0e2a\u0e1a\u0e14\u0e35_\u0e28\u0e38\u0e01\u0e23\u0e4c_\u0e40\u0e2a\u0e32\u0e23\u0e4c".split("_"),weekdaysShort:"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c_\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c_\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23_\u0e1e\u0e38\u0e18_\u0e1e\u0e24\u0e2b\u0e31\u0e2a_\u0e28\u0e38\u0e01\u0e23\u0e4c_\u0e40\u0e2a\u0e32\u0e23\u0e4c".split("_"),weekdaysMin:"\u0e2d\u0e32._\u0e08._\u0e2d._\u0e1e._\u0e1e\u0e24._\u0e28._\u0e2a.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY \u0e40\u0e27\u0e25\u0e32 H:mm",LLLL:"\u0e27\u0e31\u0e19dddd\u0e17\u0e35\u0e48 D MMMM YYYY \u0e40\u0e27\u0e25\u0e32 H:mm"},meridiemParse:/\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07|\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07/,isPM:function(e){return"\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"===e},meridiem:function(e,a,t){return e<12?"\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07":"\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"},calendar:{sameDay:"[\u0e27\u0e31\u0e19\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",nextDay:"[\u0e1e\u0e23\u0e38\u0e48\u0e07\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",nextWeek:"dddd[\u0e2b\u0e19\u0e49\u0e32 \u0e40\u0e27\u0e25\u0e32] LT",lastDay:"[\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e27\u0e32\u0e19\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",lastWeek:"[\u0e27\u0e31\u0e19]dddd[\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27 \u0e40\u0e27\u0e25\u0e32] LT",sameElse:"L"},relativeTime:{future:"\u0e2d\u0e35\u0e01 %s",past:"%s\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27",s:"\u0e44\u0e21\u0e48\u0e01\u0e35\u0e48\u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",ss:"%d \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",m:"1 \u0e19\u0e32\u0e17\u0e35",mm:"%d \u0e19\u0e32\u0e17\u0e35",h:"1 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",hh:"%d \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",d:"1 \u0e27\u0e31\u0e19",dd:"%d \u0e27\u0e31\u0e19",w:"1 \u0e2a\u0e31\u0e1b\u0e14\u0e32\u0e2b\u0e4c",ww:"%d \u0e2a\u0e31\u0e1b\u0e14\u0e32\u0e2b\u0e4c",M:"1 \u0e40\u0e14\u0e37\u0e2d\u0e19",MM:"%d \u0e40\u0e14\u0e37\u0e2d\u0e19",y:"1 \u0e1b\u0e35",yy:"%d \u0e1b\u0e35"}}),{1:"'inji",5:"'inji",8:"'inji",70:"'inji",80:"'inji",2:"'nji",7:"'nji",20:"'nji",50:"'nji",3:"'\xfcnji",4:"'\xfcnji",100:"'\xfcnji",6:"'njy",9:"'unjy",10:"'unjy",30:"'unjy",60:"'ynjy",90:"'ynjy"}),xn=(c.defineLocale("tk",{months:"\xddanwar_Fewral_Mart_Aprel_Ma\xfd_I\xfdun_I\xfdul_Awgust_Sent\xfdabr_Okt\xfdabr_No\xfdabr_Dekabr".split("_"),monthsShort:"\xddan_Few_Mar_Apr_Ma\xfd_I\xfdn_I\xfdl_Awg_Sen_Okt_No\xfd_Dek".split("_"),weekdays:"\xddek\u015fenbe_Du\u015fenbe_Si\u015fenbe_\xc7ar\u015fenbe_Pen\u015fenbe_Anna_\u015eenbe".split("_"),weekdaysShort:"\xddek_Du\u015f_Si\u015f_\xc7ar_Pen_Ann_\u015een".split("_"),weekdaysMin:"\xddk_D\u015f_S\u015f_\xc7r_Pn_An_\u015en".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn sagat] LT",nextDay:"[ertir sagat] LT",nextWeek:"[indiki] dddd [sagat] LT",lastDay:"[d\xfc\xfdn] LT",lastWeek:"[ge\xe7en] dddd [sagat] LT",sameElse:"L"},relativeTime:{future:"%s so\u0148",past:"%s \xf6\u0148",s:"birn\xe4\xe7e sekunt",m:"bir minut",mm:"%d minut",h:"bir sagat",hh:"%d sagat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir a\xfd",MM:"%d a\xfd",y:"bir \xfdyl",yy:"%d \xfdyl"},ordinal:function(e,a){switch(a){case"d":case"D":case"Do":case"DD":return e;default:var t;return 0===e?e+"'unjy":e+(jn[t=e%10]||jn[e%100-t]||jn[100<=e?100:null])}},week:{dow:1,doy:7}}),c.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}}),"pagh_wa\u2019_cha\u2019_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_"));function Pn(e,a,t,s){var n=function(e){var a=Math.floor(e%1e3/100),t=Math.floor(e%100/10),e=e%10,s="";0<a&&(s+=xn[a]+"vatlh");0<t&&(s+=(""!==s?" ":"")+xn[t]+"maH");0<e&&(s+=(""!==s?" ":"")+xn[e]);return""===s?"pagh":s}(e);switch(t){case"ss":return n+" lup";case"mm":return n+" tup";case"hh":return n+" rep";case"dd":return n+" jaj";case"MM":return n+" jar";case"yy":return n+" DIS"}}c.defineLocale("tlh",{months:"tera\u2019 jar wa\u2019_tera\u2019 jar cha\u2019_tera\u2019 jar wej_tera\u2019 jar loS_tera\u2019 jar vagh_tera\u2019 jar jav_tera\u2019 jar Soch_tera\u2019 jar chorgh_tera\u2019 jar Hut_tera\u2019 jar wa\u2019maH_tera\u2019 jar wa\u2019maH wa\u2019_tera\u2019 jar wa\u2019maH cha\u2019".split("_"),monthsShort:"jar wa\u2019_jar cha\u2019_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa\u2019maH_jar wa\u2019maH wa\u2019_jar wa\u2019maH cha\u2019".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa\u2019leS] LT",nextWeek:"LLL",lastDay:"[wa\u2019Hu\u2019] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:function(e){var a=e;return a=-1!==e.indexOf("jaj")?a.slice(0,-3)+"leS":-1!==e.indexOf("jar")?a.slice(0,-3)+"waQ":-1!==e.indexOf("DIS")?a.slice(0,-3)+"nem":a+" pIq"},past:function(e){var a=e;return a=-1!==e.indexOf("jaj")?a.slice(0,-3)+"Hu\u2019":-1!==e.indexOf("jar")?a.slice(0,-3)+"wen":-1!==e.indexOf("DIS")?a.slice(0,-3)+"ben":a+" ret"},s:"puS lup",ss:Pn,m:"wa\u2019 tup",mm:Pn,h:"wa\u2019 rep",hh:Pn,d:"wa\u2019 jaj",dd:Pn,M:"wa\u2019 jar",MM:Pn,y:"wa\u2019 DIS",yy:Pn},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var On={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'\xfcnc\xfc",4:"'\xfcnc\xfc",100:"'\xfcnc\xfc",6:"'nc\u0131",9:"'uncu",10:"'uncu",30:"'uncu",60:"'\u0131nc\u0131",90:"'\u0131nc\u0131"};function Wn(e,a,t,s){e={s:["viensas secunds","'iensas secunds"],ss:[e+" secunds",e+" secunds"],m:["'n m\xedut","'iens m\xedut"],mm:[e+" m\xeduts",e+" m\xeduts"],h:["'n \xfeora","'iensa \xfeora"],hh:[e+" \xfeoras",e+" \xfeoras"],d:["'n ziua","'iensa ziua"],dd:[e+" ziuas",e+" ziuas"],M:["'n mes","'iens mes"],MM:[e+" mesen",e+" mesen"],y:["'n ar","'iens ar"],yy:[e+" ars",e+" ars"]};return s||a?e[t][0]:e[t][1]}function An(e,a,t){return"m"===t?a?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443":"h"===t?a?"\u0433\u043e\u0434\u0438\u043d\u0430":"\u0433\u043e\u0434\u0438\u043d\u0443":e+" "+(e=+e,a=(a={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u0438_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u0438_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d",hh:a?"\u0433\u043e\u0434\u0438\u043d\u0430_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d":"\u0433\u043e\u0434\u0438\u043d\u0443_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u043d\u0456\u0432",MM:"\u043c\u0456\u0441\u044f\u0446\u044c_\u043c\u0456\u0441\u044f\u0446\u0456_\u043c\u0456\u0441\u044f\u0446\u0456\u0432",yy:"\u0440\u0456\u043a_\u0440\u043e\u043a\u0438_\u0440\u043e\u043a\u0456\u0432"}[t]).split("_"),e%10==1&&e%100!=11?a[0]:2<=e%10&&e%10<=4&&(e%100<10||20<=e%100)?a[1]:a[2])}function En(e){return function(){return e+"\u043e"+(11===this.hours()?"\u0431":"")+"] LT"}}c.defineLocale("tr",{months:"Ocak_\u015eubat_Mart_Nisan_May\u0131s_Haziran_Temmuz_A\u011fustos_Eyl\xfcl_Ekim_Kas\u0131m_Aral\u0131k".split("_"),monthsShort:"Oca_\u015eub_Mar_Nis_May_Haz_Tem_A\u011fu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Sal\u0131_\xc7ar\u015famba_Per\u015fembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pzt_Sal_\xc7ar_Per_Cum_Cmt".split("_"),weekdaysMin:"Pz_Pt_Sa_\xc7a_Pe_Cu_Ct".split("_"),meridiem:function(e,a,t){return e<12?t?"\xf6\xf6":"\xd6\xd6":t?"\xf6s":"\xd6S"},meridiemParse:/\xf6\xf6|\xd6\xd6|\xf6s|\xd6S/,isPM:function(e){return"\xf6s"===e||"\xd6S"===e},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn saat] LT",nextDay:"[yar\u0131n saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[d\xfcn] LT",lastWeek:"[ge\xe7en] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \xf6nce",s:"birka\xe7 saniye",ss:"%d saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",w:"bir hafta",ww:"%d hafta",M:"bir ay",MM:"%d ay",y:"bir y\u0131l",yy:"%d y\u0131l"},ordinal:function(e,a){switch(a){case"d":case"D":case"Do":case"DD":return e;default:var t;return 0===e?e+"'\u0131nc\u0131":e+(On[t=e%10]||On[e%100-t]||On[100<=e?100:null])}},week:{dow:1,doy:7}}),c.defineLocale("tzl",{months:"Januar_Fevraglh_Mar\xe7_Avr\xefu_Mai_G\xfcn_Julia_Guscht_Setemvar_Listop\xe4ts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_G\xfcn_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"S\xfaladi_L\xfane\xe7i_Maitzi_M\xe1rcuri_Xh\xfaadi_Vi\xe9ner\xe7i_S\xe1turi".split("_"),weekdaysShort:"S\xfal_L\xfan_Mai_M\xe1r_Xh\xfa_Vi\xe9_S\xe1t".split("_"),weekdaysMin:"S\xfa_L\xfa_Ma_M\xe1_Xh_Vi_S\xe1".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(e){return"d'o"===e.toLowerCase()},meridiem:function(e,a,t){return 11<e?t?"d'o":"D'O":t?"d'a":"D'A"},calendar:{sameDay:"[oxhi \xe0] LT",nextDay:"[dem\xe0 \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[ieiri \xe0] LT",lastWeek:"[s\xfcr el] dddd [lasteu \xe0] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:Wn,ss:Wn,m:Wn,mm:Wn,h:Wn,hh:Wn,d:Wn,dd:Wn,M:Wn,MM:Wn,y:Wn,yy:Wn},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("tzm-latn",{months:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",ss:"%d imik",m:"minu\u1e0d",mm:"%d minu\u1e0d",h:"sa\u025ba",hh:"%d tassa\u025bin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}}),c.defineLocale("tzm",{months:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),monthsShort:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),weekdays:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysShort:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysMin:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u2d30\u2d59\u2d37\u2d45 \u2d34] LT",nextDay:"[\u2d30\u2d59\u2d3d\u2d30 \u2d34] LT",nextWeek:"dddd [\u2d34] LT",lastDay:"[\u2d30\u2d5a\u2d30\u2d4f\u2d5c \u2d34] LT",lastWeek:"dddd [\u2d34] LT",sameElse:"L"},relativeTime:{future:"\u2d37\u2d30\u2d37\u2d45 \u2d59 \u2d62\u2d30\u2d4f %s",past:"\u2d62\u2d30\u2d4f %s",s:"\u2d49\u2d4e\u2d49\u2d3d",ss:"%d \u2d49\u2d4e\u2d49\u2d3d",m:"\u2d4e\u2d49\u2d4f\u2d53\u2d3a",mm:"%d \u2d4e\u2d49\u2d4f\u2d53\u2d3a",h:"\u2d59\u2d30\u2d44\u2d30",hh:"%d \u2d5c\u2d30\u2d59\u2d59\u2d30\u2d44\u2d49\u2d4f",d:"\u2d30\u2d59\u2d59",dd:"%d o\u2d59\u2d59\u2d30\u2d4f",M:"\u2d30\u2d62o\u2d53\u2d54",MM:"%d \u2d49\u2d62\u2d62\u2d49\u2d54\u2d4f",y:"\u2d30\u2d59\u2d33\u2d30\u2d59",yy:"%d \u2d49\u2d59\u2d33\u2d30\u2d59\u2d4f"},week:{dow:6,doy:12}}),c.defineLocale("ug-cn",{months:"\u064a\u0627\u0646\u06cb\u0627\u0631_\u0641\u06d0\u06cb\u0631\u0627\u0644_\u0645\u0627\u0631\u062a_\u0626\u0627\u067e\u0631\u06d0\u0644_\u0645\u0627\u064a_\u0626\u0649\u064a\u06c7\u0646_\u0626\u0649\u064a\u06c7\u0644_\u0626\u0627\u06cb\u063a\u06c7\u0633\u062a_\u0633\u06d0\u0646\u062a\u06d5\u0628\u0649\u0631_\u0626\u06c6\u0643\u062a\u06d5\u0628\u0649\u0631_\u0646\u0648\u064a\u0627\u0628\u0649\u0631_\u062f\u06d0\u0643\u0627\u0628\u0649\u0631".split("_"),monthsShort:"\u064a\u0627\u0646\u06cb\u0627\u0631_\u0641\u06d0\u06cb\u0631\u0627\u0644_\u0645\u0627\u0631\u062a_\u0626\u0627\u067e\u0631\u06d0\u0644_\u0645\u0627\u064a_\u0626\u0649\u064a\u06c7\u0646_\u0626\u0649\u064a\u06c7\u0644_\u0626\u0627\u06cb\u063a\u06c7\u0633\u062a_\u0633\u06d0\u0646\u062a\u06d5\u0628\u0649\u0631_\u0626\u06c6\u0643\u062a\u06d5\u0628\u0649\u0631_\u0646\u0648\u064a\u0627\u0628\u0649\u0631_\u062f\u06d0\u0643\u0627\u0628\u0649\u0631".split("_"),weekdays:"\u064a\u06d5\u0643\u0634\u06d5\u0646\u0628\u06d5_\u062f\u06c8\u0634\u06d5\u0646\u0628\u06d5_\u0633\u06d5\u064a\u0634\u06d5\u0646\u0628\u06d5_\u0686\u0627\u0631\u0634\u06d5\u0646\u0628\u06d5_\u067e\u06d5\u064a\u0634\u06d5\u0646\u0628\u06d5_\u062c\u06c8\u0645\u06d5_\u0634\u06d5\u0646\u0628\u06d5".split("_"),weekdaysShort:"\u064a\u06d5_\u062f\u06c8_\u0633\u06d5_\u0686\u0627_\u067e\u06d5_\u062c\u06c8_\u0634\u06d5".split("_"),weekdaysMin:"\u064a\u06d5_\u062f\u06c8_\u0633\u06d5_\u0686\u0627_\u067e\u06d5_\u062c\u06c8_\u0634\u06d5".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649",LLL:"YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649\u060c HH:mm",LLLL:"dddd\u060c YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649\u060c HH:mm"},meridiemParse:/\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5|\u0633\u06d5\u06be\u06d5\u0631|\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646|\u0686\u06c8\u0634|\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646|\u0643\u06d5\u0686/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5"===a||"\u0633\u06d5\u06be\u06d5\u0631"===a||"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646"===a||"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646"!==a&&"\u0643\u06d5\u0686"!==a&&11<=e?e:e+12},meridiem:function(e,a,t){e=100*e+a;return e<600?"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5":e<900?"\u0633\u06d5\u06be\u06d5\u0631":e<1130?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646":e<1230?"\u0686\u06c8\u0634":e<1800?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646":"\u0643\u06d5\u0686"},calendar:{sameDay:"[\u0628\u06c8\u06af\u06c8\u0646 \u0633\u0627\u0626\u06d5\u062a] LT",nextDay:"[\u0626\u06d5\u062a\u06d5 \u0633\u0627\u0626\u06d5\u062a] LT",nextWeek:"[\u0643\u06d0\u0644\u06d5\u0631\u0643\u0649] dddd [\u0633\u0627\u0626\u06d5\u062a] LT",lastDay:"[\u062a\u06c6\u0646\u06c8\u06af\u06c8\u0646] LT",lastWeek:"[\u0626\u0627\u0644\u062f\u0649\u0646\u0642\u0649] dddd [\u0633\u0627\u0626\u06d5\u062a] LT",sameElse:"L"},relativeTime:{future:"%s \u0643\u06d0\u064a\u0649\u0646",past:"%s \u0628\u06c7\u0631\u06c7\u0646",s:"\u0646\u06d5\u0686\u0686\u06d5 \u0633\u06d0\u0643\u0648\u0646\u062a",ss:"%d \u0633\u06d0\u0643\u0648\u0646\u062a",m:"\u0628\u0649\u0631 \u0645\u0649\u0646\u06c7\u062a",mm:"%d \u0645\u0649\u0646\u06c7\u062a",h:"\u0628\u0649\u0631 \u0633\u0627\u0626\u06d5\u062a",hh:"%d \u0633\u0627\u0626\u06d5\u062a",d:"\u0628\u0649\u0631 \u0643\u06c8\u0646",dd:"%d \u0643\u06c8\u0646",M:"\u0628\u0649\u0631 \u0626\u0627\u064a",MM:"%d \u0626\u0627\u064a",y:"\u0628\u0649\u0631 \u064a\u0649\u0644",yy:"%d \u064a\u0649\u0644"},dayOfMonthOrdinalParse:/\d{1,2}(-\u0643\u06c8\u0646\u0649|-\u0626\u0627\u064a|-\u06be\u06d5\u067e\u062a\u06d5)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"-\u0643\u06c8\u0646\u0649";case"w":case"W":return e+"-\u06be\u06d5\u067e\u062a\u06d5";default:return e}},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:7}}),c.defineLocale("uk",{months:{format:"\u0441\u0456\u0447\u043d\u044f_\u043b\u044e\u0442\u043e\u0433\u043e_\u0431\u0435\u0440\u0435\u0437\u043d\u044f_\u043a\u0432\u0456\u0442\u043d\u044f_\u0442\u0440\u0430\u0432\u043d\u044f_\u0447\u0435\u0440\u0432\u043d\u044f_\u043b\u0438\u043f\u043d\u044f_\u0441\u0435\u0440\u043f\u043d\u044f_\u0432\u0435\u0440\u0435\u0441\u043d\u044f_\u0436\u043e\u0432\u0442\u043d\u044f_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434\u0430_\u0433\u0440\u0443\u0434\u043d\u044f".split("_"),standalone:"\u0441\u0456\u0447\u0435\u043d\u044c_\u043b\u044e\u0442\u0438\u0439_\u0431\u0435\u0440\u0435\u0437\u0435\u043d\u044c_\u043a\u0432\u0456\u0442\u0435\u043d\u044c_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u0435\u0440\u0432\u0435\u043d\u044c_\u043b\u0438\u043f\u0435\u043d\u044c_\u0441\u0435\u0440\u043f\u0435\u043d\u044c_\u0432\u0435\u0440\u0435\u0441\u0435\u043d\u044c_\u0436\u043e\u0432\u0442\u0435\u043d\u044c_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434_\u0433\u0440\u0443\u0434\u0435\u043d\u044c".split("_")},monthsShort:"\u0441\u0456\u0447_\u043b\u044e\u0442_\u0431\u0435\u0440_\u043a\u0432\u0456\u0442_\u0442\u0440\u0430\u0432_\u0447\u0435\u0440\u0432_\u043b\u0438\u043f_\u0441\u0435\u0440\u043f_\u0432\u0435\u0440_\u0436\u043e\u0432\u0442_\u043b\u0438\u0441\u0442_\u0433\u0440\u0443\u0434".split("_"),weekdays:function(e,a){var t={nominative:"\u043d\u0435\u0434\u0456\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044f_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),accusative:"\u043d\u0435\u0434\u0456\u043b\u044e_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044e_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),genitive:"\u043d\u0435\u0434\u0456\u043b\u0456_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043a\u0430_\u0432\u0456\u0432\u0442\u043e\u0440\u043a\u0430_\u0441\u0435\u0440\u0435\u0434\u0438_\u0447\u0435\u0442\u0432\u0435\u0440\u0433\u0430_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u0456_\u0441\u0443\u0431\u043e\u0442\u0438".split("_")};return!0===e?t.nominative.slice(1,7).concat(t.nominative.slice(0,1)):e?t[/(\[[\u0412\u0432\u0423\u0443]\]) ?dddd/.test(a)?"accusative":/\[?(?:\u043c\u0438\u043d\u0443\u043b\u043e\u0457|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u043e\u0457)? ?\] ?dddd/.test(a)?"genitive":"nominative"][e.day()]:t.nominative},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0440.",LLL:"D MMMM YYYY \u0440., HH:mm",LLLL:"dddd, D MMMM YYYY \u0440., HH:mm"},calendar:{sameDay:En("[\u0421\u044c\u043e\u0433\u043e\u0434\u043d\u0456 "),nextDay:En("[\u0417\u0430\u0432\u0442\u0440\u0430 "),lastDay:En("[\u0412\u0447\u043e\u0440\u0430 "),nextWeek:En("[\u0423] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return En("[\u041c\u0438\u043d\u0443\u043b\u043e\u0457] dddd [").call(this);case 1:case 2:case 4:return En("[\u041c\u0438\u043d\u0443\u043b\u043e\u0433\u043e] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"%s \u0442\u043e\u043c\u0443",s:"\u0434\u0435\u043a\u0456\u043b\u044c\u043a\u0430 \u0441\u0435\u043a\u0443\u043d\u0434",ss:An,m:An,mm:An,h:"\u0433\u043e\u0434\u0438\u043d\u0443",hh:An,d:"\u0434\u0435\u043d\u044c",dd:An,M:"\u043c\u0456\u0441\u044f\u0446\u044c",MM:An,y:"\u0440\u0456\u043a",yy:An},meridiemParse:/\u043d\u043e\u0447\u0456|\u0440\u0430\u043d\u043a\u0443|\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430/,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430)$/.test(e)},meridiem:function(e,a,t){return e<4?"\u043d\u043e\u0447\u0456":e<12?"\u0440\u0430\u043d\u043a\u0443":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u043e\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":case"w":case"W":return e+"-\u0439";case"D":return e+"-\u0433\u043e";default:return e}},week:{dow:1,doy:7}});i=["\u062c\u0646\u0648\u0631\u06cc","\u0641\u0631\u0648\u0631\u06cc","\u0645\u0627\u0631\u0686","\u0627\u067e\u0631\u06cc\u0644","\u0645\u0626\u06cc","\u062c\u0648\u0646","\u062c\u0648\u0644\u0627\u0626\u06cc","\u0627\u06af\u0633\u062a","\u0633\u062a\u0645\u0628\u0631","\u0627\u06a9\u062a\u0648\u0628\u0631","\u0646\u0648\u0645\u0628\u0631","\u062f\u0633\u0645\u0628\u0631"],jt=["\u0627\u062a\u0648\u0627\u0631","\u067e\u06cc\u0631","\u0645\u0646\u06af\u0644","\u0628\u062f\u06be","\u062c\u0645\u0639\u0631\u0627\u062a","\u062c\u0645\u0639\u06c1","\u06c1\u0641\u062a\u06c1"];return c.defineLocale("ur",{months:i,monthsShort:i,weekdays:jt,weekdaysShort:jt,weekdaysMin:jt,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd\u060c D MMMM YYYY HH:mm"},meridiemParse:/\u0635\u0628\u062d|\u0634\u0627\u0645/,isPM:function(e){return"\u0634\u0627\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635\u0628\u062d":"\u0634\u0627\u0645"},calendar:{sameDay:"[\u0622\u062c \u0628\u0648\u0642\u062a] LT",nextDay:"[\u06a9\u0644 \u0628\u0648\u0642\u062a] LT",nextWeek:"dddd [\u0628\u0648\u0642\u062a] LT",lastDay:"[\u06af\u0630\u0634\u062a\u06c1 \u0631\u0648\u0632 \u0628\u0648\u0642\u062a] LT",lastWeek:"[\u06af\u0630\u0634\u062a\u06c1] dddd [\u0628\u0648\u0642\u062a] LT",sameElse:"L"},relativeTime:{future:"%s \u0628\u0639\u062f",past:"%s \u0642\u0628\u0644",s:"\u0686\u0646\u062f \u0633\u06cc\u06a9\u0646\u0688",ss:"%d \u0633\u06cc\u06a9\u0646\u0688",m:"\u0627\u06cc\u06a9 \u0645\u0646\u0679",mm:"%d \u0645\u0646\u0679",h:"\u0627\u06cc\u06a9 \u06af\u06be\u0646\u0679\u06c1",hh:"%d \u06af\u06be\u0646\u0679\u06d2",d:"\u0627\u06cc\u06a9 \u062f\u0646",dd:"%d \u062f\u0646",M:"\u0627\u06cc\u06a9 \u0645\u0627\u06c1",MM:"%d \u0645\u0627\u06c1",y:"\u0627\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:4}}),c.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",ss:"%d soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}}),c.defineLocale("uz",{months:"\u044f\u043d\u0432\u0430\u0440_\u0444\u0435\u0432\u0440\u0430\u043b_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440_\u043e\u043a\u0442\u044f\u0431\u0440_\u043d\u043e\u044f\u0431\u0440_\u0434\u0435\u043a\u0430\u0431\u0440".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u042f\u043a\u0448\u0430\u043d\u0431\u0430_\u0414\u0443\u0448\u0430\u043d\u0431\u0430_\u0421\u0435\u0448\u0430\u043d\u0431\u0430_\u0427\u043e\u0440\u0448\u0430\u043d\u0431\u0430_\u041f\u0430\u0439\u0448\u0430\u043d\u0431\u0430_\u0416\u0443\u043c\u0430_\u0428\u0430\u043d\u0431\u0430".split("_"),weekdaysShort:"\u042f\u043a\u0448_\u0414\u0443\u0448_\u0421\u0435\u0448_\u0427\u043e\u0440_\u041f\u0430\u0439_\u0416\u0443\u043c_\u0428\u0430\u043d".split("_"),weekdaysMin:"\u042f\u043a_\u0414\u0443_\u0421\u0435_\u0427\u043e_\u041f\u0430_\u0416\u0443_\u0428\u0430".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[\u0411\u0443\u0433\u0443\u043d \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",nextDay:"[\u042d\u0440\u0442\u0430\u0433\u0430] LT [\u0434\u0430]",nextWeek:"dddd [\u043a\u0443\u043d\u0438 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",lastDay:"[\u041a\u0435\u0447\u0430 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",lastWeek:"[\u0423\u0442\u0433\u0430\u043d] dddd [\u043a\u0443\u043d\u0438 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",sameElse:"L"},relativeTime:{future:"\u042f\u043a\u0438\u043d %s \u0438\u0447\u0438\u0434\u0430",past:"\u0411\u0438\u0440 \u043d\u0435\u0447\u0430 %s \u043e\u043b\u0434\u0438\u043d",s:"\u0444\u0443\u0440\u0441\u0430\u0442",ss:"%d \u0444\u0443\u0440\u0441\u0430\u0442",m:"\u0431\u0438\u0440 \u0434\u0430\u043a\u0438\u043a\u0430",mm:"%d \u0434\u0430\u043a\u0438\u043a\u0430",h:"\u0431\u0438\u0440 \u0441\u043e\u0430\u0442",hh:"%d \u0441\u043e\u0430\u0442",d:"\u0431\u0438\u0440 \u043a\u0443\u043d",dd:"%d \u043a\u0443\u043d",M:"\u0431\u0438\u0440 \u043e\u0439",MM:"%d \u043e\u0439",y:"\u0431\u0438\u0440 \u0439\u0438\u043b",yy:"%d \u0439\u0438\u043b"},week:{dow:1,doy:7}}),c.defineLocale("vi",{months:"th\xe1ng 1_th\xe1ng 2_th\xe1ng 3_th\xe1ng 4_th\xe1ng 5_th\xe1ng 6_th\xe1ng 7_th\xe1ng 8_th\xe1ng 9_th\xe1ng 10_th\xe1ng 11_th\xe1ng 12".split("_"),monthsShort:"Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12".split("_"),monthsParseExact:!0,weekdays:"ch\u1ee7 nh\u1eadt_th\u1ee9 hai_th\u1ee9 ba_th\u1ee9 t\u01b0_th\u1ee9 n\u0103m_th\u1ee9 s\xe1u_th\u1ee9 b\u1ea3y".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(e){return/^ch$/i.test(e)},meridiem:function(e,a,t){return e<12?t?"sa":"SA":t?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [n\u0103m] YYYY",LLL:"D MMMM [n\u0103m] YYYY HH:mm",LLLL:"dddd, D MMMM [n\u0103m] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[H\xf4m nay l\xfac] LT",nextDay:"[Ng\xe0y mai l\xfac] LT",nextWeek:"dddd [tu\u1ea7n t\u1edbi l\xfac] LT",lastDay:"[H\xf4m qua l\xfac] LT",lastWeek:"dddd [tu\u1ea7n tr\u01b0\u1edbc l\xfac] LT",sameElse:"L"},relativeTime:{future:"%s t\u1edbi",past:"%s tr\u01b0\u1edbc",s:"v\xe0i gi\xe2y",ss:"%d gi\xe2y",m:"m\u1ed9t ph\xfat",mm:"%d ph\xfat",h:"m\u1ed9t gi\u1edd",hh:"%d gi\u1edd",d:"m\u1ed9t ng\xe0y",dd:"%d ng\xe0y",w:"m\u1ed9t tu\u1ea7n",ww:"%d tu\u1ea7n",M:"m\u1ed9t th\xe1ng",MM:"%d th\xe1ng",y:"m\u1ed9t n\u0103m",yy:"%d n\u0103m"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}}),c.defineLocale("x-pseudo",{months:"J~\xe1\xf1\xfa\xe1~r\xfd_F~\xe9br\xfa~\xe1r\xfd_~M\xe1rc~h_\xc1p~r\xedl_~M\xe1\xfd_~J\xfa\xf1\xe9~_J\xfal~\xfd_\xc1\xfa~g\xfast~_S\xe9p~t\xe9mb~\xe9r_\xd3~ct\xf3b~\xe9r_\xd1~\xf3v\xe9m~b\xe9r_~D\xe9c\xe9~mb\xe9r".split("_"),monthsShort:"J~\xe1\xf1_~F\xe9b_~M\xe1r_~\xc1pr_~M\xe1\xfd_~J\xfa\xf1_~J\xfal_~\xc1\xfag_~S\xe9p_~\xd3ct_~\xd1\xf3v_~D\xe9c".split("_"),monthsParseExact:!0,weekdays:"S~\xfa\xf1d\xe1~\xfd_M\xf3~\xf1d\xe1\xfd~_T\xfa\xe9~sd\xe1\xfd~_W\xe9d~\xf1\xe9sd~\xe1\xfd_T~h\xfars~d\xe1\xfd_~Fr\xedd~\xe1\xfd_S~\xe1t\xfar~d\xe1\xfd".split("_"),weekdaysShort:"S~\xfa\xf1_~M\xf3\xf1_~T\xfa\xe9_~W\xe9d_~Th\xfa_~Fr\xed_~S\xe1t".split("_"),weekdaysMin:"S~\xfa_M\xf3~_T\xfa_~W\xe9_T~h_Fr~_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~\xf3d\xe1~\xfd \xe1t] LT",nextDay:"[T~\xf3m\xf3~rr\xf3~w \xe1t] LT",nextWeek:"dddd [\xe1t] LT",lastDay:"[\xdd~\xe9st~\xe9rd\xe1~\xfd \xe1t] LT",lastWeek:"[L~\xe1st] dddd [\xe1t] LT",sameElse:"L"},relativeTime:{future:"\xed~\xf1 %s",past:"%s \xe1~g\xf3",s:"\xe1 ~f\xe9w ~s\xe9c\xf3~\xf1ds",ss:"%d s~\xe9c\xf3\xf1~ds",m:"\xe1 ~m\xed\xf1~\xfat\xe9",mm:"%d m~\xed\xf1\xfa~t\xe9s",h:"\xe1~\xf1 h\xf3~\xfar",hh:"%d h~\xf3\xfars",d:"\xe1 ~d\xe1\xfd",dd:"%d d~\xe1\xfds",M:"\xe1 ~m\xf3\xf1~th",MM:"%d m~\xf3\xf1t~hs",y:"\xe1 ~\xfd\xe9\xe1r",yy:"%d \xfd~\xe9\xe1rs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),c.defineLocale("yo",{months:"S\u1eb9\u0301r\u1eb9\u0301_E\u0300re\u0300le\u0300_\u1eb8r\u1eb9\u0300na\u0300_I\u0300gbe\u0301_E\u0300bibi_O\u0300ku\u0300du_Ag\u1eb9mo_O\u0300gu\u0301n_Owewe_\u1ecc\u0300wa\u0300ra\u0300_Be\u0301lu\u0301_\u1ecc\u0300p\u1eb9\u0300\u0300".split("_"),monthsShort:"S\u1eb9\u0301r_E\u0300rl_\u1eb8rn_I\u0300gb_E\u0300bi_O\u0300ku\u0300_Ag\u1eb9_O\u0300gu\u0301_Owe_\u1ecc\u0300wa\u0300_Be\u0301l_\u1ecc\u0300p\u1eb9\u0300\u0300".split("_"),weekdays:"A\u0300i\u0300ku\u0301_Aje\u0301_I\u0300s\u1eb9\u0301gun_\u1eccj\u1ecd\u0301ru\u0301_\u1eccj\u1ecd\u0301b\u1ecd_\u1eb8ti\u0300_A\u0300ba\u0301m\u1eb9\u0301ta".split("_"),weekdaysShort:"A\u0300i\u0300k_Aje\u0301_I\u0300s\u1eb9\u0301_\u1eccjr_\u1eccjb_\u1eb8ti\u0300_A\u0300ba\u0301".split("_"),weekdaysMin:"A\u0300i\u0300_Aj_I\u0300s_\u1eccr_\u1eccb_\u1eb8t_A\u0300b".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[O\u0300ni\u0300 ni] LT",nextDay:"[\u1ecc\u0300la ni] LT",nextWeek:"dddd [\u1eccs\u1eb9\u0300 to\u0301n'b\u1ecd] [ni] LT",lastDay:"[A\u0300na ni] LT",lastWeek:"dddd [\u1eccs\u1eb9\u0300 to\u0301l\u1ecd\u0301] [ni] LT",sameElse:"L"},relativeTime:{future:"ni\u0301 %s",past:"%s k\u1ecdja\u0301",s:"i\u0300s\u1eb9ju\u0301 aaya\u0301 die",ss:"aaya\u0301 %d",m:"i\u0300s\u1eb9ju\u0301 kan",mm:"i\u0300s\u1eb9ju\u0301 %d",h:"wa\u0301kati kan",hh:"wa\u0301kati %d",d:"\u1ecdj\u1ecd\u0301 kan",dd:"\u1ecdj\u1ecd\u0301 %d",M:"osu\u0300 kan",MM:"osu\u0300 %d",y:"\u1ecddu\u0301n kan",yy:"\u1ecddu\u0301n %d"},dayOfMonthOrdinalParse:/\u1ecdj\u1ecd\u0301\s\d{1,2}/,ordinal:"\u1ecdj\u1ecd\u0301 %d",week:{dow:1,doy:4}}),c.defineLocale("zh-cn",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u5468\u65e5_\u5468\u4e00_\u5468\u4e8c_\u5468\u4e09_\u5468\u56db_\u5468\u4e94_\u5468\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5Ah\u70b9mm\u5206",LLLL:"YYYY\u5e74M\u6708D\u65e5ddddAh\u70b9mm\u5206",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a||"\u4e0b\u5348"!==a&&"\u665a\u4e0a"!==a&&11<=e?e:e+12},meridiem:function(e,a,t){e=100*e+a;return e<600?"\u51cc\u6668":e<900?"\u65e9\u4e0a":e<1130?"\u4e0a\u5348":e<1230?"\u4e2d\u5348":e<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:function(e){return e.week()!==this.week()?"[\u4e0b]dddLT":"[\u672c]dddLT"},lastDay:"[\u6628\u5929]LT",lastWeek:function(e){return this.week()!==e.week()?"[\u4e0a]dddLT":"[\u672c]dddLT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u5468)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u5468";default:return e}},relativeTime:{future:"%s\u540e",past:"%s\u524d",s:"\u51e0\u79d2",ss:"%d \u79d2",m:"1 \u5206\u949f",mm:"%d \u5206\u949f",h:"1 \u5c0f\u65f6",hh:"%d \u5c0f\u65f6",d:"1 \u5929",dd:"%d \u5929",w:"1 \u5468",ww:"%d \u5468",M:"1 \u4e2a\u6708",MM:"%d \u4e2a\u6708",y:"1 \u5e74",yy:"%d \u5e74"},week:{dow:1,doy:4}}),c.defineLocale("zh-hk",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e2d\u5348"===a?11<=e?e:e+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:void 0},meridiem:function(e,a,t){e=100*e+a;return e<600?"\u51cc\u6668":e<900?"\u65e9\u4e0a":e<1200?"\u4e0a\u5348":1200===e?"\u4e2d\u5348":e<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:"[\u4e0b]ddddLT",lastDay:"[\u6628\u5929]LT",lastWeek:"[\u4e0a]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u9031";default:return e}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}}),c.defineLocale("zh-mo",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"D/M/YYYY",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e2d\u5348"===a?11<=e?e:e+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:void 0},meridiem:function(e,a,t){e=100*e+a;return e<600?"\u51cc\u6668":e<900?"\u65e9\u4e0a":e<1130?"\u4e0a\u5348":e<1230?"\u4e2d\u5348":e<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929] LT",nextDay:"[\u660e\u5929] LT",nextWeek:"[\u4e0b]dddd LT",lastDay:"[\u6628\u5929] LT",lastWeek:"[\u4e0a]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u9031";default:return e}},relativeTime:{future:"%s\u5167",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}}),c.defineLocale("zh-tw",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e2d\u5348"===a?11<=e?e:e+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:void 0},meridiem:function(e,a,t){e=100*e+a;return e<600?"\u51cc\u6668":e<900?"\u65e9\u4e0a":e<1130?"\u4e0a\u5348":e<1230?"\u4e2d\u5348":e<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929] LT",nextDay:"[\u660e\u5929] LT",nextWeek:"[\u4e0b]dddd LT",lastDay:"[\u6628\u5929] LT",lastWeek:"[\u4e0a]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u9031";default:return e}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}}),c.locale("en"),c});
12552//# sourceMappingURL=moment-with-locales.min.js.map
12552
12553(function(factory) {
12554  if (typeof define === "function" && define.amd) {
12555    // AMD. Register as an anonymous module.
12556    define([], factory);
12557  } else if (typeof exports === "object") {
12558    // Node/CommonJS
12559    module.exports = factory();
12560  } else {
12561    // Browser globals
12562    window.wNumb = factory();
12563  }
12564})(function() {
12565  "use strict";
12566
12567  var FormatOptions = [
12568    "decimals",
12569    "thousand",
12570    "mark",
12571    "prefix",
12572    "suffix",
12573    "encoder",
12574    "decoder",
12575    "negativeBefore",
12576    "negative",
12577    "edit",
12578    "undo"
12579  ];
12580
12581  // General
12582
12583  // Reverse a string
12584  function strReverse(a) {
12585    return a
12586      .split("")
12587      .reverse()
12588      .join("");
12589  }
12590
12591  // Check if a string starts with a specified prefix.
12592  function strStartsWith(input, match) {
12593    return input.substring(0, match.length) === match;
12594  }
12595
12596  // Check is a string ends in a specified suffix.
12597  function strEndsWith(input, match) {
12598    return input.slice(-1 * match.length) === match;
12599  }
12600
12601  // Throw an error if formatting options are incompatible.
vendor: 8,679 bytes, lines 12602-12936
12602  function throwEqualError(F, a, b) {
12603    if ((F[a] || F[b]) && F[a] === F[b]) {
12604      throw new Error(a);
12605    }
12606  }
12607
12608  // Check if a number is finite and not NaN
12609  function isValidNumber(input) {
12610    return typeof input === "number" && isFinite(input);
12611  }
12612
12613  // Provide rounding-accurate toFixed method.
12614  // Borrowed: http://stackoverflow.com/a/21323330/775265
12615  function toFixed(value, exp) {
12616    value = value.toString().split("e");
12617    value = Math.round(+(value[0] + "e" + (value[1] ? +value[1] + exp : exp)));
12618    value = value.toString().split("e");
12619    return (+(value[0] + "e" + (value[1] ? +value[1] - exp : -exp))).toFixed(exp);
12620  }
12621
12622  // Formatting
12623
12624  // Accept a number as input, output formatted string.
12625  function formatTo(
12626    decimals,
12627    thousand,
12628    mark,
12629    prefix,
12630    suffix,
12631    encoder,
12632    decoder,
12633    negativeBefore,
12634    negative,
12635    edit,
12636    undo,
12637    input
12638  ) {
12639    var originalInput = input,
12640      inputIsNegative,
12641      inputPieces,
12642      inputBase,
12643      inputDecimals = "",
12644      output = "";
12645
12646    // Apply user encoder to the input.
12647    // Expected outcome: number.
12648    if (encoder) {
12649      input = encoder(input);
12650    }
12651
12652    // Stop if no valid number was provided, the number is infinite or NaN.
12653    if (!isValidNumber(input)) {
12654      return false;
12655    }
12656
12657    // Rounding away decimals might cause a value of -0
12658    // when using very small ranges. Remove those cases.
12659    if (decimals !== false && parseFloat(input.toFixed(decimals)) === 0) {
12660      input = 0;
12661    }
12662
12663    // Formatting is done on absolute numbers,
12664    // decorated by an optional negative symbol.
12665    if (input < 0) {
12666      inputIsNegative = true;
12667      input = Math.abs(input);
12668    }
12669
12670    // Reduce the number of decimals to the specified option.
12671    if (decimals !== false) {
12672      input = toFixed(input, decimals);
12673    }
12674
12675    // Transform the number into a string, so it can be split.
12676    input = input.toString();
12677
12678    // Break the number on the decimal separator.
12679    if (input.indexOf(".") !== -1) {
12680      inputPieces = input.split(".");
12681
12682      inputBase = inputPieces[0];
12683
12684      if (mark) {
12685        inputDecimals = mark + inputPieces[1];
12686      }
12687    } else {
12688      // If it isn't split, the entire number will do.
12689      inputBase = input;
12690    }
12691
12692    // Group numbers in sets of three.
12693    if (thousand) {
12694      inputBase = strReverse(inputBase).match(/.{1,3}/g);
12695      inputBase = strReverse(inputBase.join(strReverse(thousand)));
12696    }
12697
12698    // If the number is negative, prefix with negation symbol.
12699    if (inputIsNegative && negativeBefore) {
12700      output += negativeBefore;
12701    }
12702
12703    // Prefix the number
12704    if (prefix) {
12705      output += prefix;
12706    }
12707
12708    // Normal negative option comes after the prefix. Defaults to '-'.
12709    if (inputIsNegative && negative) {
12710      output += negative;
12711    }
12712
12713    // Append the actual number.
12714    output += inputBase;
12715    output += inputDecimals;
12716
12717    // Apply the suffix.
12718    if (suffix) {
12719      output += suffix;
12720    }
12721
12722    // Run the output through a user-specified post-formatter.
12723    if (edit) {
12724      output = edit(output, originalInput);
12725    }
12726
12727    // All done.
12728    return output;
12729  }
12730
12731  // Accept a sting as input, output decoded number.
12732  function formatFrom(
12733    decimals,
12734    thousand,
12735    mark,
12736    prefix,
12737    suffix,
12738    encoder,
12739    decoder,
12740    negativeBefore,
12741    negative,
12742    edit,
12743    undo,
12744    input
12745  ) {
12746    var originalInput = input,
12747      inputIsNegative,
12748      output = "";
12749
12750    // User defined pre-decoder. Result must be a non empty string.
12751    if (undo) {
12752      input = undo(input);
12753    }
12754
12755    // Test the input. Can't be empty.
12756    if (!input || typeof input !== "string") {
12757      return false;
12758    }
12759
12760    // If the string starts with the negativeBefore value: remove it.
12761    // Remember is was there, the number is negative.
12762    if (negativeBefore && strStartsWith(input, negativeBefore)) {
12763      input = input.replace(negativeBefore, "");
12764      inputIsNegative = true;
12765    }
12766
12767    // Repeat the same procedure for the prefix.
12768    if (prefix && strStartsWith(input, prefix)) {
12769      input = input.replace(prefix, "");
12770    }
12771
12772    // And again for negative.
12773    if (negative && strStartsWith(input, negative)) {
12774      input = input.replace(negative, "");
12775      inputIsNegative = true;
12776    }
12777
12778    // Remove the suffix.
12779    // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice
12780    if (suffix && strEndsWith(input, suffix)) {
12781      input = input.slice(0, -1 * suffix.length);
12782    }
12783
12784    // Remove the thousand grouping.
12785    if (thousand) {
12786      input = input.split(thousand).join("");
12787    }
12788
12789    // Set the decimal separator back to period.
12790    if (mark) {
12791      input = input.replace(mark, ".");
12792    }
12793
12794    // Prepend the negative symbol.
12795    if (inputIsNegative) {
12796      output += "-";
12797    }
12798
12799    // Add the number
12800    output += input;
12801
12802    // Trim all non-numeric characters (allow '.' and '-');
12803    output = output.replace(/[^0-9\.\-.]/g, "");
12804
12805    // The value contains no parse-able number.
12806    if (output === "") {
12807      return false;
12808    }
12809
12810    // Covert to number.
12811    output = Number(output);
12812
12813    // Run the user-specified post-decoder.
12814    if (decoder) {
12815      output = decoder(output);
12816    }
12817
12818    // Check is the output is valid, otherwise: return false.
12819    if (!isValidNumber(output)) {
12820      return false;
12821    }
12822
12823    return output;
12824  }
12825
12826  // Framework
12827
12828  // Validate formatting options
12829  function validate(inputOptions) {
12830    var i,
12831      optionName,
12832      optionValue,
12833      filteredOptions = {};
12834
12835    if (inputOptions["suffix"] === undefined) {
12836      inputOptions["suffix"] = inputOptions["postfix"];
12837    }
12838
12839    for (i = 0; i < FormatOptions.length; i += 1) {
12840      optionName = FormatOptions[i];
12841      optionValue = inputOptions[optionName];
12842
12843      if (optionValue === undefined) {
12844        // Only default if negativeBefore isn't set.
12845        if (optionName === "negative" && !filteredOptions.negativeBefore) {
12846          filteredOptions[optionName] = "-";
12847          // Don't set a default for mark when 'thousand' is set.
12848        } else if (optionName === "mark" && filteredOptions.thousand !== ".") {
12849          filteredOptions[optionName] = ".";
12850        } else {
12851          filteredOptions[optionName] = false;
12852        }
12853
12854        // Floating points in JS are stable up to 7 decimals.
12855      } else if (optionName === "decimals") {
12856        if (optionValue >= 0 && optionValue < 8) {
12857          filteredOptions[optionName] = optionValue;
12858        } else {
12859          throw new Error(optionName);
12860        }
12861
12862        // These options, when provided, must be functions.
12863      } else if (
12864        optionName === "encoder" ||
12865        optionName === "decoder" ||
12866        optionName === "edit" ||
12867        optionName === "undo"
12868      ) {
12869        if (typeof optionValue === "function") {
12870          filteredOptions[optionName] = optionValue;
12871        } else {
12872          throw new Error(optionName);
12873        }
12874
12875        // Other options are strings.
12876      } else {
12877        if (typeof optionValue === "string") {
12878          filteredOptions[optionName] = optionValue;
12879        } else {
12880          throw new Error(optionName);
12881        }
12882      }
12883    }
12884
12885    // Some values can't be extracted from a
12886    // string if certain combinations are present.
12887    throwEqualError(filteredOptions, "mark", "thousand");
12888    throwEqualError(filteredOptions, "prefix", "negative");
12889    throwEqualError(filteredOptions, "prefix", "negativeBefore");
12890
12891    return filteredOptions;
12892  }
12893
12894  // Pass all options as function arguments
12895  function passAll(options, method, input) {
12896    var i,
12897      args = [];
12898
12899    // Add all options in order of FormatOptions
12900    for (i = 0; i < FormatOptions.length; i += 1) {
12901      args.push(options[FormatOptions[i]]);
12902    }
12903
12904    // Append the input, then call the method, presenting all
12905    // options as arguments.
12906    args.push(input);
12907    return method.apply("", args);
12908  }
12909
12910  function wNumb(options) {
12911    if (!(this instanceof wNumb)) {
12912      return new wNumb(options);
12913    }
12914
12915    if (typeof options !== "object") {
12916      return;
12917    }
12918
12919    options = validate(options);
12920
12921    // Call 'formatTo' with proper arguments.
12922    this.to = function(input) {
12923      return passAll(options, formatTo, input);
12924    };
12925
12926    // Call 'formatFrom' with proper arguments.
12927    this.from = function(input) {
12928      return passAll(options, formatFrom, input);
12929    };
12930  }
12931
12932  return wNumb;
12933});
12934
12935/*! Axios v1.11.0 Copyright (c) 2025 Matt Zabriskie and contributors */
12936!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).axios=t(
vendor: 4,303 bytes, line 12936
12936)}(this,(function(){"use strict";function e(e){var r,n;function o(r,n){try{var a=e[r](n),u=a.value,s=u instanceof t;Promise.resolve(s?u.v:u).then((function(t){if(s){var n="return"===r?"return":"next";if(!u.k||t.done)return o(n,t);t=e[n](t).value}i(a.done?"return":"normal",t)}),(function(e){o("throw",e)}))}catch(e){i("throw",e)}}function i(e,t){switch(e){case"return":r.resolve({value:t,done:!0});break;case"throw":r.reject(t);break;default:r.resolve({value:t,done:!1})}(r=r.next)?o(r.key,r.arg):n=null}this._invoke=function(e,t){return new Promise((function(i,a){var u={key:e,arg:t,resolve:i,reject:a,next:null};n?n=n.next=u:(r=n=u,o(e,t))}))},"function"!=typeof e.return&&(this.return=void 0)}function t(e,t){this.v=e,this.k=t}function r(e){var r={},n=!1;function o(r,o){return n=!0,o=new Promise((function(t){t(e[r](o))})),{done:!1,value:new t(o,1)}}return r["undefined"!=typeof Symbol&&Symbol.iterator||"@@iterator"]=function(){return this},r.next=function(e){return n?(n=!1,e):o("next",e)},"function"==typeof e.throw&&(r.throw=function(e){if(n)throw n=!1,e;return o("throw",e)}),"function"==typeof e.return&&(r.return=function(e){return n?(n=!1,e):o("return",e)}),r}function n(e){var t,r,n,i=2;for("undefined"!=typeof Symbol&&(r=Symbol.asyncIterator,n=Symbol.iterator);i--;){if(r&&null!=(t=e[r]))return t.call(e);if(n&&null!=(t=e[n]))return new o(t.call(e));r="@@asyncIterator",n="@@iterator"}throw new TypeError("Object is not async iterable")}function o(e){function t(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+" is not an object."));var t=e.done;return Promise.resolve(e.value).then((function(e){return{value:e,done:t}}))}return o=function(e){this.s=e,this.n=e.next},o.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var r=this.s.return;return void 0===r?Promise.resolve({value:e,done:!0}):t(r.apply(this.s,arguments))},throw:function(e){var r=this.s.return;return void 0===r?Promise.reject(e):t(r.apply(this.s,arguments))}},new o(e)}function i(e){return new t(e,0)}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function u(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){m(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(){s=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(e,t,r){e[t]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",u=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function f(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{f({},"")}catch(e){f=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var i=t&&t.prototype instanceof m?t:m,a=Object.create(i.prototype),u=new P(n||[]);return o(a,"_invoke",{value:k(e,r,u)}),a}function p(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var h="suspendedStart",d="executing",v="completed",y={};function m(){}function b(){}function g(){}var w={};f(w,a,(function(){return this}));var E=Object.getPrototypeOf,O=E&&E(E(L([])));O&&O!==r&&n.call(O,a)&&(w=O);var S=g.prototype=m.prototype=Object.create(w);function x(e){["next","throw","return"].forEach((function(t){f(e,t,(function(e){return this._invoke(t,e)}))}))}function R(e,t){function r(o,i,a,u){var s=p(e[o],e,i);if("throw"!==s.type){var c=s.arg,f=c.value;return f&&"object"==typeof f&&n.call(f,"__await")?t.resolve(f.__await).then((function(e){r("next",e,a,u)}),(function(e){r("throw",e,a,u)})):t.resolve(f).then((function(e){c.value=e,a(c)}),(function(e){return r("throw",e,a,u)}))}u(s.arg)}var i;o(this,"_invoke",{value:function(e,n){function o(){return new t((function(t,o){r(e,n,t,o)}))}return i=i?i.then(o,o):o()}})}function k(t,r,n){var o=h;return function(i,a){if(o===d)throw new Error("Generator is already running");if(o===v){if("throw"===i)throw a;return{value:e,done:!0}}
vendor: 4,406 bytes, line 12936
12936for(n.method=i,n.arg=a;;){var u=n.delegate;if(u){var s=T(u,n);if(s){if(s===y)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===h)throw o=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=d;var c=p(t,r,n);if("normal"===c.type){if(o=n.done?v:"suspendedYield",c.arg===y)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(o=v,n.method="throw",n.arg=c.arg)}}}function T(t,r){var n=r.method,o=t.iterator[n];if(o===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,T(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var i=p(o,t.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,y;var a=i.arg;return a?a.done?(r[t.resultName]=a.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,y):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function j(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function A(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(j,this),this.reset(!0)}function L(t){if(t||""===t){var r=t[a];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,i=function r(){for(;++o<t.length;)if(n.call(t,o))return r.value=t[o],r.done=!1,r;return r.value=e,r.done=!0,r};return i.next=i}}throw new TypeError(typeof t+" is not iterable")}return b.prototype=g,o(S,"constructor",{value:g,configurable:!0}),o(g,"constructor",{value:b,configurable:!0}),b.displayName=f(g,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===b||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,g):(e.__proto__=g,f(e,c,"GeneratorFunction")),e.prototype=Object.create(S),e},t.awrap=function(e){return{__await:e}},x(R.prototype),f(R.prototype,u,(function(){return this})),t.AsyncIterator=R,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new R(l(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},x(S),f(S,c,"Generator"),f(S,a,(function(){return this})),f(S,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=L,P.prototype={constructor:P,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(A),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function o(n,o){return u.type="throw",u.arg=t,r.next=n,o&&(r.method="next",r.arg=e),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],u=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var s=n.call(a,"catchLoc"),c=n.call(a,"finallyLoc");if(s&&c){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(s){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),y},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];
12936if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),A(r),y}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;A(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:L(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),y}},t}function c(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}function f(e){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f(e)}function l(t){return function(){return new e(t.apply(this,arguments))}}function p(e,t,r,n,o,i,a){try{var u=e[i](a),s=u.value}catch(e){return void r(e)}u.done?t(s):Promise.resolve(s).then(n,o)}function h(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function a(e){p(i,n,o,a,u,"next",e)}function u(e){p(i,n,o,a,u,"throw",e)}a(void 0)}))}}function d(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function v(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,c(n.key),n)}}function y(e,t,r){return t&&v(e.prototype,t),r&&v(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function m(e,t,r){return(t=c(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function b(e,t){return w(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,u=[],s=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=i.call(r)).done)&&(u.push(n.value),u.length!==t);s=!0);}catch(e){c=!0,o=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw o}}return u}}(e,t)||O(e,t)||x()}function g(e){return function(e){if(Array.isArray(e))return S(e)}(e)||E(e)||O(e)||function(){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 w(e){if(Array.isArray(e))return e}function E(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function O(e,t){if(e){if("string"==typeof e)return S(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?S(e,t):void 0}}function S(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function x(){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 R(e,t){return function(){return e.apply(t,arguments)}}e.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},e.prototype.next=function(e){return this._invoke("next",e)},e.prototype.throw=function(e){return this._invoke("throw",e)},e.prototype.return=function(e){return this._invoke("return",e)};var k,T=Object.prototype.toString,j=Object.getPrototypeOf,A=Symbol.iterator,P=Symbol.toStringTag,L=(k=Object.create(null),function(e){var t=T.call(e);return k[t]||(k[t]=t.slice(8,-1).toLowerCase())}),N=function(e){return e=e.toLowerCase(),function(t){return L(t)===e}},_=function(e){return function(t){return f(t)===e}},C=Array.isArray,U=_("undefined");function F(e){return null!==e&&!U(e)&&null!==e.constructor&&!U(e.constructor)&&q(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var B=N("ArrayBuffer");var D=_("string"),q=_("function"),I=_("number"),M=function(e){return null!==e&&"object"===f(e)},z=function(e){if("object"!==L(e))return!1;var t=j(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||P in e||A in e)},H=N("Date"),J=N("File"),W=N("Blob"),K=N("FileList"),V=N("URLSearchParams"),G=b(["ReadableStream","Request","Response","Headers"].map(N),4),X=G[0],$=G[1],Y=G[2],Q=G[3];function Z(e,t){var r,n,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=o.allOwnKeys,a=void 0!==i&&i;if(null!=e)if("object"!==f(e)&&(e=[e]),C(e))for(r=0,n=e.length;r<n;r++)t.call(null,e[r],r,e);else{if(F(e))return;var u,s=a?Object.getOwnPropertyNames(e):Object.keys(e),c=s.length;for(r=0;r<c;r++)u=s[r],t.call(null,e[u],u,e)}}function ee(e,t){if(F(e))return null;t=t.toLowerCase();for(var r,n=Object.keys(e),o=n.length;o-- >0;
12936)if(t===(r=n[o]).toLowerCase())return r;return null}var te="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,re=function(e){return!U(e)&&e!==te};var ne,oe=(ne="undefined"!=typeof Uint8Array&&j(Uint8Array),function(e){return ne&&e instanceof ne}),ie=N("HTMLFormElement"),ae=function(e){var t=Object.prototype.hasOwnProperty;return function(e,r){return t.call(e,r)}}(),ue=N("RegExp"),se=function(e,t){var r=Object.getOwnPropertyDescriptors(e),n={};Z(r,(function(r,o){var i;!1!==(i=t(r,o,e))&&(n[o]=i||r)})),Object.defineProperties(e,n)};var ce,fe,le,pe,he=N("AsyncFunction"),de=(ce="function"==typeof setImmediate,fe=q(te.postMessage),ce?setImmediate:fe?(le="axios@".concat(Math.random()),pe=[],te.addEventListener("message",(function(e){var t=e.source,r=e.data;t===te&&r===le&&pe.length&&pe.shift()()}),!1),function(e){pe.push(e),te.postMessage(le,"*")}):function(e){return setTimeout(e)}),ve="undefined"!=typeof queueMicrotask?queueMicrotask.bind(te):"undefined"!=typeof process&&process.nextTick||de,ye={isArray:C,isArrayBuffer:B,isBuffer:F,isFormData:function(e){var t;return e&&("function"==typeof FormData&&e instanceof FormData||q(e.append)&&("formdata"===(t=L(e))||"object"===t&&q(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&B(e.buffer)},isString:D,isNumber:I,isBoolean:function(e){return!0===e||!1===e},isObject:M,isPlainObject:z,isEmptyObject:function(e){if(!M(e)||F(e))return!1;try{return 0===Object.keys(e).length&&Object.getPrototypeOf(e)===Object.prototype}catch(e){return!1}},isReadableStream:X,isRequest:$,isResponse:Y,isHeaders:Q,isUndefined:U,isDate:H,isFile:J,isBlob:W,isRegExp:ue,isFunction:q,isStream:function(e){return M(e)&&q(e.pipe)},isURLSearchParams:V,isTypedArray:oe,isFileList:K,forEach:Z,merge:function e(){for(var t=re(this)&&this||{},r=t.caseless,n={},o=function(t,o){var i=r&&ee(n,o)||o;z(n[i])&&z(t)?n[i]=e(n[i],t):z(t)?n[i]=e({},t):C(t)?n[i]=t.slice():n[i]=t},i=0,a=arguments.length;i<a;i++)arguments[i]&&Z(arguments[i],o);return n},extend:function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=n.allOwnKeys;return Z(t,(function(t,n){r&&q(t)?e[n]=R(t,r):e[n]=t}),{allOwnKeys:o}),e},trim:function(e){return e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},stripBOM:function(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e},inherits:function(e,t,r,n){e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},toFlatObject:function(e,t,r,n){var o,i,a,u={};if(t=t||{},null==e)return t;do{for(i=(o=Object.getOwnPropertyNames(e)).length;i-- >0;)a=o[i],n&&!n(a,e,t)||u[a]||(t[a]=e[a],u[a]=!0);e=!1!==r&&j(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},kindOf:L,kindOfTest:N,endsWith:function(e,t,r){e=String(e),(void 0===r||r>e.length)&&(r=e.length),r-=t.length;var n=e.indexOf(t,r);return-1!==n&&n===r},toArray:function(e){if(!e)return null;if(C(e))return e;var t=e.length;if(!I(t))return null;for(var r=new Array(t);t-- >0;)r[t]=e[t];return r},forEachEntry:function(e,t){for(var r,n=(e&&e[A]).call(e);(r=n.next())&&!r.done;){var o=r.value;t.call(e,o[0],o[1])}},matchAll:function(e,t){for(var r,n=[];null!==(r=e.exec(t));)n.push(r);return n},isHTMLForm:ie,hasOwnProperty:ae,hasOwnProp:ae,reduceDescriptors:se,freezeMethods:function(e){se(e,(function(t,r){if(q(e)&&-1!==["arguments","caller","callee"].indexOf(r))return!1;var n=e[r];q(n)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=function(){throw Error("Can not rewrite read-only method '"+r+"'")}))}))},toObjectSet:function(e,t){var r={},n=function(e){e.forEach((function(e){r[e]=!0}))};return C(e)?n(e):n(String(e).split(t)),r},toCamelCase:function(e){return e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,r){return t.toUpperCase()+r}))},noop:function(){},toFiniteNumber:function(e,t){return null!=e&&Number.isFinite(e=+e)?e:t},findKey:ee,global:te,isContextDefined:re,isSpecCompliantForm:function(e){return!!(e&&q(e.append)&&"FormData"===e[P]&&e[A])},toJSONObject:function(e){var t=new Array(10);return function e(r,n){if(M(r)){if(t.indexOf(r)>=0)return;if(F(r))return r;if(!("toJSON"in r)){t[n]=r;var o=C(r)?[]:{};return Z(r,(function(t,r){var i=e(t,n+1);!U(i)&&(o[r]=i)})),t[n]=void 0,o}}return r}(e,0)},isAsyncFn:he,isThenable:function(e){return e&&(M(e)||q(e))&&q(e.then)&&q(e.catch)},setImmediate:de,asap:ve,isIterable:function(e){return null!=e&&q(e[A])}};function me(e,t,r,n,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),n&&(this.request=n),o&&(this.response=o,this.status=o.status?o.status:null)}ye.inherits(me,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:ye.toJSONObject(this.config),code:this.code,status:this.status}}});var be=me.prototype,ge={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","E
12936RR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((function(e){ge[e]={value:e}})),Object.defineProperties(me,ge),Object.defineProperty(be,"isAxiosError",{value:!0}),me.from=function(e,t,r,n,o,i){var a=Object.create(be);return ye.toFlatObject(e,a,(function(e){return e!==Error.prototype}),(function(e){return"isAxiosError"!==e})),me.call(a,e.message,t,r,n,o),a.cause=e,a.name=e.name,i&&Object.assign(a,i),a};function we(e){return ye.isPlainObject(e)||ye.isArray(e)}function Ee(e){return ye.endsWith(e,"[]")?e.slice(0,-2):e}function Oe(e,t,r){return e?e.concat(t).map((function(e,t){return e=Ee(e),!r&&t?"["+e+"]":e})).join(r?".":""):t}var Se=ye.toFlatObject(ye,{},null,(function(e){return/^is[A-Z]/.test(e)}));function xe(e,t,r){if(!ye.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;var n=(r=ye.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!ye.isUndefined(t[e])}))).metaTokens,o=r.visitor||c,i=r.dots,a=r.indexes,u=(r.Blob||"undefined"!=typeof Blob&&Blob)&&ye.isSpecCompliantForm(t);if(!ye.isFunction(o))throw new TypeError("visitor must be a function");function s(e){if(null===e)return"";if(ye.isDate(e))return e.toISOString();if(ye.isBoolean(e))return e.toString();if(!u&&ye.isBlob(e))throw new me("Blob is not supported. Use a Buffer instead.");return ye.isArrayBuffer(e)||ye.isTypedArray(e)?u&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function c(e,r,o){var u=e;if(e&&!o&&"object"===f(e))if(ye.endsWith(r,"{}"))r=n?r:r.slice(0,-2),e=JSON.stringify(e);else if(ye.isArray(e)&&function(e){return ye.isArray(e)&&!e.some(we)}(e)||(ye.isFileList(e)||ye.endsWith(r,"[]"))&&(u=ye.toArray(e)))return r=Ee(r),u.forEach((function(e,n){!ye.isUndefined(e)&&null!==e&&t.append(!0===a?Oe([r],n,i):null===a?r:r+"[]",s(e))})),!1;return!!we(e)||(t.append(Oe(o,r,i),s(e)),!1)}var l=[],p=Object.assign(Se,{defaultVisitor:c,convertValue:s,isVisitable:we});if(!ye.isObject(e))throw new TypeError("data must be an object");return function e(r,n){if(!ye.isUndefined(r)){if(-1!==l.indexOf(r))throw Error("Circular reference detected in "+n.join("."));l.push(r),ye.forEach(r,(function(r,i){!0===(!(ye.isUndefined(r)||null===r)&&o.call(t,r,ye.isString(i)?i.trim():i,n,p))&&e(r,n?n.concat(i):[i])})),l.pop()}}(e),t}function Re(e){var t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function ke(e,t){this._pairs=[],e&&xe(e,this,t)}var Te=ke.prototype;function je(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Ae(e,t,r){if(!t)return e;var n=r&&r.encode||je;ye.isFunction(r)&&(r={serialize:r});var o,i=r&&r.serialize;if(o=i?i(t,r):ye.isURLSearchParams(t)?t.toString():new ke(t,r).toString(n)){var a=e.indexOf("#");-1!==a&&(e=e.slice(0,a)),e+=(-1===e.indexOf("?")?"?":"&")+o}return e}Te.append=function(e,t){this._pairs.push([e,t])},Te.toString=function(e){var t=e?function(t){return e.call(this,t,Re)}:Re;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};var Pe=function(){function e(){d(this,e),this.handlers=[]}return y(e,[{key:"use",value:function(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1}},{key:"eject",value:function(e){this.handlers[e]&&(this.handlers[e]=null)}},{key:"clear",value:function(){this.handlers&&(this.handlers=[])}},{key:"forEach",value:function(e){ye.forEach(this.handlers,(function(t){null!==t&&e(t)}))}}]),e}(),Le={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Ne={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:ke,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},_e="undefined"!=typeof window&&"undefined"!=typeof document,Ce="object"===("undefined"==typeof navigator?"undefined":f(navigator))&&navigator||void 0,Ue=_e&&(!Ce||["ReactNative","NativeScript","NS"].indexOf(Ce.product)<0),Fe="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,Be=_e&&window.location.href||"http://localhost",De=u(u({},Object.freeze({__proto__:null,hasBrowserEnv:_e,hasStandardBrowserWebWorkerEnv:Fe,hasStandardBrowserEnv:Ue,navigator:Ce,origin:Be})),Ne);function qe(e){function t(e,r,n,o){var i=e[o++];if("__proto__"===i)return!0;var a=Number.isFinite(+i),u=o>=e.length;return i=!i&&ye.isArray(n)?n.length:i,u?(ye.hasOwnProp(n,i)?n[i]=[n[i],r]:n[i]=r,!a):(n[i]&&ye.isObject(n[i])||(n[i]=[]),t(e,r,n[i],o)&&ye.isArray(n[i])&&(n[i]=function(e){var t,r,n={},o=Object.keys(e),i=o.length;for(t=0;t<i;t++)n[r=o[t]]=e[r];return n}(n[i])),!a)}if(ye.isFormData(e)&&ye.isFunction(e.entries)){var r={};return ye.forEachEntry(e,(function(e,n){t(function(e){return ye.matchAll(/\w+|\[(\w*)]/g,e).map((function(e){return"[]"===e[0]?"":e[1]||e[0]}))}(e),n,r,0)})),r}return null}var Ie={transitional:Le,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){var r,n=t.getContentType()||"",o=n.indexOf("application/json")>-1,i=ye.isObject(e);
12936if(i&&ye.isHTMLForm(e)&&(e=new FormData(e)),ye.isFormData(e))return o?JSON.stringify(qe(e)):e;if(ye.isArrayBuffer(e)||ye.isBuffer(e)||ye.isStream(e)||ye.isFile(e)||ye.isBlob(e)||ye.isReadableStream(e))return e;if(ye.isArrayBufferView(e))return e.buffer;if(ye.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();if(i){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return xe(e,new De.classes.URLSearchParams,u({visitor:function(e,t,r,n){return De.isNode&&ye.isBuffer(e)?(this.append(t,e.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((r=ye.isFileList(e))||n.indexOf("multipart/form-data")>-1){var a=this.env&&this.env.FormData;return xe(r?{"files[]":e}:e,a&&new a,this.formSerializer)}}return i||o?(t.setContentType("application/json",!1),function(e,t,r){if(ye.isString(e))try{return(t||JSON.parse)(e),ye.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(r||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){var t=this.transitional||Ie.transitional,r=t&&t.forcedJSONParsing,n="json"===this.responseType;if(ye.isResponse(e)||ye.isReadableStream(e))return e;if(e&&ye.isString(e)&&(r&&!this.responseType||n)){var o=!(t&&t.silentJSONParsing)&&n;try{return JSON.parse(e)}catch(e){if(o){if("SyntaxError"===e.name)throw me.from(e,me.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:De.classes.FormData,Blob:De.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};ye.forEach(["delete","get","head","post","put","patch"],(function(e){Ie.headers[e]={}}));var Me=Ie,ze=ye.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),He=Symbol("internals");function Je(e){return e&&String(e).trim().toLowerCase()}function We(e){return!1===e||null==e?e:ye.isArray(e)?e.map(We):String(e)}function Ke(e,t,r,n,o){return ye.isFunction(n)?n.call(this,t,r):(o&&(t=r),ye.isString(t)?ye.isString(n)?-1!==t.indexOf(n):ye.isRegExp(n)?n.test(t):void 0:void 0)}var Ve=function(e,t){function r(e){d(this,r),e&&this.set(e)}return y(r,[{key:"set",value:function(e,t,r){var n=this;function o(e,t,r){var o=Je(t);if(!o)throw new Error("header name must be a non-empty string");var i=ye.findKey(n,o);(!i||void 0===n[i]||!0===r||void 0===r&&!1!==n[i])&&(n[i||t]=We(e))}var i=function(e,t){return ye.forEach(e,(function(e,r){return o(e,r,t)}))};if(ye.isPlainObject(e)||e instanceof this.constructor)i(e,t);else if(ye.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim()))i(function(e){var t,r,n,o={};return e&&e.split("\n").forEach((function(e){n=e.indexOf(":"),t=e.substring(0,n).trim().toLowerCase(),r=e.substring(n+1).trim(),!t||o[t]&&ze[t]||("set-cookie"===t?o[t]?o[t].push(r):o[t]=[r]:o[t]=o[t]?o[t]+", "+r:r)})),o}(e),t);else if(ye.isObject(e)&&ye.isIterable(e)){var a,u,s,c={},f=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=O(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}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 i,a=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){u=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}(e);try{for(f.s();!(s=f.n()).done;){var l=s.value;if(!ye.isArray(l))throw TypeError("Object iterator must return a key-value pair");c[u=l[0]]=(a=c[u])?ye.isArray(a)?[].concat(g(a),[l[1]]):[a,l[1]]:l[1]}}catch(e){f.e(e)}finally{f.f()}i(c,t)}else null!=e&&o(t,e,r);return this}},{key:"get",value:function(e,t){if(e=Je(e)){var r=ye.findKey(this,e);if(r){var n=this[r];if(!t)return n;if(!0===t)return function(e){for(var t,r=Object.create(null),n=/([^\s,;
12936=]+)\s*(?:=\s*([^,;]+))?/g;t=n.exec(e);)r[t[1]]=t[2];return r}(n);if(ye.isFunction(t))return t.call(this,n,r);if(ye.isRegExp(t))return t.exec(n);throw new TypeError("parser must be boolean|regexp|function")}}}},{key:"has",value:function(e,t){if(e=Je(e)){var r=ye.findKey(this,e);return!(!r||void 0===this[r]||t&&!Ke(0,this[r],r,t))}return!1}},{key:"delete",value:function(e,t){var r=this,n=!1;function o(e){if(e=Je(e)){var o=ye.findKey(r,e);!o||t&&!Ke(0,r[o],o,t)||(delete r[o],n=!0)}}return ye.isArray(e)?e.forEach(o):o(e),n}},{key:"clear",value:function(e){for(var t=Object.keys(this),r=t.length,n=!1;r--;){var o=t[r];e&&!Ke(0,this[o],o,e,!0)||(delete this[o],n=!0)}return n}},{key:"normalize",value:function(e){var t=this,r={};return ye.forEach(this,(function(n,o){var i=ye.findKey(r,o);if(i)return t[i]=We(n),void delete t[o];var a=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(function(e,t,r){return t.toUpperCase()+r}))}(o):String(o).trim();a!==o&&delete t[o],t[a]=We(n),r[a]=!0})),this}},{key:"concat",value:function(){for(var e,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return(e=this.constructor).concat.apply(e,[this].concat(r))}},{key:"toJSON",value:function(e){var t=Object.create(null);return ye.forEach(this,(function(r,n){null!=r&&!1!==r&&(t[n]=e&&ye.isArray(r)?r.join(", "):r)})),t}},{key:Symbol.iterator,value:function(){return Object.entries(this.toJSON())[Symbol.iterator]()}},{key:"toString",value:function(){return Object.entries(this.toJSON()).map((function(e){var t=b(e,2);return t[0]+": "+t[1]})).join("\n")}},{key:"getSetCookie",value:function(){return this.get("set-cookie")||[]}},{key:Symbol.toStringTag,get:function(){return"AxiosHeaders"}}],[{key:"from",value:function(e){return e instanceof this?e:new this(e)}},{key:"concat",value:function(e){for(var t=new this(e),r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];return n.forEach((function(e){return t.set(e)})),t}},{key:"accessor",value:function(e){var t=(this[He]=this[He]={accessors:{}}).accessors,r=this.prototype;function n(e){var n=Je(e);t[n]||(!function(e,t){var r=ye.toCamelCase(" "+t);["get","set","has"].forEach((function(n){Object.defineProperty(e,n+r,{value:function(e,r,o){return this[n].call(this,t,e,r,o)},configurable:!0})}))}(r,e),t[n]=!0)}return ye.isArray(e)?e.forEach(n):n(e),this}}]),r}();Ve.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),ye.reduceDescriptors(Ve.prototype,(function(e,t){var r=e.value,n=t[0].toUpperCase()+t.slice(1);return{get:function(){return r},set:function(e){this[n]=e}}})),ye.freezeMethods(Ve);var Ge=Ve;function Xe(e,t){var r=this||Me,n=t||r,o=Ge.from(n.headers),i=n.data;return ye.forEach(e,(function(e){i=e.call(r,i,o.normalize(),t?t.status:void 0)})),o.normalize(),i}function $e(e){return!(!e||!e.__CANCEL__)}function Ye(e,t,r){me.call(this,null==e?"canceled":e,me.ERR_CANCELED,t,r),this.name="CanceledError"}function Qe(e,t,r){var n=r.config.validateStatus;r.status&&n&&!n(r.status)?t(new me("Request failed with status code "+r.status,[me.ERR_BAD_REQUEST,me.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r)):e(r)}function Ze(e,t){e=e||10;var r,n=new Array(e),o=new Array(e),i=0,a=0;return t=void 0!==t?t:1e3,function(u){var s=Date.now(),c=o[a];r||(r=s),n[i]=u,o[i]=s;for(var f=a,l=0;f!==i;)l+=n[f++],f%=e;if((i=(i+1)%e)===a&&(a=(a+1)%e),!(s-r<t)){var p=c&&s-c;return p?Math.round(1e3*l/p):void 0}}}function et(e,t){var r,n,o=0,i=1e3/t,a=function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now();o=i,r=null,n&&(clearTimeout(n),n=null),e.apply(void 0,g(t))};return[function(){for(var e=Date.now(),t=e-o,u=arguments.length,s=new Array(u),c=0;c<u;c++)s[c]=arguments[c];t>=i?a(s,e):(r=s,n||(n=setTimeout((function(){n=null,a(r)}),i-t)))},function(){return r&&a(r)}]}ye.inherits(Ye,me,{__CANCEL__:!0});var tt=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:3,n=0,o=Ze(50,250);return et((function(r){var i=r.loaded,a=r.lengthComputable?r.total:void 0,u=i-n,s=o(u);n=i;var c=m({loaded:i,total:a,progress:a?i/a:void 0,bytes:u,rate:s||void 0,estimated:s&&a&&i<=a?(a-i)/s:void 0,event:r,lengthComputable:null!=a},t?"download":"upload",!0);e(c)}),r)},rt=function(e,t){var r=null!=e;return[function(n){return t[0]({lengthComputable:r,total:e,loaded:n})},t[1]]},nt=function(e){return function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return ye.asap((function(){return e.apply(void 0,r)}))}},ot=De.hasStandardBrowserEnv?function(e,t){return function(r){return r=new URL(r,De.origin),e.protocol===r.protocol&&e.host===r.host&&(t||e.port===r.port)}}(new URL(De.origin),De.navigator&&/(msie|trident)/i.test(De.navigator.userAgent)):function(){return!0},it=De.hasStandardBrowserEnv?{write:function(e,t,r,n,o,i){var a=[e+"="+encodeURIComponent(t)];ye.isNumber(r)&&a.push("expires="+new Date(r).toGMTString()),ye.isString(n)&&a.push("path="+n),ye.isString(o)&&a.push("domain="+o),!0===i&&a.push("secure"),document.cookie=a.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}};function at(e,t,r){var n=!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t);return e&&(n||0==r)?function(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}var ut=function(e){return e instanceof Ge?u({},e):e};function st(e,t){t=t||{};var r={};function n(e,t,r,n){return ye.isPlainObject(e)&&ye.isPlainObject(t)?ye.merge.call({caseless:n},e,t):ye.isPlainObject(t)?ye.merge({},t):ye.isArray(t)?t.slice():t}function o(e,t,r,o){return ye.isUndefined(t)?ye.isUndefined(e)?void 0:n(void 0,e,0,o):n(e,t,0,o)}function i(e,t){if(!ye.isUndefined(t))return n(void 0,t)}function a(e,t){return ye.isUndefined(t)?ye.isUndefined(e)?void 0:n(void 0,e):n(void 0,t)}function s(r,o,i){return i in t?n(r,o):i in e?n(void 0,r):void 0}var c={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBo
12936dyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:function(e,t,r){return o(ut(e),ut(t),0,!0)}};return ye.forEach(Object.keys(u(u({},e),t)),(function(n){var i=c[n]||o,a=i(e[n],t[n],n);ye.isUndefined(a)&&i!==s||(r[n]=a)})),r}var ct,ft,lt=function(e){var t,r,n=st({},e),o=n.data,i=n.withXSRFToken,a=n.xsrfHeaderName,u=n.xsrfCookieName,s=n.headers,c=n.auth;if(n.headers=s=Ge.from(s),n.url=Ae(at(n.baseURL,n.url,n.allowAbsoluteUrls),e.params,e.paramsSerializer),c&&s.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),ye.isFormData(o))if(De.hasStandardBrowserEnv||De.hasStandardBrowserWebWorkerEnv)s.setContentType(void 0);else if(!1!==(t=s.getContentType())){var f=t?t.split(";").map((function(e){return e.trim()})).filter(Boolean):[],l=w(r=f)||E(r)||O(r)||x(),p=l[0],h=l.slice(1);s.setContentType([p||"multipart/form-data"].concat(g(h)).join("; "))}if(De.hasStandardBrowserEnv&&(i&&ye.isFunction(i)&&(i=i(n)),i||!1!==i&&ot(n.url))){var d=a&&u&&it.read(u);d&&s.set(a,d)}return n},pt="undefined"!=typeof XMLHttpRequest&&function(e){return new Promise((function(t,r){var n,o,i,a,u,s=lt(e),c=s.data,f=Ge.from(s.headers).normalize(),l=s.responseType,p=s.onUploadProgress,h=s.onDownloadProgress;function d(){a&&a(),u&&u(),s.cancelToken&&s.cancelToken.unsubscribe(n),s.signal&&s.signal.removeEventListener("abort",n)}var v=new XMLHttpRequest;function y(){if(v){var n=Ge.from("getAllResponseHeaders"in v&&v.getAllResponseHeaders());Qe((function(e){t(e),d()}),(function(e){r(e),d()}),{data:l&&"text"!==l&&"json"!==l?v.response:v.responseText,status:v.status,statusText:v.statusText,headers:n,config:e,request:v}),v=null}}if(v.open(s.method.toUpperCase(),s.url,!0),v.timeout=s.timeout,"onloadend"in v?v.onloadend=y:v.onreadystatechange=function(){v&&4===v.readyState&&(0!==v.status||v.responseURL&&0===v.responseURL.indexOf("file:"))&&setTimeout(y)},v.onabort=function(){v&&(r(new me("Request aborted",me.ECONNABORTED,e,v)),v=null)},v.onerror=function(){r(new me("Network Error",me.ERR_NETWORK,e,v)),v=null},v.ontimeout=function(){var t=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded",n=s.transitional||Le;s.timeoutErrorMessage&&(t=s.timeoutErrorMessage),r(new me(t,n.clarifyTimeoutError?me.ETIMEDOUT:me.ECONNABORTED,e,v)),v=null},void 0===c&&f.setContentType(null),"setRequestHeader"in v&&ye.forEach(f.toJSON(),(function(e,t){v.setRequestHeader(t,e)})),ye.isUndefined(s.withCredentials)||(v.withCredentials=!!s.withCredentials),l&&"json"!==l&&(v.responseType=s.responseType),h){var m=b(tt(h,!0),2);i=m[0],u=m[1],v.addEventListener("progress",i)}if(p&&v.upload){var g=b(tt(p),2);o=g[0],a=g[1],v.upload.addEventListener("progress",o),v.upload.addEventListener("loadend",a)}(s.cancelToken||s.signal)&&(n=function(t){v&&(r(!t||t.type?new Ye(null,e,v):t),v.abort(),v=null)},s.cancelToken&&s.cancelToken.subscribe(n),s.signal&&(s.signal.aborted?n():s.signal.addEventListener("abort",n)));var w,E,O=(w=s.url,(E=/^([-+\w]{1,25})(:?\/\/|:)/.exec(w))&&E[1]||"");O&&-1===De.protocols.indexOf(O)?r(new me("Unsupported protocol "+O+":",me.ERR_BAD_REQUEST,e)):v.send(c||null)}))},ht=function(e,t){var r=(e=e?e.filter(Boolean):[]).length;if(t||r){var n,o=new AbortController,i=function(e){if(!n){n=!0,u();var t=e instanceof Error?e:this.reason;o.abort(t instanceof me?t:new Ye(t instanceof Error?t.message:t))}},a=t&&setTimeout((function(){a=null,i(new me("timeout ".concat(t," of ms exceeded"),me.ETIMEDOUT))}),t),u=function(){e&&(a&&clearTimeout(a),a=null,e.forEach((function(e){e.unsubscribe?e.unsubscribe(i):e.removeEventListener("abort",i)})),e=null)};e.forEach((function(e){return e.addEventListener("abort",i)}));var s=o.signal;return s.unsubscribe=function(){return ye.asap(u)},s}},dt=s().mark((function e(t,r){var n,o,i;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.byteLength,r&&!(n<r)){e.next=5;break}return e.next=4,t;case 4:return e.abrupt("return");case 5:o=0;case 6:if(!(o<n)){e.next=13;break}return i=o+r,e.next=10,t.slice(o,i);case 10:o=i,e.next=6;break;case 13:case"end":return e.stop()}}),e)})),vt=function(){var e=l(s().mark((function e(t,o){var a,u,c,f,l,p;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:a=!1,u=!1,e.prev=2,f=n(yt(t));case 4:return e.next=6,i(f.next());case 6:if(!(a=!(l=e.sent).done)){e.next=12;break}return p=l.value,e.delegateYield(r(n(dt(p,o))),"t0",9);case 9:a=!1,e.next=4;break;case 12:e.next=18;break;case 14:e.prev=14,e.t1=e.catch(2),u=!0,c=e.t1;case 18:if(e.prev=18,e.prev=19,!a||null==f.return){e.next=23;break}return e.next=23,i(f.return());case 23:if(e.prev=23,!u){e.next=26;break}throw c;case 26:return e.finish(23);case 27:return e.finish(18);case 28:case"end":return e.stop()}}),e,null,[[2,14,18,28],[19,,23,27]])})));return function(t,r){return e.apply(this,arguments)}}(),yt=function(){var e=l(s().mark((function e(t){var o,a,u,c;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t[Symbol.asyncIterator]){e.next=3;break}return e.delegateYield(r(n(t)),"t0",2);case 2:return e.abrupt("return");case 3:o=t.getReader(),e.prev=4;case 5:return e.next=7,i(o.read());case 7:if(a=e.sent,u=a.done,c=a.value,!u){e.next=12;break}return e.abrupt("break",16);case 12:return e.next=14,c;case 14:e.next=5;break;case 16:return e.prev=16,e.next=19,i(o.cancel());case 19:return e.finish(16);case 20:case"end":return e.stop()}}),e,null,[[4,,16,20]])})));return function(t){return e.apply(this,arguments)}}(),mt=function(e,t,r,n){var o,i=vt(e,t),a=0,u=function(e){o||(o=!0,n&&n(e))};return new ReadableStream({pull:function(e){return h(s().mark((function t(){var n,o,c,f,l;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,i.next();case 3:if(n=t.sent,o=n.done,c=n.value,!o){t.next=10;break}return u(),e.close(),t.abrupt("return");case 10:f=c.byteLength,r&&(l=a+=f,r(l)),e.enqueue(new Uint8Array(c)),t.next=19;break;case 15:throw t.prev=15,t.t0=t.catch(0),u(t.t0),t.t0;case 19:case"end":return t.stop()}}),t,null,[[0,15]])})))()},cancel:function(e){return u(e),i.return()}},{highWaterMark:2})},bt="function"==typeof fetch&&"function"==typeof Request&&"function"==typeof Response,gt=bt&&"function"==typeof ReadableStream,wt=bt&&("function"==typeof TextEncoder?(ct=new TextEncoder,function(e){return ct.encode(e)}):function(){var e=h(s().mark((function e(t){return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=Uint8Array,e.next=3,new Response(t).arrayBuffer();case 3:return e.t1=e.sent,e.abrupt("return",new e.t0(e.t1));case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),Et=function(e){try{for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return!!e.apply(void 0,r)}catch(e){return!1}}
12936,Ot=gt&&Et((function(){var e=!1,t=new Request(De.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t})),St=gt&&Et((function(){return ye.isReadableStream(new Response("").body)})),xt={stream:St&&function(e){return e.body}};bt&&(ft=new Response,["text","arrayBuffer","blob","formData","stream"].forEach((function(e){!xt[e]&&(xt[e]=ye.isFunction(ft[e])?function(t){return t[e]()}:function(t,r){throw new me("Response type '".concat(e,"' is not supported"),me.ERR_NOT_SUPPORT,r)})})));var Rt=function(){var e=h(s().mark((function e(t){var r;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!=t){e.next=2;break}return e.abrupt("return",0);case 2:if(!ye.isBlob(t)){e.next=4;break}return e.abrupt("return",t.size);case 4:if(!ye.isSpecCompliantForm(t)){e.next=9;break}return r=new Request(De.origin,{method:"POST",body:t}),e.next=8,r.arrayBuffer();case 8:case 15:return e.abrupt("return",e.sent.byteLength);case 9:if(!ye.isArrayBufferView(t)&&!ye.isArrayBuffer(t)){e.next=11;break}return e.abrupt("return",t.byteLength);case 11:if(ye.isURLSearchParams(t)&&(t+=""),!ye.isString(t)){e.next=16;break}return e.next=15,wt(t);case 16:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),kt=function(){var e=h(s().mark((function e(t,r){var n;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=ye.toFiniteNumber(t.getContentLength()),e.abrupt("return",null==n?Rt(r):n);case 2:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}(),Tt=bt&&function(){var e=h(s().mark((function e(t){var r,n,o,i,a,c,f,l,p,h,d,v,y,m,g,w,E,O,S,x,R,k,T,j,A,P,L,N,_,C,U,F,B,D;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=lt(t),n=r.url,o=r.method,i=r.data,a=r.signal,c=r.cancelToken,f=r.timeout,l=r.onDownloadProgress,p=r.onUploadProgress,h=r.responseType,d=r.headers,v=r.withCredentials,y=void 0===v?"same-origin":v,m=r.fetchOptions,h=h?(h+"").toLowerCase():"text",g=ht([a,c&&c.toAbortSignal()],f),E=g&&g.unsubscribe&&function(){g.unsubscribe()},e.prev=4,e.t0=p&&Ot&&"get"!==o&&"head"!==o,!e.t0){e.next=11;break}return e.next=9,kt(d,i);case 9:e.t1=O=e.sent,e.t0=0!==e.t1;case 11:if(!e.t0){e.next=15;break}S=new Request(n,{method:"POST",body:i,duplex:"half"}),ye.isFormData(i)&&(x=S.headers.get("content-type"))&&d.setContentType(x),S.body&&(R=rt(O,tt(nt(p))),k=b(R,2),T=k[0],j=k[1],i=mt(S.body,65536,T,j));case 15:return ye.isString(y)||(y=y?"include":"omit"),A="credentials"in Request.prototype,w=new Request(n,u(u({},m),{},{signal:g,method:o.toUpperCase(),headers:d.normalize().toJSON(),body:i,duplex:"half",credentials:A?y:void 0})),e.next=20,fetch(w,m);case 20:return P=e.sent,L=St&&("stream"===h||"response"===h),St&&(l||L&&E)&&(N={},["status","statusText","headers"].forEach((function(e){N[e]=P[e]})),_=ye.toFiniteNumber(P.headers.get("content-length")),C=l&&rt(_,tt(nt(l),!0))||[],U=b(C,2),F=U[0],B=U[1],P=new Response(mt(P.body,65536,F,(function(){B&&B(),E&&E()})),N)),h=h||"text",e.next=26,xt[ye.findKey(xt,h)||"text"](P,t);case 26:return D=e.sent,!L&&E&&E(),e.next=30,new Promise((function(e,r){Qe(e,r,{data:D,headers:Ge.from(P.headers),status:P.status,statusText:P.statusText,config:t,request:w})}));case 30:return e.abrupt("return",e.sent);case 33:if(e.prev=33,e.t2=e.catch(4),E&&E(),!e.t2||"TypeError"!==e.t2.name||!/Load failed|fetch/i.test(e.t2.message)){e.next=38;break}throw Object.assign(new me("Network Error",me.ERR_NETWORK,t,w),{cause:e.t2.cause||e.t2});case 38:throw me.from(e.t2,e.t2&&e.t2.code,t,w);case 39:case"end":return e.stop()}}),e,null,[[4,33]])})));return function(t){return e.apply(this,arguments)}}(),jt={http:null,xhr:pt,fetch:Tt};ye.forEach(jt,(function(e,t){if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}}));var At=function(e){return"- ".concat(e)},Pt=function(e){return ye.isFunction(e)||null===e||!1===e},Lt=function(e){for(var t,r,n=(e=ye.isArray(e)?e:[e]).length,o={},i=0;i<n;i++){var a=void 0;if(r=t=e[i],!Pt(t)&&void 0===(r=jt[(a=String(t)).toLowerCase()]))throw new me("Unknown adapter '".concat(a,"'"));if(r)break;o[a||"#"+i]=r}if(!r){var u=Object.entries(o).map((function(e){var t=b(e,2),r=t[0],n=t[1];return"adapter ".concat(r," ")+(!1===n?"is not supported by the environment":"is not available in the build")}));throw new me("There is no suitable adapter to dispatch the request "+(n?u.length>
129361?"since :\n"+u.map(At).join("\n"):" "+At(u[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return r};function Nt(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Ye(null,e)}function _t(e){return Nt(e),e.headers=Ge.from(e.headers),e.data=Xe.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Lt(e.adapter||Me.adapter)(e).then((function(t){return Nt(e),t.data=Xe.call(e,e.transformResponse,t),t.headers=Ge.from(t.headers),t}),(function(t){return $e(t)||(Nt(e),t&&t.response&&(t.response.data=Xe.call(e,e.transformResponse,t.response),t.response.headers=Ge.from(t.response.headers))),Promise.reject(t)}))}var Ct="1.11.0",Ut={};["object","boolean","number","function","string","symbol"].forEach((function(e,t){Ut[e]=function(r){return f(r)===e||"a"+(t<1?"n ":" ")+e}}));var Ft={};Ut.transitional=function(e,t,r){function n(e,t){return"[Axios v1.11.0] Transitional option '"+e+"'"+t+(r?". "+r:"")}
12936return function(r,o,i){if(!1===e)throw new me(n(o," has been removed"+(t?" in "+t:"")),me.ERR_DEPRECATED);return t&&!Ft[o]&&(Ft[o]=!0,console.warn(n(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(r,o,i)}},Ut.spelling=function(e){return function(t,r){return console.warn("".concat(r," is likely a misspelling of ").concat(e)),!0}};var Bt={assertOptions:function(e,t,r){if("object"!==f(e))throw new me("options must be an object",me.ERR_BAD_OPTION_VALUE);for(var n=Object.keys(e),o=n.length;o-- >0;){var i=n[o],a=t[i];if(a){var u=e[i],s=void 0===u||a(u,i,e);if(!0!==s)throw new me("option "+i+" must be "+s,me.ERR_BAD_OPTION_VALUE)}else if(!0!==r)throw new me("Unknown option "+i,me.ERR_BAD_OPTION)}},validators:Ut},Dt=Bt.validators,qt=function(){function e(t){d(this,e),this.defaults=t||{},this.interceptors={request:new Pe,response:new Pe}}var t;return y(e,[{key:"request",value:(t=h(s().mark((function e(t,r){var n,o;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this._request(t,r);case 3:return e.abrupt("return",e.sent);case 6:if(e.prev=6,e.t0=e.catch(0),e.t0 instanceof Error){n={},Error.captureStackTrace?Error.captureStackTrace(n):n=new Error,o=n.stack?n.stack.replace(/^.+\n/,""):"";try{e.t0.stack?o&&!String(e.t0.stack).endsWith(o.replace(/^.+\n.+\n/,""))&&(e.t0.stack+="\n"+o):e.t0.stack=o}catch(e){}}throw e.t0;case 10:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(e,r){return t.apply(this,arguments)})},{key:"_request",value:function(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{};var r=t=st(this.defaults,t),n=r.transitional,o=r.paramsSerializer,i=r.headers;void 0!==n&&Bt.assertOptions(n,{silentJSONParsing:Dt.transitional(Dt.boolean),forcedJSONParsing:Dt.transitional(Dt.boolean),clarifyTimeoutError:Dt.transitional(Dt.boolean)},!1),null!=o&&(ye.isFunction(o)?t.paramsSerializer={serialize:o}:Bt.assertOptions(o,{encode:Dt.function,serialize:Dt.function},!0)),void 0!==t.allowAbsoluteUrls||(void 0!==this.defaults.allowAbsoluteUrls?t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:t.allowAbsoluteUrls=!0),Bt.assertOptions(t,{baseUrl:Dt.spelling("baseURL"),withXsrfToken:Dt.spelling("withXSRFToken")},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();var a=i&&ye.merge(i.common,i[t.method]);i&&ye.forEach(["delete","get","head","post","put","patch","common"],(function(e){delete i[e]})),t.headers=Ge.concat(a,i);var u=[],s=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(s=s&&e.synchronous,u.unshift(e.fulfilled,e.rejected))}));var c,f=[];this.interceptors.response.forEach((function(e){f.push(e.fulfilled,e.rejected)}));var l,p=0;if(!s){var h=[_t.bind(this),void 0];for(h.unshift.apply(h,u),h.push.apply(h,f),l=h.length,c=Promise.resolve(t);p<l;)c=c.then(h[p++],h[p++]);return c}l=u.length;var d=t;for(p=0;p<l;){var v=u[p++],y=u[p++];try{d=v(d)}catch(e){y.call(this,e);break}}try{c=_t.call(this,d)}catch(e){return Promise.reject(e)}for(p=0,l=f.length;p<l;)c=c.then(f[p++],f[p++]);return c}},{key:"getUri",value:function(e){return Ae(at((e=st(this.defaults,e)).baseURL,e.url,e.allowAbsoluteUrls),e.params,e.paramsSerializer)}}]),e}();ye.forEach(["delete","get","head","options"],(function(e){qt.prototype[e]=function(t,r){return this.request(st(r||{},{method:e,url:t,data:(r||{}).data}))}})),ye.forEach(["post","put","patch"],(function(e){function t(t){return function(r,n,o){return this.request(st(o||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:r,data:n}))}}qt.prototype[e]=t(),qt.prototype[e+"Form"]=t(!0)}));var It=qt,Mt=function(){function e(t){if(d(this,e),"function"!=typeof t)throw new TypeError("executor must be a function.");var r;this.promise=new Promise((function(e){r=e}));var n=this;this.promise.then((function(e){if(n._listeners){for(var t=n._listeners.length;t-- >0;)n._listeners[t](e);n._listeners=null}})),this.promise.then=function(e){var t,r=new Promise((function(e){n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},t((function(e,t,o){n.reason||(n.reason=new Ye(e,t,o),r(n.reason))}))}return y(e,[{key:"throwIfRequested",value:function(){if(this.reason)throw this.reason}},{key:"subscribe",value:function(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}},{key:"unsubscribe",value:function(e){if(this._listeners){var t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}}},{key:"toAbortSignal",value:function(){var e=this,t=new AbortController,r=function(e){t.abort(e)};return this.subscribe(r),t.signal.unsubscribe=function(){return e.unsubscribe(r)},t.signal}}],[{key:"source",value:function(){var t;return{token:new e((function(e){t=e})),cancel:t}}}]),e}(),zt=Mt;var Ht={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,Re
vendor: 5,124 bytes, lines 12936-12957
12936setContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Ht).forEach((function(e){var t=b(e,2),r=t[0],n=t[1];Ht[n]=r}));var Jt=Ht;var Wt=function e(t){var r=new It(t),n=R(It.prototype.request,r);return ye.extend(n,It.prototype,r,{allOwnKeys:!0}),ye.extend(n,r,null,{allOwnKeys:!0}),n.create=function(r){return e(st(t,r))},n}(Me);return Wt.Axios=It,Wt.CanceledError=Ye,Wt.CancelToken=zt,Wt.isCancel=$e,Wt.VERSION=Ct,Wt.toFormData=xe,Wt.AxiosError=me,Wt.Cancel=Wt.CanceledError,Wt.all=function(e){return Promise.all(e)},Wt.spread=function(e){return function(t){return e.apply(null,t)}},Wt.isAxiosError=function(e){return ye.isObject(e)&&!0===e.isAxiosError},Wt.mergeConfig=st,Wt.AxiosHeaders=Ge,Wt.formToJSON=function(e){return qe(ye.isHTMLForm(e)?new FormData(e):e)},Wt.getAdapter=Lt,Wt.HttpStatusCode=Jt,Wt.default=Wt,Wt}));
12937//# sourceMappingURL=axios.min.js.map
12938
12939/*! lozad.js - v1.16.0 - 2020-09-06
12940* https://github.com/ApoorvSaxena/lozad.js
12941* Copyright (c) 2020 Apoorv Saxena; Licensed MIT */
12942!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.lozad=e()}(this,function(){"use strict";
12943/**
12944   * Detect IE browser
12945   * @const {boolean}
12946   * @private
12947   */var g="undefined"!=typeof document&&document.documentMode,f={rootMargin:"0px",threshold:0,load:function(t){if("picture"===t.nodeName.toLowerCase()){var e=t.querySelector("img"),r=!1;null===e&&(e=document.createElement("img"),r=!0),g&&t.getAttribute("data-iesrc")&&(e.src=t.getAttribute("data-iesrc")),t.getAttribute("data-alt")&&(e.alt=t.getAttribute("data-alt")),r&&t.append(e)}if("video"===t.nodeName.toLowerCase()&&!t.getAttribute("data-src")&&t.children){for(var a=t.children,o=void 0,i=0;i<=a.length-1;i++)(o=a[i].getAttribute("data-src"))&&(a[i].src=o);t.load()}t.getAttribute("data-poster")&&(t.poster=t.getAttribute("data-poster")),t.getAttribute("data-src")&&(t.src=t.getAttribute("data-src")),t.getAttribute("data-srcset")&&t.setAttribute("srcset",t.getAttribute("data-srcset"));var n=",";if(t.getAttribute("data-background-delimiter")&&(n=t.getAttribute("data-background-delimiter")),t.getAttribute("data-background-image"))t.style.backgroundImage="url('"+t.getAttribute("data-background-image").split(n).join("'),url('")+"')";else if(t.getAttribute("data-background-image-set")){var d=t.getAttribute("data-background-image-set").split(n),u=d[0].substr(0,d[0].indexOf(" "))||d[0];// Substring before ... 1x
12948u=-1===u.indexOf("url(")?"url("+u+")":u,1===d.length?t.style.backgroundImage=u:t.setAttribute("style",(t.getAttribute("style")||"")+"background-image: "+u+"; background-image: -webkit-image-set("+d+"); background-image: image-set("+d+")")}t.getAttribute("data-toggle-class")&&t.classList.toggle(t.getAttribute("data-toggle-class"))},loaded:function(){}};function A(t){t.setAttribute("data-loaded",!0)}var m=function(t){return"true"===t.getAttribute("data-loaded")},v=function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:document;return t instanceof Element?[t]:t instanceof NodeList?t:e.querySelectorAll(t)};return function(){var r,a,o=0<arguments.length&&void 0!==arguments[0]?arguments[0]:".lozad",t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},e=Object.assign({},f,t),i=e.root,n=e.rootMargin,d=e.threshold,u=e.load,g=e.loaded,s=void 0;"undefined"!=typeof window&&window.IntersectionObserver&&(s=new IntersectionObserver((r=u,a=g,function(t,e){t.forEach(function(t){(0<t.intersectionRatio||t.isIntersecting)&&(e.unobserve(t.target),m(t.target)||(r(t.target),A(t.target),a(t.target)))})}),{root:i,rootMargin:n,threshold:d}));for(var c,l=v(o,i),b=0;b<l.length;b++)(c=l[b]).getAttribute("data-placeholder-background")&&(c.style.background=c.getAttribute("data-placeholder-background"));return{observe:function(){for(var t=v(o,i),e=0;e<t.length;e++)m(t[e])||(s?s.observe(t[e]):(u(t[e]),A(t[e]),g(t[e])))},triggerLoad:function(t){m(t)||(u(t),A(t),g(t))},observer:s}}});
12949
12950/*!
12951 * Select2 4.1.0-rc.0
12952 * https://select2.github.io
12953 *
12954 * Released under the MIT license
12955 * https://github.com/select2/select2/blob/master/LICENSE.md
12956 */
12957;
vendor: 18,996 bytes, lines 12957-13526
12957(function (factory) {
12958  if (typeof define === 'function' && define.amd) {
12959    // AMD. Register as an anonymous module.
12960    define(['jquery'], factory);
12961  } else if (typeof module === 'object' && module.exports) {
12962    // Node/CommonJS
12963    module.exports = function (root, jQuery) {
12964      if (jQuery === undefined) {
12965        // require('jQuery') returns a factory that requires window to
12966        // build a jQuery instance, we normalize how we use modules
12967        // that require this pattern but the window provided is a noop
12968        // if it's defined (how jquery works)
12969        if (typeof window !== 'undefined') {
12970          jQuery = require('jquery');
12971        }
12972        else {
12973          jQuery = require('jquery')(root);
12974        }
12975      }
12976      factory(jQuery);
12977      return jQuery;
12978    };
12979  } else {
12980    // Browser globals
12981    factory(jQuery);
12982  }
12983} (function (jQuery) {
12984  // This is needed so we can catch the AMD loader configuration and use it
12985  // The inner file should be wrapped (by `banner.start.js`) in a function that
12986  // returns the AMD loader references.
12987  var S2 =(function () {
12988  // Restore the Select2 AMD loader so it can be used
12989  // Needed mostly in the language files, where the loader is not inserted
12990  if (jQuery && jQuery.fn && jQuery.fn.select2 && jQuery.fn.select2.amd) {
12991    var S2 = jQuery.fn.select2.amd;
12992  }
12993var S2;(function () { if (!S2 || !S2.requirejs) {
12994if (!S2) { S2 = {}; } else { require = S2; }
12995/**
12996 * @license almond 0.3.3 Copyright jQuery Foundation and other contributors.
12997 * Released under MIT license, http://github.com/requirejs/almond/LICENSE
12998 */
12999//Going sloppy to avoid 'use strict' string cost, but strict practices should
13000//be followed.
13001/*global setTimeout: false */
13002
13003var requirejs, require, define;
13004(function (undef) {
13005    var main, req, makeMap, handlers,
13006        defined = {},
13007        waiting = {},
13008        config = {},
13009        defining = {},
13010        hasOwn = Object.prototype.hasOwnProperty,
13011        aps = [].slice,
13012        jsSuffixRegExp = /\.js$/;
13013
13014    function hasProp(obj, prop) {
13015        return hasOwn.call(obj, prop);
13016    }
13017
13018    /**
13019     * Given a relative module name, like ./something, normalize it to
13020     * a real name that can be mapped to a path.
13021     * @param {String} name the relative name
13022     * @param {String} baseName a real name that the name arg is relative
13023     * to.
13024     * @returns {String} normalized name
13025     */
13026    function normalize(name, baseName) {
13027        var nameParts, nameSegment, mapValue, foundMap, lastIndex,
13028            foundI, foundStarMap, starI, i, j, part, normalizedBaseParts,
13029            baseParts = baseName && baseName.split("/"),
13030            map = config.map,
13031            starMap = (map && map['*']) || {};
13032
13033        //Adjust any relative paths.
13034        if (name) {
13035            name = name.split('/');
13036            lastIndex = name.length - 1;
13037
13038            // If wanting node ID compatibility, strip .js from end
13039            // of IDs. Have to do this here, and not in nameToUrl
13040            // because node allows either .js or non .js to map
13041            // to same file.
13042            if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) {
13043                name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, '');
13044            }
13045
13046            // Starts with a '.' so need the baseName
13047            if (name[0].charAt(0) === '.' && baseParts) {
13048                //Convert baseName to array, and lop off the last part,
13049                //so that . matches that 'directory' and not name of the baseName's
13050                //module. For instance, baseName of 'one/two/three', maps to
13051                //'one/two/three.js', but we want the directory, 'one/two' for
13052                //this normalization.
13053                normalizedBaseParts = baseParts.slice(0, baseParts.length - 1);
13054                name = normalizedBaseParts.concat(name);
13055            }
13056
13057            //start trimDots
13058            for (i = 0; i < name.length; i++) {
13059                part = name[i];
13060                if (part === '.') {
13061                    name.splice(i, 1);
13062                    i -= 1;
13063                } else if (part === '..') {
13064                    // If at the start, or previous value is still ..,
13065                    // keep them so that when converted to a path it may
13066                    // still work when converted to a path, even though
13067                    // as an ID it is less than ideal. In larger point
13068                    // releases, may be better to just kick out an error.
13069                    if (i === 0 || (i === 1 && name[2] === '..') || name[i - 1] === '..') {
13070                        continue;
13071                    } else if (i > 0) {
13072                        name.splice(i - 1, 2);
13073                        i -= 2;
13074                    }
13075                }
13076            }
13077            //end trimDots
13078
13079            name = name.join('/');
13080        }
13081
13082        //Apply map config if available.
13083        if ((baseParts || starMap) && map) {
13084            nameParts = name.split('/');
13085
13086            for (i = nameParts.length; i > 0; i -= 1) {
13087                nameSegment = nameParts.slice(0, i).join("/");
13088
13089                if (baseParts) {
13090                    //Find the longest baseName segment match in the config.
13091                    //So, do joins on the biggest to smallest lengths of baseParts.
13092                    for (j = baseParts.length; j > 0; j -= 1) {
13093                        mapValue = map[baseParts.slice(0, j).join('/')];
13094
13095                        //baseName segment has  config, find if it has one for
13096                        //this name.
13097                        if (mapValue) {
13098                            mapValue = mapValue[nameSegment];
13099                            if (mapValue) {
13100                                //Match, update name to the new value.
13101                                foundMap = mapValue;
13102                                foundI = i;
13103                                break;
13104                            }
13105                        }
13106                    }
13107                }
13108
13109                if (foundMap) {
13110                    break;
13111                }
13112
13113                //Check for a star map match, but just hold on to it,
13114                //if there is a shorter segment match later in a matching
13115                //config, then favor over this star map.
13116                if (!foundStarMap && starMap && starMap[nameSegment]) {
13117                    foundStarMap = starMap[nameSegment];
13118                    starI = i;
13119                }
13120            }
13121
13122            if (!foundMap && foundStarMap) {
13123                foundMap = foundStarMap;
13124                foundI = starI;
13125            }
13126
13127            if (foundMap) {
13128                nameParts.splice(0, foundI, foundMap);
13129                name = nameParts.join('/');
13130            }
13131        }
13132
13133        return name;
13134    }
13135
13136    function makeRequire(relName, forceSync) {
13137        return function () {
13138            //A version of a require function that passes a moduleName
13139            //value for items that may need to
13140            //look up paths relative to the moduleName
13141            var args = aps.call(arguments, 0);
13142
13143            //If first arg is not require('string'), and there is only
13144            //one arg, it is the array form without a callback. Insert
13145            //a null so that the following concat is correct.
13146            if (typeof args[0] !== 'string' && args.length === 1) {
13147                args.push(null);
13148            }
13149            return req.apply(undef, args.concat([relName, forceSync]));
13150        };
13151    }
13152
13153    function makeNormalize(relName) {
13154        return function (name) {
13155            return normalize(name, relName);
13156        };
13157    }
13158
13159    function makeLoad(depName) {
13160        return function (value) {
13161            defined[depName] = value;
13162        };
13163    }
13164
13165    function callDep(name) {
13166        if (hasProp(waiting, name)) {
13167            var args = waiting[name];
13168            delete waiting[name];
13169            defining[name] = true;
13170            main.apply(undef, args);
13171        }
13172
13173        if (!hasProp(defined, name) && !hasProp(defining, name)) {
13174            throw new Error('No ' + name);
13175        }
13176        return defined[name];
13177    }
13178
13179    //Turns a plugin!resource to [plugin, resource]
13180    //with the plugin being undefined if the name
13181    //did not have a plugin prefix.
13182    function splitPrefix(name) {
13183        var prefix,
13184            index = name ? name.indexOf('!') : -1;
13185        if (index > -1) {
13186            prefix = name.substring(0, index);
13187            name = name.substring(index + 1, name.length);
13188        }
13189        return [prefix, name];
13190    }
13191
13192    //Creates a parts array for a relName where first part is plugin ID,
13193    //second part is resource ID. Assumes relName has already been normalized.
13194    function makeRelParts(relName) {
13195        return relName ? splitPrefix(relName) : [];
13196    }
13197
13198    /**
13199     * Makes a name map, normalizing the name, and using a plugin
13200     * for normalization if necessary. Grabs a ref to plugin
13201     * too, as an optimization.
13202     */
13203    makeMap = function (name, relParts) {
13204        var plugin,
13205            parts = splitPrefix(name),
13206            prefix = parts[0],
13207            relResourceName = relParts[1];
13208
13209        name = parts[1];
13210
13211        if (prefix) {
13212            prefix = normalize(prefix, relResourceName);
13213            plugin = callDep(prefix);
13214        }
13215
13216        //Normalize according
13217        if (prefix) {
13218            if (plugin && plugin.normalize) {
13219                name = plugin.normalize(name, makeNormalize(relResourceName));
13220            } else {
13221                name = normalize(name, relResourceName);
13222            }
13223        } else {
13224            name = normalize(name, relResourceName);
13225            parts = splitPrefix(name);
13226            prefix = parts[0];
13227            name = parts[1];
13228            if (prefix) {
13229                plugin = callDep(prefix);
13230            }
13231        }
13232
13233        //Using ridiculous property names for space reasons
13234        return {
13235            f: prefix ? prefix + '!' + name : name, //fullName
13236            n: name,
13237            pr: prefix,
13238            p: plugin
13239        };
13240    };
13241
13242    function makeConfig(name) {
13243        return function () {
13244            return (config && config.config && config.config[name]) || {};
13245        };
13246    }
13247
13248    handlers = {
13249        require: function (name) {
13250            return makeRequire(name);
13251        },
13252        exports: function (name) {
13253            var e = defined[name];
13254            if (typeof e !== 'undefined') {
13255                return e;
13256            } else {
13257                return (defined[name] = {});
13258            }
13259        },
13260        module: function (name) {
13261            return {
13262                id: name,
13263                uri: '',
13264                exports: defined[name],
13265                config: makeConfig(name)
13266            };
13267        }
13268    };
13269
13270    main = function (name, deps, callback, relName) {
13271        var cjsModule, depName, ret, map, i, relParts,
13272            args = [],
13273            callbackType = typeof callback,
13274            usingExports;
13275
13276        //Use name if no relName
13277        relName = relName || name;
13278        relParts = makeRelParts(relName);
13279
13280        //Call the callback to define the module, if necessary.
13281        if (callbackType === 'undefined' || callbackType === 'function') {
13282            //Pull out the defined dependencies and pass the ordered
13283            //values to the callback.
13284            //Default to [require, exports, module] if no deps
13285            deps = !deps.length && callback.length ? ['require', 'exports', 'module'] : deps;
13286            for (i = 0; i < deps.length; i += 1) {
13287                map = makeMap(deps[i], relParts);
13288                depName = map.f;
13289
13290                //Fast path CommonJS standard dependencies.
13291                if (depName === "require") {
13292                    args[i] = handlers.require(name);
13293                } else if (depName === "exports") {
13294                    //CommonJS module spec 1.1
13295                    args[i] = handlers.exports(name);
13296                    usingExports = true;
13297                } else if (depName === "module") {
13298                    //CommonJS module spec 1.1
13299                    cjsModule = args[i] = handlers.module(name);
13300                } else if (hasProp(defined, depName) ||
13301                           hasProp(waiting, depName) ||
13302                           hasProp(defining, depName)) {
13303                    args[i] = callDep(depName);
13304                } else if (map.p) {
13305                    map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {});
13306                    args[i] = defined[depName];
13307                } else {
13308                    throw new Error(name + ' missing ' + depName);
13309                }
13310            }
13311
13312            ret = callback ? callback.apply(defined[name], args) : undefined;
13313
13314            if (name) {
13315                //If setting exports via "module" is in play,
13316                //favor that over return value and exports. After that,
13317                //favor a non-undefined return value over exports use.
13318                if (cjsModule && cjsModule.exports !== undef &&
13319                        cjsModule.exports !== defined[name]) {
13320                    defined[name] = cjsModule.exports;
13321                } else if (ret !== undef || !usingExports) {
13322                    //Use the return value from the function.
13323                    defined[name] = ret;
13324                }
13325            }
13326        } else if (name) {
13327            //May just be an object definition for the module. Only
13328            //worry about defining if have a module name.
13329            defined[name] = callback;
13330        }
13331    };
13332
13333    requirejs = require = req = function (deps, callback, relName, forceSync, alt) {
13334        if (typeof deps === "string") {
13335            if (handlers[deps]) {
13336                //callback in this case is really relName
13337                return handlers[deps](callback);
13338            }
13339            //Just return the module wanted. In this scenario, the
13340            //deps arg is the module name, and second arg (if passed)
13341            //is just the relName.
13342            //Normalize module name, if it contains . or ..
13343            return callDep(makeMap(deps, makeRelParts(callback)).f);
13344        } else if (!deps.splice) {
13345            //deps is a config object, not an array.
13346            config = deps;
13347            if (config.deps) {
13348                req(config.deps, config.callback);
13349            }
13350            if (!callback) {
13351                return;
13352            }
13353
13354            if (callback.splice) {
13355                //callback is an array, which means it is a dependency list.
13356                //Adjust args if there are dependencies
13357                deps = callback;
13358                callback = relName;
13359                relName = null;
13360            } else {
13361                deps = undef;
13362            }
13363        }
13364
13365        //Support require(['a'])
13366        callback = callback || function () {};
13367
13368        //If relName is a function, it is an errback handler,
13369        //so remove it.
13370        if (typeof relName === 'function') {
13371            relName = forceSync;
13372            forceSync = alt;
13373        }
13374
13375        //Simulate async callback;
13376        if (forceSync) {
13377            main(undef, deps, callback, relName);
13378        } else {
13379            //Using a non-zero value because of concern for what old browsers
13380            //do, and latest browsers "upgrade" to 4 if lower value is used:
13381            //http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout:
13382            //If want a value immediately, use require('id') instead -- something
13383            //that works in almond on the global level, but not guaranteed and
13384            //unlikely to work in other AMD implementations.
13385            setTimeout(function () {
13386                main(undef, deps, callback, relName);
13387            }, 4);
13388        }
13389
13390        return req;
13391    };
13392
13393    /**
13394     * Just drops the config on the floor, but returns req in case
13395     * the config return value is used.
13396     */
13397    req.config = function (cfg) {
13398        return req(cfg);
13399    };
13400
13401    /**
13402     * Expose module registry for debugging and tooling
13403     */
13404    requirejs._defined = defined;
13405
13406    define = function (name, deps, callback) {
13407        if (typeof name !== 'string') {
13408            throw new Error('See almond README: incorrect module build, no module name');
13409        }
13410
13411        //This module may not have dependencies
13412        if (!deps.splice) {
13413            //deps is not an array, so probably means
13414            //an object literal or factory function for
13415            //the value. Adjust args.
13416            callback = deps;
13417            deps = [];
13418        }
13419
13420        if (!hasProp(defined, name) && !hasProp(waiting, name)) {
13421            waiting[name] = [name, deps, callback];
13422        }
13423    };
13424
13425    define.amd = {
13426        jQuery: true
13427    };
13428}());
13429
13430S2.requirejs = requirejs;S2.require = require;S2.define = define;
13431}
13432}());
13433S2.define("almond", function(){});
13434
13435/* global jQuery:false, $:false */
13436S2.define('jquery',[],function () {
13437  var _$ = jQuery || $;
13438
13439  if (_$ == null && console && console.error) {
13440    console.error(
13441      'Select2: An instance of jQuery or a jQuery-compatible library was not ' +
13442      'found. Make sure that you are including jQuery before Select2 on your ' +
13443      'web page.'
13444    );
13445  }
13446
13447  return _$;
13448});
13449
13450S2.define('select2/utils',[
13451  'jquery'
13452], function ($) {
13453  var Utils = {};
13454
13455  Utils.Extend = function (ChildClass, SuperClass) {
13456    var __hasProp = {}.hasOwnProperty;
13457
13458    function BaseConstructor () {
13459      this.constructor = ChildClass;
13460    }
13461
13462    for (var key in SuperClass) {
13463      if (__hasProp.call(SuperClass, key)) {
13464        ChildClass[key] = SuperClass[key];
13465      }
13466    }
13467
13468    BaseConstructor.prototype = SuperClass.prototype;
13469    ChildClass.prototype = new BaseConstructor();
13470    ChildClass.__super__ = SuperClass.prototype;
13471
13472    return ChildClass;
13473  };
13474
13475  function getMethods (theClass) {
13476    var proto = theClass.prototype;
13477
13478    var methods = [];
13479
13480    for (var methodName in proto) {
13481      var m = proto[methodName];
13482
13483      if (typeof m !== 'function') {
13484        continue;
13485      }
13486
13487      if (methodName === 'constructor') {
13488        continue;
13489      }
13490
13491      methods.push(methodName);
13492    }
13493
13494    return methods;
13495  }
13496
13497  Utils.Decorate = function (SuperClass, DecoratorClass) {
13498    var decoratedMethods = getMethods(DecoratorClass);
13499    var superMethods = getMethods(SuperClass);
13500
13501    function DecoratedClass () {
13502      var unshift = Array.prototype.unshift;
13503
13504      var argCount = DecoratorClass.prototype.constructor.length;
13505
13506      var calledConstructor = SuperClass.prototype.constructor;
13507
13508      if (argCount > 0) {
13509        unshift.call(arguments, SuperClass.prototype.constructor);
13510
13511        calledConstructor = DecoratorClass.prototype.constructor;
13512      }
13513
13514      calledConstructor.apply(this, arguments);
13515    }
13516
13517    DecoratorClass.displayName = SuperClass.displayName;
13518
13519    function ctr () {
13520      this.constructor = DecoratedClass;
13521    }
13522
13523    DecoratedClass.prototype = new ctr();
13524
13525    for (var m = 0; m < superMethods.length; m++) {
13526      
vendor: 102,497 bytes, lines 13526-17798
13526var superMethod = superMethods[m];
13527
13528      DecoratedClass.prototype[superMethod] =
13529        SuperClass.prototype[superMethod];
13530    }
13531
13532    var calledMethod = function (methodName) {
13533      // Stub out the original method if it's not decorating an actual method
13534      var originalMethod = function () {};
13535
13536      if (methodName in DecoratedClass.prototype) {
13537        originalMethod = DecoratedClass.prototype[methodName];
13538      }
13539
13540      var decoratedMethod = DecoratorClass.prototype[methodName];
13541
13542      return function () {
13543        var unshift = Array.prototype.unshift;
13544
13545        unshift.call(arguments, originalMethod);
13546
13547        return decoratedMethod.apply(this, arguments);
13548      };
13549    };
13550
13551    for (var d = 0; d < decoratedMethods.length; d++) {
13552      var decoratedMethod = decoratedMethods[d];
13553
13554      DecoratedClass.prototype[decoratedMethod] = calledMethod(decoratedMethod);
13555    }
13556
13557    return DecoratedClass;
13558  };
13559
13560  var Observable = function () {
13561    this.listeners = {};
13562  };
13563
13564  Observable.prototype.on = function (event, callback) {
13565    this.listeners = this.listeners || {};
13566
13567    if (event in this.listeners) {
13568      this.listeners[event].push(callback);
13569    } else {
13570      this.listeners[event] = [callback];
13571    }
13572  };
13573
13574  Observable.prototype.trigger = function (event) {
13575    var slice = Array.prototype.slice;
13576    var params = slice.call(arguments, 1);
13577
13578    this.listeners = this.listeners || {};
13579
13580    // Params should always come in as an array
13581    if (params == null) {
13582      params = [];
13583    }
13584
13585    // If there are no arguments to the event, use a temporary object
13586    if (params.length === 0) {
13587      params.push({});
13588    }
13589
13590    // Set the `_type` of the first object to the event
13591    params[0]._type = event;
13592
13593    if (event in this.listeners) {
13594      this.invoke(this.listeners[event], slice.call(arguments, 1));
13595    }
13596
13597    if ('*' in this.listeners) {
13598      this.invoke(this.listeners['*'], arguments);
13599    }
13600  };
13601
13602  Observable.prototype.invoke = function (listeners, params) {
13603    for (var i = 0, len = listeners.length; i < len; i++) {
13604      listeners[i].apply(this, params);
13605    }
13606  };
13607
13608  Utils.Observable = Observable;
13609
13610  Utils.generateChars = function (length) {
13611    var chars = '';
13612
13613    for (var i = 0; i < length; i++) {
13614      var randomChar = Math.floor(Math.random() * 36);
13615      chars += randomChar.toString(36);
13616    }
13617
13618    return chars;
13619  };
13620
13621  Utils.bind = function (func, context) {
13622    return function () {
13623      func.apply(context, arguments);
13624    };
13625  };
13626
13627  Utils._convertData = function (data) {
13628    for (var originalKey in data) {
13629      var keys = originalKey.split('-');
13630
13631      var dataLevel = data;
13632
13633      if (keys.length === 1) {
13634        continue;
13635      }
13636
13637      for (var k = 0; k < keys.length; k++) {
13638        var key = keys[k];
13639
13640        // Lowercase the first letter
13641        // By default, dash-separated becomes camelCase
13642        key = key.substring(0, 1).toLowerCase() + key.substring(1);
13643
13644        if (!(key in dataLevel)) {
13645          dataLevel[key] = {};
13646        }
13647
13648        if (k == keys.length - 1) {
13649          dataLevel[key] = data[originalKey];
13650        }
13651
13652        dataLevel = dataLevel[key];
13653      }
13654
13655      delete data[originalKey];
13656    }
13657
13658    return data;
13659  };
13660
13661  Utils.hasScroll = function (index, el) {
13662    // Adapted from the function created by @ShadowScripter
13663    // and adapted by @BillBarry on the Stack Exchange Code Review website.
13664    // The original code can be found at
13665    // http://codereview.stackexchange.com/q/13338
13666    // and was designed to be used with the Sizzle selector engine.
13667
13668    var $el = $(el);
13669    var overflowX = el.style.overflowX;
13670    var overflowY = el.style.overflowY;
13671
13672    //Check both x and y declarations
13673    if (overflowX === overflowY &&
13674        (overflowY === 'hidden' || overflowY === 'visible')) {
13675      return false;
13676    }
13677
13678    if (overflowX === 'scroll' || overflowY === 'scroll') {
13679      return true;
13680    }
13681
13682    return ($el.innerHeight() < el.scrollHeight ||
13683      $el.innerWidth() < el.scrollWidth);
13684  };
13685
13686  Utils.escapeMarkup = function (markup) {
13687    var replaceMap = {
13688      '\\': '&#92;',
13689      '&': '&amp;',
13690      '<': '&lt;',
13691      '>': '&gt;',
13692      '"': '&quot;',
13693      '\'': '&#39;',
13694      '/': '&#47;'
13695    };
13696
13697    // Do not try to escape the markup if it's not a string
13698    if (typeof markup !== 'string') {
13699      return markup;
13700    }
13701
13702    return String(markup).replace(/[&<>"'\/\\]/g, function (match) {
13703      return replaceMap[match];
13704    });
13705  };
13706
13707  // Cache objects in Utils.__cache instead of $.data (see #4346)
13708  Utils.__cache = {};
13709
13710  var id = 0;
13711  Utils.GetUniqueElementId = function (element) {
13712    // Get a unique element Id. If element has no id,
13713    // creates a new unique number, stores it in the id
13714    // attribute and returns the new id with a prefix.
13715    // If an id already exists, it simply returns it with a prefix.
13716
13717    var select2Id = element.getAttribute('data-select2-id');
13718
13719    if (select2Id != null) {
13720      return select2Id;
13721    }
13722
13723    // If element has id, use it.
13724    if (element.id) {
13725      select2Id = 'select2-data-' + element.id;
13726    } else {
13727      select2Id = 'select2-data-' + (++id).toString() +
13728        '-' + Utils.generateChars(4);
13729    }
13730
13731    element.setAttribute('data-select2-id', select2Id);
13732
13733    return select2Id;
13734  };
13735
13736  Utils.StoreData = function (element, name, value) {
13737    // Stores an item in the cache for a specified element.
13738    // name is the cache key.
13739    var id = Utils.GetUniqueElementId(element);
13740    if (!Utils.__cache[id]) {
13741      Utils.__cache[id] = {};
13742    }
13743
13744    Utils.__cache[id][name] = value;
13745  };
13746
13747  Utils.GetData = function (element, name) {
13748    // Retrieves a value from the cache by its key (name)
13749    // name is optional. If no name specified, return
13750    // all cache items for the specified element.
13751    // and for a specified element.
13752    var id = Utils.GetUniqueElementId(element);
13753    if (name) {
13754      if (Utils.__cache[id]) {
13755        if (Utils.__cache[id][name] != null) {
13756          return Utils.__cache[id][name];
13757        }
13758        return $(element).data(name); // Fallback to HTML5 data attribs.
13759      }
13760      return $(element).data(name); // Fallback to HTML5 data attribs.
13761    } else {
13762      return Utils.__cache[id];
13763    }
13764  };
13765
13766  Utils.RemoveData = function (element) {
13767    // Removes all cached items for a specified element.
13768    var id = Utils.GetUniqueElementId(element);
13769    if (Utils.__cache[id] != null) {
13770      delete Utils.__cache[id];
13771    }
13772
13773    element.removeAttribute('data-select2-id');
13774  };
13775
13776  Utils.copyNonInternalCssClasses = function (dest, src) {
13777    var classes;
13778
13779    var destinationClasses = dest.getAttribute('class').trim().split(/\s+/);
13780
13781    destinationClasses = destinationClasses.filter(function (clazz) {
13782      // Save all Select2 classes
13783      return clazz.indexOf('select2-') === 0;
13784    });
13785
13786    var sourceClasses = src.getAttribute('class').trim().split(/\s+/);
13787
13788    sourceClasses = sourceClasses.filter(function (clazz) {
13789      // Only copy non-Select2 classes
13790      return clazz.indexOf('select2-') !== 0;
13791    });
13792
13793    var replacements = destinationClasses.concat(sourceClasses);
13794
13795    dest.setAttribute('class', replacements.join(' '));
13796  };
13797
13798  return Utils;
13799});
13800
13801S2.define('select2/results',[
13802  'jquery',
13803  './utils'
13804], function ($, Utils) {
13805  function Results ($element, options, dataAdapter) {
13806    this.$element = $element;
13807    this.data = dataAdapter;
13808    this.options = options;
13809
13810    Results.__super__.constructor.call(this);
13811  }
13812
13813  Utils.Extend(Results, Utils.Observable);
13814
13815  Results.prototype.render = function () {
13816    var $results = $(
13817      '<ul class="select2-results__options" role="listbox"></ul>'
13818    );
13819
13820    if (this.options.get('multiple')) {
13821      $results.attr('aria-multiselectable', 'true');
13822    }
13823
13824    this.$results = $results;
13825
13826    return $results;
13827  };
13828
13829  Results.prototype.clear = function () {
13830    this.$results.empty();
13831  };
13832
13833  Results.prototype.displayMessage = function (params) {
13834    var escapeMarkup = this.options.get('escapeMarkup');
13835
13836    this.clear();
13837    this.hideLoading();
13838
13839    var $message = $(
13840      '<li role="alert" aria-live="assertive"' +
13841      ' class="select2-results__option"></li>'
13842    );
13843
13844    var message = this.options.get('translations').get(params.message);
13845
13846    $message.append(
13847      escapeMarkup(
13848        message(params.args)
13849      )
13850    );
13851
13852    $message[0].className += ' select2-results__message';
13853
13854    this.$results.append($message);
13855  };
13856
13857  Results.prototype.hideMessages = function () {
13858    this.$results.find('.select2-results__message').remove();
13859  };
13860
13861  Results.prototype.append = function (data) {
13862    this.hideLoading();
13863
13864    var $options = [];
13865
13866    if (data.results == null || data.results.length === 0) {
13867      if (this.$results.children().length === 0) {
13868        this.trigger('results:message', {
13869          message: 'noResults'
13870        });
13871      }
13872
13873      return;
13874    }
13875
13876    data.results = this.sort(data.results);
13877
13878    for (var d = 0; d < data.results.length; d++) {
13879      var item = data.results[d];
13880
13881      var $option = this.option(item);
13882
13883      $options.push($option);
13884    }
13885
13886    this.$results.append($options);
13887  };
13888
13889  Results.prototype.position = function ($results, $dropdown) {
13890    var $resultsContainer = $dropdown.find('.select2-results');
13891    $resultsContainer.append($results);
13892  };
13893
13894  Results.prototype.sort = function (data) {
13895    var sorter = this.options.get('sorter');
13896
13897    return sorter(data);
13898  };
13899
13900  Results.prototype.highlightFirstItem = function () {
13901    var $options = this.$results
13902      .find('.select2-results__option--selectable');
13903
13904    var $selected = $options.filter('.select2-results__option--selected');
13905
13906    // Check if there are any selected options
13907    if ($selected.length > 0) {
13908      // If there are selected options, highlight the first
13909      $selected.first().trigger('mouseenter');
13910    } else {
13911      // If there are no selected options, highlight the first option
13912      // in the dropdown
13913      $options.first().trigger('mouseenter');
13914    }
13915
13916    this.ensureHighlightVisible();
13917  };
13918
13919  Results.prototype.setClasses = function () {
13920    var self = this;
13921
13922    this.data.current(function (selected) {
13923      var selectedIds = selected.map(function (s) {
13924        return s.id.toString();
13925      });
13926
13927      var $options = self.$results
13928        .find('.select2-results__option--selectable');
13929
13930      $options.each(function () {
13931        var $option = $(this);
13932
13933        var item = Utils.GetData(this, 'data');
13934
13935        // id needs to be converted to a string when comparing
13936        var id = '' + item.id;
13937
13938        if ((item.element != null && item.element.selected) ||
13939            (item.element == null && selectedIds.indexOf(id) > -1)) {
13940          this.classList.add('select2-results__option--selected');
13941          $option.attr('aria-selected', 'true');
13942        } else {
13943          this.classList.remove('select2-results__option--selected');
13944          $option.attr('aria-selected', 'false');
13945        }
13946      });
13947
13948    });
13949  };
13950
13951  Results.prototype.showLoading = function (params) {
13952    this.hideLoading();
13953
13954    var loadingMore = this.options.get('translations').get('searching');
13955
13956    var loading = {
13957      disabled: true,
13958      loading: true,
13959      text: loadingMore(params)
13960    };
13961    var $loading = this.option(loading);
13962    $loading.className += ' loading-results';
13963
13964    this.$results.prepend($loading);
13965  };
13966
13967  Results.prototype.hideLoading = function () {
13968    this.$results.find('.loading-results').remove();
13969  };
13970
13971  Results.prototype.option = function (data) {
13972    var option = document.createElement('li');
13973    option.classList.add('select2-results__option');
13974    option.classList.add('select2-results__option--selectable');
13975
13976    var attrs = {
13977      'role': 'option'
13978    };
13979
13980    var matches = window.Element.prototype.matches ||
13981      window.Element.prototype.msMatchesSelector ||
13982      window.Element.prototype.webkitMatchesSelector;
13983
13984    if ((data.element != null && matches.call(data.element, ':disabled')) ||
13985        (data.element == null && data.disabled)) {
13986      attrs['aria-disabled'] = 'true';
13987
13988      option.classList.remove('select2-results__option--selectable');
13989      option.classList.add('select2-results__option--disabled');
13990    }
13991
13992    if (data.id == null) {
13993      option.classList.remove('select2-results__option--selectable');
13994    }
13995
13996    if (data._resultId != null) {
13997      option.id = data._resultId;
13998    }
13999
14000    if (data.title) {
14001      option.title = data.title;
14002    }
14003
14004    if (data.children) {
14005      attrs.role = 'group';
14006      attrs['aria-label'] = data.text;
14007
14008      option.classList.remove('select2-results__option--selectable');
14009      option.classList.add('select2-results__option--group');
14010    }
14011
14012    for (var attr in attrs) {
14013      var val = attrs[attr];
14014
14015      option.setAttribute(attr, val);
14016    }
14017
14018    if (data.children) {
14019      var $option = $(option);
14020
14021      var label = document.createElement('strong');
14022      label.className = 'select2-results__group';
14023
14024      this.template(data, label);
14025
14026      var $children = [];
14027
14028      for (var c = 0; c < data.children.length; c++) {
14029        var child = data.children[c];
14030
14031        var $child = this.option(child);
14032
14033        $children.push($child);
14034      }
14035
14036      var $childrenContainer = $('<ul></ul>', {
14037        'class': 'select2-results__options select2-results__options--nested',
14038        'role': 'none'
14039      });
14040
14041      $childrenContainer.append($children);
14042
14043      $option.append(label);
14044      $option.append($childrenContainer);
14045    } else {
14046      this.template(data, option);
14047    }
14048
14049    Utils.StoreData(option, 'data', data);
14050
14051    return option;
14052  };
14053
14054  Results.prototype.bind = function (container, $container) {
14055    var self = this;
14056
14057    var id = container.id + '-results';
14058
14059    this.$results.attr('id', id);
14060
14061    container.on('results:all', function (params) {
14062      self.clear();
14063      self.append(params.data);
14064
14065      if (container.isOpen()) {
14066        self.setClasses();
14067        self.highlightFirstItem();
14068      }
14069    });
14070
14071    container.on('results:append', function (params) {
14072      self.append(params.data);
14073
14074      if (container.isOpen()) {
14075        self.setClasses();
14076      }
14077    });
14078
14079    container.on('query', function (params) {
14080      self.hideMessages();
14081      self.showLoading(params);
14082    });
14083
14084    container.on('select', function () {
14085      if (!container.isOpen()) {
14086        return;
14087      }
14088
14089      self.setClasses();
14090
14091      if (self.options.get('scrollAfterSelect')) {
14092        self.highlightFirstItem();
14093      }
14094    });
14095
14096    container.on('unselect', function () {
14097      if (!container.isOpen()) {
14098        return;
14099      }
14100
14101      self.setClasses();
14102
14103      if (self.options.get('scrollAfterSelect')) {
14104        self.highlightFirstItem();
14105      }
14106    });
14107
14108    container.on('open', function () {
14109      // When the dropdown is open, aria-expended="true"
14110      self.$results.attr('aria-expanded', 'true');
14111      self.$results.attr('aria-hidden', 'false');
14112
14113      self.setClasses();
14114      self.ensureHighlightVisible();
14115    });
14116
14117    container.on('close', function () {
14118      // When the dropdown is closed, aria-expended="false"
14119      self.$results.attr('aria-expanded', 'false');
14120      self.$results.attr('aria-hidden', 'true');
14121      self.$results.removeAttr('aria-activedescendant');
14122    });
14123
14124    container.on('results:toggle', function () {
14125      var $highlighted = self.getHighlightedResults();
14126
14127      if ($highlighted.length === 0) {
14128        return;
14129      }
14130
14131      $highlighted.trigger('mouseup');
14132    });
14133
14134    container.on('results:select', function () {
14135      var $highlighted = self.getHighlightedResults();
14136
14137      if ($highlighted.length === 0) {
14138        return;
14139      }
14140
14141      var data = Utils.GetData($highlighted[0], 'data');
14142
14143      if ($highlighted.hasClass('select2-results__option--selected')) {
14144        self.trigger('close', {});
14145      } else {
14146        self.trigger('select', {
14147          data: data
14148        });
14149      }
14150    });
14151
14152    container.on('results:previous', function () {
14153      var $highlighted = self.getHighlightedResults();
14154
14155      var $options = self.$results.find('.select2-results__option--selectable');
14156
14157      var currentIndex = $options.index($highlighted);
14158
14159      // If we are already at the top, don't move further
14160      // If no options, currentIndex will be -1
14161      if (currentIndex <= 0) {
14162        return;
14163      }
14164
14165      var nextIndex = currentIndex - 1;
14166
14167      // If none are highlighted, highlight the first
14168      if ($highlighted.length === 0) {
14169        nextIndex = 0;
14170      }
14171
14172      var $next = $options.eq(nextIndex);
14173
14174      $next.trigger('mouseenter');
14175
14176      var currentOffset = self.$results.offset().top;
14177      var nextTop = $next.offset().top;
14178      var nextOffset = self.$results.scrollTop() + (nextTop - currentOffset);
14179
14180      if (nextIndex === 0) {
14181        self.$results.scrollTop(0);
14182      } else if (nextTop - currentOffset < 0) {
14183        self.$results.scrollTop(nextOffset);
14184      }
14185    });
14186
14187    container.on('results:next', function () {
14188      var $highlighted = self.getHighlightedResults();
14189
14190      var $options = self.$results.find('.select2-results__option--selectable');
14191
14192      var currentIndex = $options.index($highlighted);
14193
14194      var nextIndex = currentIndex + 1;
14195
14196      // If we are at the last option, stay there
14197      if (nextIndex >= $options.length) {
14198        return;
14199      }
14200
14201      var $next = $options.eq(nextIndex);
14202
14203      $next.trigger('mouseenter');
14204
14205      var currentOffset = self.$results.offset().top +
14206        self.$results.outerHeight(false);
14207      var nextBottom = $next.offset().top + $next.outerHeight(false);
14208      var nextOffset = self.$results.scrollTop() + nextBottom - currentOffset;
14209
14210      if (nextIndex === 0) {
14211        self.$results.scrollTop(0);
14212      } else if (nextBottom > currentOffset) {
14213        self.$results.scrollTop(nextOffset);
14214      }
14215    });
14216
14217    container.on('results:focus', function (params) {
14218      params.element[0].classList.add('select2-results__option--highlighted');
14219      params.element[0].setAttribute('aria-selected', 'true');
14220    });
14221
14222    container.on('results:message', function (params) {
14223      self.displayMessage(params);
14224    });
14225
14226    if ($.fn.mousewheel) {
14227      this.$results.on('mousewheel', function (e) {
14228        var top = self.$results.scrollTop();
14229
14230        var bottom = self.$results.get(0).scrollHeight - top + e.deltaY;
14231
14232        var isAtTop = e.deltaY > 0 && top - e.deltaY <= 0;
14233        var isAtBottom = e.deltaY < 0 && bottom <= self.$results.height();
14234
14235        if (isAtTop) {
14236          self.$results.scrollTop(0);
14237
14238          e.preventDefault();
14239          e.stopPropagation();
14240        } else if (isAtBottom) {
14241          self.$results.scrollTop(
14242            self.$results.get(0).scrollHeight - self.$results.height()
14243          );
14244
14245          e.preventDefault();
14246          e.stopPropagation();
14247        }
14248      });
14249    }
14250
14251    this.$results.on('mouseup', '.select2-results__option--selectable',
14252      function (evt) {
14253      var $this = $(this);
14254
14255      var data = Utils.GetData(this, 'data');
14256
14257      if ($this.hasClass('select2-results__option--selected')) {
14258        if (self.options.get('multiple')) {
14259          self.trigger('unselect', {
14260            originalEvent: evt,
14261            data: data
14262          });
14263        } else {
14264          self.trigger('close', {});
14265        }
14266
14267        return;
14268      }
14269
14270      self.trigger('select', {
14271        originalEvent: evt,
14272        data: data
14273      });
14274    });
14275
14276    this.$results.on('mouseenter', '.select2-results__option--selectable',
14277      function (evt) {
14278      var data = Utils.GetData(this, 'data');
14279
14280      self.getHighlightedResults()
14281          .removeClass('select2-results__option--highlighted')
14282          .attr('aria-selected', 'false');
14283
14284      self.trigger('results:focus', {
14285        data: data,
14286        element: $(this)
14287      });
14288    });
14289  };
14290
14291  Results.prototype.getHighlightedResults = function () {
14292    var $highlighted = this.$results
14293    .find('.select2-results__option--highlighted');
14294
14295    return $highlighted;
14296  };
14297
14298  Results.prototype.destroy = function () {
14299    this.$results.remove();
14300  };
14301
14302  Results.prototype.ensureHighlightVisible = function () {
14303    var $highlighted = this.getHighlightedResults();
14304
14305    if ($highlighted.length === 0) {
14306      return;
14307    }
14308
14309    var $options = this.$results.find('.select2-results__option--selectable');
14310
14311    var currentIndex = $options.index($highlighted);
14312
14313    var currentOffset = this.$results.offset().top;
14314    var nextTop = $highlighted.offset().top;
14315    var nextOffset = this.$results.scrollTop() + (nextTop - currentOffset);
14316
14317    var offsetDelta = nextTop - currentOffset;
14318    nextOffset -= $highlighted.outerHeight(false) * 2;
14319
14320    if (currentIndex <= 2) {
14321      this.$results.scrollTop(0);
14322    } else if (offsetDelta > this.$results.outerHeight() || offsetDelta < 0) {
14323      this.$results.scrollTop(nextOffset);
14324    }
14325  };
14326
14327  Results.prototype.template = function (result, container) {
14328    var template = this.options.get('templateResult');
14329    var escapeMarkup = this.options.get('escapeMarkup');
14330
14331    var content = template(result, container);
14332
14333    if (content == null) {
14334      container.style.display = 'none';
14335    } else if (typeof content === 'string') {
14336      container.innerHTML = escapeMarkup(content);
14337    } else {
14338      $(container).append(content);
14339    }
14340  };
14341
14342  return Results;
14343});
14344
14345S2.define('select2/keys',[
14346
14347], function () {
14348  var KEYS = {
14349    BACKSPACE: 8,
14350    TAB: 9,
14351    ENTER: 13,
14352    SHIFT: 16,
14353    CTRL: 17,
14354    ALT: 18,
14355    ESC: 27,
14356    SPACE: 32,
14357    PAGE_UP: 33,
14358    PAGE_DOWN: 34,
14359    END: 35,
14360    HOME: 36,
14361    LEFT: 37,
14362    UP: 38,
14363    RIGHT: 39,
14364    DOWN: 40,
14365    DELETE: 46
14366  };
14367
14368  return KEYS;
14369});
14370
14371S2.define('select2/selection/base',[
14372  'jquery',
14373  '../utils',
14374  '../keys'
14375], function ($, Utils, KEYS) {
14376  function BaseSelection ($element, options) {
14377    this.$element = $element;
14378    this.options = options;
14379
14380    BaseSelection.__super__.constructor.call(this);
14381  }
14382
14383  Utils.Extend(BaseSelection, Utils.Observable);
14384
14385  BaseSelection.prototype.render = function () {
14386    var $selection = $(
14387      '<span class="select2-selection" role="combobox" ' +
14388      ' aria-haspopup="true" aria-expanded="false">' +
14389      '</span>'
14390    );
14391
14392    this._tabindex = 0;
14393
14394    if (Utils.GetData(this.$element[0], 'old-tabindex') != null) {
14395      this._tabindex = Utils.GetData(this.$element[0], 'old-tabindex');
14396    } else if (this.$element.attr('tabindex') != null) {
14397      this._tabindex = this.$element.attr('tabindex');
14398    }
14399
14400    $selection.attr('title', this.$element.attr('title'));
14401    $selection.attr('tabindex', this._tabindex);
14402    $selection.attr('aria-disabled', 'false');
14403
14404    this.$selection = $selection;
14405
14406    return $selection;
14407  };
14408
14409  BaseSelection.prototype.bind = function (container, $container) {
14410    var self = this;
14411
14412    var resultsId = container.id + '-results';
14413
14414    this.container = container;
14415
14416    this.$selection.on('focus', function (evt) {
14417      self.trigger('focus', evt);
14418    });
14419
14420    this.$selection.on('blur', function (evt) {
14421      self._handleBlur(evt);
14422    });
14423
14424    this.$selection.on('keydown', function (evt) {
14425      self.trigger('keypress', evt);
14426
14427      if (evt.which === KEYS.SPACE) {
14428        evt.preventDefault();
14429      }
14430    });
14431
14432    container.on('results:focus', function (params) {
14433      self.$selection.attr('aria-activedescendant', params.data._resultId);
14434    });
14435
14436    container.on('selection:update', function (params) {
14437      self.update(params.data);
14438    });
14439
14440    container.on('open', function () {
14441      // When the dropdown is open, aria-expanded="true"
14442      self.$selection.attr('aria-expanded', 'true');
14443      self.$selection.attr('aria-owns', resultsId);
14444
14445      self._attachCloseHandler(container);
14446    });
14447
14448    container.on('close', function () {
14449      // When the dropdown is closed, aria-expanded="false"
14450      self.$selection.attr('aria-expanded', 'false');
14451      self.$selection.removeAttr('aria-activedescendant');
14452      self.$selection.removeAttr('aria-owns');
14453
14454      self.$selection.trigger('focus');
14455
14456      self._detachCloseHandler(container);
14457    });
14458
14459    container.on('enable', function () {
14460      self.$selection.attr('tabindex', self._tabindex);
14461      self.$selection.attr('aria-disabled', 'false');
14462    });
14463
14464    container.on('disable', function () {
14465      self.$selection.attr('tabindex', '-1');
14466      self.$selection.attr('aria-disabled', 'true');
14467    });
14468  };
14469
14470  BaseSelection.prototype._handleBlur = function (evt) {
14471    var self = this;
14472
14473    // This needs to be delayed as the active element is the body when the tab
14474    // key is pressed, possibly along with others.
14475    window.setTimeout(function () {
14476      // Don't trigger `blur` if the focus is still in the selection
14477      if (
14478        (document.activeElement == self.$selection[0]) ||
14479        ($.contains(self.$selection[0], document.activeElement))
14480      ) {
14481        return;
14482      }
14483
14484      self.trigger('blur', evt);
14485    }, 1);
14486  };
14487
14488  BaseSelection.prototype._attachCloseHandler = function (container) {
14489
14490    $(document.body).on('mousedown.select2.' + container.id, function (e) {
14491      var $target = $(e.target);
14492
14493      var $select = $target.closest('.select2');
14494
14495      var $all = $('.select2.select2-container--open');
14496
14497      $all.each(function () {
14498        if (this == $select[0]) {
14499          return;
14500        }
14501
14502        var $element = Utils.GetData(this, 'element');
14503
14504        $element.select2('close');
14505      });
14506    });
14507  };
14508
14509  BaseSelection.prototype._detachCloseHandler = function (container) {
14510    $(document.body).off('mousedown.select2.' + container.id);
14511  };
14512
14513  BaseSelection.prototype.position = function ($selection, $container) {
14514    var $selectionContainer = $container.find('.selection');
14515    $selectionContainer.append($selection);
14516  };
14517
14518  BaseSelection.prototype.destroy = function () {
14519    this._detachCloseHandler(this.container);
14520  };
14521
14522  BaseSelection.prototype.update = function (data) {
14523    throw new Error('The `update` method must be defined in child classes.');
14524  };
14525
14526  /**
14527   * Helper method to abstract the "enabled" (not "disabled") state of this
14528   * object.
14529   *
14530   * @return {true} if the instance is not disabled.
14531   * @return {false} if the instance is disabled.
14532   */
14533  BaseSelection.prototype.isEnabled = function () {
14534    return !this.isDisabled();
14535  };
14536
14537  /**
14538   * Helper method to abstract the "disabled" state of this object.
14539   *
14540   * @return {true} if the disabled option is true.
14541   * @return {false} if the disabled option is false.
14542   */
14543  BaseSelection.prototype.isDisabled = function () {
14544    return this.options.get('disabled');
14545  };
14546
14547  return BaseSelection;
14548});
14549
14550S2.define('select2/selection/single',[
14551  'jquery',
14552  './base',
14553  '../utils',
14554  '../keys'
14555], function ($, BaseSelection, Utils, KEYS) {
14556  function SingleSelection () {
14557    SingleSelection.__super__.constructor.apply(this, arguments);
14558  }
14559
14560  Utils.Extend(SingleSelection, BaseSelection);
14561
14562  SingleSelection.prototype.render = function () {
14563    var $selection = SingleSelection.__super__.render.call(this);
14564
14565    $selection[0].classList.add('select2-selection--single');
14566
14567    $selection.html(
14568      '<span class="select2-selection__rendered"></span>' +
14569      '<span class="select2-selection__arrow" role="presentation">' +
14570        '<b role="presentation"></b>' +
14571      '</span>'
14572    );
14573
14574    return $selection;
14575  };
14576
14577  SingleSelection.prototype.bind = function (container, $container) {
14578    var self = this;
14579
14580    SingleSelection.__super__.bind.apply(this, arguments);
14581
14582    var id = container.id + '-container';
14583
14584    this.$selection.find('.select2-selection__rendered')
14585      .attr('id', id)
14586      .attr('role', 'textbox')
14587      .attr('aria-readonly', 'true');
14588    this.$selection.attr('aria-labelledby', id);
14589    this.$selection.attr('aria-controls', id);
14590
14591    this.$selection.on('mousedown', function (evt) {
14592      // Only respond to left clicks
14593      if (evt.which !== 1) {
14594        return;
14595      }
14596
14597      self.trigger('toggle', {
14598        originalEvent: evt
14599      });
14600    });
14601
14602    this.$selection.on('focus', function (evt) {
14603      // User focuses on the container
14604    });
14605
14606    this.$selection.on('blur', function (evt) {
14607      // User exits the container
14608    });
14609
14610    container.on('focus', function (evt) {
14611      if (!container.isOpen()) {
14612        self.$selection.trigger('focus');
14613      }
14614    });
14615  };
14616
14617  SingleSelection.prototype.clear = function () {
14618    var $rendered = this.$selection.find('.select2-selection__rendered');
14619    $rendered.empty();
14620    $rendered.removeAttr('title'); // clear tooltip on empty
14621  };
14622
14623  SingleSelection.prototype.display = function (data, container) {
14624    var template = this.options.get('templateSelection');
14625    var escapeMarkup = this.options.get('escapeMarkup');
14626
14627    return escapeMarkup(template(data, container));
14628  };
14629
14630  SingleSelection.prototype.selectionContainer = function () {
14631    return $('<span></span>');
14632  };
14633
14634  SingleSelection.prototype.update = function (data) {
14635    if (data.length === 0) {
14636      this.clear();
14637      return;
14638    }
14639
14640    var selection = data[0];
14641
14642    var $rendered = this.$selection.find('.select2-selection__rendered');
14643    var formatted = this.display(selection, $rendered);
14644
14645    $rendered.empty().append(formatted);
14646
14647    var title = selection.title || selection.text;
14648
14649    if (title) {
14650      $rendered.attr('title', title);
14651    } else {
14652      $rendered.removeAttr('title');
14653    }
14654  };
14655
14656  return SingleSelection;
14657});
14658
14659S2.define('select2/selection/multiple',[
14660  'jquery',
14661  './base',
14662  '../utils'
14663], function ($, BaseSelection, Utils) {
14664  function MultipleSelection ($element, options) {
14665    MultipleSelection.__super__.constructor.apply(this, arguments);
14666  }
14667
14668  Utils.Extend(MultipleSelection, BaseSelection);
14669
14670  MultipleSelection.prototype.render = function () {
14671    var $selection = MultipleSelection.__super__.render.call(this);
14672
14673    $selection[0].classList.add('select2-selection--multiple');
14674
14675    $selection.html(
14676      '<ul class="select2-selection__rendered"></ul>'
14677    );
14678
14679    return $selection;
14680  };
14681
14682  MultipleSelection.prototype.bind = function (container, $container) {
14683    var self = this;
14684
14685    MultipleSelection.__super__.bind.apply(this, arguments);
14686
14687    var id = container.id + '-container';
14688    this.$selection.find('.select2-selection__rendered').attr('id', id);
14689
14690    this.$selection.on('click', function (evt) {
14691      self.trigger('toggle', {
14692        originalEvent: evt
14693      });
14694    });
14695
14696    this.$selection.on(
14697      'click',
14698      '.select2-selection__choice__remove',
14699      function (evt) {
14700        // Ignore the event if it is disabled
14701        if (self.isDisabled()) {
14702          return;
14703        }
14704
14705        var $remove = $(this);
14706        var $selection = $remove.parent();
14707
14708        var data = Utils.GetData($selection[0], 'data');
14709
14710        self.trigger('unselect', {
14711          originalEvent: evt,
14712          data: data
14713        });
14714      }
14715    );
14716
14717    this.$selection.on(
14718      'keydown',
14719      '.select2-selection__choice__remove',
14720      function (evt) {
14721        // Ignore the event if it is disabled
14722        if (self.isDisabled()) {
14723          return;
14724        }
14725
14726        evt.stopPropagation();
14727      }
14728    );
14729  };
14730
14731  MultipleSelection.prototype.clear = function () {
14732    var $rendered = this.$selection.find('.select2-selection__rendered');
14733    $rendered.empty();
14734    $rendered.removeAttr('title');
14735  };
14736
14737  MultipleSelection.prototype.display = function (data, container) {
14738    var template = this.options.get('templateSelection');
14739    var escapeMarkup = this.options.get('escapeMarkup');
14740
14741    return escapeMarkup(template(data, container));
14742  };
14743
14744  MultipleSelection.prototype.selectionContainer = function () {
14745    var $container = $(
14746      '<li class="select2-selection__choice">' +
14747        '<button type="button" class="select2-selection__choice__remove" ' +
14748        'tabindex="-1">' +
14749          '<span aria-hidden="true">&times;</span>' +
14750        '</button>' +
14751        '<span class="select2-selection__choice__display"></span>' +
14752      '</li>'
14753    );
14754
14755    return $container;
14756  };
14757
14758  MultipleSelection.prototype.update = function (data) {
14759    this.clear();
14760
14761    if (data.length === 0) {
14762      return;
14763    }
14764
14765    var $selections = [];
14766
14767    var selectionIdPrefix = this.$selection.find('.select2-selection__rendered')
14768      .attr('id') + '-choice-';
14769
14770    for (var d = 0; d < data.length; d++) {
14771      var selection = data[d];
14772
14773      var $selection = this.selectionContainer();
14774      var formatted = this.display(selection, $selection);
14775
14776      var selectionId = selectionIdPrefix + Utils.generateChars(4) + '-';
14777
14778      if (selection.id) {
14779        selectionId += selection.id;
14780      } else {
14781        selectionId += Utils.generateChars(4);
14782      }
14783
14784      $selection.find('.select2-selection__choice__display')
14785        .append(formatted)
14786        .attr('id', selectionId);
14787
14788      var title = selection.title || selection.text;
14789
14790      if (title) {
14791        $selection.attr('title', title);
14792      }
14793
14794      var removeItem = this.options.get('translations').get('removeItem');
14795
14796      var $remove = $selection.find('.select2-selection__choice__remove');
14797
14798      $remove.attr('title', removeItem());
14799      $remove.attr('aria-label', removeItem());
14800      $remove.attr('aria-describedby', selectionId);
14801
14802      Utils.StoreData($selection[0], 'data', selection);
14803
14804      $selections.push($selection);
14805    }
14806
14807    var $rendered = this.$selection.find('.select2-selection__rendered');
14808
14809    $rendered.append($selections);
14810  };
14811
14812  return MultipleSelection;
14813});
14814
14815S2.define('select2/selection/placeholder',[
14816
14817], function () {
14818  function Placeholder (decorated, $element, options) {
14819    this.placeholder = this.normalizePlaceholder(options.get('placeholder'));
14820
14821    decorated.call(this, $element, options);
14822  }
14823
14824  Placeholder.prototype.normalizePlaceholder = function (_, placeholder) {
14825    if (typeof placeholder === 'string') {
14826      placeholder = {
14827        id: '',
14828        text: placeholder
14829      };
14830    }
14831
14832    return placeholder;
14833  };
14834
14835  Placeholder.prototype.createPlaceholder = function (decorated, placeholder) {
14836    var $placeholder = this.selectionContainer();
14837
14838    $placeholder.html(this.display(placeholder));
14839    $placeholder[0].classList.add('select2-selection__placeholder');
14840    $placeholder[0].classList.remove('select2-selection__choice');
14841
14842    var placeholderTitle = placeholder.title ||
14843      placeholder.text ||
14844      $placeholder.text();
14845
14846    this.$selection.find('.select2-selection__rendered').attr(
14847      'title',
14848      placeholderTitle
14849    );
14850
14851    return $placeholder;
14852  };
14853
14854  Placeholder.prototype.update = function (decorated, data) {
14855    var singlePlaceholder = (
14856      data.length == 1 && data[0].id != this.placeholder.id
14857    );
14858    var multipleSelections = data.length > 1;
14859
14860    if (multipleSelections || singlePlaceholder) {
14861      return decorated.call(this, data);
14862    }
14863
14864    this.clear();
14865
14866    var $placeholder = this.createPlaceholder(this.placeholder);
14867
14868    this.$selection.find('.select2-selection__rendered').append($placeholder);
14869  };
14870
14871  return Placeholder;
14872});
14873
14874S2.define('select2/selection/allowClear',[
14875  'jquery',
14876  '../keys',
14877  '../utils'
14878], function ($, KEYS, Utils) {
14879  function AllowClear () { }
14880
14881  AllowClear.prototype.bind = function (decorated, container, $container) {
14882    var self = this;
14883
14884    decorated.call(this, container, $container);
14885
14886    if (this.placeholder == null) {
14887      if (this.options.get('debug') && window.console && console.error) {
14888        console.error(
14889          'Select2: The `allowClear` option should be used in combination ' +
14890          'with the `placeholder` option.'
14891        );
14892      }
14893    }
14894
14895    this.$selection.on('mousedown', '.select2-selection__clear',
14896      function (evt) {
14897        self._handleClear(evt);
14898    });
14899
14900    container.on('keypress', function (evt) {
14901      self._handleKeyboardClear(evt, container);
14902    });
14903  };
14904
14905  AllowClear.prototype._handleClear = function (_, evt) {
14906    // Ignore the event if it is disabled
14907    if (this.isDisabled()) {
14908      return;
14909    }
14910
14911    var $clear = this.$selection.find('.select2-selection__clear');
14912
14913    // Ignore the event if nothing has been selected
14914    if ($clear.length === 0) {
14915      return;
14916    }
14917
14918    evt.stopPropagation();
14919
14920    var data = Utils.GetData($clear[0], 'data');
14921
14922    var previousVal = this.$element.val();
14923    this.$element.val(this.placeholder.id);
14924
14925    var unselectData = {
14926      data: data
14927    };
14928    this.trigger('clear', unselectData);
14929    if (unselectData.prevented) {
14930      this.$element.val(previousVal);
14931      return;
14932    }
14933
14934    for (var d = 0; d < data.length; d++) {
14935      unselectData = {
14936        data: data[d]
14937      };
14938
14939      // Trigger the `unselect` event, so people can prevent it from being
14940      // cleared.
14941      this.trigger('unselect', unselectData);
14942
14943      // If the event was prevented, don't clear it out.
14944      if (unselectData.prevented) {
14945        this.$element.val(previousVal);
14946        return;
14947      }
14948    }
14949
14950    this.$element.trigger('input').trigger('change');
14951
14952    this.trigger('toggle', {});
14953  };
14954
14955  AllowClear.prototype._handleKeyboardClear = function (_, evt, container) {
14956    if (container.isOpen()) {
14957      return;
14958    }
14959
14960    if (evt.which == KEYS.DELETE || evt.which == KEYS.BACKSPACE) {
14961      this._handleClear(evt);
14962    }
14963  };
14964
14965  AllowClear.prototype.update = function (decorated, data) {
14966    decorated.call(this, data);
14967
14968    this.$selection.find('.select2-selection__clear').remove();
14969    this.$selection[0].classList.remove('select2-selection--clearable');
14970
14971    if (this.$selection.find('.select2-selection__placeholder').length > 0 ||
14972        data.length === 0) {
14973      return;
14974    }
14975
14976    var selectionId = this.$selection.find('.select2-selection__rendered')
14977      .attr('id');
14978
14979    var removeAll = this.options.get('translations').get('removeAllItems');
14980
14981    var $remove = $(
14982      '<button type="button" class="select2-selection__clear" tabindex="-1">' +
14983        '<span aria-hidden="true">&times;</span>' +
14984      '</button>'
14985    );
14986    $remove.attr('title', removeAll());
14987    $remove.attr('aria-label', removeAll());
14988    $remove.attr('aria-describedby', selectionId);
14989    Utils.StoreData($remove[0], 'data', data);
14990
14991    this.$selection.prepend($remove);
14992    this.$selection[0].classList.add('select2-selection--clearable');
14993  };
14994
14995  return AllowClear;
14996});
14997
14998S2.define('select2/selection/search',[
14999  'jquery',
15000  '../utils',
15001  '../keys'
15002], function ($, Utils, KEYS) {
15003  function Search (decorated, $element, options) {
15004    decorated.call(this, $element, options);
15005  }
15006
15007  Search.prototype.render = function (decorated) {
15008    var searchLabel = this.options.get('translations').get('search');
15009    var $search = $(
15010      '<span class="select2-search select2-search--inline">' +
15011        '<textarea class="select2-search__field"'+
15012        ' type="search" tabindex="-1"' +
15013        ' autocorrect="off" autocapitalize="none"' +
15014        ' spellcheck="false" role="searchbox" aria-autocomplete="list" >' +
15015        '</textarea>' +
15016      '</span>'
15017    );
15018
15019    this.$searchContainer = $search;
15020    this.$search = $search.find('textarea');
15021
15022    this.$search.prop('autocomplete', this.options.get('autocomplete'));
15023    this.$search.attr('aria-label', searchLabel());
15024
15025    var $rendered = decorated.call(this);
15026
15027    this._transferTabIndex();
15028    $rendered.append(this.$searchContainer);
15029
15030    return $rendered;
15031  };
15032
15033  Search.prototype.bind = function (decorated, container, $container) {
15034    var self = this;
15035
15036    var resultsId = container.id + '-results';
15037    var selectionId = container.id + '-container';
15038
15039    decorated.call(this, container, $container);
15040
15041    self.$search.attr('aria-describedby', selectionId);
15042
15043    container.on('open', function () {
15044      self.$search.attr('aria-controls', resultsId);
15045      self.$search.trigger('focus');
15046    });
15047
15048    container.on('close', function () {
15049      self.$search.val('');
15050      self.resizeSearch();
15051      self.$search.removeAttr('aria-controls');
15052      self.$search.removeAttr('aria-activedescendant');
15053      self.$search.trigger('focus');
15054    });
15055
15056    container.on('enable', function () {
15057      self.$search.prop('disabled', false);
15058
15059      self._transferTabIndex();
15060    });
15061
15062    container.on('disable', function () {
15063      self.$search.prop('disabled', true);
15064    });
15065
15066    container.on('focus', function (evt) {
15067      self.$search.trigger('focus');
15068    });
15069
15070    container.on('results:focus', function (params) {
15071      if (params.data._resultId) {
15072        self.$search.attr('aria-activedescendant', params.data._resultId);
15073      } else {
15074        self.$search.removeAttr('aria-activedescendant');
15075      }
15076    });
15077
15078    this.$selection.on('focusin', '.select2-search--inline', function (evt) {
15079      self.trigger('focus', evt);
15080    });
15081
15082    this.$selection.on('focusout', '.select2-search--inline', function (evt) {
15083      self._handleBlur(evt);
15084    });
15085
15086    this.$selection.on('keydown', '.select2-search--inline', function (evt) {
15087      evt.stopPropagation();
15088
15089      self.trigger('keypress', evt);
15090
15091      self._keyUpPrevented = evt.isDefaultPrevented();
15092
15093      var key = evt.which;
15094
15095      if (key === KEYS.BACKSPACE && self.$search.val() === '') {
15096        var $previousChoice = self.$selection
15097          .find('.select2-selection__choice').last();
15098
15099        if ($previousChoice.length > 0) {
15100          var item = Utils.GetData($previousChoice[0], 'data');
15101
15102          self.searchRemoveChoice(item);
15103
15104          evt.preventDefault();
15105        }
15106      }
15107    });
15108
15109    this.$selection.on('click', '.select2-search--inline', function (evt) {
15110      if (self.$search.val()) {
15111        evt.stopPropagation();
15112      }
15113    });
15114
15115    // Try to detect the IE version should the `documentMode` property that
15116    // is stored on the document. This is only implemented in IE and is
15117    // slightly cleaner than doing a user agent check.
15118    // This property is not available in Edge, but Edge also doesn't have
15119    // this bug.
15120    var msie = document.documentMode;
15121    var disableInputEvents = msie && msie <= 11;
15122
15123    // Workaround for browsers which do not support the `input` event
15124    // This will prevent double-triggering of events for browsers which support
15125    // both the `keyup` and `input` events.
15126    this.$selection.on(
15127      'input.searchcheck',
15128      '.select2-search--inline',
15129      function (evt) {
15130        // IE will trigger the `input` event when a placeholder is used on a
15131        // search box. To get around this issue, we are forced to ignore all
15132        // `input` events in IE and keep using `keyup`.
15133        if (disableInputEvents) {
15134          self.$selection.off('input.search input.searchcheck');
15135          return;
15136        }
15137
15138        // Unbind the duplicated `keyup` event
15139        self.$selection.off('keyup.search');
15140      }
15141    );
15142
15143    this.$selection.on(
15144      'keyup.search input.search',
15145      '.select2-search--inline',
15146      function (evt) {
15147        // IE will trigger the `input` event when a placeholder is used on a
15148        // search box. To get around this issue, we are forced to ignore all
15149        // `input` events in IE and keep using `keyup`.
15150        if (disableInputEvents && evt.type === 'input') {
15151          self.$selection.off('input.search input.searchcheck');
15152          return;
15153        }
15154
15155        var key = evt.which;
15156
15157        // We can freely ignore events from modifier keys
15158        if (key == KEYS.SHIFT || key == KEYS.CTRL || key == KEYS.ALT) {
15159          return;
15160        }
15161
15162        // Tabbing will be handled during the `keydown` phase
15163        if (key == KEYS.TAB) {
15164          return;
15165        }
15166
15167        self.handleSearch(evt);
15168      }
15169    );
15170  };
15171
15172  /**
15173   * This method will transfer the tabindex attribute from the rendered
15174   * selection to the search box. This allows for the search box to be used as
15175   * the primary focus instead of the selection container.
15176   *
15177   * @private
15178   */
15179  Search.prototype._transferTabIndex = function (decorated) {
15180    this.$search.attr('tabindex', this.$selection.attr('tabindex'));
15181    this.$selection.attr('tabindex', '-1');
15182  };
15183
15184  Search.prototype.createPlaceholder = function (decorated, placeholder) {
15185    this.$search.attr('placeholder', placeholder.text);
15186  };
15187
15188  Search.prototype.update = function (decorated, data) {
15189    var searchHadFocus = this.$search[0] == document.activeElement;
15190
15191    this.$search.attr('placeholder', '');
15192
15193    decorated.call(this, data);
15194
15195    this.resizeSearch();
15196    if (searchHadFocus) {
15197      this.$search.trigger('focus');
15198    }
15199  };
15200
15201  Search.prototype.handleSearch = function () {
15202    this.resizeSearch();
15203
15204    if (!this._keyUpPrevented) {
15205      var input = this.$search.val();
15206
15207      this.trigger('query', {
15208        term: input
15209      });
15210    }
15211
15212    this._keyUpPrevented = false;
15213  };
15214
15215  Search.prototype.searchRemoveChoice = function (decorated, item) {
15216    this.trigger('unselect', {
15217      data: item
15218    });
15219
15220    this.$search.val(item.text);
15221    this.handleSearch();
15222  };
15223
15224  Search.prototype.resizeSearch = function () {
15225    this.$search.css('width', '25px');
15226
15227    var width = '100%';
15228
15229    if (this.$search.attr('placeholder') === '') {
15230      var minimumWidth = this.$search.val().length + 1;
15231
15232      width = (minimumWidth * 0.75) + 'em';
15233    }
15234
15235    this.$search.css('width', width);
15236  };
15237
15238  return Search;
15239});
15240
15241S2.define('select2/selection/selectionCss',[
15242  '../utils'
15243], function (Utils) {
15244  function SelectionCSS () { }
15245
15246  SelectionCSS.prototype.render = function (decorated) {
15247    var $selection = decorated.call(this);
15248
15249    var selectionCssClass = this.options.get('selectionCssClass') || '';
15250
15251    if (selectionCssClass.indexOf(':all:') !== -1) {
15252      selectionCssClass = selectionCssClass.replace(':all:', '');
15253
15254      Utils.copyNonInternalCssClasses($selection[0], this.$element[0]);
15255    }
15256
15257    $selection.addClass(selectionCssClass);
15258
15259    return $selection;
15260  };
15261
15262  return SelectionCSS;
15263});
15264
15265S2.define('select2/selection/eventRelay',[
15266  'jquery'
15267], function ($) {
15268  function EventRelay () { }
15269
15270  EventRelay.prototype.bind = function (decorated, container, $container) {
15271    var self = this;
15272    var relayEvents = [
15273      'open', 'opening',
15274      'close', 'closing',
15275      'select', 'selecting',
15276      'unselect', 'unselecting',
15277      'clear', 'clearing'
15278    ];
15279
15280    var preventableEvents = [
15281      'opening', 'closing', 'selecting', 'unselecting', 'clearing'
15282    ];
15283
15284    decorated.call(this, container, $container);
15285
15286    container.on('*', function (name, params) {
15287      // Ignore events that should not be relayed
15288      if (relayEvents.indexOf(name) === -1) {
15289        return;
15290      }
15291
15292      // The parameters should always be an object
15293      params = params || {};
15294
15295      // Generate the jQuery event for the Select2 event
15296      var evt = $.Event('select2:' + name, {
15297        params: params
15298      });
15299
15300      self.$element.trigger(evt);
15301
15302      // Only handle preventable events if it was one
15303      if (preventableEvents.indexOf(name) === -1) {
15304        return;
15305      }
15306
15307      params.prevented = evt.isDefaultPrevented();
15308    });
15309  };
15310
15311  return EventRelay;
15312});
15313
15314S2.define('select2/translation',[
15315  'jquery',
15316  'require'
15317], function ($, require) {
15318  function Translation (dict) {
15319    this.dict = dict || {};
15320  }
15321
15322  Translation.prototype.all = function () {
15323    return this.dict;
15324  };
15325
15326  Translation.prototype.get = function (key) {
15327    return this.dict[key];
15328  };
15329
15330  Translation.prototype.extend = function (translation) {
15331    this.dict = $.extend({}, translation.all(), this.dict);
15332  };
15333
15334  // Static functions
15335
15336  Translation._cache = {};
15337
15338  Translation.loadPath = function (path) {
15339    if (!(path in Translation._cache)) {
15340      var translations = require(path);
15341
15342      Translation._cache[path] = translations;
15343    }
15344
15345    return new Translation(Translation._cache[path]);
15346  };
15347
15348  return Translation;
15349});
15350
15351S2.define('select2/diacritics',[
15352
15353], function () {
15354  var diacritics = {
15355    '\u24B6': 'A',
15356    '\uFF21': 'A',
15357    '\u00C0': 'A',
15358    '\u00C1': 'A',
15359    '\u00C2': 'A',
15360    '\u1EA6': 'A',
15361    '\u1EA4': 'A',
15362    '\u1EAA': 'A',
15363    '\u1EA8': 'A',
15364    '\u00C3': 'A',
15365    '\u0100': 'A',
15366    '\u0102': 'A',
15367    '\u1EB0': 'A',
15368    '\u1EAE': 'A',
15369    '\u1EB4': 'A',
15370    '\u1EB2': 'A',
15371    '\u0226': 'A',
15372    '\u01E0': 'A',
15373    '\u00C4': 'A',
15374    '\u01DE': 'A',
15375    '\u1EA2': 'A',
15376    '\u00C5': 'A',
15377    '\u01FA': 'A',
15378    '\u01CD': 'A',
15379    '\u0200': 'A',
15380    '\u0202': 'A',
15381    '\u1EA0': 'A',
15382    '\u1EAC': 'A',
15383    '\u1EB6': 'A',
15384    '\u1E00': 'A',
15385    '\u0104': 'A',
15386    '\u023A': 'A',
15387    '\u2C6F': 'A',
15388    '\uA732': 'AA',
15389    '\u00C6': 'AE',
15390    '\u01FC': 'AE',
15391    '\u01E2': 'AE',
15392    '\uA734': 'AO',
15393    '\uA736': 'AU',
15394    '\uA738': 'AV',
15395    '\uA73A': 'AV',
15396    '\uA73C': 'AY',
15397    '\u24B7': 'B',
15398    '\uFF22': 'B',
15399    '\u1E02': 'B',
15400    '\u1E04': 'B',
15401    '\u1E06': 'B',
15402    '\u0243': 'B',
15403    '\u0182': 'B',
15404    '\u0181': 'B',
15405    '\u24B8': 'C',
15406    '\uFF23': 'C',
15407    '\u0106': 'C',
15408    '\u0108': 'C',
15409    '\u010A': 'C',
15410    '\u010C': 'C',
15411    '\u00C7': 'C',
15412    '\u1E08': 'C',
15413    '\u0187': 'C',
15414    '\u023B': 'C',
15415    '\uA73E': 'C',
15416    '\u24B9': 'D',
15417    '\uFF24': 'D',
15418    '\u1E0A': 'D',
15419    '\u010E': 'D',
15420    '\u1E0C': 'D',
15421    '\u1E10': 'D',
15422    '\u1E12': 'D',
15423    '\u1E0E': 'D',
15424    '\u0110': 'D',
15425    '\u018B': 'D',
15426    '\u018A': 'D',
15427    '\u0189': 'D',
15428    '\uA779': 'D',
15429    '\u01F1': 'DZ',
15430    '\u01C4': 'DZ',
15431    '\u01F2': 'Dz',
15432    '\u01C5': 'Dz',
15433    '\u24BA': 'E',
15434    '\uFF25': 'E',
15435    '\u00C8': 'E',
15436    '\u00C9': 'E',
15437    '\u00CA': 'E',
15438    '\u1EC0': 'E',
15439    '\u1EBE': 'E',
15440    '\u1EC4': 'E',
15441    '\u1EC2': 'E',
15442    '\u1EBC': 'E',
15443    '\u0112': 'E',
15444    '\u1E14': 'E',
15445    '\u1E16': 'E',
15446    '\u0114': 'E',
15447    '\u0116': 'E',
15448    '\u00CB': 'E',
15449    '\u1EBA': 'E',
15450    '\u011A': 'E',
15451    '\u0204': 'E',
15452    '\u0206': 'E',
15453    '\u1EB8': 'E',
15454    '\u1EC6': 'E',
15455    '\u0228': 'E',
15456    '\u1E1C': 'E',
15457    '\u0118': 'E',
15458    '\u1E18': 'E',
15459    '\u1E1A': 'E',
15460    '\u0190': 'E',
15461    '\u018E': 'E',
15462    '\u24BB': 'F',
15463    '\uFF26': 'F',
15464    '\u1E1E': 'F',
15465    '\u0191': 'F',
15466    '\uA77B': 'F',
15467    '\u24BC': 'G',
15468    '\uFF27': 'G',
15469    '\u01F4': 'G',
15470    '\u011C': 'G',
15471    '\u1E20': 'G',
15472    '\u011E': 'G',
15473    '\u0120': 'G',
15474    '\u01E6': 'G',
15475    '\u0122': 'G',
15476    '\u01E4': 'G',
15477    '\u0193': 'G',
15478    '\uA7A0': 'G',
15479    '\uA77D': 'G',
15480    '\uA77E': 'G',
15481    '\u24BD': 'H',
15482    '\uFF28': 'H',
15483    '\u0124': 'H',
15484    '\u1E22': 'H',
15485    '\u1E26': 'H',
15486    '\u021E': 'H',
15487    '\u1E24': 'H',
15488    '\u1E28': 'H',
15489    '\u1E2A': 'H',
15490    '\u0126': 'H',
15491    '\u2C67': 'H',
15492    '\u2C75': 'H',
15493    '\uA78D': 'H',
15494    '\u24BE': 'I',
15495    '\uFF29': 'I',
15496    '\u00CC': 'I',
15497    '\u00CD': 'I',
15498    '\u00CE': 'I',
15499    '\u0128': 'I',
15500    '\u012A': 'I',
15501    '\u012C': 'I',
15502    '\u0130': 'I',
15503    '\u00CF': 'I',
15504    '\u1E2E': 'I',
15505    '\u1EC8': 'I',
15506    '\u01CF': 'I',
15507    '\u0208': 'I',
15508    '\u020A': 'I',
15509    '\u1ECA': 'I',
15510    '\u012E': 'I',
15511    '\u1E2C': 'I',
15512    '\u0197': 'I',
15513    '\u24BF': 'J',
15514    '\uFF2A': 'J',
15515    '\u0134': 'J',
15516    '\u0248': 'J',
15517    '\u24C0': 'K',
15518    '\uFF2B': 'K',
15519    '\u1E30': 'K',
15520    '\u01E8': 'K',
15521    '\u1E32': 'K',
15522    '\u0136': 'K',
15523    '\u1E34': 'K',
15524    '\u0198': 'K',
15525    '\u2C69': 'K',
15526    '\uA740': 'K',
15527    '\uA742': 'K',
15528    '\uA744': 'K',
15529    '\uA7A2': 'K',
15530    '\u24C1': 'L',
15531    '\uFF2C': 'L',
15532    '\u013F': 'L',
15533    '\u0139': 'L',
15534    '\u013D': 'L',
15535    '\u1E36': 'L',
15536    '\u1E38': 'L',
15537    '\u013B': 'L',
15538    '\u1E3C': 'L',
15539    '\u1E3A': 'L',
15540    '\u0141': 'L',
15541    '\u023D': 'L',
15542    '\u2C62': 'L',
15543    '\u2C60': 'L',
15544    '\uA748': 'L',
15545    '\uA746': 'L',
15546    '\uA780': 'L',
15547    '\u01C7': 'LJ',
15548    '\u01C8': 'Lj',
15549    '\u24C2': 'M',
15550    '\uFF2D': 'M',
15551    '\u1E3E': 'M',
15552    '\u1E40': 'M',
15553    '\u1E42': 'M',
15554    '\u2C6E': 'M',
15555    '\u019C': 'M',
15556    '\u24C3': 'N',
15557    '\uFF2E': 'N',
15558    '\u01F8': 'N',
15559    '\u0143': 'N',
15560    '\u00D1': 'N',
15561    '\u1E44': 'N',
15562    '\u0147': 'N',
15563    '\u1E46': 'N',
15564    '\u0145': 'N',
15565    '\u1E4A': 'N',
15566    '\u1E48': 'N',
15567    '\u0220': 'N',
15568    '\u019D': 'N',
15569    '\uA790': 'N',
15570    '\uA7A4': 'N',
15571    '\u01CA': 'NJ',
15572    '\u01CB': 'Nj',
15573    '\u24C4': 'O',
15574    '\uFF2F': 'O',
15575    '\u00D2': 'O',
15576    '\u00D3': 'O',
15577    '\u00D4': 'O',
15578    '\u1ED2': 'O',
15579    '\u1ED0': 'O',
15580    '\u1ED6': 'O',
15581    '\u1ED4': 'O',
15582    '\u00D5': 'O',
15583    '\u1E4C': 'O',
15584    '\u022C': 'O',
15585    '\u1E4E': 'O',
15586    '\u014C': 'O',
15587    '\u1E50': 'O',
15588    '\u1E52': 'O',
15589    '\u014E': 'O',
15590    '\u022E': 'O',
15591    '\u0230': 'O',
15592    '\u00D6': 'O',
15593    '\u022A': 'O',
15594    '\u1ECE': 'O',
15595    '\u0150': 'O',
15596    '\u01D1': 'O',
15597    '\u020C': 'O',
15598    '\u020E': 'O',
15599    '\u01A0': 'O',
15600    '\u1EDC': 'O',
15601    '\u1EDA': 'O',
15602    '\u1EE0': 'O',
15603    '\u1EDE': 'O',
15604    '\u1EE2': 'O',
15605    '\u1ECC': 'O',
15606    '\u1ED8': 'O',
15607    '\u01EA': 'O',
15608    '\u01EC': 'O',
15609    '\u00D8': 'O',
15610    '\u01FE': 'O',
15611    '\u0186': 'O',
15612    '\u019F': 'O',
15613    '\uA74A': 'O',
15614    '\uA74C': 'O',
15615    '\u0152': 'OE',
15616    '\u01A2': 'OI',
15617    '\uA74E': 'OO',
15618    '\u0222': 'OU',
15619    '\u24C5': 'P',
15620    '\uFF30': 'P',
15621    '\u1E54': 'P',
15622    '\u1E56': 'P',
15623    '\u01A4': 'P',
15624    '\u2C63': 'P',
15625    '\uA750': 'P',
15626    '\uA752': 'P',
15627    '\uA754': 'P',
15628    '\u24C6': 'Q',
15629    '\uFF31': 'Q',
15630    '\uA756': 'Q',
15631    '\uA758': 'Q',
15632    '\u024A': 'Q',
15633    '\u24C7': 'R',
15634    '\uFF32': 'R',
15635    '\u0154': 'R',
15636    '\u1E58': 'R',
15637    '\u0158': 'R',
15638    '\u0210': 'R',
15639    '\u0212': 'R',
15640    '\u1E5A': 'R',
15641    '\u1E5C': 'R',
15642    '\u0156': 'R',
15643    '\u1E5E': 'R',
15644    '\u024C': 'R',
15645    '\u2C64': 'R',
15646    '\uA75A': 'R',
15647    '\uA7A6': 'R',
15648    '\uA782': 'R',
15649    '\u24C8': 'S',
15650    '\uFF33': 'S',
15651    '\u1E9E': 'S',
15652    '\u015A': 'S',
15653    '\u1E64': 'S',
15654    '\u015C': 'S',
15655    '\u1E60': 'S',
15656    '\u0160': 'S',
15657    '\u1E66': 'S',
15658    '\u1E62': 'S',
15659    '\u1E68': 'S',
15660    '\u0218': 'S',
15661    '\u015E': 'S',
15662    '\u2C7E': 'S',
15663    '\uA7A8': 'S',
15664    '\uA784': 'S',
15665    '\u24C9': 'T',
15666    '\uFF34': 'T',
15667    '\u1E6A': 'T',
15668    '\u0164': 'T',
15669    '\u1E6C': 'T',
15670    '\u021A': 'T',
15671    '\u0162': 'T',
15672    '\u1E70': 'T',
15673    '\u1E6E': 'T',
15674    '\u0166': 'T',
15675    '\u01AC': 'T',
15676    '\u01AE': 'T',
15677    '\u023E': 'T',
15678    '\uA786': 'T',
15679    '\uA728': 'TZ',
15680    '\u24CA': 'U',
15681    '\uFF35': 'U',
15682    '\u00D9': 'U',
15683    '\u00DA': 'U',
15684    '\u00DB': 'U',
15685    '\u0168': 'U',
15686    '\u1E78': 'U',
15687    '\u016A': 'U',
15688    '\u1E7A': 'U',
15689    '\u016C': 'U',
15690    '\u00DC': 'U',
15691    '\u01DB': 'U',
15692    '\u01D7': 'U',
15693    '\u01D5': 'U',
15694    '\u01D9': 'U',
15695    '\u1EE6': 'U',
15696    '\u016E': 'U',
15697    '\u0170': 'U',
15698    '\u01D3': 'U',
15699    '\u0214': 'U',
15700    '\u0216': 'U',
15701    '\u01AF': 'U',
15702    '\u1EEA': 'U',
15703    '\u1EE8': 'U',
15704    '\u1EEE': 'U',
15705    '\u1EEC': 'U',
15706    '\u1EF0': 'U',
15707    '\u1EE4': 'U',
15708    '\u1E72': 'U',
15709    '\u0172': 'U',
15710    '\u1E76': 'U',
15711    '\u1E74': 'U',
15712    '\u0244': 'U',
15713    '\u24CB': 'V',
15714    '\uFF36': 'V',
15715    '\u1E7C': 'V',
15716    '\u1E7E': 'V',
15717    '\u01B2': 'V',
15718    '\uA75E': 'V',
15719    '\u0245': 'V',
15720    '\uA760': 'VY',
15721    '\u24CC': 'W',
15722    '\uFF37': 'W',
15723    '\u1E80': 'W',
15724    '\u1E82': 'W',
15725    '\u0174': 'W',
15726    '\u1E86': 'W',
15727    '\u1E84': 'W',
15728    '\u1E88': 'W',
15729    '\u2C72': 'W',
15730    '\u24CD': 'X',
15731    '\uFF38': 'X',
15732    '\u1E8A': 'X',
15733    '\u1E8C': 'X',
15734    '\u24CE': 'Y',
15735    '\uFF39': 'Y',
15736    '\u1EF2': 'Y',
15737    '\u00DD': 'Y',
15738    '\u0176': 'Y',
15739    '\u1EF8': 'Y',
15740    '\u0232': 'Y',
15741    '\u1E8E': 'Y',
15742    '\u0178': 'Y',
15743    '\u1EF6': 'Y',
15744    '\u1EF4': 'Y',
15745    '\u01B3': 'Y',
15746    '\u024E': 'Y',
15747    '\u1EFE': 'Y',
15748    '\u24CF': 'Z',
15749    '\uFF3A': 'Z',
15750    '\u0179': 'Z',
15751    '\u1E90': 'Z',
15752    '\u017B': 'Z',
15753    '\u017D': 'Z',
15754    '\u1E92': 'Z',
15755    '\u1E94': 'Z',
15756    '\u01B5': 'Z',
15757    '\u0224': 'Z',
15758    '\u2C7F': 'Z',
15759    '\u2C6B': 'Z',
15760    '\uA762': 'Z',
15761    '\u24D0': 'a',
15762    '\uFF41': 'a',
15763    '\u1E9A': 'a',
15764    '\u00E0': 'a',
15765    '\u00E1': 'a',
15766    '\u00E2': 'a',
15767    '\u1EA7': 'a',
15768    '\u1EA5': 'a',
15769    '\u1EAB': 'a',
15770    '\u1EA9': 'a',
15771    '\u00E3': 'a',
15772    '\u0101': 'a',
15773    '\u0103': 'a',
15774    '\u1EB1': 'a',
15775    '\u1EAF': 'a',
15776    '\u1EB5': 'a',
15777    '\u1EB3': 'a',
15778    '\u0227': 'a',
15779    '\u01E1': 'a',
15780    '\u00E4': 'a',
15781    '\u01DF': 'a',
15782    '\u1EA3': 'a',
15783    '\u00E5': 'a',
15784    '\u01FB': 'a',
15785    '\u01CE': 'a',
15786    '\u0201': 'a',
15787    '\u0203': 'a',
15788    '\u1EA1': 'a',
15789    '\u1EAD': 'a',
15790    '\u1EB7': 'a',
15791    '\u1E01': 'a',
15792    '\u0105': 'a',
15793    '\u2C65': 'a',
15794    '\u0250': 'a',
15795    '\uA733': 'aa',
15796    '\u00E6': 'ae',
15797    '\u01FD': 'ae',
15798    '\u01E3': 'ae',
15799    '\uA735': 'ao',
15800    '\uA737': 'au',
15801    '\uA739': 'av',
15802    '\uA73B': 'av',
15803    '\uA73D': 'ay',
15804    '\u24D1': 'b',
15805    '\uFF42': 'b',
15806    '\u1E03': 'b',
15807    '\u1E05': 'b',
15808    '\u1E07': 'b',
15809    '\u0180': 'b',
15810    '\u0183': 'b',
15811    '\u0253': 'b',
15812    '\u24D2': 'c',
15813    '\uFF43': 'c',
15814    '\u0107': 'c',
15815    '\u0109': 'c',
15816    '\u010B': 'c',
15817    '\u010D': 'c',
15818    '\u00E7': 'c',
15819    '\u1E09': 'c',
15820    '\u0188': 'c',
15821    '\u023C': 'c',
15822    '\uA73F': 'c',
15823    '\u2184': 'c',
15824    '\u24D3': 'd',
15825    '\uFF44': 'd',
15826    '\u1E0B': 'd',
15827    '\u010F': 'd',
15828    '\u1E0D': 'd',
15829    '\u1E11': 'd',
15830    '\u1E13': 'd',
15831    '\u1E0F': 'd',
15832    '\u0111': 'd',
15833    '\u018C': 'd',
15834    '\u0256': 'd',
15835    '\u0257': 'd',
15836    '\uA77A': 'd',
15837    '\u01F3': 'dz',
15838    '\u01C6': 'dz',
15839    '\u24D4': 'e',
15840    '\uFF45': 'e',
15841    '\u00E8': 'e',
15842    '\u00E9': 'e',
15843    '\u00EA': 'e',
15844    '\u1EC1': 'e',
15845    '\u1EBF': 'e',
15846    '\u1EC5': 'e',
15847    '\u1EC3': 'e',
15848    '\u1EBD': 'e',
15849    '\u0113': 'e',
15850    '\u1E15': 'e',
15851    '\u1E17': 'e',
15852    '\u0115': 'e',
15853    '\u0117': 'e',
15854    '\u00EB': 'e',
15855    '\u1EBB': 'e',
15856    '\u011B': 'e',
15857    '\u0205': 'e',
15858    '\u0207': 'e',
15859    '\u1EB9': 'e',
15860    '\u1EC7': 'e',
15861    '\u0229': 'e',
15862    '\u1E1D': 'e',
15863    '\u0119': 'e',
15864    '\u1E19': 'e',
15865    '\u1E1B': 'e',
15866    '\u0247': 'e',
15867    '\u025B': 'e',
15868    '\u01DD': 'e',
15869    '\u24D5': 'f',
15870    '\uFF46': 'f',
15871    '\u1E1F': 'f',
15872    '\u0192': 'f',
15873    '\uA77C': 'f',
15874    '\u24D6': 'g',
15875    '\uFF47': 'g',
15876    '\u01F5': 'g',
15877    '\u011D': 'g',
15878    '\u1E21': 'g',
15879    '\u011F': 'g',
15880    '\u0121': 'g',
15881    '\u01E7': 'g',
15882    '\u0123': 'g',
15883    '\u01E5': 'g',
15884    '\u0260': 'g',
15885    '\uA7A1': 'g',
15886    '\u1D79': 'g',
15887    '\uA77F': 'g',
15888    '\u24D7': 'h',
15889    '\uFF48': 'h',
15890    '\u0125': 'h',
15891    '\u1E23': 'h',
15892    '\u1E27': 'h',
15893    '\u021F': 'h',
15894    '\u1E25': 'h',
15895    '\u1E29': 'h',
15896    '\u1E2B': 'h',
15897    '\u1E96': 'h',
15898    '\u0127': 'h',
15899    '\u2C68': 'h',
15900    '\u2C76': 'h',
15901    '\u0265': 'h',
15902    '\u0195': 'hv',
15903    '\u24D8': 'i',
15904    '\uFF49': 'i',
15905    '\u00EC': 'i',
15906    '\u00ED': 'i',
15907    '\u00EE': 'i',
15908    '\u0129': 'i',
15909    '\u012B': 'i',
15910    '\u012D': 'i',
15911    '\u00EF': 'i',
15912    '\u1E2F': 'i',
15913    '\u1EC9': 'i',
15914    '\u01D0': 'i',
15915    '\u0209': 'i',
15916    '\u020B': 'i',
15917    '\u1ECB': 'i',
15918    '\u012F': 'i',
15919    '\u1E2D': 'i',
15920    '\u0268': 'i',
15921    '\u0131': 'i',
15922    '\u24D9': 'j',
15923    '\uFF4A': 'j',
15924    '\u0135': 'j',
15925    '\u01F0': 'j',
15926    '\u0249': 'j',
15927    '\u24DA': 'k',
15928    '\uFF4B': 'k',
15929    '\u1E31': 'k',
15930    '\u01E9': 'k',
15931    '\u1E33': 'k',
15932    '\u0137': 'k',
15933    '\u1E35': 'k',
15934    '\u0199': 'k',
15935    '\u2C6A': 'k',
15936    '\uA741': 'k',
15937    '\uA743': 'k',
15938    '\uA745': 'k',
15939    '\uA7A3': 'k',
15940    '\u24DB': 'l',
15941    '\uFF4C': 'l',
15942    '\u0140': 'l',
15943    '\u013A': 'l',
15944    '\u013E': 'l',
15945    '\u1E37': 'l',
15946    '\u1E39': 'l',
15947    '\u013C': 'l',
15948    '\u1E3D': 'l',
15949    '\u1E3B': 'l',
15950    '\u017F': 'l',
15951    '\u0142': 'l',
15952    '\u019A': 'l',
15953    '\u026B': 'l',
15954    '\u2C61': 'l',
15955    '\uA749': 'l',
15956    '\uA781': 'l',
15957    '\uA747': 'l',
15958    '\u01C9': 'lj',
15959    '\u24DC': 'm',
15960    '\uFF4D': 'm',
15961    '\u1E3F': 'm',
15962    '\u1E41': 'm',
15963    '\u1E43': 'm',
15964    '\u0271': 'm',
15965    '\u026F': 'm',
15966    '\u24DD': 'n',
15967    '\uFF4E': 'n',
15968    '\u01F9': 'n',
15969    '\u0144': 'n',
15970    '\u00F1': 'n',
15971    '\u1E45': 'n',
15972    '\u0148': 'n',
15973    '\u1E47': 'n',
15974    '\u0146': 'n',
15975    '\u1E4B': 'n',
15976    '\u1E49': 'n',
15977    '\u019E': 'n',
15978    '\u0272': 'n',
15979    '\u0149': 'n',
15980    '\uA791': 'n',
15981    '\uA7A5': 'n',
15982    '\u01CC': 'nj',
15983    '\u24DE': 'o',
15984    '\uFF4F': 'o',
15985    '\u00F2': 'o',
15986    '\u00F3': 'o',
15987    '\u00F4': 'o',
15988    '\u1ED3': 'o',
15989    '\u1ED1': 'o',
15990    '\u1ED7': 'o',
15991    '\u1ED5': 'o',
15992    '\u00F5': 'o',
15993    '\u1E4D': 'o',
15994    '\u022D': 'o',
15995    '\u1E4F': 'o',
15996    '\u014D': 'o',
15997    '\u1E51': 'o',
15998    '\u1E53': 'o',
15999    '\u014F': 'o',
16000    '\u022F': 'o',
16001    '\u0231': 'o',
16002    '\u00F6': 'o',
16003    '\u022B': 'o',
16004    '\u1ECF': 'o',
16005    '\u0151': 'o',
16006    '\u01D2': 'o',
16007    '\u020D': 'o',
16008    '\u020F': 'o',
16009    '\u01A1': 'o',
16010    '\u1EDD': 'o',
16011    '\u1EDB': 'o',
16012    '\u1EE1': 'o',
16013    '\u1EDF': 'o',
16014    '\u1EE3': 'o',
16015    '\u1ECD': 'o',
16016    '\u1ED9': 'o',
16017    '\u01EB': 'o',
16018    '\u01ED': 'o',
16019    '\u00F8': 'o',
16020    '\u01FF': 'o',
16021    '\u0254': 'o',
16022    '\uA74B': 'o',
16023    '\uA74D': 'o',
16024    '\u0275': 'o',
16025    '\u0153': 'oe',
16026    '\u01A3': 'oi',
16027    '\u0223': 'ou',
16028    '\uA74F': 'oo',
16029    '\u24DF': 'p',
16030    '\uFF50': 'p',
16031    '\u1E55': 'p',
16032    '\u1E57': 'p',
16033    '\u01A5': 'p',
16034    '\u1D7D': 'p',
16035    '\uA751': 'p',
16036    '\uA753': 'p',
16037    '\uA755': 'p',
16038    '\u24E0': 'q',
16039    '\uFF51': 'q',
16040    '\u024B': 'q',
16041    '\uA757': 'q',
16042    '\uA759': 'q',
16043    '\u24E1': 'r',
16044    '\uFF52': 'r',
16045    '\u0155': 'r',
16046    '\u1E59': 'r',
16047    '\u0159': 'r',
16048    '\u0211': 'r',
16049    '\u0213': 'r',
16050    '\u1E5B': 'r',
16051    '\u1E5D': 'r',
16052    '\u0157': 'r',
16053    '\u1E5F': 'r',
16054    '\u024D': 'r',
16055    '\u027D': 'r',
16056    '\uA75B': 'r',
16057    '\uA7A7': 'r',
16058    '\uA783': 'r',
16059    '\u24E2': 's',
16060    '\uFF53': 's',
16061    '\u00DF': 's',
16062    '\u015B': 's',
16063    '\u1E65': 's',
16064    '\u015D': 's',
16065    '\u1E61': 's',
16066    '\u0161': 's',
16067    '\u1E67': 's',
16068    '\u1E63': 's',
16069    '\u1E69': 's',
16070    '\u0219': 's',
16071    '\u015F': 's',
16072    '\u023F': 's',
16073    '\uA7A9': 's',
16074    '\uA785': 's',
16075    '\u1E9B': 's',
16076    '\u24E3': 't',
16077    '\uFF54': 't',
16078    '\u1E6B': 't',
16079    '\u1E97': 't',
16080    '\u0165': 't',
16081    '\u1E6D': 't',
16082    '\u021B': 't',
16083    '\u0163': 't',
16084    '\u1E71': 't',
16085    '\u1E6F': 't',
16086    '\u0167': 't',
16087    '\u01AD': 't',
16088    '\u0288': 't',
16089    '\u2C66': 't',
16090    '\uA787': 't',
16091    '\uA729': 'tz',
16092    '\u24E4': 'u',
16093    '\uFF55': 'u',
16094    '\u00F9': 'u',
16095    '\u00FA': 'u',
16096    '\u00FB': 'u',
16097    '\u0169': 'u',
16098    '\u1E79': 'u',
16099    '\u016B': 'u',
16100    '\u1E7B': 'u',
16101    '\u016D': 'u',
16102    '\u00FC': 'u',
16103    '\u01DC': 'u',
16104    '\u01D8': 'u',
16105    '\u01D6': 'u',
16106    '\u01DA': 'u',
16107    '\u1EE7': 'u',
16108    '\u016F': 'u',
16109    '\u0171': 'u',
16110    '\u01D4': 'u',
16111    '\u0215': 'u',
16112    '\u0217': 'u',
16113    '\u01B0': 'u',
16114    '\u1EEB': 'u',
16115    '\u1EE9': 'u',
16116    '\u1EEF': 'u',
16117    '\u1EED': 'u',
16118    '\u1EF1': 'u',
16119    '\u1EE5': 'u',
16120    '\u1E73': 'u',
16121    '\u0173': 'u',
16122    '\u1E77': 'u',
16123    '\u1E75': 'u',
16124    '\u0289': 'u',
16125    '\u24E5': 'v',
16126    '\uFF56': 'v',
16127    '\u1E7D': 'v',
16128    '\u1E7F': 'v',
16129    '\u028B': 'v',
16130    '\uA75F': 'v',
16131    '\u028C': 'v',
16132    '\uA761': 'vy',
16133    '\u24E6': 'w',
16134    '\uFF57': 'w',
16135    '\u1E81': 'w',
16136    '\u1E83': 'w',
16137    '\u0175': 'w',
16138    '\u1E87': 'w',
16139    '\u1E85': 'w',
16140    '\u1E98': 'w',
16141    '\u1E89': 'w',
16142    '\u2C73': 'w',
16143    '\u24E7': 'x',
16144    '\uFF58': 'x',
16145    '\u1E8B': 'x',
16146    '\u1E8D': 'x',
16147    '\u24E8': 'y',
16148    '\uFF59': 'y',
16149    '\u1EF3': 'y',
16150    '\u00FD': 'y',
16151    '\u0177': 'y',
16152    '\u1EF9': 'y',
16153    '\u0233': 'y',
16154    '\u1E8F': 'y',
16155    '\u00FF': 'y',
16156    '\u1EF7': 'y',
16157    '\u1E99': 'y',
16158    '\u1EF5': 'y',
16159    '\u01B4': 'y',
16160    '\u024F': 'y',
16161    '\u1EFF': 'y',
16162    '\u24E9': 'z',
16163    '\uFF5A': 'z',
16164    '\u017A': 'z',
16165    '\u1E91': 'z',
16166    '\u017C': 'z',
16167    '\u017E': 'z',
16168    '\u1E93': 'z',
16169    '\u1E95': 'z',
16170    '\u01B6': 'z',
16171    '\u0225': 'z',
16172    '\u0240': 'z',
16173    '\u2C6C': 'z',
16174    '\uA763': 'z',
16175    '\u0386': '\u0391',
16176    '\u0388': '\u0395',
16177    '\u0389': '\u0397',
16178    '\u038A': '\u0399',
16179    '\u03AA': '\u0399',
16180    '\u038C': '\u039F',
16181    '\u038E': '\u03A5',
16182    '\u03AB': '\u03A5',
16183    '\u038F': '\u03A9',
16184    '\u03AC': '\u03B1',
16185    '\u03AD': '\u03B5',
16186    '\u03AE': '\u03B7',
16187    '\u03AF': '\u03B9',
16188    '\u03CA': '\u03B9',
16189    '\u0390': '\u03B9',
16190    '\u03CC': '\u03BF',
16191    '\u03CD': '\u03C5',
16192    '\u03CB': '\u03C5',
16193    '\u03B0': '\u03C5',
16194    '\u03CE': '\u03C9',
16195    '\u03C2': '\u03C3',
16196    '\u2019': '\''
16197  };
16198
16199  return diacritics;
16200});
16201
16202S2.define('select2/data/base',[
16203  '../utils'
16204], function (Utils) {
16205  function BaseAdapter ($element, options) {
16206    BaseAdapter.__super__.constructor.call(this);
16207  }
16208
16209  Utils.Extend(BaseAdapter, Utils.Observable);
16210
16211  BaseAdapter.prototype.current = function (callback) {
16212    throw new Error('The `current` method must be defined in child classes.');
16213  };
16214
16215  BaseAdapter.prototype.query = function (params, callback) {
16216    throw new Error('The `query` method must be defined in child classes.');
16217  };
16218
16219  BaseAdapter.prototype.bind = function (container, $container) {
16220    // Can be implemented in subclasses
16221  };
16222
16223  BaseAdapter.prototype.destroy = function () {
16224    // Can be implemented in subclasses
16225  };
16226
16227  BaseAdapter.prototype.generateResultId = function (container, data) {
16228    var id = container.id + '-result-';
16229
16230    id += Utils.generateChars(4);
16231
16232    if (data.id != null) {
16233      id += '-' + data.id.toString();
16234    } else {
16235      id += '-' + Utils.generateChars(4);
16236    }
16237    return id;
16238  };
16239
16240  return BaseAdapter;
16241});
16242
16243S2.define('select2/data/select',[
16244  './base',
16245  '../utils',
16246  'jquery'
16247], function (BaseAdapter, Utils, $) {
16248  function SelectAdapter ($element, options) {
16249    this.$element = $element;
16250    this.options = options;
16251
16252    SelectAdapter.__super__.constructor.call(this);
16253  }
16254
16255  Utils.Extend(SelectAdapter, BaseAdapter);
16256
16257  SelectAdapter.prototype.current = function (callback) {
16258    var self = this;
16259
16260    var data = Array.prototype.map.call(
16261      this.$element[0].querySelectorAll(':checked'),
16262      function (selectedElement) {
16263        return self.item($(selectedElement));
16264      }
16265    );
16266
16267    callback(data);
16268  };
16269
16270  SelectAdapter.prototype.select = function (data) {
16271    var self = this;
16272
16273    data.selected = true;
16274
16275    // If data.element is a DOM node, use it instead
16276    if (
16277      data.element != null && data.element.tagName.toLowerCase() === 'option'
16278    ) {
16279      data.element.selected = true;
16280
16281      this.$element.trigger('input').trigger('change');
16282
16283      return;
16284    }
16285
16286    if (this.$element.prop('multiple')) {
16287      this.current(function (currentData) {
16288        var val = [];
16289
16290        data = [data];
16291        data.push.apply(data, currentData);
16292
16293        for (var d = 0; d < data.length; d++) {
16294          var id = data[d].id;
16295
16296          if (val.indexOf(id) === -1) {
16297            val.push(id);
16298          }
16299        }
16300
16301        self.$element.val(val);
16302        self.$element.trigger('input').trigger('change');
16303      });
16304    } else {
16305      var val = data.id;
16306
16307      this.$element.val(val);
16308      this.$element.trigger('input').trigger('change');
16309    }
16310  };
16311
16312  SelectAdapter.prototype.unselect = function (data) {
16313    var self = this;
16314
16315    if (!this.$element.prop('multiple')) {
16316      return;
16317    }
16318
16319    data.selected = false;
16320
16321    if (
16322      data.element != null &&
16323      data.element.tagName.toLowerCase() === 'option'
16324    ) {
16325      data.element.selected = false;
16326
16327      this.$element.trigger('input').trigger('change');
16328
16329      return;
16330    }
16331
16332    this.current(function (currentData) {
16333      var val = [];
16334
16335      for (var d = 0; d < currentData.length; d++) {
16336        var id = currentData[d].id;
16337
16338        if (id !== data.id && val.indexOf(id) === -1) {
16339          val.push(id);
16340        }
16341      }
16342
16343      self.$element.val(val);
16344
16345      self.$element.trigger('input').trigger('change');
16346    });
16347  };
16348
16349  SelectAdapter.prototype.bind = function (container, $container) {
16350    var self = this;
16351
16352    this.container = container;
16353
16354    container.on('select', function (params) {
16355      self.select(params.data);
16356    });
16357
16358    container.on('unselect', function (params) {
16359      self.unselect(params.data);
16360    });
16361  };
16362
16363  SelectAdapter.prototype.destroy = function () {
16364    // Remove anything added to child elements
16365    this.$element.find('*').each(function () {
16366      // Remove any custom data set by Select2
16367      Utils.RemoveData(this);
16368    });
16369  };
16370
16371  SelectAdapter.prototype.query = function (params, callback) {
16372    var data = [];
16373    var self = this;
16374
16375    var $options = this.$element.children();
16376
16377    $options.each(function () {
16378      if (
16379        this.tagName.toLowerCase() !== 'option' &&
16380        this.tagName.toLowerCase() !== 'optgroup'
16381      ) {
16382        return;
16383      }
16384
16385      var $option = $(this);
16386
16387      var option = self.item($option);
16388
16389      var matches = self.matches(params, option);
16390
16391      if (matches !== null) {
16392        data.push(matches);
16393      }
16394    });
16395
16396    callback({
16397      results: data
16398    });
16399  };
16400
16401  SelectAdapter.prototype.addOptions = function ($options) {
16402    this.$element.append($options);
16403  };
16404
16405  SelectAdapter.prototype.option = function (data) {
16406    var option;
16407
16408    if (data.children) {
16409      option = document.createElement('optgroup');
16410      option.label = data.text;
16411    } else {
16412      option = document.createElement('option');
16413
16414      if (option.textContent !== undefined) {
16415        option.textContent = data.text;
16416      } else {
16417        option.innerText = data.text;
16418      }
16419    }
16420
16421    if (data.id !== undefined) {
16422      option.value = data.id;
16423    }
16424
16425    if (data.disabled) {
16426      option.disabled = true;
16427    }
16428
16429    if (data.selected) {
16430      option.selected = true;
16431    }
16432
16433    if (data.title) {
16434      option.title = data.title;
16435    }
16436
16437    var normalizedData = this._normalizeItem(data);
16438    normalizedData.element = option;
16439
16440    // Override the option's data with the combined data
16441    Utils.StoreData(option, 'data', normalizedData);
16442
16443    return $(option);
16444  };
16445
16446  SelectAdapter.prototype.item = function ($option) {
16447    var data = {};
16448
16449    data = Utils.GetData($option[0], 'data');
16450
16451    if (data != null) {
16452      return data;
16453    }
16454
16455    var option = $option[0];
16456
16457    if (option.tagName.toLowerCase() === 'option') {
16458      data = {
16459        id: $option.val(),
16460        text: $option.text(),
16461        disabled: $option.prop('disabled'),
16462        selected: $option.prop('selected'),
16463        title: $option.prop('title')
16464      };
16465    } else if (option.tagName.toLowerCase() === 'optgroup') {
16466      data = {
16467        text: $option.prop('label'),
16468        children: [],
16469        title: $option.prop('title')
16470      };
16471
16472      var $children = $option.children('option');
16473      var children = [];
16474
16475      for (var c = 0; c < $children.length; c++) {
16476        var $child = $($children[c]);
16477
16478        var child = this.item($child);
16479
16480        children.push(child);
16481      }
16482
16483      data.children = children;
16484    }
16485
16486    data = this._normalizeItem(data);
16487    data.element = $option[0];
16488
16489    Utils.StoreData($option[0], 'data', data);
16490
16491    return data;
16492  };
16493
16494  SelectAdapter.prototype._normalizeItem = function (item) {
16495    if (item !== Object(item)) {
16496      item = {
16497        id: item,
16498        text: item
16499      };
16500    }
16501
16502    item = $.extend({}, {
16503      text: ''
16504    }, item);
16505
16506    var defaults = {
16507      selected: false,
16508      disabled: false
16509    };
16510
16511    if (item.id != null) {
16512      item.id = item.id.toString();
16513    }
16514
16515    if (item.text != null) {
16516      item.text = item.text.toString();
16517    }
16518
16519    if (item._resultId == null && item.id && this.container != null) {
16520      item._resultId = this.generateResultId(this.container, item);
16521    }
16522
16523    return $.extend({}, defaults, item);
16524  };
16525
16526  SelectAdapter.prototype.matches = function (params, data) {
16527    var matcher = this.options.get('matcher');
16528
16529    return matcher(params, data);
16530  };
16531
16532  return SelectAdapter;
16533});
16534
16535S2.define('select2/data/array',[
16536  './select',
16537  '../utils',
16538  'jquery'
16539], function (SelectAdapter, Utils, $) {
16540  function ArrayAdapter ($element, options) {
16541    this._dataToConvert = options.get('data') || [];
16542
16543    ArrayAdapter.__super__.constructor.call(this, $element, options);
16544  }
16545
16546  Utils.Extend(ArrayAdapter, SelectAdapter);
16547
16548  ArrayAdapter.prototype.bind = function (container, $container) {
16549    ArrayAdapter.__super__.bind.call(this, container, $container);
16550
16551    this.addOptions(this.convertToOptions(this._dataToConvert));
16552  };
16553
16554  ArrayAdapter.prototype.select = function (data) {
16555    var $option = this.$element.find('option').filter(function (i, elm) {
16556      return elm.value == data.id.toString();
16557    });
16558
16559    if ($option.length === 0) {
16560      $option = this.option(data);
16561
16562      this.addOptions($option);
16563    }
16564
16565    ArrayAdapter.__super__.select.call(this, data);
16566  };
16567
16568  ArrayAdapter.prototype.convertToOptions = function (data) {
16569    var self = this;
16570
16571    var $existing = this.$element.find('option');
16572    var existingIds = $existing.map(function () {
16573      return self.item($(this)).id;
16574    }).get();
16575
16576    var $options = [];
16577
16578    // Filter out all items except for the one passed in the argument
16579    function onlyItem (item) {
16580      return function () {
16581        return $(this).val() == item.id;
16582      };
16583    }
16584
16585    for (var d = 0; d < data.length; d++) {
16586      var item = this._normalizeItem(data[d]);
16587
16588      // Skip items which were pre-loaded, only merge the data
16589      if (existingIds.indexOf(item.id) >= 0) {
16590        var $existingOption = $existing.filter(onlyItem(item));
16591
16592        var existingData = this.item($existingOption);
16593        var newData = $.extend(true, {}, item, existingData);
16594
16595        var $newOption = this.option(newData);
16596
16597        $existingOption.replaceWith($newOption);
16598
16599        continue;
16600      }
16601
16602      var $option = this.option(item);
16603
16604      if (item.children) {
16605        var $children = this.convertToOptions(item.children);
16606
16607        $option.append($children);
16608      }
16609
16610      $options.push($option);
16611    }
16612
16613    return $options;
16614  };
16615
16616  return ArrayAdapter;
16617});
16618
16619S2.define('select2/data/ajax',[
16620  './array',
16621  '../utils',
16622  'jquery'
16623], function (ArrayAdapter, Utils, $) {
16624  function AjaxAdapter ($element, options) {
16625    this.ajaxOptions = this._applyDefaults(options.get('ajax'));
16626
16627    if (this.ajaxOptions.processResults != null) {
16628      this.processResults = this.ajaxOptions.processResults;
16629    }
16630
16631    AjaxAdapter.__super__.constructor.call(this, $element, options);
16632  }
16633
16634  Utils.Extend(AjaxAdapter, ArrayAdapter);
16635
16636  AjaxAdapter.prototype._applyDefaults = function (options) {
16637    var defaults = {
16638      data: function (params) {
16639        return $.extend({}, params, {
16640          q: params.term
16641        });
16642      },
16643      transport: function (params, success, failure) {
16644        var $request = $.ajax(params);
16645
16646        $request.then(success);
16647        $request.fail(failure);
16648
16649        return $request;
16650      }
16651    };
16652
16653    return $.extend({}, defaults, options, true);
16654  };
16655
16656  AjaxAdapter.prototype.processResults = function (results) {
16657    return results;
16658  };
16659
16660  AjaxAdapter.prototype.query = function (params, callback) {
16661    var matches = [];
16662    var self = this;
16663
16664    if (this._request != null) {
16665      // JSONP requests cannot always be aborted
16666      if (typeof this._request.abort === 'function') {
16667        this._request.abort();
16668      }
16669
16670      this._request = null;
16671    }
16672
16673    var options = $.extend({
16674      type: 'GET'
16675    }, this.ajaxOptions);
16676
16677    if (typeof options.url === 'function') {
16678      options.url = options.url.call(this.$element, params);
16679    }
16680
16681    if (typeof options.data === 'function') {
16682      options.data = options.data.call(this.$element, params);
16683    }
16684
16685    function request () {
16686      var $request = options.transport(options, function (data) {
16687        var results = self.processResults(data, params);
16688
16689        if (self.options.get('debug') && window.console && console.error) {
16690          // Check to make sure that the response included a `results` key.
16691          if (!results || !results.results || !Array.isArray(results.results)) {
16692            console.error(
16693              'Select2: The AJAX results did not return an array in the ' +
16694              '`results` key of the response.'
16695            );
16696          }
16697        }
16698
16699        callback(results);
16700      }, function () {
16701        // Attempt to detect if a request was aborted
16702        // Only works if the transport exposes a status property
16703        if ('status' in $request &&
16704            ($request.status === 0 || $request.status === '0')) {
16705          return;
16706        }
16707
16708        self.trigger('results:message', {
16709          message: 'errorLoading'
16710        });
16711      });
16712
16713      self._request = $request;
16714    }
16715
16716    if (this.ajaxOptions.delay && params.term != null) {
16717      if (this._queryTimeout) {
16718        window.clearTimeout(this._queryTimeout);
16719      }
16720
16721      this._queryTimeout = window.setTimeout(request, this.ajaxOptions.delay);
16722    } else {
16723      request();
16724    }
16725  };
16726
16727  return AjaxAdapter;
16728});
16729
16730S2.define('select2/data/tags',[
16731  'jquery'
16732], function ($) {
16733  function Tags (decorated, $element, options) {
16734    var tags = options.get('tags');
16735
16736    var createTag = options.get('createTag');
16737
16738    if (createTag !== undefined) {
16739      this.createTag = createTag;
16740    }
16741
16742    var insertTag = options.get('insertTag');
16743
16744    if (insertTag !== undefined) {
16745        this.insertTag = insertTag;
16746    }
16747
16748    decorated.call(this, $element, options);
16749
16750    if (Array.isArray(tags)) {
16751      for (var t = 0; t < tags.length; t++) {
16752        var tag = tags[t];
16753        var item = this._normalizeItem(tag);
16754
16755        var $option = this.option(item);
16756
16757        this.$element.append($option);
16758      }
16759    }
16760  }
16761
16762  Tags.prototype.query = function (decorated, params, callback) {
16763    var self = this;
16764
16765    this._removeOldTags();
16766
16767    if (params.term == null || params.page != null) {
16768      decorated.call(this, params, callback);
16769      return;
16770    }
16771
16772    function wrapper (obj, child) {
16773      var data = obj.results;
16774
16775      for (var i = 0; i < data.length; i++) {
16776        var option = data[i];
16777
16778        var checkChildren = (
16779          option.children != null &&
16780          !wrapper({
16781            results: option.children
16782          }, true)
16783        );
16784
16785        var optionText = (option.text || '').toUpperCase();
16786        var paramsTerm = (params.term || '').toUpperCase();
16787
16788        var checkText = optionText === paramsTerm;
16789
16790        if (checkText || checkChildren) {
16791          if (child) {
16792            return false;
16793          }
16794
16795          obj.data = data;
16796          callback(obj);
16797
16798          return;
16799        }
16800      }
16801
16802      if (child) {
16803        return true;
16804      }
16805
16806      var tag = self.createTag(params);
16807
16808      if (tag != null) {
16809        var $option = self.option(tag);
16810        $option.attr('data-select2-tag', 'true');
16811
16812        self.addOptions([$option]);
16813
16814        self.insertTag(data, tag);
16815      }
16816
16817      obj.results = data;
16818
16819      callback(obj);
16820    }
16821
16822    decorated.call(this, params, wrapper);
16823  };
16824
16825  Tags.prototype.createTag = function (decorated, params) {
16826    if (params.term == null) {
16827      return null;
16828    }
16829
16830    var term = params.term.trim();
16831
16832    if (term === '') {
16833      return null;
16834    }
16835
16836    return {
16837      id: term,
16838      text: term
16839    };
16840  };
16841
16842  Tags.prototype.insertTag = function (_, data, tag) {
16843    data.unshift(tag);
16844  };
16845
16846  Tags.prototype._removeOldTags = function (_) {
16847    var $options = this.$element.find('option[data-select2-tag]');
16848
16849    $options.each(function () {
16850      if (this.selected) {
16851        return;
16852      }
16853
16854      $(this).remove();
16855    });
16856  };
16857
16858  return Tags;
16859});
16860
16861S2.define('select2/data/tokenizer',[
16862  'jquery'
16863], function ($) {
16864  function Tokenizer (decorated, $element, options) {
16865    var tokenizer = options.get('tokenizer');
16866
16867    if (tokenizer !== undefined) {
16868      this.tokenizer = tokenizer;
16869    }
16870
16871    decorated.call(this, $element, options);
16872  }
16873
16874  Tokenizer.prototype.bind = function (decorated, container, $container) {
16875    decorated.call(this, container, $container);
16876
16877    this.$search =  container.dropdown.$search || container.selection.$search ||
16878      $container.find('.select2-search__field');
16879  };
16880
16881  Tokenizer.prototype.query = function (decorated, params, callback) {
16882    var self = this;
16883
16884    function createAndSelect (data) {
16885      // Normalize the data object so we can use it for checks
16886      var item = self._normalizeItem(data);
16887
16888      // Check if the data object already exists as a tag
16889      // Select it if it doesn't
16890      var $existingOptions = self.$element.find('option').filter(function () {
16891        return $(this).val() === item.id;
16892      });
16893
16894      // If an existing option wasn't found for it, create the option
16895      if (!$existingOptions.length) {
16896        var $option = self.option(item);
16897        $option.attr('data-select2-tag', true);
16898
16899        self._removeOldTags();
16900        self.addOptions([$option]);
16901      }
16902
16903      // Select the item, now that we know there is an option for it
16904      select(item);
16905    }
16906
16907    function select (data) {
16908      self.trigger('select', {
16909        data: data
16910      });
16911    }
16912
16913    params.term = params.term || '';
16914
16915    var tokenData = this.tokenizer(params, this.options, createAndSelect);
16916
16917    if (tokenData.term !== params.term) {
16918      // Replace the search term if we have the search box
16919      if (this.$search.length) {
16920        this.$search.val(tokenData.term);
16921        this.$search.trigger('focus');
16922      }
16923
16924      params.term = tokenData.term;
16925    }
16926
16927    decorated.call(this, params, callback);
16928  };
16929
16930  Tokenizer.prototype.tokenizer = function (_, params, options, callback) {
16931    var separators = options.get('tokenSeparators') || [];
16932    var term = params.term;
16933    var i = 0;
16934
16935    var createTag = this.createTag || function (params) {
16936      return {
16937        id: params.term,
16938        text: params.term
16939      };
16940    };
16941
16942    while (i < term.length) {
16943      var termChar = term[i];
16944
16945      if (separators.indexOf(termChar) === -1) {
16946        i++;
16947
16948        continue;
16949      }
16950
16951      var part = term.substr(0, i);
16952      var partParams = $.extend({}, params, {
16953        term: part
16954      });
16955
16956      var data = createTag(partParams);
16957
16958      if (data == null) {
16959        i++;
16960        continue;
16961      }
16962
16963      callback(data);
16964
16965      // Reset the term to not include the tokenized portion
16966      term = term.substr(i + 1) || '';
16967      i = 0;
16968    }
16969
16970    return {
16971      term: term
16972    };
16973  };
16974
16975  return Tokenizer;
16976});
16977
16978S2.define('select2/data/minimumInputLength',[
16979
16980], function () {
16981  function MinimumInputLength (decorated, $e, options) {
16982    this.minimumInputLength = options.get('minimumInputLength');
16983
16984    decorated.call(this, $e, options);
16985  }
16986
16987  MinimumInputLength.prototype.query = function (decorated, params, callback) {
16988    params.term = params.term || '';
16989
16990    if (params.term.length < this.minimumInputLength) {
16991      this.trigger('results:message', {
16992        message: 'inputTooShort',
16993        args: {
16994          minimum: this.minimumInputLength,
16995          input: params.term,
16996          params: params
16997        }
16998      });
16999
17000      return;
17001    }
17002
17003    decorated.call(this, params, callback);
17004  };
17005
17006  return MinimumInputLength;
17007});
17008
17009S2.define('select2/data/maximumInputLength',[
17010
17011], function () {
17012  function MaximumInputLength (decorated, $e, options) {
17013    this.maximumInputLength = options.get('maximumInputLength');
17014
17015    decorated.call(this, $e, options);
17016  }
17017
17018  MaximumInputLength.prototype.query = function (decorated, params, callback) {
17019    params.term = params.term || '';
17020
17021    if (this.maximumInputLength > 0 &&
17022        params.term.length > this.maximumInputLength) {
17023      this.trigger('results:message', {
17024        message: 'inputTooLong',
17025        args: {
17026          maximum: this.maximumInputLength,
17027          input: params.term,
17028          params: params
17029        }
17030      });
17031
17032      return;
17033    }
17034
17035    decorated.call(this, params, callback);
17036  };
17037
17038  return MaximumInputLength;
17039});
17040
17041S2.define('select2/data/maximumSelectionLength',[
17042
17043], function (){
17044  function MaximumSelectionLength (decorated, $e, options) {
17045    this.maximumSelectionLength = options.get('maximumSelectionLength');
17046
17047    decorated.call(this, $e, options);
17048  }
17049
17050  MaximumSelectionLength.prototype.bind =
17051    function (decorated, container, $container) {
17052      var self = this;
17053
17054      decorated.call(this, container, $container);
17055
17056      container.on('select', function () {
17057        self._checkIfMaximumSelected();
17058      });
17059  };
17060
17061  MaximumSelectionLength.prototype.query =
17062    function (decorated, params, callback) {
17063      var self = this;
17064
17065      this._checkIfMaximumSelected(function () {
17066        decorated.call(self, params, callback);
17067      });
17068  };
17069
17070  MaximumSelectionLength.prototype._checkIfMaximumSelected =
17071    function (_, successCallback) {
17072      var self = this;
17073
17074      this.current(function (currentData) {
17075        var count = currentData != null ? currentData.length : 0;
17076        if (self.maximumSelectionLength > 0 &&
17077          count >= self.maximumSelectionLength) {
17078          self.trigger('results:message', {
17079            message: 'maximumSelected',
17080            args: {
17081              maximum: self.maximumSelectionLength
17082            }
17083          });
17084          return;
17085        }
17086
17087        if (successCallback) {
17088          successCallback();
17089        }
17090      });
17091  };
17092
17093  return MaximumSelectionLength;
17094});
17095
17096S2.define('select2/dropdown',[
17097  'jquery',
17098  './utils'
17099], function ($, Utils) {
17100  function Dropdown ($element, options) {
17101    this.$element = $element;
17102    this.options = options;
17103
17104    Dropdown.__super__.constructor.call(this);
17105  }
17106
17107  Utils.Extend(Dropdown, Utils.Observable);
17108
17109  Dropdown.prototype.render = function () {
17110    var $dropdown = $(
17111      '<span class="select2-dropdown">' +
17112        '<span class="select2-results"></span>' +
17113      '</span>'
17114    );
17115
17116    $dropdown.attr('dir', this.options.get('dir'));
17117
17118    this.$dropdown = $dropdown;
17119
17120    return $dropdown;
17121  };
17122
17123  Dropdown.prototype.bind = function () {
17124    // Should be implemented in subclasses
17125  };
17126
17127  Dropdown.prototype.position = function ($dropdown, $container) {
17128    // Should be implemented in subclasses
17129  };
17130
17131  Dropdown.prototype.destroy = function () {
17132    // Remove the dropdown from the DOM
17133    this.$dropdown.remove();
17134  };
17135
17136  return Dropdown;
17137});
17138
17139S2.define('select2/dropdown/search',[
17140  'jquery'
17141], function ($) {
17142  function Search () { }
17143
17144  Search.prototype.render = function (decorated) {
17145    var $rendered = decorated.call(this);
17146    var searchLabel = this.options.get('translations').get('search');
17147
17148    var $search = $(
17149      '<span class="select2-search select2-search--dropdown">' +
17150        '<input class="select2-search__field" type="search" tabindex="-1"' +
17151        ' autocorrect="off" autocapitalize="none"' +
17152        ' spellcheck="false" role="searchbox" aria-autocomplete="list" />' +
17153      '</span>'
17154    );
17155
17156    this.$searchContainer = $search;
17157    this.$search = $search.find('input');
17158
17159    this.$search.prop('autocomplete', this.options.get('autocomplete'));
17160    this.$search.attr('aria-label', searchLabel());
17161
17162    $rendered.prepend($search);
17163
17164    return $rendered;
17165  };
17166
17167  Search.prototype.bind = function (decorated, container, $container) {
17168    var self = this;
17169
17170    var resultsId = container.id + '-results';
17171
17172    decorated.call(this, container, $container);
17173
17174    this.$search.on('keydown', function (evt) {
17175      self.trigger('keypress', evt);
17176
17177      self._keyUpPrevented = evt.isDefaultPrevented();
17178    });
17179
17180    // Workaround for browsers which do not support the `input` event
17181    // This will prevent double-triggering of events for browsers which support
17182    // both the `keyup` and `input` events.
17183    this.$search.on('input', function (evt) {
17184      // Unbind the duplicated `keyup` event
17185      $(this).off('keyup');
17186    });
17187
17188    this.$search.on('keyup input', function (evt) {
17189      self.handleSearch(evt);
17190    });
17191
17192    container.on('open', function () {
17193      self.$search.attr('tabindex', 0);
17194      self.$search.attr('aria-controls', resultsId);
17195
17196      self.$search.trigger('focus');
17197
17198      window.setTimeout(function () {
17199        self.$search.trigger('focus');
17200      }, 0);
17201    });
17202
17203    container.on('close', function () {
17204      self.$search.attr('tabindex', -1);
17205      self.$search.removeAttr('aria-controls');
17206      self.$search.removeAttr('aria-activedescendant');
17207
17208      self.$search.val('');
17209      self.$search.trigger('blur');
17210    });
17211
17212    container.on('focus', function () {
17213      if (!container.isOpen()) {
17214        self.$search.trigger('focus');
17215      }
17216    });
17217
17218    container.on('results:all', function (params) {
17219      if (params.query.term == null || params.query.term === '') {
17220        var showSearch = self.showSearch(params);
17221
17222        if (showSearch) {
17223          self.$searchContainer[0].classList.remove('select2-search--hide');
17224        } else {
17225          self.$searchContainer[0].classList.add('select2-search--hide');
17226        }
17227      }
17228    });
17229
17230    container.on('results:focus', function (params) {
17231      if (params.data._resultId) {
17232        self.$search.attr('aria-activedescendant', params.data._resultId);
17233      } else {
17234        self.$search.removeAttr('aria-activedescendant');
17235      }
17236    });
17237  };
17238
17239  Search.prototype.handleSearch = function (evt) {
17240    if (!this._keyUpPrevented) {
17241      var input = this.$search.val();
17242
17243      this.trigger('query', {
17244        term: input
17245      });
17246    }
17247
17248    this._keyUpPrevented = false;
17249  };
17250
17251  Search.prototype.showSearch = function (_, params) {
17252    return true;
17253  };
17254
17255  return Search;
17256});
17257
17258S2.define('select2/dropdown/hidePlaceholder',[
17259
17260], function () {
17261  function HidePlaceholder (decorated, $element, options, dataAdapter) {
17262    this.placeholder = this.normalizePlaceholder(options.get('placeholder'));
17263
17264    decorated.call(this, $element, options, dataAdapter);
17265  }
17266
17267  HidePlaceholder.prototype.append = function (decorated, data) {
17268    data.results = this.removePlaceholder(data.results);
17269
17270    decorated.call(this, data);
17271  };
17272
17273  HidePlaceholder.prototype.normalizePlaceholder = function (_, placeholder) {
17274    if (typeof placeholder === 'string') {
17275      placeholder = {
17276        id: '',
17277        text: placeholder
17278      };
17279    }
17280
17281    return placeholder;
17282  };
17283
17284  HidePlaceholder.prototype.removePlaceholder = function (_, data) {
17285    var modifiedData = data.slice(0);
17286
17287    for (var d = data.length - 1; d >= 0; d--) {
17288      var item = data[d];
17289
17290      if (this.placeholder.id === item.id) {
17291        modifiedData.splice(d, 1);
17292      }
17293    }
17294
17295    return modifiedData;
17296  };
17297
17298  return HidePlaceholder;
17299});
17300
17301S2.define('select2/dropdown/infiniteScroll',[
17302  'jquery'
17303], function ($) {
17304  function InfiniteScroll (decorated, $element, options, dataAdapter) {
17305    this.lastParams = {};
17306
17307    decorated.call(this, $element, options, dataAdapter);
17308
17309    this.$loadingMore = this.createLoadingMore();
17310    this.loading = false;
17311  }
17312
17313  InfiniteScroll.prototype.append = function (decorated, data) {
17314    this.$loadingMore.remove();
17315    this.loading = false;
17316
17317    decorated.call(this, data);
17318
17319    if (this.showLoadingMore(data)) {
17320      this.$results.append(this.$loadingMore);
17321      this.loadMoreIfNeeded();
17322    }
17323  };
17324
17325  InfiniteScroll.prototype.bind = function (decorated, container, $container) {
17326    var self = this;
17327
17328    decorated.call(this, container, $container);
17329
17330    container.on('query', function (params) {
17331      self.lastParams = params;
17332      self.loading = true;
17333    });
17334
17335    container.on('query:append', function (params) {
17336      self.lastParams = params;
17337      self.loading = true;
17338    });
17339
17340    this.$results.on('scroll', this.loadMoreIfNeeded.bind(this));
17341  };
17342
17343  InfiniteScroll.prototype.loadMoreIfNeeded = function () {
17344    var isLoadMoreVisible = $.contains(
17345      document.documentElement,
17346      this.$loadingMore[0]
17347    );
17348
17349    if (this.loading || !isLoadMoreVisible) {
17350      return;
17351    }
17352
17353    var currentOffset = this.$results.offset().top +
17354      this.$results.outerHeight(false);
17355    var loadingMoreOffset = this.$loadingMore.offset().top +
17356      this.$loadingMore.outerHeight(false);
17357
17358    if (currentOffset + 50 >= loadingMoreOffset) {
17359      this.loadMore();
17360    }
17361  };
17362
17363  InfiniteScroll.prototype.loadMore = function () {
17364    this.loading = true;
17365
17366    var params = $.extend({}, {page: 1}, this.lastParams);
17367
17368    params.page++;
17369
17370    this.trigger('query:append', params);
17371  };
17372
17373  InfiniteScroll.prototype.showLoadingMore = function (_, data) {
17374    return data.pagination && data.pagination.more;
17375  };
17376
17377  InfiniteScroll.prototype.createLoadingMore = function () {
17378    var $option = $(
17379      '<li ' +
17380      'class="select2-results__option select2-results__option--load-more"' +
17381      'role="option" aria-disabled="true"></li>'
17382    );
17383
17384    var message = this.options.get('translations').get('loadingMore');
17385
17386    $option.html(message(this.lastParams));
17387
17388    return $option;
17389  };
17390
17391  return InfiniteScroll;
17392});
17393
17394S2.define('select2/dropdown/attachBody',[
17395  'jquery',
17396  '../utils'
17397], function ($, Utils) {
17398  function AttachBody (decorated, $element, options) {
17399    this.$dropdownParent = $(options.get('dropdownParent') || document.body);
17400
17401    decorated.call(this, $element, options);
17402  }
17403
17404  AttachBody.prototype.bind = function (decorated, container, $container) {
17405    var self = this;
17406
17407    decorated.call(this, container, $container);
17408
17409    container.on('open', function () {
17410      self._showDropdown();
17411      self._attachPositioningHandler(container);
17412
17413      // Must bind after the results handlers to ensure correct sizing
17414      self._bindContainerResultHandlers(container);
17415    });
17416
17417    container.on('close', function () {
17418      self._hideDropdown();
17419      self._detachPositioningHandler(container);
17420    });
17421
17422    this.$dropdownContainer.on('mousedown', function (evt) {
17423      evt.stopPropagation();
17424    });
17425  };
17426
17427  AttachBody.prototype.destroy = function (decorated) {
17428    decorated.call(this);
17429
17430    this.$dropdownContainer.remove();
17431  };
17432
17433  AttachBody.prototype.position = function (decorated, $dropdown, $container) {
17434    // Clone all of the container classes
17435    $dropdown.attr('class', $container.attr('class'));
17436
17437    $dropdown[0].classList.remove('select2');
17438    $dropdown[0].classList.add('select2-container--open');
17439
17440    $dropdown.css({
17441      position: 'absolute',
17442      top: -999999
17443    });
17444
17445    this.$container = $container;
17446  };
17447
17448  AttachBody.prototype.render = function (decorated) {
17449    var $container = $('<span></span>');
17450
17451    var $dropdown = decorated.call(this);
17452    $container.append($dropdown);
17453
17454    this.$dropdownContainer = $container;
17455
17456    return $container;
17457  };
17458
17459  AttachBody.prototype._hideDropdown = function (decorated) {
17460    this.$dropdownContainer.detach();
17461  };
17462
17463  AttachBody.prototype._bindContainerResultHandlers =
17464      function (decorated, container) {
17465
17466    // These should only be bound once
17467    if (this._containerResultsHandlersBound) {
17468      return;
17469    }
17470
17471    var self = this;
17472
17473    container.on('results:all', function () {
17474      self._positionDropdown();
17475      self._resizeDropdown();
17476    });
17477
17478    container.on('results:append', function () {
17479      self._positionDropdown();
17480      self._resizeDropdown();
17481    });
17482
17483    container.on('results:message', function () {
17484      self._positionDropdown();
17485      self._resizeDropdown();
17486    });
17487
17488    container.on('select', function () {
17489      self._positionDropdown();
17490      self._resizeDropdown();
17491    });
17492
17493    container.on('unselect', function () {
17494      self._positionDropdown();
17495      self._resizeDropdown();
17496    });
17497
17498    this._containerResultsHandlersBound = true;
17499  };
17500
17501  AttachBody.prototype._attachPositioningHandler =
17502      function (decorated, container) {
17503    var self = this;
17504
17505    var scrollEvent = 'scroll.select2.' + container.id;
17506    var resizeEvent = 'resize.select2.' + container.id;
17507    var orientationEvent = 'orientationchange.select2.' + container.id;
17508
17509    var $watchers = this.$container.parents().filter(Utils.hasScroll);
17510    $watchers.each(function () {
17511      Utils.StoreData(this, 'select2-scroll-position', {
17512        x: $(this).scrollLeft(),
17513        y: $(this).scrollTop()
17514      });
17515    });
17516
17517    $watchers.on(scrollEvent, function (ev) {
17518      var position = Utils.GetData(this, 'select2-scroll-position');
17519      $(this).scrollTop(position.y);
17520    });
17521
17522    $(window).on(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent,
17523      function (e) {
17524      self._positionDropdown();
17525      self._resizeDropdown();
17526    });
17527  };
17528
17529  AttachBody.prototype._detachPositioningHandler =
17530      function (decorated, container) {
17531    var scrollEvent = 'scroll.select2.' + container.id;
17532    var resizeEvent = 'resize.select2.' + container.id;
17533    var orientationEvent = 'orientationchange.select2.' + container.id;
17534
17535    var $watchers = this.$container.parents().filter(Utils.hasScroll);
17536    $watchers.off(scrollEvent);
17537
17538    $(window).off(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent);
17539  };
17540
17541  AttachBody.prototype._positionDropdown = function () {
17542    var $window = $(window);
17543
17544    var isCurrentlyAbove = this.$dropdown[0].classList
17545      .contains('select2-dropdown--above');
17546    var isCurrentlyBelow = this.$dropdown[0].classList
17547      .contains('select2-dropdown--below');
17548
17549    var newDirection = null;
17550
17551    var offset = this.$container.offset();
17552
17553    offset.bottom = offset.top + this.$container.outerHeight(false);
17554
17555    var container = {
17556      height: this.$container.outerHeight(false)
17557    };
17558
17559    container.top = offset.top;
17560    container.bottom = offset.top + container.height;
17561
17562    var dropdown = {
17563      height: this.$dropdown.outerHeight(false)
17564    };
17565
17566    var viewport = {
17567      top: $window.scrollTop(),
17568      bottom: $window.scrollTop() + $window.height()
17569    };
17570
17571    var enoughRoomAbove = viewport.top < (offset.top - dropdown.height);
17572    var enoughRoomBelow = viewport.bottom > (offset.bottom + dropdown.height);
17573
17574    var css = {
17575      left: offset.left,
17576      top: container.bottom
17577    };
17578
17579    // Determine what the parent element is to use for calculating the offset
17580    var $offsetParent = this.$dropdownParent;
17581
17582    // For statically positioned elements, we need to get the element
17583    // that is determining the offset
17584    if ($offsetParent.css('position') === 'static') {
17585      $offsetParent = $offsetParent.offsetParent();
17586    }
17587
17588    var parentOffset = {
17589      top: 0,
17590      left: 0
17591    };
17592
17593    if (
17594      $.contains(document.body, $offsetParent[0]) ||
17595      $offsetParent[0].isConnected
17596      ) {
17597      parentOffset = $offsetParent.offset();
17598    }
17599
17600    css.top -= parentOffset.top;
17601    css.left -= parentOffset.left;
17602
17603    if (!isCurrentlyAbove && !isCurrentlyBelow) {
17604      newDirection = 'below';
17605    }
17606
17607    if (!enoughRoomBelow && enoughRoomAbove && !isCurrentlyAbove) {
17608      newDirection = 'above';
17609    } else if (!enoughRoomAbove && enoughRoomBelow && isCurrentlyAbove) {
17610      newDirection = 'below';
17611    }
17612
17613    if (newDirection == 'above' ||
17614      (isCurrentlyAbove && newDirection !== 'below')) {
17615      css.top = container.top - parentOffset.top - dropdown.height;
17616    }
17617
17618    if (newDirection != null) {
17619      this.$dropdown[0].classList.remove('select2-dropdown--below');
17620      this.$dropdown[0].classList.remove('select2-dropdown--above');
17621      this.$dropdown[0].classList.add('select2-dropdown--' + newDirection);
17622
17623      this.$container[0].classList.remove('select2-container--below');
17624      this.$container[0].classList.remove('select2-container--above');
17625      this.$container[0].classList.add('select2-container--' + newDirection);
17626    }
17627
17628    this.$dropdownContainer.css(css);
17629  };
17630
17631  AttachBody.prototype._resizeDropdown = function () {
17632    var css = {
17633      width: this.$container.outerWidth(false) + 'px'
17634    };
17635
17636    if (this.options.get('dropdownAutoWidth')) {
17637      css.minWidth = css.width;
17638      css.position = 'relative';
17639      css.width = 'auto';
17640    }
17641
17642    this.$dropdown.css(css);
17643  };
17644
17645  AttachBody.prototype._showDropdown = function (decorated) {
17646    this.$dropdownContainer.appendTo(this.$dropdownParent);
17647
17648    this._positionDropdown();
17649    this._resizeDropdown();
17650  };
17651
17652  return AttachBody;
17653});
17654
17655S2.define('select2/dropdown/minimumResultsForSearch',[
17656
17657], function () {
17658  function countResults (data) {
17659    var count = 0;
17660
17661    for (var d = 0; d < data.length; d++) {
17662      var item = data[d];
17663
17664      if (item.children) {
17665        count += countResults(item.children);
17666      } else {
17667        count++;
17668      }
17669    }
17670
17671    return count;
17672  }
17673
17674  function MinimumResultsForSearch (decorated, $element, options, dataAdapter) {
17675    this.minimumResultsForSearch = options.get('minimumResultsForSearch');
17676
17677    if (this.minimumResultsForSearch < 0) {
17678      this.minimumResultsForSearch = Infinity;
17679    }
17680
17681    decorated.call(this, $element, options, dataAdapter);
17682  }
17683
17684  MinimumResultsForSearch.prototype.showSearch = function (decorated, params) {
17685    if (countResults(params.data.results) < this.minimumResultsForSearch) {
17686      return false;
17687    }
17688
17689    return decorated.call(this, params);
17690  };
17691
17692  return MinimumResultsForSearch;
17693});
17694
17695S2.define('select2/dropdown/selectOnClose',[
17696  '../utils'
17697], function (Utils) {
17698  function SelectOnClose () { }
17699
17700  SelectOnClose.prototype.bind = function (decorated, container, $container) {
17701    var self = this;
17702
17703    decorated.call(this, container, $container);
17704
17705    container.on('close', function (params) {
17706      self._handleSelectOnClose(params);
17707    });
17708  };
17709
17710  SelectOnClose.prototype._handleSelectOnClose = function (_, params) {
17711    if (params && params.originalSelect2Event != null) {
17712      var event = params.originalSelect2Event;
17713
17714      // Don't select an item if the close event was triggered from a select or
17715      // unselect event
17716      if (event._type === 'select' || event._type === 'unselect') {
17717        return;
17718      }
17719    }
17720
17721    var $highlightedResults = this.getHighlightedResults();
17722
17723    // Only select highlighted results
17724    if ($highlightedResults.length < 1) {
17725      return;
17726    }
17727
17728    var data = Utils.GetData($highlightedResults[0], 'data');
17729
17730    // Don't re-select already selected resulte
17731    if (
17732      (data.element != null && data.element.selected) ||
17733      (data.element == null && data.selected)
17734    ) {
17735      return;
17736    }
17737
17738    this.trigger('select', {
17739        data: data
17740    });
17741  };
17742
17743  return SelectOnClose;
17744});
17745
17746S2.define('select2/dropdown/closeOnSelect',[
17747
17748], function () {
17749  function CloseOnSelect () { }
17750
17751  CloseOnSelect.prototype.bind = function (decorated, container, $container) {
17752    var self = this;
17753
17754    decorated.call(this, container, $container);
17755
17756    container.on('select', function (evt) {
17757      self._selectTriggered(evt);
17758    });
17759
17760    container.on('unselect', function (evt) {
17761      self._selectTriggered(evt);
17762    });
17763  };
17764
17765  CloseOnSelect.prototype._selectTriggered = function (_, evt) {
17766    var originalEvent = evt.originalEvent;
17767
17768    // Don't close if the control key is being held
17769    if (originalEvent && (originalEvent.ctrlKey || originalEvent.metaKey)) {
17770      return;
17771    }
17772
17773    this.trigger('close', {
17774      originalEvent: originalEvent,
17775      originalSelect2Event: evt
17776    });
17777  };
17778
17779  return CloseOnSelect;
17780});
17781
17782S2.define('select2/dropdown/dropdownCss',[
17783  '../utils'
17784], function (Utils) {
17785  function DropdownCSS () { }
17786
17787  DropdownCSS.prototype.render = function (decorated) {
17788    var $dropdown = decorated.call(this);
17789
17790    var dropdownCssClass = this.options.get('dropdownCssClass') || '';
17791
17792    if (dropdownCssClass.indexOf(':all:') !== -1) {
17793      dropdownCssClass = dropdownCssClass.replace(':all:', '');
17794
17795      Utils.copyNonInternalCssClasses($dropdown[0], this.$element[0]);
17796    }
17797
17798    $dropdown.addClass(dropdownCssClass
vendor: 10,812 bytes, lines 17798-18220
17798);
17799
17800    return $dropdown;
17801  };
17802
17803  return DropdownCSS;
17804});
17805
17806S2.define('select2/dropdown/tagsSearchHighlight',[
17807  '../utils'
17808], function (Utils) {
17809  function TagsSearchHighlight () { }
17810
17811  TagsSearchHighlight.prototype.highlightFirstItem = function (decorated) {
17812    var $options = this.$results
17813    .find(
17814      '.select2-results__option--selectable' +
17815      ':not(.select2-results__option--selected)'
17816    );
17817
17818    if ($options.length > 0) {
17819      var $firstOption = $options.first();
17820      var data = Utils.GetData($firstOption[0], 'data');
17821      var firstElement = data.element;
17822
17823      if (firstElement && firstElement.getAttribute) {
17824        if (firstElement.getAttribute('data-select2-tag') === 'true') {
17825          $firstOption.trigger('mouseenter');
17826
17827          return;
17828        }
17829      }
17830    }
17831
17832    decorated.call(this);
17833  };
17834
17835  return TagsSearchHighlight;
17836});
17837
17838S2.define('select2/i18n/en',[],function () {
17839  // English
17840  return {
17841    errorLoading: function () {
17842      return 'The results could not be loaded.';
17843    },
17844    inputTooLong: function (args) {
17845      var overChars = args.input.length - args.maximum;
17846
17847      var message = 'Please delete ' + overChars + ' character';
17848
17849      if (overChars != 1) {
17850        message += 's';
17851      }
17852
17853      return message;
17854    },
17855    inputTooShort: function (args) {
17856      var remainingChars = args.minimum - args.input.length;
17857
17858      var message = 'Please enter ' + remainingChars + ' or more characters';
17859
17860      return message;
17861    },
17862    loadingMore: function () {
17863      return 'Loading more results…';
17864    },
17865    maximumSelected: function (args) {
17866      var message = 'You can only select ' + args.maximum + ' item';
17867
17868      if (args.maximum != 1) {
17869        message += 's';
17870      }
17871
17872      return message;
17873    },
17874    noResults: function () {
17875      return 'No results found';
17876    },
17877    searching: function () {
17878      return 'Searching…';
17879    },
17880    removeAllItems: function () {
17881      return 'Remove all items';
17882    },
17883    removeItem: function () {
17884      return 'Remove item';
17885    },
17886    search: function() {
17887      return 'Search';
17888    }
17889  };
17890});
17891
17892S2.define('select2/defaults',[
17893  'jquery',
17894
17895  './results',
17896
17897  './selection/single',
17898  './selection/multiple',
17899  './selection/placeholder',
17900  './selection/allowClear',
17901  './selection/search',
17902  './selection/selectionCss',
17903  './selection/eventRelay',
17904
17905  './utils',
17906  './translation',
17907  './diacritics',
17908
17909  './data/select',
17910  './data/array',
17911  './data/ajax',
17912  './data/tags',
17913  './data/tokenizer',
17914  './data/minimumInputLength',
17915  './data/maximumInputLength',
17916  './data/maximumSelectionLength',
17917
17918  './dropdown',
17919  './dropdown/search',
17920  './dropdown/hidePlaceholder',
17921  './dropdown/infiniteScroll',
17922  './dropdown/attachBody',
17923  './dropdown/minimumResultsForSearch',
17924  './dropdown/selectOnClose',
17925  './dropdown/closeOnSelect',
17926  './dropdown/dropdownCss',
17927  './dropdown/tagsSearchHighlight',
17928
17929  './i18n/en'
17930], function ($,
17931
17932             ResultsList,
17933
17934             SingleSelection, MultipleSelection, Placeholder, AllowClear,
17935             SelectionSearch, SelectionCSS, EventRelay,
17936
17937             Utils, Translation, DIACRITICS,
17938
17939             SelectData, ArrayData, AjaxData, Tags, Tokenizer,
17940             MinimumInputLength, MaximumInputLength, MaximumSelectionLength,
17941
17942             Dropdown, DropdownSearch, HidePlaceholder, InfiniteScroll,
17943             AttachBody, MinimumResultsForSearch, SelectOnClose, CloseOnSelect,
17944             DropdownCSS, TagsSearchHighlight,
17945
17946             EnglishTranslation) {
17947  function Defaults () {
17948    this.reset();
17949  }
17950
17951  Defaults.prototype.apply = function (options) {
17952    options = $.extend(true, {}, this.defaults, options);
17953
17954    if (options.dataAdapter == null) {
17955      if (options.ajax != null) {
17956        options.dataAdapter = AjaxData;
17957      } else if (options.data != null) {
17958        options.dataAdapter = ArrayData;
17959      } else {
17960        options.dataAdapter = SelectData;
17961      }
17962
17963      if (options.minimumInputLength > 0) {
17964        options.dataAdapter = Utils.Decorate(
17965          options.dataAdapter,
17966          MinimumInputLength
17967        );
17968      }
17969
17970      if (options.maximumInputLength > 0) {
17971        options.dataAdapter = Utils.Decorate(
17972          options.dataAdapter,
17973          MaximumInputLength
17974        );
17975      }
17976
17977      if (options.maximumSelectionLength > 0) {
17978        options.dataAdapter = Utils.Decorate(
17979          options.dataAdapter,
17980          MaximumSelectionLength
17981        );
17982      }
17983
17984      if (options.tags) {
17985        options.dataAdapter = Utils.Decorate(options.dataAdapter, Tags);
17986      }
17987
17988      if (options.tokenSeparators != null || options.tokenizer != null) {
17989        options.dataAdapter = Utils.Decorate(
17990          options.dataAdapter,
17991          Tokenizer
17992        );
17993      }
17994    }
17995
17996    if (options.resultsAdapter == null) {
17997      options.resultsAdapter = ResultsList;
17998
17999      if (options.ajax != null) {
18000        options.resultsAdapter = Utils.Decorate(
18001          options.resultsAdapter,
18002          InfiniteScroll
18003        );
18004      }
18005
18006      if (options.placeholder != null) {
18007        options.resultsAdapter = Utils.Decorate(
18008          options.resultsAdapter,
18009          HidePlaceholder
18010        );
18011      }
18012
18013      if (options.selectOnClose) {
18014        options.resultsAdapter = Utils.Decorate(
18015          options.resultsAdapter,
18016          SelectOnClose
18017        );
18018      }
18019
18020      if (options.tags) {
18021        options.resultsAdapter = Utils.Decorate(
18022          options.resultsAdapter,
18023          TagsSearchHighlight
18024        );
18025      }
18026    }
18027
18028    if (options.dropdownAdapter == null) {
18029      if (options.multiple) {
18030        options.dropdownAdapter = Dropdown;
18031      } else {
18032        var SearchableDropdown = Utils.Decorate(Dropdown, DropdownSearch);
18033
18034        options.dropdownAdapter = SearchableDropdown;
18035      }
18036
18037      if (options.minimumResultsForSearch !== 0) {
18038        options.dropdownAdapter = Utils.Decorate(
18039          options.dropdownAdapter,
18040          MinimumResultsForSearch
18041        );
18042      }
18043
18044      if (options.closeOnSelect) {
18045        options.dropdownAdapter = Utils.Decorate(
18046          options.dropdownAdapter,
18047          CloseOnSelect
18048        );
18049      }
18050
18051      if (options.dropdownCssClass != null) {
18052        options.dropdownAdapter = Utils.Decorate(
18053          options.dropdownAdapter,
18054          DropdownCSS
18055        );
18056      }
18057
18058      options.dropdownAdapter = Utils.Decorate(
18059        options.dropdownAdapter,
18060        AttachBody
18061      );
18062    }
18063
18064    if (options.selectionAdapter == null) {
18065      if (options.multiple) {
18066        options.selectionAdapter = MultipleSelection;
18067      } else {
18068        options.selectionAdapter = SingleSelection;
18069      }
18070
18071      // Add the placeholder mixin if a placeholder was specified
18072      if (options.placeholder != null) {
18073        options.selectionAdapter = Utils.Decorate(
18074          options.selectionAdapter,
18075          Placeholder
18076        );
18077      }
18078
18079      if (options.allowClear) {
18080        options.selectionAdapter = Utils.Decorate(
18081          options.selectionAdapter,
18082          AllowClear
18083        );
18084      }
18085
18086      if (options.multiple) {
18087        options.selectionAdapter = Utils.Decorate(
18088          options.selectionAdapter,
18089          SelectionSearch
18090        );
18091      }
18092
18093      if (options.selectionCssClass != null) {
18094        options.selectionAdapter = Utils.Decorate(
18095          options.selectionAdapter,
18096          SelectionCSS
18097        );
18098      }
18099
18100      options.selectionAdapter = Utils.Decorate(
18101        options.selectionAdapter,
18102        EventRelay
18103      );
18104    }
18105
18106    // If the defaults were not previously applied from an element, it is
18107    // possible for the language option to have not been resolved
18108    options.language = this._resolveLanguage(options.language);
18109
18110    // Always fall back to English since it will always be complete
18111    options.language.push('en');
18112
18113    var uniqueLanguages = [];
18114
18115    for (var l = 0; l < options.language.length; l++) {
18116      var language = options.language[l];
18117
18118      if (uniqueLanguages.indexOf(language) === -1) {
18119        uniqueLanguages.push(language);
18120      }
18121    }
18122
18123    options.language = uniqueLanguages;
18124
18125    options.translations = this._processTranslations(
18126      options.language,
18127      options.debug
18128    );
18129
18130    return options;
18131  };
18132
18133  Defaults.prototype.reset = function () {
18134    function stripDiacritics (text) {
18135      // Used 'uni range + named function' from http://jsperf.com/diacritics/18
18136      function match(a) {
18137        return DIACRITICS[a] || a;
18138      }
18139
18140      return text.replace(/[^\u0000-\u007E]/g, match);
18141    }
18142
18143    function matcher (params, data) {
18144      // Always return the object if there is nothing to compare
18145      if (params.term == null || params.term.trim() === '') {
18146        return data;
18147      }
18148
18149      // Do a recursive check for options with children
18150      if (data.children && data.children.length > 0) {
18151        // Clone the data object if there are children
18152        // This is required as we modify the object to remove any non-matches
18153        var match = $.extend(true, {}, data);
18154
18155        // Check each child of the option
18156        for (var c = data.children.length - 1; c >= 0; c--) {
18157          var child = data.children[c];
18158
18159          var matches = matcher(params, child);
18160
18161          // If there wasn't a match, remove the object in the array
18162          if (matches == null) {
18163            match.children.splice(c, 1);
18164          }
18165        }
18166
18167        // If any children matched, return the new object
18168        if (match.children.length > 0) {
18169          return match;
18170        }
18171
18172        // If there were no matching children, check just the plain object
18173        return matcher(params, match);
18174      }
18175
18176      var original = stripDiacritics(data.text).toUpperCase();
18177      var term = stripDiacritics(params.term).toUpperCase();
18178
18179      // Check if the text contains the term
18180      if (original.indexOf(term) > -1) {
18181        return data;
18182      }
18183
18184      // If it doesn't contain the term, don't return anything
18185      return null;
18186    }
18187
18188    this.defaults = {
18189      amdLanguageBase: './i18n/',
18190      autocomplete: 'off',
18191      closeOnSelect: true,
18192      debug: false,
18193      dropdownAutoWidth: false,
18194      escapeMarkup: Utils.escapeMarkup,
18195      language: {},
18196      matcher: matcher,
18197      minimumInputLength: 0,
18198      maximumInputLength: 0,
18199      maximumSelectionLength: 0,
18200      minimumResultsForSearch: 0,
18201      selectOnClose: false,
18202      scrollAfterSelect: false,
18203      sorter: function (data) {
18204        return data;
18205      },
18206      templateResult: function (result) {
18207        return result.text;
18208      },
18209      templateSelection: function (selection) {
18210        return selection.text;
18211      },
18212      theme: 'default',
18213      width: 'resolve'
18214    };
18215  };
18216
18217  Defaults.prototype.applyFromElement = function (options, $element) {
18218    var optionLanguage = options.language;
18219    var defaultLanguage = this.defaults.language;
18220    var elementLanguage = $element
vendor: 23,793 bytes, lines 18220-19144
18220.prop('lang');
18221    var parentLanguage = $element.closest('[lang]').prop('lang');
18222
18223    var languages = Array.prototype.concat.call(
18224      this._resolveLanguage(elementLanguage),
18225      this._resolveLanguage(optionLanguage),
18226      this._resolveLanguage(defaultLanguage),
18227      this._resolveLanguage(parentLanguage)
18228    );
18229
18230    options.language = languages;
18231
18232    return options;
18233  };
18234
18235  Defaults.prototype._resolveLanguage = function (language) {
18236    if (!language) {
18237      return [];
18238    }
18239
18240    if ($.isEmptyObject(language)) {
18241      return [];
18242    }
18243
18244    if ($.isPlainObject(language)) {
18245      return [language];
18246    }
18247
18248    var languages;
18249
18250    if (!Array.isArray(language)) {
18251      languages = [language];
18252    } else {
18253      languages = language;
18254    }
18255
18256    var resolvedLanguages = [];
18257
18258    for (var l = 0; l < languages.length; l++) {
18259      resolvedLanguages.push(languages[l]);
18260
18261      if (typeof languages[l] === 'string' && languages[l].indexOf('-') > 0) {
18262        // Extract the region information if it is included
18263        var languageParts = languages[l].split('-');
18264        var baseLanguage = languageParts[0];
18265
18266        resolvedLanguages.push(baseLanguage);
18267      }
18268    }
18269
18270    return resolvedLanguages;
18271  };
18272
18273  Defaults.prototype._processTranslations = function (languages, debug) {
18274    var translations = new Translation();
18275
18276    for (var l = 0; l < languages.length; l++) {
18277      var languageData = new Translation();
18278
18279      var language = languages[l];
18280
18281      if (typeof language === 'string') {
18282        try {
18283          // Try to load it with the original name
18284          languageData = Translation.loadPath(language);
18285        } catch (e) {
18286          try {
18287            // If we couldn't load it, check if it wasn't the full path
18288            language = this.defaults.amdLanguageBase + language;
18289            languageData = Translation.loadPath(language);
18290          } catch (ex) {
18291            // The translation could not be loaded at all. Sometimes this is
18292            // because of a configuration problem, other times this can be
18293            // because of how Select2 helps load all possible translation files
18294            if (debug && window.console && console.warn) {
18295              console.warn(
18296                'Select2: The language file for "' + language + '" could ' +
18297                'not be automatically loaded. A fallback will be used instead.'
18298              );
18299            }
18300          }
18301        }
18302      } else if ($.isPlainObject(language)) {
18303        languageData = new Translation(language);
18304      } else {
18305        languageData = language;
18306      }
18307
18308      translations.extend(languageData);
18309    }
18310
18311    return translations;
18312  };
18313
18314  Defaults.prototype.set = function (key, value) {
18315    var camelKey = $.camelCase(key);
18316
18317    var data = {};
18318    data[camelKey] = value;
18319
18320    var convertedData = Utils._convertData(data);
18321
18322    $.extend(true, this.defaults, convertedData);
18323  };
18324
18325  var defaults = new Defaults();
18326
18327  return defaults;
18328});
18329
18330S2.define('select2/options',[
18331  'jquery',
18332  './defaults',
18333  './utils'
18334], function ($, Defaults, Utils) {
18335  function Options (options, $element) {
18336    this.options = options;
18337
18338    if ($element != null) {
18339      this.fromElement($element);
18340    }
18341
18342    if ($element != null) {
18343      this.options = Defaults.applyFromElement(this.options, $element);
18344    }
18345
18346    this.options = Defaults.apply(this.options);
18347  }
18348
18349  Options.prototype.fromElement = function ($e) {
18350    var excludedData = ['select2'];
18351
18352    if (this.options.multiple == null) {
18353      this.options.multiple = $e.prop('multiple');
18354    }
18355
18356    if (this.options.disabled == null) {
18357      this.options.disabled = $e.prop('disabled');
18358    }
18359
18360    if (this.options.autocomplete == null && $e.prop('autocomplete')) {
18361      this.options.autocomplete = $e.prop('autocomplete');
18362    }
18363
18364    if (this.options.dir == null) {
18365      if ($e.prop('dir')) {
18366        this.options.dir = $e.prop('dir');
18367      } else if ($e.closest('[dir]').prop('dir')) {
18368        this.options.dir = $e.closest('[dir]').prop('dir');
18369      } else {
18370        this.options.dir = 'ltr';
18371      }
18372    }
18373
18374    $e.prop('disabled', this.options.disabled);
18375    $e.prop('multiple', this.options.multiple);
18376
18377    if (Utils.GetData($e[0], 'select2Tags')) {
18378      if (this.options.debug && window.console && console.warn) {
18379        console.warn(
18380          'Select2: The `data-select2-tags` attribute has been changed to ' +
18381          'use the `data-data` and `data-tags="true"` attributes and will be ' +
18382          'removed in future versions of Select2.'
18383        );
18384      }
18385
18386      Utils.StoreData($e[0], 'data', Utils.GetData($e[0], 'select2Tags'));
18387      Utils.StoreData($e[0], 'tags', true);
18388    }
18389
18390    if (Utils.GetData($e[0], 'ajaxUrl')) {
18391      if (this.options.debug && window.console && console.warn) {
18392        console.warn(
18393          'Select2: The `data-ajax-url` attribute has been changed to ' +
18394          '`data-ajax--url` and support for the old attribute will be removed' +
18395          ' in future versions of Select2.'
18396        );
18397      }
18398
18399      $e.attr('ajax--url', Utils.GetData($e[0], 'ajaxUrl'));
18400      Utils.StoreData($e[0], 'ajax-Url', Utils.GetData($e[0], 'ajaxUrl'));
18401    }
18402
18403    var dataset = {};
18404
18405    function upperCaseLetter(_, letter) {
18406      return letter.toUpperCase();
18407    }
18408
18409    // Pre-load all of the attributes which are prefixed with `data-`
18410    for (var attr = 0; attr < $e[0].attributes.length; attr++) {
18411      var attributeName = $e[0].attributes[attr].name;
18412      var prefix = 'data-';
18413
18414      if (attributeName.substr(0, prefix.length) == prefix) {
18415        // Get the contents of the attribute after `data-`
18416        var dataName = attributeName.substring(prefix.length);
18417
18418        // Get the data contents from the consistent source
18419        // This is more than likely the jQuery data helper
18420        var dataValue = Utils.GetData($e[0], dataName);
18421
18422        // camelCase the attribute name to match the spec
18423        var camelDataName = dataName.replace(/-([a-z])/g, upperCaseLetter);
18424
18425        // Store the data attribute contents into the dataset since
18426        dataset[camelDataName] = dataValue;
18427      }
18428    }
18429
18430    // Prefer the element's `dataset` attribute if it exists
18431    // jQuery 1.x does not correctly handle data attributes with multiple dashes
18432    if ($.fn.jquery && $.fn.jquery.substr(0, 2) == '1.' && $e[0].dataset) {
18433      dataset = $.extend(true, {}, $e[0].dataset, dataset);
18434    }
18435
18436    // Prefer our internal data cache if it exists
18437    var data = $.extend(true, {}, Utils.GetData($e[0]), dataset);
18438
18439    data = Utils._convertData(data);
18440
18441    for (var key in data) {
18442      if (excludedData.indexOf(key) > -1) {
18443        continue;
18444      }
18445
18446      if ($.isPlainObject(this.options[key])) {
18447        $.extend(this.options[key], data[key]);
18448      } else {
18449        this.options[key] = data[key];
18450      }
18451    }
18452
18453    return this;
18454  };
18455
18456  Options.prototype.get = function (key) {
18457    return this.options[key];
18458  };
18459
18460  Options.prototype.set = function (key, val) {
18461    this.options[key] = val;
18462  };
18463
18464  return Options;
18465});
18466
18467S2.define('select2/core',[
18468  'jquery',
18469  './options',
18470  './utils',
18471  './keys'
18472], function ($, Options, Utils, KEYS) {
18473  var Select2 = function ($element, options) {
18474    if (Utils.GetData($element[0], 'select2') != null) {
18475      Utils.GetData($element[0], 'select2').destroy();
18476    }
18477
18478    this.$element = $element;
18479
18480    this.id = this._generateId($element);
18481
18482    options = options || {};
18483
18484    this.options = new Options(options, $element);
18485
18486    Select2.__super__.constructor.call(this);
18487
18488    // Set up the tabindex
18489
18490    var tabindex = $element.attr('tabindex') || 0;
18491    Utils.StoreData($element[0], 'old-tabindex', tabindex);
18492    $element.attr('tabindex', '-1');
18493
18494    // Set up containers and adapters
18495
18496    var DataAdapter = this.options.get('dataAdapter');
18497    this.dataAdapter = new DataAdapter($element, this.options);
18498
18499    var $container = this.render();
18500
18501    this._placeContainer($container);
18502
18503    var SelectionAdapter = this.options.get('selectionAdapter');
18504    this.selection = new SelectionAdapter($element, this.options);
18505    this.$selection = this.selection.render();
18506
18507    this.selection.position(this.$selection, $container);
18508
18509    var DropdownAdapter = this.options.get('dropdownAdapter');
18510    this.dropdown = new DropdownAdapter($element, this.options);
18511    this.$dropdown = this.dropdown.render();
18512
18513    this.dropdown.position(this.$dropdown, $container);
18514
18515    var ResultsAdapter = this.options.get('resultsAdapter');
18516    this.results = new ResultsAdapter($element, this.options, this.dataAdapter);
18517    this.$results = this.results.render();
18518
18519    this.results.position(this.$results, this.$dropdown);
18520
18521    // Bind events
18522
18523    var self = this;
18524
18525    // Bind the container to all of the adapters
18526    this._bindAdapters();
18527
18528    // Register any DOM event handlers
18529    this._registerDomEvents();
18530
18531    // Register any internal event handlers
18532    this._registerDataEvents();
18533    this._registerSelectionEvents();
18534    this._registerDropdownEvents();
18535    this._registerResultsEvents();
18536    this._registerEvents();
18537
18538    // Set the initial state
18539    this.dataAdapter.current(function (initialData) {
18540      self.trigger('selection:update', {
18541        data: initialData
18542      });
18543    });
18544
18545    // Hide the original select
18546    $element[0].classList.add('select2-hidden-accessible');
18547    $element.attr('aria-hidden', 'true');
18548
18549    // Synchronize any monitored attributes
18550    this._syncAttributes();
18551
18552    Utils.StoreData($element[0], 'select2', this);
18553
18554    // Ensure backwards compatibility with $element.data('select2').
18555    $element.data('select2', this);
18556  };
18557
18558  Utils.Extend(Select2, Utils.Observable);
18559
18560  Select2.prototype._generateId = function ($element) {
18561    var id = '';
18562
18563    if ($element.attr('id') != null) {
18564      id = $element.attr('id');
18565    } else if ($element.attr('name') != null) {
18566      id = $element.attr('name') + '-' + Utils.generateChars(2);
18567    } else {
18568      id = Utils.generateChars(4);
18569    }
18570
18571    id = id.replace(/(:|\.|\[|\]|,)/g, '');
18572    id = 'select2-' + id;
18573
18574    return id;
18575  };
18576
18577  Select2.prototype._placeContainer = function ($container) {
18578    $container.insertAfter(this.$element);
18579
18580    var width = this._resolveWidth(this.$element, this.options.get('width'));
18581
18582    if (width != null) {
18583      $container.css('width', width);
18584    }
18585  };
18586
18587  Select2.prototype._resolveWidth = function ($element, method) {
18588    var WIDTH = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;
18589
18590    if (method == 'resolve') {
18591      var styleWidth = this._resolveWidth($element, 'style');
18592
18593      if (styleWidth != null) {
18594        return styleWidth;
18595      }
18596
18597      return this._resolveWidth($element, 'element');
18598    }
18599
18600    if (method == 'element') {
18601      var elementWidth = $element.outerWidth(false);
18602
18603      if (elementWidth <= 0) {
18604        return 'auto';
18605      }
18606
18607      return elementWidth + 'px';
18608    }
18609
18610    if (method == 'style') {
18611      var style = $element.attr('style');
18612
18613      if (typeof(style) !== 'string') {
18614        return null;
18615      }
18616
18617      var attrs = style.split(';');
18618
18619      for (var i = 0, l = attrs.length; i < l; i = i + 1) {
18620        var attr = attrs[i].replace(/\s/g, '');
18621        var matches = attr.match(WIDTH);
18622
18623        if (matches !== null && matches.length >= 1) {
18624          return matches[1];
18625        }
18626      }
18627
18628      return null;
18629    }
18630
18631    if (method == 'computedstyle') {
18632      var computedStyle = window.getComputedStyle($element[0]);
18633
18634      return computedStyle.width;
18635    }
18636
18637    return method;
18638  };
18639
18640  Select2.prototype._bindAdapters = function () {
18641    this.dataAdapter.bind(this, this.$container);
18642    this.selection.bind(this, this.$container);
18643
18644    this.dropdown.bind(this, this.$container);
18645    this.results.bind(this, this.$container);
18646  };
18647
18648  Select2.prototype._registerDomEvents = function () {
18649    var self = this;
18650
18651    this.$element.on('change.select2', function () {
18652      self.dataAdapter.current(function (data) {
18653        self.trigger('selection:update', {
18654          data: data
18655        });
18656      });
18657    });
18658
18659    this.$element.on('focus.select2', function (evt) {
18660      self.trigger('focus', evt);
18661    });
18662
18663    this._syncA = Utils.bind(this._syncAttributes, this);
18664    this._syncS = Utils.bind(this._syncSubtree, this);
18665
18666    this._observer = new window.MutationObserver(function (mutations) {
18667      self._syncA();
18668      self._syncS(mutations);
18669    });
18670    this._observer.observe(this.$element[0], {
18671      attributes: true,
18672      childList: true,
18673      subtree: false
18674    });
18675  };
18676
18677  Select2.prototype._registerDataEvents = function () {
18678    var self = this;
18679
18680    this.dataAdapter.on('*', function (name, params) {
18681      self.trigger(name, params);
18682    });
18683  };
18684
18685  Select2.prototype._registerSelectionEvents = function () {
18686    var self = this;
18687    var nonRelayEvents = ['toggle', 'focus'];
18688
18689    this.selection.on('toggle', function () {
18690      self.toggleDropdown();
18691    });
18692
18693    this.selection.on('focus', function (params) {
18694      self.focus(params);
18695    });
18696
18697    this.selection.on('*', function (name, params) {
18698      if (nonRelayEvents.indexOf(name) !== -1) {
18699        return;
18700      }
18701
18702      self.trigger(name, params);
18703    });
18704  };
18705
18706  Select2.prototype._registerDropdownEvents = function () {
18707    var self = this;
18708
18709    this.dropdown.on('*', function (name, params) {
18710      self.trigger(name, params);
18711    });
18712  };
18713
18714  Select2.prototype._registerResultsEvents = function () {
18715    var self = this;
18716
18717    this.results.on('*', function (name, params) {
18718      self.trigger(name, params);
18719    });
18720  };
18721
18722  Select2.prototype._registerEvents = function () {
18723    var self = this;
18724
18725    this.on('open', function () {
18726      self.$container[0].classList.add('select2-container--open');
18727    });
18728
18729    this.on('close', function () {
18730      self.$container[0].classList.remove('select2-container--open');
18731    });
18732
18733    this.on('enable', function () {
18734      self.$container[0].classList.remove('select2-container--disabled');
18735    });
18736
18737    this.on('disable', function () {
18738      self.$container[0].classList.add('select2-container--disabled');
18739    });
18740
18741    this.on('blur', function () {
18742      self.$container[0].classList.remove('select2-container--focus');
18743    });
18744
18745    this.on('query', function (params) {
18746      if (!self.isOpen()) {
18747        self.trigger('open', {});
18748      }
18749
18750      this.dataAdapter.query(params, function (data) {
18751        self.trigger('results:all', {
18752          data: data,
18753          query: params
18754        });
18755      });
18756    });
18757
18758    this.on('query:append', function (params) {
18759      this.dataAdapter.query(params, function (data) {
18760        self.trigger('results:append', {
18761          data: data,
18762          query: params
18763        });
18764      });
18765    });
18766
18767    this.on('keypress', function (evt) {
18768      var key = evt.which;
18769
18770      if (self.isOpen()) {
18771        if (key === KEYS.ESC || (key === KEYS.UP && evt.altKey)) {
18772          self.close(evt);
18773
18774          evt.preventDefault();
18775        } else if (key === KEYS.ENTER || key === KEYS.TAB) {
18776          self.trigger('results:select', {});
18777
18778          evt.preventDefault();
18779        } else if ((key === KEYS.SPACE && evt.ctrlKey)) {
18780          self.trigger('results:toggle', {});
18781
18782          evt.preventDefault();
18783        } else if (key === KEYS.UP) {
18784          self.trigger('results:previous', {});
18785
18786          evt.preventDefault();
18787        } else if (key === KEYS.DOWN) {
18788          self.trigger('results:next', {});
18789
18790          evt.preventDefault();
18791        }
18792      } else {
18793        if (key === KEYS.ENTER || key === KEYS.SPACE ||
18794            (key === KEYS.DOWN && evt.altKey)) {
18795          self.open();
18796
18797          evt.preventDefault();
18798        }
18799      }
18800    });
18801  };
18802
18803  Select2.prototype._syncAttributes = function () {
18804    this.options.set('disabled', this.$element.prop('disabled'));
18805
18806    if (this.isDisabled()) {
18807      if (this.isOpen()) {
18808        this.close();
18809      }
18810
18811      this.trigger('disable', {});
18812    } else {
18813      this.trigger('enable', {});
18814    }
18815  };
18816
18817  Select2.prototype._isChangeMutation = function (mutations) {
18818    var self = this;
18819
18820    if (mutations.addedNodes && mutations.addedNodes.length > 0) {
18821      for (var n = 0; n < mutations.addedNodes.length; n++) {
18822        var node = mutations.addedNodes[n];
18823
18824        if (node.selected) {
18825          return true;
18826        }
18827      }
18828    } else if (mutations.removedNodes && mutations.removedNodes.length > 0) {
18829      return true;
18830    } else if (Array.isArray(mutations)) {
18831      return mutations.some(function (mutation) {
18832        return self._isChangeMutation(mutation);
18833      });
18834    }
18835
18836    return false;
18837  };
18838
18839  Select2.prototype._syncSubtree = function (mutations) {
18840    var changed = this._isChangeMutation(mutations);
18841    var self = this;
18842
18843    // Only re-pull the data if we think there is a change
18844    if (changed) {
18845      this.dataAdapter.current(function (currentData) {
18846        self.trigger('selection:update', {
18847          data: currentData
18848        });
18849      });
18850    }
18851  };
18852
18853  /**
18854   * Override the trigger method to automatically trigger pre-events when
18855   * there are events that can be prevented.
18856   */
18857  Select2.prototype.trigger = function (name, args) {
18858    var actualTrigger = Select2.__super__.trigger;
18859    var preTriggerMap = {
18860      'open': 'opening',
18861      'close': 'closing',
18862      'select': 'selecting',
18863      'unselect': 'unselecting',
18864      'clear': 'clearing'
18865    };
18866
18867    if (args === undefined) {
18868      args = {};
18869    }
18870
18871    if (name in preTriggerMap) {
18872      var preTriggerName = preTriggerMap[name];
18873      var preTriggerArgs = {
18874        prevented: false,
18875        name: name,
18876        args: args
18877      };
18878
18879      actualTrigger.call(this, preTriggerName, preTriggerArgs);
18880
18881      if (preTriggerArgs.prevented) {
18882        args.prevented = true;
18883
18884        return;
18885      }
18886    }
18887
18888    actualTrigger.call(this, name, args);
18889  };
18890
18891  Select2.prototype.toggleDropdown = function () {
18892    if (this.isDisabled()) {
18893      return;
18894    }
18895
18896    if (this.isOpen()) {
18897      this.close();
18898    } else {
18899      this.open();
18900    }
18901  };
18902
18903  Select2.prototype.open = function () {
18904    if (this.isOpen()) {
18905      return;
18906    }
18907
18908    if (this.isDisabled()) {
18909      return;
18910    }
18911
18912    this.trigger('query', {});
18913  };
18914
18915  Select2.prototype.close = function (evt) {
18916    if (!this.isOpen()) {
18917      return;
18918    }
18919
18920    this.trigger('close', { originalEvent : evt });
18921  };
18922
18923  /**
18924   * Helper method to abstract the "enabled" (not "disabled") state of this
18925   * object.
18926   *
18927   * @return {true} if the instance is not disabled.
18928   * @return {false} if the instance is disabled.
18929   */
18930  Select2.prototype.isEnabled = function () {
18931    return !this.isDisabled();
18932  };
18933
18934  /**
18935   * Helper method to abstract the "disabled" state of this object.
18936   *
18937   * @return {true} if the disabled option is true.
18938   * @return {false} if the disabled option is false.
18939   */
18940  Select2.prototype.isDisabled = function () {
18941    return this.options.get('disabled');
18942  };
18943
18944  Select2.prototype.isOpen = function () {
18945    return this.$container[0].classList.contains('select2-container--open');
18946  };
18947
18948  Select2.prototype.hasFocus = function () {
18949    return this.$container[0].classList.contains('select2-container--focus');
18950  };
18951
18952  Select2.prototype.focus = function (data) {
18953    // No need to re-trigger focus events if we are already focused
18954    if (this.hasFocus()) {
18955      return;
18956    }
18957
18958    this.$container[0].classList.add('select2-container--focus');
18959    this.trigger('focus', {});
18960  };
18961
18962  Select2.prototype.enable = function (args) {
18963    if (this.options.get('debug') && window.console && console.warn) {
18964      console.warn(
18965        'Select2: The `select2("enable")` method has been deprecated and will' +
18966        ' be removed in later Select2 versions. Use $element.prop("disabled")' +
18967        ' instead.'
18968      );
18969    }
18970
18971    if (args == null || args.length === 0) {
18972      args = [true];
18973    }
18974
18975    var disabled = !args[0];
18976
18977    this.$element.prop('disabled', disabled);
18978  };
18979
18980  Select2.prototype.data = function () {
18981    if (this.options.get('debug') &&
18982        arguments.length > 0 && window.console && console.warn) {
18983      console.warn(
18984        'Select2: Data can no longer be set using `select2("data")`. You ' +
18985        'should consider setting the value instead using `$element.val()`.'
18986      );
18987    }
18988
18989    var data = [];
18990
18991    this.dataAdapter.current(function (currentData) {
18992      data = currentData;
18993    });
18994
18995    return data;
18996  };
18997
18998  Select2.prototype.val = function (args) {
18999    if (this.options.get('debug') && window.console && console.warn) {
19000      console.warn(
19001        'Select2: The `select2("val")` method has been deprecated and will be' +
19002        ' removed in later Select2 versions. Use $element.val() instead.'
19003      );
19004    }
19005
19006    if (args == null || args.length === 0) {
19007      return this.$element.val();
19008    }
19009
19010    var newVal = args[0];
19011
19012    if (Array.isArray(newVal)) {
19013      newVal = newVal.map(function (obj) {
19014        return obj.toString();
19015      });
19016    }
19017
19018    this.$element.val(newVal).trigger('input').trigger('change');
19019  };
19020
19021  Select2.prototype.destroy = function () {
19022    Utils.RemoveData(this.$container[0]);
19023    this.$container.remove();
19024
19025    this._observer.disconnect();
19026    this._observer = null;
19027
19028    this._syncA = null;
19029    this._syncS = null;
19030
19031    this.$element.off('.select2');
19032    this.$element.attr('tabindex',
19033    Utils.GetData(this.$element[0], 'old-tabindex'));
19034
19035    this.$element[0].classList.remove('select2-hidden-accessible');
19036    this.$element.attr('aria-hidden', 'false');
19037    Utils.RemoveData(this.$element[0]);
19038    this.$element.removeData('select2');
19039
19040    this.dataAdapter.destroy();
19041    this.selection.destroy();
19042    this.dropdown.destroy();
19043    this.results.destroy();
19044
19045    this.dataAdapter = null;
19046    this.selection = null;
19047    this.dropdown = null;
19048    this.results = null;
19049  };
19050
19051  Select2.prototype.render = function () {
19052    var $container = $(
19053      '<span class="select2 select2-container">' +
19054        '<span class="selection"></span>' +
19055        '<span class="dropdown-wrapper" aria-hidden="true"></span>' +
19056      '</span>'
19057    );
19058
19059    $container.attr('dir', this.options.get('dir'));
19060
19061    this.$container = $container;
19062
19063    this.$container[0].classList
19064      .add('select2-container--' + this.options.get('theme'));
19065
19066    Utils.StoreData($container[0], 'element', this.$element);
19067
19068    return $container;
19069  };
19070
19071  return Select2;
19072});
19073
19074S2.define('select2/dropdown/attachContainer',[
19075
19076], function () {
19077  function AttachContainer (decorated, $element, options) {
19078    decorated.call(this, $element, options);
19079  }
19080
19081  AttachContainer.prototype.position =
19082    function (decorated, $dropdown, $container) {
19083    var $dropdownContainer = $container.find('.dropdown-wrapper');
19084    $dropdownContainer.append($dropdown);
19085
19086    $dropdown[0].classList.add('select2-dropdown--below');
19087    $container[0].classList.add('select2-container--below');
19088  };
19089
19090  return AttachContainer;
19091});
19092
19093S2.define('select2/dropdown/stopPropagation',[
19094
19095], function () {
19096  function StopPropagation () { }
19097
19098  StopPropagation.prototype.bind = function (decorated, container, $container) {
19099    decorated.call(this, container, $container);
19100
19101    var stoppedEvents = [
19102    'blur',
19103    'change',
19104    'click',
19105    'dblclick',
19106    'focus',
19107    'focusin',
19108    'focusout',
19109    'input',
19110    'keydown',
19111    'keyup',
19112    'keypress',
19113    'mousedown',
19114    'mouseenter',
19115    'mouseleave',
19116    'mousemove',
19117    'mouseover',
19118    'mouseup',
19119    'search',
19120    'touchend',
19121    'touchstart'
19122    ];
19123
19124    this.$dropdown.on(stoppedEvents.join(' '), function (evt) {
19125      evt.stopPropagation();
19126    });
19127  };
19128
19129  return StopPropagation;
19130});
19131
19132S2.define('select2/selection/stopPropagation',[
19133
19134], function () {
19135  function StopPropagation () { }
19136
19137  StopPropagation.prototype.bind = function (decorated, container, $container) {
19138    decorated.call(this, container, $container);
19139
19140    var stoppedEvents = [
19141      'blur',
19142      'change',
19143      'click',
19144      'dblclick',
vendor: 7,732 bytes, lines 19145-19369
19145      'focus',
19146      'focusin',
19147      'focusout',
19148      'input',
19149      'keydown',
19150      'keyup',
19151      'keypress',
19152      'mousedown',
19153      'mouseenter',
19154      'mouseleave',
19155      'mousemove',
19156      'mouseover',
19157      'mouseup',
19158      'search',
19159      'touchend',
19160      'touchstart'
19161    ];
19162
19163    this.$selection.on(stoppedEvents.join(' '), function (evt) {
19164      evt.stopPropagation();
19165    });
19166  };
19167
19168  return StopPropagation;
19169});
19170
19171/*!
19172 * jQuery Mousewheel 3.1.13
19173 *
19174 * Copyright jQuery Foundation and other contributors
19175 * Released under the MIT license
19176 * http://jquery.org/license
19177 */
19178
19179(function (factory) {
19180    if ( typeof S2.define === 'function' && S2.define.amd ) {
19181        // AMD. Register as an anonymous module.
19182        S2.define('jquery-mousewheel',['jquery'], factory);
19183    } else if (typeof exports === 'object') {
19184        // Node/CommonJS style for Browserify
19185        module.exports = factory;
19186    } else {
19187        // Browser globals
19188        factory(jQuery);
19189    }
19190}(function ($) {
19191
19192    var toFix  = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll'],
19193        toBind = ( 'onwheel' in document || document.documentMode >= 9 ) ?
19194                    ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'],
19195        slice  = Array.prototype.slice,
19196        nullLowestDeltaTimeout, lowestDelta;
19197
19198    if ( $.event.fixHooks ) {
19199        for ( var i = toFix.length; i; ) {
19200            $.event.fixHooks[ toFix[--i] ] = $.event.mouseHooks;
19201        }
19202    }
19203
19204    var special = $.event.special.mousewheel = {
19205        version: '3.1.12',
19206
19207        setup: function() {
19208            if ( this.addEventListener ) {
19209                for ( var i = toBind.length; i; ) {
19210                    this.addEventListener( toBind[--i], handler, false );
19211                }
19212            } else {
19213                this.onmousewheel = handler;
19214            }
19215            // Store the line height and page height for this particular element
19216            $.data(this, 'mousewheel-line-height', special.getLineHeight(this));
19217            $.data(this, 'mousewheel-page-height', special.getPageHeight(this));
19218        },
19219
19220        teardown: function() {
19221            if ( this.removeEventListener ) {
19222                for ( var i = toBind.length; i; ) {
19223                    this.removeEventListener( toBind[--i], handler, false );
19224                }
19225            } else {
19226                this.onmousewheel = null;
19227            }
19228            // Clean up the data we added to the element
19229            $.removeData(this, 'mousewheel-line-height');
19230            $.removeData(this, 'mousewheel-page-height');
19231        },
19232
19233        getLineHeight: function(elem) {
19234            var $elem = $(elem),
19235                $parent = $elem['offsetParent' in $.fn ? 'offsetParent' : 'parent']();
19236            if (!$parent.length) {
19237                $parent = $('body');
19238            }
19239            return parseInt($parent.css('fontSize'), 10) || parseInt($elem.css('fontSize'), 10) || 16;
19240        },
19241
19242        getPageHeight: function(elem) {
19243            return $(elem).height();
19244        },
19245
19246        settings: {
19247            adjustOldDeltas: true, // see shouldAdjustOldDeltas() below
19248            normalizeOffset: true  // calls getBoundingClientRect for each event
19249        }
19250    };
19251
19252    $.fn.extend({
19253        mousewheel: function(fn) {
19254            return fn ? this.bind('mousewheel', fn) : this.trigger('mousewheel');
19255        },
19256
19257        unmousewheel: function(fn) {
19258            return this.unbind('mousewheel', fn);
19259        }
19260    });
19261
19262
19263    function handler(event) {
19264        var orgEvent   = event || window.event,
19265            args       = slice.call(arguments, 1),
19266            delta      = 0,
19267            deltaX     = 0,
19268            deltaY     = 0,
19269            absDelta   = 0,
19270            offsetX    = 0,
19271            offsetY    = 0;
19272        event = $.event.fix(orgEvent);
19273        event.type = 'mousewheel';
19274
19275        // Old school scrollwheel delta
19276        if ( 'detail'      in orgEvent ) { deltaY = orgEvent.detail * -1;      }
19277        if ( 'wheelDelta'  in orgEvent ) { deltaY = orgEvent.wheelDelta;       }
19278        if ( 'wheelDeltaY' in orgEvent ) { deltaY = orgEvent.wheelDeltaY;      }
19279        if ( 'wheelDeltaX' in orgEvent ) { deltaX = orgEvent.wheelDeltaX * -1; }
19280
19281        // Firefox < 17 horizontal scrolling related to DOMMouseScroll event
19282        if ( 'axis' in orgEvent && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) {
19283            deltaX = deltaY * -1;
19284            deltaY = 0;
19285        }
19286
19287        // Set delta to be deltaY or deltaX if deltaY is 0 for backwards compatabilitiy
19288        delta = deltaY === 0 ? deltaX : deltaY;
19289
19290        // New school wheel delta (wheel event)
19291        if ( 'deltaY' in orgEvent ) {
19292            deltaY = orgEvent.deltaY * -1;
19293            delta  = deltaY;
19294        }
19295        if ( 'deltaX' in orgEvent ) {
19296            deltaX = orgEvent.deltaX;
19297            if ( deltaY === 0 ) { delta  = deltaX * -1; }
19298        }
19299
19300        // No change actually happened, no reason to go any further
19301        if ( deltaY === 0 && deltaX === 0 ) { return; }
19302
19303        // Need to convert lines and pages to pixels if we aren't already in pixels
19304        // There are three delta modes:
19305        //   * deltaMode 0 is by pixels, nothing to do
19306        //   * deltaMode 1 is by lines
19307        //   * deltaMode 2 is by pages
19308        if ( orgEvent.deltaMode === 1 ) {
19309            var lineHeight = $.data(this, 'mousewheel-line-height');
19310            delta  *= lineHeight;
19311            deltaY *= lineHeight;
19312            deltaX *= lineHeight;
19313        } else if ( orgEvent.deltaMode === 2 ) {
19314            var pageHeight = $.data(this, 'mousewheel-page-height');
19315            delta  *= pageHeight;
19316            deltaY *= pageHeight;
19317            deltaX *= pageHeight;
19318        }
19319
19320        // Store lowest absolute delta to normalize the delta values
19321        absDelta = Math.max( Math.abs(deltaY), Math.abs(deltaX) );
19322
19323        if ( !lowestDelta || absDelta < lowestDelta ) {
19324            lowestDelta = absDelta;
19325
19326            // Adjust older deltas if necessary
19327            if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) {
19328                lowestDelta /= 40;
19329            }
19330        }
19331
19332        // Adjust older deltas if necessary
19333        if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) {
19334            // Divide all the things by 40!
19335            delta  /= 40;
19336            deltaX /= 40;
19337            deltaY /= 40;
19338        }
19339
19340        // Get a whole, normalized value for the deltas
19341        delta  = Math[ delta  >= 1 ? 'floor' : 'ceil' ](delta  / lowestDelta);
19342        deltaX = Math[ deltaX >= 1 ? 'floor' : 'ceil' ](deltaX / lowestDelta);
19343        deltaY = Math[ deltaY >= 1 ? 'floor' : 'ceil' ](deltaY / lowestDelta);
19344
19345        // Normalise offsetX and offsetY properties
19346        if ( special.settings.normalizeOffset && this.getBoundingClientRect ) {
19347            var boundingRect = this.getBoundingClientRect();
19348            offsetX = event.clientX - boundingRect.left;
19349            offsetY = event.clientY - boundingRect.top;
19350        }
19351
19352        // Add information to the event object
19353        event.deltaX = deltaX;
19354        event.deltaY = deltaY;
19355        event.deltaFactor = lowestDelta;
19356        event.offsetX = offsetX;
19357        event.offsetY = offsetY;
19358        // Go ahead and set deltaMode to 0 since we converted to pixels
19359        // Although this is a little odd since we overwrite the deltaX/Y
19360        // properties with normalized deltas.
19361        event.deltaMode = 0;
19362
19363        // Add event and delta to the front of the arguments
19364        args.unshift(event, delta, deltaX, deltaY);
19365
19366        // Clearout lowestDelta after sometime to better
19367        // handle multiple device types that give different
19368        // a different lowestDelta
19369        // Ex: trackpad = 3 and mouse wheel = 120
vendor: 3,319 bytes, lines 19370-19481
19370        if (nullLowestDeltaTimeout) { clearTimeout(nullLowestDeltaTimeout); }
19371        nullLowestDeltaTimeout = setTimeout(nullLowestDelta, 200);
19372
19373        return ($.event.dispatch || $.event.handle).apply(this, args);
19374    }
19375
19376    function nullLowestDelta() {
19377        lowestDelta = null;
19378    }
19379
19380    function shouldAdjustOldDeltas(orgEvent, absDelta) {
19381        // If this is an older event and the delta is divisable by 120,
19382        // then we are assuming that the browser is treating this as an
19383        // older mouse wheel event and that we should divide the deltas
19384        // by 40 to try and get a more usable deltaFactor.
19385        // Side note, this actually impacts the reported scroll distance
19386        // in older browsers and can cause scrolling to be slower than native.
19387        // Turn this off by setting $.event.special.mousewheel.settings.adjustOldDeltas to false.
19388        return special.settings.adjustOldDeltas && orgEvent.type === 'mousewheel' && absDelta % 120 === 0;
19389    }
19390
19391}));
19392
19393S2.define('jquery.select2',[
19394  'jquery',
19395  'jquery-mousewheel',
19396
19397  './select2/core',
19398  './select2/defaults',
19399  './select2/utils'
19400], function ($, _, Select2, Defaults, Utils) {
19401  if ($.fn.select2 == null) {
19402    // All methods that should return the element
19403    var thisMethods = ['open', 'close', 'destroy'];
19404
19405    $.fn.select2 = function (options) {
19406      options = options || {};
19407
19408      if (typeof options === 'object') {
19409        this.each(function () {
19410          var instanceOptions = $.extend(true, {}, options);
19411
19412          var instance = new Select2($(this), instanceOptions);
19413        });
19414
19415        return this;
19416      } else if (typeof options === 'string') {
19417        var ret;
19418        var args = Array.prototype.slice.call(arguments, 1);
19419
19420        this.each(function () {
19421          var instance = Utils.GetData(this, 'select2');
19422
19423          if (instance == null && window.console && console.error) {
19424            console.error(
19425              'The select2(\'' + options + '\') method was called on an ' +
19426              'element that is not using Select2.'
19427            );
19428          }
19429
19430          ret = instance[options].apply(instance, args);
19431        });
19432
19433        // Check if we should be returning `this`
19434        if (thisMethods.indexOf(options) > -1) {
19435          return this;
19436        }
19437
19438        return ret;
19439      } else {
19440        throw new Error('Invalid arguments for Select2: ' + options);
19441      }
19442    };
19443  }
19444
19445  if ($.fn.select2.defaults == null) {
19446    $.fn.select2.defaults = Defaults;
19447  }
19448
19449  return Select2;
19450});
19451
19452  // Return the AMD loader configuration so it can be used outside of this file
19453  return {
19454    define: S2.define,
19455    require: S2.require
19456  };
19457}());
19458
19459  // Autoload the jQuery bindings
19460  // We know that all of the modules exist above this, so we're safe
19461  var select2 = S2.require('jquery.select2');
19462
19463  // Hold the AMD module references on the jQuery function that was just loaded
19464  // This allows Select2 to use the internal loader outside of this file, such
19465  // as in the language files.
19466  jQuery.fn.select2.amd = S2;
19467
19468  // Return the Select2 instance for anyone who is importing it.
19469  return select2;
19470}));
19471
19472"use strict";
19473
19474//
19475// Select2 Initialization
19476//
19477
19478$.fn.select2.defaults.set("theme", "bootstrap5");
19479$.fn.select2.defaults.set("width", "100%");
19480$.fn.select2.defaults.set("selectionCssClass", ":all:");
19481
vendor: 86,362 bytes, lines 19482-19487
19482/*!
19483  * Tempus Dominus vv6.10.4 (https://getdatepicker.com/)
19484  * Copyright 2013-2025 Jonathan Peterson
19485  * Licensed under MIT (https://github.com/Eonasdan/tempus-dominus/blob/master/LICENSE)
19486  */
19487!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).tempusDominus={})}(this,(function(t){"use strict";class e extends Error{}const s="tempus-dominus";class i{}i.NAME=s,i.dataKey="td",i.events=new class{constructor(){this.key=".td",this.change=`change${this.key}`,this.update=`update${this.key}`,this.error=`error${this.key}`,this.show=`show${this.key}`,this.hide=`hide${this.key}`,this.blur=`blur${this.key}`,this.focus=`focus${this.key}`,this.keyup=`keyup${this.key}`,this.keydown=`keydown${this.key}`}},i.css=new class{constructor(){this.widget=`${s}-widget`,this.calendarHeader="calendar-header",this.switch="picker-switch",this.toolbar="toolbar",this.noHighlight="no-highlight",this.sideBySide="timepicker-sbs",this.previous="previous",this.next="next",this.disabled="disabled",this.old="old",this.new="new",this.active="active",this.dateContainer="date-container",this.decadesContainer=`${this.dateContainer}-decades`,this.decade="decade",this.yearsContainer=`${this.dateContainer}-years`,this.year="year",this.monthsContainer=`${this.dateContainer}-months`,this.month="month",this.daysContainer=`${this.dateContainer}-days`,this.day="day",this.calendarWeeks="cw",this.dayOfTheWeek="dow",this.today="today",this.weekend="weekend",this.rangeIn="range-in",this.rangeStart="range-start",this.rangeEnd="range-end",this.timeContainer="time-container",this.separator="separator",this.clockContainer=`${this.timeContainer}-clock`,this.hourContainer=`${this.timeContainer}-hour`,this.minuteContainer=`${this.timeContainer}-minute`,this.secondContainer=`${this.timeContainer}-second`,this.hour="hour",this.minute="minute",this.second="second",this.toggleMeridiem="toggleMeridiem",this.show="show",this.collapsing="td-collapsing",this.collapse="td-collapse",this.inline="inline",this.lightTheme="light",this.darkTheme="dark",this.isDarkPreferredQuery="(prefers-color-scheme: dark)"}},i.errorMessages=new class{constructor(){this.base="TD:",this.failedToSetInvalidDate="Failed to set invalid date",this.failedToParseInput="Failed parse input field"}unexpectedOption(t){const s=new e(`${this.base} Unexpected option: ${t} does not match a known option.`);throw s.code=1,s}unexpectedOptions(t){const s=new e(`${this.base}: ${t.join(", ")}`);throw s.code=1,s}unexpectedOptionValue(t,s,i){const o=new e(`${this.base} Unexpected option value: ${t} does not accept a value of "${s}". Valid values are: ${i.join(", ")}`);throw o.code=2,o}typeMismatch(t,s,i){const o=new e(`${this.base} Mismatch types: ${t} has a type of ${s} instead of the required ${i}`);throw o.code=3,o}numbersOutOfRange(t,s,i){const o=new e(`${this.base} ${t} expected an array of number between ${s} and ${i}.`);throw o.code=4,o}failedToParseDate(t,s,i=!1){const o=new e(`${this.base} Could not correctly parse "${s}" to a date for ${t}.`);if(o.code=5,!i)throw o;console.warn(o)}mustProvideElement(){const t=new e(`${this.base} No element was provided.`);throw t.code=6,t}subscribeMismatch(){const t=new e(`${this.base} The subscribed events does not match the number of callbacks`);throw t.code=7,t}conflictingConfiguration(t){const s=new e(`${this.base} A configuration value conflicts with another rule. ${t}`);throw s.code=8,s}customDateFormatError(t){const s=new e(`${this.base} Custom Date Format: ${t}`);throw s.code=9,s}dateString(){console.warn(`${this.base} Using a string for date options is not recommended unless you specify an ISO string or use the customDateFormat plugin.`)}deprecatedWarning(t,e){console.warn(`${this.base} Warning ${t} is deprecated and will be removed in a future version. ${e}`)}throwError(t){const s=new e(`${this.base} ${t}`);throw s.code=9,s}};var o,a={...{dateFormats:{LTS:"h:mm:ss T",LT:"h:mm T",L:"MM/dd/yyyy",LL:"MMMM d, yyyy",LLL:"MMMM d, yyyy h:mm T",LLLL:"dddd, MMMM d, yyyy h:mm T"},format:"L LT",locale:"default",hourCycle:void 0,ordinal:t=>{const e=["th","st","nd","rd"],s=t%100;return`[${t}${e[(s-20)%10]||e[s]||e[0]}]`}}};t.Unit=void 0,(o=t.Unit||(t.Unit={})).seconds="seconds",o.minutes="minutes",o.hours="hours",o.date="date",o.month="month",o.year="year";const n={month:"2-digit",day:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"},r=t=>{switch(t){case"date":return{dateStyle:"short"};case"month":return{month:"numeric",year:"numeric"};case"year":return{year:"numeric"}}},d=t=>{if(!t)return"h12";const e={hour:"2-digit",minute:"2-digit",numberingSystem:"latn"},s=(new l).setLocalization({locale:t});s.hours=0;const i=s.parts(void 0,e).hour;if("12"===i)return"h12";if("24"===i)return"h24";s.hours=23;const o=s.parts(void 0,e).hour;return"00"===i&&"11"===o?"h11":"00"===i&&"23"===o?"h23":void console.warn(`couldn't determine hour cycle for ${t}. start: ${i}. end: ${o}`)};class l extends Date{constructor(){super(...arguments),this.localization=a,this.nonLeapLadder=[0,31,59,90,120,151,181,212,243,273,304,334],this.leapLadder=[0,31,60,91,121,152,182,213,244,274,305,335],this.dateTimeRegex=/(\[[^[\]]*])|y{1,4}|M{1,4}|d{1,4}|H{1,2}|h{1,2}|t|T|m{1,2}|s{1,2}|f{3}/g,this.formattingTokens=/(\[[^[\]]*])|([-_:/.,()\s]+)|(T|t|yyyy|yy?|MM?M?M?|Do|dd?d?d?|hh?|HH?|mm?|ss?)/g,this.match2=/\d\d/,this.match3=/\d{3}/,this.match4=/\d{4}/,this.match1to2=/\d\d?/,this.matchSigned=/[+-]?\d+/,this.matchOffset=/[+-]\d\d:?(\d\d)?|Z/,this.matchWord=/[^\d_:/,\-()\s]+/,this.zoneExpressions=[this.matchOffset,(t,e)=>{t.offset=this.offsetFromString(e)}],this.expressions={t:{pattern:void 0,parser:(t,e)=>{t.afternoon=this.meridiemMatch(e)}},T:{pattern:void 0,parser:(t,e)=>{t.afternoon=this.meridiemMatch(e)}},fff:{pattern:this.match3,parser:(t,e)=>{t.milliseconds=+e}},s:{pattern:this.match1to2,parser:this.addInput("seconds")},ss:{pattern:this.match1to2,parser:this.addInput("seconds")},m:{pattern:this.match1to2,parser:this.addInput("minutes")},mm:{pattern:this.match1to2,parser:this.addInput("minutes")},H:{pattern:this.match1to2,parser:this.addInput("hours")},h:{pattern:this.match1to2,parser:this.addInput("hours")},HH:{pattern:this.match1to2,parser:this.addInput("hours")},hh:{pattern:this.match1to2,parser:this.addInput("hours")},d:{pattern:this.match1to2,parser:this.addInput("day")},dd:{pattern:this.match2,parser:this.addInput("day")},Do:{pattern:this.matchWord,parser:(t,e)=>{if(t.day=+(e.match(/\d+/)[0]||1),this.localization.ordinal)for(let s=1;s<=31;s+=1)this.localization.ordinal(s).replace(/[[\]]/g,"")===e&&(t.day=s)}},M:{pattern:this.match1to2,parser:this.addInput("month")},MM:{pattern:this.match2,parser:this.addInput("month")},MMM:{pattern:this.matchWord,parser:(t,e)=>{const s=this.getAllMonths(),i=(this.getAllMonths("short")||s.map((t=>t.slice(0,3)))).indexOf(e)+1;if(i<1)throw new Error;t.month=i%12||i}},MMMM:{pattern:this.matchWord,parser:(t,e)=>{const s=this.getAllMonths().indexOf(e)+1;if(s<1)throw new Error;t.month=s%12||s}},y:{pattern:this.matchSigned,parser:this.addInput("year")},yy:{pattern:this.match2,parser:(t,e)=>{t.year=this.parseTwoDigitYear(+e)}},yyyy:{pattern:this.match4,parser:this.addInput("year")}}}setLocale(t){return this.localization||(this.localization=a,this.localization.locale=t),this}setLocalization(t){return this.localization=t,this}static convert(t,e="default",s=undefined){if(!t)throw new Error("A date is required");return s||((s=a).locale=e),new l(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()).setLocalization(s)}get clone(){return new l(this.year,this.month,this.date,this.hours,this.minutes,this.seconds,this.getMilliseconds()).setLocalization(this.localization)}static isValid(t){return void 0!==t&&"null"!==JSON.stringify(t)&&t.constructor.name===l.name}startOf(e,s=0){if(void 0===this[e])throw new Error(`Unit '${e}' is not valid`);switch(e){case"seconds":this.setMilliseconds(0);break;case"minutes":this.setSeconds(0,0);break;case"hours":this.setMinutes(0,0,0);break;case"date":this.setHours(0,0,0,0);break;case"weekDay":{if(this.startOf(t.Unit.date),this.weekDay===s)break;const e=(this.weekDay-s+7)%7;this.manipulate(-1*e,t.Unit.date);break}case"month":this.startOf(t.Unit.date),this.setDate(1);break;case"year":this.startOf(t.Unit.date),this.setMonth(0,1)}return this}endOf(e,s=0){if(void 0===this[e])throw new Error(`Unit '${e}' is not valid`);switch(e){case"seconds":this.setMilliseconds(999);break;case"minutes":this.setSeconds(59,999);break;case"hours":this.setMinutes(59,59,999);break;case"date":this.setHours(23,59,59,999);break;case"weekDay":{this.endOf(t.Unit.date);const e=6+s;if(this.weekDay===e)break;this.manipulate(e-this.weekDay,t.Unit.date);break}case"month":this.endOf(t.Unit.date),this.manipulate(1,t.Unit.month),this.setDate(0);break;case"year":this.endOf(t.Unit.date),this.setMonth(11,31)}return this}manipulate(t,e){if(void 0===this[e])throw new Error(`Unit '${e}' is not valid`);return this[e]+=t,this}isBefore(t,e){if(!l.isValid(t))return!1;if(!e)return this.valueOf()<t.valueOf();if(void 0===this[e])throw new Error(`Unit '${e}' is not valid`);return this.clone.startOf(e).valueOf()<t.clone.startOf(e).valueOf()}isAfter(t,e){if(!l.isValid(t))return!1;if(!e)return this.valueOf()>t.valueOf();if(void 0===this[e])throw new Error(`Unit '${e}' is not valid`);return this.clone.startOf(e).valueOf()>t.clone.startOf(e).valueOf()}isSame(t,e){if(!l.isValid(t))return!1;if(!e)return this.valueOf()===t.valueOf();if(void 0===this[e])throw new Error(`Unit '${e}' is not valid`);return t=l.convert(t),this.clone.startOf(e).valueOf()===t.startOf(e).valueOf()}isBetween(t,e,s,i="()"){if(!l.isValid(t)||!l.isValid(e))return!1;if(s&&void 0===this[s])throw new Error(`Unit '${s}' is not valid`);const o="("===i[0],a=")"===i[1],n=o?this.isAfter(t,s):!this.isBefore(t,s),r=a?this.isBefore(e,s):!this.isAfter(e,s);return n&&r}parts(t=this.localization.locale,e={dateStyle:"full",timeStyle:"long"}){const s={};return new Intl.DateTimeFormat(t,e).formatToParts(this).filter((t=>"literal"!==t.type)).forEach((t=>s[t.type]=t.value)),s}get seconds(){return this.getSeconds()}set seconds(t){this.setSeconds(t)}get secondsFormatted(){return this.parts(void 0,n).second}get minutes(){return this.getMinutes()}set minutes(t){this.setMinutes(t)}get minutesFormatted(){return this.parts(void 0,n).minute}get hours(){return this.getHours()}set hours(t){this.setHours(t)}getHoursFormatted(t="h12"){return this.parts(void 0,{...n,hourCycle:t}).hour}meridiem(t=this.localization.locale){return new Intl.DateTimeFormat(t,{hour:"numeric",hour12:!0}).formatToParts(this).find((t=>"dayPeriod"===t.type))?.value}get date(){return this.getDate()}set date(t){this.setDate(t)}get dateFormatted(){return this.parts(void 0,n).day}get weekDay(){return this.getDay()}get month(){return this.getMonth()}set month(t){const e=new Date(this.year,t+1);e.setDate(0);const s=e.getDate();this.date>s&&(this.date=s),this.setMonth(t)}get monthFormatted(){return this.parts(void 0,n).month}get year(){return this.getFullYear()}set year(t){this.setFullYear(t)}get week(){const t=this.computeOrdinal(),e=this.getUTCDay();let s=Math.floor((t-e+10)/7);return s<1?s=this.weeksInWeekYear():s>this.weeksInWeekYear()&&(s=1),s}weeksInWeekYear(){const t=(this.year+Math.floor(this.year/4)-Math.floor(this.year/100)+Math.floor(this.year/400))%7,e=this.year-1,s=(e+Math.floor(e/4)-Math.floor(e/100)+Math.floor(e/400))%7;return 4===t||3===s?53:52}dateToDataValue(){return l.isValid(this)?`${this.year}-${this.month.toString().padStart(2,"0")}-${this.date.toString().padStart(2,"0")}`:""}get isLeapYear(){return this.year%4==0&&(this.year%100!=0||this.year%400==0)}computeOrdinal(){return this.date+(this.isLeapYear?this.leapLadder:this.nonLeapLadder)[this.month]}getAllMonths(t="long"){const e=new Intl.DateTimeFormat(this.localization.locale,{month:t}).format;return[...Array(12).keys()].map((t=>e(new Date(2021,t))))}replaceTokens(t,e){return t.replace(/(\[[^[\]]*])|(LTS?|l{1,4}|L{1,4})/g,((t,s,i)=>{const o=i&&i.toUpperCase();return s||e[o]||a.dateFormats[o]}))}parseTwoDigitYear(t){return t+(t>68?1900:2e3)}offsetFromString(t){if(!t)return 0;if("Z"===t)return 0;const[e,s,i]=t.match(/([+-]|\d\d)/g),o=60*+s+(+i||0);return 0===o?0:"+"===e?-o:o}zoneInformation(t,e){let s=t.parts(this.localization.locale,{timeZoneName:"longOffset"}).timeZoneName.replace("GMT","").replace(":","");const i=s.includes("-");return s=s.replace("-",""),"z"===e?s=s.substring(1,2):"zz"===e&&(s=s.substring(0,2)),`${i?"-":""}${s}`}addInput(t){return(e,s)=>{e[t]=+s}}getLocaleAfternoon(){return new Intl.DateTimeFormat(this.localization.locale,{hour:"numeric",hour12:!0}).formatToParts(new Date(2022,3,4,13)).find((t=>"dayPeriod"===t.type))?.value?.replace(/\s+/g," ")}meridiemMatch(t){return t.toLowerCase()===this.getLocaleAfternoon().toLowerCase()}correctHours(t){const{afternoon:e}=t;if(void 0!==e){const{hours:s}=t;e?s<12&&(t.hours+=12):12===s&&(t.hours=0),delete t.afternoon}}makeParser(t){const e=(t=this.replaceTokens(t,this.localization.dateFormats)).match(this.formattingTokens),{length:s}=e,i=[];for(let t=0;t<s;t+=1){const s=e[t],o=this.expressions[s];i[t]=o?.parser?o:s.replace(/^\[[^[\]]*]$/g,"")}return t=>{const e={hours:0,minutes:0,seconds:0,milliseconds:0};for(let o=0,a=0;o<s;o+=1){const s=i[o];if("string"==typeof s)a+=s.length;else{const i=t.slice(a);let o=i;if(s.pattern){o=s.pattern.exec(i)[0]}s.parser.call(this,e,o),t=t.replace(o,"")}}return this.correctHours(e),e}}static fromString(t,e){e?.format||i.errorMessages.customDateFormatError("No format was provided");try{const s=new l;if(s.setLocalization(e),["x","X"].indexOf(e.format)>-1)return new l(("X"===e.format?1e3:1)*+t);t=t.replace(/\s+/g," ");const i=s.makeParser(e.format),{year:o,month:a,day:n,hours:r,minutes:d,seconds:c,milliseconds:h,zone:p}=i(t),u=n||(o||a?1:s.getDate()),m=o||s.getFullYear();let y=0;return o&&!a||(y=a>0?a-1:s.getMonth()),p?new l(Date.UTC(m,y,u,r,d,c,h+60*p.offset*1e3)):new l(m,y,u,r,d,c,h)}catch(s){i.errorMessages.customDateFormatError(`Unable to parse provided input: ${t}, format: ${e.format}`)}}format(t,e=this.localization.locale){if(t&&"object"==typeof t)return new Intl.DateTimeFormat(e,t).format(this);const s=this.replaceTokens(t||this.localization.format||`${a.dateFormats.L}, ${a.dateFormats.LT}`,this.localization.dateFormats),i=t=>new Intl.DateTimeFormat(this.localization.locale,t).format(this);this.localization.hourCycle||(this.localization.hourCycle=d(this.localization.locale));const o=this.localization.hourCycle.startsWith("h1")?"h24":this.localization.hourCycle,n=this.localization.hourCycle.startsWith("h2")?"h12":this.localization.hourCycle,r={y:this.year,yy:i({year:"2-digit"}),yyyy:this.year,M:i({month:"numeric"}),MM:this.monthFormatted,MMM:this.getAllMonths("short")[this.getMonth()],MMMM:this.getAllMonths()[this.getMonth()],d:this.date,dd:this.dateFormatted,ddd:i({weekday:"short"}),dddd:i({weekday:"long"}),H:this.getHours(),HH:this.getHoursFormatted(o),h:this.hours>12?this.hours-12:this.hours,hh:this.getHoursFormatted(n),t:this.meridiem(),T:this.meridiem().toUpperCase(),m:this.minutes,mm:this.minutesFormatted,s:this.seconds,ss:this.secondsFormatted,fff:this.getMilliseconds()};return s.replace(this.dateTimeRegex,((t,e)=>e||r[t])).replace(/\[/g,"").replace(/]/g,"")}}class c{constructor(){this.cache=new Map}locate(t){const e=this.cache.get(t);if(e)return e;const s=new t;return this.cache.set(t,s),s}}let h;const p=[{name:"calendar",className:i.css.daysContainer,unit:t.Unit.month,step:1},{name:"months",className:i.css.monthsContainer,unit:t.Unit.year,step:1},{name:"years",className:i.css.yearsContainer,unit:t.Unit.year,step:10},{name:"decades",className:i.css.decadesContainer,unit:t.Unit.year,step:100}];class u{constructor(){this._currentCalendarViewMode=0,this._viewDate=new l,this.minimumCalendarViewMode=0,this.currentView="calendar"}get currentCalendarViewMode(){return this._currentCalendarViewMode}set currentCalendarViewMode(t){this._currentCalendarViewMode=t,this.currentView=p[t].name}get viewDate(){return this._viewDate}set viewDate(t){this._viewDate=t,this.options&&(this.options.viewDate=t)}refreshCurrentView(){this.currentView=p[this.currentCalendarViewMode].name}get isTwelveHour(){return["h12","h11"].includes(this.options.localization.hourCycle)}}class m{constructor(){this.optionsStore=h.locate(u)}isValid(e,s){if(!this._enabledDisabledDatesIsValid(s,e))return!1;if(s!==t.Unit.month&&s!==t.Unit.year&&this.optionsStore.options.restrictions.daysOfWeekDisabled?.length>0&&-1!==this.optionsStore.options.restrictions.daysOfWeekDisabled.indexOf(e.weekDay))return!1;if(!this._minMaxIsValid(s,e))return!1;if(s===t.Unit.hours||s===t.Unit.minutes||s===t.Unit.seconds){if(!this._enabledDisabledHoursIsValid(e))return!1;if(0!==this.optionsStore.options.restrictions.disabledTimeIntervals?.filter((t=>e.isBetween(t.from,t.to))).length)return!1}return!0}_enabledDisabledDatesIsValid(e,s){return e!==t.Unit.date||!(this.optionsStore.options.restrictions.disabledDates.length>0&&this._isInDisabledDates(s))&&!(this.optionsStore.options.restrictions.enabledDates.length>0&&!this._isInEnabledDates(s))}_isInDisabledDates(e){return!(!this.optionsStore.options.restrictions.disabledDates||0===this.optionsStore.options.restrictions.disabledDates.length)&&!!this.optionsStore.options.restrictions.disabledDates.find((s=>s.isSame(e,t.Unit.date)))}_isInEnabledDates(e){return!this.optionsStore.options.restrictions.enabledDates||0===this.optionsStore.options.restrictions.enabledDates.length||!!this.optionsStore.options.restrictions.enabledDates.find((s=>s.isSame(e,t.Unit.date)))}_minMaxIsValid(t,e){return(!this.optionsStore.options.restrictions.minDate||!e.isBefore(this.optionsStore.options.restrictions.minDate,t))&&(!this.optionsStore.options.restrictions.maxDate||!e.isAfter(this.optionsStore.options.restrictions.maxDate,t))}_enabledDisabledHoursIsValid(t){return!(this.optionsStore.options.restrictions.disabledHours.length>0&&this._isInDisabledHours(t))&&!(this.optionsStore.options.restrictions.enabledHours.length>0&&!this._isInEnabledHours(t))}_isInDisabledHours(t){if(!this.optionsStore.options.restrictions.disabledHours||0===this.optionsStore.options.restrictions.disabledHours.length)return!1;const e=t.hours;return this.optionsStore.options.restrictions.disabledHours.includes(e)}_isInEnabledHours(t){if(!this.optionsStore.options.restrictions.enabledHours||0===this.optionsStore.options.restrictions.enabledHours.length)return!0;const e=t.hours;return this.optionsStore.options.restrictions.enabledHours.includes(e)}dateRangeIsValid(e,s,i){if(!this.optionsStore.options.dateRange)return!0;if(2!==e.length&&1!==s)return!0;const o=e[0].clone;if(o.isSame(i,t.Unit.date))return!0;for(o.manipulate(1,t.Unit.date);!o.isSame(i,t.Unit.date);){if(!this.isValid(o,t.Unit.date))return!1;o.manipulate(1,t.Unit.date)}return!0}}class y{constructor(){this.subscribers=[]}subscribe(t){return this.subscribers.push(t),this.unsubscribe.bind(this,this.subscribers.length-1)}unsubscribe(t){this.subscribers.splice(t,1)}emit(t){this.subscribers.forEach((e=>{e(t)}))}destroy(){this.subscribers=null,this.subscribers=[]}}class g{constructor(){this.triggerEvent=new y,this.viewUpdate=new y,this.updateDisplay=new y,this.action=new y,this.updateViewDate=new y}destroy(){this.triggerEvent.destroy(),this.viewUpdate.destroy(),this.updateDisplay.destroy(),this.action.destroy(),this.updateViewDate.destroy()}}const v={clear:"Clear selection",close:"Close the picker",dateFormats:a.dateFormats,dayViewHeaderFormat:{month:"long",year:"2-digit"},decrementHour:"Decrement Hour",decrementMinute:"Decrement Minute",decrementSecond:"Decrement Second",format:a.format,hourCycle:a.hourCycle,incrementHour:"Increment Hour",incrementMinute:"Increment Minute",incrementSecond:"Increment Second",locale:a.locale,maxWeekdayLength:0,nextCentury:"Next Century",nextDecade:"Next Decade",nextMonth:"Next Month",nextYear:"Next Year",ordinal:a.ordinal,pickHour:"Pick Hour",pickMinute:"Pick Minute",pickSecond:"Pick Second",previousCentury:"Previous Century",previousDecade:"Previous Decade",previousMonth:"Previous Month",previousYear:"Previous Year",selectDate:"Select Date",selectDecade:"Select Decade",selectMonth:"Select Month",selectTime:"Select Time",selectYear:"Select Year",startOfTheWeek:0,today:"Go to today",toggleMeridiem:"Toggle Meridiem",toggleAriaLabel:"Change date"},f={allowInputToggle:!1,container:void 0,dateRange:!1,debug:!1,defaultDate:void 0,display:{icons:{type:"icons",time:"fa-solid fa-clock",date:"fa-solid fa-calendar",up:"fa-solid fa-arrow-up",down:"fa-solid fa-arrow-down",previous:"fa-solid fa-chevron-left",next:"fa-solid fa-chevron-right",today:"fa-solid fa-calendar-check",clear:"fa-solid fa-trash",close:"fa-solid fa-xmark"},sideBySide:!1,calendarWeeks:!1,viewMode:"calendar",toolbarPlacement:"bottom",keepOpen:!1,buttons:{today:!1,clear:!1,close:!1},components:{calendar:!0,date:!0,month:!0,year:!0,decades:!0,clock:!0,hours:!0,minutes:!0,seconds:!1,useTwentyfourHour:void 0},inline:!1,theme:"auto",placement:"bottom",keyboardNavigation:!0},keepInvalid:!1,localization:v,meta:{},multipleDates:!1,multipleDatesSeparator:"; ",promptTimeOnDateChange:!1,promptTimeOnDateChangeTransitionDelay:200,restrictions:{minDate:void 0,maxDate:void 0,disabledDates:[],enabledDates:[],daysOfWeekDisabled:[],disabledTimeIntervals:[],disabledHours:[],enabledHours:[]},stepping:1,useCurrent:!0,viewDate:new l},S={...v};function w(t,e){if(!t)return null;if(t.constructor.name===l.name)return t;if(t.constructor.name===Date.name)return l.convert(t);if("string"==typeof t){const s=l.fromString(t,e);return"null"===JSON.stringify(s)?null:s}return null}function b(t,e,s){"string"==typeof t&&"input"!==e&&i.errorMessages.dateString();const o=w(t,s);return o||i.errorMessages.failedToParseDate(e,t,"input"===e),o}function D(t,e,s,o=a){Array.isArray(e)||i.errorMessages.typeMismatch(t,s,"array of DateTime or Date");for(let s=0;s<e.length;s++){const i=b(e[s],t,o);i.setLocalization(o),e[s]=i}}function k(t,e,s){Array.isArray(e)&&!e.some((t=>"number"!=typeof t))||i.errorMessages.typeMismatch(t,s,"array of numbers")}function _(t){return({value:e,localization:s})=>{const i=b(e,t,s);if(void 0!==i)return i.setLocalization(s),i}}function C(t){const e=_(t);return t=>void 0===t.value?t.value:e(t)}function E(t,e,s){return({value:o,providedType:a})=>void 0===o?[]:(k(t,o,a),o.some((t=>t<e||t>s))&&i.errorMessages.numbersOutOfRange(t,e,s),o)}function M(t){return E(t,0,23)}function L(t){return({value:e,providedType:s,localization:i})=>void 0===e?[]:(D(t,e,s,i),e)}function T(t){return({value:e,path:s})=>(t.includes(e)||i.errorMessages.unexpectedOptionValue(s.substring(1),e,t),e)}const U=Object.freeze({defaultDate:_("defaultDate"),viewDate:_("viewDate"),minDate:C("restrictions.minDate"),maxDate:C("restrictions.maxDate"),disabledHours:M("restrictions.disabledHours"),enabledHours:M("restrictions.enabledHours"),disabledDates:L("restrictions.disabledDates"),enabledDates:L("restrictions.enabledDates"),daysOfWeekDisabled:E("restrictions.daysOfWeekDisabled",0,6),disabledTimeIntervals:({key:t,value:e,providedType:s,localization:o})=>{if(void 0===e)return[];Array.isArray(e)||i.errorMessages.typeMismatch(t,s,"array of { from: DateTime|Date, to: DateTime|Date }");const a=e;for(let e=0;e<a.length;e++)Object.keys(a[e]).forEach((s=>{const i=`${t}[${e}].${s}`,n=b(a[e][s],i,o);n.setLocalization(o),a[e][s]=n}));return a},toolbarPlacement:T(["top","bottom","default"]),type:T(["icons","sprites"]),viewMode:T(["clock","calendar","months","years","decades"]),theme:T(["light","dark","auto"]),placement:T(["top","bottom"]),meta:({value:t})=>t,dayViewHeaderFormat:({value:t})=>t,container:({value:t,path:e})=>(t&&!(t instanceof HTMLElement||t instanceof Element||t?.appendChild)&&i.errorMessages.typeMismatch(e.substring(1),typeof t,"HTMLElement"),t),useTwentyfourHour:({value:t,path:e,providedType:s,defaultType:o})=>{if(i.errorMessages.deprecatedWarning("useTwentyfourHour",'Please use "options.localization.hourCycle" instead'),void 0===t||"boolean"===s)return t;i.errorMessages.typeMismatch(e,s,o)},hourCycle:T(["h11","h12","h23","h24"])}),A=({value:t,defaultType:e,providedType:s,path:o})=>{switch(e){case"boolean":return"true"===t||!0===t;case"number":return+t;case"string":return t.toString();case"object":return{};case"function":return t;default:i.errorMessages.typeMismatch(o,s,e)}};class V{static deepCopy(t){const e={};return Object.keys(t).forEach((s=>{const i=t[s];i instanceof l?e[s]=i.clone:i instanceof Date?e[s]=new Date(i.valueOf()):(e[s]=i,"object"!=typeof i||i instanceof HTMLElement||i instanceof Element||Array.isArray(i)||(e[s]=V.deepCopy(i)))})),e}static objectPath(t,e){return"."===t.charAt(0)&&(t=t.slice(1)),t?t.split(".").reduce(((t,e)=>V.isValue(t)||V.isValue(t[e])?t[e]:void 0),e):e}static spread(t,e,s,o=""){const a=V.objectPath(o,f),n=Object.keys(t).filter((t=>!Object.keys(a).includes(t)));if(n.length>0){const t=V.getFlattenDefaultOptions(),e=n.map((e=>{let s=`"${o}${o?".":""}${e}" is not a known option.`;const i=t.find((t=>t.includes(e)));return i&&(s+=` Did you mean "${i}"?`),s}));i.errorMessages.unexpectedOptions(e)}Object.keys(t).filter((t=>"__proto__"!==t&&"constructor"!==t)).forEach((i=>{"."===(o+=`.${i}`).charAt(0)&&(o=o.slice(1));const n=a[i],r=typeof t[i],d=typeof n,l=t[i];if(null==l)return e[i]=l,void(o=o.substring(0,o.lastIndexOf(`.${i}`)));"object"!=typeof n||Array.isArray(t[i])||n instanceof Date||V.ignoreProperties.includes(i)?e[i]=V.processKey(i,l,r,d,o,s):V.spread(t[i],e[i],s,o),o=o.substring(0,o.lastIndexOf(`.${i}`))}))}static processKey(t,e,s,i,o,a){return(U[(n={key:t,value:e,providedType:s,defaultType:i,path:o,localization:a}).key]||A)(n);var n}static _mergeOptions(t,e){const s=V.deepCopy(e),i="default"!==e.localization?.locale?e.localization:t?.localization||f.localization;return V.spread(t,s,i,""),s}static _dataToOptions(t,e){const s=JSON.parse(JSON.stringify(t.dataset));if(s?.tdTargetInput&&delete s.tdTargetInput,s?.tdTargetToggle&&delete s.tdTargetToggle,!s||0===Object.keys(s).length)return e;const o={},a=t=>{const e={};return Object.keys(t).forEach((t=>{e[t.toLowerCase()]=t})),e},n=this.normalizeObject(a),r=a(e);return Object.keys(s).filter((t=>t.startsWith(i.dataKey))).map((t=>t.substring(2))).forEach((t=>{let i=r[t.toLowerCase()];if(t.includes("_")){const a=t.split("_");i=r[a[0].toLowerCase()],void 0!==i&&e[i].constructor===Object&&(o[i]=n(a,1,e[i],s[`td${t}`]))}else void 0!==i&&(o[i]=s[`td${t}`])})),this._mergeOptions(o,e)}static normalizeObject(t){const e=(s,i,o,a)=>{const n=t(o)[s[i].toLowerCase()],r={};return void 0===n||(o[n]?.constructor===Object?(i++,r[n]=e(s,i,o[n],a)):r[n]=a),r};return e}static _dateTypeCheck(t,e){return w(t,e)}static _typeCheckDateArray(t,e,s,i){return D(t,e,s,i)}static _typeCheckNumberArray(t,e,s){return k(t,e,s)}static dateConversion(t,e,s){return b(t,e,s)}static getFlattenDefaultOptions(){if(this._flattenDefaults)return this._flattenDefaults;const t=(e,s=[])=>Array.isArray(e)?[]:Object(e)===e?Object.entries(e).flatMap((([e,i])=>t(i,[...s,e]))):s.join(".");return this._flattenDefaults=t(f),this._flattenDefaults}static _validateConflicts(t){!t.display.sideBySide||t.display.components.clock&&(t.display.components.hours||t.display.components.minutes||t.display.components.seconds)||i.errorMessages.conflictingConfiguration("Cannot use side by side mode without the clock components"),t.restrictions.minDate&&t.restrictions.maxDate&&(t.restrictions.minDate.isAfter(t.restrictions.maxDate)&&i.errorMessages.conflictingConfiguration("minDate is after maxDate"),t.restrictions.maxDate.isBefore(t.restrictions.minDate)&&i.errorMessages.conflictingConfiguration("maxDate is before minDate")),t.multipleDates&&t.dateRange&&i.errorMessages.conflictingConfiguration('Cannot uss option "multipleDates" with "dateRange"')}}V.ignoreProperties=["meta","dayViewHeaderFormat","container","dateForms","ordinal"],V.isValue=t=>null!=t;class x{constructor(){this._dates=[],this.optionsStore=h.locate(u),this.validation=h.locate(m),this._eventEmitters=h.locate(g)}get picked(){return[...this._dates]}get lastPicked(){return this._dates[this.lastPickedIndex]?.clone}get lastPickedIndex(){return 0===this._dates.length?0:this._dates.length-1}formatInput(t){return t?(t.localization=this.optionsStore.options.localization,t.format()):""}parseInput(t){try{return V.dateConversion(t,"input",this.optionsStore.options.localization)}catch(e){return void this._eventEmitters.triggerEvent.emit({type:i.events.error,reason:i.errorMessages.failedToParseInput,format:this.optionsStore.options.localization.format,value:t})}}setFromInput(t,e){if(!t)return void this.setValue(void 0,e);const s=this.parseInput(t);s&&(s.setLocalization(this.optionsStore.options.localization),this.setValue(s,e))}add(t){this._dates.push(t)}isPicked(t,e){if(!l.isValid(t))return!1;if(!e)return void 0!==this._dates.find((e=>e.isSame(t)));const s=r(e),i=t.format(s);return void 0!==this._dates.map((t=>t.format(s))).find((t=>t===i))}pickedIndex(t,e){if(!l.isValid(t))return-1;if(!e)return this._dates.map((t=>t.valueOf())).indexOf(t.valueOf());const s=r(e),i=t.format(s);return this._dates.map((t=>t.format(s))).indexOf(i)}clear(){this.optionsStore.unset=!0,this._eventEmitters.triggerEvent.emit({type:i.events.change,date:void 0,oldDate:this.lastPicked,isClear:!0,isValid:!0}),this._dates=[],this.optionsStore.input&&(this.optionsStore.input.value=""),this._eventEmitters.updateDisplay.emit("all")}static getStartEndYear(t,e){const s=t/10,i=Math.floor(e/t)*t;return[i,i+9*s,Math.floor(e/s)*s]}updateInput(t){if(!this.optionsStore.input)return;let e=this.formatInput(t);(this.optionsStore.options.multipleDates||this.optionsStore.options.dateRange)&&(e=this._dates.map((t=>this.formatInput(t))).join(this.optionsStore.options.multipleDatesSeparator)),this.optionsStore.input.value!=e&&(this.optionsStore.input.value=e)}setValue(e,s){const o=void 0===s,a=!e&&o;let n=this.optionsStore.unset?null:this._dates[s]?.clone;if(!n&&!this.optionsStore.unset&&o&&a&&(n=this.lastPicked),e&&n?.isSame(e))return void this.updateInput(e);if(!e)return void this._setValueNull(a,s,n);s=s||0,e=e.clone,1!==this.optionsStore.options.stepping&&(e.minutes=Math.round(e.minutes/this.optionsStore.options.stepping)*this.optionsStore.options.stepping,e.startOf(t.Unit.minutes));const r=t=>{this._dates[s]=e,this._eventEmitters.updateViewDate.emit(e.clone),this.updateInput(e),this.optionsStore.unset=!1,this._eventEmitters.updateDisplay.emit("all"),this._eventEmitters.triggerEvent.emit({type:i.events.change,date:e,oldDate:n,isClear:a,isValid:t})};this.validation.isValid(e)&&this.validation.dateRangeIsValid(this.picked,s,e)?r(!0):(this.optionsStore.options.keepInvalid&&r(!1),this._eventEmitters.triggerEvent.emit({type:i.events.error,reason:i.errorMessages.failedToSetInvalidDate,date:e,oldDate:n}))}_setValueNull(t,e,s){!this.optionsStore.options.multipleDates||1===this._dates.length||t?(this.optionsStore.unset=!0,this._dates=[]):this._dates.splice(e,1),this.updateInput(),this._eventEmitters.triggerEvent.emit({type:i.events.change,date:void 0,oldDate:s,isClear:t,isValid:!0}),this._eventEmitters.updateDisplay.emit("all")}}var $;!function(t){t.next="next",t.previous="previous",t.changeCalendarView="changeCalendarView",t.selectMonth="selectMonth",t.selectYear="selectYear",t.selectDecade="selectDecade",t.selectDay="selectDay",t.selectHour="selectHour",t.selectMinute="selectMinute",t.selectSecond="selectSecond",t.incrementHours="incrementHours",t.incrementMinutes="incrementMinutes",t.incrementSeconds="incrementSeconds",t.decrementHours="decrementHours",t.decrementMinutes="decrementMinutes",t.decrementSeconds="decrementSeconds",t.toggleMeridiem="toggleMeridiem",t.togglePicker="togglePicker",t.showClock="showClock",t.showHours="showHours",t.showMinutes="showMinutes",t.showSeconds="showSeconds",t.clear="clear",t.close="close",t.today="today"}($||($={}));var I=$;class O{constructor(){this.optionsStore=h.locate(u),this.dates=h.locate(x),this.validation=h.locate(m)}getPicker(){const t=document.createElement("div");if(t.classList.add(i.css.daysContainer),t.role="grid",t.append(...this._daysOfTheWeek()),this.optionsStore.options.display.calendarWeeks){const e=document.createElement("div");e.classList.add(i.css.calendarWeeks,i.css.noHighlight),t.appendChild(e)}const{rangeHoverEvent:e,rangeHoverOutEvent:s}=this.handleMouseEvents(t);for(let o=0;o<42;o++){if(0!==o&&o%7==0&&this.optionsStore.options.display.calendarWeeks){const e=document.createElement("div");e.classList.add(i.css.calendarWeeks,i.css.noHighlight),e.tabIndex=-1,t.appendChild(e)}const a=document.createElement("div");a.setAttribute("data-action",I.selectDay),a.role="gridcell",a.tabIndex=-1,t.appendChild(a),matchMedia("(hover: hover)").matches&&this.optionsStore.options.dateRange&&(a.addEventListener("mouseover",e),a.addEventListener("mouseout",s))}return t}_update(e,s){const o=e.getElementsByClassName(i.css.daysContainer)[0];this._updateCalendarView(o);const a=this.optionsStore.viewDate.clone.startOf(t.Unit.month).startOf("weekDay",this.optionsStore.options.localization.startOfTheWeek).manipulate(12,t.Unit.hours);this._handleCalendarWeeks(o,a.clone),o.querySelectorAll(`[data-action="${I.selectDay}"]`).forEach((e=>{const o=[];o.push(i.css.day),a.isBefore(this.optionsStore.viewDate,t.Unit.month)&&o.push(i.css.old),a.isAfter(this.optionsStore.viewDate,t.Unit.month)&&o.push(i.css.new),this.optionsStore.unset||this.optionsStore.options.dateRange||!this.dates.isPicked(a,t.Unit.date)||o.push(i.css.active),this.validation.isValid(a,t.Unit.date)||o.push(i.css.disabled),a.isSame(new l,t.Unit.date)&&o.push(i.css.today),0!==a.weekDay&&6!==a.weekDay||o.push(i.css.weekend),this._handleDateRange(a,o),s(t.Unit.date,a,o,e),e.classList.remove(...e.classList),e.classList.add(...o),e.setAttribute("data-value",a.dateToDataValue()),e.setAttribute("data-day",`${a.date}`),e.innerText=a.parts(void 0,{day:"numeric"}).day,e.ariaLabel=a.format("MMMM dd, yyyy"),a.manipulate(1,t.Unit.date)}))}_handleDateRange(e,s){const o=this.dates.picked[0],a=this.dates.picked[1];this.optionsStore.options.dateRange&&(e.isBetween(o,a,t.Unit.date)&&s.push(i.css.rangeIn),e.isSame(o,t.Unit.date)&&s.push(i.css.rangeStart),e.isSame(a,t.Unit.date)&&s.push(i.css.rangeEnd))}handleMouseEvents(e){return{rangeHoverEvent:s=>{const o=s?.currentTarget;if(1!==this.dates.picked.length||o.classList.contains(i.css.disabled))return;const a=[...e.querySelectorAll(".day")],n=o.getAttribute("data-value"),r=l.fromString(n,{format:"yyyy-MM-dd"}),d=a.findIndex((t=>t.getAttribute("data-value")===n)),c=this.dates.picked[0],h=this.dates.picked[1],p=c.dateToDataValue(),u=a.findIndex((t=>t.getAttribute("data-value")===p)),m=a[u];let y;r.isSame(c,t.Unit.date)||o.classList.remove(i.css.rangeStart),r.isSame(h,t.Unit.date)||o.classList.remove(i.css.rangeEnd),r.isBefore(c)?(o.classList.add(i.css.rangeStart),m?.classList.remove(i.css.rangeStart),m?.classList.add(i.css.rangeEnd),y=(t,e)=>e>d&&e<u):(o.classList.add(i.css.rangeEnd),m?.classList.remove(i.css.rangeEnd),m?.classList.add(i.css.rangeStart),y=(t,e)=>e<d&&e>u),a.filter(y).forEach((t=>{t.classList.add(i.css.rangeIn)}))},rangeHoverOutEvent:s=>{const o=[...e.querySelectorAll(".day")];if(1===this.dates.picked.length&&o.forEach((t=>t.classList.remove(i.css.rangeIn))),1!==this.dates.picked.length)return;const a=s?.currentTarget,n=new l(a.getAttribute("data-value"));n.isSame(this.dates.picked[0],t.Unit.date)||a.classList.remove(i.css.rangeStart),n.isSame(this.dates.picked[1],t.Unit.date)||a.classList.remove(i.css.rangeEnd)}}}_updateCalendarView(e){if("calendar"!==this.optionsStore.currentView)return;const[s,o,a]=e.parentElement.getElementsByClassName(i.css.calendarHeader)[0].getElementsByTagName("div");o.setAttribute(i.css.daysContainer,this.optionsStore.viewDate.format(this.optionsStore.options.localization.dayViewHeaderFormat)),this.optionsStore.options.display.components.month?o.classList.remove(i.css.disabled):o.classList.add(i.css.disabled),this.validation.isValid(this.optionsStore.viewDate.clone.manipulate(-1,t.Unit.month),t.Unit.month)?s.classList.remove(i.css.disabled):s.classList.add(i.css.disabled),this.validation.isValid(this.optionsStore.viewDate.clone.manipulate(1,t.Unit.month),t.Unit.month)?a.classList.remove(i.css.disabled):a.classList.add(i.css.disabled)}_daysOfTheWeek(){const e=this.optionsStore.viewDate.clone.startOf("weekDay",this.optionsStore.options.localization.startOfTheWeek).startOf(t.Unit.date),s=[];if(document.createElement("div"),this.optionsStore.options.display.calendarWeeks){const t=document.createElement("div");t.classList.add(i.css.calendarWeeks,i.css.noHighlight),t.innerText="#",s.push(t)}for(let o=0;o<7;o++){const o=document.createElement("div");o.classList.add(i.css.dayOfTheWeek,i.css.noHighlight);let a=e.format({weekday:"short"});this.optionsStore.options.localization.maxWeekdayLength>0&&(a=a.substring(0,this.optionsStore.options.localization.maxWeekdayLength)),o.innerText=a,o.ariaLabel=e.format({weekday:"long"}),e.manipulate(1,t.Unit.date),s.push(o)}return s}_handleCalendarWeeks(e,s){[...e.querySelectorAll(`.${i.css.calendarWeeks}`)].filter((t=>"#"!==t.innerText)).forEach((e=>{e.innerText=`${s.week}`,s.manipulate(7,t.Unit.date)}))}}class z{constructor(){this.optionsStore=h.locate(u),this.dates=h.locate(x),this.validation=h.locate(m)}getPicker(){const t=document.createElement("div");t.classList.add(i.css.monthsContainer);for(let e=0;e<12;e++){const e=document.createElement("div");e.tabIndex=-1,e.setAttribute("data-action",I.selectMonth),t.appendChild(e)}return t}_update(e,s){const o=e.getElementsByClassName(i.css.monthsContainer)[0];if("months"===this.optionsStore.currentView){const[e,s,a]=o.parentElement.getElementsByClassName(i.css.calendarHeader)[0].getElementsByTagName("div");s.setAttribute(i.css.monthsContainer,this.optionsStore.viewDate.format({year:"numeric"})),this.optionsStore.options.display.components.year?s.classList.remove(i.css.disabled):s.classList.add(i.css.disabled),this.validation.isValid(this.optionsStore.viewDate.clone.manipulate(-1,t.Unit.year),t.Unit.year)?e.classList.remove(i.css.disabled):e.classList.add(i.css.disabled),this.validation.isValid(this.optionsStore.viewDate.clone.manipulate(1,t.Unit.year),t.Unit.year)?a.classList.remove(i.css.disabled):a.classList.add(i.css.disabled)}const a=this.optionsStore.viewDate.clone.startOf(t.Unit.year);o.querySelectorAll(`[data-action="${I.selectMonth}"]`).forEach(((e,o)=>{const n=[];n.push(i.css.month),!this.optionsStore.unset&&this.dates.isPicked(a,t.Unit.month)&&n.push(i.css.active),this.validation.isValid(a,t.Unit.month)||n.push(i.css.disabled),s(t.Unit.month,a,n,e),e.classList.remove(...e.classList),e.classList.add(...n),e.setAttribute("data-value",`${o}`),e.innerText=`${a.format({month:"short"})}`,a.manipulate(1,t.Unit.month)}))}}class H{constructor(){this.optionsStore=h.locate(u),this.dates=h.locate(x),this.validation=h.locate(m)}getPicker(){const t=document.createElement("div");t.classList.add(i.css.yearsContainer);for(let e=0;e<12;e++){const e=document.createElement("div");e.tabIndex=-1,e.setAttribute("data-action",I.selectYear),t.appendChild(e)}return t}_update(e,s){this._startYear=this.optionsStore.viewDate.clone.manipulate(-1,t.Unit.year),this._endYear=this.optionsStore.viewDate.clone.manipulate(10,t.Unit.year);const o=e.getElementsByClassName(i.css.yearsContainer)[0];if("years"===this.optionsStore.currentView){const[e,s,a]=o.parentElement.getElementsByClassName(i.css.calendarHeader)[0].getElementsByTagName("div");s.setAttribute(i.css.yearsContainer,`${this._startYear.format({year:"numeric"})}-${this._endYear.format({year:"numeric"})}`),this.optionsStore.options.display.components.decades?s.classList.remove(i.css.disabled):s.classList.add(i.css.disabled),this.validation.isValid(this._startYear,t.Unit.year)?e.classList.remove(i.css.disabled):e.classList.add(i.css.disabled),this.validation.isValid(this._endYear,t.Unit.year)?a.classList.remove(i.css.disabled):a.classList.add(i.css.disabled)}const a=this.optionsStore.viewDate.clone.startOf(t.Unit.year).manipulate(-1,t.Unit.year);o.querySelectorAll(`[data-action="${I.selectYear}"]`).forEach((e=>{const o=[];o.push(i.css.year),!this.optionsStore.unset&&this.dates.isPicked(a,t.Unit.year)&&o.push(i.css.active),this.validation.isValid(a,t.Unit.year)||o.push(i.css.disabled),s(t.Unit.year,a,o,e),e.classList.remove(...e.classList),e.classList.add(...o),e.setAttribute("data-value",`${a.year}`),e.innerText=a.format({year:"numeric"}),a.manipulate(1,t.Unit.year)}))}}class P{constructor(){this.optionsStore=h.locate(u),this.dates=h.locate(x),this.validation=h.locate(m)}getPicker(){const t=document.createElement("div");t.classList.add(i.css.decadesContainer);for(let e=0;e<12;e++){const e=document.createElement("div");e.tabIndex=-1,e.setAttribute("data-action",I.selectDecade),t.appendChild(e)}return t}_update(e,s){const[o,a]=x.getStartEndYear(100,this.optionsStore.viewDate.year);this._startDecade=this.optionsStore.viewDate.clone.startOf(t.Unit.year),this._startDecade.year=o,this._endDecade=this.optionsStore.viewDate.clone.startOf(t.Unit.year),this._endDecade.year=a;const n=e.getElementsByClassName(i.css.decadesContainer)[0],[r,d,l]=n.parentElement.getElementsByClassName(i.css.calendarHeader)[0].getElementsByTagName("div"),c=this.validation.isValid(this._startDecade,t.Unit.year);"decades"===this.optionsStore.currentView&&(d.setAttribute(i.css.decadesContainer,`${this._startDecade.format({year:"numeric"})}-${this._endDecade.format({year:"numeric"})}`),c?r.classList.remove(i.css.disabled):r.classList.add(i.css.disabled),this.validation.isValid(this._endDecade,t.Unit.year)?l.classList.remove(i.css.disabled):l.classList.add(i.css.disabled));const h=this.dates.picked.map((t=>t.year));n.querySelectorAll(`[data-action="${I.selectDecade}"]`).forEach(((e,o)=>{if(0===o)return e.classList.add(i.css.old),void(this._startDecade.year-10<0&&(e.textContent=" ",r.classList.add(i.css.disabled),e.classList.add(i.css.disabled),e.setAttribute("data-value","")));const a=[];a.push(i.css.decade);const n=this._startDecade.year,d=this._startDecade.year+9;!this.optionsStore.unset&&h.filter((t=>t>=n&&t<=d)).length>0&&a.push(i.css.active),c||this.validation.isValid(this._startDecade.clone.manipulate(10,t.Unit.year),t.Unit.year)||a.push(i.css.disabled),s("decade",this._startDecade,a,e),e.classList.remove(...e.classList),e.classList.add(...a),e.setAttribute("data-value",`${this._startDecade.year}`),e.innerText=`${this._startDecade.format({year:"numeric"})}`,this._startDecade.manipulate(10,t.Unit.year)}))}}class N{constructor(){this._gridColumns="",this.optionsStore=h.locate(u),this.dates=h.locate(x),this.validation=h.locate(m)}getPicker(t){const e=document.createElement("div");return e.classList.add(i.css.clockContainer),e.append(...this._grid(t)),e}_update(e){const s=e.getElementsByClassName(i.css.clockContainer)[0];let o=this.dates.lastPicked?.clone;if(!o&&this.optionsStore.options.useCurrent&&(o=this.optionsStore.viewDate.clone),s.querySelectorAll(".disabled").forEach((t=>t.classList.remove(i.css.disabled))),this.optionsStore.options.display.components.hours&&(this.validation.isValid(this.optionsStore.viewDate.clone.manipulate(1,t.Unit.hours),t.Unit.hours)||s.querySelector(`[data-action=${I.incrementHours}]`).classList.add(i.css.disabled),this.validation.isValid(this.optionsStore.viewDate.clone.manipulate(-1,t.Unit.hours),t.Unit.hours)||s.querySelector(`[data-action=${I.decrementHours}]`).classList.add(i.css.disabled),s.querySelector(`[data-time-component=${t.Unit.hours}]`).innerText=o?o.getHoursFormatted(this.optionsStore.options.localization.hourCycle):"--"),this.optionsStore.options.display.components.minutes&&(this.validation.isValid(this.optionsStore.viewDate.clone.manipulate(1,t.Unit.minutes),t.Unit.minutes)||s.querySelector(`[data-action=${I.incrementMinutes}]`).classList.add(i.css.disabled),this.validation.isValid(this.optionsStore.viewDate.clone.manipulate(-1,t.Unit.minutes),t.Unit.minutes)||s.querySelector(`[data-action=${I.decrementMinutes}]`).classList.add(i.css.disabled),s.querySelector(`[data-time-component=${t.Unit.minutes}]`).innerText=o?o.minutesFormatted:"--"),this.optionsStore.options.display.components.seconds&&(this.validation.isValid(this.optionsStore.viewDate.clone.manipulate(1,t.Unit.seconds),t.Unit.seconds)||s.querySelector(`[data-action=${I.incrementSeconds}]`).classList.add(i.css.disabled),this.validation.isValid(this.optionsStore.viewDate.clone.manipulate(-1,t.Unit.seconds),t.Unit.seconds)||s.querySelector(`[data-action=${I.decrementSeconds}]`).classList.add(i.css.disabled),s.querySelector(`[data-time-component=${t.Unit.seconds}]`).innerText=o?o.secondsFormatted:"--"),this.optionsStore.isTwelveHour){const e=s.querySelector(`[data-action=${I.toggleMeridiem}]`),a=(o||this.optionsStore.viewDate).clone;e.innerText=a.meridiem(),this.validation.isValid(a.manipulate(a.hours>=12?-12:12,t.Unit.hours))?e.classList.remove(i.css.disabled):e.classList.add(i.css.disabled)}s.style.gridTemplateAreas=`"${this._gridColumns}"`}_grid(e){this._gridColumns="";const s=[],o=[],a=[],n=document.createElement("div"),r=e(this.optionsStore.options.display.icons.up),d=e(this.optionsStore.options.display.icons.down);n.classList.add(i.css.separator,i.css.noHighlight);const l=n.cloneNode(!0);l.innerHTML=":";const c=(t=!1)=>t?l.cloneNode(!0):n.cloneNode(!0);if(this.optionsStore.options.display.components.hours){let e=document.createElement("div");e.tabIndex=-1,e.setAttribute("title",this.optionsStore.options.localization.incrementHour),e.setAttribute("data-action",I.incrementHours),e.appendChild(r.cloneNode(!0)),s.push(e),e=document.createElement("div"),e.tabIndex=-1,e.setAttribute("title",this.optionsStore.options.localization.pickHour),e.setAttribute("data-action",I.showHours),e.setAttribute("data-time-component",t.Unit.hours),o.push(e),e=document.createElement("div"),e.tabIndex=-1,e.setAttribute("title",this.optionsStore.options.localization.decrementHour),e.setAttribute("data-action",I.decrementHours),e.appendChild(d.cloneNode(!0)),a.push(e),this._gridColumns+="a"}if(this.optionsStore.options.display.components.minutes){this._gridColumns+=" a",this.optionsStore.options.display.components.hours&&(s.push(c()),o.push(c(!0)),a.push(c()),this._gridColumns+=" a");let e=document.createElement("div");e.tabIndex=-1,e.setAttribute("title",this.optionsStore.options.localization.incrementMinute),e.setAttribute("data-action",I.incrementMinutes),e.appendChild(r.cloneNode(!0)),s.push(e),e=document.createElement("div"),e.tabIndex=-1,e.setAttribute("title",this.optionsStore.options.localization.pickMinute),e.setAttribute("data-action",I.showMinutes),e.setAttribute("data-time-component",t.Unit.minutes),o.push(e),e=document.createElement("div"),e.tabIndex=-1,e.setAttribute("title",this.optionsStore.options.localization.decrementMinute),e.setAttribute("data-action",I.decrementMinutes),e.appendChild(d.cloneNode(!0)),a.push(e)}if(this.optionsStore.options.display.components.seconds){this._gridColumns+=" a",this.optionsStore.options.display.components.minutes&&(s.push(c()),o.push(c(!0)),a.push(c()),this._gridColumns+=" a");let e=document.createElement("div");e.tabIndex=-1,e.setAttribute("title",this.optionsStore.options.localization.incrementSecond),e.setAttribute("data-action",I.incrementSeconds),e.appendChild(r.cloneNode(!0)),s.push(e),e=document.createElement("div"),e.tabIndex=-1,e.setAttribute("title",this.optionsStore.options.localization.pickSecond),e.setAttribute("data-action",I.showSeconds),e.setAttribute("data-time-component",t.Unit.seconds),o.push(e),e=document.createElement("div"),e.tabIndex=-1,e.setAttribute("title",this.optionsStore.options.localization.decrementSecond),e.setAttribute("data-action",I.decrementSeconds),e.appendChild(d.cloneNode(!0)),a.push(e)}if(this.optionsStore.isTwelveHour){this._gridColumns+=" a";let t=c();s.push(t);const e=document.createElement("button");e.tabIndex=-1,e.setAttribute("type","button"),e.setAttribute("title",this.optionsStore.options.localization.toggleMeridiem),e.setAttribute("data-action",I.toggleMeridiem),e.setAttribute("tabindex","-1"),i.css.toggleMeridiem.includes(",")?e.classList.add(...i.css.toggleMeridiem.split(",")):e.classList.add(i.css.toggleMeridiem),t=document.createElement("div"),t.classList.add(i.css.noHighlight),t.appendChild(e),o.push(t),t=c(),a.push(t)}return this._gridColumns=this._gridColumns.trim(),[...s,...o,...a]}}class F{constructor(){this.optionsStore=h.locate(u),this.validation=h.locate(m),this.dates=h.locate(x)}getPicker(){const t=document.createElement("div");t.classList.add(i.css.hourContainer);for(let e=0;e<(this.optionsStore.isTwelveHour?12:24);e++){const e=document.createElement("div");e.tabIndex=-1,e.setAttribute("data-action",I.selectHour),t.appendChild(e)}return t}_update(e,s){const o=e.getElementsByClassName(i.css.hourContainer)[0],a=this.optionsStore.viewDate.clone.startOf(t.Unit.date);o.querySelectorAll(`[data-action="${I.selectHour}"]`).forEach((e=>{const o=[];o.push(i.css.hour),this.validation.isValid(a,t.Unit.hours)||o.push(i.css.disabled),s(t.Unit.hours,a,o,e),e.classList.remove(...e.classList),e.classList.add(...o),e.setAttribute("data-value",`${a.hours}`),e.innerText=a.getHoursFormatted(this.optionsStore.options.localization.hourCycle),a.manipulate(1,t.Unit.hours)}))}}class B{constructor(){this.optionsStore=h.locate(u),this.validation=h.locate(m)}getPicker(){const t=document.createElement("div");t.classList.add(i.css.minuteContainer);const e=1===this.optionsStore.options.stepping?5:this.optionsStore.options.stepping;for(let s=0;s<60/e;s++){const e=document.createElement("div");e.tabIndex=-1,e.setAttribute("data-action",I.selectMinute),t.appendChild(e)}return t}_update(e,s){const o=e.getElementsByClassName(i.css.minuteContainer)[0],a=this.optionsStore.viewDate.clone.startOf(t.Unit.hours),n=1===this.optionsStore.options.stepping?5:this.optionsStore.options.stepping;o.querySelectorAll(`[data-action="${I.selectMinute}"]`).forEach((e=>{const o=[];o.push(i.css.minute),this.validation.isValid(a,t.Unit.minutes)||o.push(i.css.disabled),s(t.Unit.minutes,a,o,e),e.classList.remove(...e.classList),e.classList.add(...o),e.setAttribute("data-value",`${a.minutes}`),e.innerText=a.minutesFormatted,a.manipulate(n,t.Unit.minutes)}))}}class W{constructor(){this.optionsStore=h.locate(u),this.validation=h.locate(m)}getPicker(){const t=document.createElement("div");t.classList.add(i.css.secondContainer);for(let e=0;e<12;e++){const e=document.createElement("div");e.setAttribute("data-action",I.selectSecond),e.tabIndex=-1,t.appendChild(e)}return t}_update(e,s){const o=e.getElementsByClassName(i.css.secondContainer)[0],a=this.optionsStore.viewDate.clone.startOf(t.Unit.minutes);o.querySelectorAll(`[data-action="${I.selectSecond}"]`).forEach((e=>{const o=[];o.push(i.css.second),this.validation.isValid(a,t.Unit.seconds)||o.push(i.css.disabled),s(t.Unit.seconds,a,o,e),e.classList.remove(...e.classList),e.classList.add(...o),e.setAttribute("data-value",`${a.seconds}`),e.innerText=a.secondsFormatted,a.manipulate(5,t.Unit.seconds)}))}}class q{static toggle(t){t.classList.contains(i.css.show)?this.hide(t):this.show(t)}static showImmediately(t){t.classList.remove(i.css.collapsing),t.classList.add(i.css.collapse,i.css.show),t.style.height=""}static show(t){if(t.classList.contains(i.css.collapsing)||t.classList.contains(i.css.show))return;t.style.height="0",t.classList.remove(i.css.collapse),t.classList.add(i.css.collapsing),setTimeout((()=>{q.showImmediately(t)}),this.getTransitionDurationFromElement(t)),t.style.height=`${t.scrollHeight}px`}static hideImmediately(t){t&&(t.classList.remove(i.css.collapsing,i.css.show),t.classList.add(i.css.collapse))}static hide(t){if(t.classList.contains(i.css.collapsing)||!t.classList.contains(i.css.show))return;t.style.height=`${t.getBoundingClientRect().height}px`;t.offsetHeight,t.classList.remove(i.css.collapse,i.css.show),t.classList.add(i.css.collapsing),t.style.height="",setTimeout((()=>{q.hideImmediately(t)}),this.getTransitionDurationFromElement(t))}}q.getTransitionDurationFromElement=t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:s}=window.getComputedStyle(t);const i=Number.parseFloat(e),o=Number.parseFloat(s);return i||o?(e=e.split(",")[0],s=s.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(s))):0};class Y{constructor(){this._isVisible=!1,this._keyboardEventBound=this._keyboardEvent.bind(this),this._documentClickEvent=t=>{this.optionsStore.options.debug||window.debug||!this._isVisible||t.composedPath().includes(this.widget)||t.composedPath()?.includes(this.optionsStore.element)||this.hide()},this._actionsClickEvent=t=>{this._eventEmitters.action.emit({e:t})},this.optionsStore=h.locate(u),this.validation=h.locate(m),this.dates=h.locate(x),this.dateDisplay=h.locate(O),this.monthDisplay=h.locate(z),this.yearDisplay=h.locate(H),this.decadeDisplay=h.locate(P),this.timeDisplay=h.locate(N),this.hourDisplay=h.locate(F),this.minuteDisplay=h.locate(B),this.secondDisplay=h.locate(W),this._eventEmitters=h.locate(g),this._widget=void 0,this._eventEmitters.updateDisplay.subscribe((t=>{this._update(t)}))}get widget(){return this._widget}get dateContainer(){return this.widget?.querySelector(`div.${i.css.dateContainer}`)}get timeContainer(){return this.widget?.querySelector(`div.${i.css.timeContainer}`)}get isVisible(){return this._isVisible}_update(e){if(this.widget)switch(e){case t.Unit.seconds:this.secondDisplay._update(this.widget,this.paint);break;case t.Unit.minutes:this.minuteDisplay._update(this.widget,this.paint);break;case t.Unit.hours:this.hourDisplay._update(this.widget,this.paint);break;case t.Unit.date:this.dateDisplay._update(this.widget,this.paint);break;case t.Unit.month:this.monthDisplay._update(this.widget,this.paint);break;case t.Unit.year:this.yearDisplay._update(this.widget,this.paint);break;case"decade":this.decadeDisplay._update(this.widget,this.paint);break;case"clock":if(!this._hasTime)break;this.timeDisplay._update(this.widget),this._update(t.Unit.hours),this._update(t.Unit.minutes),this._update(t.Unit.seconds);break;case"calendar":this._update(t.Unit.date),this._update(t.Unit.year),this._update(t.Unit.month),this.decadeDisplay._update(this.widget,this.paint),this._updateCalendarHeader();break;case"all":this._hasTime&&this._update("clock"),this._hasDate&&this._update("calendar")}}paint(t,e,s,i){}show(){if(null==this.widget){if(this._showSetDefaultIfNeeded(),this._buildWidget(),this._updateTheme(),this._showSetupViewMode(),this.optionsStore.options.display.inline)this.optionsStore.element.appendChild(this.widget);else{const t=this.optionsStore.options?.container||document.body,e=this.optionsStore.options?.display?.placement||"bottom";t.appendChild(this.widget);const s=this._handleFocus.bind(this);this.createPopup(this.optionsStore.element,this.widget,{modifiers:[{name:"eventListeners",enabled:!0},{name:"focusDate",enabled:!0,phase:"afterWrite",fn(){s()}}],placement:"rtl"===document.documentElement.dir?`${e}-end`:`${e}-start`}).then((()=>{this._handleFocus()}))}"clock"==this.optionsStore.options.display.viewMode&&this._eventEmitters.action.emit({e:null,action:I.showClock}),this.widget.querySelectorAll("[data-action]").forEach((t=>t.addEventListener("click",this._actionsClickEvent))),this._hasTime&&this.optionsStore.options.display.sideBySide&&(this.timeDisplay._update(this.widget),this.widget.getElementsByClassName(i.css.clockContainer)[0].style.display="grid")}this.widget.classList.add(i.css.show),this.optionsStore.options.display.inline||(this.updatePopup(),document.addEventListener("click",this._documentClickEvent)),this._eventEmitters.triggerEvent.emit({type:i.events.show}),this._isVisible=!0,this.optionsStore.options.display.keyboardNavigation&&this.widget.addEventListener("keydown",this._keyboardEventBound)}_showSetupViewMode(){const t=this._hasTime&&!this._hasDate;t?(this.optionsStore.currentView="clock",this._eventEmitters.action.emit({e:null,action:I.showClock})):this.optionsStore.currentCalendarViewMode||(this.optionsStore.currentCalendarViewMode=this.optionsStore.minimumCalendarViewMode),t||"clock"===this.optionsStore.options.display.viewMode||(this._hasTime&&(this.optionsStore.options.display.sideBySide?q.show(this.timeContainer):q.hideImmediately(this.timeContainer)),q.show(this.dateContainer)),this._hasDate&&this._showMode()}_showSetDefaultIfNeeded(){if(0==this.dates.picked.length){if(this.optionsStore.options.useCurrent&&!this.optionsStore.options.defaultDate){const e=(new l).setLocalization(this.optionsStore.options.localization);if(!this.optionsStore.options.keepInvalid){let s=0,i=1;for(this.optionsStore.options.restrictions.maxDate?.isBefore(e)&&(i=-1);!this.validation.isValid(e)&&s>31;)e.manipulate(i,t.Unit.date),s++}this.dates.setValue(e)}this.optionsStore.options.defaultDate&&this.dates.setValue(this.optionsStore.options.defaultDate)}}async createPopup(t,e,s){let i;if(window?.Popper)i=window?.Popper?.createPopper;else{const{createPopper:t}=await import("@popperjs/core");i=t}i&&(this._popperInstance=i(t,e,s))}updatePopup(){this._popperInstance&&this._popperInstance.update()}_showMode(t){if(!this.widget)return;if(t){const e=Math.max(this.optionsStore.minimumCalendarViewMode,Math.min(3,this.optionsStore.currentCalendarViewMode+t));if(this.optionsStore.currentCalendarViewMode==e)return;this.optionsStore.currentCalendarViewMode=e}this.widget.querySelectorAll(`.${i.css.dateContainer} > div:not(.${i.css.calendarHeader}), .${i.css.timeContainer} > div:not(.${i.css.clockContainer})`).forEach((t=>t.style.display="none"));const e=p[this.optionsStore.currentCalendarViewMode],s=this.widget.querySelector(`.${e.className}`);switch(e.className){case i.css.decadesContainer:this.decadeDisplay._update(this.widget,this.paint);break;case i.css.yearsContainer:this.yearDisplay._update(this.widget,this.paint);break;case i.css.monthsContainer:this.monthDisplay._update(this.widget,this.paint);break;case i.css.daysContainer:this.dateDisplay._update(this.widget,this.paint)}s.style.display="grid",this.optionsStore.options.display.sideBySide&&(this.widget.querySelectorAll(`.${i.css.clockContainer}`)[0].style.display="grid"),this._updateCalendarHeader(),this._eventEmitters.viewUpdate.emit(),this.findViewDateElement()?.focus()}_updateTheme(t){if(this.widget){if(t){if(this.optionsStore.options.display.theme===t)return;this.optionsStore.options.display.theme=t}this.widget.classList.remove("light","dark"),this.widget.classList.add(this._getThemeClass()),"auto"===this.optionsStore.options.display.theme?window.matchMedia(i.css.isDarkPreferredQuery).addEventListener("change",(()=>this._updateTheme())):window.matchMedia(i.css.isDarkPreferredQuery).removeEventListener("change",(()=>this._updateTheme()))}}_getThemeClass(){const t=this.optionsStore.options.display.theme||"auto",e=window.matchMedia&&window.matchMedia(i.css.isDarkPreferredQuery).matches;switch(t){case"light":return i.css.lightTheme;case"dark":return i.css.darkTheme;case"auto":return e?i.css.darkTheme:i.css.lightTheme}}_updateCalendarHeader(){if(!this._hasDate)return;const t=[...this.widget.querySelector(`.${i.css.dateContainer} div[style*="display: grid"]`).classList].find((t=>t.startsWith(i.css.dateContainer))),[e,s,o]=this.widget.getElementsByClassName(i.css.calendarHeader)[0].getElementsByTagName("div");switch(t){case i.css.decadesContainer:e.setAttribute("title",this.optionsStore.options.localization.previousCentury),s.setAttribute("title",""),o.setAttribute("title",this.optionsStore.options.localization.nextCentury);break;case i.css.yearsContainer:e.setAttribute("title",this.optionsStore.options.localization.previousDecade),s.setAttribute("title",this.optionsStore.options.localization.selectDecade),o.setAttribute("title",this.optionsStore.options.localization.nextDecade);break;case i.css.monthsContainer:e.setAttribute("title",this.optionsStore.options.localization.previousYear),s.setAttribute("title",this.optionsStore.options.localization.selectYear),o.setAttribute("title",this.optionsStore.options.localization.nextYear);break;case i.css.daysContainer:e.setAttribute("title",this.optionsStore.options.localization.previousMonth),s.setAttribute("title",this.optionsStore.options.localization.selectMonth),o.setAttribute("title",this.optionsStore.options.localization.nextMonth),s.setAttribute(t,this.optionsStore.viewDate.format(this.optionsStore.options.localization.dayViewHeaderFormat))}s.innerText=s.getAttribute(t)}hide(){this.widget&&this._isVisible&&(this.widget.classList.remove(i.css.show),this._isVisible&&(this._eventEmitters.triggerEvent.emit({type:i.events.hide,date:this.optionsStore.unset?null:this.dates.lastPicked?.clone}),this._isVisible=!1),document.removeEventListener("click",this._documentClickEvent),this.optionsStore.options.display.keyboardNavigation&&this.widget.removeEventListener("keydown",this._keyboardEventBound),this.optionsStore.toggle?this.optionsStore.toggle.focus():this.optionsStore.input&&this.optionsStore.input.focus())}toggle(){return this._isVisible?this.hide():this.show()}_dispose(){document.removeEventListener("click",this._documentClickEvent),this._popperInstance&&this._popperInstance.destroy(),this.widget&&(this.widget.querySelectorAll("[data-action]").forEach((t=>t.removeEventListener("click",this._actionsClickEvent))),this.widget.parentNode.removeChild(this.widget),this._widget=void 0)}_buildWidget(){const t=document.createElement("div");t.tabIndex=-1,t.classList.add(i.css.widget),t.setAttribute("role","widget");const e=document.createElement("div");e.tabIndex=-1,e.classList.add(i.css.dateContainer),e.append(this.getHeadTemplate(),this.decadeDisplay.getPicker(),this.yearDisplay.getPicker(),this.monthDisplay.getPicker(),this.dateDisplay.getPicker());const s=document.createElement("div");s.tabIndex=-1,s.classList.add(i.css.timeContainer),s.appendChild(this.timeDisplay.getPicker(this._iconTag.bind(this))),s.appendChild(this.hourDisplay.getPicker()),s.appendChild(this.minuteDisplay.getPicker()),s.appendChild(this.secondDisplay.getPicker());const o=document.createElement("div");if(o.tabIndex=-1,o.classList.add(i.css.toolbar),o.append(...this.getToolbarElements()),this.optionsStore.options.display.inline&&t.classList.add(i.css.inline),this.optionsStore.options.display.calendarWeeks&&t.classList.add("calendarWeeks"),this.optionsStore.options.display.sideBySide&&this._hasDateAndTime)return void this._buildWidgetSideBySide(t,e,s,o);"top"===this.optionsStore.options.display.toolbarPlacement&&t.appendChild(o);const a=(e,s,o,a)=>{e&&(s&&(o.classList.add(i.css.collapse),a&&o.classList.add(i.css.show)),t.appendChild(o))};a(this._hasDate,this._hasTime,e,"clock"!==this.optionsStore.options.display.viewMode),a(this._hasTime,this._hasDate,s,"clock"===this.optionsStore.options.display.viewMode),"bottom"===this.optionsStore.options.display.toolbarPlacement&&t.appendChild(o);const n=document.createElement("div");n.classList.add("arrow"),n.setAttribute("data-popper-arrow",""),t.appendChild(n),this._widget=t}_buildWidgetSideBySide(t,e,s,o){t.classList.add(i.css.sideBySide),"top"===this.optionsStore.options.display.toolbarPlacement&&t.appendChild(o);const a=document.createElement("div");a.classList.add("td-row"),e.classList.add("td-half"),s.classList.add("td-half"),a.appendChild(e),a.appendChild(s),t.appendChild(a),"bottom"===this.optionsStore.options.display.toolbarPlacement&&t.appendChild(o),this._widget=t}get _hasTime(){return this.optionsStore.options.display.components.clock&&(this.optionsStore.options.display.components.hours||this.optionsStore.options.display.components.minutes||this.optionsStore.options.display.components.seconds)}get _hasDate(){return this.optionsStore.options.display.components.calendar&&(this.optionsStore.options.display.components.year||this.optionsStore.options.display.components.month||this.optionsStore.options.display.components.date)}get _hasDateAndTime(){return this._hasDate&&this._hasTime}getToolbarElements(){const t=[];if(this.optionsStore.options.display.buttons.today){const e=document.createElement("div");e.tabIndex=-1,e.setAttribute("data-action",I.today),e.setAttribute("title",this.optionsStore.options.localization.today),e.appendChild(this._iconTag(this.optionsStore.options.display.icons.today)),t.push(e)}if(!this.optionsStore.options.display.sideBySide&&this._hasDate&&this._hasTime){let e,s;"clock"===this.optionsStore.options.display.viewMode?(e=this.optionsStore.options.localization.selectDate,s=this.optionsStore.options.display.icons.date):(e=this.optionsStore.options.localization.selectTime,s=this.optionsStore.options.display.icons.time);const i=document.createElement("div");i.tabIndex=-1,i.setAttribute("data-action",I.togglePicker),i.setAttribute("title",e),i.appendChild(this._iconTag(s)),t.push(i)}if(this.optionsStore.options.display.buttons.clear){const e=document.createElement("div");e.tabIndex=-1,e.setAttribute("data-action",I.clear),e.setAttribute("title",this.optionsStore.options.localization.clear),e.appendChild(this._iconTag(this.optionsStore.options.display.icons.clear)),t.push(e)}if(this.optionsStore.options.display.buttons.close){const e=document.createElement("div");e.tabIndex=-1,e.setAttribute("data-action",I.close),e.setAttribute("title",this.optionsStore.options.localization.close),e.appendChild(this._iconTag(this.optionsStore.options.display.icons.close)),t.push(e)}return t}getHeadTemplate(){const t=document.createElement("div");t.classList.add(i.css.calendarHeader);const e=document.createElement("div");e.classList.add(i.css.previous),e.setAttribute("data-action",I.previous),e.appendChild(this._iconTag(this.optionsStore.options.display.icons.previous)),e.tabIndex=-1;const s=document.createElement("div");s.classList.add(i.css.switch),s.setAttribute("data-action",I.changeCalendarView),s.tabIndex=-1;const o=document.createElement("div");return o.classList.add(i.css.next),o.setAttribute("data-action",I.next),o.appendChild(this._iconTag(this.optionsStore.options.display.icons.next)),o.tabIndex=-1,t.append(e,s,o),t}_iconTag(t){if("sprites"===this.optionsStore.options.display.icons.type){const e=document.createElementNS("http://www.w3.org/2000/svg","svg"),s=document.createElementNS("http://www.w3.org/2000/svg","use");return s.setAttribute("xlink:href",t),s.setAttribute("href",t),e.appendChild(s),e}const e=document.createElement("i");return e.classList.add(...t.split(" ")),e}_rebuild(){const t=this._isVisible;this._dispose(),t&&this.show()}refreshCurrentView(){switch(this._isVisible||this._dispose(),this.optionsStore.currentView){case"clock":this._update("clock");break;case"calendar":this._update(t.Unit.date);break;case"months":this._update(t.Unit.month);break;case"years":this._update(t.Unit.year);break;case"decades":this._update("decade")}}_keyboardEvent(t){if("clock"!==this.optionsStore.currentView)return this._handleKeyDownDate(t),!1;this._handleKeyDownClock(t)}findViewDateElement(){let t="",e="";switch(this.optionsStore.currentView){case"clock":break;case"calendar":t=i.css.daysContainer,e=this.optionsStore.viewDate.dateToDataValue();break;case"months":t=i.css.monthsContainer,e=this.optionsStore.viewDate.month.toString();break;case"years":t=i.css.yearsContainer,e=this.optionsStore.viewDate.year.toString();break;case"decades":t=i.css.decadesContainer,e=(10*Math.floor(this.optionsStore.viewDate.year/10)).toString()}return this.widget.querySelector(`.${t} > div[data-value="${e}"]`)}_handleKeyDownDate(e){let s=!1;const i=document.activeElement;let o=null,a=7,n=1,r=1;const d=this.optionsStore.currentView;switch(d){case"calendar":o=t.Unit.date;break;case"months":o=t.Unit.month,a=3,n=1;break;case"years":o=t.Unit.year,a=3,n=1;break;case"decades":o=t.Unit.year,a=30,n=10}switch(e.key){case"Esc":case"Escape":this._eventEmitters.action.emit({e:null,action:I.close});break;case" ":case"Enter":return i.click(),e.stopPropagation(),void e.preventDefault();case"Tab":return void this._handleTab(i,e);case"Right":case"ArrowRight":r=n,s=!0;break;case"Left":case"ArrowLeft":s=!0,r=-n;break;case"Down":case"ArrowDown":s=!0,r=a;break;case"Up":case"ArrowUp":s=!0,r=-a;break;case"PageDown":switch(d){case"calendar":o=e.shiftKey?t.Unit.year:t.Unit.month,r=1;break;case"months":o=t.Unit.year,r=e.shiftKey?10:1;break;case"years":case"decades":o=t.Unit.year,r=e.shiftKey?100:10}s=!0;break;case"PageUp":switch(d){case"calendar":o=e.shiftKey?t.Unit.year:t.Unit.month,r=-1;break;case"months":o=t.Unit.year,r=-(e.shiftKey?10:1);break;case"years":case"decades":o=t.Unit.year,r=-(e.shiftKey?100:10)}s=!0;break;case"Home":this.optionsStore.viewDate=this.optionsStore.viewDate.clone.startOf("weekDay",this.optionsStore.options.localization.startOfTheWeek),s=!0,o=null;break;case"End":this.optionsStore.viewDate=this.optionsStore.viewDate.clone.endOf("weekDay",this.optionsStore.options.localization.startOfTheWeek),s=!0,o=null}if(!s)return;let l=this.optionsStore.viewDate;o&&(l=l.clone.manipulate(r,o)),this._eventEmitters.updateViewDate.emit(l);const c=this.findViewDateElement();c&&c.focus(),e.stopPropagation(),e.preventDefault()}_handleKeyDownClock(t){let e=!1;const s=document.activeElement,o=this.widget.querySelector(`.${i.css.timeContainer} > div[style*="display: grid"]`);let a=i.css.clockContainer;switch(o.classList.contains(i.css.hourContainer)&&(a=i.css.hourContainer),o.classList.contains(i.css.minuteContainer)&&(a=i.css.minuteContainer),o.classList.contains(i.css.secondContainer)&&(a=i.css.secondContainer),t.key){case"Esc":case"Escape":this._eventEmitters.action.emit({e:null,action:I.close});break;case" ":case"Enter":return s.click(),t.stopPropagation(),void t.preventDefault();case"Tab":return void this._handleTab(s,t)}if(a===i.css.clockContainer)return;const n=[...o.querySelectorAll("div")],r=n.indexOf(document.activeElement);let d;switch(t.key){case"Right":case"ArrowRight":d=r<n.length-1?r+1:null,e=!0;break;case"Left":case"ArrowLeft":e=!0,d=r>0?r-1:null;break;case"Down":case"ArrowDown":d=r+4<n.length?r+4:null,e=!0;break;case"Up":case"ArrowUp":d=r-4>=0?r-4:null,e=!0}e&&(null!=d&&n[d].focus(),t.stopPropagation(),t.preventDefault())}_handleTab(t,e){const s=e.shiftKey,o=()=>{const t=this.widget.querySelectorAll(`.${i.css.calendarHeader} > div`);a.push(...t)},a=[];switch(console.log(this.optionsStore.currentView),this.optionsStore.currentView){case"clock":{a.push(...this.widget.querySelectorAll(`.${i.css.timeContainer} > div[style*="display: grid"] > div[data-action]`));const t=this.widget.querySelectorAll(`.${i.css.clockContainer}`)[0];"grid"===t?.style.display&&a.push(...this.widget.querySelectorAll(`.${i.css.toggleMeridiem}`))}break;case"calendar":case"months":case"years":case"decades":o(),a.push(this.findViewDateElement())}const n=this.widget.querySelectorAll(`.${i.css.toolbar} > div`);a.push(...n);const r=a.indexOf(t);-1!==r&&(s?0===r?a[a.length-1].focus():a[r-1].focus():r===a.length-1?a[0].focus():a[r+1].focus(),e.stopPropagation(),e.preventDefault())}_handleFocus(){"clock"===this.optionsStore.currentView?this._handleFocusClock():this.findViewDateElement().focus()}_handleFocusClock(){this.widget.querySelector(`.${i.css.timeContainer} > div[style*="display: grid"]`).children[0].focus()}}class j{constructor(){this.optionsStore=h.locate(u),this.dates=h.locate(x),this.validation=h.locate(m),this.display=h.locate(Y),this._eventEmitters=h.locate(g),this._eventEmitters.action.subscribe((t=>{this.do(t.e,t.action)}))}do(e,s){const o=e?.currentTarget;if(o?.classList?.contains(i.css.disabled))return;s=s||o?.dataset?.action;const a=(this.dates.lastPicked||this.optionsStore.viewDate).clone;switch(s){case I.next:case I.previous:this.handleNextPrevious(s);break;case I.changeCalendarView:this.display._showMode(1),this.display._updateCalendarHeader();break;case I.selectMonth:case I.selectYear:case I.selectDecade:this.handleSelectCalendarMode(s,o);break;case I.selectDay:this.handleSelectDay(o);break;case I.selectHour:{let t=+o.dataset.value;a.hours>=12&&this.optionsStore.isTwelveHour&&(t+=12),a.hours=t,this.dates.setValue(a,this.dates.lastPickedIndex),this.hideOrClock(e);break}case I.selectMinute:a.minutes=+o.dataset.value,this.dates.setValue(a,this.dates.lastPickedIndex),this.hideOrClock(e);break;case I.selectSecond:a.seconds=+o.dataset.value,this.dates.setValue(a,this.dates.lastPickedIndex),this.hideOrClock(e);break;case I.incrementHours:this.manipulateAndSet(a,t.Unit.hours);break;case I.incrementMinutes:this.manipulateAndSet(a,t.Unit.minutes,this.optionsStore.options.stepping);break;case I.incrementSeconds:this.manipulateAndSet(a,t.Unit.seconds);break;case I.decrementHours:this.manipulateAndSet(a,t.Unit.hours,-1);break;case I.decrementMinutes:this.manipulateAndSet(a,t.Unit.minutes,-1*this.optionsStore.options.stepping);break;case I.decrementSeconds:this.manipulateAndSet(a,t.Unit.seconds,-1);break;case I.toggleMeridiem:this.manipulateAndSet(a,t.Unit.hours,this.dates.lastPicked.hours>=12?-12:12);break;case I.togglePicker:this.handleToggle(o);break;case I.showClock:case I.showHours:case I.showMinutes:case I.showSeconds:this.optionsStore.options.display.sideBySide||"clock"===this.optionsStore.currentView||(q.hideImmediately(this.display.dateContainer),q.showImmediately(this.display.timeContainer)),this.handleShowClockContainers(s);break;case I.clear:this.dates.setValue(null),this.display._updateCalendarHeader();break;case I.close:this.display.hide();break;case I.today:{const e=(new l).setLocalization(this.optionsStore.options.localization);if(this._eventEmitters.updateViewDate.emit(e),!this.validation.isValid(e,t.Unit.date))break;this.optionsStore.options.dateRange?this.handleDateRange(e):this.optionsStore.options.multipleDates?this.handleMultiDate(e):this.dates.setValue(e,this.dates.lastPickedIndex);break}}}handleShowClockContainers(e){if(!this.display._hasTime)return void i.errorMessages.throwError("Cannot show clock containers when time is disabled.");this.optionsStore.currentView="clock",this.display.widget.querySelectorAll(`.${i.css.timeContainer} > div`).forEach((t=>t.style.display="none"));let s="";switch(e){case I.showClock:s=i.css.clockContainer,this.display._update("clock");break;case I.showHours:s=i.css.hourContainer,this.display._update(t.Unit.hours);break;case I.showMinutes:s=i.css.minuteContainer,this.display._update(t.Unit.minutes);break;case I.showSeconds:s=i.css.secondContainer,this.display._update(t.Unit.seconds)}const o=this.display.widget.getElementsByClassName(s)[0];o.style.display="grid",o.children[0]?.focus()}handleNextPrevious(t){const{unit:e,step:s}=p[this.optionsStore.currentCalendarViewMode];t===I.next?this.optionsStore.viewDate.manipulate(s,e):this.optionsStore.viewDate.manipulate(-1*s,e),this._eventEmitters.viewUpdate.emit(),this.display._showMode()}hideOrClock(t){this.optionsStore.isTwelveHour||this.optionsStore.options.display.components.minutes||this.optionsStore.options.display.keepOpen||this.optionsStore.options.display.inline?this.do(t,I.showClock):this.display.hide()}manipulateAndSet(t,e,s=1){const i=t.manipulate(s,e);this.validation.isValid(i,e)&&this.dates.setValue(i,this.dates.lastPickedIndex)}handleSelectCalendarMode(t,e){const s=+e.dataset.value;switch(t){case I.selectMonth:this.optionsStore.viewDate.month=s;break;case I.selectYear:case I.selectDecade:this.optionsStore.viewDate.year=s}this.optionsStore.currentCalendarViewMode===this.optionsStore.minimumCalendarViewMode?(this.dates.setValue(this.optionsStore.viewDate,this.dates.lastPickedIndex),this.optionsStore.options.display.inline||this.display.hide()):this.display._showMode(-1)}handleToggle(t){t.getAttribute("title")===this.optionsStore.options.localization.selectDate?(t.setAttribute("title",this.optionsStore.options.localization.selectTime),t.innerHTML=this.display._iconTag(this.optionsStore.options.display.icons.time).outerHTML,this.display._updateCalendarHeader(),this.optionsStore.refreshCurrentView()):(t.setAttribute("title",this.optionsStore.options.localization.selectDate),t.innerHTML=this.display._iconTag(this.optionsStore.options.display.icons.date).outerHTML,this.display._hasTime&&(this.handleShowClockContainers(I.showClock),this.display._update("clock"))),this.display.widget.querySelectorAll(`.${i.css.dateContainer}, .${i.css.timeContainer}`).forEach((t=>q.toggle(t))),this._eventEmitters.viewUpdate.emit();const e=this.display.widget.querySelector(`.${i.css.collapsing} > div[style*="display: grid"]`);e?.focus()}handleSelectDay(e){const s=this.optionsStore.viewDate.clone;e.classList.contains(i.css.old)&&s.manipulate(-1,t.Unit.month),e.classList.contains(i.css.new)&&s.manipulate(1,t.Unit.month),s.date=+e.dataset.day,this.optionsStore.options.dateRange?this.handleDateRange(s):this.optionsStore.options.multipleDates?this.handleMultiDate(s):this.dates.setValue(s,this.dates.lastPickedIndex),this.display._hasTime||this.optionsStore.options.display.keepOpen||this.optionsStore.options.display.inline||this.optionsStore.options.multipleDates||this.optionsStore.options.dateRange||this.display.hide()}handleMultiDate(e){let s=this.dates.pickedIndex(e,t.Unit.date);-1!==s?this.dates.setValue(null,s):(s=this.dates.lastPickedIndex+1,0===this.dates.picked.length&&(s=0),this.dates.setValue(e,s))}handleDateRange(t){switch(this.dates.picked.length){case 2:this.dates.clear();break;case 1:{const e=this.dates.picked[0];if(t.getTime()===e.getTime()){this.dates.clear();break}return t.isBefore(e)?(this.dates.setValue(t,0),void this.dates.setValue(e,1)):void this.dates.setValue(t,1)}}this.dates.setValue(t,0)}}class R{constructor(t,e={}){this._subscribers={},this._isDisabled=!1,this._inputChangeEvent=t=>{const e=t?.detail;if(e)return;const s=()=>{this.dates.lastPicked&&(this.optionsStore.viewDate=this.dates.lastPicked.clone)},i=this.optionsStore.input.value;if(this.optionsStore.options.multipleDates||this.optionsStore.options.dateRange)try{const t=i.split(this.optionsStore.options.multipleDatesSeparator);for(let e=0;e<t.length;e++)this.dates.setFromInput(t[e],e);s()}catch{console.warn("TD: Something went wrong trying to set the multipleDates values from the input field.")}else this.dates.setFromInput(i,0),s()},this._toggleClickEvent=()=>{this.optionsStore.element?.disabled||this.optionsStore.input?.disabled||"INPUT"===this.optionsStore.toggle.nodeName&&"text"===this.optionsStore.toggle?.type&&this.optionsStore.options.allowInputToggle||this.toggle()},this._openClickEvent=()=>{this.optionsStore.element?.disabled||this.optionsStore.input?.disabled||this.display.isVisible||this.show()},h=new c,this._eventEmitters=h.locate(g),this.optionsStore=h.locate(u),this.display=h.locate(Y),this.dates=h.locate(x),this.actions=h.locate(j),t||i.errorMessages.mustProvideElement(),this.optionsStore.element=t,this._initializeOptions(e,f,!0),this.optionsStore.viewDate.setLocalization(this.optionsStore.options.localization),this.optionsStore.unset=!0,this._initializeInput(),this._initializeToggle(),this.optionsStore.options.display.inline&&this.display.show(),this._eventEmitters.triggerEvent.subscribe((t=>{this._triggerEvent(t)})),this._eventEmitters.viewUpdate.subscribe((()=>{this._viewUpdate()})),this._eventEmitters.updateViewDate.subscribe((t=>{this.viewDate=t}))}get viewDate(){return this.optionsStore.viewDate}set viewDate(t){this.optionsStore.viewDate=t,this.optionsStore.viewDate.setLocalization(this.optionsStore.options.localization),this.display._update("clock"===this.optionsStore.currentView?"clock":"calendar")}updateOptions(t,e=!1){e?this._initializeOptions(t,f):this._initializeOptions(t,this.optionsStore.options),this.optionsStore.viewDate.setLocalization(this.optionsStore.options.localization),this.display.refreshCurrentView()}toggle(){this._isDisabled||this.display.toggle()}show(){this._isDisabled||this.display.show()}hide(){this.display.hide()}disable(){this._isDisabled=!0,this.optionsStore.input?.setAttribute("disabled","disabled"),this.display.hide()}enable(){this._isDisabled=!1,this.optionsStore.input?.removeAttribute("disabled")}clear(){this.optionsStore.input.value="",this.dates.clear()}subscribe(t,e){let s;"string"==typeof t&&(t=[t]),s=Array.isArray(e)?e:[e],t.length!==s.length&&i.errorMessages.subscribeMismatch();const o=[];for(let e=0;e<t.length;e++){const i=t[e];if(Array.isArray(this._subscribers[i])||(this._subscribers[i]=[]),this._subscribers[i].push(s[e]),o.push({unsubscribe:this._unsubscribe.bind(this,i,this._subscribers[i].length-1)}),1===t.length)return o[0]}return o}dispose(){this.display.hide(),this.display._dispose(),this._eventEmitters.destroy(),this.optionsStore.input?.removeEventListener("change",this._inputChangeEvent),this.optionsStore.options.allowInputToggle&&(this.optionsStore.input?.removeEventListener("click",this._openClickEvent),this.optionsStore.input?.removeEventListener("focus",this._openClickEvent)),this.optionsStore.toggle?.removeEventListener("click",this._toggleClickEvent),this.optionsStore.toggle?.removeEventListener("keydown",this._handleToggleKeydown),this._subscribers={}}locale(t){const e=K[t];e&&this.updateOptions({localization:e})}_triggerEvent(t){t.viewMode=this.optionsStore.currentView;const e=t.type===i.events.change;if(e){const{date:e,oldDate:s,isClear:i}=t;if(e&&s&&e.isSame(s)||!i&&!e&&!s)return;if(this._handleAfterChangeEvent(t),this.optionsStore.input?.dispatchEvent(new CustomEvent("change",{detail:t})),this.optionsStore.toggle){let t=this.optionsStore.options.localization.toggleAriaLabel;if(this.dates.picked.length>0){t=`${t}, ${this.dates.picked.map((t=>t.format())).join(", ")}`}this.optionsStore.toggle.ariaLabel=t}}if(this.optionsStore.element.dispatchEvent(new CustomEvent(t.type,{detail:t})),window.jQuery){const s=window.jQuery;e&&this.optionsStore.input?s(this.optionsStore.input).trigger(t):s(this.optionsStore.element).trigger(t)}this._publish(t)}_publish(t){Array.isArray(this._subscribers[t.type])&&this._subscribers[t.type].forEach((e=>{e(t)}))}_viewUpdate(){this._triggerEvent({type:i.events.update,viewDate:this.optionsStore.viewDate.clone})}_unsubscribe(t,e){this._subscribers[t].splice(e,1)}_initializeOptions(t,e,s=!1){let i=V.deepCopy(t);i=V._mergeOptions(i,e),s&&(i=V._dataToOptions(this.optionsStore.element,i)),V._validateConflicts(i),i.viewDate=i.viewDate.setLocalization(i.localization),this.optionsStore.viewDate.isSame(i.viewDate)||(this.optionsStore.viewDate=i.viewDate),i.display.components.year&&(this.optionsStore.minimumCalendarViewMode=2),i.display.components.month&&(this.optionsStore.minimumCalendarViewMode=1),i.display.components.date&&(this.optionsStore.minimumCalendarViewMode=0),this.optionsStore.currentCalendarViewMode=Math.max(this.optionsStore.minimumCalendarViewMode,this.optionsStore.currentCalendarViewMode),p[this.optionsStore.currentCalendarViewMode].name!==i.display.viewMode&&(this.optionsStore.currentCalendarViewMode=Math.max(p.findIndex((t=>t.name===i.display.viewMode)),this.optionsStore.minimumCalendarViewMode)),this.display?.isVisible&&this.display._update("all"),i.display.components.useTwentyfourHour&&void 0===i.localization.hourCycle?i.localization.hourCycle="h24":void 0===i.localization.hourCycle&&(i.localization.hourCycle=d(i.localization.locale)),this.optionsStore.options=i,i.restrictions.maxDate&&this.viewDate.isAfter(i.restrictions.maxDate)&&(this.viewDate=i.restrictions.maxDate.clone),i.restrictions.minDate&&this.viewDate.isBefore(i.restrictions.minDate)&&(this.viewDate=i.restrictions.minDate.clone)}_initializeInput(){if("INPUT"==this.optionsStore.element.tagName)this.optionsStore.input=this.optionsStore.element;else{const t=this.optionsStore.element.dataset.tdTargetInput;this.optionsStore.input=null==t||"nearest"==t?this.optionsStore.element.querySelector("input"):this.optionsStore.element.querySelector(t)}this.optionsStore.input&&(!this.optionsStore.input.value&&this.optionsStore.options.defaultDate&&(this.optionsStore.input.value=this.dates.formatInput(this.optionsStore.options.defaultDate)),this.optionsStore.input.addEventListener("change",this._inputChangeEvent),this.optionsStore.options.allowInputToggle&&(this.optionsStore.input.addEventListener("click",this._openClickEvent),this.optionsStore.input.addEventListener("focus",this._openClickEvent)),this.optionsStore.input.value&&this._inputChangeEvent())}_initializeToggle(){if(this.optionsStore.options.display.inline)return;let t=this.optionsStore.element.dataset.tdTargetToggle;"nearest"==t&&(t='[data-td-toggle="datetimepicker"]'),this.optionsStore.toggle=null==t?this.optionsStore.element:this.optionsStore.element.querySelector(t),null!=this.optionsStore.toggle&&(this.optionsStore.toggle.addEventListener("click",this._toggleClickEvent),this.optionsStore.toggle!==this.optionsStore.element&&this.optionsStore.toggle.addEventListener("keydown",this._handleToggleKeydown.bind(this)))}_handleAfterChangeEvent(t){!this.optionsStore.options.promptTimeOnDateChange||this.optionsStore.options.multipleDates||this.optionsStore.options.display.inline||this.optionsStore.options.display.sideBySide||!this.display._hasTime||this.display.widget?.getElementsByClassName(i.css.show)[0].classList.contains(i.css.timeContainer)||!t.oldDate&&this.optionsStore.options.useCurrent||t.oldDate&&t.date?.isSame(t.oldDate)||(clearTimeout(this._currentPromptTimeTimeout),this._currentPromptTimeTimeout=setTimeout((()=>{this.display.widget&&this._eventEmitters.action.emit({e:{currentTarget:this.display.widget.querySelector('[data-action="togglePicker"]')},action:I.togglePicker})}),this.optionsStore.options.promptTimeOnDateChangeTransitionDelay))}_handleToggleKeydown(t){" "!==t.key&&"Enter"!==t.key||(this.optionsStore.toggle.click(),t.stopPropagation(),t.preventDefault())}}const K={},Q=t=>{K[t.name]||(K[t.name]=t.localization)},J=t=>{const e=K[t];e&&(f.localization=e)},Z=function(t,e=undefined){return t?(t.installed||(t(e,{TempusDominus:R,Dates:x,Display:Y,DateTime:l,Namespace:i},X),t.installed=!0),X):X},G="v6.10.4",X={TempusDominus:R,extend:Z,loadLocale:Q,locale:J,Namespace:i,DefaultOptions:f,DateTime:l,Unit:t.Unit,version:G,DefaultEnLocalization:S};t.DateTime=l,t.DefaultEnLocalization=S,t.DefaultOptions=f,t.Namespace=i,t.TempusDominus=R,t.extend=Z,t.loadLocale=Q,t.locale=J,t.version=G,Object.defineProperty(t,"__esModule",{value:!0})}));
19488
19489"use strict";
19490
19491//
19492// Tempus Dominus Datepicker Global Settings(learn more: https://getdatepicker.com/6/options/)
19493//
19494
19495tempusDominus.DefaultOptions.display.icons = {
19496	time: "ki-outline ki-time fs-3",
19497	date: "ki-outline ki-calendar fs-3",
19498	up: "ki-outline ki-up fs-3",
19499	down: "ki-outline ki-down fs-3",
19500	previous: "ki-outline ki-left fs-3",
19501	next: "ki-outline ki-right fs-3",
19502	today: "ki-outline ki-calendar-tick fs-3",
19503	clear: "ki-outline ki-trash fs-3",
19504	close: "ki-outline ki-cross fs-2",
19505};
19506/*!
19507  * Tempus Dominus vv6.10.4 (https://getdatepicker.com/)
19508  * Copyright 2013-2025 Jonathan Peterson
19509  * Licensed under MIT (https://github.com/Eonasdan/tempus-dominus/blob/master/LICENSE)
19510  */
19511(function(g,f){typeof exports==='object'&&typeof module!=='undefined'?f(exports):typeof define==='function'&&define.amd?define(['exports'],f):(g=typeof globalThis!=='undefined'?globalThis:g||self,f((g.tempusDominus=g.tempusDominus||{},g.tempusDominus.locales=g.tempusDominus.locales||{},g.tempusDominus.locales.de={})));})(this,(function(exports){'use strict';const name = 'de';
19512const localization = {
19513    today: 'Heute',
19514    clear: 'Auswahl löschen',
19515    close: 'Auswahlbox schließen',
19516    selectMonth: 'Monat wählen',
19517    previousMonth: 'Letzter Monat',
19518    nextMonth: 'Nächster Monat',
19519    selectYear: 'Jahr wählen',
19520    previousYear: 'Letztes Jahr',
19521    nextYear: 'Nächstes Jahr',
19522    selectDecade: 'Jahrzehnt wählen',
19523    previousDecade: 'Letztes Jahrzehnt',
19524    nextDecade: 'Nächstes Jahrzehnt',
19525    previousCentury: 'Letztes Jahrhundert',
19526    nextCentury: 'Nächstes Jahrhundert',
19527    pickHour: 'Stunde wählen',
19528    incrementHour: 'Stunde erhöhen',
19529    decrementHour: 'Stunde verringern',
19530    pickMinute: 'Minute wählen',
19531    incrementMinute: 'Minute erhöhen',
19532    decrementMinute: 'Minute verringern',
19533    pickSecond: 'Sekunde wählen',
19534    incrementSecond: 'Sekunde erhöhen',
19535    decrementSecond: 'Sekunde verringern',
19536    toggleMeridiem: 'Tageszeit umschalten',
19537    selectTime: 'Zeit wählen',
19538    selectDate: 'Datum wählen',
19539    dayViewHeaderFormat: { month: 'long', year: '2-digit' },
19540    locale: 'de',
19541    startOfTheWeek: 1,
19542    dateFormats: {
19543        LTS: 'HH:mm:ss',
19544        LT: 'HH:mm',
19545        L: 'dd.MM.yyyy',
19546        LL: 'd. MMMM yyyy',
19547        LLL: 'd. MMMM yyyy HH:mm',
19548        LLLL: 'dddd, d. MMMM yyyy HH:mm',
19549    },
19550    ordinal: (n) => `${n}.`,
19551    format: 'L LT',
19552};exports.localization=localization;exports.name=name;Object.defineProperty(exports,'__esModule',{value:true});}));
19553/*!
19554  * Tempus Dominus vv6.10.4 (https://getdatepicker.com/)
19555  * Copyright 2013-2025 Jonathan Peterson
19556  * Licensed under MIT (https://github.com/Eonasdan/tempus-dominus/blob/master/LICENSE)
19557  */
19558(function(g,f){typeof exports==='object'&&typeof module!=='undefined'?module.exports=f():typeof define==='function'&&define.amd?define(f):(g=typeof globalThis!=='undefined'?globalThis:g||self,(g.tempusDominus=g.tempusDominus||{},g.tempusDominus.plugins=g.tempusDominus.plugins||{},g.tempusDominus.plugins.customDateFormat=f()));})(this,(function(){'use strict';var index = () => {
19559    console.warn('This plugin has been merged with the main picker and is now longer required');
19560};return index;}));
19561/* flatpickr v4.6.13, @license MIT */
19562(function (global, factory) {
19563    typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
19564    typeof define === 'function' && define.amd ? define(factory) :
19565    (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.flatpickr = factory());
19566}(this, (function () { 'use strict';
19567
19568    /*! *****************************************************************************
19569    Copyright (c) Microsoft Corporation.
19570
19571    Permission to use, copy, modify, and/or distribute this software for any
19572    purpose with or without fee is hereby granted.
19573
19574    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
19575    REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
19576    AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
19577    INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
19578    LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
19579    OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19580    PERFORMANCE OF THIS SOFTWARE.
19581    ***************************************************************************** */
19582
19583    var __assign = function() {
19584        __assign = Object.assign || function __assign(t) {
19585            for (var s, i = 1, n = arguments.length; i < n; i++) {
19586                s = arguments[i];
19587                for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
19588            }
19589            return t;
19590        };
19591        return __assign.apply(this, arguments);
19592    };
19593
19594    function __spreadArrays() {
19595        for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
19596        for (var r = Array(s), k = 0, i = 0; i < il; i++)
19597            for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
19598                r[k] = a[j];
19599        return r;
vendor: 122,249 bytes, lines 19599-22279
19599
19600    }
19601
19602    var HOOKS = [
19603        "onChange",
19604        "onClose",
19605        "onDayCreate",
19606        "onDestroy",
19607        "onKeyDown",
19608        "onMonthChange",
19609        "onOpen",
19610        "onParseConfig",
19611        "onReady",
19612        "onValueUpdate",
19613        "onYearChange",
19614        "onPreCalendarPosition",
19615    ];
19616    var defaults = {
19617        _disable: [],
19618        allowInput: false,
19619        allowInvalidPreload: false,
19620        altFormat: "F j, Y",
19621        altInput: false,
19622        altInputClass: "form-control input",
19623        animate: typeof window === "object" &&
19624            window.navigator.userAgent.indexOf("MSIE") === -1,
19625        ariaDateFormat: "F j, Y",
19626        autoFillDefaultTime: true,
19627        clickOpens: true,
19628        closeOnSelect: true,
19629        conjunction: ", ",
19630        dateFormat: "Y-m-d",
19631        defaultHour: 12,
19632        defaultMinute: 0,
19633        defaultSeconds: 0,
19634        disable: [],
19635        disableMobile: false,
19636        enableSeconds: false,
19637        enableTime: false,
19638        errorHandler: function (err) {
19639            return typeof console !== "undefined" && console.warn(err);
19640        },
19641        getWeek: function (givenDate) {
19642            var date = new Date(givenDate.getTime());
19643            date.setHours(0, 0, 0, 0);
19644            // Thursday in current week decides the year.
19645            date.setDate(date.getDate() + 3 - ((date.getDay() + 6) % 7));
19646            // January 4 is always in week 1.
19647            var week1 = new Date(date.getFullYear(), 0, 4);
19648            // Adjust to Thursday in week 1 and count number of weeks from date to week1.
19649            return (1 +
19650                Math.round(((date.getTime() - week1.getTime()) / 86400000 -
19651                    3 +
19652                    ((week1.getDay() + 6) % 7)) /
19653                    7));
19654        },
19655        hourIncrement: 1,
19656        ignoredFocusElements: [],
19657        inline: false,
19658        locale: "default",
19659        minuteIncrement: 5,
19660        mode: "single",
19661        monthSelectorType: "dropdown",
19662        nextArrow: "<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M13.207 8.472l-7.854 7.854-0.707-0.707 7.146-7.146-7.146-7.148 0.707-0.707 7.854 7.854z' /></svg>",
19663        noCalendar: false,
19664        now: new Date(),
19665        onChange: [],
19666        onClose: [],
19667        onDayCreate: [],
19668        onDestroy: [],
19669        onKeyDown: [],
19670        onMonthChange: [],
19671        onOpen: [],
19672        onParseConfig: [],
19673        onReady: [],
19674        onValueUpdate: [],
19675        onYearChange: [],
19676        onPreCalendarPosition: [],
19677        plugins: [],
19678        position: "auto",
19679        positionElement: undefined,
19680        prevArrow: "<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M5.207 8.471l7.146 7.147-0.707 0.707-7.853-7.854 7.854-7.853 0.707 0.707-7.147 7.146z' /></svg>",
19681        shorthandCurrentMonth: false,
19682        showMonths: 1,
19683        static: false,
19684        time_24hr: false,
19685        weekNumbers: false,
19686        wrap: false,
19687    };
19688
19689    var english = {
19690        weekdays: {
19691            shorthand: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
19692            longhand: [
19693                "Sunday",
19694                "Monday",
19695                "Tuesday",
19696                "Wednesday",
19697                "Thursday",
19698                "Friday",
19699                "Saturday",
19700            ],
19701        },
19702        months: {
19703            shorthand: [
19704                "Jan",
19705                "Feb",
19706                "Mar",
19707                "Apr",
19708                "May",
19709                "Jun",
19710                "Jul",
19711                "Aug",
19712                "Sep",
19713                "Oct",
19714                "Nov",
19715                "Dec",
19716            ],
19717            longhand: [
19718                "January",
19719                "February",
19720                "March",
19721                "April",
19722                "May",
19723                "June",
19724                "July",
19725                "August",
19726                "September",
19727                "October",
19728                "November",
19729                "December",
19730            ],
19731        },
19732        daysInMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
19733        firstDayOfWeek: 0,
19734        ordinal: function (nth) {
19735            var s = nth % 100;
19736            if (s > 3 && s < 21)
19737                return "th";
19738            switch (s % 10) {
19739                case 1:
19740                    return "st";
19741                case 2:
19742                    return "nd";
19743                case 3:
19744                    return "rd";
19745                default:
19746                    return "th";
19747            }
19748        },
19749        rangeSeparator: " to ",
19750        weekAbbreviation: "Wk",
19751        scrollTitle: "Scroll to increment",
19752        toggleTitle: "Click to toggle",
19753        amPM: ["AM", "PM"],
19754        yearAriaLabel: "Year",
19755        monthAriaLabel: "Month",
19756        hourAriaLabel: "Hour",
19757        minuteAriaLabel: "Minute",
19758        time_24hr: false,
19759    };
19760
19761    var pad = function (number, length) {
19762        if (length === void 0) { length = 2; }
19763        return ("000" + number).slice(length * -1);
19764    };
19765    var int = function (bool) { return (bool === true ? 1 : 0); };
19766    /* istanbul ignore next */
19767    function debounce(fn, wait) {
19768        var t;
19769        return function () {
19770            var _this = this;
19771            var args = arguments;
19772            clearTimeout(t);
19773            t = setTimeout(function () { return fn.apply(_this, args); }, wait);
19774        };
19775    }
19776    var arrayify = function (obj) {
19777        return obj instanceof Array ? obj : [obj];
19778    };
19779
19780    function toggleClass(elem, className, bool) {
19781        if (bool === true)
19782            return elem.classList.add(className);
19783        elem.classList.remove(className);
19784    }
19785    function createElement(tag, className, content) {
19786        var e = window.document.createElement(tag);
19787        className = className || "";
19788        content = content || "";
19789        e.className = className;
19790        if (content !== undefined)
19791            e.textContent = content;
19792        return e;
19793    }
19794    function clearNode(node) {
19795        while (node.firstChild)
19796            node.removeChild(node.firstChild);
19797    }
19798    function findParent(node, condition) {
19799        if (condition(node))
19800            return node;
19801        else if (node.parentNode)
19802            return findParent(node.parentNode, condition);
19803        return undefined; // nothing found
19804    }
19805    function createNumberInput(inputClassName, opts) {
19806        var wrapper = createElement("div", "numInputWrapper"), numInput = createElement("input", "numInput " + inputClassName), arrowUp = createElement("span", "arrowUp"), arrowDown = createElement("span", "arrowDown");
19807        if (navigator.userAgent.indexOf("MSIE 9.0") === -1) {
19808            numInput.type = "number";
19809        }
19810        else {
19811            numInput.type = "text";
19812            numInput.pattern = "\\d*";
19813        }
19814        if (opts !== undefined)
19815            for (var key in opts)
19816                numInput.setAttribute(key, opts[key]);
19817        wrapper.appendChild(numInput);
19818        wrapper.appendChild(arrowUp);
19819        wrapper.appendChild(arrowDown);
19820        return wrapper;
19821    }
19822    function getEventTarget(event) {
19823        try {
19824            if (typeof event.composedPath === "function") {
19825                var path = event.composedPath();
19826                return path[0];
19827            }
19828            return event.target;
19829        }
19830        catch (error) {
19831            return event.target;
19832        }
19833    }
19834
19835    var doNothing = function () { return undefined; };
19836    var monthToStr = function (monthNumber, shorthand, locale) { return locale.months[shorthand ? "shorthand" : "longhand"][monthNumber]; };
19837    var revFormat = {
19838        D: doNothing,
19839        F: function (dateObj, monthName, locale) {
19840            dateObj.setMonth(locale.months.longhand.indexOf(monthName));
19841        },
19842        G: function (dateObj, hour) {
19843            dateObj.setHours((dateObj.getHours() >= 12 ? 12 : 0) + parseFloat(hour));
19844        },
19845        H: function (dateObj, hour) {
19846            dateObj.setHours(parseFloat(hour));
19847        },
19848        J: function (dateObj, day) {
19849            dateObj.setDate(parseFloat(day));
19850        },
19851        K: function (dateObj, amPM, locale) {
19852            dateObj.setHours((dateObj.getHours() % 12) +
19853                12 * int(new RegExp(locale.amPM[1], "i").test(amPM)));
19854        },
19855        M: function (dateObj, shortMonth, locale) {
19856            dateObj.setMonth(locale.months.shorthand.indexOf(shortMonth));
19857        },
19858        S: function (dateObj, seconds) {
19859            dateObj.setSeconds(parseFloat(seconds));
19860        },
19861        U: function (_, unixSeconds) { return new Date(parseFloat(unixSeconds) * 1000); },
19862        W: function (dateObj, weekNum, locale) {
19863            var weekNumber = parseInt(weekNum);
19864            var date = new Date(dateObj.getFullYear(), 0, 2 + (weekNumber - 1) * 7, 0, 0, 0, 0);
19865            date.setDate(date.getDate() - date.getDay() + locale.firstDayOfWeek);
19866            return date;
19867        },
19868        Y: function (dateObj, year) {
19869            dateObj.setFullYear(parseFloat(year));
19870        },
19871        Z: function (_, ISODate) { return new Date(ISODate); },
19872        d: function (dateObj, day) {
19873            dateObj.setDate(parseFloat(day));
19874        },
19875        h: function (dateObj, hour) {
19876            dateObj.setHours((dateObj.getHours() >= 12 ? 12 : 0) + parseFloat(hour));
19877        },
19878        i: function (dateObj, minutes) {
19879            dateObj.setMinutes(parseFloat(minutes));
19880        },
19881        j: function (dateObj, day) {
19882            dateObj.setDate(parseFloat(day));
19883        },
19884        l: doNothing,
19885        m: function (dateObj, month) {
19886            dateObj.setMonth(parseFloat(month) - 1);
19887        },
19888        n: function (dateObj, month) {
19889            dateObj.setMonth(parseFloat(month) - 1);
19890        },
19891        s: function (dateObj, seconds) {
19892            dateObj.setSeconds(parseFloat(seconds));
19893        },
19894        u: function (_, unixMillSeconds) {
19895            return new Date(parseFloat(unixMillSeconds));
19896        },
19897        w: doNothing,
19898        y: function (dateObj, year) {
19899            dateObj.setFullYear(2000 + parseFloat(year));
19900        },
19901    };
19902    var tokenRegex = {
19903        D: "",
19904        F: "",
19905        G: "(\\d\\d|\\d)",
19906        H: "(\\d\\d|\\d)",
19907        J: "(\\d\\d|\\d)\\w+",
19908        K: "",
19909        M: "",
19910        S: "(\\d\\d|\\d)",
19911        U: "(.+)",
19912        W: "(\\d\\d|\\d)",
19913        Y: "(\\d{4})",
19914        Z: "(.+)",
19915        d: "(\\d\\d|\\d)",
19916        h: "(\\d\\d|\\d)",
19917        i: "(\\d\\d|\\d)",
19918        j: "(\\d\\d|\\d)",
19919        l: "",
19920        m: "(\\d\\d|\\d)",
19921        n: "(\\d\\d|\\d)",
19922        s: "(\\d\\d|\\d)",
19923        u: "(.+)",
19924        w: "(\\d\\d|\\d)",
19925        y: "(\\d{2})",
19926    };
19927    var formats = {
19928        // get the date in UTC
19929        Z: function (date) { return date.toISOString(); },
19930        // weekday name, short, e.g. Thu
19931        D: function (date, locale, options) {
19932            return locale.weekdays.shorthand[formats.w(date, locale, options)];
19933        },
19934        // full month name e.g. January
19935        F: function (date, locale, options) {
19936            return monthToStr(formats.n(date, locale, options) - 1, false, locale);
19937        },
19938        // padded hour 1-12
19939        G: function (date, locale, options) {
19940            return pad(formats.h(date, locale, options));
19941        },
19942        // hours with leading zero e.g. 03
19943        H: function (date) { return pad(date.getHours()); },
19944        // day (1-30) with ordinal suffix e.g. 1st, 2nd
19945        J: function (date, locale) {
19946            return locale.ordinal !== undefined
19947                ? date.getDate() + locale.ordinal(date.getDate())
19948                : date.getDate();
19949        },
19950        // AM/PM
19951        K: function (date, locale) { return locale.amPM[int(date.getHours() > 11)]; },
19952        // shorthand month e.g. Jan, Sep, Oct, etc
19953        M: function (date, locale) {
19954            return monthToStr(date.getMonth(), true, locale);
19955        },
19956        // seconds 00-59
19957        S: function (date) { return pad(date.getSeconds()); },
19958        // unix timestamp
19959        U: function (date) { return date.getTime() / 1000; },
19960        W: function (date, _, options) {
19961            return options.getWeek(date);
19962        },
19963        // full year e.g. 2016, padded (0001-9999)
19964        Y: function (date) { return pad(date.getFullYear(), 4); },
19965        // day in month, padded (01-30)
19966        d: function (date) { return pad(date.getDate()); },
19967        // hour from 1-12 (am/pm)
19968        h: function (date) { return (date.getHours() % 12 ? date.getHours() % 12 : 12); },
19969        // minutes, padded with leading zero e.g. 09
19970        i: function (date) { return pad(date.getMinutes()); },
19971        // day in month (1-30)
19972        j: function (date) { return date.getDate(); },
19973        // weekday name, full, e.g. Thursday
19974        l: function (date, locale) {
19975            return locale.weekdays.longhand[date.getDay()];
19976        },
19977        // padded month number (01-12)
19978        m: function (date) { return pad(date.getMonth() + 1); },
19979        // the month number (1-12)
19980        n: function (date) { return date.getMonth() + 1; },
19981        // seconds 0-59
19982        s: function (date) { return date.getSeconds(); },
19983        // Unix Milliseconds
19984        u: function (date) { return date.getTime(); },
19985        // number of the day of the week
19986        w: function (date) { return date.getDay(); },
19987        // last two digits of year e.g. 16 for 2016
19988        y: function (date) { return String(date.getFullYear()).substring(2); },
19989    };
19990
19991    var createDateFormatter = function (_a) {
19992        var _b = _a.config, config = _b === void 0 ? defaults : _b, _c = _a.l10n, l10n = _c === void 0 ? english : _c, _d = _a.isMobile, isMobile = _d === void 0 ? false : _d;
19993        return function (dateObj, frmt, overrideLocale) {
19994            var locale = overrideLocale || l10n;
19995            if (config.formatDate !== undefined && !isMobile) {
19996                return config.formatDate(dateObj, frmt, locale);
19997            }
19998            return frmt
19999                .split("")
20000                .map(function (c, i, arr) {
20001                return formats[c] && arr[i - 1] !== "\\"
20002                    ? formats[c](dateObj, locale, config)
20003                    : c !== "\\"
20004                        ? c
20005                        : "";
20006            })
20007                .join("");
20008        };
20009    };
20010    var createDateParser = function (_a) {
20011        var _b = _a.config, config = _b === void 0 ? defaults : _b, _c = _a.l10n, l10n = _c === void 0 ? english : _c;
20012        return function (date, givenFormat, timeless, customLocale) {
20013            if (date !== 0 && !date)
20014                return undefined;
20015            var locale = customLocale || l10n;
20016            var parsedDate;
20017            var dateOrig = date;
20018            if (date instanceof Date)
20019                parsedDate = new Date(date.getTime());
20020            else if (typeof date !== "string" &&
20021                date.toFixed !== undefined // timestamp
20022            )
20023                // create a copy
20024                parsedDate = new Date(date);
20025            else if (typeof date === "string") {
20026                // date string
20027                var format = givenFormat || (config || defaults).dateFormat;
20028                var datestr = String(date).trim();
20029                if (datestr === "today") {
20030                    parsedDate = new Date();
20031                    timeless = true;
20032                }
20033                else if (config && config.parseDate) {
20034                    parsedDate = config.parseDate(date, format);
20035                }
20036                else if (/Z$/.test(datestr) ||
20037                    /GMT$/.test(datestr) // datestrings w/ timezone
20038                ) {
20039                    parsedDate = new Date(date);
20040                }
20041                else {
20042                    var matched = void 0, ops = [];
20043                    for (var i = 0, matchIndex = 0, regexStr = ""; i < format.length; i++) {
20044                        var token_1 = format[i];
20045                        var isBackSlash = token_1 === "\\";
20046                        var escaped = format[i - 1] === "\\" || isBackSlash;
20047                        if (tokenRegex[token_1] && !escaped) {
20048                            regexStr += tokenRegex[token_1];
20049                            var match = new RegExp(regexStr).exec(date);
20050                            if (match && (matched = true)) {
20051                                ops[token_1 !== "Y" ? "push" : "unshift"]({
20052                                    fn: revFormat[token_1],
20053                                    val: match[++matchIndex],
20054                                });
20055                            }
20056                        }
20057                        else if (!isBackSlash)
20058                            regexStr += "."; // don't really care
20059                    }
20060                    parsedDate =
20061                        !config || !config.noCalendar
20062                            ? new Date(new Date().getFullYear(), 0, 1, 0, 0, 0, 0)
20063                            : new Date(new Date().setHours(0, 0, 0, 0));
20064                    ops.forEach(function (_a) {
20065                        var fn = _a.fn, val = _a.val;
20066                        return (parsedDate = fn(parsedDate, val, locale) || parsedDate);
20067                    });
20068                    parsedDate = matched ? parsedDate : undefined;
20069                }
20070            }
20071            /* istanbul ignore next */
20072            if (!(parsedDate instanceof Date && !isNaN(parsedDate.getTime()))) {
20073                config.errorHandler(new Error("Invalid date provided: " + dateOrig));
20074                return undefined;
20075            }
20076            if (timeless === true)
20077                parsedDate.setHours(0, 0, 0, 0);
20078            return parsedDate;
20079        };
20080    };
20081    /**
20082     * Compute the difference in dates, measured in ms
20083     */
20084    function compareDates(date1, date2, timeless) {
20085        if (timeless === void 0) { timeless = true; }
20086        if (timeless !== false) {
20087            return (new Date(date1.getTime()).setHours(0, 0, 0, 0) -
20088                new Date(date2.getTime()).setHours(0, 0, 0, 0));
20089        }
20090        return date1.getTime() - date2.getTime();
20091    }
20092    var isBetween = function (ts, ts1, ts2) {
20093        return ts > Math.min(ts1, ts2) && ts < Math.max(ts1, ts2);
20094    };
20095    var calculateSecondsSinceMidnight = function (hours, minutes, seconds) {
20096        return hours * 3600 + minutes * 60 + seconds;
20097    };
20098    var parseSeconds = function (secondsSinceMidnight) {
20099        var hours = Math.floor(secondsSinceMidnight / 3600), minutes = (secondsSinceMidnight - hours * 3600) / 60;
20100        return [hours, minutes, secondsSinceMidnight - hours * 3600 - minutes * 60];
20101    };
20102    var duration = {
20103        DAY: 86400000,
20104    };
20105    function getDefaultHours(config) {
20106        var hours = config.defaultHour;
20107        var minutes = config.defaultMinute;
20108        var seconds = config.defaultSeconds;
20109        if (config.minDate !== undefined) {
20110            var minHour = config.minDate.getHours();
20111            var minMinutes = config.minDate.getMinutes();
20112            var minSeconds = config.minDate.getSeconds();
20113            if (hours < minHour) {
20114                hours = minHour;
20115            }
20116            if (hours === minHour && minutes < minMinutes) {
20117                minutes = minMinutes;
20118            }
20119            if (hours === minHour && minutes === minMinutes && seconds < minSeconds)
20120                seconds = config.minDate.getSeconds();
20121        }
20122        if (config.maxDate !== undefined) {
20123            var maxHr = config.maxDate.getHours();
20124            var maxMinutes = config.maxDate.getMinutes();
20125            hours = Math.min(hours, maxHr);
20126            if (hours === maxHr)
20127                minutes = Math.min(maxMinutes, minutes);
20128            if (hours === maxHr && minutes === maxMinutes)
20129                seconds = config.maxDate.getSeconds();
20130        }
20131        return { hours: hours, minutes: minutes, seconds: seconds };
20132    }
20133
20134    if (typeof Object.assign !== "function") {
20135        Object.assign = function (target) {
20136            var args = [];
20137            for (var _i = 1; _i < arguments.length; _i++) {
20138                args[_i - 1] = arguments[_i];
20139            }
20140            if (!target) {
20141                throw TypeError("Cannot convert undefined or null to object");
20142            }
20143            var _loop_1 = function (source) {
20144                if (source) {
20145                    Object.keys(source).forEach(function (key) { return (target[key] = source[key]); });
20146                }
20147            };
20148            for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {
20149                var source = args_1[_a];
20150                _loop_1(source);
20151            }
20152            return target;
20153        };
20154    }
20155
20156    var DEBOUNCED_CHANGE_MS = 300;
20157    function FlatpickrInstance(element, instanceConfig) {
20158        var self = {
20159            config: __assign(__assign({}, defaults), flatpickr.defaultConfig),
20160            l10n: english,
20161        };
20162        self.parseDate = createDateParser({ config: self.config, l10n: self.l10n });
20163        self._handlers = [];
20164        self.pluginElements = [];
20165        self.loadedPlugins = [];
20166        self._bind = bind;
20167        self._setHoursFromDate = setHoursFromDate;
20168        self._positionCalendar = positionCalendar;
20169        self.changeMonth = changeMonth;
20170        self.changeYear = changeYear;
20171        self.clear = clear;
20172        self.close = close;
20173        self.onMouseOver = onMouseOver;
20174        self._createElement = createElement;
20175        self.createDay = createDay;
20176        self.destroy = destroy;
20177        self.isEnabled = isEnabled;
20178        self.jumpToDate = jumpToDate;
20179        self.updateValue = updateValue;
20180        self.open = open;
20181        self.redraw = redraw;
20182        self.set = set;
20183        self.setDate = setDate;
20184        self.toggle = toggle;
20185        function setupHelperFunctions() {
20186            self.utils = {
20187                getDaysInMonth: function (month, yr) {
20188                    if (month === void 0) { month = self.currentMonth; }
20189                    if (yr === void 0) { yr = self.currentYear; }
20190                    if (month === 1 && ((yr % 4 === 0 && yr % 100 !== 0) || yr % 400 === 0))
20191                        return 29;
20192                    return self.l10n.daysInMonth[month];
20193                },
20194            };
20195        }
20196        function init() {
20197            self.element = self.input = element;
20198            self.isOpen = false;
20199            parseConfig();
20200            setupLocale();
20201            setupInputs();
20202            setupDates();
20203            setupHelperFunctions();
20204            if (!self.isMobile)
20205                build();
20206            bindEvents();
20207            if (self.selectedDates.length || self.config.noCalendar) {
20208                if (self.config.enableTime) {
20209                    setHoursFromDate(self.config.noCalendar ? self.latestSelectedDateObj : undefined);
20210                }
20211                updateValue(false);
20212            }
20213            setCalendarWidth();
20214            var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
20215            /* TODO: investigate this further
20216        
20217              Currently, there is weird positioning behavior in safari causing pages
20218              to scroll up. https://github.com/chmln/flatpickr/issues/563
20219        
20220              However, most browsers are not Safari and positioning is expensive when used
20221              in scale. https://github.com/chmln/flatpickr/issues/1096
20222            */
20223            if (!self.isMobile && isSafari) {
20224                positionCalendar();
20225            }
20226            triggerEvent("onReady");
20227        }
20228        function getClosestActiveElement() {
20229            var _a;
20230            return (((_a = self.calendarContainer) === null || _a === void 0 ? void 0 : _a.getRootNode())
20231                .activeElement || document.activeElement);
20232        }
20233        function bindToInstance(fn) {
20234            return fn.bind(self);
20235        }
20236        function setCalendarWidth() {
20237            var config = self.config;
20238            if (config.weekNumbers === false && config.showMonths === 1) {
20239                return;
20240            }
20241            else if (config.noCalendar !== true) {
20242                window.requestAnimationFrame(function () {
20243                    if (self.calendarContainer !== undefined) {
20244                        self.calendarContainer.style.visibility = "hidden";
20245                        self.calendarContainer.style.display = "block";
20246                    }
20247                    if (self.daysContainer !== undefined) {
20248                        var daysWidth = (self.days.offsetWidth + 1) * config.showMonths;
20249                        self.daysContainer.style.width = daysWidth + "px";
20250                        self.calendarContainer.style.width =
20251                            daysWidth +
20252                                (self.weekWrapper !== undefined
20253                                    ? self.weekWrapper.offsetWidth
20254                                    : 0) +
20255                                "px";
20256                        self.calendarContainer.style.removeProperty("visibility");
20257                        self.calendarContainer.style.removeProperty("display");
20258                    }
20259                });
20260            }
20261        }
20262        /**
20263         * The handler for all events targeting the time inputs
20264         */
20265        function updateTime(e) {
20266            if (self.selectedDates.length === 0) {
20267                var defaultDate = self.config.minDate === undefined ||
20268                    compareDates(new Date(), self.config.minDate) >= 0
20269                    ? new Date()
20270                    : new Date(self.config.minDate.getTime());
20271                var defaults = getDefaultHours(self.config);
20272                defaultDate.setHours(defaults.hours, defaults.minutes, defaults.seconds, defaultDate.getMilliseconds());
20273                self.selectedDates = [defaultDate];
20274                self.latestSelectedDateObj = defaultDate;
20275            }
20276            if (e !== undefined && e.type !== "blur") {
20277                timeWrapper(e);
20278            }
20279            var prevValue = self._input.value;
20280            setHoursFromInputs();
20281            updateValue();
20282            if (self._input.value !== prevValue) {
20283                self._debouncedChange();
20284            }
20285        }
20286        function ampm2military(hour, amPM) {
20287            return (hour % 12) + 12 * int(amPM === self.l10n.amPM[1]);
20288        }
20289        function military2ampm(hour) {
20290            switch (hour % 24) {
20291                case 0:
20292                case 12:
20293                    return 12;
20294                default:
20295                    return hour % 12;
20296            }
20297        }
20298        /**
20299         * Syncs the selected date object time with user's time input
20300         */
20301        function setHoursFromInputs() {
20302            if (self.hourElement === undefined || self.minuteElement === undefined)
20303                return;
20304            var hours = (parseInt(self.hourElement.value.slice(-2), 10) || 0) % 24, minutes = (parseInt(self.minuteElement.value, 10) || 0) % 60, seconds = self.secondElement !== undefined
20305                ? (parseInt(self.secondElement.value, 10) || 0) % 60
20306                : 0;
20307            if (self.amPM !== undefined) {
20308                hours = ampm2military(hours, self.amPM.textContent);
20309            }
20310            var limitMinHours = self.config.minTime !== undefined ||
20311                (self.config.minDate &&
20312                    self.minDateHasTime &&
20313                    self.latestSelectedDateObj &&
20314                    compareDates(self.latestSelectedDateObj, self.config.minDate, true) ===
20315                        0);
20316            var limitMaxHours = self.config.maxTime !== undefined ||
20317                (self.config.maxDate &&
20318                    self.maxDateHasTime &&
20319                    self.latestSelectedDateObj &&
20320                    compareDates(self.latestSelectedDateObj, self.config.maxDate, true) ===
20321                        0);
20322            if (self.config.maxTime !== undefined &&
20323                self.config.minTime !== undefined &&
20324                self.config.minTime > self.config.maxTime) {
20325                var minBound = calculateSecondsSinceMidnight(self.config.minTime.getHours(), self.config.minTime.getMinutes(), self.config.minTime.getSeconds());
20326                var maxBound = calculateSecondsSinceMidnight(self.config.maxTime.getHours(), self.config.maxTime.getMinutes(), self.config.maxTime.getSeconds());
20327                var currentTime = calculateSecondsSinceMidnight(hours, minutes, seconds);
20328                if (currentTime > maxBound && currentTime < minBound) {
20329                    var result = parseSeconds(minBound);
20330                    hours = result[0];
20331                    minutes = result[1];
20332                    seconds = result[2];
20333                }
20334            }
20335            else {
20336                if (limitMaxHours) {
20337                    var maxTime = self.config.maxTime !== undefined
20338                        ? self.config.maxTime
20339                        : self.config.maxDate;
20340                    hours = Math.min(hours, maxTime.getHours());
20341                    if (hours === maxTime.getHours())
20342                        minutes = Math.min(minutes, maxTime.getMinutes());
20343                    if (minutes === maxTime.getMinutes())
20344                        seconds = Math.min(seconds, maxTime.getSeconds());
20345                }
20346                if (limitMinHours) {
20347                    var minTime = self.config.minTime !== undefined
20348                        ? self.config.minTime
20349                        : self.config.minDate;
20350                    hours = Math.max(hours, minTime.getHours());
20351                    if (hours === minTime.getHours() && minutes < minTime.getMinutes())
20352                        minutes = minTime.getMinutes();
20353                    if (minutes === minTime.getMinutes())
20354                        seconds = Math.max(seconds, minTime.getSeconds());
20355                }
20356            }
20357            setHours(hours, minutes, seconds);
20358        }
20359        /**
20360         * Syncs time input values with a date
20361         */
20362        function setHoursFromDate(dateObj) {
20363            var date = dateObj || self.latestSelectedDateObj;
20364            if (date && date instanceof Date) {
20365                setHours(date.getHours(), date.getMinutes(), date.getSeconds());
20366            }
20367        }
20368        /**
20369         * Sets the hours, minutes, and optionally seconds
20370         * of the latest selected date object and the
20371         * corresponding time inputs
20372         * @param {Number} hours the hour. whether its military
20373         *                 or am-pm gets inferred from config
20374         * @param {Number} minutes the minutes
20375         * @param {Number} seconds the seconds (optional)
20376         */
20377        function setHours(hours, minutes, seconds) {
20378            if (self.latestSelectedDateObj !== undefined) {
20379                self.latestSelectedDateObj.setHours(hours % 24, minutes, seconds || 0, 0);
20380            }
20381            if (!self.hourElement || !self.minuteElement || self.isMobile)
20382                return;
20383            self.hourElement.value = pad(!self.config.time_24hr
20384                ? ((12 + hours) % 12) + 12 * int(hours % 12 === 0)
20385                : hours);
20386            self.minuteElement.value = pad(minutes);
20387            if (self.amPM !== undefined)
20388                self.amPM.textContent = self.l10n.amPM[int(hours >= 12)];
20389            if (self.secondElement !== undefined)
20390                self.secondElement.value = pad(seconds);
20391        }
20392        /**
20393         * Handles the year input and incrementing events
20394         * @param {Event} event the keyup or increment event
20395         */
20396        function onYearInput(event) {
20397            var eventTarget = getEventTarget(event);
20398            var year = parseInt(eventTarget.value) + (event.delta || 0);
20399            if (year / 1000 > 1 ||
20400                (event.key === "Enter" && !/[^\d]/.test(year.toString()))) {
20401                changeYear(year);
20402            }
20403        }
20404        /**
20405         * Essentially addEventListener + tracking
20406         * @param {Element} element the element to addEventListener to
20407         * @param {String} event the event name
20408         * @param {Function} handler the event handler
20409         */
20410        function bind(element, event, handler, options) {
20411            if (event instanceof Array)
20412                return event.forEach(function (ev) { return bind(element, ev, handler, options); });
20413            if (element instanceof Array)
20414                return element.forEach(function (el) { return bind(el, event, handler, options); });
20415            element.addEventListener(event, handler, options);
20416            self._handlers.push({
20417                remove: function () { return element.removeEventListener(event, handler, options); },
20418            });
20419        }
20420        function triggerChange() {
20421            triggerEvent("onChange");
20422        }
20423        /**
20424         * Adds all the necessary event listeners
20425         */
20426        function bindEvents() {
20427            if (self.config.wrap) {
20428                ["open", "close", "toggle", "clear"].forEach(function (evt) {
20429                    Array.prototype.forEach.call(self.element.querySelectorAll("[data-" + evt + "]"), function (el) {
20430                        return bind(el, "click", self[evt]);
20431                    });
20432                });
20433            }
20434            if (self.isMobile) {
20435                setupMobile();
20436                return;
20437            }
20438            var debouncedResize = debounce(onResize, 50);
20439            self._debouncedChange = debounce(triggerChange, DEBOUNCED_CHANGE_MS);
20440            if (self.daysContainer && !/iPhone|iPad|iPod/i.test(navigator.userAgent))
20441                bind(self.daysContainer, "mouseover", function (e) {
20442                    if (self.config.mode === "range")
20443                        onMouseOver(getEventTarget(e));
20444                });
20445            bind(self._input, "keydown", onKeyDown);
20446            if (self.calendarContainer !== undefined) {
20447                bind(self.calendarContainer, "keydown", onKeyDown);
20448            }
20449            if (!self.config.inline && !self.config.static)
20450                bind(window, "resize", debouncedResize);
20451            if (window.ontouchstart !== undefined)
20452                bind(window.document, "touchstart", documentClick);
20453            else
20454                bind(window.document, "mousedown", documentClick);
20455            bind(window.document, "focus", documentClick, { capture: true });
20456            if (self.config.clickOpens === true) {
20457                bind(self._input, "focus", self.open);
20458                bind(self._input, "click", self.open);
20459            }
20460            if (self.daysContainer !== undefined) {
20461                bind(self.monthNav, "click", onMonthNavClick);
20462                bind(self.monthNav, ["keyup", "increment"], onYearInput);
20463                bind(self.daysContainer, "click", selectDate);
20464            }
20465            if (self.timeContainer !== undefined &&
20466                self.minuteElement !== undefined &&
20467                self.hourElement !== undefined) {
20468                var selText = function (e) {
20469                    return getEventTarget(e).select();
20470                };
20471                bind(self.timeContainer, ["increment"], updateTime);
20472                bind(self.timeContainer, "blur", updateTime, { capture: true });
20473                bind(self.timeContainer, "click", timeIncrement);
20474                bind([self.hourElement, self.minuteElement], ["focus", "click"], selText);
20475                if (self.secondElement !== undefined)
20476                    bind(self.secondElement, "focus", function () { return self.secondElement && self.secondElement.select(); });
20477                if (self.amPM !== undefined) {
20478                    bind(self.amPM, "click", function (e) {
20479                        updateTime(e);
20480                    });
20481                }
20482            }
20483            if (self.config.allowInput) {
20484                bind(self._input, "blur", onBlur);
20485            }
20486        }
20487        /**
20488         * Set the calendar view to a particular date.
20489         * @param {Date} jumpDate the date to set the view to
20490         * @param {boolean} triggerChange if change events should be triggered
20491         */
20492        function jumpToDate(jumpDate, triggerChange) {
20493            var jumpTo = jumpDate !== undefined
20494                ? self.parseDate(jumpDate)
20495                : self.latestSelectedDateObj ||
20496                    (self.config.minDate && self.config.minDate > self.now
20497                        ? self.config.minDate
20498                        : self.config.maxDate && self.config.maxDate < self.now
20499                            ? self.config.maxDate
20500                            : self.now);
20501            var oldYear = self.currentYear;
20502            var oldMonth = self.currentMonth;
20503            try {
20504                if (jumpTo !== undefined) {
20505                    self.currentYear = jumpTo.getFullYear();
20506                    self.currentMonth = jumpTo.getMonth();
20507                }
20508            }
20509            catch (e) {
20510                /* istanbul ignore next */
20511                e.message = "Invalid date supplied: " + jumpTo;
20512                self.config.errorHandler(e);
20513            }
20514            if (triggerChange && self.currentYear !== oldYear) {
20515                triggerEvent("onYearChange");
20516                buildMonthSwitch();
20517            }
20518            if (triggerChange &&
20519                (self.currentYear !== oldYear || self.currentMonth !== oldMonth)) {
20520                triggerEvent("onMonthChange");
20521            }
20522            self.redraw();
20523        }
20524        /**
20525         * The up/down arrow handler for time inputs
20526         * @param {Event} e the click event
20527         */
20528        function timeIncrement(e) {
20529            var eventTarget = getEventTarget(e);
20530            if (~eventTarget.className.indexOf("arrow"))
20531                incrementNumInput(e, eventTarget.classList.contains("arrowUp") ? 1 : -1);
20532        }
20533        /**
20534         * Increments/decrements the value of input associ-
20535         * ated with the up/down arrow by dispatching an
20536         * "increment" event on the input.
20537         *
20538         * @param {Event} e the click event
20539         * @param {Number} delta the diff (usually 1 or -1)
20540         * @param {Element} inputElem the input element
20541         */
20542        function incrementNumInput(e, delta, inputElem) {
20543            var target = e && getEventTarget(e);
20544            var input = inputElem ||
20545                (target && target.parentNode && target.parentNode.firstChild);
20546            var event = createEvent("increment");
20547            event.delta = delta;
20548            input && input.dispatchEvent(event);
20549        }
20550        function build() {
20551            var fragment = window.document.createDocumentFragment();
20552            self.calendarContainer = createElement("div", "flatpickr-calendar");
20553            self.calendarContainer.tabIndex = -1;
20554            if (!self.config.noCalendar) {
20555                fragment.appendChild(buildMonthNav());
20556                self.innerContainer = createElement("div", "flatpickr-innerContainer");
20557                if (self.config.weekNumbers) {
20558                    var _a = buildWeeks(), weekWrapper = _a.weekWrapper, weekNumbers = _a.weekNumbers;
20559                    self.innerContainer.appendChild(weekWrapper);
20560                    self.weekNumbers = weekNumbers;
20561                    self.weekWrapper = weekWrapper;
20562                }
20563                self.rContainer = createElement("div", "flatpickr-rContainer");
20564                self.rContainer.appendChild(buildWeekdays());
20565                if (!self.daysContainer) {
20566                    self.daysContainer = createElement("div", "flatpickr-days");
20567                    self.daysContainer.tabIndex = -1;
20568                }
20569                buildDays();
20570                self.rContainer.appendChild(self.daysContainer);
20571                self.innerContainer.appendChild(self.rContainer);
20572                fragment.appendChild(self.innerContainer);
20573            }
20574            if (self.config.enableTime) {
20575                fragment.appendChild(buildTime());
20576            }
20577            toggleClass(self.calendarContainer, "rangeMode", self.config.mode === "range");
20578            toggleClass(self.calendarContainer, "animate", self.config.animate === true);
20579            toggleClass(self.calendarContainer, "multiMonth", self.config.showMonths > 1);
20580            self.calendarContainer.appendChild(fragment);
20581            var customAppend = self.config.appendTo !== undefined &&
20582                self.config.appendTo.nodeType !== undefined;
20583            if (self.config.inline || self.config.static) {
20584                self.calendarContainer.classList.add(self.config.inline ? "inline" : "static");
20585                if (self.config.inline) {
20586                    if (!customAppend && self.element.parentNode)
20587                        self.element.parentNode.insertBefore(self.calendarContainer, self._input.nextSibling);
20588                    else if (self.config.appendTo !== undefined)
20589                        self.config.appendTo.appendChild(self.calendarContainer);
20590                }
20591                if (self.config.static) {
20592                    var wrapper = createElement("div", "flatpickr-wrapper");
20593                    if (self.element.parentNode)
20594                        self.element.parentNode.insertBefore(wrapper, self.element);
20595                    wrapper.appendChild(self.element);
20596                    if (self.altInput)
20597                        wrapper.appendChild(self.altInput);
20598                    wrapper.appendChild(self.calendarContainer);
20599                }
20600            }
20601            if (!self.config.static && !self.config.inline)
20602                (self.config.appendTo !== undefined
20603                    ? self.config.appendTo
20604                    : window.document.body).appendChild(self.calendarContainer);
20605        }
20606        function createDay(className, date, _dayNumber, i) {
20607            var dateIsEnabled = isEnabled(date, true), dayElement = createElement("span", className, date.getDate().toString());
20608            dayElement.dateObj = date;
20609            dayElement.$i = i;
20610            dayElement.setAttribute("aria-label", self.formatDate(date, self.config.ariaDateFormat));
20611            if (className.indexOf("hidden") === -1 &&
20612                compareDates(date, self.now) === 0) {
20613                self.todayDateElem = dayElement;
20614                dayElement.classList.add("today");
20615                dayElement.setAttribute("aria-current", "date");
20616            }
20617            if (dateIsEnabled) {
20618                dayElement.tabIndex = -1;
20619                if (isDateSelected(date)) {
20620                    dayElement.classList.add("selected");
20621                    self.selectedDateElem = dayElement;
20622                    if (self.config.mode === "range") {
20623                        toggleClass(dayElement, "startRange", self.selectedDates[0] &&
20624                            compareDates(date, self.selectedDates[0], true) === 0);
20625                        toggleClass(dayElement, "endRange", self.selectedDates[1] &&
20626                            compareDates(date, self.selectedDates[1], true) === 0);
20627                        if (className === "nextMonthDay")
20628                            dayElement.classList.add("inRange");
20629                    }
20630                }
20631            }
20632            else {
20633                dayElement.classList.add("flatpickr-disabled");
20634            }
20635            if (self.config.mode === "range") {
20636                if (isDateInRange(date) && !isDateSelected(date))
20637                    dayElement.classList.add("inRange");
20638            }
20639            if (self.weekNumbers &&
20640                self.config.showMonths === 1 &&
20641                className !== "prevMonthDay" &&
20642                i % 7 === 6) {
20643                self.weekNumbers.insertAdjacentHTML("beforeend", "<span class='flatpickr-day'>" + self.config.getWeek(date) + "</span>");
20644            }
20645            triggerEvent("onDayCreate", dayElement);
20646            return dayElement;
20647        }
20648        function focusOnDayElem(targetNode) {
20649            targetNode.focus();
20650            if (self.config.mode === "range")
20651                onMouseOver(targetNode);
20652        }
20653        function getFirstAvailableDay(delta) {
20654            var startMonth = delta > 0 ? 0 : self.config.showMonths - 1;
20655            var endMonth = delta > 0 ? self.config.showMonths : -1;
20656            for (var m = startMonth; m != endMonth; m += delta) {
20657                var month = self.daysContainer.children[m];
20658                var startIndex = delta > 0 ? 0 : month.children.length - 1;
20659                var endIndex = delta > 0 ? month.children.length : -1;
20660                for (var i = startIndex; i != endIndex; i += delta) {
20661                    var c = month.children[i];
20662                    if (c.className.indexOf("hidden") === -1 && isEnabled(c.dateObj))
20663                        return c;
20664                }
20665            }
20666            return undefined;
20667        }
20668        function getNextAvailableDay(current, delta) {
20669            var givenMonth = current.className.indexOf("Month") === -1
20670                ? current.dateObj.getMonth()
20671                : self.currentMonth;
20672            var endMonth = delta > 0 ? self.config.showMonths : -1;
20673            var loopDelta = delta > 0 ? 1 : -1;
20674            for (var m = givenMonth - self.currentMonth; m != endMonth; m += loopDelta) {
20675                var month = self.daysContainer.children[m];
20676                var startIndex = givenMonth - self.currentMonth === m
20677                    ? current.$i + delta
20678                    : delta < 0
20679                        ? month.children.length - 1
20680                        : 0;
20681                var numMonthDays = month.children.length;
20682                for (var i = startIndex; i >= 0 && i < numMonthDays && i != (delta > 0 ? numMonthDays : -1); i += loopDelta) {
20683                    var c = month.children[i];
20684                    if (c.className.indexOf("hidden") === -1 &&
20685                        isEnabled(c.dateObj) &&
20686                        Math.abs(current.$i - i) >= Math.abs(delta))
20687                        return focusOnDayElem(c);
20688                }
20689            }
20690            self.changeMonth(loopDelta);
20691            focusOnDay(getFirstAvailableDay(loopDelta), 0);
20692            return undefined;
20693        }
20694        function focusOnDay(current, offset) {
20695            var activeElement = getClosestActiveElement();
20696            var dayFocused = isInView(activeElement || document.body);
20697            var startElem = current !== undefined
20698                ? current
20699                : dayFocused
20700                    ? activeElement
20701                    : self.selectedDateElem !== undefined && isInView(self.selectedDateElem)
20702                        ? self.selectedDateElem
20703                        : self.todayDateElem !== undefined && isInView(self.todayDateElem)
20704                            ? self.todayDateElem
20705                            : getFirstAvailableDay(offset > 0 ? 1 : -1);
20706            if (startElem === undefined) {
20707                self._input.focus();
20708            }
20709            else if (!dayFocused) {
20710                focusOnDayElem(startElem);
20711            }
20712            else {
20713                getNextAvailableDay(startElem, offset);
20714            }
20715        }
20716        function buildMonthDays(year, month) {
20717            var firstOfMonth = (new Date(year, month, 1).getDay() - self.l10n.firstDayOfWeek + 7) % 7;
20718            var prevMonthDays = self.utils.getDaysInMonth((month - 1 + 12) % 12, year);
20719            var daysInMonth = self.utils.getDaysInMonth(month, year), days = window.document.createDocumentFragment(), isMultiMonth = self.config.showMonths > 1, prevMonthDayClass = isMultiMonth ? "prevMonthDay hidden" : "prevMonthDay", nextMonthDayClass = isMultiMonth ? "nextMonthDay hidden" : "nextMonthDay";
20720            var dayNumber = prevMonthDays + 1 - firstOfMonth, dayIndex = 0;
20721            // prepend days from the ending of previous month
20722            for (; dayNumber <= prevMonthDays; dayNumber++, dayIndex++) {
20723                days.appendChild(createDay("flatpickr-day " + prevMonthDayClass, new Date(year, month - 1, dayNumber), dayNumber, dayIndex));
20724            }
20725            // Start at 1 since there is no 0th day
20726            for (dayNumber = 1; dayNumber <= daysInMonth; dayNumber++, dayIndex++) {
20727                days.appendChild(createDay("flatpickr-day", new Date(year, month, dayNumber), dayNumber, dayIndex));
20728            }
20729            // append days from the next month
20730            for (var dayNum = daysInMonth + 1; dayNum <= 42 - firstOfMonth &&
20731                (self.config.showMonths === 1 || dayIndex % 7 !== 0); dayNum++, dayIndex++) {
20732                days.appendChild(createDay("flatpickr-day " + nextMonthDayClass, new Date(year, month + 1, dayNum % daysInMonth), dayNum, dayIndex));
20733            }
20734            //updateNavigationCurrentMonth();
20735            var dayContainer = createElement("div", "dayContainer");
20736            dayContainer.appendChild(days);
20737            return dayContainer;
20738        }
20739        function buildDays() {
20740            if (self.daysContainer === undefined) {
20741                return;
20742            }
20743            clearNode(self.daysContainer);
20744            // TODO: week numbers for each month
20745            if (self.weekNumbers)
20746                clearNode(self.weekNumbers);
20747            var frag = document.createDocumentFragment();
20748            for (var i = 0; i < self.config.showMonths; i++) {
20749                var d = new Date(self.currentYear, self.currentMonth, 1);
20750                d.setMonth(self.currentMonth + i);
20751                frag.appendChild(buildMonthDays(d.getFullYear(), d.getMonth()));
20752            }
20753            self.daysContainer.appendChild(frag);
20754            self.days = self.daysContainer.firstChild;
20755            if (self.config.mode === "range" && self.selectedDates.length === 1) {
20756                onMouseOver();
20757            }
20758        }
20759        function buildMonthSwitch() {
20760            if (self.config.showMonths > 1 ||
20761                self.config.monthSelectorType !== "dropdown")
20762                return;
20763            var shouldBuildMonth = function (month) {
20764                if (self.config.minDate !== undefined &&
20765                    self.currentYear === self.config.minDate.getFullYear() &&
20766                    month < self.config.minDate.getMonth()) {
20767                    return false;
20768                }
20769                return !(self.config.maxDate !== undefined &&
20770                    self.currentYear === self.config.maxDate.getFullYear() &&
20771                    month > self.config.maxDate.getMonth());
20772            };
20773            self.monthsDropdownContainer.tabIndex = -1;
20774            self.monthsDropdownContainer.innerHTML = "";
20775            for (var i = 0; i < 12; i++) {
20776                if (!shouldBuildMonth(i))
20777                    continue;
20778                var month = createElement("option", "flatpickr-monthDropdown-month");
20779                month.value = new Date(self.currentYear, i).getMonth().toString();
20780                month.textContent = monthToStr(i, self.config.shorthandCurrentMonth, self.l10n);
20781                month.tabIndex = -1;
20782                if (self.currentMonth === i) {
20783                    month.selected = true;
20784                }
20785                self.monthsDropdownContainer.appendChild(month);
20786            }
20787        }
20788        function buildMonth() {
20789            var container = createElement("div", "flatpickr-month");
20790            var monthNavFragment = window.document.createDocumentFragment();
20791            var monthElement;
20792            if (self.config.showMonths > 1 ||
20793                self.config.monthSelectorType === "static") {
20794                monthElement = createElement("span", "cur-month");
20795            }
20796            else {
20797                self.monthsDropdownContainer = createElement("select", "flatpickr-monthDropdown-months");
20798                self.monthsDropdownContainer.setAttribute("aria-label", self.l10n.monthAriaLabel);
20799                bind(self.monthsDropdownContainer, "change", function (e) {
20800                    var target = getEventTarget(e);
20801                    var selectedMonth = parseInt(target.value, 10);
20802                    self.changeMonth(selectedMonth - self.currentMonth);
20803                    triggerEvent("onMonthChange");
20804                });
20805                buildMonthSwitch();
20806                monthElement = self.monthsDropdownContainer;
20807            }
20808            var yearInput = createNumberInput("cur-year", { tabindex: "-1" });
20809            var yearElement = yearInput.getElementsByTagName("input")[0];
20810            yearElement.setAttribute("aria-label", self.l10n.yearAriaLabel);
20811            if (self.config.minDate) {
20812                yearElement.setAttribute("min", self.config.minDate.getFullYear().toString());
20813            }
20814            if (self.config.maxDate) {
20815                yearElement.setAttribute("max", self.config.maxDate.getFullYear().toString());
20816                yearElement.disabled =
20817                    !!self.config.minDate &&
20818                        self.config.minDate.getFullYear() === self.config.maxDate.getFullYear();
20819            }
20820            var currentMonth = createElement("div", "flatpickr-current-month");
20821            currentMonth.appendChild(monthElement);
20822            currentMonth.appendChild(yearInput);
20823            monthNavFragment.appendChild(currentMonth);
20824            container.appendChild(monthNavFragment);
20825            return {
20826                container: container,
20827                yearElement: yearElement,
20828                monthElement: monthElement,
20829            };
20830        }
20831        function buildMonths() {
20832            clearNode(self.monthNav);
20833            self.monthNav.appendChild(self.prevMonthNav);
20834            if (self.config.showMonths) {
20835                self.yearElements = [];
20836                self.monthElements = [];
20837            }
20838            for (var m = self.config.showMonths; m--;) {
20839                var month = buildMonth();
20840                self.yearElements.push(month.yearElement);
20841                self.monthElements.push(month.monthElement);
20842                self.monthNav.appendChild(month.container);
20843            }
20844            self.monthNav.appendChild(self.nextMonthNav);
20845        }
20846        function buildMonthNav() {
20847            self.monthNav = createElement("div", "flatpickr-months");
20848            self.yearElements = [];
20849            self.monthElements = [];
20850            self.prevMonthNav = createElement("span", "flatpickr-prev-month");
20851            self.prevMonthNav.innerHTML = self.config.prevArrow;
20852            self.nextMonthNav = createElement("span", "flatpickr-next-month");
20853            self.nextMonthNav.innerHTML = self.config.nextArrow;
20854            buildMonths();
20855            Object.defineProperty(self, "_hidePrevMonthArrow", {
20856                get: function () { return self.__hidePrevMonthArrow; },
20857                set: function (bool) {
20858                    if (self.__hidePrevMonthArrow !== bool) {
20859                        toggleClass(self.prevMonthNav, "flatpickr-disabled", bool);
20860                        self.__hidePrevMonthArrow = bool;
20861                    }
20862                },
20863            });
20864            Object.defineProperty(self, "_hideNextMonthArrow", {
20865                get: function () { return self.__hideNextMonthArrow; },
20866                set: function (bool) {
20867                    if (self.__hideNextMonthArrow !== bool) {
20868                        toggleClass(self.nextMonthNav, "flatpickr-disabled", bool);
20869                        self.__hideNextMonthArrow = bool;
20870                    }
20871                },
20872            });
20873            self.currentYearElement = self.yearElements[0];
20874            updateNavigationCurrentMonth();
20875            return self.monthNav;
20876        }
20877        function buildTime() {
20878            self.calendarContainer.classList.add("hasTime");
20879            if (self.config.noCalendar)
20880                self.calendarContainer.classList.add("noCalendar");
20881            var defaults = getDefaultHours(self.config);
20882            self.timeContainer = createElement("div", "flatpickr-time");
20883            self.timeContainer.tabIndex = -1;
20884            var separator = createElement("span", "flatpickr-time-separator", ":");
20885            var hourInput = createNumberInput("flatpickr-hour", {
20886                "aria-label": self.l10n.hourAriaLabel,
20887            });
20888            self.hourElement = hourInput.getElementsByTagName("input")[0];
20889            var minuteInput = createNumberInput("flatpickr-minute", {
20890                "aria-label": self.l10n.minuteAriaLabel,
20891            });
20892            self.minuteElement = minuteInput.getElementsByTagName("input")[0];
20893            self.hourElement.tabIndex = self.minuteElement.tabIndex = -1;
20894            self.hourElement.value = pad(self.latestSelectedDateObj
20895                ? self.latestSelectedDateObj.getHours()
20896                : self.config.time_24hr
20897                    ? defaults.hours
20898                    : military2ampm(defaults.hours));
20899            self.minuteElement.value = pad(self.latestSelectedDateObj
20900                ? self.latestSelectedDateObj.getMinutes()
20901                : defaults.minutes);
20902            self.hourElement.setAttribute("step", self.config.hourIncrement.toString());
20903            self.minuteElement.setAttribute("step", self.config.minuteIncrement.toString());
20904            self.hourElement.setAttribute("min", self.config.time_24hr ? "0" : "1");
20905            self.hourElement.setAttribute("max", self.config.time_24hr ? "23" : "12");
20906            self.hourElement.setAttribute("maxlength", "2");
20907            self.minuteElement.setAttribute("min", "0");
20908            self.minuteElement.setAttribute("max", "59");
20909            self.minuteElement.setAttribute("maxlength", "2");
20910            self.timeContainer.appendChild(hourInput);
20911            self.timeContainer.appendChild(separator);
20912            self.timeContainer.appendChild(minuteInput);
20913            if (self.config.time_24hr)
20914                self.timeContainer.classList.add("time24hr");
20915            if (self.config.enableSeconds) {
20916                self.timeContainer.classList.add("hasSeconds");
20917                var secondInput = createNumberInput("flatpickr-second");
20918                self.secondElement = secondInput.getElementsByTagName("input")[0];
20919                self.secondElement.value = pad(self.latestSelectedDateObj
20920                    ? self.latestSelectedDateObj.getSeconds()
20921                    : defaults.seconds);
20922                self.secondElement.setAttribute("step", self.minuteElement.getAttribute("step"));
20923                self.secondElement.setAttribute("min", "0");
20924                self.secondElement.setAttribute("max", "59");
20925                self.secondElement.setAttribute("maxlength", "2");
20926                self.timeContainer.appendChild(createElement("span", "flatpickr-time-separator", ":"));
20927                self.timeContainer.appendChild(secondInput);
20928            }
20929            if (!self.config.time_24hr) {
20930                // add self.amPM if appropriate
20931                self.amPM = createElement("span", "flatpickr-am-pm", self.l10n.amPM[int((self.latestSelectedDateObj
20932                    ? self.hourElement.value
20933                    : self.config.defaultHour) > 11)]);
20934                self.amPM.title = self.l10n.toggleTitle;
20935                self.amPM.tabIndex = -1;
20936                self.timeContainer.appendChild(self.amPM);
20937            }
20938            return self.timeContainer;
20939        }
20940        function buildWeekdays() {
20941            if (!self.weekdayContainer)
20942                self.weekdayContainer = createElement("div", "flatpickr-weekdays");
20943            else
20944                clearNode(self.weekdayContainer);
20945            for (var i = self.config.showMonths; i--;) {
20946                var container = createElement("div", "flatpickr-weekdaycontainer");
20947                self.weekdayContainer.appendChild(container);
20948            }
20949            updateWeekdays();
20950            return self.weekdayContainer;
20951        }
20952        function updateWeekdays() {
20953            if (!self.weekdayContainer) {
20954                return;
20955            }
20956            var firstDayOfWeek = self.l10n.firstDayOfWeek;
20957            var weekdays = __spreadArrays(self.l10n.weekdays.shorthand);
20958            if (firstDayOfWeek > 0 && firstDayOfWeek < weekdays.length) {
20959                weekdays = __spreadArrays(weekdays.splice(firstDayOfWeek, weekdays.length), weekdays.splice(0, firstDayOfWeek));
20960            }
20961            for (var i = self.config.showMonths; i--;) {
20962                self.weekdayContainer.children[i].innerHTML = "\n      <span class='flatpickr-weekday'>\n        " + weekdays.join("</span><span class='flatpickr-weekday'>") + "\n      </span>\n      ";
20963            }
20964        }
20965        /* istanbul ignore next */
20966        function buildWeeks() {
20967            self.calendarContainer.classList.add("hasWeeks");
20968            var weekWrapper = createElement("div", "flatpickr-weekwrapper");
20969            weekWrapper.appendChild(createElement("span", "flatpickr-weekday", self.l10n.weekAbbreviation));
20970            var weekNumbers = createElement("div", "flatpickr-weeks");
20971            weekWrapper.appendChild(weekNumbers);
20972            return {
20973                weekWrapper: weekWrapper,
20974                weekNumbers: weekNumbers,
20975            };
20976        }
20977        function changeMonth(value, isOffset) {
20978            if (isOffset === void 0) { isOffset = true; }
20979            var delta = isOffset ? value : value - self.currentMonth;
20980            if ((delta < 0 && self._hidePrevMonthArrow === true) ||
20981                (delta > 0 && self._hideNextMonthArrow === true))
20982                return;
20983            self.currentMonth += delta;
20984            if (self.currentMonth < 0 || self.currentMonth > 11) {
20985                self.currentYear += self.currentMonth > 11 ? 1 : -1;
20986                self.currentMonth = (self.currentMonth + 12) % 12;
20987                triggerEvent("onYearChange");
20988                buildMonthSwitch();
20989            }
20990            buildDays();
20991            triggerEvent("onMonthChange");
20992            updateNavigationCurrentMonth();
20993        }
20994        function clear(triggerChangeEvent, toInitial) {
20995            if (triggerChangeEvent === void 0) { triggerChangeEvent = true; }
20996            if (toInitial === void 0) { toInitial = true; }
20997            self.input.value = "";
20998            if (self.altInput !== undefined)
20999                self.altInput.value = "";
21000            if (self.mobileInput !== undefined)
21001                self.mobileInput.value = "";
21002            self.selectedDates = [];
21003            self.latestSelectedDateObj = undefined;
21004            if (toInitial === true) {
21005                self.currentYear = self._initialDate.getFullYear();
21006                self.currentMonth = self._initialDate.getMonth();
21007            }
21008            if (self.config.enableTime === true) {
21009                var _a = getDefaultHours(self.config), hours = _a.hours, minutes = _a.minutes, seconds = _a.seconds;
21010                setHours(hours, minutes, seconds);
21011            }
21012            self.redraw();
21013            if (triggerChangeEvent)
21014                // triggerChangeEvent is true (default) or an Event
21015                triggerEvent("onChange");
21016        }
21017        function close() {
21018            self.isOpen = false;
21019            if (!self.isMobile) {
21020                if (self.calendarContainer !== undefined) {
21021                    self.calendarContainer.classList.remove("open");
21022                }
21023                if (self._input !== undefined) {
21024                    self._input.classList.remove("active");
21025                }
21026            }
21027            triggerEvent("onClose");
21028        }
21029        function destroy() {
21030            if (self.config !== undefined)
21031                triggerEvent("onDestroy");
21032            for (var i = self._handlers.length; i--;) {
21033                self._handlers[i].remove();
21034            }
21035            self._handlers = [];
21036            if (self.mobileInput) {
21037                if (self.mobileInput.parentNode)
21038                    self.mobileInput.parentNode.removeChild(self.mobileInput);
21039                self.mobileInput = undefined;
21040            }
21041            else if (self.calendarContainer && self.calendarContainer.parentNode) {
21042                if (self.config.static && self.calendarContainer.parentNode) {
21043                    var wrapper = self.calendarContainer.parentNode;
21044                    wrapper.lastChild && wrapper.removeChild(wrapper.lastChild);
21045                    if (wrapper.parentNode) {
21046                        while (wrapper.firstChild)
21047                            wrapper.parentNode.insertBefore(wrapper.firstChild, wrapper);
21048                        wrapper.parentNode.removeChild(wrapper);
21049                    }
21050                }
21051                else
21052                    self.calendarContainer.parentNode.removeChild(self.calendarContainer);
21053            }
21054            if (self.altInput) {
21055                self.input.type = "text";
21056                if (self.altInput.parentNode)
21057                    self.altInput.parentNode.removeChild(self.altInput);
21058                delete self.altInput;
21059            }
21060            if (self.input) {
21061                self.input.type = self.input._type;
21062                self.input.classList.remove("flatpickr-input");
21063                self.input.removeAttribute("readonly");
21064            }
21065            [
21066                "_showTimeInput",
21067                "latestSelectedDateObj",
21068                "_hideNextMonthArrow",
21069                "_hidePrevMonthArrow",
21070                "__hideNextMonthArrow",
21071                "__hidePrevMonthArrow",
21072                "isMobile",
21073                "isOpen",
21074                "selectedDateElem",
21075                "minDateHasTime",
21076                "maxDateHasTime",
21077                "days",
21078                "daysContainer",
21079                "_input",
21080                "_positionElement",
21081                "innerContainer",
21082                "rContainer",
21083                "monthNav",
21084                "todayDateElem",
21085                "calendarContainer",
21086                "weekdayContainer",
21087                "prevMonthNav",
21088                "nextMonthNav",
21089                "monthsDropdownContainer",
21090                "currentMonthElement",
21091                "currentYearElement",
21092                "navigationCurrentMonth",
21093                "selectedDateElem",
21094                "config",
21095            ].forEach(function (k) {
21096                try {
21097                    delete self[k];
21098                }
21099                catch (_) { }
21100            });
21101        }
21102        function isCalendarElem(elem) {
21103            return self.calendarContainer.contains(elem);
21104        }
21105        function documentClick(e) {
21106            if (self.isOpen && !self.config.inline) {
21107                var eventTarget_1 = getEventTarget(e);
21108                var isCalendarElement = isCalendarElem(eventTarget_1);
21109                var isInput = eventTarget_1 === self.input ||
21110                    eventTarget_1 === self.altInput ||
21111                    self.element.contains(eventTarget_1) ||
21112                    // web components
21113                    // e.path is not present in all browsers. circumventing typechecks
21114                    (e.path &&
21115                        e.path.indexOf &&
21116                        (~e.path.indexOf(self.input) ||
21117                            ~e.path.indexOf(self.altInput)));
21118                var lostFocus = !isInput &&
21119                    !isCalendarElement &&
21120                    !isCalendarElem(e.relatedTarget);
21121                var isIgnored = !self.config.ignoredFocusElements.some(function (elem) {
21122                    return elem.contains(eventTarget_1);
21123                });
21124                if (lostFocus && isIgnored) {
21125                    if (self.config.allowInput) {
21126                        self.setDate(self._input.value, false, self.config.altInput
21127                            ? self.config.altFormat
21128                            : self.config.dateFormat);
21129                    }
21130                    if (self.timeContainer !== undefined &&
21131                        self.minuteElement !== undefined &&
21132                        self.hourElement !== undefined &&
21133                        self.input.value !== "" &&
21134                        self.input.value !== undefined) {
21135                        updateTime();
21136                    }
21137                    self.close();
21138                    if (self.config &&
21139                        self.config.mode === "range" &&
21140                        self.selectedDates.length === 1)
21141                        self.clear(false);
21142                }
21143            }
21144        }
21145        function changeYear(newYear) {
21146            if (!newYear ||
21147                (self.config.minDate && newYear < self.config.minDate.getFullYear()) ||
21148                (self.config.maxDate && newYear > self.config.maxDate.getFullYear()))
21149                return;
21150            var newYearNum = newYear, isNewYear = self.currentYear !== newYearNum;
21151            self.currentYear = newYearNum || self.currentYear;
21152            if (self.config.maxDate &&
21153                self.currentYear === self.config.maxDate.getFullYear()) {
21154                self.currentMonth = Math.min(self.config.maxDate.getMonth(), self.currentMonth);
21155            }
21156            else if (self.config.minDate &&
21157                self.currentYear === self.config.minDate.getFullYear()) {
21158                self.currentMonth = Math.max(self.config.minDate.getMonth(), self.currentMonth);
21159            }
21160            if (isNewYear) {
21161                self.redraw();
21162                triggerEvent("onYearChange");
21163                buildMonthSwitch();
21164            }
21165        }
21166        function isEnabled(date, timeless) {
21167            var _a;
21168            if (timeless === void 0) { timeless = true; }
21169            var dateToCheck = self.parseDate(date, undefined, timeless); // timeless
21170            if ((self.config.minDate &&
21171                dateToCheck &&
21172                compareDates(dateToCheck, self.config.minDate, timeless !== undefined ? timeless : !self.minDateHasTime) < 0) ||
21173                (self.config.maxDate &&
21174                    dateToCheck &&
21175                    compareDates(dateToCheck, self.config.maxDate, timeless !== undefined ? timeless : !self.maxDateHasTime) > 0))
21176                return false;
21177            if (!self.config.enable && self.config.disable.length === 0)
21178                return true;
21179            if (dateToCheck === undefined)
21180                return false;
21181            var bool = !!self.config.enable, array = (_a = self.config.enable) !== null && _a !== void 0 ? _a : self.config.disable;
21182            for (var i = 0, d = void 0; i < array.length; i++) {
21183                d = array[i];
21184                if (typeof d === "function" &&
21185                    d(dateToCheck) // disabled by function
21186                )
21187                    return bool;
21188                else if (d instanceof Date &&
21189                    dateToCheck !== undefined &&
21190                    d.getTime() === dateToCheck.getTime())
21191                    // disabled by date
21192                    return bool;
21193                else if (typeof d === "string") {
21194                    // disabled by date string
21195                    var parsed = self.parseDate(d, undefined, true);
21196                    return parsed && parsed.getTime() === dateToCheck.getTime()
21197                        ? bool
21198                        : !bool;
21199                }
21200                else if (
21201                // disabled by range
21202                typeof d === "object" &&
21203                    dateToCheck !== undefined &&
21204                    d.from &&
21205                    d.to &&
21206                    dateToCheck.getTime() >= d.from.getTime() &&
21207                    dateToCheck.getTime() <= d.to.getTime())
21208                    return bool;
21209            }
21210            return !bool;
21211        }
21212        function isInView(elem) {
21213            if (self.daysContainer !== undefined)
21214                return (elem.className.indexOf("hidden") === -1 &&
21215                    elem.className.indexOf("flatpickr-disabled") === -1 &&
21216                    self.daysContainer.contains(elem));
21217            return false;
21218        }
21219        function onBlur(e) {
21220            var isInput = e.target === self._input;
21221            var valueChanged = self._input.value.trimEnd() !== getDateStr();
21222            if (isInput &&
21223                valueChanged &&
21224                !(e.relatedTarget && isCalendarElem(e.relatedTarget))) {
21225                self.setDate(self._input.value, true, e.target === self.altInput
21226                    ? self.config.altFormat
21227                    : self.config.dateFormat);
21228            }
21229        }
21230        function onKeyDown(e) {
21231            // e.key                      e.keyCode
21232            // "Backspace"                        8
21233            // "Tab"                              9
21234            // "Enter"                           13
21235            // "Escape"     (IE "Esc")           27
21236            // "ArrowLeft"  (IE "Left")          37
21237            // "ArrowUp"    (IE "Up")            38
21238            // "ArrowRight" (IE "Right")         39
21239            // "ArrowDown"  (IE "Down")          40
21240            // "Delete"     (IE "Del")           46
21241            var eventTarget = getEventTarget(e);
21242            var isInput = self.config.wrap
21243                ? element.contains(eventTarget)
21244                : eventTarget === self._input;
21245            var allowInput = self.config.allowInput;
21246            var allowKeydown = self.isOpen && (!allowInput || !isInput);
21247            var allowInlineKeydown = self.config.inline && isInput && !allowInput;
21248            if (e.keyCode === 13 && isInput) {
21249                if (allowInput) {
21250                    self.setDate(self._input.value, true, eventTarget === self.altInput
21251                        ? self.config.altFormat
21252                        : self.config.dateFormat);
21253                    self.close();
21254                    return eventTarget.blur();
21255                }
21256                else {
21257                    self.open();
21258                }
21259            }
21260            else if (isCalendarElem(eventTarget) ||
21261                allowKeydown ||
21262                allowInlineKeydown) {
21263                var isTimeObj = !!self.timeContainer &&
21264                    self.timeContainer.contains(eventTarget);
21265                switch (e.keyCode) {
21266                    case 13:
21267                        if (isTimeObj) {
21268                            e.preventDefault();
21269                            updateTime();
21270                            focusAndClose();
21271                        }
21272                        else
21273                            selectDate(e);
21274                        break;
21275                    case 27: // escape
21276                        e.preventDefault();
21277                        focusAndClose();
21278                        break;
21279                    case 8:
21280                    case 46:
21281                        if (isInput && !self.config.allowInput) {
21282                            e.preventDefault();
21283                            self.clear();
21284                        }
21285                        break;
21286                    case 37:
21287                    case 39:
21288                        if (!isTimeObj && !isInput) {
21289                            e.preventDefault();
21290                            var activeElement = getClosestActiveElement();
21291                            if (self.daysContainer !== undefined &&
21292                                (allowInput === false ||
21293                                    (activeElement && isInView(activeElement)))) {
21294                                var delta_1 = e.keyCode === 39 ? 1 : -1;
21295                                if (!e.ctrlKey)
21296                                    focusOnDay(undefined, delta_1);
21297                                else {
21298                                    e.stopPropagation();
21299                                    changeMonth(delta_1);
21300                                    focusOnDay(getFirstAvailableDay(1), 0);
21301                                }
21302                            }
21303                        }
21304                        else if (self.hourElement)
21305                            self.hourElement.focus();
21306                        break;
21307                    case 38:
21308                    case 40:
21309                        e.preventDefault();
21310                        var delta = e.keyCode === 40 ? 1 : -1;
21311                        if ((self.daysContainer &&
21312                            eventTarget.$i !== undefined) ||
21313                            eventTarget === self.input ||
21314                            eventTarget === self.altInput) {
21315                            if (e.ctrlKey) {
21316                                e.stopPropagation();
21317                                changeYear(self.currentYear - delta);
21318                                focusOnDay(getFirstAvailableDay(1), 0);
21319                            }
21320                            else if (!isTimeObj)
21321                                focusOnDay(undefined, delta * 7);
21322                        }
21323                        else if (eventTarget === self.currentYearElement) {
21324                            changeYear(self.currentYear - delta);
21325                        }
21326                        else if (self.config.enableTime) {
21327                            if (!isTimeObj && self.hourElement)
21328                                self.hourElement.focus();
21329                            updateTime(e);
21330                            self._debouncedChange();
21331                        }
21332                        break;
21333                    case 9:
21334                        if (isTimeObj) {
21335                            var elems = [
21336                                self.hourElement,
21337                                self.minuteElement,
21338                                self.secondElement,
21339                                self.amPM,
21340                            ]
21341                                .concat(self.pluginElements)
21342                                .filter(function (x) { return x; });
21343                            var i = elems.indexOf(eventTarget);
21344                            if (i !== -1) {
21345                                var target = elems[i + (e.shiftKey ? -1 : 1)];
21346                                e.preventDefault();
21347                                (target || self._input).focus();
21348                            }
21349                        }
21350                        else if (!self.config.noCalendar &&
21351                            self.daysContainer &&
21352                            self.daysContainer.contains(eventTarget) &&
21353                            e.shiftKey) {
21354                            e.preventDefault();
21355                            self._input.focus();
21356                        }
21357                        break;
21358                }
21359            }
21360            if (self.amPM !== undefined && eventTarget === self.amPM) {
21361                switch (e.key) {
21362                    case self.l10n.amPM[0].charAt(0):
21363                    case self.l10n.amPM[0].charAt(0).toLowerCase():
21364                        self.amPM.textContent = self.l10n.amPM[0];
21365                        setHoursFromInputs();
21366                        updateValue();
21367                        break;
21368                    case self.l10n.amPM[1].charAt(0):
21369                    case self.l10n.amPM[1].charAt(0).toLowerCase():
21370                        self.amPM.textContent = self.l10n.amPM[1];
21371                        setHoursFromInputs();
21372                        updateValue();
21373                        break;
21374                }
21375            }
21376            if (isInput || isCalendarElem(eventTarget)) {
21377                triggerEvent("onKeyDown", e);
21378            }
21379        }
21380        function onMouseOver(elem, cellClass) {
21381            if (cellClass === void 0) { cellClass = "flatpickr-day"; }
21382            if (self.selectedDates.length !== 1 ||
21383                (elem &&
21384                    (!elem.classList.contains(cellClass) ||
21385                        elem.classList.contains("flatpickr-disabled"))))
21386                return;
21387            var hoverDate = elem
21388                ? elem.dateObj.getTime()
21389                : self.days.firstElementChild.dateObj.getTime(), initialDate = self.parseDate(self.selectedDates[0], undefined, true).getTime(), rangeStartDate = Math.min(hoverDate, self.selectedDates[0].getTime()), rangeEndDate = Math.max(hoverDate, self.selectedDates[0].getTime());
21390            var containsDisabled = false;
21391            var minRange = 0, maxRange = 0;
21392            for (var t = rangeStartDate; t < rangeEndDate; t += duration.DAY) {
21393                if (!isEnabled(new Date(t), true)) {
21394                    containsDisabled =
21395                        containsDisabled || (t > rangeStartDate && t < rangeEndDate);
21396                    if (t < initialDate && (!minRange || t > minRange))
21397                        minRange = t;
21398                    else if (t > initialDate && (!maxRange || t < maxRange))
21399                        maxRange = t;
21400                }
21401            }
21402            var hoverableCells = Array.from(self.rContainer.querySelectorAll("*:nth-child(-n+" + self.config.showMonths + ") > ." + cellClass));
21403            hoverableCells.forEach(function (dayElem) {
21404                var date = dayElem.dateObj;
21405                var timestamp = date.getTime();
21406                var outOfRange = (minRange > 0 && timestamp < minRange) ||
21407                    (maxRange > 0 && timestamp > maxRange);
21408                if (outOfRange) {
21409                    dayElem.classList.add("notAllowed");
21410                    ["inRange", "startRange", "endRange"].forEach(function (c) {
21411                        dayElem.classList.remove(c);
21412                    });
21413                    return;
21414                }
21415                else if (containsDisabled && !outOfRange)
21416                    return;
21417                ["startRange", "inRange", "endRange", "notAllowed"].forEach(function (c) {
21418                    dayElem.classList.remove(c);
21419                });
21420                if (elem !== undefined) {
21421                    elem.classList.add(hoverDate <= self.selectedDates[0].getTime()
21422                        ? "startRange"
21423                        : "endRange");
21424                    if (initialDate < hoverDate && timestamp === initialDate)
21425                        dayElem.classList.add("startRange");
21426                    else if (initialDate > hoverDate && timestamp === initialDate)
21427                        dayElem.classList.add("endRange");
21428                    if (timestamp >= minRange &&
21429                        (maxRange === 0 || timestamp <= maxRange) &&
21430                        isBetween(timestamp, initialDate, hoverDate))
21431                        dayElem.classList.add("inRange");
21432                }
21433            });
21434        }
21435        function onResize() {
21436            if (self.isOpen && !self.config.static && !self.config.inline)
21437                positionCalendar();
21438        }
21439        function open(e, positionElement) {
21440            if (positionElement === void 0) { positionElement = self._positionElement; }
21441            if (self.isMobile === true) {
21442                if (e) {
21443                    e.preventDefault();
21444                    var eventTarget = getEventTarget(e);
21445                    if (eventTarget) {
21446                        eventTarget.blur();
21447                    }
21448                }
21449                if (self.mobileInput !== undefined) {
21450                    self.mobileInput.focus();
21451                    self.mobileInput.click();
21452                }
21453                triggerEvent("onOpen");
21454                return;
21455            }
21456            else if (self._input.disabled || self.config.inline) {
21457                return;
21458            }
21459            var wasOpen = self.isOpen;
21460            self.isOpen = true;
21461            if (!wasOpen) {
21462                self.calendarContainer.classList.add("open");
21463                self._input.classList.add("active");
21464                triggerEvent("onOpen");
21465                positionCalendar(positionElement);
21466            }
21467            if (self.config.enableTime === true && self.config.noCalendar === true) {
21468                if (self.config.allowInput === false &&
21469                    (e === undefined ||
21470                        !self.timeContainer.contains(e.relatedTarget))) {
21471                    setTimeout(function () { return self.hourElement.select(); }, 50);
21472                }
21473            }
21474        }
21475        function minMaxDateSetter(type) {
21476            return function (date) {
21477                var dateObj = (self.config["_" + type + "Date"] = self.parseDate(date, self.config.dateFormat));
21478                var inverseDateObj = self.config["_" + (type === "min" ? "max" : "min") + "Date"];
21479                if (dateObj !== undefined) {
21480                    self[type === "min" ? "minDateHasTime" : "maxDateHasTime"] =
21481                        dateObj.getHours() > 0 ||
21482                            dateObj.getMinutes() > 0 ||
21483                            dateObj.getSeconds() > 0;
21484                }
21485                if (self.selectedDates) {
21486                    self.selectedDates = self.selectedDates.filter(function (d) { return isEnabled(d); });
21487                    if (!self.selectedDates.length && type === "min")
21488                        setHoursFromDate(dateObj);
21489                    updateValue();
21490                }
21491                if (self.daysContainer) {
21492                    redraw();
21493                    if (dateObj !== undefined)
21494                        self.currentYearElement[type] = dateObj.getFullYear().toString();
21495                    else
21496                        self.currentYearElement.removeAttribute(type);
21497                    self.currentYearElement.disabled =
21498                        !!inverseDateObj &&
21499                            dateObj !== undefined &&
21500                            inverseDateObj.getFullYear() === dateObj.getFullYear();
21501                }
21502            };
21503        }
21504        function parseConfig() {
21505            var boolOpts = [
21506                "wrap",
21507                "weekNumbers",
21508                "allowInput",
21509                "allowInvalidPreload",
21510                "clickOpens",
21511                "time_24hr",
21512                "enableTime",
21513                "noCalendar",
21514                "altInput",
21515                "shorthandCurrentMonth",
21516                "inline",
21517                "static",
21518                "enableSeconds",
21519                "disableMobile",
21520            ];
21521            var userConfig = __assign(__assign({}, JSON.parse(JSON.stringify(element.dataset || {}))), instanceConfig);
21522            var formats = {};
21523            self.config.parseDate = userConfig.parseDate;
21524            self.config.formatDate = userConfig.formatDate;
21525            Object.defineProperty(self.config, "enable", {
21526                get: function () { return self.config._enable; },
21527                set: function (dates) {
21528                    self.config._enable = parseDateRules(dates);
21529                },
21530            });
21531            Object.defineProperty(self.config, "disable", {
21532                get: function () { return self.config._disable; },
21533                set: function (dates) {
21534                    self.config._disable = parseDateRules(dates);
21535                },
21536            });
21537            var timeMode = userConfig.mode === "time";
21538            if (!userConfig.dateFormat && (userConfig.enableTime || timeMode)) {
21539                var defaultDateFormat = flatpickr.defaultConfig.dateFormat || defaults.dateFormat;
21540                formats.dateFormat =
21541                    userConfig.noCalendar || timeMode
21542                        ? "H:i" + (userConfig.enableSeconds ? ":S" : "")
21543                        : defaultDateFormat + " H:i" + (userConfig.enableSeconds ? ":S" : "");
21544            }
21545            if (userConfig.altInput &&
21546                (userConfig.enableTime || timeMode) &&
21547                !userConfig.altFormat) {
21548                var defaultAltFormat = flatpickr.defaultConfig.altFormat || defaults.altFormat;
21549                formats.altFormat =
21550                    userConfig.noCalendar || timeMode
21551                        ? "h:i" + (userConfig.enableSeconds ? ":S K" : " K")
21552                        : defaultAltFormat + (" h:i" + (userConfig.enableSeconds ? ":S" : "") + " K");
21553            }
21554            Object.defineProperty(self.config, "minDate", {
21555                get: function () { return self.config._minDate; },
21556                set: minMaxDateSetter("min"),
21557            });
21558            Object.defineProperty(self.config, "maxDate", {
21559                get: function () { return self.config._maxDate; },
21560                set: minMaxDateSetter("max"),
21561            });
21562            var minMaxTimeSetter = function (type) { return function (val) {
21563                self.config[type === "min" ? "_minTime" : "_maxTime"] = self.parseDate(val, "H:i:S");
21564            }; };
21565            Object.defineProperty(self.config, "minTime", {
21566                get: function () { return self.config._minTime; },
21567                set: minMaxTimeSetter("min"),
21568            });
21569            Object.defineProperty(self.config, "maxTime", {
21570                get: function () { return self.config._maxTime; },
21571                set: minMaxTimeSetter("max"),
21572            });
21573            if (userConfig.mode === "time") {
21574                self.config.noCalendar = true;
21575                self.config.enableTime = true;
21576            }
21577            Object.assign(self.config, formats, userConfig);
21578            for (var i = 0; i < boolOpts.length; i++)
21579                // https://github.com/microsoft/TypeScript/issues/31663
21580                self.config[boolOpts[i]] =
21581                    self.config[boolOpts[i]] === true ||
21582                        self.config[boolOpts[i]] === "true";
21583            HOOKS.filter(function (hook) { return self.config[hook] !== undefined; }).forEach(function (hook) {
21584                self.config[hook] = arrayify(self.config[hook] || []).map(bindToInstance);
21585            });
21586            self.isMobile =
21587                !self.config.disableMobile &&
21588                    !self.config.inline &&
21589                    self.config.mode === "single" &&
21590                    !self.config.disable.length &&
21591                    !self.config.enable &&
21592                    !self.config.weekNumbers &&
21593                    /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
21594            for (var i = 0; i < self.config.plugins.length; i++) {
21595                var pluginConf = self.config.plugins[i](self) || {};
21596                for (var key in pluginConf) {
21597                    if (HOOKS.indexOf(key) > -1) {
21598                        self.config[key] = arrayify(pluginConf[key])
21599                            .map(bindToInstance)
21600                            .concat(self.config[key]);
21601                    }
21602                    else if (typeof userConfig[key] === "undefined")
21603                        self.config[key] = pluginConf[key];
21604                }
21605            }
21606            if (!userConfig.altInputClass) {
21607                self.config.altInputClass =
21608                    getInputElem().className + " " + self.config.altInputClass;
21609            }
21610            triggerEvent("onParseConfig");
21611        }
21612        function getInputElem() {
21613            return self.config.wrap
21614                ? element.querySelector("[data-input]")
21615                : element;
21616        }
21617        function setupLocale() {
21618            if (typeof self.config.locale !== "object" &&
21619                typeof flatpickr.l10ns[self.config.locale] === "undefined")
21620                self.config.errorHandler(new Error("flatpickr: invalid locale " + self.config.locale));
21621            self.l10n = __assign(__assign({}, flatpickr.l10ns.default), (typeof self.config.locale === "object"
21622                ? self.config.locale
21623                : self.config.locale !== "default"
21624                    ? flatpickr.l10ns[self.config.locale]
21625                    : undefined));
21626            tokenRegex.D = "(" + self.l10n.weekdays.shorthand.join("|") + ")";
21627            tokenRegex.l = "(" + self.l10n.weekdays.longhand.join("|") + ")";
21628            tokenRegex.M = "(" + self.l10n.months.shorthand.join("|") + ")";
21629            tokenRegex.F = "(" + self.l10n.months.longhand.join("|") + ")";
21630            tokenRegex.K = "(" + self.l10n.amPM[0] + "|" + self.l10n.amPM[1] + "|" + self.l10n.amPM[0].toLowerCase() + "|" + self.l10n.amPM[1].toLowerCase() + ")";
21631            var userConfig = __assign(__assign({}, instanceConfig), JSON.parse(JSON.stringify(element.dataset || {})));
21632            if (userConfig.time_24hr === undefined &&
21633                flatpickr.defaultConfig.time_24hr === undefined) {
21634                self.config.time_24hr = self.l10n.time_24hr;
21635            }
21636            self.formatDate = createDateFormatter(self);
21637            self.parseDate = createDateParser({ config: self.config, l10n: self.l10n });
21638        }
21639        function positionCalendar(customPositionElement) {
21640            if (typeof self.config.position === "function") {
21641                return void self.config.position(self, customPositionElement);
21642            }
21643            if (self.calendarContainer === undefined)
21644                return;
21645            triggerEvent("onPreCalendarPosition");
21646            var positionElement = customPositionElement || self._positionElement;
21647            var calendarHeight = Array.prototype.reduce.call(self.calendarContainer.children, (function (acc, child) { return acc + child.offsetHeight; }), 0), calendarWidth = self.calendarContainer.offsetWidth, configPos = self.config.position.split(" "), configPosVertical = configPos[0], configPosHorizontal = configPos.length > 1 ? configPos[1] : null, inputBounds = positionElement.getBoundingClientRect(), distanceFromBottom = window.innerHeight - inputBounds.bottom, showOnTop = configPosVertical === "above" ||
21648                (configPosVertical !== "below" &&
21649                    distanceFromBottom < calendarHeight &&
21650                    inputBounds.top > calendarHeight);
21651            var top = window.pageYOffset +
21652                inputBounds.top +
21653                (!showOnTop ? positionElement.offsetHeight + 2 : -calendarHeight - 2);
21654            toggleClass(self.calendarContainer, "arrowTop", !showOnTop);
21655            toggleClass(self.calendarContainer, "arrowBottom", showOnTop);
21656            if (self.config.inline)
21657                return;
21658            var left = window.pageXOffset + inputBounds.left;
21659            var isCenter = false;
21660            var isRight = false;
21661            if (configPosHorizontal === "center") {
21662                left -= (calendarWidth - inputBounds.width) / 2;
21663                isCenter = true;
21664            }
21665            else if (configPosHorizontal === "right") {
21666                left -= calendarWidth - inputBounds.width;
21667                isRight = true;
21668            }
21669            toggleClass(self.calendarContainer, "arrowLeft", !isCenter && !isRight);
21670            toggleClass(self.calendarContainer, "arrowCenter", isCenter);
21671            toggleClass(self.calendarContainer, "arrowRight", isRight);
21672            var right = window.document.body.offsetWidth -
21673                (window.pageXOffset + inputBounds.right);
21674            var rightMost = left + calendarWidth > window.document.body.offsetWidth;
21675            var centerMost = right + calendarWidth > window.document.body.offsetWidth;
21676            toggleClass(self.calendarContainer, "rightMost", rightMost);
21677            if (self.config.static)
21678                return;
21679            self.calendarContainer.style.top = top + "px";
21680            if (!rightMost) {
21681                self.calendarContainer.style.left = left + "px";
21682                self.calendarContainer.style.right = "auto";
21683            }
21684            else if (!centerMost) {
21685                self.calendarContainer.style.left = "auto";
21686                self.calendarContainer.style.right = right + "px";
21687            }
21688            else {
21689                var doc = getDocumentStyleSheet();
21690                // some testing environments don't have css support
21691                if (doc === undefined)
21692                    return;
21693                var bodyWidth = window.document.body.offsetWidth;
21694                var centerLeft = Math.max(0, bodyWidth / 2 - calendarWidth / 2);
21695                var centerBefore = ".flatpickr-calendar.centerMost:before";
21696                var centerAfter = ".flatpickr-calendar.centerMost:after";
21697                var centerIndex = doc.cssRules.length;
21698                var centerStyle = "{left:" + inputBounds.left + "px;right:auto;}";
21699                toggleClass(self.calendarContainer, "rightMost", false);
21700                toggleClass(self.calendarContainer, "centerMost", true);
21701                doc.insertRule(centerBefore + "," + centerAfter + centerStyle, centerIndex);
21702                self.calendarContainer.style.left = centerLeft + "px";
21703                self.calendarContainer.style.right = "auto";
21704            }
21705        }
21706        function getDocumentStyleSheet() {
21707            var editableSheet = null;
21708            for (var i = 0; i < document.styleSheets.length; i++) {
21709                var sheet = document.styleSheets[i];
21710                if (!sheet.cssRules)
21711                    continue;
21712                try {
21713                    sheet.cssRules;
21714                }
21715                catch (err) {
21716                    continue;
21717                }
21718                editableSheet = sheet;
21719                break;
21720            }
21721            return editableSheet != null ? editableSheet : createStyleSheet();
21722        }
21723        function createStyleSheet() {
21724            var style = document.createElement("style");
21725            document.head.appendChild(style);
21726            return style.sheet;
21727        }
21728        function redraw() {
21729            if (self.config.noCalendar || self.isMobile)
21730                return;
21731            buildMonthSwitch();
21732            updateNavigationCurrentMonth();
21733            buildDays();
21734        }
21735        function focusAndClose() {
21736            self._input.focus();
21737            if (window.navigator.userAgent.indexOf("MSIE") !== -1 ||
21738                navigator.msMaxTouchPoints !== undefined) {
21739                // hack - bugs in the way IE handles focus keeps the calendar open
21740                setTimeout(self.close, 0);
21741            }
21742            else {
21743                self.close();
21744            }
21745        }
21746        function selectDate(e) {
21747            e.preventDefault();
21748            e.stopPropagation();
21749            var isSelectable = function (day) {
21750                return day.classList &&
21751                    day.classList.contains("flatpickr-day") &&
21752                    !day.classList.contains("flatpickr-disabled") &&
21753                    !day.classList.contains("notAllowed");
21754            };
21755            var t = findParent(getEventTarget(e), isSelectable);
21756            if (t === undefined)
21757                return;
21758            var target = t;
21759            var selectedDate = (self.latestSelectedDateObj = new Date(target.dateObj.getTime()));
21760            var shouldChangeMonth = (selectedDate.getMonth() < self.currentMonth ||
21761                selectedDate.getMonth() >
21762                    self.currentMonth + self.config.showMonths - 1) &&
21763                self.config.mode !== "range";
21764            self.selectedDateElem = target;
21765            if (self.config.mode === "single")
21766                self.selectedDates = [selectedDate];
21767            else if (self.config.mode === "multiple") {
21768                var selectedIndex = isDateSelected(selectedDate);
21769                if (selectedIndex)
21770                    self.selectedDates.splice(parseInt(selectedIndex), 1);
21771                else
21772                    self.selectedDates.push(selectedDate);
21773            }
21774            else if (self.config.mode === "range") {
21775                if (self.selectedDates.length === 2) {
21776                    self.clear(false, false);
21777                }
21778                self.latestSelectedDateObj = selectedDate;
21779                self.selectedDates.push(selectedDate);
21780                // unless selecting same date twice, sort ascendingly
21781                if (compareDates(selectedDate, self.selectedDates[0], true) !== 0)
21782                    self.selectedDates.sort(function (a, b) { return a.getTime() - b.getTime(); });
21783            }
21784            setHoursFromInputs();
21785            if (shouldChangeMonth) {
21786                var isNewYear = self.currentYear !== selectedDate.getFullYear();
21787                self.currentYear = selectedDate.getFullYear();
21788                self.currentMonth = selectedDate.getMonth();
21789                if (isNewYear) {
21790                    triggerEvent("onYearChange");
21791                    buildMonthSwitch();
21792                }
21793                triggerEvent("onMonthChange");
21794            }
21795            updateNavigationCurrentMonth();
21796            buildDays();
21797            updateValue();
21798            // maintain focus
21799            if (!shouldChangeMonth &&
21800                self.config.mode !== "range" &&
21801                self.config.showMonths === 1)
21802                focusOnDayElem(target);
21803            else if (self.selectedDateElem !== undefined &&
21804                self.hourElement === undefined) {
21805                self.selectedDateElem && self.selectedDateElem.focus();
21806            }
21807            if (self.hourElement !== undefined)
21808                self.hourElement !== undefined && self.hourElement.focus();
21809            if (self.config.closeOnSelect) {
21810                var single = self.config.mode === "single" && !self.config.enableTime;
21811                var range = self.config.mode === "range" &&
21812                    self.selectedDates.length === 2 &&
21813                    !self.config.enableTime;
21814                if (single || range) {
21815                    focusAndClose();
21816                }
21817            }
21818            triggerChange();
21819        }
21820        var CALLBACKS = {
21821            locale: [setupLocale, updateWeekdays],
21822            showMonths: [buildMonths, setCalendarWidth, buildWeekdays],
21823            minDate: [jumpToDate],
21824            maxDate: [jumpToDate],
21825            positionElement: [updatePositionElement],
21826            clickOpens: [
21827                function () {
21828                    if (self.config.clickOpens === true) {
21829                        bind(self._input, "focus", self.open);
21830                        bind(self._input, "click", self.open);
21831                    }
21832                    else {
21833                        self._input.removeEventListener("focus", self.open);
21834                        self._input.removeEventListener("click", self.open);
21835                    }
21836                },
21837            ],
21838        };
21839        function set(option, value) {
21840            if (option !== null && typeof option === "object") {
21841                Object.assign(self.config, option);
21842                for (var key in option) {
21843                    if (CALLBACKS[key] !== undefined)
21844                        CALLBACKS[key].forEach(function (x) { return x(); });
21845                }
21846            }
21847            else {
21848                self.config[option] = value;
21849                if (CALLBACKS[option] !== undefined)
21850                    CALLBACKS[option].forEach(function (x) { return x(); });
21851                else if (HOOKS.indexOf(option) > -1)
21852                    self.config[option] = arrayify(value);
21853            }
21854            self.redraw();
21855            updateValue(true);
21856        }
21857        function setSelectedDate(inputDate, format) {
21858            var dates = [];
21859            if (inputDate instanceof Array)
21860                dates = inputDate.map(function (d) { return self.parseDate(d, format); });
21861            else if (inputDate instanceof Date || typeof inputDate === "number")
21862                dates = [self.parseDate(inputDate, format)];
21863            else if (typeof inputDate === "string") {
21864                switch (self.config.mode) {
21865                    case "single":
21866                    case "time":
21867                        dates = [self.parseDate(inputDate, format)];
21868                        break;
21869                    case "multiple":
21870                        dates = inputDate
21871                            .split(self.config.conjunction)
21872                            .map(function (date) { return self.parseDate(date, format); });
21873                        break;
21874                    case "range":
21875                        dates = inputDate
21876                            .split(self.l10n.rangeSeparator)
21877                            .map(function (date) { return self.parseDate(date, format); });
21878                        break;
21879                }
21880            }
21881            else
21882                self.config.errorHandler(new Error("Invalid date supplied: " + JSON.stringify(inputDate)));
21883            self.selectedDates = (self.config.allowInvalidPreload
21884                ? dates
21885                : dates.filter(function (d) { return d instanceof Date && isEnabled(d, false); }));
21886            if (self.config.mode === "range")
21887                self.selectedDates.sort(function (a, b) { return a.getTime() - b.getTime(); });
21888        }
21889        function setDate(date, triggerChange, format) {
21890            if (triggerChange === void 0) { triggerChange = false; }
21891            if (format === void 0) { format = self.config.dateFormat; }
21892            if ((date !== 0 && !date) || (date instanceof Array && date.length === 0))
21893                return self.clear(triggerChange);
21894            setSelectedDate(date, format);
21895            self.latestSelectedDateObj =
21896                self.selectedDates[self.selectedDates.length - 1];
21897            self.redraw();
21898            jumpToDate(undefined, triggerChange);
21899            setHoursFromDate();
21900            if (self.selectedDates.length === 0) {
21901                self.clear(false);
21902            }
21903            updateValue(triggerChange);
21904            if (triggerChange)
21905                triggerEvent("onChange");
21906        }
21907        function parseDateRules(arr) {
21908            return arr
21909                .slice()
21910                .map(function (rule) {
21911                if (typeof rule === "string" ||
21912                    typeof rule === "number" ||
21913                    rule instanceof Date) {
21914                    return self.parseDate(rule, undefined, true);
21915                }
21916                else if (rule &&
21917                    typeof rule === "object" &&
21918                    rule.from &&
21919                    rule.to)
21920                    return {
21921                        from: self.parseDate(rule.from, undefined),
21922                        to: self.parseDate(rule.to, undefined),
21923                    };
21924                return rule;
21925            })
21926                .filter(function (x) { return x; }); // remove falsy values
21927        }
21928        function setupDates() {
21929            self.selectedDates = [];
21930            self.now = self.parseDate(self.config.now) || new Date();
21931            // Workaround IE11 setting placeholder as the input's value
21932            var preloadedDate = self.config.defaultDate ||
21933                ((self.input.nodeName === "INPUT" ||
21934                    self.input.nodeName === "TEXTAREA") &&
21935                    self.input.placeholder &&
21936                    self.input.value === self.input.placeholder
21937                    ? null
21938                    : self.input.value);
21939            if (preloadedDate)
21940                setSelectedDate(preloadedDate, self.config.dateFormat);
21941            self._initialDate =
21942                self.selectedDates.length > 0
21943                    ? self.selectedDates[0]
21944                    : self.config.minDate &&
21945                        self.config.minDate.getTime() > self.now.getTime()
21946                        ? self.config.minDate
21947                        : self.config.maxDate &&
21948                            self.config.maxDate.getTime() < self.now.getTime()
21949                            ? self.config.maxDate
21950                            : self.now;
21951            self.currentYear = self._initialDate.getFullYear();
21952            self.currentMonth = self._initialDate.getMonth();
21953            if (self.selectedDates.length > 0)
21954                self.latestSelectedDateObj = self.selectedDates[0];
21955            if (self.config.minTime !== undefined)
21956                self.config.minTime = self.parseDate(self.config.minTime, "H:i");
21957            if (self.config.maxTime !== undefined)
21958                self.config.maxTime = self.parseDate(self.config.maxTime, "H:i");
21959            self.minDateHasTime =
21960                !!self.config.minDate &&
21961                    (self.config.minDate.getHours() > 0 ||
21962                        self.config.minDate.getMinutes() > 0 ||
21963                        self.config.minDate.getSeconds() > 0);
21964            self.maxDateHasTime =
21965                !!self.config.maxDate &&
21966                    (self.config.maxDate.getHours() > 0 ||
21967                        self.config.maxDate.getMinutes() > 0 ||
21968                        self.config.maxDate.getSeconds() > 0);
21969        }
21970        function setupInputs() {
21971            self.input = getInputElem();
21972            /* istanbul ignore next */
21973            if (!self.input) {
21974                self.config.errorHandler(new Error("Invalid input element specified"));
21975                return;
21976            }
21977            // hack: store previous type to restore it after destroy()
21978            self.input._type = self.input.type;
21979            self.input.type = "text";
21980            self.input.classList.add("flatpickr-input");
21981            self._input = self.input;
21982            if (self.config.altInput) {
21983                // replicate self.element
21984                self.altInput = createElement(self.input.nodeName, self.config.altInputClass);
21985                self._input = self.altInput;
21986                self.altInput.placeholder = self.input.placeholder;
21987                self.altInput.disabled = self.input.disabled;
21988                self.altInput.required = self.input.required;
21989                self.altInput.tabIndex = self.input.tabIndex;
21990                self.altInput.type = "text";
21991                self.input.setAttribute("type", "hidden");
21992                if (!self.config.static && self.input.parentNode)
21993                    self.input.parentNode.insertBefore(self.altInput, self.input.nextSibling);
21994            }
21995            if (!self.config.allowInput)
21996                self._input.setAttribute("readonly", "readonly");
21997            updatePositionElement();
21998        }
21999        function updatePositionElement() {
22000            self._positionElement = self.config.positionElement || self._input;
22001        }
22002        function setupMobile() {
22003            var inputType = self.config.enableTime
22004                ? self.config.noCalendar
22005                    ? "time"
22006                    : "datetime-local"
22007                : "date";
22008            self.mobileInput = createElement("input", self.input.className + " flatpickr-mobile");
22009            self.mobileInput.tabIndex = 1;
22010            self.mobileInput.type = inputType;
22011            self.mobileInput.disabled = self.input.disabled;
22012            self.mobileInput.required = self.input.required;
22013            self.mobileInput.placeholder = self.input.placeholder;
22014            self.mobileFormatStr =
22015                inputType === "datetime-local"
22016                    ? "Y-m-d\\TH:i:S"
22017                    : inputType === "date"
22018                        ? "Y-m-d"
22019                        : "H:i:S";
22020            if (self.selectedDates.length > 0) {
22021                self.mobileInput.defaultValue = self.mobileInput.value = self.formatDate(self.selectedDates[0], self.mobileFormatStr);
22022            }
22023            if (self.config.minDate)
22024                self.mobileInput.min = self.formatDate(self.config.minDate, "Y-m-d");
22025            if (self.config.maxDate)
22026                self.mobileInput.max = self.formatDate(self.config.maxDate, "Y-m-d");
22027            if (self.input.getAttribute("step"))
22028                self.mobileInput.step = String(self.input.getAttribute("step"));
22029            self.input.type = "hidden";
22030            if (self.altInput !== undefined)
22031                self.altInput.type = "hidden";
22032            try {
22033                if (self.input.parentNode)
22034                    self.input.parentNode.insertBefore(self.mobileInput, self.input.nextSibling);
22035            }
22036            catch (_a) { }
22037            bind(self.mobileInput, "change", function (e) {
22038                self.setDate(getEventTarget(e).value, false, self.mobileFormatStr);
22039                triggerEvent("onChange");
22040                triggerEvent("onClose");
22041            });
22042        }
22043        function toggle(e) {
22044            if (self.isOpen === true)
22045                return self.close();
22046            self.open(e);
22047        }
22048        function triggerEvent(event, data) {
22049            // If the instance has been destroyed already, all hooks have been removed
22050            if (self.config === undefined)
22051                return;
22052            var hooks = self.config[event];
22053            if (hooks !== undefined && hooks.length > 0) {
22054                for (var i = 0; hooks[i] && i < hooks.length; i++)
22055                    hooks[i](self.selectedDates, self.input.value, self, data);
22056            }
22057            if (event === "onChange") {
22058                self.input.dispatchEvent(createEvent("change"));
22059                // many front-end frameworks bind to the input event
22060                self.input.dispatchEvent(createEvent("input"));
22061            }
22062        }
22063        function createEvent(name) {
22064            var e = document.createEvent("Event");
22065            e.initEvent(name, true, true);
22066            return e;
22067        }
22068        function isDateSelected(date) {
22069            for (var i = 0; i < self.selectedDates.length; i++) {
22070                var selectedDate = self.selectedDates[i];
22071                if (selectedDate instanceof Date &&
22072                    compareDates(selectedDate, date) === 0)
22073                    return "" + i;
22074            }
22075            return false;
22076        }
22077        function isDateInRange(date) {
22078            if (self.config.mode !== "range" || self.selectedDates.length < 2)
22079                return false;
22080            return (compareDates(date, self.selectedDates[0]) >= 0 &&
22081                compareDates(date, self.selectedDates[1]) <= 0);
22082        }
22083        function updateNavigationCurrentMonth() {
22084            if (self.config.noCalendar || self.isMobile || !self.monthNav)
22085                return;
22086            self.yearElements.forEach(function (yearElement, i) {
22087                var d = new Date(self.currentYear, self.currentMonth, 1);
22088                d.setMonth(self.currentMonth + i);
22089                if (self.config.showMonths > 1 ||
22090                    self.config.monthSelectorType === "static") {
22091                    self.monthElements[i].textContent =
22092                        monthToStr(d.getMonth(), self.config.shorthandCurrentMonth, self.l10n) + " ";
22093                }
22094                else {
22095                    self.monthsDropdownContainer.value = d.getMonth().toString();
22096                }
22097                yearElement.value = d.getFullYear().toString();
22098            });
22099            self._hidePrevMonthArrow =
22100                self.config.minDate !== undefined &&
22101                    (self.currentYear === self.config.minDate.getFullYear()
22102                        ? self.currentMonth <= self.config.minDate.getMonth()
22103                        : self.currentYear < self.config.minDate.getFullYear());
22104            self._hideNextMonthArrow =
22105                self.config.maxDate !== undefined &&
22106                    (self.currentYear === self.config.maxDate.getFullYear()
22107                        ? self.currentMonth + 1 > self.config.maxDate.getMonth()
22108                        : self.currentYear > self.config.maxDate.getFullYear());
22109        }
22110        function getDateStr(specificFormat) {
22111            var format = specificFormat ||
22112                (self.config.altInput ? self.config.altFormat : self.config.dateFormat);
22113            return self.selectedDates
22114                .map(function (dObj) { return self.formatDate(dObj, format); })
22115                .filter(function (d, i, arr) {
22116                return self.config.mode !== "range" ||
22117                    self.config.enableTime ||
22118                    arr.indexOf(d) === i;
22119            })
22120                .join(self.config.mode !== "range"
22121                ? self.config.conjunction
22122                : self.l10n.rangeSeparator);
22123        }
22124        /**
22125         * Updates the values of inputs associated with the calendar
22126         */
22127        function updateValue(triggerChange) {
22128            if (triggerChange === void 0) { triggerChange = true; }
22129            if (self.mobileInput !== undefined && self.mobileFormatStr) {
22130                self.mobileInput.value =
22131                    self.latestSelectedDateObj !== undefined
22132                        ? self.formatDate(self.latestSelectedDateObj, self.mobileFormatStr)
22133                        : "";
22134            }
22135            self.input.value = getDateStr(self.config.dateFormat);
22136            if (self.altInput !== undefined) {
22137                self.altInput.value = getDateStr(self.config.altFormat);
22138            }
22139            if (triggerChange !== false)
22140                triggerEvent("onValueUpdate");
22141        }
22142        function onMonthNavClick(e) {
22143            var eventTarget = getEventTarget(e);
22144            var isPrevMonth = self.prevMonthNav.contains(eventTarget);
22145            var isNextMonth = self.nextMonthNav.contains(eventTarget);
22146            if (isPrevMonth || isNextMonth) {
22147                changeMonth(isPrevMonth ? -1 : 1);
22148            }
22149            else if (self.yearElements.indexOf(eventTarget) >= 0) {
22150                eventTarget.select();
22151            }
22152            else if (eventTarget.classList.contains("arrowUp")) {
22153                self.changeYear(self.currentYear + 1);
22154            }
22155            else if (eventTarget.classList.contains("arrowDown")) {
22156                self.changeYear(self.currentYear - 1);
22157            }
22158        }
22159        function timeWrapper(e) {
22160            e.preventDefault();
22161            var isKeyDown = e.type === "keydown", eventTarget = getEventTarget(e), input = eventTarget;
22162            if (self.amPM !== undefined && eventTarget === self.amPM) {
22163                self.amPM.textContent =
22164                    self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];
22165            }
22166            var min = parseFloat(input.getAttribute("min")), max = parseFloat(input.getAttribute("max")), step = parseFloat(input.getAttribute("step")), curValue = parseInt(input.value, 10), delta = e.delta ||
22167                (isKeyDown ? (e.which === 38 ? 1 : -1) : 0);
22168            var newValue = curValue + step * delta;
22169            if (typeof input.value !== "undefined" && input.value.length === 2) {
22170                var isHourElem = input === self.hourElement, isMinuteElem = input === self.minuteElement;
22171                if (newValue < min) {
22172                    newValue =
22173                        max +
22174                            newValue +
22175                            int(!isHourElem) +
22176                            (int(isHourElem) && int(!self.amPM));
22177                    if (isMinuteElem)
22178                        incrementNumInput(undefined, -1, self.hourElement);
22179                }
22180                else if (newValue > max) {
22181                    newValue =
22182                        input === self.hourElement ? newValue - max - int(!self.amPM) : min;
22183                    if (isMinuteElem)
22184                        incrementNumInput(undefined, 1, self.hourElement);
22185                }
22186                if (self.amPM &&
22187                    isHourElem &&
22188                    (step === 1
22189                        ? newValue + curValue === 23
22190                        : Math.abs(newValue - curValue) > step)) {
22191                    self.amPM.textContent =
22192                        self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];
22193                }
22194                input.value = pad(newValue);
22195            }
22196        }
22197        init();
22198        return self;
22199    }
22200    /* istanbul ignore next */
22201    function _flatpickr(nodeList, config) {
22202        // static list
22203        var nodes = Array.prototype.slice
22204            .call(nodeList)
22205            .filter(function (x) { return x instanceof HTMLElement; });
22206        var instances = [];
22207        for (var i = 0; i < nodes.length; i++) {
22208            var node = nodes[i];
22209            try {
22210                if (node.getAttribute("data-fp-omit") !== null)
22211                    continue;
22212                if (node._flatpickr !== undefined) {
22213                    node._flatpickr.destroy();
22214                    node._flatpickr = undefined;
22215                }
22216                node._flatpickr = FlatpickrInstance(node, config || {});
22217                instances.push(node._flatpickr);
22218            }
22219            catch (e) {
22220                console.error(e);
22221            }
22222        }
22223        return instances.length === 1 ? instances[0] : instances;
22224    }
22225    /* istanbul ignore next */
22226    if (typeof HTMLElement !== "undefined" &&
22227        typeof HTMLCollection !== "undefined" &&
22228        typeof NodeList !== "undefined") {
22229        // browser env
22230        HTMLCollection.prototype.flatpickr = NodeList.prototype.flatpickr = function (config) {
22231            return _flatpickr(this, config);
22232        };
22233        HTMLElement.prototype.flatpickr = function (config) {
22234            return _flatpickr([this], config);
22235        };
22236    }
22237    /* istanbul ignore next */
22238    var flatpickr = function (selector, config) {
22239        if (typeof selector === "string") {
22240            return _flatpickr(window.document.querySelectorAll(selector), config);
22241        }
22242        else if (selector instanceof Node) {
22243            return _flatpickr([selector], config);
22244        }
22245        else {
22246            return _flatpickr(selector, config);
22247        }
22248    };
22249    /* istanbul ignore next */
22250    flatpickr.defaultConfig = {};
22251    flatpickr.l10ns = {
22252        en: __assign({}, english),
22253        default: __assign({}, english),
22254    };
22255    flatpickr.localize = function (l10n) {
22256        flatpickr.l10ns.default = __assign(__assign({}, flatpickr.l10ns.default), l10n);
22257    };
22258    flatpickr.setDefaults = function (config) {
22259        flatpickr.defaultConfig = __assign(__assign({}, flatpickr.defaultConfig), config);
22260    };
22261    flatpickr.parseDate = createDateParser({});
22262    flatpickr.formatDate = createDateFormatter({});
22263    flatpickr.compareDates = compareDates;
22264    /* istanbul ignore next */
22265    if (typeof jQuery !== "undefined" && typeof jQuery.fn !== "undefined") {
22266        jQuery.fn.flatpickr = function (config) {
22267            return _flatpickr(this, config);
22268        };
22269    }
22270    Date.prototype.fp_incr = function (days) {
22271        return new Date(this.getFullYear(), this.getMonth(), this.getDate() + (typeof days === "string" ? parseInt(days, 10) : days));
22272    };
22273    if (typeof window !== "undefined") {
22274        window.flatpickr = flatpickr;
22275    }
22276
22277    return flatpickr;
22278
22279})));
22280
22281(function (global, factory) {
22282  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
22283  typeof define === 'function' && define.amd ? define(['exports'], factory) :
22284  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.ar = {}));
22285}(this, (function (exports) { 'use strict';
22286
22287  var fp = typeof window !== "undefined" && window.flatpickr !== undefined
22288      ? window.flatpickr
22289      : {
22290          l10ns: {},
22291      };
22292  var Arabic = {
22293      weekdays: {
22294          shorthand: ["أحد", "اثنين", "ثلاثاء", "أربعاء", "خميس", "جمعة", "سبت"],
22295          longhand: [
22296              "الأحد",
22297              "الاثنين",
22298              "الثلاثاء",
22299              "الأربعاء",
22300              "الخميس",
22301              "الجمعة",
22302              "السبت",
22303          ],
22304      },
22305      months: {
22306          shorthand: ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"],
22307          longhand: [
22308              "يناير",
22309              "فبراير",
22310              "مارس",
22311              "أبريل",
22312              "مايو",
22313              "يونيو",
22314              "يوليو",
22315              "أغسطس",
22316              "سبتمبر",
22317              "أكتوبر",
22318              "نوفمبر",
22319              "ديسمبر",
22320          ],
22321      },
22322      firstDayOfWeek: 6,
22323      rangeSeparator: " إلى ",
22324      weekAbbreviation: "Wk",
22325      scrollTitle: "قم بالتمرير للزيادة",
22326      toggleTitle: "اضغط للتبديل",
22327      amPM: ["ص", "م"],
22328      yearAriaLabel: "سنة",
22329      monthAriaLabel: "شهر",
22330      hourAriaLabel: "ساعة",
22331      minuteAriaLabel: "دقيقة",
22332      time_24hr: false,
22333  };
22334  fp.l10ns.ar = Arabic;
22335  var ar = fp.l10ns;
22336
22337  exports.Arabic = Arabic;
22338  exports.default = ar;
22339
22340  Object.defineProperty(exports, '__esModule', { value: true });
22341
22342})));
22343
22344/*!
22345 * https://github.com/paulmillr/es6-shim
22346 * @license es6-shim Copyright 2013-2016 by Paul Miller (http://paulmillr.com)
22347 *   and contributors,  MIT License
22348 * es6-shim: v0.35.4
22349 * see https://github.com/paulmillr/es6-shim/blob/0.35.3/LICENSE
22350 * Details and documentation:
22351 * https://github.com/paulmillr/es6-shim/
22352 */
22353
22354// UMD (Universal Module Definition)
22355// see https://github.com/umdjs/umd/blob/master/returnExports.js
22356(function (root, factory) {
22357  /*global define */
22358  if (typeof define === 'function' && define.amd) {
22359    // AMD. Register as an anonymous module.
22360    define(factory);
22361  } else if (typeof exports === 'object') {
22362    // Node. Does not work with strict CommonJS, but
22363    // only CommonJS-like environments that support module.exports,
22364    // like Node.
22365    module.exports = factory();
22366  } else {
22367    // Browser globals (root is window)
22368    root.returnExports = factory();
22369  }
22370}(this, function () {
22371  'use strict';
22372
22373  var _apply = Function.call.bind(Function.apply);
22374  var _call = Function.call.bind(Function.call);
22375  var isArray = Array.isArray;
22376  var keys = Object.keys;
22377
22378  var not = function notThunker(func) {
22379    return function notThunk() {
22380      return !_apply(func, this, arguments);
22381    };
22382  };
22383  var throwsError = function (func) {
22384    try {
22385      func();
22386      return false;
vendor: 4,115 bytes, lines 22387-22503
22387    } catch (e) {
22388      return true;
22389    }
22390  };
22391  var valueOrFalseIfThrows = function valueOrFalseIfThrows(func) {
22392    try {
22393      return func();
22394    } catch (e) {
22395      return false;
22396    }
22397  };
22398
22399  var isCallableWithoutNew = not(throwsError);
22400  var arePropertyDescriptorsSupported = function () {
22401    // if Object.defineProperty exists but throws, it's IE 8
22402    return !throwsError(function () {
22403      return Object.defineProperty({}, 'x', { get: function () { } }); // eslint-disable-line getter-return
22404    });
22405  };
22406  var supportsDescriptors = !!Object.defineProperty && arePropertyDescriptorsSupported();
22407  var functionsHaveNames = (function foo() {}).name === 'foo';
22408
22409  var _forEach = Function.call.bind(Array.prototype.forEach);
22410  var _reduce = Function.call.bind(Array.prototype.reduce);
22411  var _filter = Function.call.bind(Array.prototype.filter);
22412  var _some = Function.call.bind(Array.prototype.some);
22413
22414  var defineProperty = function (object, name, value, force) {
22415    if (!force && name in object) { return; }
22416    if (supportsDescriptors) {
22417      Object.defineProperty(object, name, {
22418        configurable: true,
22419        enumerable: false,
22420        writable: true,
22421        value: value
22422      });
22423    } else {
22424      object[name] = value;
22425    }
22426  };
22427
22428  // Define configurable, writable and non-enumerable props
22429  // if they don’t exist.
22430  var defineProperties = function (object, map, forceOverride) {
22431    _forEach(keys(map), function (name) {
22432      var method = map[name];
22433      defineProperty(object, name, method, !!forceOverride);
22434    });
22435  };
22436
22437  var _toString = Function.call.bind(Object.prototype.toString);
22438  var isCallable = typeof /abc/ === 'function' ? function IsCallableSlow(x) {
22439    // Some old browsers (IE, FF) say that typeof /abc/ === 'function'
22440    return typeof x === 'function' && _toString(x) === '[object Function]';
22441  } : function IsCallableFast(x) { return typeof x === 'function'; };
22442
22443  var Value = {
22444    getter: function (object, name, getter) {
22445      if (!supportsDescriptors) {
22446        throw new TypeError('getters require true ES5 support');
22447      }
22448      Object.defineProperty(object, name, {
22449        configurable: true,
22450        enumerable: false,
22451        get: getter
22452      });
22453    },
22454    proxy: function (originalObject, key, targetObject) {
22455      if (!supportsDescriptors) {
22456        throw new TypeError('getters require true ES5 support');
22457      }
22458      var originalDescriptor = Object.getOwnPropertyDescriptor(originalObject, key);
22459      Object.defineProperty(targetObject, key, {
22460        configurable: originalDescriptor.configurable,
22461        enumerable: originalDescriptor.enumerable,
22462        get: function getKey() { return originalObject[key]; },
22463        set: function setKey(value) { originalObject[key] = value; }
22464      });
22465    },
22466    redefine: function (object, property, newValue) {
22467      if (supportsDescriptors) {
22468        var descriptor = Object.getOwnPropertyDescriptor(object, property);
22469        descriptor.value = newValue;
22470        Object.defineProperty(object, property, descriptor);
22471      } else {
22472        object[property] = newValue;
22473      }
22474    },
22475    defineByDescriptor: function (object, property, descriptor) {
22476      if (supportsDescriptors) {
22477        Object.defineProperty(object, property, descriptor);
22478      } else if ('value' in descriptor) {
22479        object[property] = descriptor.value;
22480      }
22481    },
22482    preserveToString: function (target, source) {
22483      if (source && isCallable(source.toString)) {
22484        defineProperty(target, 'toString', source.toString.bind(source), true);
22485      }
22486    }
22487  };
22488
22489  // Simple shim for Object.create on ES3 browsers
22490  // (unlike real shim, no attempt to support `prototype === null`)
22491  var create = Object.create || function (prototype, properties) {
22492    var Prototype = function Prototype() {};
22493    Prototype.prototype = prototype;
22494    var object = new Prototype();
22495    if (typeof properties !== 'undefined') {
22496      keys(properties).forEach(function (key) {
22497        Value.defineByDescriptor(object, key, properties[key]);
22498      });
22499    }
22500    return object;
22501  };
22502
22503  var supportsSubclassing = function (C, f) {
22504    if (!Object.setPrototypeOf) { return false; /* skip test on IE < 11 */ }
22505    return valueOrFalseIfThrows(function () {
22506      var Sub = function Subclass(arg) {
22507        var o = new C(arg);
22508        Object.setPrototypeOf(o, Subclass.prototype);
22509        return o;
22510      };
22511      Object.setPrototypeOf(Sub, C);
22512      Sub.prototype = create(C.prototype, {
22513        constructor: { value: Sub }
22514      });
22515      return f(Sub);
22516    });
22517  };
22518
22519  var getGlobal = function () {
22520    /* global self, window */
22521    // the only reliable means to get the global object is
22522    // `Function('return this')()`
22523    // However, this causes CSP violations in Chrome apps.
22524    if (typeof self !== 'undefined') { return self; }
22525    if (typeof window !== 'undefined') { return window; }
22526    if (typeof global !== 'undefined') { return global
vendor: 132,966 bytes, lines 22526-26239
22526; }
22527    throw new Error('unable to locate global object');
22528  };
22529
22530  var globals = getGlobal();
22531  var globalIsFinite = globals.isFinite;
22532  var _indexOf = Function.call.bind(String.prototype.indexOf);
22533  var _arrayIndexOfApply = Function.apply.bind(Array.prototype.indexOf);
22534  var _concat = Function.call.bind(Array.prototype.concat);
22535  // var _sort = Function.call.bind(Array.prototype.sort);
22536  var _strSlice = Function.call.bind(String.prototype.slice);
22537  var _push = Function.call.bind(Array.prototype.push);
22538  var _pushApply = Function.apply.bind(Array.prototype.push);
22539  var _join = Function.call.bind(Array.prototype.join);
22540  var _shift = Function.call.bind(Array.prototype.shift);
22541  var _max = Math.max;
22542  var _min = Math.min;
22543  var _floor = Math.floor;
22544  var _abs = Math.abs;
22545  var _exp = Math.exp;
22546  var _log = Math.log;
22547  var _sqrt = Math.sqrt;
22548  var _hasOwnProperty = Function.call.bind(Object.prototype.hasOwnProperty);
22549  var ArrayIterator; // make our implementation private
22550  var noop = function () {};
22551
22552  var OrigMap = globals.Map;
22553  var origMapDelete = OrigMap && OrigMap.prototype['delete'];
22554  var origMapGet = OrigMap && OrigMap.prototype.get;
22555  var origMapHas = OrigMap && OrigMap.prototype.has;
22556  var origMapSet = OrigMap && OrigMap.prototype.set;
22557
22558  var Symbol = globals.Symbol || {};
22559  var symbolSpecies = Symbol.species || '@@species';
22560
22561  var numberIsNaN = Number.isNaN || function isNaN(value) {
22562    // NaN !== NaN, but they are identical.
22563    // NaNs are the only non-reflexive value, i.e., if x !== x,
22564    // then x is NaN.
22565    // isNaN is broken: it converts its argument to number, so
22566    // isNaN('foo') => true
22567    return value !== value;
22568  };
22569  var numberIsFinite = Number.isFinite || function isFinite(value) {
22570    return typeof value === 'number' && globalIsFinite(value);
22571  };
22572  var _sign = isCallable(Math.sign) ? Math.sign : function sign(value) {
22573    var number = Number(value);
22574    if (number === 0) { return number; }
22575    if (numberIsNaN(number)) { return number; }
22576    return number < 0 ? -1 : 1;
22577  };
22578  var _log1p = function log1p(value) {
22579    var x = Number(value);
22580    if (x < -1 || numberIsNaN(x)) { return NaN; }
22581    if (x === 0 || x === Infinity) { return x; }
22582    if (x === -1) { return -Infinity; }
22583
22584    return (1 + x) - 1 === 0 ? x : x * (_log(1 + x) / ((1 + x) - 1));
22585  };
22586
22587  // taken directly from https://github.com/ljharb/is-arguments/blob/master/index.js
22588  // can be replaced with require('is-arguments') if we ever use a build process instead
22589  var isStandardArguments = function isArguments(value) {
22590    return _toString(value) === '[object Arguments]';
22591  };
22592  var isLegacyArguments = function isArguments(value) {
22593    return value !== null
22594      && typeof value === 'object'
22595      && typeof value.length === 'number'
22596      && value.length >= 0
22597      && _toString(value) !== '[object Array]'
22598      && _toString(value.callee) === '[object Function]';
22599  };
22600  var isArguments = isStandardArguments(arguments) ? isStandardArguments : isLegacyArguments;
22601
22602  var Type = {
22603    primitive: function (x) { return x === null || (typeof x !== 'function' && typeof x !== 'object'); },
22604    string: function (x) { return _toString(x) === '[object String]'; },
22605    regex: function (x) { return _toString(x) === '[object RegExp]'; },
22606    symbol: function (x) {
22607      return typeof globals.Symbol === 'function' && typeof x === 'symbol';
22608    }
22609  };
22610
22611  var overrideNative = function overrideNative(object, property, replacement) {
22612    var original = object[property];
22613    defineProperty(object, property, replacement, true);
22614    Value.preserveToString(object[property], original);
22615  };
22616
22617  // eslint-disable-next-line no-restricted-properties
22618  var hasSymbols = typeof Symbol === 'function' && typeof Symbol['for'] === 'function' && Type.symbol(Symbol());
22619
22620  // This is a private name in the es6 spec, equal to '[Symbol.iterator]'
22621  // we're going to use an arbitrary _-prefixed name to make our shims
22622  // work properly with each other, even though we don't have full Iterator
22623  // support.  That is, `Array.from(map.keys())` will work, but we don't
22624  // pretend to export a "real" Iterator interface.
22625  var $iterator$ = Type.symbol(Symbol.iterator) ? Symbol.iterator : '_es6-shim iterator_';
22626  // Firefox ships a partial implementation using the name @@iterator.
22627  // https://bugzilla.mozilla.org/show_bug.cgi?id=907077#c14
22628  // So use that name if we detect it.
22629  if (globals.Set && typeof new globals.Set()['@@iterator'] === 'function') {
22630    $iterator$ = '@@iterator';
22631  }
22632
22633  // Reflect
22634  if (!globals.Reflect) {
22635    defineProperty(globals, 'Reflect', {}, true);
22636  }
22637  var Reflect = globals.Reflect;
22638
22639  var $String = String;
22640
22641  /* global document */
22642  var domAll = (typeof document === 'undefined' || !document) ? null : document.all;
22643  var isNullOrUndefined = domAll == null ? function isNullOrUndefined(x) {
22644    return x == null;
22645  } : function isNullOrUndefinedAndNotDocumentAll(x) {
22646    return x == null && x !== domAll;
22647  };
22648
22649  var ES = {
22650    // http://www.ecma-international.org/ecma-262/6.0/#sec-call
22651    Call: function Call(F, V) {
22652      var args = arguments.length > 2 ? arguments[2] : [];
22653      if (!ES.IsCallable(F)) {
22654        throw new TypeError(F + ' is not a function');
22655      }
22656      return _apply(F, V, args);
22657    },
22658
22659    RequireObjectCoercible: function (x, optMessage) {
22660      if (isNullOrUndefined(x)) {
22661        throw new TypeError(optMessage || 'Cannot call method on ' + x);
22662      }
22663      return x;
22664    },
22665
22666    // This might miss the "(non-standard exotic and does not implement
22667    // [[Call]])" case from
22668    // http://www.ecma-international.org/ecma-262/6.0/#sec-typeof-operator-runtime-semantics-evaluation
22669    // but we can't find any evidence these objects exist in practice.
22670    // If we find some in the future, you could test `Object(x) === x`,
22671    // which is reliable according to
22672    // http://www.ecma-international.org/ecma-262/6.0/#sec-toobject
22673    // but is not well optimized by runtimes and creates an object
22674    // whenever it returns false, and thus is very slow.
22675    TypeIsObject: function (x) {
22676      if (x === void 0 || x === null || x === true || x === false) {
22677        return false;
22678      }
22679      return typeof x === 'function' || typeof x === 'object' || x === domAll;
22680    },
22681
22682    ToObject: function (o, optMessage) {
22683      return Object(ES.RequireObjectCoercible(o, optMessage));
22684    },
22685
22686    IsCallable: isCallable,
22687
22688    IsConstructor: function (x) {
22689      // We can't tell callables from constructors in ES5
22690      return ES.IsCallable(x);
22691    },
22692
22693    ToInt32: function (x) {
22694      return ES.ToNumber(x) >> 0;
22695    },
22696
22697    ToUint32: function (x) {
22698      return ES.ToNumber(x) >>> 0;
22699    },
22700
22701    ToNumber: function (value) {
22702      if (hasSymbols && _toString(value) === '[object Symbol]') {
22703        throw new TypeError('Cannot convert a Symbol value to a number');
22704      }
22705      return +value;
22706    },
22707
22708    ToInteger: function (value) {
22709      var number = ES.ToNumber(value);
22710      if (numberIsNaN(number)) { return 0; }
22711      if (number === 0 || !numberIsFinite(number)) { return number; }
22712      return (number > 0 ? 1 : -1) * _floor(_abs(number));
22713    },
22714
22715    ToLength: function (value) {
22716      var len = ES.ToInteger(value);
22717      if (len <= 0) { return 0; } // includes converting -0 to +0
22718      if (len > Number.MAX_SAFE_INTEGER) { return Number.MAX_SAFE_INTEGER; }
22719      return len;
22720    },
22721
22722    SameValue: function (a, b) {
22723      if (a === b) {
22724        // 0 === -0, but they are not identical.
22725        if (a === 0) { return 1 / a === 1 / b; }
22726        return true;
22727      }
22728      return numberIsNaN(a) && numberIsNaN(b);
22729    },
22730
22731    SameValueZero: function (a, b) {
22732      // same as SameValue except for SameValueZero(+0, -0) == true
22733      return (a === b) || (numberIsNaN(a) && numberIsNaN(b));
22734    },
22735
22736    GetIterator: function (o) {
22737      if (isArguments(o)) {
22738        // special case support for `arguments`
22739        return new ArrayIterator(o, 'value');
22740      }
22741      var itFn = ES.GetMethod(o, $iterator$);
22742      if (!ES.IsCallable(itFn)) {
22743        // Better diagnostics if itFn is null or undefined
22744        throw new TypeError('value is not an iterable');
22745      }
22746      var it = ES.Call(itFn, o);
22747      if (!ES.TypeIsObject(it)) {
22748        throw new TypeError('bad iterator');
22749      }
22750      return it;
22751    },
22752
22753    GetMethod: function (o, p) {
22754      var func = ES.ToObject(o)[p];
22755      if (isNullOrUndefined(func)) {
22756        return void 0;
22757      }
22758      if (!ES.IsCallable(func)) {
22759        throw new TypeError('Method not callable: ' + p);
22760      }
22761      return func;
22762    },
22763
22764    IteratorComplete: function (iterResult) {
22765      return !!iterResult.done;
22766    },
22767
22768    IteratorClose: function (iterator, completionIsThrow) {
22769      var returnMethod = ES.GetMethod(iterator, 'return');
22770      if (returnMethod === void 0) {
22771        return;
22772      }
22773      var innerResult, innerException;
22774      try {
22775        innerResult = ES.Call(returnMethod, iterator);
22776      } catch (e) {
22777        innerException = e;
22778      }
22779      if (completionIsThrow) {
22780        return;
22781      }
22782      if (innerException) {
22783        throw innerException;
22784      }
22785      if (!ES.TypeIsObject(innerResult)) {
22786        throw new TypeError("Iterator's return method returned a non-object.");
22787      }
22788    },
22789
22790    IteratorNext: function (it) {
22791      var result = arguments.length > 1 ? it.next(arguments[1]) : it.next();
22792      if (!ES.TypeIsObject(result)) {
22793        throw new TypeError('bad iterator');
22794      }
22795      return result;
22796    },
22797
22798    IteratorStep: function (it) {
22799      var result = ES.IteratorNext(it);
22800      var done = ES.IteratorComplete(result);
22801      return done ? false : result;
22802    },
22803
22804    Construct: function (C, args, newTarget, isES6internal) {
22805      var target = typeof newTarget === 'undefined' ? C : newTarget;
22806
22807      if (!isES6internal && Reflect.construct) {
22808        // Try to use Reflect.construct if available
22809        return Reflect.construct(C, args, target);
22810      }
22811      // OK, we have to fake it.  This will only work if the
22812      // C.[[ConstructorKind]] == "base" -- but that's the only
22813      // kind we can make in ES5 code anyway.
22814
22815      // OrdinaryCreateFromConstructor(target, "%ObjectPrototype%")
22816      var proto = target.prototype;
22817      if (!ES.TypeIsObject(proto)) {
22818        proto = Object.prototype;
22819      }
22820      var obj = create(proto);
22821      // Call the constructor.
22822      var result = ES.Call(C, obj, args);
22823      return ES.TypeIsObject(result) ? result : obj;
22824    },
22825
22826    SpeciesConstructor: function (O, defaultConstructor) {
22827      var C = O.constructor;
22828      if (C === void 0) {
22829        return defaultConstructor;
22830      }
22831      if (!ES.TypeIsObject(C)) {
22832        throw new TypeError('Bad constructor');
22833      }
22834      var S = C[symbolSpecies];
22835      if (isNullOrUndefined(S)) {
22836        return defaultConstructor;
22837      }
22838      if (!ES.IsConstructor(S)) {
22839        throw new TypeError('Bad @@species');
22840      }
22841      return S;
22842    },
22843
22844    CreateHTML: function (string, tag, attribute, value) {
22845      var S = ES.ToString(string);
22846      var p1 = '<' + tag;
22847      if (attribute !== '') {
22848        var V = ES.ToString(value);
22849        var escapedV = V.replace(/"/g, '&quot;');
22850        p1 += ' ' + attribute + '="' + escapedV + '"';
22851      }
22852      var p2 = p1 + '>';
22853      var p3 = p2 + S;
22854      return p3 + '</' + tag + '>';
22855    },
22856
22857    IsRegExp: function IsRegExp(argument) {
22858      if (!ES.TypeIsObject(argument)) {
22859        return false;
22860      }
22861      var isRegExp = argument[Symbol.match];
22862      if (typeof isRegExp !== 'undefined') {
22863        return !!isRegExp;
22864      }
22865      return Type.regex(argument);
22866    },
22867
22868    ToString: function ToString(string) {
22869      if (hasSymbols && _toString(string) === '[object Symbol]') {
22870        throw new TypeError('Cannot convert a Symbol value to a number');
22871      }
22872      return $String(string);
22873    }
22874  };
22875
22876  // Well-known Symbol shims
22877  if (supportsDescriptors && hasSymbols) {
22878    var defineWellKnownSymbol = function defineWellKnownSymbol(name) {
22879      if (Type.symbol(Symbol[name])) {
22880        return Symbol[name];
22881      }
22882      // eslint-disable-next-line no-restricted-properties
22883      var sym = Symbol['for']('Symbol.' + name);
22884      Object.defineProperty(Symbol, name, {
22885        configurable: false,
22886        enumerable: false,
22887        writable: false,
22888        value: sym
22889      });
22890      return sym;
22891    };
22892    if (!Type.symbol(Symbol.search)) {
22893      var symbolSearch = defineWellKnownSymbol('search');
22894      var originalSearch = String.prototype.search;
22895      defineProperty(RegExp.prototype, symbolSearch, function search(string) {
22896        return ES.Call(originalSearch, string, [this]);
22897      });
22898      var searchShim = function search(regexp) {
22899        var O = ES.RequireObjectCoercible(this);
22900        if (!isNullOrUndefined(regexp)) {
22901          var searcher = ES.GetMethod(regexp, symbolSearch);
22902          if (typeof searcher !== 'undefined') {
22903            return ES.Call(searcher, regexp, [O]);
22904          }
22905        }
22906        return ES.Call(originalSearch, O, [ES.ToString(regexp)]);
22907      };
22908      overrideNative(String.prototype, 'search', searchShim);
22909    }
22910    if (!Type.symbol(Symbol.replace)) {
22911      var symbolReplace = defineWellKnownSymbol('replace');
22912      var originalReplace = String.prototype.replace;
22913      defineProperty(RegExp.prototype, symbolReplace, function replace(string, replaceValue) {
22914        return ES.Call(originalReplace, string, [this, replaceValue]);
22915      });
22916      var replaceShim = function replace(searchValue, replaceValue) {
22917        var O = ES.RequireObjectCoercible(this);
22918        if (!isNullOrUndefined(searchValue)) {
22919          var replacer = ES.GetMethod(searchValue, symbolReplace);
22920          if (typeof replacer !== 'undefined') {
22921            return ES.Call(replacer, searchValue, [O, replaceValue]);
22922          }
22923        }
22924        return ES.Call(originalReplace, O, [ES.ToString(searchValue), replaceValue]);
22925      };
22926      overrideNative(String.prototype, 'replace', replaceShim);
22927    }
22928    if (!Type.symbol(Symbol.split)) {
22929      var symbolSplit = defineWellKnownSymbol('split');
22930      var originalSplit = String.prototype.split;
22931      defineProperty(RegExp.prototype, symbolSplit, function split(string, limit) {
22932        return ES.Call(originalSplit, string, [this, limit]);
22933      });
22934      var splitShim = function split(separator, limit) {
22935        var O = ES.RequireObjectCoercible(this);
22936        if (!isNullOrUndefined(separator)) {
22937          var splitter = ES.GetMethod(separator, symbolSplit);
22938          if (typeof splitter !== 'undefined') {
22939            return ES.Call(splitter, separator, [O, limit]);
22940          }
22941        }
22942        return ES.Call(originalSplit, O, [ES.ToString(separator), limit]);
22943      };
22944      overrideNative(String.prototype, 'split', splitShim);
22945    }
22946    var symbolMatchExists = Type.symbol(Symbol.match);
22947    var stringMatchIgnoresSymbolMatch = symbolMatchExists && (function () {
22948      // Firefox 41, through Nightly 45 has Symbol.match, but String#match ignores it.
22949      // Firefox 40 and below have Symbol.match but String#match works fine.
22950      var o = {};
22951      o[Symbol.match] = function () { return 42; };
22952      return 'a'.match(o) !== 42;
22953    }());
22954    if (!symbolMatchExists || stringMatchIgnoresSymbolMatch) {
22955      var symbolMatch = defineWellKnownSymbol('match');
22956
22957      var originalMatch = String.prototype.match;
22958      defineProperty(RegExp.prototype, symbolMatch, function match(string) {
22959        return ES.Call(originalMatch, string, [this]);
22960      });
22961
22962      var matchShim = function match(regexp) {
22963        var O = ES.RequireObjectCoercible(this);
22964        if (!isNullOrUndefined(regexp)) {
22965          var matcher = ES.GetMethod(regexp, symbolMatch);
22966          if (typeof matcher !== 'undefined') {
22967            return ES.Call(matcher, regexp, [O]);
22968          }
22969        }
22970        return ES.Call(originalMatch, O, [ES.ToString(regexp)]);
22971      };
22972      overrideNative(String.prototype, 'match', matchShim);
22973    }
22974  }
22975
22976  var wrapConstructor = function wrapConstructor(original, replacement, keysToSkip) {
22977    Value.preserveToString(replacement, original);
22978    if (Object.setPrototypeOf) {
22979      // sets up proper prototype chain where possible
22980      Object.setPrototypeOf(original, replacement);
22981    }
22982    if (supportsDescriptors) {
22983      _forEach(Object.getOwnPropertyNames(original), function (key) {
22984        if (key in noop || keysToSkip[key]) { return; }
22985        Value.proxy(original, key, replacement);
22986      });
22987    } else {
22988      _forEach(Object.keys(original), function (key) {
22989        if (key in noop || keysToSkip[key]) { return; }
22990        replacement[key] = original[key];
22991      });
22992    }
22993    replacement.prototype = original.prototype;
22994    Value.redefine(original.prototype, 'constructor', replacement);
22995  };
22996
22997  var defaultSpeciesGetter = function () { return this; };
22998  var addDefaultSpecies = function (C) {
22999    if (supportsDescriptors && !_hasOwnProperty(C, symbolSpecies)) {
23000      Value.getter(C, symbolSpecies, defaultSpeciesGetter);
23001    }
23002  };
23003
23004  var addIterator = function (prototype, impl) {
23005    var implementation = impl || function iterator() { return this; };
23006    defineProperty(prototype, $iterator$, implementation);
23007    if (!prototype[$iterator$] && Type.symbol($iterator$)) {
23008      // implementations are buggy when $iterator$ is a Symbol
23009      prototype[$iterator$] = implementation;
23010    }
23011  };
23012
23013  var createDataProperty = function createDataProperty(object, name, value) {
23014    if (supportsDescriptors) {
23015      Object.defineProperty(object, name, {
23016        configurable: true,
23017        enumerable: true,
23018        writable: true,
23019        value: value
23020      });
23021    } else {
23022      object[name] = value;
23023    }
23024  };
23025  var createDataPropertyOrThrow = function createDataPropertyOrThrow(object, name, value) {
23026    createDataProperty(object, name, value);
23027    if (!ES.SameValue(object[name], value)) {
23028      throw new TypeError('property is nonconfigurable');
23029    }
23030  };
23031
23032  var emulateES6construct = function (o, defaultNewTarget, defaultProto, slots) {
23033    // This is an es5 approximation to es6 construct semantics.  in es6,
23034    // 'new Foo' invokes Foo.[[Construct]] which (for almost all objects)
23035    // just sets the internal variable NewTarget (in es6 syntax `new.target`)
23036    // to Foo and then returns Foo().
23037
23038    // Many ES6 object then have constructors of the form:
23039    // 1. If NewTarget is undefined, throw a TypeError exception
23040    // 2. Let xxx by OrdinaryCreateFromConstructor(NewTarget, yyy, zzz)
23041
23042    // So we're going to emulate those first two steps.
23043    if (!ES.TypeIsObject(o)) {
23044      throw new TypeError('Constructor requires `new`: ' + defaultNewTarget.name);
23045    }
23046    var proto = defaultNewTarget.prototype;
23047    if (!ES.TypeIsObject(proto)) {
23048      proto = defaultProto;
23049    }
23050    var obj = create(proto);
23051    for (var name in slots) {
23052      if (_hasOwnProperty(slots, name)) {
23053        var value = slots[name];
23054        defineProperty(obj, name, value, true);
23055      }
23056    }
23057    return obj;
23058  };
23059
23060  // Firefox 31 reports this function's length as 0
23061  // https://bugzilla.mozilla.org/show_bug.cgi?id=1062484
23062  if (String.fromCodePoint && String.fromCodePoint.length !== 1) {
23063    var originalFromCodePoint = String.fromCodePoint;
23064    overrideNative(String, 'fromCodePoint', function fromCodePoint(codePoints) {
23065      return ES.Call(originalFromCodePoint, this, arguments);
23066    });
23067  }
23068
23069  var StringShims = {
23070    fromCodePoint: function fromCodePoint(codePoints) {
23071      var result = [];
23072      var next;
23073      for (var i = 0, length = arguments.length; i < length; i++) {
23074        next = Number(arguments[i]);
23075        if (!ES.SameValue(next, ES.ToInteger(next)) || next < 0 || next > 0x10FFFF) {
23076          throw new RangeError('Invalid code point ' + next);
23077        }
23078
23079        if (next < 0x10000) {
23080          _push(result, String.fromCharCode(next));
23081        } else {
23082          next -= 0x10000;
23083          _push(result, String.fromCharCode((next >> 10) + 0xD800));
23084          _push(result, String.fromCharCode((next % 0x400) + 0xDC00));
23085        }
23086      }
23087      return _join(result, '');
23088    },
23089
23090    raw: function raw(template) {
23091      var numberOfSubstitutions = arguments.length - 1;
23092      var cooked = ES.ToObject(template, 'bad template');
23093      var raw = ES.ToObject(cooked.raw, 'bad raw value');
23094      var len = raw.length;
23095      var literalSegments = ES.ToLength(len);
23096      if (literalSegments <= 0) {
23097        return '';
23098      }
23099
23100      var stringElements = [];
23101      var nextIndex = 0;
23102      var nextKey, next, nextSeg, nextSub;
23103      while (nextIndex < literalSegments) {
23104        nextKey = ES.ToString(nextIndex);
23105        nextSeg = ES.ToString(raw[nextKey]);
23106        _push(stringElements, nextSeg);
23107        if (nextIndex + 1 >= literalSegments) {
23108          break;
23109        }
23110        next = nextIndex + 1 < arguments.length ? arguments[nextIndex + 1] : '';
23111        nextSub = ES.ToString(next);
23112        _push(stringElements, nextSub);
23113        nextIndex += 1;
23114      }
23115      return _join(stringElements, '');
23116    }
23117  };
23118  if (String.raw && String.raw({ raw: { 0: 'x', 1: 'y', length: 2 } }) !== 'xy') {
23119    // IE 11 TP has a broken String.raw implementation
23120    overrideNative(String, 'raw', StringShims.raw);
23121  }
23122  defineProperties(String, StringShims);
23123
23124  // Fast repeat, uses the `Exponentiation by squaring` algorithm.
23125  // Perf: http://jsperf.com/string-repeat2/2
23126  var stringRepeat = function repeat(s, times) {
23127    if (times < 1) { return ''; }
23128    if (times % 2) { return repeat(s, times - 1) + s; }
23129    var half = repeat(s, times / 2);
23130    return half + half;
23131  };
23132  var stringMaxLength = Infinity;
23133
23134  var StringPrototypeShims = {
23135    repeat: function repeat(times) {
23136      var thisStr = ES.ToString(ES.RequireObjectCoercible(this));
23137      var numTimes = ES.ToInteger(times);
23138      if (numTimes < 0 || numTimes >= stringMaxLength) {
23139        throw new RangeError('repeat count must be less than infinity and not overflow maximum string size');
23140      }
23141      return stringRepeat(thisStr, numTimes);
23142    },
23143
23144    startsWith: function startsWith(searchString) {
23145      var S = ES.ToString(ES.RequireObjectCoercible(this));
23146      if (ES.IsRegExp(searchString)) {
23147        throw new TypeError('Cannot call method "startsWith" with a regex');
23148      }
23149      var searchStr = ES.ToString(searchString);
23150      var position;
23151      if (arguments.length > 1) {
23152        position = arguments[1];
23153      }
23154      var start = _max(ES.ToInteger(position), 0);
23155      return _strSlice(S, start, start + searchStr.length) === searchStr;
23156    },
23157
23158    endsWith: function endsWith(searchString) {
23159      var S = ES.ToString(ES.RequireObjectCoercible(this));
23160      if (ES.IsRegExp(searchString)) {
23161        throw new TypeError('Cannot call method "endsWith" with a regex');
23162      }
23163      var searchStr = ES.ToString(searchString);
23164      var len = S.length;
23165      var endPosition;
23166      if (arguments.length > 1) {
23167        endPosition = arguments[1];
23168      }
23169      var pos = typeof endPosition === 'undefined' ? len : ES.ToInteger(endPosition);
23170      var end = _min(_max(pos, 0), len);
23171      return _strSlice(S, end - searchStr.length, end) === searchStr;
23172    },
23173
23174    includes: function includes(searchString) {
23175      if (ES.IsRegExp(searchString)) {
23176        throw new TypeError('"includes" does not accept a RegExp');
23177      }
23178      var searchStr = ES.ToString(searchString);
23179      var position;
23180      if (arguments.length > 1) {
23181        position = arguments[1];
23182      }
23183      // Somehow this trick makes method 100% compat with the spec.
23184      return _indexOf(this, searchStr, position) !== -1;
23185    },
23186
23187    codePointAt: function codePointAt(pos) {
23188      var thisStr = ES.ToString(ES.RequireObjectCoercible(this));
23189      var position = ES.ToInteger(pos);
23190      var length = thisStr.length;
23191      if (position >= 0 && position < length) {
23192        var first = thisStr.charCodeAt(position);
23193        var isEnd = position + 1 === length;
23194        if (first < 0xD800 || first > 0xDBFF || isEnd) { return first; }
23195        var second = thisStr.charCodeAt(position + 1);
23196        if (second < 0xDC00 || second > 0xDFFF) { return first; }
23197        return ((first - 0xD800) * 1024) + (second - 0xDC00) + 0x10000;
23198      }
23199    }
23200  };
23201  if (String.prototype.includes && 'a'.includes('a', Infinity) !== false) {
23202    overrideNative(String.prototype, 'includes', StringPrototypeShims.includes);
23203  }
23204
23205  if (String.prototype.startsWith && String.prototype.endsWith) {
23206    var startsWithRejectsRegex = throwsError(function () {
23207      /* throws if spec-compliant */
23208      return '/a/'.startsWith(/a/);
23209    });
23210    var startsWithHandlesInfinity = valueOrFalseIfThrows(function () {
23211      return 'abc'.startsWith('a', Infinity) === false;
23212    });
23213    if (!startsWithRejectsRegex || !startsWithHandlesInfinity) {
23214      // Firefox (< 37?) and IE 11 TP have a noncompliant startsWith implementation
23215      overrideNative(String.prototype, 'startsWith', StringPrototypeShims.startsWith);
23216      overrideNative(String.prototype, 'endsWith', StringPrototypeShims.endsWith);
23217    }
23218  }
23219  if (hasSymbols) {
23220    var startsWithSupportsSymbolMatch = valueOrFalseIfThrows(function () {
23221      var re = /a/;
23222      re[Symbol.match] = false;
23223      return '/a/'.startsWith(re);
23224    });
23225    if (!startsWithSupportsSymbolMatch) {
23226      overrideNative(String.prototype, 'startsWith', StringPrototypeShims.startsWith);
23227    }
23228    var endsWithSupportsSymbolMatch = valueOrFalseIfThrows(function () {
23229      var re = /a/;
23230      re[Symbol.match] = false;
23231      return '/a/'.endsWith(re);
23232    });
23233    if (!endsWithSupportsSymbolMatch) {
23234      overrideNative(String.prototype, 'endsWith', StringPrototypeShims.endsWith);
23235    }
23236    var includesSupportsSymbolMatch = valueOrFalseIfThrows(function () {
23237      var re = /a/;
23238      re[Symbol.match] = false;
23239      return '/a/'.includes(re);
23240    });
23241    if (!includesSupportsSymbolMatch) {
23242      overrideNative(String.prototype, 'includes', StringPrototypeShims.includes);
23243    }
23244  }
23245
23246  defineProperties(String.prototype, StringPrototypeShims);
23247
23248  // whitespace from: http://es5.github.io/#x15.5.4.20
23249  // implementation from https://github.com/es-shims/es5-shim/blob/v3.4.0/es5-shim.js#L1304-L1324
23250  var ws = [
23251    '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003',
23252    '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028',
23253    '\u2029\uFEFF'
23254  ].join('');
23255  var trimRegexp = new RegExp('(^[' + ws + ']+)|([' + ws + ']+$)', 'g');
23256  var trimShim = function trim() {
23257    return ES.ToString(ES.RequireObjectCoercible(this)).replace(trimRegexp, '');
23258  };
23259  var nonWS = ['\u0085', '\u200b', '\ufffe'].join('');
23260  var nonWSregex = new RegExp('[' + nonWS + ']', 'g');
23261  var isBadHexRegex = /^[-+]0x[0-9a-f]+$/i;
23262  var hasStringTrimBug = nonWS.trim().length !== nonWS.length;
23263  defineProperty(String.prototype, 'trim', trimShim, hasStringTrimBug);
23264
23265  // Given an argument x, it will return an IteratorResult object,
23266  // with value set to x and done to false.
23267  // Given no arguments, it will return an iterator completion object.
23268  var iteratorResult = function (x) {
23269    return { value: x, done: arguments.length === 0 };
23270  };
23271
23272  // see http://www.ecma-international.org/ecma-262/6.0/#sec-string.prototype-@@iterator
23273  var StringIterator = function (s) {
23274    ES.RequireObjectCoercible(s);
23275    defineProperty(this, '_s', ES.ToString(s));
23276    defineProperty(this, '_i', 0);
23277  };
23278  StringIterator.prototype.next = function () {
23279    var s = this._s;
23280    var i = this._i;
23281    if (typeof s === 'undefined' || i >= s.length) {
23282      this._s = void 0;
23283      return iteratorResult();
23284    }
23285    var first = s.charCodeAt(i);
23286    var second, len;
23287    if (first < 0xD800 || first > 0xDBFF || (i + 1) === s.length) {
23288      len = 1;
23289    } else {
23290      second = s.charCodeAt(i + 1);
23291      len = (second < 0xDC00 || second > 0xDFFF) ? 1 : 2;
23292    }
23293    this._i = i + len;
23294    return iteratorResult(s.substr(i, len));
23295  };
23296  addIterator(StringIterator.prototype);
23297  addIterator(String.prototype, function () {
23298    return new StringIterator(this);
23299  });
23300
23301  var ArrayShims = {
23302    from: function from(items) {
23303      var C = this;
23304      var mapFn;
23305      if (arguments.length > 1) {
23306        mapFn = arguments[1];
23307      }
23308      var mapping, T;
23309      if (typeof mapFn === 'undefined') {
23310        mapping = false;
23311      } else {
23312        if (!ES.IsCallable(mapFn)) {
23313          throw new TypeError('Array.from: when provided, the second argument must be a function');
23314        }
23315        if (arguments.length > 2) {
23316          T = arguments[2];
23317        }
23318        mapping = true;
23319      }
23320
23321      // Note that that Arrays will use ArrayIterator:
23322      // https://bugs.ecmascript.org/show_bug.cgi?id=2416
23323      var usingIterator = typeof (isArguments(items) || ES.GetMethod(items, $iterator$)) !== 'undefined';
23324
23325      var length, result, i;
23326      if (usingIterator) {
23327        result = ES.IsConstructor(C) ? Object(new C()) : [];
23328        var iterator = ES.GetIterator(items);
23329        var next, nextValue;
23330
23331        i = 0;
23332        while (true) {
23333          next = ES.IteratorStep(iterator);
23334          if (next === false) {
23335            break;
23336          }
23337          nextValue = next.value;
23338          try {
23339            if (mapping) {
23340              nextValue = typeof T === 'undefined' ? mapFn(nextValue, i) : _call(mapFn, T, nextValue, i);
23341            }
23342            result[i] = nextValue;
23343          } catch (e) {
23344            ES.IteratorClose(iterator, true);
23345            throw e;
23346          }
23347          i += 1;
23348        }
23349        length = i;
23350      } else {
23351        var arrayLike = ES.ToObject(items);
23352        length = ES.ToLength(arrayLike.length);
23353        result = ES.IsConstructor(C) ? Object(new C(length)) : new Array(length);
23354        var value;
23355        for (i = 0; i < length; ++i) {
23356          value = arrayLike[i];
23357          if (mapping) {
23358            value = typeof T === 'undefined' ? mapFn(value, i) : _call(mapFn, T, value, i);
23359          }
23360          createDataPropertyOrThrow(result, i, value);
23361        }
23362      }
23363
23364      result.length = length;
23365      return result;
23366    },
23367
23368    of: function of() {
23369      var len = arguments.length;
23370      var C = this;
23371      var A = isArray(C) || !ES.IsCallable(C) ? new Array(len) : ES.Construct(C, [len]);
23372      for (var k = 0; k < len; ++k) {
23373        createDataPropertyOrThrow(A, k, arguments[k]);
23374      }
23375      A.length = len;
23376      return A;
23377    }
23378  };
23379  defineProperties(Array, ArrayShims);
23380  addDefaultSpecies(Array);
23381
23382  // Our ArrayIterator is private; see
23383  // https://github.com/paulmillr/es6-shim/issues/252
23384  ArrayIterator = function (array, kind) {
23385    defineProperty(this, 'i', 0);
23386    defineProperty(this, 'array', array);
23387    defineProperty(this, 'kind', kind);
23388  };
23389
23390  defineProperties(ArrayIterator.prototype, {
23391    next: function () {
23392      var i = this.i;
23393      var array = this.array;
23394      if (!(this instanceof ArrayIterator)) {
23395        throw new TypeError('Not an ArrayIterator');
23396      }
23397      if (typeof array !== 'undefined') {
23398        var len = ES.ToLength(array.length);
23399        if (i < len) {
23400        //for (; i < len; i++) {
23401          var kind = this.kind;
23402          var retval;
23403          if (kind === 'key') {
23404            retval = i;
23405          } else if (kind === 'value') {
23406            retval = array[i];
23407          } else if (kind === 'entry') {
23408            retval = [i, array[i]];
23409          }
23410          this.i = i + 1;
23411          return iteratorResult(retval);
23412        }
23413      }
23414      this.array = void 0;
23415      return iteratorResult();
23416    }
23417  });
23418  addIterator(ArrayIterator.prototype);
23419
23420  /*
23421  var orderKeys = function orderKeys(a, b) {
23422    var aNumeric = String(ES.ToInteger(a)) === a;
23423    var bNumeric = String(ES.ToInteger(b)) === b;
23424    if (aNumeric && bNumeric) {
23425      return b - a;
23426    } else if (aNumeric && !bNumeric) {
23427      return -1;
23428    } else if (!aNumeric && bNumeric) {
23429      return 1;
23430    } else {
23431      return a.localeCompare(b);
23432    }
23433  };
23434
23435  var getAllKeys = function getAllKeys(object) {
23436    var ownKeys = [];
23437    var keys = [];
23438
23439    for (var key in object) {
23440      _push(_hasOwnProperty(object, key) ? ownKeys : keys, key);
23441    }
23442    _sort(ownKeys, orderKeys);
23443    _sort(keys, orderKeys);
23444
23445    return _concat(ownKeys, keys);
23446  };
23447  */
23448
23449  // note: this is positioned here because it depends on ArrayIterator
23450  var arrayOfSupportsSubclassing = Array.of === ArrayShims.of || (function () {
23451    // Detects a bug in Webkit nightly r181886
23452    var Foo = function Foo(len) { this.length = len; };
23453    Foo.prototype = [];
23454    var fooArr = Array.of.apply(Foo, [1, 2]);
23455    return fooArr instanceof Foo && fooArr.length === 2;
23456  }());
23457  if (!arrayOfSupportsSubclassing) {
23458    overrideNative(Array, 'of', ArrayShims.of);
23459  }
23460
23461  var ArrayPrototypeShims = {
23462    copyWithin: function copyWithin(target, start) {
23463      var o = ES.ToObject(this);
23464      var len = ES.ToLength(o.length);
23465      var relativeTarget = ES.ToInteger(target);
23466      var relativeStart = ES.ToInteger(start);
23467      var to = relativeTarget < 0 ? _max(len + relativeTarget, 0) : _min(relativeTarget, len);
23468      var from = relativeStart < 0 ? _max(len + relativeStart, 0) : _min(relativeStart, len);
23469      var end;
23470      if (arguments.length > 2) {
23471        end = arguments[2];
23472      }
23473      var relativeEnd = typeof end === 'undefined' ? len : ES.ToInteger(end);
23474      var finalItem = relativeEnd < 0 ? _max(len + relativeEnd, 0) : _min(relativeEnd, len);
23475      var count = _min(finalItem - from, len - to);
23476      var direction = 1;
23477      if (from < to && to < (from + count)) {
23478        direction = -1;
23479        from += count - 1;
23480        to += count - 1;
23481      }
23482      while (count > 0) {
23483        if (from in o) {
23484          o[to] = o[from];
23485        } else {
23486          delete o[to];
23487        }
23488        from += direction;
23489        to += direction;
23490        count -= 1;
23491      }
23492      return o;
23493    },
23494
23495    fill: function fill(value) {
23496      var start;
23497      if (arguments.length > 1) {
23498        start = arguments[1];
23499      }
23500      var end;
23501      if (arguments.length > 2) {
23502        end = arguments[2];
23503      }
23504      var O = ES.ToObject(this);
23505      var len = ES.ToLength(O.length);
23506      start = ES.ToInteger(typeof start === 'undefined' ? 0 : start);
23507      end = ES.ToInteger(typeof end === 'undefined' ? len : end);
23508
23509      var relativeStart = start < 0 ? _max(len + start, 0) : _min(start, len);
23510      var relativeEnd = end < 0 ? len + end : end;
23511
23512      for (var i = relativeStart; i < len && i < relativeEnd; ++i) {
23513        O[i] = value;
23514      }
23515      return O;
23516    },
23517
23518    find: function find(predicate) {
23519      var list = ES.ToObject(this);
23520      var length = ES.ToLength(list.length);
23521      if (!ES.IsCallable(predicate)) {
23522        throw new TypeError('Array#find: predicate must be a function');
23523      }
23524      var thisArg = arguments.length > 1 ? arguments[1] : null;
23525      for (var i = 0, value; i < length; i++) {
23526        value = list[i];
23527        if (thisArg) {
23528          if (_call(predicate, thisArg, value, i, list)) {
23529            return value;
23530          }
23531        } else if (predicate(value, i, list)) {
23532          return value;
23533        }
23534      }
23535    },
23536
23537    findIndex: function findIndex(predicate) {
23538      var list = ES.ToObject(this);
23539      var length = ES.ToLength(list.length);
23540      if (!ES.IsCallable(predicate)) {
23541        throw new TypeError('Array#findIndex: predicate must be a function');
23542      }
23543      var thisArg = arguments.length > 1 ? arguments[1] : null;
23544      for (var i = 0; i < length; i++) {
23545        if (thisArg) {
23546          if (_call(predicate, thisArg, list[i], i, list)) {
23547            return i;
23548          }
23549        } else if (predicate(list[i], i, list)) {
23550          return i;
23551        }
23552      }
23553      return -1;
23554    },
23555
23556    keys: function keys() {
23557      return new ArrayIterator(this, 'key');
23558    },
23559
23560    values: function values() {
23561      return new ArrayIterator(this, 'value');
23562    },
23563
23564    entries: function entries() {
23565      return new ArrayIterator(this, 'entry');
23566    }
23567  };
23568  // Safari 7.1 defines Array#keys and Array#entries natively,
23569  // but the resulting ArrayIterator objects don't have a "next" method.
23570  if (Array.prototype.keys && !ES.IsCallable([1].keys().next)) {
23571    delete Array.prototype.keys;
23572  }
23573  if (Array.prototype.entries && !ES.IsCallable([1].entries().next)) {
23574    delete Array.prototype.entries;
23575  }
23576
23577  // Chrome 38 defines Array#keys and Array#entries, and Array#@@iterator, but not Array#values
23578  if (Array.prototype.keys && Array.prototype.entries && !Array.prototype.values && Array.prototype[$iterator$]) {
23579    defineProperties(Array.prototype, {
23580      values: Array.prototype[$iterator$]
23581    });
23582    if (Type.symbol(Symbol.unscopables)) {
23583      Array.prototype[Symbol.unscopables].values = true;
23584    }
23585  }
23586  // Chrome 40 defines Array#values with the incorrect name, although Array#{keys,entries} have the correct name
23587  if (functionsHaveNames && Array.prototype.values && Array.prototype.values.name !== 'values') {
23588    var originalArrayPrototypeValues = Array.prototype.values;
23589    overrideNative(Array.prototype, 'values', function values() { return ES.Call(originalArrayPrototypeValues, this, arguments); });
23590    defineProperty(Array.prototype, $iterator$, Array.prototype.values, true);
23591  }
23592  defineProperties(Array.prototype, ArrayPrototypeShims);
23593
23594  if (1 / [true].indexOf(true, -0) < 0) {
23595    // indexOf when given a position arg of -0 should return +0.
23596    // https://github.com/tc39/ecma262/pull/316
23597    defineProperty(Array.prototype, 'indexOf', function indexOf(searchElement) {
23598      var value = _arrayIndexOfApply(this, arguments);
23599      if (value === 0 && (1 / value) < 0) {
23600        return 0;
23601      }
23602      return value;
23603    }, true);
23604  }
23605
23606  addIterator(Array.prototype, function () { return this.values(); });
23607  // Chrome defines keys/values/entries on Array, but doesn't give us
23608  // any way to identify its iterator.  So add our own shimmed field.
23609  if (Object.getPrototypeOf) {
23610    var ChromeArrayIterator = Object.getPrototypeOf([].values());
23611    if (ChromeArrayIterator) { // in WSH, this is `undefined`
23612      addIterator(ChromeArrayIterator);
23613    }
23614  }
23615
23616  // note: this is positioned here because it relies on Array#entries
23617  var arrayFromSwallowsNegativeLengths = (function () {
23618    // Detects a Firefox bug in v32
23619    // https://bugzilla.mozilla.org/show_bug.cgi?id=1063993
23620    return valueOrFalseIfThrows(function () {
23621      return Array.from({ length: -1 }).length === 0;
23622    });
23623  }());
23624  var arrayFromHandlesIterables = (function () {
23625    // Detects a bug in Webkit nightly r181886
23626    var arr = Array.from([0].entries());
23627    return arr.length === 1 && isArray(arr[0]) && arr[0][0] === 0 && arr[0][1] === 0;
23628  }());
23629  if (!arrayFromSwallowsNegativeLengths || !arrayFromHandlesIterables) {
23630    overrideNative(Array, 'from', ArrayShims.from);
23631  }
23632  var arrayFromHandlesUndefinedMapFunction = (function () {
23633    // Microsoft Edge v0.11 throws if the mapFn argument is *provided* but undefined,
23634    // but the spec doesn't care if it's provided or not - undefined doesn't throw.
23635    return valueOrFalseIfThrows(function () {
23636      return Array.from([0], void 0);
23637    });
23638  }());
23639  if (!arrayFromHandlesUndefinedMapFunction) {
23640    var origArrayFrom = Array.from;
23641    overrideNative(Array, 'from', function from(items) {
23642      if (arguments.length > 1 && typeof arguments[1] !== 'undefined') {
23643        return ES.Call(origArrayFrom, this, arguments);
23644      }
23645      return _call(origArrayFrom, this, items);
23646
23647    });
23648  }
23649
23650  var int32sAsOne = -(Math.pow(2, 32) - 1);
23651  var toLengthsCorrectly = function (method, reversed) {
23652    var obj = { length: int32sAsOne };
23653    obj[reversed ? (obj.length >>> 0) - 1 : 0] = true;
23654    return valueOrFalseIfThrows(function () {
23655      _call(method, obj, function () {
23656        // note: in nonconforming browsers, this will be called
23657        // -1 >>> 0 times, which is 4294967295, so the throw matters.
23658        throw new RangeError('should not reach here');
23659      }, []);
23660      return true;
23661    });
23662  };
23663  if (!toLengthsCorrectly(Array.prototype.forEach)) {
23664    var originalForEach = Array.prototype.forEach;
23665    overrideNative(Array.prototype, 'forEach', function forEach(callbackFn) {
23666      return ES.Call(originalForEach, this.length >= 0 ? this : [], arguments);
23667    });
23668  }
23669  if (!toLengthsCorrectly(Array.prototype.map)) {
23670    var originalMap = Array.prototype.map;
23671    overrideNative(Array.prototype, 'map', function map(callbackFn) {
23672      return ES.Call(originalMap, this.length >= 0 ? this : [], arguments);
23673    });
23674  }
23675  if (!toLengthsCorrectly(Array.prototype.filter)) {
23676    var originalFilter = Array.prototype.filter;
23677    overrideNative(Array.prototype, 'filter', function filter(callbackFn) {
23678      return ES.Call(originalFilter, this.length >= 0 ? this : [], arguments);
23679    });
23680  }
23681  if (!toLengthsCorrectly(Array.prototype.some)) {
23682    var originalSome = Array.prototype.some;
23683    overrideNative(Array.prototype, 'some', function some(callbackFn) {
23684      return ES.Call(originalSome, this.length >= 0 ? this : [], arguments);
23685    });
23686  }
23687  if (!toLengthsCorrectly(Array.prototype.every)) {
23688    var originalEvery = Array.prototype.every;
23689    overrideNative(Array.prototype, 'every', function every(callbackFn) {
23690      return ES.Call(originalEvery, this.length >= 0 ? this : [], arguments);
23691    });
23692  }
23693  if (!toLengthsCorrectly(Array.prototype.reduce)) {
23694    var originalReduce = Array.prototype.reduce;
23695    overrideNative(Array.prototype, 'reduce', function reduce(callbackFn) {
23696      return ES.Call(originalReduce, this.length >= 0 ? this : [], arguments);
23697    });
23698  }
23699  if (!toLengthsCorrectly(Array.prototype.reduceRight, true)) {
23700    var originalReduceRight = Array.prototype.reduceRight;
23701    overrideNative(Array.prototype, 'reduceRight', function reduceRight(callbackFn) {
23702      return ES.Call(originalReduceRight, this.length >= 0 ? this : [], arguments);
23703    });
23704  }
23705
23706  var lacksOctalSupport = Number('0o10') !== 8;
23707  var lacksBinarySupport = Number('0b10') !== 2;
23708  var trimsNonWhitespace = _some(nonWS, function (c) {
23709    return Number(c + 0 + c) === 0;
23710  });
23711  if (lacksOctalSupport || lacksBinarySupport || trimsNonWhitespace) {
23712    var OrigNumber = Number;
23713    var binaryRegex = /^0b[01]+$/i;
23714    var octalRegex = /^0o[0-7]+$/i;
23715    // Note that in IE 8, RegExp.prototype.test doesn't seem to exist: ie, "test" is an own property of regexes. wtf.
23716    var isBinary = binaryRegex.test.bind(binaryRegex);
23717    var isOctal = octalRegex.test.bind(octalRegex);
23718    var toPrimitive = function (O, hint) { // need to replace this with `es-to-primitive/es6`
23719      var result;
23720      if (typeof O.valueOf === 'function') {
23721        result = O.valueOf();
23722        if (Type.primitive(result)) {
23723          return result;
23724        }
23725      }
23726      if (typeof O.toString === 'function') {
23727        result = O.toString();
23728        if (Type.primitive(result)) {
23729          return result;
23730        }
23731      }
23732      throw new TypeError('No default value');
23733    };
23734    var hasNonWS = nonWSregex.test.bind(nonWSregex);
23735    var isBadHex = isBadHexRegex.test.bind(isBadHexRegex);
23736    var NumberShim = (function () {
23737      // this is wrapped in an IIFE because of IE 6-8's wacky scoping issues with named function expressions.
23738      var NumberShim = function Number(value) {
23739        var primValue;
23740        if (arguments.length > 0) {
23741          primValue = Type.primitive(value) ? value : toPrimitive(value, 'number');
23742        } else {
23743          primValue = 0;
23744        }
23745        if (typeof primValue === 'string') {
23746          primValue = ES.Call(trimShim, primValue);
23747          if (isBinary(primValue)) {
23748            primValue = parseInt(_strSlice(primValue, 2), 2);
23749          } else if (isOctal(primValue)) {
23750            primValue = parseInt(_strSlice(primValue, 2), 8);
23751          } else if (hasNonWS(primValue) || isBadHex(primValue)) {
23752            primValue = NaN;
23753          }
23754        }
23755        var receiver = this;
23756        var valueOfSucceeds = valueOrFalseIfThrows(function () {
23757          OrigNumber.prototype.valueOf.call(receiver);
23758          return true;
23759        });
23760        if (receiver instanceof NumberShim && !valueOfSucceeds) {
23761          return new OrigNumber(primValue);
23762        }
23763        return OrigNumber(primValue);
23764      };
23765      return NumberShim;
23766    }());
23767    wrapConstructor(OrigNumber, NumberShim, {});
23768    // this is necessary for ES3 browsers, where these properties are non-enumerable.
23769    defineProperties(NumberShim, {
23770      NaN: OrigNumber.NaN,
23771      MAX_VALUE: OrigNumber.MAX_VALUE,
23772      MIN_VALUE: OrigNumber.MIN_VALUE,
23773      NEGATIVE_INFINITY: OrigNumber.NEGATIVE_INFINITY,
23774      POSITIVE_INFINITY: OrigNumber.POSITIVE_INFINITY
23775    });
23776    Number = NumberShim; // eslint-disable-line no-global-assign
23777    Value.redefine(globals, 'Number', NumberShim);
23778  }
23779
23780  var maxSafeInteger = Math.pow(2, 53) - 1;
23781  defineProperties(Number, {
23782    MAX_SAFE_INTEGER: maxSafeInteger,
23783    MIN_SAFE_INTEGER: -maxSafeInteger,
23784    EPSILON: 2.220446049250313e-16,
23785
23786    parseInt: globals.parseInt,
23787    parseFloat: globals.parseFloat,
23788
23789    isFinite: numberIsFinite,
23790
23791    isInteger: function isInteger(value) {
23792      return numberIsFinite(value) && ES.ToInteger(value) === value;
23793    },
23794
23795    isSafeInteger: function isSafeInteger(value) {
23796      return Number.isInteger(value) && _abs(value) <= Number.MAX_SAFE_INTEGER;
23797    },
23798
23799    isNaN: numberIsNaN
23800  });
23801  // Firefox 37 has a conforming Number.parseInt, but it's not === to the global parseInt (fixed in v40)
23802  defineProperty(Number, 'parseInt', globals.parseInt, Number.parseInt !== globals.parseInt);
23803
23804  // Work around bugs in Array#find and Array#findIndex -- early
23805  // implementations skipped holes in sparse arrays. (Note that the
23806  // implementations of find/findIndex indirectly use shimmed
23807  // methods of Number, so this test has to happen down here.)
23808  /* eslint-disable no-sparse-arrays */
23809  if ([, 1].find(function () { return true; }) === 1) {
23810    overrideNative(Array.prototype, 'find', ArrayPrototypeShims.find);
23811  }
23812  if ([, 1].findIndex(function () { return true; }) !== 0) {
23813    overrideNative(Array.prototype, 'findIndex', ArrayPrototypeShims.findIndex);
23814  }
23815  /* eslint-enable no-sparse-arrays */
23816
23817  var isEnumerableOn = Function.bind.call(Function.bind, Object.prototype.propertyIsEnumerable);
23818  var ensureEnumerable = function ensureEnumerable(obj, prop) {
23819    if (supportsDescriptors && isEnumerableOn(obj, prop)) {
23820      Object.defineProperty(obj, prop, { enumerable: false });
23821    }
23822  };
23823  var sliceArgs = function sliceArgs() {
23824    // per https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#32-leaking-arguments
23825    // and https://gist.github.com/WebReflection/4327762cb87a8c634a29
23826    var initial = Number(this);
23827    var len = arguments.length;
23828    var desiredArgCount = len - initial;
23829    var args = new Array(desiredArgCount < 0 ? 0 : desiredArgCount);
23830    for (var i = initial; i < len; ++i) {
23831      args[i - initial] = arguments[i];
23832    }
23833    return args;
23834  };
23835  var assignTo = function assignTo(source) {
23836    return function assignToSource(target, key) {
23837      target[key] = source[key];
23838      return target;
23839    };
23840  };
23841  var assignReducer = function (target, source) {
23842    var sourceKeys = keys(Object(source));
23843    var symbols;
23844    if (ES.IsCallable(Object.getOwnPropertySymbols)) {
23845      symbols = _filter(Object.getOwnPropertySymbols(Object(source)), isEnumerableOn(source));
23846    }
23847    return _reduce(_concat(sourceKeys, symbols || []), assignTo(source), target);
23848  };
23849
23850  var ObjectShims = {
23851    // 19.1.3.1
23852    assign: function (target, source) {
23853      var to = ES.ToObject(target, 'Cannot convert undefined or null to object');
23854      return _reduce(ES.Call(sliceArgs, 1, arguments), assignReducer, to);
23855    },
23856
23857    // Added in WebKit in https://bugs.webkit.org/show_bug.cgi?id=143865
23858    is: function is(a, b) {
23859      return ES.SameValue(a, b);
23860    }
23861  };
23862  var assignHasPendingExceptions = Object.assign && Object.preventExtensions && (function () {
23863    // Firefox 37 still has "pending exception" logic in its Object.assign implementation,
23864    // which is 72% slower than our shim, and Firefox 40's native implementation.
23865    var thrower = Object.preventExtensions({ 1: 2 });
23866    try {
23867      Object.assign(thrower, 'xy');
23868    } catch (e) {
23869      return thrower[1] === 'y';
23870    }
23871  }());
23872  if (assignHasPendingExceptions) {
23873    overrideNative(Object, 'assign', ObjectShims.assign);
23874  }
23875  defineProperties(Object, ObjectShims);
23876
23877  if (supportsDescriptors) {
23878    var ES5ObjectShims = {
23879      // 19.1.3.9
23880      // shim from https://gist.github.com/WebReflection/5593554
23881      setPrototypeOf: (function (Object) {
23882        var set;
23883
23884        var checkArgs = function (O, proto) {
23885          if (!ES.TypeIsObject(O)) {
23886            throw new TypeError('cannot set prototype on a non-object');
23887          }
23888          if (!(proto === null || ES.TypeIsObject(proto))) {
23889            throw new TypeError('can only set prototype to an object or null' + proto);
23890          }
23891        };
23892
23893        var setPrototypeOf = function (O, proto) {
23894          checkArgs(O, proto);
23895          _call(set, O, proto);
23896          return O;
23897        };
23898
23899        try {
23900          // this works already in Firefox and Safari
23901          set = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
23902          _call(set, {}, null);
23903        } catch (e) {
23904          if (Object.prototype !== ({}).__proto__) { // eslint-disable-line no-proto
23905            // IE < 11 cannot be shimmed
23906            return;
23907          }
23908          // probably Chrome or some old Mobile stock browser
23909          set = function (proto) {
23910            this.__proto__ = proto; // eslint-disable-line no-proto
23911          };
23912          // please note that this will **not** work
23913          // in those browsers that do not inherit
23914          // __proto__ by mistake from Object.prototype
23915          // in these cases we should probably throw an error
23916          // or at least be informed about the issue
23917          setPrototypeOf.polyfill = setPrototypeOf(
23918            setPrototypeOf({}, null),
23919            Object.prototype
23920          ) instanceof Object;
23921          // setPrototypeOf.polyfill === true means it works as meant
23922          // setPrototypeOf.polyfill === false means it's not 100% reliable
23923          // setPrototypeOf.polyfill === undefined
23924          // or
23925          // setPrototypeOf.polyfill ==  null means it's not a polyfill
23926          // which means it works as expected
23927          // we can even delete Object.prototype.__proto__;
23928        }
23929        return setPrototypeOf;
23930      }(Object))
23931    };
23932
23933    defineProperties(Object, ES5ObjectShims);
23934  }
23935
23936  // Workaround bug in Opera 12 where setPrototypeOf(x, null) doesn't work,
23937  // but Object.create(null) does.
23938  if (
23939    Object.setPrototypeOf
23940    && Object.getPrototypeOf
23941    && Object.getPrototypeOf(Object.setPrototypeOf({}, null)) !== null
23942    && Object.getPrototypeOf(Object.create(null)) === null
23943  ) {
23944    (function () {
23945      var FAKENULL = Object.create(null);
23946      var gpo = Object.getPrototypeOf;
23947      var spo = Object.setPrototypeOf;
23948      Object.getPrototypeOf = function (o) {
23949        var result = gpo(o);
23950        return result === FAKENULL ? null : result;
23951      };
23952      Object.setPrototypeOf = function (o, p) {
23953        var proto = p === null ? FAKENULL : p;
23954        return spo(o, proto);
23955      };
23956      Object.setPrototypeOf.polyfill = false;
23957    }());
23958  }
23959
23960  var objectKeysAcceptsPrimitives = !throwsError(function () { return Object.keys('foo'); });
23961  if (!objectKeysAcceptsPrimitives) {
23962    var originalObjectKeys = Object.keys;
23963    overrideNative(Object, 'keys', function keys(value) {
23964      return originalObjectKeys(ES.ToObject(value));
23965    });
23966    keys = Object.keys;
23967  }
23968  var objectKeysRejectsRegex = throwsError(function () { return Object.keys(/a/g); });
23969  if (objectKeysRejectsRegex) {
23970    var regexRejectingObjectKeys = Object.keys;
23971    overrideNative(Object, 'keys', function keys(value) {
23972      if (Type.regex(value)) {
23973        var regexKeys = [];
23974        for (var k in value) {
23975          if (_hasOwnProperty(value, k)) {
23976            _push(regexKeys, k);
23977          }
23978        }
23979        return regexKeys;
23980      }
23981      return regexRejectingObjectKeys(value);
23982    });
23983    keys = Object.keys;
23984  }
23985
23986  if (Object.getOwnPropertyNames) {
23987    var objectGOPNAcceptsPrimitives = !throwsError(function () { return Object.getOwnPropertyNames('foo'); });
23988    if (!objectGOPNAcceptsPrimitives) {
23989      var cachedWindowNames = typeof window === 'object' ? Object.getOwnPropertyNames(window) : [];
23990      var originalObjectGetOwnPropertyNames = Object.getOwnPropertyNames;
23991      overrideNative(Object, 'getOwnPropertyNames', function getOwnPropertyNames(value) {
23992        var val = ES.ToObject(value);
23993        if (_toString(val) === '[object Window]') {
23994          try {
23995            return originalObjectGetOwnPropertyNames(val);
23996          } catch (e) {
23997            // IE bug where layout engine calls userland gOPN for cross-domain `window` objects
23998            return _concat([], cachedWindowNames);
23999          }
24000        }
24001        return originalObjectGetOwnPropertyNames(val);
24002      });
24003    }
24004  }
24005  if (Object.getOwnPropertyDescriptor) {
24006    var objectGOPDAcceptsPrimitives = !throwsError(function () { return Object.getOwnPropertyDescriptor('foo', 'bar'); });
24007    if (!objectGOPDAcceptsPrimitives) {
24008      var originalObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
24009      overrideNative(Object, 'getOwnPropertyDescriptor', function getOwnPropertyDescriptor(value, property) {
24010        return originalObjectGetOwnPropertyDescriptor(ES.ToObject(value), property);
24011      });
24012    }
24013  }
24014  if (Object.seal) {
24015    var objectSealAcceptsPrimitives = !throwsError(function () { return Object.seal('foo'); });
24016    if (!objectSealAcceptsPrimitives) {
24017      var originalObjectSeal = Object.seal;
24018      overrideNative(Object, 'seal', function seal(value) {
24019        if (!ES.TypeIsObject(value)) { return value; }
24020        return originalObjectSeal(value);
24021      });
24022    }
24023  }
24024  if (Object.isSealed) {
24025    var objectIsSealedAcceptsPrimitives = !throwsError(function () { return Object.isSealed('foo'); });
24026    if (!objectIsSealedAcceptsPrimitives) {
24027      var originalObjectIsSealed = Object.isSealed;
24028      overrideNative(Object, 'isSealed', function isSealed(value) {
24029        if (!ES.TypeIsObject(value)) { return true; }
24030        return originalObjectIsSealed(value);
24031      });
24032    }
24033  }
24034  if (Object.freeze) {
24035    var objectFreezeAcceptsPrimitives = !throwsError(function () { return Object.freeze('foo'); });
24036    if (!objectFreezeAcceptsPrimitives) {
24037      var originalObjectFreeze = Object.freeze;
24038      overrideNative(Object, 'freeze', function freeze(value) {
24039        if (!ES.TypeIsObject(value)) { return value; }
24040        return originalObjectFreeze(value);
24041      });
24042    }
24043  }
24044  if (Object.isFrozen) {
24045    var objectIsFrozenAcceptsPrimitives = !throwsError(function () { return Object.isFrozen('foo'); });
24046    if (!objectIsFrozenAcceptsPrimitives) {
24047      var originalObjectIsFrozen = Object.isFrozen;
24048      overrideNative(Object, 'isFrozen', function isFrozen(value) {
24049        if (!ES.TypeIsObject(value)) { return true; }
24050        return originalObjectIsFrozen(value);
24051      });
24052    }
24053  }
24054  if (Object.preventExtensions) {
24055    var objectPreventExtensionsAcceptsPrimitives = !throwsError(function () { return Object.preventExtensions('foo'); });
24056    if (!objectPreventExtensionsAcceptsPrimitives) {
24057      var originalObjectPreventExtensions = Object.preventExtensions;
24058      overrideNative(Object, 'preventExtensions', function preventExtensions(value) {
24059        if (!ES.TypeIsObject(value)) { return value; }
24060        return originalObjectPreventExtensions(value);
24061      });
24062    }
24063  }
24064  if (Object.isExtensible) {
24065    var objectIsExtensibleAcceptsPrimitives = !throwsError(function () { return Object.isExtensible('foo'); });
24066    if (!objectIsExtensibleAcceptsPrimitives) {
24067      var originalObjectIsExtensible = Object.isExtensible;
24068      overrideNative(Object, 'isExtensible', function isExtensible(value) {
24069        if (!ES.TypeIsObject(value)) { return false; }
24070        return originalObjectIsExtensible(value);
24071      });
24072    }
24073  }
24074  if (Object.getPrototypeOf) {
24075    var objectGetProtoAcceptsPrimitives = !throwsError(function () { return Object.getPrototypeOf('foo'); });
24076    if (!objectGetProtoAcceptsPrimitives) {
24077      var originalGetProto = Object.getPrototypeOf;
24078      overrideNative(Object, 'getPrototypeOf', function getPrototypeOf(value) {
24079        return originalGetProto(ES.ToObject(value));
24080      });
24081    }
24082  }
24083
24084  var hasFlags = supportsDescriptors && (function () {
24085    var desc = Object.getOwnPropertyDescriptor(RegExp.prototype, 'flags');
24086    return desc && ES.IsCallable(desc.get);
24087  }());
24088  if (supportsDescriptors && !hasFlags) {
24089    var regExpFlagsGetter = function flags() {
24090      if (!ES.TypeIsObject(this)) {
24091        throw new TypeError('Method called on incompatible type: must be an object.');
24092      }
24093      var result = '';
24094      if (this.global) {
24095        result += 'g';
24096      }
24097      if (this.ignoreCase) {
24098        result += 'i';
24099      }
24100      if (this.multiline) {
24101        result += 'm';
24102      }
24103      if (this.unicode) {
24104        result += 'u';
24105      }
24106      if (this.sticky) {
24107        result += 'y';
24108      }
24109      return result;
24110    };
24111
24112    Value.getter(RegExp.prototype, 'flags', regExpFlagsGetter);
24113  }
24114
24115  var regExpSupportsFlagsWithRegex = supportsDescriptors && valueOrFalseIfThrows(function () {
24116    return String(new RegExp(/a/g, 'i')) === '/a/i';
24117  });
24118  var regExpNeedsToSupportSymbolMatch = hasSymbols && supportsDescriptors && (function () {
24119    // Edge 0.12 supports flags fully, but does not support Symbol.match
24120    var regex = /./;
24121    regex[Symbol.match] = false;
24122    return RegExp(regex) === regex;
24123  }());
24124
24125  var regexToStringIsGeneric = valueOrFalseIfThrows(function () {
24126    return RegExp.prototype.toString.call({ source: 'abc' }) === '/abc/';
24127  });
24128  var regexToStringSupportsGenericFlags = regexToStringIsGeneric && valueOrFalseIfThrows(function () {
24129    return RegExp.prototype.toString.call({ source: 'a', flags: 'b' }) === '/a/b';
24130  });
24131  if (!regexToStringIsGeneric || !regexToStringSupportsGenericFlags) {
24132    var origRegExpToString = RegExp.prototype.toString;
24133    defineProperty(RegExp.prototype, 'toString', function toString() {
24134      var R = ES.RequireObjectCoercible(this);
24135      if (Type.regex(R)) {
24136        return _call(origRegExpToString, R);
24137      }
24138      var pattern = $String(R.source);
24139      var flags = $String(R.flags);
24140      return '/' + pattern + '/' + flags;
24141    }, true);
24142    Value.preserveToString(RegExp.prototype.toString, origRegExpToString);
24143    RegExp.prototype.toString.prototype = void 0;
24144  }
24145
24146  if (supportsDescriptors && (!regExpSupportsFlagsWithRegex || regExpNeedsToSupportSymbolMatch)) {
24147    var flagsGetter = Object.getOwnPropertyDescriptor(RegExp.prototype, 'flags').get;
24148    var sourceDesc = Object.getOwnPropertyDescriptor(RegExp.prototype, 'source') || {};
24149    var legacySourceGetter = function () {
24150      // prior to it being a getter, it's own + nonconfigurable
24151      return this.source;
24152    };
24153    var sourceGetter = ES.IsCallable(sourceDesc.get) ? sourceDesc.get : legacySourceGetter;
24154
24155    var OrigRegExp = RegExp;
24156    var RegExpShim = (function () {
24157      return function RegExp(pattern, flags) {
24158        var patternIsRegExp = ES.IsRegExp(pattern);
24159        var calledWithNew = this instanceof RegExp;
24160        if (!calledWithNew && patternIsRegExp && typeof flags === 'undefined' && pattern.constructor === RegExp) {
24161          return pattern;
24162        }
24163
24164        var P = pattern;
24165        var F = flags;
24166        if (Type.regex(pattern)) {
24167          P = ES.Call(sourceGetter, pattern);
24168          F = typeof flags === 'undefined' ? ES.Call(flagsGetter, pattern) : flags;
24169          return new RegExp(P, F);
24170        } else if (patternIsRegExp) {
24171          P = pattern.source;
24172          F = typeof flags === 'undefined' ? pattern.flags : flags;
24173        }
24174        return new OrigRegExp(pattern, flags);
24175      };
24176    }());
24177    wrapConstructor(OrigRegExp, RegExpShim, {
24178      $input: true // Chrome < v39 & Opera < 26 have a nonstandard "$input" property
24179    });
24180    RegExp = RegExpShim; // eslint-disable-line no-global-assign
24181    Value.redefine(globals, 'RegExp', RegExpShim);
24182  }
24183
24184  if (supportsDescriptors) {
24185    var regexGlobals = {
24186      input: '$_',
24187      lastMatch: '$&',
24188      lastParen: '$+',
24189      leftContext: '$`',
24190      rightContext: '$\''
24191    };
24192    _forEach(keys(regexGlobals), function (prop) {
24193      if (prop in RegExp && !(regexGlobals[prop] in RegExp)) {
24194        Value.getter(RegExp, regexGlobals[prop], function get() {
24195          return RegExp[prop];
24196        });
24197      }
24198    });
24199  }
24200  addDefaultSpecies(RegExp);
24201
24202  var inverseEpsilon = 1 / Number.EPSILON;
24203  var roundTiesToEven = function roundTiesToEven(n) {
24204    // Even though this reduces down to `return n`, it takes advantage of built-in rounding.
24205    return (n + inverseEpsilon) - inverseEpsilon;
24206  };
24207  var BINARY_32_EPSILON = Math.pow(2, -23);
24208  var BINARY_32_MAX_VALUE = Math.pow(2, 127) * (2 - BINARY_32_EPSILON);
24209  var BINARY_32_MIN_VALUE = Math.pow(2, -126);
24210  var E = Math.E;
24211  var LOG2E = Math.LOG2E;
24212  var LOG10E = Math.LOG10E;
24213  var numberCLZ = Number.prototype.clz;
24214  delete Number.prototype.clz; // Safari 8 has Number#clz
24215
24216  var MathShims = {
24217    acosh: function acosh(value) {
24218      var x = Number(value);
24219      if (numberIsNaN(x) || value < 1) { return NaN; }
24220      if (x === 1) { return 0; }
24221      if (x === Infinity) { return x; }
24222
24223      var xInvSquared = 1 / (x * x);
24224      if (x < 2) {
24225        return _log1p(x - 1 + (_sqrt(1 - xInvSquared) * x));
24226      }
24227      var halfX = x / 2;
24228      return _log1p(halfX + (_sqrt(1 - xInvSquared) * halfX) - 1) + (1 / LOG2E);
24229    },
24230
24231    asinh: function asinh(value) {
24232      var x = Number(value);
24233      if (x === 0 || !globalIsFinite(x)) {
24234        return x;
24235      }
24236
24237      var a = _abs(x);
24238      var aSquared = a * a;
24239      var s = _sign(x);
24240      if (a < 1) {
24241        return s * _log1p(a + (aSquared / (_sqrt(aSquared + 1) + 1)));
24242      }
24243      return s * (_log1p((a / 2) + (_sqrt(1 + (1 / aSquared)) * a / 2) - 1) + (1 / LOG2E));
24244    },
24245
24246    atanh: function atanh(value) {
24247      var x = Number(value);
24248
24249      if (x === 0) { return x; }
24250      if (x === -1) { return -Infinity; }
24251      if (x === 1) { return Infinity; }
24252      if (numberIsNaN(x) || x < -1 || x > 1) {
24253        return NaN;
24254      }
24255
24256      var a = _abs(x);
24257      return _sign(x) * _log1p(2 * a / (1 - a)) / 2;
24258    },
24259
24260    cbrt: function cbrt(value) {
24261      var x = Number(value);
24262      if (x === 0) { return x; }
24263      var negate = x < 0;
24264      var result;
24265      if (negate) { x = -x; }
24266      if (x === Infinity) {
24267        result = Infinity;
24268      } else {
24269        result = _exp(_log(x) / 3);
24270        // from http://en.wikipedia.org/wiki/Cube_root#Numerical_methods
24271        result = ((x / (result * result)) + (2 * result)) / 3;
24272      }
24273      return negate ? -result : result;
24274    },
24275
24276    clz32: function clz32(value) {
24277      // See https://bugs.ecmascript.org/show_bug.cgi?id=2465
24278      var x = Number(value);
24279      var number = ES.ToUint32(x);
24280      if (number === 0) {
24281        return 32;
24282      }
24283      return numberCLZ ? ES.Call(numberCLZ, number) : 31 - _floor(_log(number + 0.5) * LOG2E);
24284    },
24285
24286    cosh: function cosh(value) {
24287      var x = Number(value);
24288      if (x === 0) { return 1; } // +0 or -0
24289      if (numberIsNaN(x)) { return NaN; }
24290      if (!globalIsFinite(x)) { return Infinity; }
24291
24292      var t = _exp(_abs(x) - 1);
24293      return (t + (1 / (t * E * E))) * (E / 2);
24294    },
24295
24296    expm1: function expm1(value) {
24297      var x = Number(value);
24298      if (x === -Infinity) { return -1; }
24299      if (!globalIsFinite(x) || x === 0) { return x; }
24300      if (_abs(x) > 0.5) {
24301        return _exp(x) - 1;
24302      }
24303      // A more precise approximation using Taylor series expansion
24304      // from https://github.com/paulmillr/es6-shim/issues/314#issuecomment-70293986
24305      var t = x;
24306      var sum = 0;
24307      var n = 1;
24308      while (sum + t !== sum) {
24309        sum += t;
24310        n += 1;
24311        t *= x / n;
24312      }
24313      return sum;
24314    },
24315
24316    hypot: function hypot(x, y) {
24317      var result = 0;
24318      var largest = 0;
24319      for (var i = 0; i < arguments.length; ++i) {
24320        var value = _abs(Number(arguments[i]));
24321        if (largest < value) {
24322          result *= (largest / value) * (largest / value);
24323          result += 1;
24324          largest = value;
24325        } else {
24326          result += value > 0 ? (value / largest) * (value / largest) : value;
24327        }
24328      }
24329      return largest === Infinity ? Infinity : largest * _sqrt(result);
24330    },
24331
24332    log2: function log2(value) {
24333      return _log(value) * LOG2E;
24334    },
24335
24336    log10: function log10(value) {
24337      return _log(value) * LOG10E;
24338    },
24339
24340    log1p: _log1p,
24341
24342    sign: _sign,
24343
24344    sinh: function sinh(value) {
24345      var x = Number(value);
24346      if (!globalIsFinite(x) || x === 0) { return x; }
24347
24348      var a = _abs(x);
24349      if (a < 1) {
24350        var u = Math.expm1(a);
24351        return _sign(x) * u * (1 + (1 / (u + 1))) / 2;
24352      }
24353      var t = _exp(a - 1);
24354      return _sign(x) * (t - (1 / (t * E * E))) * (E / 2);
24355    },
24356
24357    tanh: function tanh(value) {
24358      var x = Number(value);
24359      if (numberIsNaN(x) || x === 0) { return x; }
24360      // can exit early at +-20 as JS loses precision for true value at this integer
24361      if (x >= 20) { return 1; }
24362      if (x <= -20) { return -1; }
24363
24364      return (Math.expm1(x) - Math.expm1(-x)) / (_exp(x) + _exp(-x));
24365    },
24366
24367    trunc: function trunc(value) {
24368      var x = Number(value);
24369      return x < 0 ? -_floor(-x) : _floor(x);
24370    },
24371
24372    imul: function imul(x, y) {
24373      // taken from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul
24374      var a = ES.ToUint32(x);
24375      var b = ES.ToUint32(y);
24376      var ah = (a >>> 16) & 0xffff;
24377      var al = a & 0xffff;
24378      var bh = (b >>> 16) & 0xffff;
24379      var bl = b & 0xffff;
24380      // the shift by 0 fixes the sign on the high part
24381      // the final |0 converts the unsigned value into a signed value
24382      return (al * bl) + ((((ah * bl) + (al * bh)) << 16) >>> 0) | 0;
24383    },
24384
24385    fround: function fround(x) {
24386      var v = Number(x);
24387      if (v === 0 || v === Infinity || v === -Infinity || numberIsNaN(v)) {
24388        return v;
24389      }
24390      var sign = _sign(v);
24391      var abs = _abs(v);
24392      if (abs < BINARY_32_MIN_VALUE) {
24393        return sign * roundTiesToEven(abs / BINARY_32_MIN_VALUE / BINARY_32_EPSILON) * BINARY_32_MIN_VALUE * BINARY_32_EPSILON;
24394      }
24395      // Veltkamp's splitting (?)
24396      var a = (1 + (BINARY_32_EPSILON / Number.EPSILON)) * abs;
24397      var result = a - (a - abs);
24398      if (result > BINARY_32_MAX_VALUE || numberIsNaN(result)) {
24399        return sign * Infinity;
24400      }
24401      return sign * result;
24402    }
24403  };
24404
24405  var withinULPDistance = function withinULPDistance(result, expected, distance) {
24406    return _abs(1 - (result / expected)) / Number.EPSILON < (distance || 8);
24407  };
24408
24409  defineProperties(Math, MathShims);
24410  // Chrome < 40 sinh returns ∞ for large numbers
24411  defineProperty(Math, 'sinh', MathShims.sinh, Math.sinh(710) === Infinity);
24412  // Chrome < 40 cosh returns ∞ for large numbers
24413  defineProperty(Math, 'cosh', MathShims.cosh, Math.cosh(710) === Infinity);
24414  // IE 11 TP has an imprecise log1p: reports Math.log1p(-1e-17) as 0
24415  defineProperty(Math, 'log1p', MathShims.log1p, Math.log1p(-1e-17) !== -1e-17);
24416  // IE 11 TP has an imprecise asinh: reports Math.asinh(-1e7) as not exactly equal to -Math.asinh(1e7)
24417  defineProperty(Math, 'asinh', MathShims.asinh, Math.asinh(-1e7) !== -Math.asinh(1e7));
24418  // Chrome < 54 asinh returns ∞ for large numbers and should not
24419  defineProperty(Math, 'asinh', MathShims.asinh, Math.asinh(1e+300) === Infinity);
24420  // Chrome < 54 atanh incorrectly returns 0 for large numbers
24421  defineProperty(Math, 'atanh', MathShims.atanh, Math.atanh(1e-300) === 0);
24422  // Chrome 40 has an imprecise Math.tanh with very small numbers
24423  defineProperty(Math, 'tanh', MathShims.tanh, Math.tanh(-2e-17) !== -2e-17);
24424  // Chrome 40 loses Math.acosh precision with high numbers
24425  defineProperty(Math, 'acosh', MathShims.acosh, Math.acosh(Number.MAX_VALUE) === Infinity);
24426  // Chrome < 54 has an inaccurate acosh for EPSILON deltas
24427  defineProperty(Math, 'acosh', MathShims.acosh, !withinULPDistance(Math.acosh(1 + Number.EPSILON), Math.sqrt(2 * Number.EPSILON)));
24428  // Firefox 38 on Windows
24429  defineProperty(Math, 'cbrt', MathShims.cbrt, !withinULPDistance(Math.cbrt(1e-300), 1e-100));
24430  // node 0.11 has an imprecise Math.sinh with very small numbers
24431  defineProperty(Math, 'sinh', MathShims.sinh, Math.sinh(-2e-17) !== -2e-17);
24432  // FF 35 on Linux reports 22025.465794806725 for Math.expm1(10)
24433  var expm1OfTen = Math.expm1(10);
24434  defineProperty(Math, 'expm1', MathShims.expm1, expm1OfTen > 22025.465794806719 || expm1OfTen < 22025.4657948067165168);
24435  // node v12.11 - v12.15 report NaN
24436  defineProperty(Math, 'hypot', MathShims.hypot, Math.hypot(Infinity, NaN) !== Infinity);
24437
24438  var origMathRound = Math.round;
24439  // breaks in e.g. Safari 8, Internet Explorer 11, Opera 12
24440  var roundHandlesBoundaryConditions = Math.round(0.5 - (Number.EPSILON / 4)) === 0
24441    && Math.round(-0.5 + (Number.EPSILON / 3.99)) === 1;
24442
24443  // When engines use Math.floor(x + 0.5) internally, Math.round can be buggy for large integers.
24444  // This behavior should be governed by "round to nearest, ties to even mode"
24445  // see http://www.ecma-international.org/ecma-262/6.0/#sec-terms-and-definitions-number-type
24446  // These are the boundary cases where it breaks.
24447  var smallestPositiveNumberWhereRoundBreaks = inverseEpsilon + 1;
24448  var largestPositiveNumberWhereRoundBreaks = (2 * inverseEpsilon) - 1;
24449  var roundDoesNotIncreaseIntegers = [
24450    smallestPositiveNumberWhereRoundBreaks,
24451    largestPositiveNumberWhereRoundBreaks
24452  ].every(function (num) {
24453    return Math.round(num) === num;
24454  });
24455  defineProperty(Math, 'round', function round(x) {
24456    var floor = _floor(x);
24457    var ceil = floor === -1 ? -0 : floor + 1;
24458    return x - floor < 0.5 ? floor : ceil;
24459  }, !roundHandlesBoundaryConditions || !roundDoesNotIncreaseIntegers);
24460  Value.preserveToString(Math.round, origMathRound);
24461
24462  var origImul = Math.imul;
24463  if (Math.imul(0xffffffff, 5) !== -5) {
24464    // Safari 6.1, at least, reports "0" for this value
24465    Math.imul = MathShims.imul;
24466    Value.preserveToString(Math.imul, origImul);
24467  }
24468  if (Math.imul.length !== 2) {
24469    // Safari 8.0.4 has a length of 1
24470    // fixed in https://bugs.webkit.org/show_bug.cgi?id=143658
24471    overrideNative(Math, 'imul', function imul(x, y) {
24472      return ES.Call(origImul, Math, arguments);
24473    });
24474  }
24475
24476  // Promises
24477  // Simplest possible implementation; use a 3rd-party library if you
24478  // want the best possible speed and/or long stack traces.
24479  var PromiseShim = (function () {
24480    var setTimeout = globals.setTimeout;
24481    // some environments don't have setTimeout - no way to shim here.
24482    if (typeof setTimeout !== 'function' && typeof setTimeout !== 'object') { return; }
24483
24484    ES.IsPromise = function (promise) {
24485      if (!ES.TypeIsObject(promise)) {
24486        return false;
24487      }
24488      if (typeof promise._promise === 'undefined') {
24489        return false; // uninitialized, or missing our hidden field.
24490      }
24491      return true;
24492    };
24493
24494    // "PromiseCapability" in the spec is what most promise implementations
24495    // call a "deferred".
24496    var PromiseCapability = function (C) {
24497      if (!ES.IsConstructor(C)) {
24498        throw new TypeError('Bad promise constructor');
24499      }
24500      var capability = this;
24501      var resolver = function (resolve, reject) {
24502        if (capability.resolve !== void 0 || capability.reject !== void 0) {
24503          throw new TypeError('Bad Promise implementation!');
24504        }
24505        capability.resolve = resolve;
24506        capability.reject = reject;
24507      };
24508      // Initialize fields to inform optimizers about the object shape.
24509      capability.resolve = void 0;
24510      capability.reject = void 0;
24511      capability.promise = new C(resolver);
24512      if (!(ES.IsCallable(capability.resolve) && ES.IsCallable(capability.reject))) {
24513        throw new TypeError('Bad promise constructor');
24514      }
24515    };
24516
24517    // find an appropriate setImmediate-alike
24518    var makeZeroTimeout;
24519    if (typeof window !== 'undefined' && ES.IsCallable(window.postMessage)) {
24520      makeZeroTimeout = function () {
24521        // from http://dbaron.org/log/20100309-faster-timeouts
24522        var timeouts = [];
24523        var messageName = 'zero-timeout-message';
24524        var setZeroTimeout = function (fn) {
24525          _push(timeouts, fn);
24526          window.postMessage(messageName, '*');
24527        };
24528        var handleMessage = function (event) {
24529          if (event.source === window && event.data === messageName) {
24530            event.stopPropagation();
24531            if (timeouts.length === 0) { return; }
24532            var fn = _shift(timeouts);
24533            fn();
24534          }
24535        };
24536        window.addEventListener('message', handleMessage, true);
24537        return setZeroTimeout;
24538      };
24539    }
24540    var makePromiseAsap = function () {
24541      // An efficient task-scheduler based on a pre-existing Promise
24542      // implementation, which we can use even if we override the
24543      // global Promise below (in order to workaround bugs)
24544      // https://github.com/Raynos/observ-hash/issues/2#issuecomment-35857671
24545      var P = globals.Promise;
24546      var pr = P && P.resolve && P.resolve();
24547      return pr && function (task) {
24548        return pr.then(task);
24549      };
24550    };
24551    var enqueue = ES.IsCallable(globals.setImmediate)
24552      ? globals.setImmediate
24553      : (
24554        typeof process === 'object' && process.nextTick
24555          ? process.nextTick
24556          : makePromiseAsap() || (ES.IsCallable(makeZeroTimeout) ? makeZeroTimeout() : function (task) { setTimeout(task, 0); })
24557      ); // fallback
24558
24559    // Constants for Promise implementation
24560    var PROMISE_IDENTITY = function (x) { return x; };
24561    var PROMISE_THROWER = function (e) { throw e; };
24562    var PROMISE_PENDING = 0;
24563    var PROMISE_FULFILLED = 1;
24564    var PROMISE_REJECTED = 2;
24565    // We store fulfill/reject handlers and capabilities in a single array.
24566    var PROMISE_FULFILL_OFFSET = 0;
24567    var PROMISE_REJECT_OFFSET = 1;
24568    var PROMISE_CAPABILITY_OFFSET = 2;
24569    // This is used in an optimization for chaining promises via then.
24570    var PROMISE_FAKE_CAPABILITY = {};
24571
24572    var enqueuePromiseReactionJob = function (handler, capability, argument) {
24573      enqueue(function () {
24574        promiseReactionJob(handler, capability, argument);
24575      });
24576    };
24577
24578    var promiseReactionJob = function (handler, promiseCapability, argument) {
24579      var handlerResult, f;
24580      if (promiseCapability === PROMISE_FAKE_CAPABILITY) {
24581        // Fast case, when we don't actually need to chain through to a
24582        // (real) promiseCapability.
24583        return handler(argument);
24584      }
24585      try {
24586        handlerResult = handler(argument);
24587        f = promiseCapability.resolve;
24588      } catch (e) {
24589        handlerResult = e;
24590        f = promiseCapability.reject;
24591      }
24592      f(handlerResult);
24593    };
24594
24595    var fulfillPromise = function (promise, value) {
24596      var _promise = promise._promise;
24597      var length = _promise.reactionLength;
24598      if (length > 0) {
24599        enqueuePromiseReactionJob(
24600          _promise.fulfillReactionHandler0,
24601          _promise.reactionCapability0,
24602          value
24603        );
24604        _promise.fulfillReactionHandler0 = void 0;
24605        _promise.rejectReactions0 = void 0;
24606        _promise.reactionCapability0 = void 0;
24607        if (length > 1) {
24608          for (var i = 1, idx = 0; i < length; i++, idx += 3) {
24609            enqueuePromiseReactionJob(
24610              _promise[idx + PROMISE_FULFILL_OFFSET],
24611              _promise[idx + PROMISE_CAPABILITY_OFFSET],
24612              value
24613            );
24614            promise[idx + PROMISE_FULFILL_OFFSET] = void 0;
24615            promise[idx + PROMISE_REJECT_OFFSET] = void 0;
24616            promise[idx + PROMISE_CAPABILITY_OFFSET] = void 0;
24617          }
24618        }
24619      }
24620      _promise.result = value;
24621      _promise.state = PROMISE_FULFILLED;
24622      _promise.reactionLength = 0;
24623    };
24624
24625    var rejectPromise = function (promise, reason) {
24626      var _promise = promise._promise;
24627      var length = _promise.reactionLength;
24628      if (length > 0) {
24629        enqueuePromiseReactionJob(
24630          _promise.rejectReactionHandler0,
24631          _promise.reactionCapability0,
24632          reason
24633        );
24634        _promise.fulfillReactionHandler0 = void 0;
24635        _promise.rejectReactions0 = void 0;
24636        _promise.reactionCapability0 = void 0;
24637        if (length > 1) {
24638          for (var i = 1, idx = 0; i < length; i++, idx += 3) {
24639            enqueuePromiseReactionJob(
24640              _promise[idx + PROMISE_REJECT_OFFSET],
24641              _promise[idx + PROMISE_CAPABILITY_OFFSET],
24642              reason
24643            );
24644            promise[idx + PROMISE_FULFILL_OFFSET] = void 0;
24645            promise[idx + PROMISE_REJECT_OFFSET] = void 0;
24646            promise[idx + PROMISE_CAPABILITY_OFFSET] = void 0;
24647          }
24648        }
24649      }
24650      _promise.result = reason;
24651      _promise.state = PROMISE_REJECTED;
24652      _promise.reactionLength = 0;
24653    };
24654
24655    var createResolvingFunctions = function (promise) {
24656      var alreadyResolved = false;
24657      var resolve = function (resolution) {
24658        var then;
24659        if (alreadyResolved) { return; }
24660        alreadyResolved = true;
24661        if (resolution === promise) {
24662          return rejectPromise(promise, new TypeError('Self resolution'));
24663        }
24664        if (!ES.TypeIsObject(resolution)) {
24665          return fulfillPromise(promise, resolution);
24666        }
24667        try {
24668          then = resolution.then;
24669        } catch (e) {
24670          return rejectPromise(promise, e);
24671        }
24672        if (!ES.IsCallable(then)) {
24673          return fulfillPromise(promise, resolution);
24674        }
24675        enqueue(function () {
24676          promiseResolveThenableJob(promise, resolution, then);
24677        });
24678      };
24679      var reject = function (reason) {
24680        if (alreadyResolved) { return; }
24681        alreadyResolved = true;
24682        return rejectPromise(promise, reason);
24683      };
24684      return { resolve: resolve, reject: reject };
24685    };
24686
24687    var optimizedThen = function (then, thenable, resolve, reject) {
24688      // Optimization: since we discard the result, we can pass our
24689      // own then implementation a special hint to let it know it
24690      // doesn't have to create it.  (The PROMISE_FAKE_CAPABILITY
24691      // object is local to this implementation and unforgeable outside.)
24692      if (then === Promise$prototype$then) {
24693        _call(then, thenable, resolve, reject, PROMISE_FAKE_CAPABILITY);
24694      } else {
24695        _call(then, thenable, resolve, reject);
24696      }
24697    };
24698    var promiseResolveThenableJob = function (promise, thenable, then) {
24699      var resolvingFunctions = createResolvingFunctions(promise);
24700      var resolve = resolvingFunctions.resolve;
24701      var reject = resolvingFunctions.reject;
24702      try {
24703        optimizedThen(then, thenable, resolve, reject);
24704      } catch (e) {
24705        reject(e);
24706      }
24707    };
24708
24709    var Promise$prototype, Promise$prototype$then;
24710    var Promise = (function () {
24711      var PromiseShim = function Promise(resolver) {
24712        if (!(this instanceof PromiseShim)) {
24713          throw new TypeError('Constructor Promise requires "new"');
24714        }
24715        if (this && this._promise) {
24716          throw new TypeError('Bad construction');
24717        }
24718        // see https://bugs.ecmascript.org/show_bug.cgi?id=2482
24719        if (!ES.IsCallable(resolver)) {
24720          throw new TypeError('not a valid resolver');
24721        }
24722        var promise = emulateES6construct(this, PromiseShim, Promise$prototype, {
24723          _promise: {
24724            result: void 0,
24725            state: PROMISE_PENDING,
24726            // The first member of the "reactions" array is inlined here,
24727            // since most promises only have one reaction.
24728            // We've also exploded the 'reaction' object to inline the
24729            // "handler" and "capability" fields, since both fulfill and
24730            // reject reactions share the same capability.
24731            reactionLength: 0,
24732            fulfillReactionHandler0: void 0,
24733            rejectReactionHandler0: void 0,
24734            reactionCapability0: void 0
24735          }
24736        });
24737        var resolvingFunctions = createResolvingFunctions(promise);
24738        var reject = resolvingFunctions.reject;
24739        try {
24740          resolver(resolvingFunctions.resolve, reject);
24741        } catch (e) {
24742          reject(e);
24743        }
24744        return promise;
24745      };
24746      return PromiseShim;
24747    }());
24748    Promise$prototype = Promise.prototype;
24749
24750    var _promiseAllResolver = function (index, values, capability, remaining) {
24751      var alreadyCalled = false;
24752      return function (x) {
24753        if (alreadyCalled) { return; }
24754        alreadyCalled = true;
24755        values[index] = x;
24756        if ((--remaining.count) === 0) {
24757          var resolve = capability.resolve;
24758          resolve(values); // call w/ this===undefined
24759        }
24760      };
24761    };
24762
24763    var performPromiseAll = function (iteratorRecord, C, resultCapability) {
24764      var it = iteratorRecord.iterator;
24765      var values = [];
24766      var remaining = { count: 1 };
24767      var next, nextValue;
24768      var index = 0;
24769      while (true) {
24770        try {
24771          next = ES.IteratorStep(it);
24772          if (next === false) {
24773            iteratorRecord.done = true;
24774            break;
24775          }
24776          nextValue = next.value;
24777        } catch (e) {
24778          iteratorRecord.done = true;
24779          throw e;
24780        }
24781        values[index] = void 0;
24782        var nextPromise = C.resolve(nextValue);
24783        var resolveElement = _promiseAllResolver(
24784          index,
24785          values,
24786          resultCapability,
24787          remaining
24788        );
24789        remaining.count += 1;
24790        optimizedThen(nextPromise.then, nextPromise, resolveElement, resultCapability.reject);
24791        index += 1;
24792      }
24793      if ((--remaining.count) === 0) {
24794        var resolve = resultCapability.resolve;
24795        resolve(values); // call w/ this===undefined
24796      }
24797      return resultCapability.promise;
24798    };
24799
24800    var performPromiseRace = function (iteratorRecord, C, resultCapability) {
24801      var it = iteratorRecord.iterator;
24802      var next, nextValue, nextPromise;
24803      while (true) {
24804        try {
24805          next = ES.IteratorStep(it);
24806          if (next === false) {
24807            // NOTE: If iterable has no items, resulting promise will never
24808            // resolve; see:
24809            // https://github.com/domenic/promises-unwrapping/issues/75
24810            // https://bugs.ecmascript.org/show_bug.cgi?id=2515
24811            iteratorRecord.done = true;
24812            break;
24813          }
24814          nextValue = next.value;
24815        } catch (e) {
24816          iteratorRecord.done = true;
24817          throw e;
24818        }
24819        nextPromise = C.resolve(nextValue);
24820        optimizedThen(nextPromise.then, nextPromise, resultCapability.resolve, resultCapability.reject);
24821      }
24822      return resultCapability.promise;
24823    };
24824
24825    defineProperties(Promise, {
24826      all: function all(iterable) {
24827        var C = this;
24828        if (!ES.TypeIsObject(C)) {
24829          throw new TypeError('Promise is not object');
24830        }
24831        var capability = new PromiseCapability(C);
24832        var iterator, iteratorRecord;
24833        try {
24834          iterator = ES.GetIterator(iterable);
24835          iteratorRecord = { iterator: iterator, done: false };
24836          return performPromiseAll(iteratorRecord, C, capability);
24837        } catch (e) {
24838          var exception = e;
24839          if (iteratorRecord && !iteratorRecord.done) {
24840            try {
24841              ES.IteratorClose(iterator, true);
24842            } catch (ee) {
24843              exception = ee;
24844            }
24845          }
24846          var reject = capability.reject;
24847          reject(exception);
24848          return capability.promise;
24849        }
24850      },
24851
24852      race: function race(iterable) {
24853        var C = this;
24854        if (!ES.TypeIsObject(C)) {
24855          throw new TypeError('Promise is not object');
24856        }
24857        var capability = new PromiseCapability(C);
24858        var iterator, iteratorRecord;
24859        try {
24860          iterator = ES.GetIterator(iterable);
24861          iteratorRecord = { iterator: iterator, done: false };
24862          return performPromiseRace(iteratorRecord, C, capability);
24863        } catch (e) {
24864          var exception = e;
24865          if (iteratorRecord && !iteratorRecord.done) {
24866            try {
24867              ES.IteratorClose(iterator, true);
24868            } catch (ee) {
24869              exception = ee;
24870            }
24871          }
24872          var reject = capability.reject;
24873          reject(exception);
24874          return capability.promise;
24875        }
24876      },
24877
24878      reject: function reject(reason) {
24879        var C = this;
24880        if (!ES.TypeIsObject(C)) {
24881          throw new TypeError('Bad promise constructor');
24882        }
24883        var capability = new PromiseCapability(C);
24884        var rejectFunc = capability.reject;
24885        rejectFunc(reason); // call with this===undefined
24886        return capability.promise;
24887      },
24888
24889      resolve: function resolve(v) {
24890        // See https://esdiscuss.org/topic/fixing-promise-resolve for spec
24891        var C = this;
24892        if (!ES.TypeIsObject(C)) {
24893          throw new TypeError('Bad promise constructor');
24894        }
24895        if (ES.IsPromise(v)) {
24896          var constructor = v.constructor;
24897          if (constructor === C) {
24898            return v;
24899          }
24900        }
24901        var capability = new PromiseCapability(C);
24902        var resolveFunc = capability.resolve;
24903        resolveFunc(v); // call with this===undefined
24904        return capability.promise;
24905      }
24906    });
24907
24908    defineProperties(Promise$prototype, {
24909      'catch': function (onRejected) {
24910        return this.then(null, onRejected);
24911      },
24912
24913      then: function then(onFulfilled, onRejected) {
24914        var promise = this;
24915        if (!ES.IsPromise(promise)) { throw new TypeError('not a promise'); }
24916        var C = ES.SpeciesConstructor(promise, Promise);
24917        var resultCapability;
24918        var returnValueIsIgnored = arguments.length > 2 && arguments[2] === PROMISE_FAKE_CAPABILITY;
24919        if (returnValueIsIgnored && C === Promise) {
24920          resultCapability = PROMISE_FAKE_CAPABILITY;
24921        } else {
24922          resultCapability = new PromiseCapability(C);
24923        }
24924        // PerformPromiseThen(promise, onFulfilled, onRejected, resultCapability)
24925        // Note that we've split the 'reaction' object into its two
24926        // components, "capabilities" and "handler"
24927        // "capabilities" is always equal to `resultCapability`
24928        var fulfillReactionHandler = ES.IsCallable(onFulfilled) ? onFulfilled : PROMISE_IDENTITY;
24929        var rejectReactionHandler = ES.IsCallable(onRejected) ? onRejected : PROMISE_THROWER;
24930        var _promise = promise._promise;
24931        var value;
24932        if (_promise.state === PROMISE_PENDING) {
24933          if (_promise.reactionLength === 0) {
24934            _promise.fulfillReactionHandler0 = fulfillReactionHandler;
24935            _promise.rejectReactionHandler0 = rejectReactionHandler;
24936            _promise.reactionCapability0 = resultCapability;
24937          } else {
24938            var idx = 3 * (_promise.reactionLength - 1);
24939            _promise[idx + PROMISE_FULFILL_OFFSET] = fulfillReactionHandler;
24940            _promise[idx + PROMISE_REJECT_OFFSET] = rejectReactionHandler;
24941            _promise[idx + PROMISE_CAPABILITY_OFFSET] = resultCapability;
24942          }
24943          _promise.reactionLength += 1;
24944        } else if (_promise.state === PROMISE_FULFILLED) {
24945          value = _promise.result;
24946          enqueuePromiseReactionJob(
24947            fulfillReactionHandler,
24948            resultCapability,
24949            value
24950          );
24951        } else if (_promise.state === PROMISE_REJECTED) {
24952          value = _promise.result;
24953          enqueuePromiseReactionJob(
24954            rejectReactionHandler,
24955            resultCapability,
24956            value
24957          );
24958        } else {
24959          throw new TypeError('unexpected Promise state');
24960        }
24961        return resultCapability.promise;
24962      }
24963    });
24964    // This helps the optimizer by ensuring that methods which take
24965    // capabilities aren't polymorphic.
24966    PROMISE_FAKE_CAPABILITY = new PromiseCapability(Promise);
24967    Promise$prototype$then = Promise$prototype.then;
24968
24969    return Promise;
24970  }());
24971
24972  // Chrome's native Promise has extra methods that it shouldn't have. Let's remove them.
24973  if (globals.Promise) {
24974    delete globals.Promise.accept;
24975    delete globals.Promise.defer;
24976    delete globals.Promise.prototype.chain;
24977  }
24978
24979  if (typeof PromiseShim === 'function') {
24980    // export the Promise constructor.
24981    defineProperties(globals, { Promise: PromiseShim });
24982    // In Chrome 33 (and thereabouts) Promise is defined, but the
24983    // implementation is buggy in a number of ways.  Let's check subclassing
24984    // support to see if we have a buggy implementation.
24985    var promiseSupportsSubclassing = supportsSubclassing(globals.Promise, function (S) {
24986      return S.resolve(42).then(function () {}) instanceof S;
24987    });
24988    var promiseIgnoresNonFunctionThenCallbacks = !throwsError(function () {
24989      return globals.Promise.reject(42).then(null, 5).then(null, noop);
24990    });
24991    var promiseRequiresObjectContext = throwsError(function () { return globals.Promise.call(3, noop); });
24992    // Promise.resolve() was errata'ed late in the ES6 process.
24993    // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1170742
24994    //      https://code.google.com/p/v8/issues/detail?id=4161
24995    // It serves as a proxy for a number of other bugs in early Promise
24996    // implementations.
24997    var promiseResolveBroken = (function (Promise) {
24998      var p = Promise.resolve(5);
24999      p.constructor = {};
25000      var p2 = Promise.resolve(p);
25001      try {
25002        p2.then(null, noop).then(null, noop); // avoid "uncaught rejection" warnings in console
25003      } catch (e) {
25004        return true; // v8 native Promises break here https://code.google.com/p/chromium/issues/detail?id=575314
25005      }
25006      return p === p2; // This *should* be false!
25007    }(globals.Promise));
25008
25009    // Chrome 46 (probably older too) does not retrieve a thenable's .then synchronously
25010    var getsThenSynchronously = supportsDescriptors && (function () {
25011      var count = 0;
25012      // eslint-disable-next-line getter-return
25013      var thenable = Object.defineProperty({}, 'then', { get: function () { count += 1; } });
25014      Promise.resolve(thenable);
25015      return count === 1;
25016    }());
25017
25018    var BadResolverPromise = function BadResolverPromise(executor) {
25019      var p = new Promise(executor);
25020      executor(3, function () {});
25021      this.then = p.then;
25022      this.constructor = BadResolverPromise;
25023    };
25024    BadResolverPromise.prototype = Promise.prototype;
25025    BadResolverPromise.all = Promise.all;
25026    // Chrome Canary 49 (probably older too) has some implementation bugs
25027    var hasBadResolverPromise = valueOrFalseIfThrows(function () {
25028      return !!BadResolverPromise.all([1, 2]);
25029    });
25030
25031    if (
25032      !promiseSupportsSubclassing
25033      || !promiseIgnoresNonFunctionThenCallbacks
25034      || !promiseRequiresObjectContext
25035      || promiseResolveBroken
25036      || !getsThenSynchronously
25037      || hasBadResolverPromise
25038    ) {
25039      Promise = PromiseShim; // eslint-disable-line no-global-assign
25040      overrideNative(globals, 'Promise', PromiseShim);
25041    }
25042    if (Promise.all.length !== 1) {
25043      var origAll = Promise.all;
25044      overrideNative(Promise, 'all', function all(iterable) {
25045        return ES.Call(origAll, this, arguments);
25046      });
25047    }
25048    if (Promise.race.length !== 1) {
25049      var origRace = Promise.race;
25050      overrideNative(Promise, 'race', function race(iterable) {
25051        return ES.Call(origRace, this, arguments);
25052      });
25053    }
25054    if (Promise.resolve.length !== 1) {
25055      var origResolve = Promise.resolve;
25056      overrideNative(Promise, 'resolve', function resolve(x) {
25057        return ES.Call(origResolve, this, arguments);
25058      });
25059    }
25060    if (Promise.reject.length !== 1) {
25061      var origReject = Promise.reject;
25062      overrideNative(Promise, 'reject', function reject(r) {
25063        return ES.Call(origReject, this, arguments);
25064      });
25065    }
25066    ensureEnumerable(Promise, 'all');
25067    ensureEnumerable(Promise, 'race');
25068    ensureEnumerable(Promise, 'resolve');
25069    ensureEnumerable(Promise, 'reject');
25070    addDefaultSpecies(Promise);
25071  }
25072
25073  // Map and Set require a true ES5 environment
25074  // Their fast path also requires that the environment preserve
25075  // property insertion order, which is not guaranteed by the spec.
25076  var testOrder = function (a) {
25077    var b = keys(_reduce(a, function (o, k) {
25078      o[k] = true;
25079      return o;
25080    }, {}));
25081    return a.join(':') === b.join(':');
25082  };
25083  var preservesInsertionOrder = testOrder(['z', 'a', 'bb']);
25084  // some engines (eg, Chrome) only preserve insertion order for string keys
25085  var preservesNumericInsertionOrder = testOrder(['z', 1, 'a', '3', 2]);
25086
25087  if (supportsDescriptors) {
25088
25089    var fastkey = function fastkey(key, skipInsertionOrderCheck) {
25090      if (!skipInsertionOrderCheck && !preservesInsertionOrder) {
25091        return null;
25092      }
25093      if (isNullOrUndefined(key)) {
25094        return '^' + ES.ToString(key);
25095      } else if (typeof key === 'string') {
25096        return '$' + key;
25097      } else if (typeof key === 'number') {
25098        // note that -0 will get coerced to "0" when used as a property key
25099        if (!preservesNumericInsertionOrder) {
25100          return 'n' + key;
25101        }
25102        return key;
25103      } else if (typeof key === 'boolean') {
25104        return 'b' + key;
25105      }
25106      return null;
25107    };
25108
25109    var emptyObject = function emptyObject() {
25110      // accomodate some older not-quite-ES5 browsers
25111      return Object.create ? Object.create(null) : {};
25112    };
25113
25114    var addIterableToMap = function addIterableToMap(MapConstructor, map, iterable) {
25115      if (isArray(iterable) || Type.string(iterable)) {
25116        _forEach(iterable, function (entry) {
25117          if (!ES.TypeIsObject(entry)) {
25118            throw new TypeError('Iterator value ' + entry + ' is not an entry object');
25119          }
25120          map.set(entry[0], entry[1]);
25121        });
25122      } else if (iterable instanceof MapConstructor) {
25123        _call(MapConstructor.prototype.forEach, iterable, function (value, key) {
25124          map.set(key, value);
25125        });
25126      } else {
25127        var iter, adder;
25128        if (!isNullOrUndefined(iterable)) {
25129          adder = map.set;
25130          if (!ES.IsCallable(adder)) { throw new TypeError('bad map'); }
25131          iter = ES.GetIterator(iterable);
25132        }
25133        if (typeof iter !== 'undefined') {
25134          while (true) {
25135            var next = ES.IteratorStep(iter);
25136            if (next === false) { break; }
25137            var nextItem = next.value;
25138            try {
25139              if (!ES.TypeIsObject(nextItem)) {
25140                throw new TypeError('Iterator value ' + nextItem + ' is not an entry object');
25141              }
25142              _call(adder, map, nextItem[0], nextItem[1]);
25143            } catch (e) {
25144              ES.IteratorClose(iter, true);
25145              throw e;
25146            }
25147          }
25148        }
25149      }
25150    };
25151    var addIterableToSet = function addIterableToSet(SetConstructor, set, iterable) {
25152      if (isArray(iterable) || Type.string(iterable)) {
25153        _forEach(iterable, function (value) {
25154          set.add(value);
25155        });
25156      } else if (iterable instanceof SetConstructor) {
25157        _call(SetConstructor.prototype.forEach, iterable, function (value) {
25158          set.add(value);
25159        });
25160      } else {
25161        var iter, adder;
25162        if (!isNullOrUndefined(iterable)) {
25163          adder = set.add;
25164          if (!ES.IsCallable(adder)) { throw new TypeError('bad set'); }
25165          iter = ES.GetIterator(iterable);
25166        }
25167        if (typeof iter !== 'undefined') {
25168          while (true) {
25169            var next = ES.IteratorStep(iter);
25170            if (next === false) { break; }
25171            var nextValue = next.value;
25172            try {
25173              _call(adder, set, nextValue);
25174            } catch (e) {
25175              ES.IteratorClose(iter, true);
25176              throw e;
25177            }
25178          }
25179        }
25180      }
25181    };
25182
25183    var collectionShims = {
25184      Map: (function () {
25185
25186        var empty = {};
25187
25188        var MapEntry = function MapEntry(key, value) {
25189          this.key = key;
25190          this.value = value;
25191          this.next = null;
25192          this.prev = null;
25193        };
25194
25195        MapEntry.prototype.isRemoved = function isRemoved() {
25196          return this.key === empty;
25197        };
25198
25199        var isMap = function isMap(map) {
25200          return !!map._es6map;
25201        };
25202
25203        var requireMapSlot = function requireMapSlot(map, method) {
25204          if (!ES.TypeIsObject(map) || !isMap(map)) {
25205            throw new TypeError('Method Map.prototype.' + method + ' called on incompatible receiver ' + ES.ToString(map));
25206          }
25207        };
25208
25209        var MapIterator = function MapIterator(map, kind) {
25210          requireMapSlot(map, '[[MapIterator]]');
25211          defineProperty(this, 'head', map._head);
25212          defineProperty(this, 'i', this.head);
25213          defineProperty(this, 'kind', kind);
25214        };
25215
25216        MapIterator.prototype = {
25217          isMapIterator: true,
25218          next: function next() {
25219            if (!this.isMapIterator) {
25220              throw new TypeError('Not a MapIterator');
25221            }
25222            var i = this.i;
25223            var kind = this.kind;
25224            var head = this.head;
25225            if (typeof this.i === 'undefined') {
25226              return iteratorResult();
25227            }
25228            while (i.isRemoved() && i !== head) {
25229              // back up off of removed entries
25230              i = i.prev;
25231            }
25232            // advance to next unreturned element.
25233            var result;
25234            while (i.next !== head) {
25235              i = i.next;
25236              if (!i.isRemoved()) {
25237                if (kind === 'key') {
25238                  result = i.key;
25239                } else if (kind === 'value') {
25240                  result = i.value;
25241                } else {
25242                  result = [i.key, i.value];
25243                }
25244                this.i = i;
25245                return iteratorResult(result);
25246              }
25247            }
25248            // once the iterator is done, it is done forever.
25249            this.i = void 0;
25250            return iteratorResult();
25251          }
25252        };
25253        addIterator(MapIterator.prototype);
25254
25255        var Map$prototype;
25256        var MapShim = function Map() {
25257          if (!(this instanceof Map)) {
25258            throw new TypeError('Constructor Map requires "new"');
25259          }
25260          if (this && this._es6map) {
25261            throw new TypeError('Bad construction');
25262          }
25263          var map = emulateES6construct(this, Map, Map$prototype, {
25264            _es6map: true,
25265            _head: null,
25266            _map: OrigMap ? new OrigMap() : null,
25267            _size: 0,
25268            _storage: emptyObject()
25269          });
25270
25271          var head = new MapEntry(null, null);
25272          // circular doubly-linked list.
25273          /* eslint no-multi-assign: 1 */
25274          head.next = head.prev = head;
25275          map._head = head;
25276
25277          // Optionally initialize map from iterable
25278          if (arguments.length > 0) {
25279            addIterableToMap(Map, map, arguments[0]);
25280          }
25281          return map;
25282        };
25283        Map$prototype = MapShim.prototype;
25284
25285        Value.getter(Map$prototype, 'size', function () {
25286          if (typeof this._size === 'undefined') {
25287            throw new TypeError('size method called on incompatible Map');
25288          }
25289          return this._size;
25290        });
25291
25292        defineProperties(Map$prototype, {
25293          get: function get(key) {
25294            requireMapSlot(this, 'get');
25295            var entry;
25296            var fkey = fastkey(key, true);
25297            if (fkey !== null) {
25298              // fast O(1) path
25299              entry = this._storage[fkey];
25300              if (entry) {
25301                return entry.value;
25302              }
25303              return;
25304
25305            }
25306            if (this._map) {
25307              // fast object key path
25308              entry = origMapGet.call(this._map, key);
25309              if (entry) {
25310                return entry.value;
25311              }
25312              return;
25313
25314            }
25315            var head = this._head;
25316            var i = head;
25317            while ((i = i.next) !== head) {
25318              if (ES.SameValueZero(i.key, key)) {
25319                return i.value;
25320              }
25321            }
25322          },
25323
25324          has: function has(key) {
25325            requireMapSlot(this, 'has');
25326            var fkey = fastkey(key, true);
25327            if (fkey !== null) {
25328              // fast O(1) path
25329              return typeof this._storage[fkey] !== 'undefined';
25330            }
25331            if (this._map) {
25332              // fast object key path
25333              return origMapHas.call(this._map, key);
25334            }
25335            var head = this._head;
25336            var i = head;
25337            while ((i = i.next) !== head) {
25338              if (ES.SameValueZero(i.key, key)) {
25339                return true;
25340              }
25341            }
25342            return false;
25343          },
25344
25345          set: function set(key, value) {
25346            requireMapSlot(this, 'set');
25347            var head = this._head;
25348            var i = head;
25349            var entry;
25350            var fkey = fastkey(key, true);
25351            if (fkey !== null) {
25352              // fast O(1) path
25353              if (typeof this._storage[fkey] !== 'undefined') {
25354                this._storage[fkey].value = value;
25355                return this;
25356              }
25357              entry = this._storage[fkey] = new MapEntry(key, value); /* eslint no-multi-assign: 1 */
25358              i = head.prev;
25359              // fall through
25360
25361            } else if (this._map) {
25362              // fast object key path
25363              if (origMapHas.call(this._map, key)) {
25364                origMapGet.call(this._map, key).value = value;
25365              } else {
25366                entry = new MapEntry(key, value);
25367                origMapSet.call(this._map, key, entry);
25368                i = head.prev;
25369                // fall through
25370              }
25371            }
25372            while ((i = i.next) !== head) {
25373              if (ES.SameValueZero(i.key, key)) {
25374                i.value = value;
25375                return this;
25376              }
25377            }
25378            entry = entry || new MapEntry(key, value);
25379            if (ES.SameValue(-0, key)) {
25380              entry.key = +0; // coerce -0 to +0 in entry
25381            }
25382            entry.next = this._head;
25383            entry.prev = this._head.prev;
25384            entry.prev.next = entry;
25385            entry.next.prev = entry;
25386            this._size += 1;
25387            return this;
25388          },
25389
25390          'delete': function (key) {
25391            requireMapSlot(this, 'delete');
25392            var head = this._head;
25393            var i = head;
25394            var fkey = fastkey(key, true);
25395            if (fkey !== null) {
25396              // fast O(1) path
25397              if (typeof this._storage[fkey] === 'undefined') {
25398                return false;
25399              }
25400              i = this._storage[fkey].prev;
25401              delete this._storage[fkey];
25402              // fall through
25403            } else if (this._map) {
25404              // fast object key path
25405              if (!origMapHas.call(this._map, key)) {
25406                return false;
25407              }
25408              i = origMapGet.call(this._map, key).prev;
25409              origMapDelete.call(this._map, key);
25410              // fall through
25411            }
25412            while ((i = i.next) !== head) {
25413              if (ES.SameValueZero(i.key, key)) {
25414                i.key = empty;
25415                i.value = empty;
25416                i.prev.next = i.next;
25417                i.next.prev = i.prev;
25418                this._size -= 1;
25419                return true;
25420              }
25421            }
25422            return false;
25423          },
25424
25425          clear: function clear() {
25426            /* eslint no-multi-assign: 1 */
25427            requireMapSlot(this, 'clear');
25428            this._map = OrigMap ? new OrigMap() : null;
25429            this._size = 0;
25430            this._storage = emptyObject();
25431            var head = this._head;
25432            var i = head;
25433            var p = i.next;
25434            while ((i = p) !== head) {
25435              i.key = empty;
25436              i.value = empty;
25437              p = i.next;
25438              i.next = i.prev = head;
25439            }
25440            head.next = head.prev = head;
25441          },
25442
25443          keys: function keys() {
25444            requireMapSlot(this, 'keys');
25445            return new MapIterator(this, 'key');
25446          },
25447
25448          values: function values() {
25449            requireMapSlot(this, 'values');
25450            return new MapIterator(this, 'value');
25451          },
25452
25453          entries: function entries() {
25454            requireMapSlot(this, 'entries');
25455            return new MapIterator(this, 'key+value');
25456          },
25457
25458          forEach: function forEach(callback) {
25459            requireMapSlot(this, 'forEach');
25460            var context = arguments.length > 1 ? arguments[1] : null;
25461            var it = this.entries();
25462            for (var entry = it.next(); !entry.done; entry = it.next()) {
25463              if (context) {
25464                _call(callback, context, entry.value[1], entry.value[0], this);
25465              } else {
25466                callback(entry.value[1], entry.value[0], this);
25467              }
25468            }
25469          }
25470        });
25471        addIterator(Map$prototype, Map$prototype.entries);
25472
25473        return MapShim;
25474      }()),
25475
25476      Set: (function () {
25477        var isSet = function isSet(set) {
25478          return set._es6set && typeof set._storage !== 'undefined';
25479        };
25480        var requireSetSlot = function requireSetSlot(set, method) {
25481          if (!ES.TypeIsObject(set) || !isSet(set)) {
25482            // https://github.com/paulmillr/es6-shim/issues/176
25483            throw new TypeError('Set.prototype.' + method + ' called on incompatible receiver ' + ES.ToString(set));
25484          }
25485        };
25486
25487        // Creating a Map is expensive.  To speed up the common case of
25488        // Sets containing only string or numeric keys, we use an object
25489        // as backing storage and lazily create a full Map only when
25490        // required.
25491        var Set$prototype;
25492        var SetShim = function Set() {
25493          if (!(this instanceof Set)) {
25494            throw new TypeError('Constructor Set requires "new"');
25495          }
25496          if (this && this._es6set) {
25497            throw new TypeError('Bad construction');
25498          }
25499          var set = emulateES6construct(this, Set, Set$prototype, {
25500            _es6set: true,
25501            '[[SetData]]': null,
25502            _storage: emptyObject()
25503          });
25504          if (!set._es6set) {
25505            throw new TypeError('bad set');
25506          }
25507
25508          // Optionally initialize Set from iterable
25509          if (arguments.length > 0) {
25510            addIterableToSet(Set, set, arguments[0]);
25511          }
25512          return set;
25513        };
25514        Set$prototype = SetShim.prototype;
25515
25516        var decodeKey = function (key) {
25517          var k = key;
25518          if (k === '^null') {
25519            return null;
25520          } else if (k === '^undefined') {
25521            return void 0;
25522          }
25523          var first = k.charAt(0);
25524          if (first === '$') {
25525            return _strSlice(k, 1);
25526          } else if (first === 'n') {
25527            return +_strSlice(k, 1);
25528          } else if (first === 'b') {
25529            return k === 'btrue';
25530          }
25531
25532          return +k;
25533        };
25534        // Switch from the object backing storage to a full Map.
25535        var ensureMap = function ensureMap(set) {
25536          if (!set['[[SetData]]']) {
25537            var m = new collectionShims.Map();
25538            set['[[SetData]]'] = m;
25539            _forEach(keys(set._storage), function (key) {
25540              var k = decodeKey(key);
25541              m.set(k, k);
25542            });
25543            set['[[SetData]]'] = m;
25544          }
25545          set._storage = null; // free old backing storage
25546        };
25547
25548        Value.getter(SetShim.prototype, 'size', function () {
25549          requireSetSlot(this, 'size');
25550          if (this._storage) {
25551            return keys(this._storage).length;
25552          }
25553          ensureMap(this);
25554          return this['[[SetData]]'].size;
25555        });
25556
25557        defineProperties(SetShim.prototype, {
25558          has: function has(key) {
25559            requireSetSlot(this, 'has');
25560            var fkey;
25561            if (this._storage && (fkey = fastkey(key)) !== null) {
25562              return !!this._storage[fkey];
25563            }
25564            ensureMap(this);
25565            return this['[[SetData]]'].has(key);
25566          },
25567
25568          add: function add(key) {
25569            requireSetSlot(this, 'add');
25570            var fkey;
25571            if (this._storage && (fkey = fastkey(key)) !== null) {
25572              this._storage[fkey] = true;
25573              return this;
25574            }
25575            ensureMap(this);
25576            this['[[SetData]]'].set(key, key);
25577            return this;
25578          },
25579
25580          'delete': function (key) {
25581            requireSetSlot(this, 'delete');
25582            var fkey;
25583            if (this._storage && (fkey = fastkey(key)) !== null) {
25584              var hasFKey = _hasOwnProperty(this._storage, fkey);
25585              return (delete this._storage[fkey]) && hasFKey;
25586            }
25587            ensureMap(this);
25588            return this['[[SetData]]']['delete'](key);
25589          },
25590
25591          clear: function clear() {
25592            requireSetSlot(this, 'clear');
25593            if (this._storage) {
25594              this._storage = emptyObject();
25595            }
25596            if (this['[[SetData]]']) {
25597              this['[[SetData]]'].clear();
25598            }
25599          },
25600
25601          values: function values() {
25602            requireSetSlot(this, 'values');
25603            ensureMap(this);
25604            return new SetIterator(this['[[SetData]]'].values());
25605          },
25606
25607          entries: function entries() {
25608            requireSetSlot(this, 'entries');
25609            ensureMap(this);
25610            return new SetIterator(this['[[SetData]]'].entries());
25611          },
25612
25613          forEach: function forEach(callback) {
25614            requireSetSlot(this, 'forEach');
25615            var context = arguments.length > 1 ? arguments[1] : null;
25616            var entireSet = this;
25617            ensureMap(entireSet);
25618            this['[[SetData]]'].forEach(function (value, key) {
25619              if (context) {
25620                _call(callback, context, key, key, entireSet);
25621              } else {
25622                callback(key, key, entireSet);
25623              }
25624            });
25625          }
25626        });
25627        defineProperty(SetShim.prototype, 'keys', SetShim.prototype.values, true);
25628        addIterator(SetShim.prototype, SetShim.prototype.values);
25629
25630        var SetIterator = function SetIterator(it) {
25631          defineProperty(this, 'it', it);
25632        };
25633        SetIterator.prototype = {
25634          isSetIterator: true,
25635          next: function next() {
25636            if (!this.isSetIterator) {
25637              throw new TypeError('Not a SetIterator');
25638            }
25639            return this.it.next();
25640          }
25641        };
25642        addIterator(SetIterator.prototype);
25643
25644        return SetShim;
25645      }())
25646    };
25647
25648    var isGoogleTranslate = globals.Set && !Set.prototype['delete'] && Set.prototype.remove && Set.prototype.items && Set.prototype.map && Array.isArray(new Set().keys);
25649    if (isGoogleTranslate) {
25650      // special-case force removal of wildly invalid Set implementation in Google Translate iframes
25651      // see https://github.com/paulmillr/es6-shim/issues/438 / https://twitter.com/ljharb/status/849335573114363904
25652      globals.Set = collectionShims.Set;
25653    }
25654    if (globals.Map || globals.Set) {
25655      // Safari 8, for example, doesn't accept an iterable.
25656      var mapAcceptsArguments = valueOrFalseIfThrows(function () { return new Map([[1, 2]]).get(1) === 2; });
25657      if (!mapAcceptsArguments) {
25658        globals.Map = function Map() {
25659          if (!(this instanceof Map)) {
25660            throw new TypeError('Constructor Map requires "new"');
25661          }
25662          var m = new OrigMap();
25663          if (arguments.length > 0) {
25664            addIterableToMap(Map, m, arguments[0]);
25665          }
25666          delete m.constructor;
25667          Object.setPrototypeOf(m, globals.Map.prototype);
25668          return m;
25669        };
25670        globals.Map.prototype = create(OrigMap.prototype);
25671        defineProperty(globals.Map.prototype, 'constructor', globals.Map, true);
25672        Value.preserveToString(globals.Map, OrigMap);
25673      }
25674      var testMap = new Map();
25675      var mapUsesSameValueZero = (function () {
25676        // Chrome 38-42, node 0.11/0.12, iojs 1/2 also have a bug when the Map has a size > 4
25677        var m = new Map([[1, 0], [2, 0], [3, 0], [4, 0]]);
25678        m.set(-0, m);
25679        return m.get(0) === m && m.get(-0) === m && m.has(0) && m.has(-0);
25680      }());
25681      var mapSupportsChaining = testMap.set(1, 2) === testMap;
25682      if (!mapUsesSameValueZero || !mapSupportsChaining) {
25683        overrideNative(Map.prototype, 'set', function set(k, v) {
25684          _call(origMapSet, this, k === 0 ? 0 : k, v);
25685          return this;
25686        });
25687      }
25688      if (!mapUsesSameValueZero) {
25689        defineProperties(Map.prototype, {
25690          get: function get(k) {
25691            return _call(origMapGet, this, k === 0 ? 0 : k);
25692          },
25693          has: function has(k) {
25694            return _call(origMapHas, this, k === 0 ? 0 : k);
25695          }
25696        }, true);
25697        Value.preserveToString(Map.prototype.get, origMapGet);
25698        Value.preserveToString(Map.prototype.has, origMapHas);
25699      }
25700      var testSet = new Set();
25701      var setUsesSameValueZero = Set.prototype['delete'] && Set.prototype.add && Set.prototype.has && (function (s) {
25702        s['delete'](0);
25703        s.add(-0);
25704        return !s.has(0);
25705      }(testSet));
25706      var setSupportsChaining = testSet.add(1) === testSet;
25707      if (!setUsesSameValueZero || !setSupportsChaining) {
25708        var origSetAdd = Set.prototype.add;
25709        Set.prototype.add = function add(v) {
25710          _call(origSetAdd, this, v === 0 ? 0 : v);
25711          return this;
25712        };
25713        Value.preserveToString(Set.prototype.add, origSetAdd);
25714      }
25715      if (!setUsesSameValueZero) {
25716        var origSetHas = Set.prototype.has;
25717        Set.prototype.has = function has(v) {
25718          return _call(origSetHas, this, v === 0 ? 0 : v);
25719        };
25720        Value.preserveToString(Set.prototype.has, origSetHas);
25721        var origSetDel = Set.prototype['delete'];
25722        Set.prototype['delete'] = function SetDelete(v) {
25723          return _call(origSetDel, this, v === 0 ? 0 : v);
25724        };
25725        Value.preserveToString(Set.prototype['delete'], origSetDel);
25726      }
25727      var mapSupportsSubclassing = supportsSubclassing(globals.Map, function (M) {
25728        var m = new M([]);
25729        // Firefox 32 is ok with the instantiating the subclass but will
25730        // throw when the map is used.
25731        m.set(42, 42);
25732        return m instanceof M;
25733      });
25734      // without Object.setPrototypeOf, subclassing is not possible
25735      var mapFailsToSupportSubclassing = Object.setPrototypeOf && !mapSupportsSubclassing;
25736      var mapRequiresNew = (function () {
25737        try {
25738          return !(globals.Map() instanceof globals.Map);
25739        } catch (e) {
25740          return e instanceof TypeError;
25741        }
25742      }());
25743      if (globals.Map.length !== 0 || mapFailsToSupportSubclassing || !mapRequiresNew) {
25744        globals.Map = function Map() {
25745          if (!(this instanceof Map)) {
25746            throw new TypeError('Constructor Map requires "new"');
25747          }
25748          var m = new OrigMap();
25749          if (arguments.length > 0) {
25750            addIterableToMap(Map, m, arguments[0]);
25751          }
25752          delete m.constructor;
25753          Object.setPrototypeOf(m, Map.prototype);
25754          return m;
25755        };
25756        globals.Map.prototype = OrigMap.prototype;
25757        defineProperty(globals.Map.prototype, 'constructor', globals.Map, true);
25758        Value.preserveToString(globals.Map, OrigMap);
25759      }
25760      var setSupportsSubclassing = supportsSubclassing(globals.Set, function (S) {
25761        var s = new S([]);
25762        s.add(42, 42);
25763        return s instanceof S;
25764      });
25765      // without Object.setPrototypeOf, subclassing is not possible
25766      var setFailsToSupportSubclassing = Object.setPrototypeOf && !setSupportsSubclassing;
25767      var setRequiresNew = (function () {
25768        try {
25769          return !(globals.Set() instanceof globals.Set);
25770        } catch (e) {
25771          return e instanceof TypeError;
25772        }
25773      }());
25774      if (globals.Set.length !== 0 || setFailsToSupportSubclassing || !setRequiresNew) {
25775        var OrigSet = globals.Set;
25776        globals.Set = function Set() {
25777          if (!(this instanceof Set)) {
25778            throw new TypeError('Constructor Set requires "new"');
25779          }
25780          var s = new OrigSet();
25781          if (arguments.length > 0) {
25782            addIterableToSet(Set, s, arguments[0]);
25783          }
25784          delete s.constructor;
25785          Object.setPrototypeOf(s, Set.prototype);
25786          return s;
25787        };
25788        globals.Set.prototype = OrigSet.prototype;
25789        defineProperty(globals.Set.prototype, 'constructor', globals.Set, true);
25790        Value.preserveToString(globals.Set, OrigSet);
25791      }
25792      var newMap = new globals.Map();
25793      var mapIterationThrowsStopIterator = !valueOrFalseIfThrows(function () {
25794        return newMap.keys().next().done;
25795      });
25796      /*
25797        - In Firefox < 23, Map#size is a function.
25798        - In all current Firefox, Set#entries/keys/values & Map#clear do not exist
25799        - https://bugzilla.mozilla.org/show_bug.cgi?id=869996
25800        - In Firefox 24, Map and Set do not implement forEach
25801        - In Firefox 25 at least, Map and Set are callable without "new"
25802      */
25803      if (
25804        typeof globals.Map.prototype.clear !== 'function'
25805        || new globals.Set().size !== 0
25806        || newMap.size !== 0
25807        || typeof globals.Map.prototype.keys !== 'function'
25808        || typeof globals.Set.prototype.keys !== 'function'
25809        || typeof globals.Map.prototype.forEach !== 'function'
25810        || typeof globals.Set.prototype.forEach !== 'function'
25811        || isCallableWithoutNew(globals.Map)
25812        || isCallableWithoutNew(globals.Set)
25813        || typeof newMap.keys().next !== 'function' // Safari 8
25814        || mapIterationThrowsStopIterator // Firefox 25
25815        || !mapSupportsSubclassing
25816      ) {
25817        defineProperties(globals, {
25818          Map: collectionShims.Map,
25819          Set: collectionShims.Set
25820        }, true);
25821      }
25822
25823      if (globals.Set.prototype.keys !== globals.Set.prototype.values) {
25824        // Fixed in WebKit with https://bugs.webkit.org/show_bug.cgi?id=144190
25825        defineProperty(globals.Set.prototype, 'keys', globals.Set.prototype.values, true);
25826      }
25827
25828      // Shim incomplete iterator implementations.
25829      addIterator(Object.getPrototypeOf((new globals.Map()).keys()));
25830      addIterator(Object.getPrototypeOf((new globals.Set()).keys()));
25831
25832      if (functionsHaveNames && globals.Set.prototype.has.name !== 'has') {
25833        // Microsoft Edge v0.11.10074.0 is missing a name on Set#has
25834        var anonymousSetHas = globals.Set.prototype.has;
25835        overrideNative(globals.Set.prototype, 'has', function has(key) {
25836          return _call(anonymousSetHas, this, key);
25837        });
25838      }
25839    }
25840    defineProperties(globals, collectionShims);
25841    addDefaultSpecies(globals.Map);
25842    addDefaultSpecies(globals.Set);
25843  }
25844
25845  var throwUnlessTargetIsObject = function throwUnlessTargetIsObject(target) {
25846    if (!ES.TypeIsObject(target)) {
25847      throw new TypeError('target must be an object');
25848    }
25849  };
25850
25851  // Some Reflect methods are basically the same as
25852  // those on the Object global, except that a TypeError is thrown if
25853  // target isn't an object. As well as returning a boolean indicating
25854  // the success of the operation.
25855  var ReflectShims = {
25856    // Apply method in a functional form.
25857    apply: function apply() {
25858      return ES.Call(ES.Call, null, arguments);
25859    },
25860
25861    // New operator in a functional form.
25862    construct: function construct(constructor, args) {
25863      if (!ES.IsConstructor(constructor)) {
25864        throw new TypeError('First argument must be a constructor.');
25865      }
25866      var newTarget = arguments.length > 2 ? arguments[2] : constructor;
25867      if (!ES.IsConstructor(newTarget)) {
25868        throw new TypeError('new.target must be a constructor.');
25869      }
25870      return ES.Construct(constructor, args, newTarget, 'internal');
25871    },
25872
25873    // When deleting a non-existent or configurable property,
25874    // true is returned.
25875    // When attempting to delete a non-configurable property,
25876    // it will return false.
25877    deleteProperty: function deleteProperty(target, key) {
25878      throwUnlessTargetIsObject(target);
25879      if (supportsDescriptors) {
25880        var desc = Object.getOwnPropertyDescriptor(target, key);
25881
25882        if (desc && !desc.configurable) {
25883          return false;
25884        }
25885      }
25886
25887      // Will return true.
25888      return delete target[key];
25889    },
25890
25891    has: function has(target, key) {
25892      throwUnlessTargetIsObject(target);
25893      return key in target;
25894    }
25895  };
25896
25897  if (Object.getOwnPropertyNames) {
25898    Object.assign(ReflectShims, {
25899      // Basically the result of calling the internal [[OwnPropertyKeys]].
25900      // Concatenating propertyNames and propertySymbols should do the trick.
25901      // This should continue to work together with a Symbol shim
25902      // which overrides Object.getOwnPropertyNames and implements
25903      // Object.getOwnPropertySymbols.
25904      ownKeys: function ownKeys(target) {
25905        throwUnlessTargetIsObject(target);
25906        var keys = Object.getOwnPropertyNames(target);
25907
25908        if (ES.IsCallable(Object.getOwnPropertySymbols)) {
25909          _pushApply(keys, Object.getOwnPropertySymbols(target));
25910        }
25911
25912        return keys;
25913      }
25914    });
25915  }
25916
25917  var callAndCatchException = function ConvertExceptionToBoolean(func) {
25918    return !throwsError(func);
25919  };
25920
25921  if (Object.preventExtensions) {
25922    Object.assign(ReflectShims, {
25923      isExtensible: function isExtensible(target) {
25924        throwUnlessTargetIsObject(target);
25925        return Object.isExtensible(target);
25926      },
25927      preventExtensions: function preventExtensions(target) {
25928        throwUnlessTargetIsObject(target);
25929        return callAndCatchException(function () {
25930          return Object.preventExtensions(target);
25931        });
25932      }
25933    });
25934  }
25935
25936  if (supportsDescriptors) {
25937    var internalGet = function get(target, key, receiver) {
25938      var desc = Object.getOwnPropertyDescriptor(target, key);
25939
25940      if (!desc) {
25941        var parent = Object.getPrototypeOf(target);
25942
25943        if (parent === null) {
25944          return void 0;
25945        }
25946
25947        return internalGet(parent, key, receiver);
25948      }
25949
25950      if ('value' in desc) {
25951        return desc.value;
25952      }
25953
25954      if (desc.get) {
25955        return ES.Call(desc.get, receiver);
25956      }
25957
25958      return void 0;
25959    };
25960
25961    var internalSet = function set(target, key, value, receiver) {
25962      var desc = Object.getOwnPropertyDescriptor(target, key);
25963
25964      if (!desc) {
25965        var parent = Object.getPrototypeOf(target);
25966
25967        if (parent !== null) {
25968          return internalSet(parent, key, value, receiver);
25969        }
25970
25971        desc = {
25972          value: void 0,
25973          writable: true,
25974          enumerable: true,
25975          configurable: true
25976        };
25977      }
25978
25979      if ('value' in desc) {
25980        if (!desc.writable) {
25981          return false;
25982        }
25983
25984        if (!ES.TypeIsObject(receiver)) {
25985          return false;
25986        }
25987
25988        var existingDesc = Object.getOwnPropertyDescriptor(receiver, key);
25989
25990        if (existingDesc) {
25991          return Reflect.defineProperty(receiver, key, {
25992            value: value
25993          });
25994        }
25995        return Reflect.defineProperty(receiver, key, {
25996          value: value,
25997          writable: true,
25998          enumerable: true,
25999          configurable: true
26000        });
26001
26002      }
26003
26004      if (desc.set) {
26005        _call(desc.set, receiver, value);
26006        return true;
26007      }
26008
26009      return false;
26010    };
26011
26012    Object.assign(ReflectShims, {
26013      defineProperty: function defineProperty(target, propertyKey, attributes) {
26014        throwUnlessTargetIsObject(target);
26015        return callAndCatchException(function () {
26016          return Object.defineProperty(target, propertyKey, attributes);
26017        });
26018      },
26019
26020      getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {
26021        throwUnlessTargetIsObject(target);
26022        return Object.getOwnPropertyDescriptor(target, propertyKey);
26023      },
26024
26025      // Syntax in a functional form.
26026      get: function get(target, key) {
26027        throwUnlessTargetIsObject(target);
26028        var receiver = arguments.length > 2 ? arguments[2] : target;
26029
26030        return internalGet(target, key, receiver);
26031      },
26032
26033      set: function set(target, key, value) {
26034        throwUnlessTargetIsObject(target);
26035        var receiver = arguments.length > 3 ? arguments[3] : target;
26036
26037        return internalSet(target, key, value, receiver);
26038      }
26039    });
26040  }
26041
26042  if (Object.getPrototypeOf) {
26043    var objectDotGetPrototypeOf = Object.getPrototypeOf;
26044    ReflectShims.getPrototypeOf = function getPrototypeOf(target) {
26045      throwUnlessTargetIsObject(target);
26046      return objectDotGetPrototypeOf(target);
26047    };
26048  }
26049
26050  if (Object.setPrototypeOf && ReflectShims.getPrototypeOf) {
26051    var willCreateCircularPrototype = function (object, lastProto) {
26052      var proto = lastProto;
26053      while (proto) {
26054        if (object === proto) {
26055          return true;
26056        }
26057        proto = ReflectShims.getPrototypeOf(proto);
26058      }
26059      return false;
26060    };
26061
26062    Object.assign(ReflectShims, {
26063      // Sets the prototype of the given object.
26064      // Returns true on success, otherwise false.
26065      setPrototypeOf: function setPrototypeOf(object, proto) {
26066        throwUnlessTargetIsObject(object);
26067        if (proto !== null && !ES.TypeIsObject(proto)) {
26068          throw new TypeError('proto must be an object or null');
26069        }
26070
26071        // If they already are the same, we're done.
26072        if (proto === Reflect.getPrototypeOf(object)) {
26073          return true;
26074        }
26075
26076        // Cannot alter prototype if object not extensible.
26077        if (Reflect.isExtensible && !Reflect.isExtensible(object)) {
26078          return false;
26079        }
26080
26081        // Ensure that we do not create a circular prototype chain.
26082        if (willCreateCircularPrototype(object, proto)) {
26083          return false;
26084        }
26085
26086        Object.setPrototypeOf(object, proto);
26087
26088        return true;
26089      }
26090    });
26091  }
26092  var defineOrOverrideReflectProperty = function (key, shim) {
26093    if (!ES.IsCallable(globals.Reflect[key])) {
26094      defineProperty(globals.Reflect, key, shim);
26095    } else {
26096      var acceptsPrimitives = valueOrFalseIfThrows(function () {
26097        globals.Reflect[key](1);
26098        globals.Reflect[key](NaN);
26099        globals.Reflect[key](true);
26100        return true;
26101      });
26102      if (acceptsPrimitives) {
26103        overrideNative(globals.Reflect, key, shim);
26104      }
26105    }
26106  };
26107  Object.keys(ReflectShims).forEach(function (key) {
26108    defineOrOverrideReflectProperty(key, ReflectShims[key]);
26109  });
26110  var originalReflectGetProto = globals.Reflect.getPrototypeOf;
26111  if (functionsHaveNames && originalReflectGetProto && originalReflectGetProto.name !== 'getPrototypeOf') {
26112    overrideNative(globals.Reflect, 'getPrototypeOf', function getPrototypeOf(target) {
26113      return _call(originalReflectGetProto, globals.Reflect, target);
26114    });
26115  }
26116  if (globals.Reflect.setPrototypeOf) {
26117    if (valueOrFalseIfThrows(function () {
26118      globals.Reflect.setPrototypeOf(1, {});
26119      return true;
26120    })) {
26121      overrideNative(globals.Reflect, 'setPrototypeOf', ReflectShims.setPrototypeOf);
26122    }
26123  }
26124  if (globals.Reflect.defineProperty) {
26125    if (!valueOrFalseIfThrows(function () {
26126      var basic = !globals.Reflect.defineProperty(1, 'test', { value: 1 });
26127      // "extensible" fails on Edge 0.12
26128      var extensible = typeof Object.preventExtensions !== 'function' || !globals.Reflect.defineProperty(Object.preventExtensions({}), 'test', {});
26129      return basic && extensible;
26130    })) {
26131      overrideNative(globals.Reflect, 'defineProperty', ReflectShims.defineProperty);
26132    }
26133  }
26134  if (globals.Reflect.construct) {
26135    if (!valueOrFalseIfThrows(function () {
26136      var F = function F() {};
26137      return globals.Reflect.construct(function () {}, [], F) instanceof F;
26138    })) {
26139      overrideNative(globals.Reflect, 'construct', ReflectShims.construct);
26140    }
26141  }
26142
26143  if (String(new Date(NaN)) !== 'Invalid Date') {
26144    var dateToString = Date.prototype.toString;
26145    var shimmedDateToString = function toString() {
26146      var valueOf = +this;
26147      if (valueOf !== valueOf) {
26148        return 'Invalid Date';
26149      }
26150      return ES.Call(dateToString, this);
26151    };
26152    overrideNative(Date.prototype, 'toString', shimmedDateToString);
26153  }
26154
26155  // Annex B HTML methods
26156  // http://www.ecma-international.org/ecma-262/6.0/#sec-additional-properties-of-the-string.prototype-object
26157  var stringHTMLshims = {
26158    anchor: function anchor(name) { return ES.CreateHTML(this, 'a', 'name', name); },
26159    big: function big() { return ES.CreateHTML(this, 'big', '', ''); },
26160    blink: function blink() { return ES.CreateHTML(this, 'blink', '', ''); },
26161    bold: function bold() { return ES.CreateHTML(this, 'b', '', ''); },
26162    fixed: function fixed() { return ES.CreateHTML(this, 'tt', '', ''); },
26163    fontcolor: function fontcolor(color) { return ES.CreateHTML(this, 'font', 'color', color); },
26164    fontsize: function fontsize(size) { return ES.CreateHTML(this, 'font', 'size', size); },
26165    italics: function italics() { return ES.CreateHTML(this, 'i', '', ''); },
26166    link: function link(url) { return ES.CreateHTML(this, 'a', 'href', url); },
26167    small: function small() { return ES.CreateHTML(this, 'small', '', ''); },
26168    strike: function strike() { return ES.CreateHTML(this, 'strike', '', ''); },
26169    sub: function sub() { return ES.CreateHTML(this, 'sub', '', ''); },
26170    sup: function sub() { return ES.CreateHTML(this, 'sup', '', ''); }
26171  };
26172  _forEach(Object.keys(stringHTMLshims), function (key) {
26173    var method = String.prototype[key];
26174    var shouldOverwrite = false;
26175    if (ES.IsCallable(method)) {
26176      var output = _call(method, '', ' " ');
26177      var quotesCount = _concat([], output.match(/"/g)).length;
26178      shouldOverwrite = output !== output.toLowerCase() || quotesCount > 2;
26179    } else {
26180      shouldOverwrite = true;
26181    }
26182    if (shouldOverwrite) {
26183      overrideNative(String.prototype, key, stringHTMLshims[key]);
26184    }
26185  });
26186
26187  var JSONstringifiesSymbols = (function () {
26188    // Microsoft Edge v0.12 stringifies Symbols incorrectly
26189    if (!hasSymbols) { return false; } // Symbols are not supported
26190    var stringify = typeof JSON === 'object' && typeof JSON.stringify === 'function' ? JSON.stringify : null;
26191    if (!stringify) { return false; } // JSON.stringify is not supported
26192    if (typeof stringify(Symbol()) !== 'undefined') { return true; } // Symbols should become `undefined`
26193    if (stringify([Symbol()]) !== '[null]') { return true; } // Symbols in arrays should become `null`
26194    var obj = { a: Symbol() };
26195    obj[Symbol()] = true;
26196    if (stringify(obj) !== '{}') { return true; } // Symbol-valued keys *and* Symbol-valued properties should be omitted
26197    return false;
26198  }());
26199  var JSONstringifyAcceptsObjectSymbol = valueOrFalseIfThrows(function () {
26200    // Chrome 45 throws on stringifying object symbols
26201    if (!hasSymbols) { return true; } // Symbols are not supported
26202    return JSON.stringify(Object(Symbol())) === '{}' && JSON.stringify([Object(Symbol())]) === '[{}]';
26203  });
26204  if (JSONstringifiesSymbols || !JSONstringifyAcceptsObjectSymbol) {
26205    var origStringify = JSON.stringify;
26206    overrideNative(JSON, 'stringify', function stringify(value) {
26207      if (typeof value === 'symbol') { return; }
26208      var replacer;
26209      if (arguments.length > 1) {
26210        replacer = arguments[1];
26211      }
26212      var args = [value];
26213      if (!isArray(replacer)) {
26214        var replaceFn = ES.IsCallable(replacer) ? replacer : null;
26215        var wrappedReplacer = function (key, val) {
26216          var parsedValue = replaceFn ? _call(replaceFn, this, key, val) : val;
26217          if (typeof parsedValue !== 'symbol') {
26218            if (Type.symbol(parsedValue)) {
26219              return assignTo({})(parsedValue);
26220            }
26221            return parsedValue;
26222
26223          }
26224        };
26225        args.push(wrappedReplacer);
26226      } else {
26227        // create wrapped replacer that handles an array replacer?
26228        args.push(replacer);
26229      }
26230      if (arguments.length > 2) {
26231        args.push(arguments[2]);
26232      }
26233      return origStringify.apply(this, args);
26234    });
26235  }
26236
26237  return globals;
26238}));
26239
26240/** 
26241 * FormValidation (https://formvalidation.io)
26242 * The best validation library for JavaScript
26243 * (c) 2013 - 2023 Nguyen Huu Phuoc <[email protected]>
26244 * 
26245 * @license https://formvalidation.io/license
26246 * @package @form-validation/bundle
26247 * @version 2.4.0
26248 */
26249
26250!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).FormValidation={})}(this,(function(e){"use strict";var t,n={exports:{}},i={};n.exports=function(){if(t)return i;t=1;var e={luhn:function(e){for(var t=e.length,n=[[0,1,2,3,4,5,6,7,8,9],[0,2,4,6,8,1,3,5,7,9]],i=0,r=0;t--;)r+=n[i][parseInt(e.charAt(t),10)],i=1-i;return r%10==0&&r>0},mod11And10:function(e){for(var t=e.length,n=5,i=0;i<t;i++)n=(2*(n||10)%11+parseInt(e.charAt(i),10))%10;return 1===n},mod37And36:function(e,t){void 0===t&&(t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ");for(var n=e.length,i=t.length,r=Math.floor(i/2),o=0;o<n;o++)r=(2*(r||i)%(i+1)+t.indexOf(e.charAt(o)))%i;return 1===r},mod97And10:function(e){for(var t=function(e){return e.split("").map((function(e){var t=e.charCodeAt(0);return t>=65&&t<=90?t-55:e})).join("").split("").map((function(e){return parseInt(e,10)}))}(e),n=0,i=t.length,r=0;r<i-1;++r)n=10*(n+t[r])%97;return(n+=t[i-1])%97==1},verhoeff:function(e){for(var t=[[0,1,2,3,4,5,6,7,8,9],[1,2,3,4,0,6,7,8,9,5],[2,3,4,0,1,7,8,9,5,6],[3,4,0,1,2,8,9,5,6,7],[4,0,1,2,3,9,5,6,7,8],[5,9,8,7,6,0,4,3,2,1],[6,5,9,8,7,1,0,4,3,2],[7,6,5,9,8,2,1,0,4,3],[8,7,6,5,9,3,2,1,0,4],[9,8,7,6,5,4,3,2,1,0]],n=[[0,1,2,3,4,5,6,7,8,9],[1,5,7,6,2,8,3,0,9,4],[5,8,0,3,7,9,6,1,4,2],[8,9,1,6,0,4,3,5,2,7],[9,4,5,3,1,2,6,8,7,0],[4,2,8,6,5,7,3,9,0,1],[2,7,9,3,8,0,6,4,1,5],[7,0,4,6,9,1,3,2,5,8]],i=e.reverse(),r=0,o=0;o<i.length;o++)r=t[r][n[o%8][i[o]]];return 0===r}},n=function(){function e(e,t){this.fields={},this.elements={},this.ee={fns:{},clear:function(){this.fns={}},emit:function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];(this.fns[e]||[]).map((function(e){return e.apply(e,t)}))},off:function(e,t){if(this.fns[e]){var n=this.fns[e].indexOf(t);n>=0&&this.fns[e].splice(n,1)}},on:function(e,t){(this.fns[e]=this.fns[e]||[]).push(t)}},this.filter={filters:{},add:function(e,t){(this.filters[e]=this.filters[e]||[]).push(t)},clear:function(){this.filters={}},execute:function(e,t,n){if(!this.filters[e]||!this.filters[e].length)return t;for(var i=t,r=this.filters[e],o=r.length,a=0;a<o;a++)i=r[a].apply(i,n);return i},remove:function(e,t){this.filters[e]&&(this.filters[e]=this.filters[e].filter((function(e){return e!==t})))}},this.plugins={},this.results=new Map,this.validators={},this.form=e,this.fields=t}return e.prototype.on=function(e,t){return this.ee.on(e,t),this},e.prototype.off=function(e,t){return this.ee.off(e,t),this},e.prototype.emit=function(e){for(var t,n=[],i=1;i<arguments.length;i++)n[i-1]=arguments[i];return(t=this.ee).emit.apply(t,function(e,t,n){if(n||2===arguments.length)for(var i,r=0,o=t.length;r<o;r++)!i&&r in t||(i||(i=Array.prototype.slice.call(t,0,r)),i[r]=t[r]);return e.concat(i||Array.prototype.slice.call(t))}([e],n,!1)),this},e.prototype.registerPlugin=function(e,t){if(this.plugins[e])throw new Error("The plguin ".concat(e," is registered"));return t.setCore(this),t.install(),this.plugins[e]=t,this},e.prototype.deregisterPlugin=function(e){var t=this.plugins[e];return t&&t.uninstall(),delete this.plugins[e],this},e.prototype.enablePlugin=function(e){var t=this.plugins[e];return t&&t.enable(),this},e.prototype.disablePlugin=function(e){var t=this.plugins[e];return t&&t.disable(),this},e.prototype.isPluginEnabled=function(e){var t=this.plugins[e];return!!t&&t.isPluginEnabled()},e.prototype.registerValidator=function(e,t){if(this.validators[e])throw new Error("The validator ".concat(e," is registered"));return this.validators[e]=t,this},e.prototype.registerFilter=function(e,t){return this.filter.add(e,t),this},e.prototype.deregisterFilter=function(e,t){return this.filter.remove(e,t),this},e.prototype.executeFilter=function(e,t,n){return this.filter.execute(e,t,n)},e.prototype.addField=function(e,t){var n=Object.assign({},{selector:"",validators:{}},t);return this.fields[e]=this.fields[e]?{selector:n.selector||this.fields[e].selector,validators:Object.assign({},this.fields[e].validators,n.validators)}
26250:n,this.elements[e]=this.queryElements(e),this.emit("core.field.added",{elements:this.elements[e],field:e,options:this.fields[e]}),this},e.prototype.removeField=function(e){if(!this.fields[e])throw new Error("The field ".concat(e," validators are not defined. Please ensure the field is added first"));var t=this.elements[e],n=this.fields[e];return delete this.elements[e],delete this.fields[e],this.emit("core.field.removed",{elements:t,field:e,options:n}),this},e.prototype.validate=function(){var e=this;return this.emit("core.form.validating",{formValidation:this}),this.filter.execute("validate-pre",Promise.resolve(),[]).then((function(){return Promise.all(Object.keys(e.fields).map((function(t){return e.validateField(t)}))).then((function(t){switch(!0){case-1!==t.indexOf("Invalid"):return e.emit("core.form.invalid",{formValidation:e}),Promise.resolve("Invalid");case-1!==t.indexOf("NotValidated"):return e.emit("core.form.notvalidated",{formValidation:e}),Promise.resolve("NotValidated");default:return e.emit("core.form.valid",{formValidation:e}),Promise.resolve("Valid")}}))}))},e.prototype.validateField=function(e){var t=this,n=this.results.get(e);if("Valid"===n||"Invalid"===n)return Promise.resolve(n);this.emit("core.field.validating",e);var i=this.elements[e];if(0===i.length)return this.emit("core.field.valid",e),Promise.resolve("Valid");var r=i[0].getAttribute("type");return"radio"===r||"checkbox"===r||1===i.length?this.validateElement(e,i[0]):Promise.all(i.map((function(n){return t.validateElement(e,n)}))).then((function(n){switch(!0){case-1!==n.indexOf("Invalid"):return t.emit("core.field.invalid",e),t.results.set(e,"Invalid"),Promise.resolve("Invalid");case-1!==n.indexOf("NotValidated"):return t.emit("core.field.notvalidated",e),t.results.delete(e),Promise.resolve("NotValidated");default:return t.emit("core.field.valid",e),t.results.set(e,"Valid"),Promise.resolve("Valid")}}))},e.prototype.validateElement=function(e,t){var n=this;this.results.delete(e);var i=this.elements[e];if(this.filter.execute("element-ignored",!1,[e,t,i]))return this.emit("core.element.ignored",{element:t,elements:i,field:e}),Promise.resolve("Ignored");var r=this.fields[e].validators;this.emit("core.element.validating",{element:t,elements:i,field:e});var o=Object.keys(r).map((function(i){return function(){return n.executeValidator(e,t,i,r[i])}}));return this.waterfall(o).then((function(r){var o=-1===r.indexOf("Invalid");n.emit("core.element.validated",{element:t,elements:i,field:e,valid:o});var a=t.getAttribute("type");return"radio"!==a&&"checkbox"!==a&&1!==i.length||n.emit(o?"core.field.valid":"core.field.invalid",e),Promise.resolve(o?"Valid":"Invalid")})).catch((function(r){return n.emit("core.element.notvalidated",{element:t,elements:i,field:e}),Promise.resolve(r)}))},e.prototype.executeValidator=function(e,t,n,i){var r=this,o=this.elements[e],a=this.filter.execute("validator-name",n,[n,e]);if(i.message=this.filter.execute("validator-message",i.message,[this.locale,e,a]),!this.validators[a]||!1===i.enabled)return this.emit("core.validator.validated",{element:t,elements:o,field:e,result:this.normalizeResult(e,a,{valid:!0}),validator:a}),Promise.resolve("Valid");var s=this.validators[a],l=this.getElementValue(e,t,a);if(!this.filter.execute("field-should-validate",!0,[e,t,l,n]))return this.emit("core.validator.notvalidated",{element:t,elements:o,field:e,validator:n}),Promise.resolve("NotValidated");this.emit("core.validator.validating",{element:t,elements:o,field:e,validator:n});var d=s().validate({element:t,elements:o,field:e,l10n:this.localization,options:i,value:l});if("function"==typeof d.then)return d.then((function(i){var a=r.normalizeResult(e,n,i);return r.emit("core.validator.validated",{element:t,elements:o,field:e,result:a,validator:n}),a.valid?"Valid":"Invalid"}));var c=this.normalizeResult(e,n,d);return this.emit("core.validator.validated",{element:t,elements:o,field:e,result:c,validator:n}),Promise.resolve(c.valid?"Valid":"Invalid")},e.prototype.getElementValue=function(e,t,n){var i=function(e,t,n,i){var r=(n.getAttribute("type")||"").toLowerCase(),o=n.tagName.toLowerCase();if("textarea"===o)return n.value;if("select"===o){var a=n,s=a.selectedIndex;return s>=0?a.options.item(s).value:""}if("input"===o){if("radio"===r||"checkbox"===r){var l=i.filter((function(e){return e.checked})).length;return 0===l?"":l+""}return n.value}return""}(this.form,0,t,this.elements[e]);return this.filter.execute("field-value",i,[i,e,t,n])},e.prototype.getElements=function(e){return this.elements[e]},e.prototype.getFields=function(){return this.fields},e.prototype.getFormElement=function(){return this.form},e.prototype.getLocale=function(){return this.locale},e.prototype.getPlugin=function(e){return this.plugins[e]},e.prototype.updateFieldStatus=function(e,t,n){var i=this,r=this.elements[e],o=r[0].getAttribute("type");if(("radio"===o||"checkbox"===o?[r[0]]:r).forEach((function(r){return i.updateElementStatus(e,r,t,n)}
26250)),n)"Invalid"===t&&(this.emit("core.field.invalid",e),this.results.set(e,"Invalid"));else switch(t){case"NotValidated":this.emit("core.field.notvalidated",e),this.results.delete(e);break;case"Validating":this.emit("core.field.validating",e),this.results.delete(e);break;case"Valid":this.emit("core.field.valid",e),this.results.set(e,"Valid");break;case"Invalid":this.emit("core.field.invalid",e),this.results.set(e,"Invalid")}return this},e.prototype.updateElementStatus=function(e,t,n,i){var r=this,o=this.elements[e],a=this.fields[e].validators,s=i?[i]:Object.keys(a);switch(n){case"NotValidated":s.forEach((function(n){return r.emit("core.validator.notvalidated",{element:t,elements:o,field:e,validator:n})})),this.emit("core.element.notvalidated",{element:t,elements:o,field:e});break;case"Validating":s.forEach((function(n){return r.emit("core.validator.validating",{element:t,elements:o,field:e,validator:n})})),this.emit("core.element.validating",{element:t,elements:o,field:e});break;case"Valid":s.forEach((function(n){return r.emit("core.validator.validated",{element:t,elements:o,field:e,result:{message:a[n].message,valid:!0},validator:n})})),this.emit("core.element.validated",{element:t,elements:o,field:e,valid:!0});break;case"Invalid":s.forEach((function(n){return r.emit("core.validator.validated",{element:t,elements:o,field:e,result:{message:a[n].message,valid:!1},validator:n})})),this.emit("core.element.validated",{element:t,elements:o,field:e,valid:!1})}return this},e.prototype.resetForm=function(e){var t=this;return Object.keys(this.fields).forEach((function(n){return t.resetField(n,e)})),this.emit("core.form.reset",{formValidation:this,reset:e}),this},e.prototype.resetField=function(e,t){if(t){var n=this.elements[e],i=n[0].getAttribute("type");n.forEach((function(e){"radio"===i||"checkbox"===i?(e.removeAttribute("selected"),e.removeAttribute("checked"),e.checked=!1):(e.setAttribute("value",""),(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement)&&(e.value=""))}))}return this.updateFieldStatus(e,"NotValidated"),this.emit("core.field.reset",{field:e,reset:t}),this},e.prototype.revalidateField=function(e){return this.fields[e]?(this.updateFieldStatus(e,"NotValidated"),this.validateField(e)):Promise.resolve("Ignored")},e.prototype.disableValidator=function(e,t){if(!this.fields[e])return this;var n=this.elements[e];return this.toggleValidator(!1,e,t),this.emit("core.validator.disabled",{elements:n,field:e,formValidation:this,validator:t}),this},e.prototype.enableValidator=function(e,t){if(!this.fields[e])return this;var n=this.elements[e];return this.toggleValidator(!0,e,t),this.emit("core.validator.enabled",{elements:n,field:e,formValidation:this,validator:t}),this},e.prototype.updateValidatorOption=function(e,t,n,i){return this.fields[e]&&this.fields[e].validators&&this.fields[e].validators[t]&&(this.fields[e].validators[t][n]=i),this},e.prototype.setFieldOptions=function(e,t){return this.fields[e]=t,this},e.prototype.destroy=function(){var e=this;return Object.keys(this.plugins).forEach((function(t){return e.plugins[t].uninstall()})),this.ee.clear(),this.filter.clear(),this.results.clear(),this.plugins={},this},e.prototype.setLocale=function(e,t){return this.locale=e,this.localization=t,this},e.prototype.waterfall=function(e){return e.reduce((function(e,t){return e.then((function(e){return t().then((function(t){return e.push(t),e}))}))}),Promise.resolve([]))},e.prototype.queryElements=function(e){var t=this.fields[e].selector?"#"===this.fields[e].selector.charAt(0)?'[id="'.concat(this.fields[e].selector.substring(1),'"]'):this.fields[e].selector:'[name="'.concat(e.replace(/"/g,'\\"'),'"]');return[].slice.call(this.form.querySelectorAll(t))},e.prototype.normalizeResult=function(e,t,n){var i=this.fields[e].validators[t];return Object.assign({},n,{message:n.message||(i?i.message:"")||(this.localization&&this.localization[t]&&this.localization[t].default?this.localization[t].default:"")||"The field ".concat(e," is not valid")})},e.prototype.toggleValidator=function(e,t,n){var i=this,r=this.fields[t].validators;return n&&r&&r[n]?this.fields[t].validators[n].enabled=e:n||Object.keys(r).forEach((function(n){return i.fields[t].validators[n].enabled=e})),this.updateFieldStatus(t,"NotValidated",n)},e}(),r=function(){function e(e){this.opts=e,this.isEnabled=!0}return e.prototype.setCore=function(e){return this.core=e,this},e.prototype.enable=function(){return this.isEnabled=!0,this.onEnabled(),this},e.prototype.disable=function(){return this.isEnabled=!1,this.onDisabled(),this},e.prototype.isPluginEnabled=function(){return this.isEnabled},e.prototype.onEnabled=function(){},e.prototype.onDisabled=function(){},e.prototype.install=function(){},e.prototype.uninstall=function(){},e}(),o=function(e,t){var n=e.matches||e.webkitMatchesSelector||e.mozMatchesSelector||e.msMatchesSelector;return n?n.call(e,t):[].slice.call(e.parentElement.querySelectorAll(t)).indexOf(e)>=0},a={call:function(e,t){if("function"==typeof e)return e.apply(this,t);if("string"==typeof e){var n=e;"()"===n.substring(n.length-2)&&(n=n.substring(0,n.length-2));for(var i=n.split("."),r=i.pop(),o=window,a=0,s=i;a<s.length;a++)o=o[s[a]];return void 0===o[r]?null:o[r].apply(this,t)}},classSet:function(e,t){var n=[],i=[];Object.keys(t).forEach((function(e){e&&(t[e]?n.push(e):i.push(e))}
26250)),i.forEach((function(t){return function(e,t){t.split(" ").forEach((function(t){e.classList?e.classList.remove(t):e.className=e.className.replace(t,"")}))}(e,t)})),n.forEach((function(t){return function(e,t){t.split(" ").forEach((function(t){e.classList?e.classList.add(t):" ".concat(e.className," ").indexOf(" ".concat(t," "))&&(e.className+=" ".concat(t))}))}(e,t)}))},closest:function(e,t){for(var n=e;n&&!o(n,t);)n=n.parentElement;return n},fetch:function(e,t){return new Promise((function(n,i){var r,o=Object.assign({},{crossDomain:!1,headers:{},method:"GET",params:{}},t),a=Object.keys(o.params).map((function(e){return"".concat(encodeURIComponent(e),"=").concat(encodeURIComponent(o.params[e]))})).join("&"),s=e.indexOf("?")>-1,l="GET"===o.method?"".concat(e).concat(s?"&":"?").concat(a):e;if(o.crossDomain){var d=document.createElement("script"),c="___FormValidationFetch_".concat(Array(12).fill("").map((function(e){return Math.random().toString(36).charAt(2)})).join(""),"___");window[c]=function(e){delete window[c],n(e)},d.src="".concat(l).concat(s?"&":"?","callback=").concat(c),d.async=!0,d.addEventListener("load",(function(){d.parentNode.removeChild(d)})),d.addEventListener("error",(function(){return i})),document.head.appendChild(d)}else{var u=new XMLHttpRequest;u.open(o.method,l),u.setRequestHeader("X-Requested-With","XMLHttpRequest"),"POST"===o.method&&u.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),Object.keys(o.headers).forEach((function(e){return u.setRequestHeader(e,o.headers[e])})),u.addEventListener("load",(function(){n(JSON.parse(this.responseText))})),u.addEventListener("error",(function(){return i})),u.send((r=o.params,Object.keys(r).map((function(e){return"".concat(encodeURIComponent(e),"=").concat(encodeURIComponent(r[e]))})).join("&")))}}))},format:function(e,t){var n=Array.isArray(t)?t:[t],i=e;return n.forEach((function(e){i=i.replace("%s",e)})),i},hasClass:function(e,t){return e.classList?e.classList.contains(t):new RegExp("(^| )".concat(t,"( |$)"),"gi").test(e.className)},isValidDate:function(e,t,n,i){if(isNaN(e)||isNaN(t)||isNaN(n))return!1;if(e<1e3||e>9999||t<=0||t>12)return!1;if(n<=0||n>[31,e%400==0||e%100!=0&&e%4==0?29:28,31,30,31,30,31,31,30,31,30,31][t-1])return!1;if(!0===i){var r=new Date,o=r.getFullYear(),a=r.getMonth(),s=r.getDate();return e<o||e===o&&t-1<a||e===o&&t-1===a&&n<s}return!0},removeUndefined:function(e){return e?Object.entries(e).reduce((function(e,t){var n=t[0],i=t[1];return void 0===i||(e[n]=i),e}),{}):{}}};return i.Plugin=r,i.algorithms=e,i.formValidation=function(e,t){var i=Object.assign({},{fields:{},locale:"en_US",plugins:{},init:function(e){}},t),r=new n(e,i.fields);return r.setLocale(i.locale,i.localization),Object.keys(i.plugins).forEach((function(e){return r.registerPlugin(e,i.plugins[e])})),i.init(r),Object.keys(i.fields).forEach((function(e){return r.addField(e,i.fields[e])})),r},i.utils=a,i}();var r,o=n.exports,a={exports:{}},s={};a.exports=function(){if(r)return s;r=1;var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)},t=function(t){function n(e){var n=t.call(this,e)||this;return n.opts=e||{},n.validatorNameFilter=n.getValidatorName.bind(n),n}return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}(n,t),n.prototype.install=function(){this.core.registerFilter("validator-name",this.validatorNameFilter)},n.prototype.uninstall=function(){this.core.deregisterFilter("validator-name",this.validatorNameFilter)},n.prototype.getValidatorName=function(e,t){return this.isEnabled&&this.opts[e]||e},n}(o.Plugin);return s.Alias=t,s}();var l,d=a.exports,c={exports:{}},u={};c.exports=function(){if(l)return u;l=1;var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)},t=function(t){function n(){var e=t.call(this,{})||this;return e.elementValidatedHandler=e.onElementValidated.bind(e),e.fieldValidHandler=e.onFieldValid.bind(e),e.fieldInvalidHandler=e.onFieldInvalid.bind(e),e.messageDisplayedHandler=e.onMessageDisplayed.bind(e),e}return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}(n,t),n.prototype.install=function(){this.core.on("core.field.valid",this.fieldValidHandler).on("core.field.invalid",this.fieldInvalidHandler).on("core.element.validated",this.elementValidatedHandler).on("plugins.message.displayed",this.messageDisplayedHandler)},n.prototype.uninstall=function(){this.core.off("core.field.valid",this.fieldValidHandler).off("core.field.invalid",this.fieldInvalidHandler).off("core.element.validated",this.elementValidatedHandler).off("plugins.message.displayed",this.messageDisplayedHandler)},n.prototype.onElementValidated=function(e){e.valid&&(e.element.setAttribute("aria-invalid","false"),e.element.removeAttribute("aria-describedby"))},n.prototype.onFieldValid=function(e){var t=this.core.getElements(e);t&&t.forEach((function(e){e.setAttribute("aria-invalid","false"),e.removeAttribute("aria-describedby")}))},n.prototype.onFieldInvalid=function(e){var t=this.core.getElements(e);t&&t.forEach((function(e){return e.setAttribute("aria-invalid","true")}))},n.prototype.onMessageDisplayed=function(e){e.messageElement.setAttribute("role","alert"),e.messageElement.setAttribute("aria-hidden","false");var t=this.core.getElements(e.field),n=t.indexOf(e.element),i="js-fv-".concat(e.field,"-").concat(n,"-").concat(Date.now(),"-message");e.messageElement.setAttribute("id",i),e.element.setAttribute("aria-describedby",i);var r=e.element.getAttribute("type");"radio"!==r&&"checkbox"!==r||t.forEach((function(e){return e.setAttribute("aria-describedby",i)}))},n}(o.Plugin);return u.Aria=t,u}();var f,p=c.exports,h={exports:{}},m={};h.exports=function(){if(f)return m;f=1;var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)},t=function(t){function n(e){var n=t.call(this,e)||this;return n.addedFields=new Map,n.opts=Object.assign({},{html5Input:!1,pluginPrefix:"data-fvp-",prefix:"data-fv-"},e),n.fieldAddedHandler=n.onFieldAdded.bind(n),n.fieldRemovedHandler=n.onFieldRemoved.bind(n),n}return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}(n,t),n.prototype.install=function(){var e=this;this.parsePlugins();var t=this.parseOptions();Object.keys(t).forEach((function(n){e.addedFields.has(n)||e.addedFields.set(n,!0),e.core.addField(n,t[n])})),this.core.on("core.field.added",this.fieldAddedHandler).on("core.field.removed",this.fieldRemovedHandler)},n.prototype.uninstall=function(){this.addedFields.clear(),this.core.off("core.field.added",this.fieldAddedHandler).off("core.field.removed",this.fieldRemovedHandler)},n.prototype.onFieldAdded=function(e){var t=this,n=e.elements;n&&0!==n.length&&!this.addedFields.has(e.field)&&(this.addedFields.set(e.field,!0),n.forEac
26250h((function(n){var i=t.parseElement(n);if(!t.isEmptyOption(i)){var r={selector:e.options.selector,validators:Object.assign({},e.options.validators||{},i.validators)};t.core.setFieldOptions(e.field,r)}})))},n.prototype.onFieldRemoved=function(e){e.field&&this.addedFields.has(e.field)&&this.addedFields.delete(e.field)},n.prototype.parseOptions=function(){var e=this,t=this.opts.prefix,n={},i=this.core.getFields(),r=this.core.getFormElement();return[].slice.call(r.querySelectorAll("[name], [".concat(t,"field]"))).forEach((function(i){var r=e.parseElement(i);if(!e.isEmptyOption(r)){var o=i.getAttribute("name")||i.getAttribute("".concat(t,"field"));n[o]=Object.assign({},n[o],r)}})),Object.keys(n).forEach((function(e){Object.keys(n[e].validators).forEach((function(t){n[e].validators[t].enabled=n[e].validators[t].enabled||!1,i[e]&&i[e].validators&&i[e].validators[t]&&Object.assign(n[e].validators[t],i[e].validators[t])}))})),Object.assign({},i,n)},n.prototype.createPluginInstance=function(e,t){for(var n=e.split("."),i=window||this,r=0,o=n.length;r<o;r++)i=i[n[r]];if("function"!=typeof i)throw new Error("the plugin ".concat(e," doesn't exist"));return new i(t)},n.prototype.parsePlugins=function(){for(var e,t=this,n=this.core.getFormElement(),i=new RegExp("^".concat(this.opts.pluginPrefix,"([a-z0-9-]+)(___)*([a-z0-9-]+)*$")),r=n.attributes.length,o={},a=0;a<r;a++){var s=n.attributes[a].name,l=n.attributes[a].value,d=i.exec(s);if(d&&4===d.length){var c=this.toCamelCase(d[1]);o[c]=Object.assign({},d[3]?((e={})[this.toCamelCase(d[3])]=l,e):{enabled:""===l||"true"===l},o[c])}}Object.keys(o).forEach((function(e){var n=o[e],i=n.enabled,r=n.class;if(i&&r){delete n.enabled,delete n.clazz;var a=t.createPluginInstance(r,n);t.core.registerPlugin(e,a)}}))},n.prototype.isEmptyOption=function(e){var t=e.validators;return 0===Object.keys(t).length&&t.constructor===Object},n.prototype.parseElement=function(e){for(var t=new RegExp("^".concat(this.opts.prefix,"([a-z0-9-]+)(___)*([a-z0-9-]+)*$")),n=e.attributes.length,i={},r=e.getAttribute("type"),o=0;o<n;o++){var a=e.attributes[o].name,s=e.attributes[o].value;if(this.opts.html5Input)switch(!0){case"minlength"===a:i.stringLength=Object.assign({},{enabled:!0,min:parseInt(s,10)},i.stringLength);break;case"maxlength"===a:i.stringLength=Object.assign({},{enabled:!0,max:parseInt(s,10)},i.stringLength);break;case"pattern"===a:i.regexp=Object.assign({},{enabled:!0,regexp:s},i.regexp);break;case"required"===a:i.notEmpty=Object.assign({},{enabled:!0},i.notEmpty);break;case"type"===a&&"color"===s:i.color=Object.assign({},{enabled:!0,type:"hex"},i.color);break;case"type"===a&&"email"===s:i.emailAddress=Object.assign({},{enabled:!0},i.emailAddress);break;case"type"===a&&"url"===s:i.uri=Object.assign({},{enabled:!0},i.uri);break;case"type"===a&&"range"===s:i.between=Object.assign({},{enabled:!0,max:parseFloat(e.getAttribute("max")),min:parseFloat(e.getAttribute("min"))},i.between);break;case"min"===a&&"date"!==r&&"range"!==r:i.greaterThan=Object.assign({},{enabled:!0,min:parseFloat(s)},i.greaterThan);break;case"max"===a&&"date"!==r&&"range"!==r:i.lessThan=Object.assign({},{enabled:!0,max:parseFloat(s)},i.lessThan)}var l=t.exec(a);if(l&&4===l.length){var d=this.toCamelCase(l[1]);i[d]||(i[d]={}),l[3]?i[d][this.toCamelCase(l[3])]=this.normalizeValue(s):!0===i[d].enabled&&!1===i[d].enabled||(i[d].enabled=""===s||"true"===s)}}return{validators:i}},n.prototype.normalizeValue=function(e){return"true"===e||""===e||"false"!==e&&e},n.prototype.toUpperCase=function(e){return e.charAt(1).toUpperCase()},n.prototype.toCamelCase=function(e){return e.replace(/-./g,this.toUpperCase)},n}(o.Plugin);return m.Declarative=t,m}();var v,g=h.exports,y={exports:{}},b={};y.exports=function(){if(v)return b;v=1;var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)},t=function(t){function n(){var e=t.call(this,{})||this;return e.onValidHandler=e.onFormValid.bind(e),e}return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}(n,t),n.prototype.install=function(){if(this.core.getFormElement().querySelectorAll('[type="submit"][name="submit"]').length)throw new Error("Do not use `submit` for the name attribute of submit button");this.core.on("core.form.valid",this.onValidHandler)},n.prototype.uninstall=function(){this.core.off("core.form.valid",this.onValidHandler)},n.prototype.onFormValid=function(){var e=this.core.getFormElement();this.isEnabled&&e instanceof HTMLFormElement&&e.submit()},n}(o.Plugin);return b.DefaultSubmit=t,b}();var E,x=y.exports,V={exports:{}},A={};V.exports=function(){if(E)return A;E=1;var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)},t=function(t){function n(e){var n=t.call(this,e)||this;return n.opts=e||{},n.triggerExecutedHandler=n.onTriggerExecuted.bind(n),n}return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}(n,t),n.prototype.install=function(){this.core.on("plugins.trigger.executed",this.triggerExecutedHandler)},n.prototype.uninstall=function(){this.core.off("plugins.trigger.executed",this.triggerExecutedHandler)},n.prototype.onTriggerExecuted=function(e){if(this.isEnabled&&this.opts[e.field])for(var t=0,n=this.opts[e.field].split(" ");t<n.length;t++){var i=n[t].trim();this.opts[i]&&this.core.revalidateField(i)}},n}(o.Plugin);return A.Dependency=t,A}();var w,F=V.exports,O={exports:{}},C={};O.exports=function(){if(w)return C;w=1;var e=o,t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},t(e,n)},n=e.utils.removeUndefined,i=function(e){function i(t){var r=e.call(this,t)||this;return r.opts=Object.assign({},{excluded:i.defaultIgnore},n(t)),r.ignoreValidationFilter=r.ignoreValidation.bind(r),r}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}(i,e),i.defaultIgnore=function(e,t,n){var i=!!(t.offsetWidth||t.offsetHeight||t.getClientRects().length),r=t.getAttribute("disabled");return""===r||"disabled"===r||"hidden"===t.getAttribute("type")||!i},i.prototype.install=function(){this.core.registerFilter("element-ignored",this.ignoreValidationFilter)},i.prototype.uninstall=function(){this.core.deregisterFilter("element-ignored",this.ignoreValidationFilter)},i.prototype.ignoreValidation=function(e,t,n){return!!this.isEnabled&&this.opts.excluded.apply(this,[e,t,n])},i}(e.Plugin);return C.Excluded=i,C}();var I,_=O.exports,H={exports:{}},S={};H.exports=function(){if(I)return S;I=1;var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)},t=function(t){function n(e){var n=t.call(this,e)||this;return n.statuses=new Map,n.opts=Object.assign({},{onStatusChanged:function(){}},e),n.elementValidatingHandler=n.onElementValidating.bind(n),n.elementValidatedHandler=n.onElementValidated.bind(n),n.elementNotValidatedHandler=n.onElementNotValidated.bind(n),n.elementIgnoredH
26250andler=n.onElementIgnored.bind(n),n.fieldAddedHandler=n.onFieldAdded.bind(n),n.fieldRemovedHandler=n.onFieldRemoved.bind(n),n}return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}(n,t),n.prototype.install=function(){this.core.on("core.element.validating",this.elementValidatingHandler).on("core.element.validated",this.elementValidatedHandler).on("core.element.notvalidated",this.elementNotValidatedHandler).on("core.element.ignored",this.elementIgnoredHandler).on("core.field.added",this.fieldAddedHandler).on("core.field.removed",this.fieldRemovedHandler)},n.prototype.uninstall=function(){this.statuses.clear(),this.core.off("core.element.validating",this.elementValidatingHandler).off("core.element.validated",this.elementValidatedHandler).off("core.element.notvalidated",this.elementNotValidatedHandler).off("core.element.ignored",this.elementIgnoredHandler).off("core.field.added",this.fieldAddedHandler).off("core.field.removed",this.fieldRemovedHandler)},n.prototype.areFieldsValid=function(){return Array.from(this.statuses.values()).every((function(e){return"Valid"===e||"NotValidated"===e||"Ignored"===e}))},n.prototype.getStatuses=function(){return this.isEnabled?this.statuses:new Map},n.prototype.onFieldAdded=function(e){this.statuses.set(e.field,"NotValidated")},n.prototype.onFieldRemoved=function(e){this.statuses.has(e.field)&&this.statuses.delete(e.field),this.handleStatusChanged(this.areFieldsValid())},n.prototype.onElementValidating=function(e){this.statuses.set(e.field,"Validating"),this.handleStatusChanged(!1)},n.prototype.onElementValidated=function(e){this.statuses.set(e.field,e.valid?"Valid":"Invalid"),e.valid?this.handleStatusChanged(this.areFieldsValid()):this.handleStatusChanged(!1)},n.prototype.onElementNotValidated=function(e){this.statuses.set(e.field,"NotValidated"),this.handleStatusChanged(!1)},n.prototype.onElementIgnored=function(e){this.statuses.set(e.field,"Ignored"),this.handleStatusChanged(this.areFieldsValid())},n.prototype.handleStatusChanged=function(e){this.isEnabled&&this.opts.onStatusChanged(e)},n}(o.Plugin);return S.FieldStatus=t,S}();var k,P=H.exports,j={exports:{}},N={},L={exports:{}},T={};L.exports=function(){if(k)return T;k=1;var e=o,t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},t(e,n)},n=e.utils.classSet,i=function(e){function i(t){var n=e.call(this,t)||this;return n.useDefaultContainer=!1,n.messages=new Map,n.defaultContainer=document.createElement("div"),n.useDefaultContainer=!t||!t.container,n.opts=Object.assign({},{container:function(e,t){return n.defaultContainer}},t),n.elementIgnoredHandler=n.onElementIgnored.bind(n),n.fieldAddedHandler=n.onFieldAdded.bind(n),n.fieldRemovedHandler=n.onFieldRemoved.bind(n),n.validatorValidatedHandler=n.onValidatorValidated.bind(n),n.validatorNotValidatedHandler=n.onValidatorNotValidated.bind(n),n}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}(i,e),i.getClosestContainer=function(e,t,n){for(var i=e;i&&i!==t&&(i=i.parentElement,!n.test(i.className)););return i},i.prototype.install=function(){this.useDefaultContainer&&this.core.getFormElement().appendChild(this.defaultContainer),this.core.on("core.element.ignored",this.elementIgnoredHandler).on("core.field.added",this.fieldAddedHandler).on("core.field.removed",this.fieldRemovedHandler).on("core.validator.validated",this.validatorValidatedHandler).on("core.validator.notvalidated",this.validatorNotValidatedHandler)},i.prototype.uninstall=function(){this.useDefaultContainer&&this.core.getFormElement().removeChild(this.defaultContainer),this.messages.forEach((function(e){return e.parentNode.removeChild(e)})),this.messages.clear(),this.core.off("core.element.ignored",this.elementIgnoredH
26250andler).off("core.field.added",this.fieldAddedHandler).off("core.field.removed",this.fieldRemovedHandler).off("core.validator.validated",this.validatorValidatedHandler).off("core.validator.notvalidated",this.validatorNotValidatedHandler)},i.prototype.onEnabled=function(){this.messages.forEach((function(e,t,i){n(t,{"fv-plugins-message-container--enabled":!0,"fv-plugins-message-container--disabled":!1})}))},i.prototype.onDisabled=function(){this.messages.forEach((function(e,t,i){n(t,{"fv-plugins-message-container--enabled":!1,"fv-plugins-message-container--disabled":!0})}))},i.prototype.onFieldAdded=function(e){var t=this,n=e.elements;n&&(n.forEach((function(e){var n=t.messages.get(e);n&&(n.parentNode.removeChild(n),t.messages.delete(e))})),this.prepareFieldContainer(e.field,n))},i.prototype.onFieldRemoved=function(e){var t=this;if(e.elements.length&&e.field){var n=e.elements[0].getAttribute("type");("radio"===n||"checkbox"===n?[e.elements[0]]:e.elements).forEach((function(e){if(t.messages.has(e)){var n=t.messages.get(e);n.parentNode.removeChild(n),t.messages.delete(e)}}))}},i.prototype.prepareFieldContainer=function(e,t){var n=this;if(t.length){var i=t[0].getAttribute("type");"radio"===i||"checkbox"===i?this.prepareElementContainer(e,t[0],t):t.forEach((function(i){return n.prepareElementContainer(e,i,t)}))}},i.prototype.prepareElementContainer=function(e,t,i){var r;if("string"==typeof this.opts.container){var o="#"===this.opts.container.charAt(0)?'[id="'.concat(this.opts.container.substring(1),'"]'):this.opts.container;r=this.core.getFormElement().querySelector(o)}else r=this.opts.container(e,t);var a=document.createElement("div");r.appendChild(a),n(a,{"fv-plugins-message-container":!0,"fv-plugins-message-container--enabled":this.isEnabled,"fv-plugins-message-container--disabled":!this.isEnabled}),this.core.emit("plugins.message.placed",{element:t,elements:i,field:e,messageElement:a}),this.messages.set(t,a)},i.prototype.getMessage=function(e){return"string"==typeof e.message?e.message:e.message[this.core.getLocale()]},i.prototype.onValidatorValidated=function(e){var t,i=e.elements,r=e.element.getAttribute("type"),o=("radio"===r||"checkbox"===r)&&i.length>0?i[0]:e.element;if(this.messages.has(o)){var a=this.messages.get(o),s=a.querySelector('[data-field="'.concat(e.field.replace(/"/g,'\\"'),'"][data-validator="').concat(e.validator.replace(/"/g,'\\"'),'"]'));if(s||e.result.valid)s&&!e.result.valid?(s.innerHTML=this.getMessage(e.result),this.core.emit("plugins.message.displayed",{element:e.element,field:e.field,message:e.result.message,messageElement:s,meta:e.result.meta,validator:e.validator})):s&&e.result.valid&&a.removeChild(s);else{var l=document.createElement("div");l.innerHTML=this.getMessage(e.result),l.setAttribute("data-field",e.field),l.setAttribute("data-validator",e.validator),this.opts.clazz&&n(l,((t={})[this.opts.clazz]=!0,t)),a.appendChild(l),this.core.emit("plugins.message.displayed",{element:e.element,field:e.field,message:e.result.message,messageElement:l,meta:e.result.meta,validator:e.validator})}}},i.prototype.onValidatorNotValidated=function(e){var t=e.elements,n=e.element.getAttribute("type"),i="radio"===n||"checkbox"===n?t[0]:e.element;if(this.messages.has(i)){var r=this.messages.get(i),o=r.querySelector('[data-field="'.concat(e.field.replace(/"/g,'\\"'),'"][data-validator="').concat(e.validator.replace(/"/g,'\\"'),'"]'));o&&r.removeChild(o)}},i.prototype.onElementIgnored=function(e){var t=e.elements,n=e.element.getAttribute("type"),i="radio"===n||"checkbox"===n?t[0]:e.element;if(this.messages.has(i)){var r=this.messages.get(i);[].slice.call(r.querySelectorAll('[data-field="'.concat(e.field.replace(/"/g,'\\"'),'"]'))).forEach((function(e){r.removeChild(e)}))}},i}(e.Plugin);return T.Message=i,T}();var M,D=L.exports;
26251/** 
26252     * FormValidation (https://formvalidation.io)
26253     * The best validation library for JavaScript
26254     * (c) 2013 - 2023 Nguyen Huu Phuoc <[email protected]>
26255     *
26256     * @license https://formvalidation.io/license
26257     * @package @form-validation/plugin-framework
26258     * @version 2.4.0
26259     */j.exports=function(){if(M)return N;M=1;
26259var e=o,t=D,n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},n(e,t)},i=e.utils.classSet,r=e.utils.closest,a=function(e){function o(t){var n=e.call(this,t)||this;return n.results=new Map,n.containers=new Map,n.opts=Object.assign({},{defaultMessageContainer:!0,eleInvalidClass:"",eleValidClass:"",rowClasses:"",rowValidatingClass:""},t),n.elementIgnoredHandler=n.onElementIgnored.bind(n),n.elementValidatingHandler=n.onElementValidating.bind(n),n.elementValidatedHandler=n.onElementValidated.bind(n),n.elementNotValidatedHandler=n.onElementNotValidated.bind(n),n.iconPlacedHandler=n.onIconPlaced.bind(n),n.fieldAddedHandler=n.onFieldAdded.bind(n),n.fieldRemovedHandler=n.onFieldRemoved.bind(n),n.messagePlacedHandler=n.onMessagePlaced.bind(n),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}(o,e),o.prototype.install=function(){var e,n=this;i(this.core.getFormElement(),((e={})[this.opts.formClass]=!0,e["fv-plugins-framework"]=!0,e)),this.core.on("core.element.ignored",this.elementIgnoredHandler).on("core.element.validating",this.elementValidatingHandler).on("core.element.validated",this.elementValidatedHandler).on("core.element.notvalidated",this.elementNotValidatedHandler).on("plugins.icon.placed",this.iconPlacedHandler).on("core.field.added",this.fieldAddedHandler).on("core.field.removed",this.fieldRemovedHandler),this.opts.defaultMessageContainer&&(this.core.registerPlugin(o.MESSAGE_PLUGIN,new t.Message({clazz:this.opts.messageClass,container:function(e,i){var o="string"==typeof n.opts.rowSelector?n.opts.rowSelector:n.opts.rowSelector(e,i),a=r(i,o);return t.Message.getClosestContainer(i,a,n.opts.rowPattern)}})),this.core.on("plugins.message.placed",this.messagePlacedHandler))},o.prototype.uninstall=function(){var e;this.results.clear(),this.containers.clear(),i(this.core.getFormElement(),((e={})[this.opts.formClass]=!1,e["fv-plugins-framework"]=!1,e)),this.core.off("core.element.ignored",this.elementIgnoredHandler).off("core.element.validating",this.elementValidatingHandler).off("core.element.validated",this.elementValidatedHandler).off("core.element.notvalidated",this.elementNotValidatedHandler).off("plugins.icon.placed",this.iconPlacedHandler).off("core.field.added",this.fieldAddedHandler).off("core.field.removed",this.fieldRemovedHandler),this.opts.defaultMessageContainer&&(this.core.deregisterPlugin(o.MESSAGE_PLUGIN),this.core.off("plugins.message.placed",this.messagePlacedHandler))},o.prototype.onEnabled=function(){var e;i(this.core.getFormElement(),((e={})[this.opts.formClass]=!0,e)),this.opts.defaultMessageContainer&&this.core.enablePlugin(o.MESSAGE_PLUGIN)},o.prototype.onDisabled=function(){var e;i(this.core.getFormElement(),((e={})[this.opts.formClass]=!1,e)),this.opts.defaultMessageContainer&&this.core.disablePlugin(o.MESSAGE_PLUGIN)},o.prototype.onIconPlaced=function(e){},o.prototype.onMessagePlaced=function(e){},o.prototype.onFieldAdded=function(e){var t=this,n=e.elements;n&&(n.forEach((function(e){var n,r=t.containers.get(e);r&&(i(r,((n={})[t.opts.rowInvalidClass]=!1,n[t.opts.rowValidatingClass]=!1,n[t.opts.rowValidClass]=!1,n["fv-plugins-icon-container"]=!1,n)),t.containers.delete(e))})),this.prepareFieldContainer(e.field,n))},o.prototype.onFieldRemoved=function(e){var t=this;e.elements.forEach((function(e){var n,r=t.containers.get(e);r&&i(r,((n={})[t.opts.rowInvalidClass]=!1,n[t.opts.rowValidatingClass]=!1,n[t.opts.rowValidClass]=!1,n))}))},o.prototype.prepareFieldContainer=function(e,t){var n=this;if(t.length){var i=t[0].getAttribute("type");"radio"===i||"checkbox"===i?this.prepareElementContainer(e,t[0]):t.forEach((function(t){return n.prepareElementContainer(e,t)}))}},o.prototype.prepareElementContainer=function(e,t){var n,o="string"==typeof this.opts.rowSelector?this.opts.rowSelector:this.opts.rowSelector(e,t),a=r(t,o);a!==t&&(i(a,((n={}
26259)[this.opts.rowClasses]=!0,n["fv-plugins-icon-container"]=!0,n)),this.containers.set(t,a))},o.prototype.onElementValidating=function(e){this.removeClasses(e.element,e.elements)},o.prototype.onElementNotValidated=function(e){this.removeClasses(e.element,e.elements)},o.prototype.onElementIgnored=function(e){this.removeClasses(e.element,e.elements)},o.prototype.removeClasses=function(e,t){var n,r=this,o=e.getAttribute("type"),a="radio"===o||"checkbox"===o?t[0]:e;t.forEach((function(e){var t;i(e,((t={})[r.opts.eleValidClass]=!1,t[r.opts.eleInvalidClass]=!1,t))}));var s=this.containers.get(a);s&&i(s,((n={})[this.opts.rowInvalidClass]=!1,n[this.opts.rowValidatingClass]=!1,n[this.opts.rowValidClass]=!1,n))},o.prototype.onElementValidated=function(e){var t,n,r=this,o=e.elements,a=e.element.getAttribute("type"),s="radio"===a||"checkbox"===a?o[0]:e.element;o.forEach((function(t){var n;i(t,((n={})[r.opts.eleValidClass]=e.valid,n[r.opts.eleInvalidClass]=!e.valid,n))}));var l=this.containers.get(s);if(l)if(e.valid){this.results.delete(s);var d=!0;this.containers.forEach((function(e,t){e===l&&!1===r.results.get(t)&&(d=!1)})),d&&i(l,((n={})[this.opts.rowInvalidClass]=!1,n[this.opts.rowValidatingClass]=!1,n[this.opts.rowValidClass]=!0,n))}else this.results.set(s,!1),i(l,((t={})[this.opts.rowInvalidClass]=!0,t[this.opts.rowValidatingClass]=!1,t[this.opts.rowValidClass]=!1,t))},o.MESSAGE_PLUGIN="___frameworkMessage",o}(e.Plugin);return N.Framework=a,N}();var R,z=j.exports,U={exports:{}},B={};U.exports=function(){if(R)return B;R=1;var e=o,t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},t(e,n)},n=e.utils.classSet,i=function(e){function i(t){var n=e.call(this,t)||this;return n.icons=new Map,n.opts=Object.assign({},{invalid:"fv-plugins-icon--invalid",onPlaced:function(){},onSet:function(){},valid:"fv-plugins-icon--valid",validating:"fv-plugins-icon--validating"},t),n.elementValidatingHandler=n.onElementValidating.bind(n),n.elementValidatedHandler=n.onElementValidated.bind(n),n.elementNotValidatedHandler=n.onElementNotValidated.bind(n),n.elementIgnoredHandler=n.onElementIgnored.bind(n),n.fieldAddedHandler=n.onFieldAdded.bind(n),n}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}(i,e),i.prototype.install=function(){this.core.on("core.element.validating",this.elementValidatingHandler).on("core.element.validated",this.elementValidatedHandler).on("core.element.notvalidated",this.elementNotValidatedHandler).on("core.element.ignored",this.elementIgnoredHandler).on("core.field.added",this.fieldAddedHandler)},i.prototype.uninstall=function(){this.icons.forEach((function(e){return e.parentNode.removeChild(e)})),this.icons.clear(),this.core.off("core.element.validating",this.elementValidatingHandler).off("core.element.validated",this.elementValidatedHandler).off("core.element.notvalidated",this.elementNotValidatedHandler).off("core.element.ignored",this.elementIgnoredHandler).off("core.field.added",this.fieldAddedHandler)},i.prototype.onEnabled=function(){this.icons.forEach((function(e,t,i){n(t,{"fv-plugins-icon--enabled":!0,"fv-plugins-icon--disabled":!1})}))},i.prototype.onDisabled=function(){this.icons.forEach((function(e,t,i){n(t,{"fv-plugins-icon--enabled":!1,"fv-plugins-icon--disabled":!0})}))},i.prototype.onFieldAdded=function(e){var t=this,n=e.elements;n&&(n.forEach((function(e){var n=t.icons.get(e);n&&(n.parentNode.removeChild(n),t.icons.delete(e))})),this.prepareFieldIcon(e.field,n))},i.prototype.prepareFieldIcon=function(e,t){var n=this;if(t.length){var i=t[0].getAttribute("type");"radio"===i||"checkbox"===i?this.prepareElementIcon(e,t[0]):t.forEach((function(t){return n.prepareElementIcon(e,t)}))}},i.prototype.prepareElementIcon=function(e,t){var i=document.createElement("i");i.setAttribute("data-field",e),t.parentNode.insertBefore(i,t.nextSibling),n(i,{"fv-plugins-icon":!0,"fv-plugins-icon--enabled":this.isEnabled,"fv-plugins-icon--disabled":!this.isEnabled});
26259var r={classes:{invalid:this.opts.invalid,valid:this.opts.valid,validating:this.opts.validating},element:t,field:e,iconElement:i};this.core.emit("plugins.icon.placed",r),this.opts.onPlaced(r),this.icons.set(t,i)},i.prototype.onElementValidating=function(e){var t,n=this.setClasses(e.field,e.element,e.elements,((t={})[this.opts.invalid]=!1,t[this.opts.valid]=!1,t[this.opts.validating]=!0,t)),i={element:e.element,field:e.field,iconElement:n,status:"Validating"};this.core.emit("plugins.icon.set",i),this.opts.onSet(i)},i.prototype.onElementValidated=function(e){var t,n=this.setClasses(e.field,e.element,e.elements,((t={})[this.opts.invalid]=!e.valid,t[this.opts.valid]=e.valid,t[this.opts.validating]=!1,t)),i={element:e.element,field:e.field,iconElement:n,status:e.valid?"Valid":"Invalid"};this.core.emit("plugins.icon.set",i),this.opts.onSet(i)},i.prototype.onElementNotValidated=function(e){var t,n=this.setClasses(e.field,e.element,e.elements,((t={})[this.opts.invalid]=!1,t[this.opts.valid]=!1,t[this.opts.validating]=!1,t)),i={element:e.element,field:e.field,iconElement:n,status:"NotValidated"};this.core.emit("plugins.icon.set",i),this.opts.onSet(i)},i.prototype.onElementIgnored=function(e){var t,n=this.setClasses(e.field,e.element,e.elements,((t={})[this.opts.invalid]=!1,t[this.opts.valid]=!1,t[this.opts.validating]=!1,t)),i={element:e.element,field:e.field,iconElement:n,status:"Ignored"};this.core.emit("plugins.icon.set",i),this.opts.onSet(i)},i.prototype.setClasses=function(e,t,i,r){var o=t.getAttribute("type"),a="radio"===o||"checkbox"===o?i[0]:t;if(this.icons.has(a)){var s=this.icons.get(a);return n(s,r),s}return null},i}(e.Plugin);return B.Icon=i,B}();var Y,q=U.exports,G={exports:{}},Z={};G.exports=function(){if(Y)return Z;Y=1;var e=o,t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},t(e,n)},n=e.utils.removeUndefined,i=function(e){function i(t){var i=e.call(this,t)||this;return i.invalidFields=new Map,i.opts=Object.assign({},{enabled:!0},n(t)),i.validatorHandler=i.onValidatorValidated.bind(i),i.shouldValidateFilter=i.shouldValidate.bind(i),i.fieldAddedHandler=i.onFieldAdded.bind(i),i.elementNotValidatedHandler=i.onElementNotValidated.bind(i),i.elementValidatingHandler=i.onElementValidating.bind(i),i}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}(i,e),i.prototype.install=function(){this.core.on("core.validator.validated",this.validatorHandler).on("core.field.added",this.fieldAddedHandler).on("core.element.notvalidated",this.elementNotValidatedHandler).on("core.element.validating",this.elementValidatingHandler).registerFilter("field-should-validate",this.shouldValidateFilter)},i.prototype.uninstall=function(){this.invalidFields.clear(),this.core.off("core.validator.validated",this.validatorHandler).off("core.field.added",this.fieldAddedHandler).off("core.element.notvalidated",this.elementNotValidatedHandler).off("core.element.validating",this.elementValidatingHandler).deregisterFilter("field-should-validate",this.shouldValidateFilter)},i.prototype.shouldValidate=function(e,t,n,i){return!this.isEnabled||!((!0===this.opts.enabled||!0===this.opts.enabled[e])&&this.invalidFields.has(t)&&this.invalidFields.get(t).length&&-1===this.invalidFields.get(t).indexOf(i))},i.prototype.onValidatorValidated=function(e){var t=this.invalidFields.has(e.element)?this.invalidFields.get(e.element):[],n=t.indexOf(e.validator);e.result.valid&&n>=0?t.splice(n,1):e.result.valid||-1!==n||t.push(e.validator),this.invalidFields.set(e.element,t)},i.prototype.onFieldAdded=function(e){e.elements&&this.clearInvalidFields(e.elements)},i.prototype.onElementNotValidated=function(e){this.clearInvalidFields(e.elements)},i.prototype.onElementValidating=function(e){this.clearInvalidFields(e.elements)},i.prototype.clearInvalidFields=function(e){var t=this;e.forEach((function(e){return t.invalidFields.delete(e)}))},i}(e.Plugin);return Z.Sequence=i,Z}();var $,X=G.exports,J={exports:{}},K={};J.exports=function(){if($)return K;$=1;var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)},t=function(t){function n(e){var n=t.call(this,e)||this;return n.isFormValid=!1,n.isButtonClicked=!1,n.opts=Object.assign({},{aspNetButton:!1,buttons:function(e){return[].slice.call(e.querySelectorAll('[type="submit"]:not([formnovalidate])'))},liveMode:!0},e),n.submitHandler=n.handleSubmitEvent.bind(n),n.buttonClickHandler=n.handleClickEvent.bind(n),n.ignoreValidationFilter=n.ignoreValidation.bind(n),n}return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}(n,t),n.prototype.install=function(){var e=this;if(this.core.getFormElement()instanceof HTMLFormElement){var t=this.core.getFormElement();this.submitButtons=this.opts.buttons(t),t.setAttribute("novalidate","novalidate"),t.addEventListener("submit",this.submitHandler),this.hiddenClickedEle=document.createElement("input"),this.hiddenClickedEle.setAttribute("type","hidden"),t.appendChild(this.hiddenClickedEle),this.submitButtons.forEach((function(t){t.addEventListener("click",e.buttonClickHandler)})),this.core.registerFilter("element-ignored",this.ignoreValidationFilter)}},n.prototype.uninstall=function(){var e=this,t=this.core.getFormElement();t instanceof HTMLFormElement&&t.removeEventListener("submit",this.submitHandler),this.submitButtons.forEach((function(t){t.removeEventListener("click",e.buttonClickHandler)})),this.hiddenClickedEle.parentElement.removeChild(this.hiddenClickedEle),this.core.deregisterFilter("element-ignored",this.ignoreValidationFilter)},n.prototype.handleSubmitEvent=function(e){this.validateForm(e)},n.prototype.handleClickEvent=function(e){var t=e.currentTarget;if(this.isButtonClicked=!0,t instanceof HTMLElement)if(this.opts.aspNetButton&&!0===this.isFormValid);else{this.core.getFormElement().removeEventListener("submit",this.submitHandler),this.clickedButton=e.target;var n=this.clickedButton.getAttribute("name"),i=this.clickedButton.getAttribute("value");n&&i&&(this.hiddenClickedEle.setAttribute("name",n),this.hiddenClickedEle.setAttribute("value",i)),this.validateForm(e)}},n.prototype.validateForm=function(e){var t=this;this.isEnabled&&(e.preventDefault(),this.core.validate().then((function(e){"Valid"===e&&t.opts.aspNetButton&&!t.isFormValid&&t.clickedButton&&(t.isFormValid=!0,t.clickedButton.removeEventListener("click",t.buttonClickHandler),t.clickedButton.click())})))},n.prototype.ignoreValidation=function(e,t,n){return!!this.isEnabled&&!this.opts.liveMode&&!this.isButtonClicked},n}(o.Plugin);return K.SubmitButton=t,K}();var W,Q=J.exports,ee={exports:{}},te={};ee.exports=function(){if(W)return te;W=1;var e=o,t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},t(e,n)},n=e.utils.classSet,i=function(e){function i(t){var n=e.call(this,t)||this;return n.messages=new Map,n.opts=Object.assign({},{placement:"top",trigger:"click"},t),n.iconPlacedHandler=n.onIconPlaced.bind(n),n.validatorValidatedHandler=n.onValidatorValidated.bind(n),n.elementValidatedHandler=n.onElementValidated.bind(n),n.documentClickHandler=n.onDocumentClicked.bind(n),n}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}(i,e),i.prototype.install=function(){var e;this.tip=document.createElement("div"),n(this.tip,((e={"fv-plugins-tooltip":!0})["fv-plugins-tooltip--".concat(this.opts.placement)]=!0,e)),document.body.appendChild(this.tip),this.core.on("plugins.icon.placed",this.iconPlacedHandler).on("core.validator.validated",this.validatorValidatedHandler).on("core.element.validated",this.elementValidatedHandler),"click"===this.opts.trigger&&document.addEventListener("click",this.documentClickHandler)},i.prototype.uninstall=function(){this.messages.clear(),document.body.removeChild(this.tip),this.core.off("plugins.icon.placed",this.iconPlacedHandler).off("core.validator.validated",this.validatorValidatedHandler).off("core.element.validated",this.elementValidatedHandler),"click"===this.opts.trigger&&document.removeEventListener("click",this.documentClickHandler)},i.prototype.onIconPlaced=function(e){var t=this;n(e.iconElement,{"fv-plugins-tooltip-icon":!0}),"hover"===this.opts.trigger?(e.iconElement.addEventListener("mouseenter",(function(n){return t.show(e.element,n)}
26259)),e.iconElement.addEventListener("mouseleave",(function(e){return t.hide()}))):e.iconElement.addEventListener("click",(function(n){return t.show(e.element,n)}))},i.prototype.onValidatorValidated=function(e){if(!e.result.valid){var t=e.elements,n=e.element.getAttribute("type"),i="radio"===n||"checkbox"===n?t[0]:e.element,r="string"==typeof e.result.message?e.result.message:e.result.message[this.core.getLocale()];this.messages.set(i,r)}},i.prototype.onElementValidated=function(e){if(e.valid){var t=e.elements,n=e.element.getAttribute("type"),i="radio"===n||"checkbox"===n?t[0]:e.element;this.messages.delete(i)}},i.prototype.onDocumentClicked=function(e){this.hide()},i.prototype.show=function(e,t){if(this.isEnabled&&(t.preventDefault(),t.stopPropagation(),this.messages.has(e))){n(this.tip,{"fv-plugins-tooltip--hide":!1}),this.tip.innerHTML='<div class="fv-plugins-tooltip__content">'.concat(this.messages.get(e),"</div>");var i=t.target.getBoundingClientRect(),r=this.tip.getBoundingClientRect(),o=r.height,a=r.width,s=0,l=0;switch(this.opts.placement){case"bottom":s=i.top+i.height,l=i.left+i.width/2-a/2;break;case"bottom-left":s=i.top+i.height,l=i.left;break;case"bottom-right":s=i.top+i.height,l=i.left+i.width-a;break;case"left":s=i.top+i.height/2-o/2,l=i.left-a;break;case"right":s=i.top+i.height/2-o/2,l=i.left+i.width;break;case"top-left":s=i.top-o,l=i.left;break;case"top-right":s=i.top-o,l=i.left+i.width-a;break;default:s=i.top-o,l=i.left+i.width/2-a/2}s+=window.scrollY||document.documentElement.scrollTop||document.body.scrollTop||0,l+=window.scrollX||document.documentElement.scrollLeft||document.body.scrollLeft||0,this.tip.setAttribute("style","top: ".concat(s,"px; left: ").concat(l,"px"))}},i.prototype.hide=function(){this.isEnabled&&n(this.tip,{"fv-plugins-tooltip--hide":!0})},i}(e.Plugin);return te.Tooltip=i,te}();var ne,ie=ee.exports,re={exports:{}},oe={};re.exports=function(){if(ne)return oe;ne=1;var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)},t=function(t){function n(e){var n=t.call(this,e)||this;n.handlers=[],n.timers=new Map;var i=document.createElement("div");return n.defaultEvent="oninput"in i?"input":"keyup",n.opts=Object.assign({},{delay:0,event:n.defaultEvent,threshold:0},e),n.fieldAddedHandler=n.onFieldAdded.bind(n),n.fieldRemovedHandler=n.onFieldRemoved.bind(n),n}return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}(n,t),n.prototype.install=function(){this.core.on("core.field.added",this.fieldAddedHandler).on("core.field.removed",this.fieldRemovedHandler)},n.prototype.uninstall=function(){this.handlers.forEach((function(e){return e.element.removeEventListener(e.event,e.handler)})),this.handlers=[],this.timers.forEach((function(e){return window.clearTimeout(e)})),this.timers.clear(),this.core.off("core.field.added",this.fieldAddedHandler).off("core.field.removed",this.fieldRemovedHandler)},n.prototype.prepareHandler=function(e,t){var n=this;t.forEach((function(t){var i=[];if(n.opts.event&&!1===n.opts.event[e])i=[];else if(n.opts.event&&n.opts.event[e]&&"function"!=typeof n.opts.event[e])i=n.opts.event[e].split(" ");else if("string"==typeof n.opts.event&&n.opts.event!==n.defaultEvent)i=n.opts.event.split(" ");else{var r=t.getAttribute("type"),o=t.tagName.toLowerCase();i=["radio"===r||"checkbox"===r||"file"===r||"select"===o?"change":n.ieVersion>=10&&t.getAttribute("placeholder")?"keyup":n.defaultEvent]}i.forEach((function(i){var r=function(i){return n.handleEvent(i,e,t)};n.handlers.push({element:t,event:i,field:e,handler:r}),t.addEventListener(i,r)}))}))},n.prototype.handleEvent=function(e,t,n){var i=this;if(this.isEnabled&&this.exceedThreshold(t,n)&&this.core.executeFilter("plugins-trigger-should-validate",!0,[t,n])){var r=function(){return i.core.validateElement(t,n).then((function(r){i.core.emit("plugins.trigger.executed",{element:n,event:e,field:t})}))},o=this.opts.delay[t]||this.opts.delay;if(0===o)r();else{var a=this.timers.get(n);a&&window.clearTimeout(a),this.timers.set(n,window.setTimeout(r,1e3*o))}}},n.prototype.onFieldAdded=function(e){this.handlers.filter((function(t){return t.field===e.field}
26259)).forEach((function(e){return e.element.removeEventListener(e.event,e.handler)})),this.prepareHandler(e.field,e.elements)},n.prototype.onFieldRemoved=function(e){this.handlers.filter((function(t){return t.field===e.field&&e.elements.indexOf(t.element)>=0})).forEach((function(e){return e.element.removeEventListener(e.event,e.handler)}))},n.prototype.exceedThreshold=function(e,t){var n=0!==this.opts.threshold[e]&&0!==this.opts.threshold&&(this.opts.threshold[e]||this.opts.threshold);if(!n)return!0;var i=t.getAttribute("type");return-1!==["button","checkbox","file","hidden","image","radio","reset","submit"].indexOf(i)||this.core.getElementValue(e,t).length>=n},n}(o.Plugin);return oe.Trigger=t,oe}();var ae,se=re.exports,le={exports:{}},de={};le.exports=function(){if(ae)return de;ae=1;var e=o,t=e.utils.format,n=e.utils.removeUndefined;return de.between=function(){var e=function(e){return parseFloat("".concat(e).replace(",","."))};return{validate:function(i){var r=i.value;if(""===r)return{valid:!0};var o=Object.assign({},{inclusive:!0,message:""},n(i.options)),a=e(o.min),s=e(o.max);return o.inclusive?{message:t(i.l10n?o.message||i.l10n.between.default:o.message,["".concat(a),"".concat(s)]),valid:parseFloat(r)>=a&&parseFloat(r)<=s}:{message:t(i.l10n?o.message||i.l10n.between.notInclusive:o.message,["".concat(a),"".concat(s)]),valid:parseFloat(r)>a&&parseFloat(r)<s}}}},de}();var ce,ue=le.exports,fe={exports:{}},pe={};fe.exports=(ce||(ce=1,pe.blank=function(){return{validate:function(e){return{valid:!0}}}}),pe);var he,me=fe.exports,ve={exports:{}},ge={};ve.exports=function(){if(he)return ge;he=1;var e=o.utils.call;return ge.callback=function(){return{validate:function(t){var n=e(t.options.callback,[t]);return"boolean"==typeof n?{valid:n}:n}}},ge}();var ye,be=ve.exports,Ee={exports:{}},xe={};Ee.exports=function(){if(ye)return xe;ye=1;var e=o.utils.format;return xe.choice=function(){return{validate:function(t){var n="select"===t.element.tagName.toLowerCase()?t.element.querySelectorAll("option:checked").length:t.elements.filter((function(e){return e.checked})).length,i=t.options.min?"".concat(t.options.min):"",r=t.options.max?"".concat(t.options.max):"",o=t.l10n?t.options.message||t.l10n.choice.default:t.options.message,a=!(i&&n<parseInt(i,10)||r&&n>parseInt(r,10));switch(!0){case!!i&&!!r:o=e(t.l10n?t.l10n.choice.between:t.options.message,[i,r]);break;case!!i:o=e(t.l10n?t.l10n.choice.more:t.options.message,i);break;case!!r:o=e(t.l10n?t.l10n.choice.less:t.options.message,r)}return{message:o,valid:a}}}},xe}();var Ve,Ae=Ee.exports,we={exports:{}},Fe={};we.exports=function(){if(Ve)return Fe;Ve=1;var e=o.algorithms.luhn,t={AMERICAN_EXPRESS:{length:[15],prefix:["34","37"]},DANKORT:{length:[16],prefix:["5019"]},DINERS_CLUB:{length:[14],prefix:["300","301","302","303","304","305","36"]},DINERS_CLUB_US:{length:[16],prefix:["54","55"]},DISCOVER:{length:[16],prefix:["6011","622126","622127","622128","622129","62213","62214","62215","62216","62217","62218","62219","6222","6223","6224","6225","6226","6227","6228","62290","62291","622920","622921","622922","622923","622924","622925","644","645","646","647","648","649","65"]},ELO:{length:[16],prefix:["4011","4312","4389","4514","4573","4576","5041","5066","5067","509","6277","6362","6363","650","6516","6550"]},FORBRUGSFORENINGEN:{length:[16],prefix:["600722"]},JCB:{length:[16],prefix:["3528","3529","353","354","355","356","357","358"]},LASER:{length:[16,17,18,19],prefix:["6304","6706","6771","6709"]},MAESTRO:{length:[12,13,14,15,16,17,18,19],prefix:["5018","5020","5038","5868","6304","6759","6761","6762","6763","6764","6765","6766"]},MASTERCARD:{length:[16],prefix:["51","52","53","54","55"]},SOLO:{length:[16,18,19],prefix:["6334","6767"]},UNIONPAY:{length:[16,17,18,19],prefix:["622126","622127","622128","622129","62213","62214","62215","62216","62217","62218","62219","6222","6223","6224","6225","6226","6227","6228","62290","62291","622920","622921","622922","622923","622924","622925"]},VISA:{length:[16],prefix:["4"]},VISA_ELECTRON:{length:[16],prefix:["4026","417500","4405","4508","4844","4913","4917"]}};return Fe.CREDIT_CARD_TYPES=t,Fe.creditCard=function(){return{validate:function(n){if(""===n.value)return{meta:{type:null},valid:!0};if(/[^0-9-\s]+/.test(n.value))return{meta:{type:null},valid:!1};var i=n.value.replace(/\D/g,"");if(!e(i))return{meta:{type:null},valid:!1};for(var r=0,o=Object.keys(t);r<o.length;r++){var a=o[r];for(var s in t[a].prefix)if(n.value.substr(0,t[a].prefix[s].length)===t[a].prefix[s]&&-1!==t[a].length.indexOf(i.length))return{meta:{type:a},valid:!0}}return{meta:{type:null},valid:!1}}}},Fe}();var Oe,Ce=we.exports,Ie={exports:{}},_e={};Ie.exports=function(){if(Oe)return _e;Oe=1;var e=o,t=e.utils.format,n=e.utils.isValidDate,i=e.utils.removeUndefined,r=function(e,t,n){var i=t.indexOf("YYYY"),r=t.indexOf("MM"),o=t.indexOf("DD");if(-1===i||-1===r||-1===o)return null;var a=e.split(" "),s=a[0].split(n);if(s.length<3)return null;var l=new Date(parseInt(s[i],10),parseInt(s[r],10)-1,parseInt(s[o],10)),d=a.length>2?a[2]:null;if(a.length>1){var c=a[1].split(":"),u=c.length>0?parseInt(c[0],10):0;l.setHours(d&&"PM"===d.toUpperCase()&&u<12?u+12:u),l.setMinutes(c.length>1?parseInt(c[1],10):0),l.setSeconds(c.length>2?parseInt(c[2],10):0)}return l},a=function(e,t){var n=t.replace(/Y/g,"y").replace(/M/g,"m").replace(/D/g,"d").replace(/:m/g,":M").replace(/:mm/g,":MM").replace(/:S/,":s").replace(/:SS/,":ss"),i=e.getDate(),r=i<10?"0".concat(i):i,o=e.getMonth()+1,a=o<10?"0".concat(o):o,s="".concat(e.getFullYear()).substr(2),l=e.getFullYear(),d=e.getHours()%12||12,c=d<10?"0".concat(d):d,u=e.getHours(),f=u<10?"0".concat(u):u,p=e.getMinutes(),h=p<10?"0".concat(p):p,m=e.getSeconds(),v=m<10?"0".concat(m):m,g={H:"".concat(u),HH:"".concat(f),M:"".concat(p),MM:"".concat(h),d:"".concat(i),dd:"".concat(r),h:"".concat(d),hh:"".concat(c),m:"".concat(o),mm:"".concat(a),s:"".concat(m),ss:"".concat(v),yy:"".concat(s),yyyy:"".concat(l)};return n.replace(/d{1,4}|m{1,4}|yy(?:yy)?|([HhMs])\1?|"[^"]*"|'[^']*'/g,(function(e){return g[e]?g[e]:e.slice(1,e.length-1)}))};return _e.date=function(){return{validate:function(e){if(""===e.value)return{meta:{date:null},valid:!0};var o=Object.assign({},{format:e.element&&"date"===e.element.getAttribute("type")?"YYYY-MM-DD":"MM/DD/YYYY",message:""},i(e.options)),s=e.l10n?e.l10n.date.default:o.message,l={message:"".concat(s),meta:{date:null},valid:!1},d=o.format.split(" "),c=d.length>1?d[1]:null,u=d.length>2?d[2]:null,f=e.value.split(" "),p=f[0],h=f.length>1?f[1]:null,m=f.length>2?f[2]:null;if(d.length!==f.length)return l;var v=o.separator||(-1!==p.indexOf("/")?"/":-1!==p.indexOf("-")?"-":-1!==p.indexOf(".")?".":"/");
26259if(null===v||-1===p.indexOf(v))return l;var g=p.split(v),y=d[0].split(v);if(g.length!==y.length)return l;var b=g[y.indexOf("YYYY")],E=g[y.indexOf("MM")],x=g[y.indexOf("DD")];if(!/^\d+$/.test(b)||!/^\d+$/.test(E)||!/^\d+$/.test(x)||b.length>4||E.length>2||x.length>2)return l;var V=parseInt(b,10),A=parseInt(E,10),w=parseInt(x,10);if(!n(V,A,w))return l;var F=new Date(V,A-1,w);if(c){var O=h.split(":");if(c.split(":").length!==O.length)return l;var C=O.length>0?O[0].length<=2&&/^\d+$/.test(O[0])?parseInt(O[0],10):-1:0,I=O.length>1?O[1].length<=2&&/^\d+$/.test(O[1])?parseInt(O[1],10):-1:0,_=O.length>2?O[2].length<=2&&/^\d+$/.test(O[2])?parseInt(O[2],10):-1:0;if(-1===C||-1===I||-1===_)return l;if(_<0||_>60)return l;if(C<0||C>=24||u&&C>12)return l;if(I<0||I>59)return l;F.setHours(m&&"PM"===m.toUpperCase()&&C<12?C+12:C),F.setMinutes(I),F.setSeconds(_)}var H="function"==typeof o.min?o.min():o.min,S=H instanceof Date?H:H?r(H,y,v):F,k="function"==typeof o.max?o.max():o.max,P=k instanceof Date?k:k?r(k,y,v):F,j=H instanceof Date?a(S,o.format):H,N=k instanceof Date?a(P,o.format):k;switch(!0){case!!j&&!N:return{message:t(e.l10n?e.l10n.date.min:s,j),meta:{date:F},valid:F.getTime()>=S.getTime()};case!!N&&!j:return{message:t(e.l10n?e.l10n.date.max:s,N),meta:{date:F},valid:F.getTime()<=P.getTime()};case!!N&&!!j:return{message:t(e.l10n?e.l10n.date.range:s,[j,N]),meta:{date:F},valid:F.getTime()<=P.getTime()&&F.getTime()>=S.getTime()};default:return{message:"".concat(s),meta:{date:F},valid:!0}}}}},_e}();var He,Se=Ie.exports,ke={exports:{}},Pe={};ke.exports=(He||(He=1,Pe.different=function(){return{validate:function(e){var t="function"==typeof e.options.compare?e.options.compare.call(this):e.options.compare;return{valid:""===t||e.value!==t}}}}),Pe);var je,Ne=ke.exports,Le={exports:{}},Te={};Le.exports=(je||(je=1,Te.digits=function(){return{validate:function(e){return{valid:""===e.value||/^\d+$/.test(e.value)}}}}),Te);var Me,De=Le.exports,Re={exports:{}},ze={};Re.exports=function(){if(Me)return ze;Me=1;var e=o.utils.removeUndefined,t=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,n=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/;return ze.emailAddress=function(){return{validate:function(i){if(""===i.value)return{valid:!0};var r=Object.assign({},{multiple:!1,requireGlobalDomain:!1,separator:/[,;]/},e(i.options)),o=r.requireGlobalDomain?n:t;if(!0===r.multiple||"true"==="".concat(r.multiple)){for(var a=r.separator||/[,;]/,s=function(e,t){for(var n=e.split(/"/),i=n.length,r=[],o="",a=0;a<i;a++)if(a%2==0){var s=n[a].split(t),l=s.length;if(1===l)o+=s[0];else{r.push(o+s[0]);for(var d=1;d<l-1;d++)r.push(s[d]);o=s[l-1]}}else o+='"'+n[a],a<i-1&&(o+='"');return r.push(o),r}(i.value,a),l=s.length,d=0;d<l;d++)if(!o.test(s[d]))return{valid:!1};return{valid:!0}}return{valid:o.test(i.value)}}}},ze}();var Ue,Be=Re.exports,Ye={exports:{}},qe={};Ye.exports=function(){if(Ue)return qe;Ue=1;var e=function(e){return-1===e.indexOf(".")?e:e.split(".").slice(0,-1).join(".")};return qe.file=function(){return{validate:function(t){if(""===t.value)return{valid:!0};var n,i,r=t.options.extension?t.options.extension.toLowerCase().split(",").map((function(e){return e.trim()})):[],o=t.options.type?t.options.type.toLowerCase().split(",").map((function(e){return e.trim()})):[];if(window.File&&window.FileList&&window.FileReader){var a=t.element.files,s=a.length,l=0;if(t.options.maxFiles&&s>parseInt("".concat(t.options.maxFiles),10))return{meta:{error:"INVALID_MAX_FILES"},valid:!1};if(t.options.minFiles&&s<parseInt("".concat(t.options.minFiles),10))return{meta:{error:"INVALID_MIN_FILES"},valid:!1};for(var d={},c=0;c<s;c++){if(l+=a[c].size,d={ext:n=a[c].name.substr(a[c].name.lastIndexOf(".")+1),file:a[c],size:a[c].size,type:a[c].type},t.options.minSize&&a[c].size<parseInt("".concat(t.options.minSize),10))return{meta:Object.assign({},{error:"INVALID_MIN_SIZE"},d),valid:!1};if(t.options.maxSize&&a[c].size>parseInt("".concat(t.options.maxSize),10))return{meta:Object.assign({},{error:"INVALID_MAX_SIZE"},d),valid:!1};if(r.length>0&&-1===r.indexOf(n.toLowerCase()))return{meta:Object.assign({},{error:"INVALID_EXTENSION"},d),valid:!1};if(o.length>0&&a[c].type&&-1===o.indexOf(a[c].type.toLowerCase()))return{meta:Object.assign({},{error:"INVALID_TYPE"},d),valid:!1};if(t.options.validateFileName&&!t.options.validateFileName(e(a[c].name)))return{meta:Object.assign({}
26259,{error:"INVALID_NAME"},d),valid:!1}}if(t.options.maxTotalSize&&l>parseInt("".concat(t.options.maxTotalSize),10))return{meta:Object.assign({},{error:"INVALID_MAX_TOTAL_SIZE",totalSize:l},d),valid:!1};if(t.options.minTotalSize&&l<parseInt("".concat(t.options.minTotalSize),10))return{meta:Object.assign({},{error:"INVALID_MIN_TOTAL_SIZE",totalSize:l},d),valid:!1}}else{if(n=t.value.substr(t.value.lastIndexOf(".")+1),r.length>0&&-1===r.indexOf(n.toLowerCase()))return{meta:{error:"INVALID_EXTENSION",ext:n},valid:!1};if(i=e(t.value),t.options.validateFileName&&!t.options.validateFileName(i))return{meta:{error:"INVALID_NAME",name:i},valid:!1}}return{valid:!0}}}},qe}();var Ge,Ze=Ye.exports,$e={exports:{}},Xe={};$e.exports=function(){if(Ge)return Xe;Ge=1;var e=o,t=e.utils.format,n=e.utils.removeUndefined;return Xe.greaterThan=function(){return{validate:function(e){if(""===e.value)return{valid:!0};var i=Object.assign({},{inclusive:!0,message:""},n(e.options)),r=parseFloat("".concat(i.min).replace(",","."));return i.inclusive?{message:t(e.l10n?i.message||e.l10n.greaterThan.default:i.message,"".concat(r)),valid:parseFloat(e.value)>=r}:{message:t(e.l10n?i.message||e.l10n.greaterThan.notInclusive:i.message,"".concat(r)),valid:parseFloat(e.value)>r}}}},Xe}();var Je,Ke=$e.exports,We={exports:{}},Qe={};We.exports=(Je||(Je=1,Qe.identical=function(){return{validate:function(e){var t="function"==typeof e.options.compare?e.options.compare.call(this):e.options.compare;return{valid:""===t||e.value===t}}}}),Qe);var et,tt=We.exports,nt={exports:{}},it={};nt.exports=function(){if(et)return it;et=1;var e=o.utils.removeUndefined;return it.integer=function(){return{validate:function(t){if(""===t.value)return{valid:!0};var n=Object.assign({},{decimalSeparator:".",thousandsSeparator:""},e(t.options)),i="."===n.decimalSeparator?"\\.":n.decimalSeparator,r="."===n.thousandsSeparator?"\\.":n.thousandsSeparator,o=new RegExp("^-?[0-9]{1,3}(".concat(r,"[0-9]{3})*(").concat(i,"[0-9]+)?$")),a=new RegExp(r,"g"),s="".concat(t.value);if(!o.test(s))return{valid:!1};r&&(s=s.replace(a,"")),i&&(s=s.replace(i,"."));var l=parseFloat(s);return{valid:!isNaN(l)&&isFinite(l)&&Math.floor(l)===l}}}},it}();var rt,ot=nt.exports,at={exports:{}},st={};at.exports=function(){if(rt)return st;rt=1;var e=o.utils.removeUndefined;return st.ip=function(){return{validate:function(t){if(""===t.value)return{valid:!0};var n=Object.assign({},{ipv4:!0,ipv6:!0},e(t.options)),i=/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\/([0-9]|[1-2][0-9]|3[0-2]))?$/,r=/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*(\/(\d|\d\d|1[0-1]\d|12[0-8]))?$/;switch(!0){case n.ipv4&&!n.ipv6:return{message:t.l10n?n.message||t.l10n.ip.ipv4:n.message,valid:i.test(t.value)};case!n.ipv4&&n.ipv6:return{message:t.l10n?n.message||t.l10n.ip.ipv6:n.message,valid:r.test(t.value)};case n.ipv4&&n.ipv6:default:return{message:t.l10n?n.message||t.l10n.ip.default:n.message,valid:i.test(t.value)||r.test(t.value)}}}}},st}();var lt,dt=at.exports,ct={exports:{}},ut={};ct.exports=function(){if(lt)return ut;lt=1;var e=o,t=e.utils.format,n=e.utils.removeUndefined;return ut.lessThan=function(){return{validate:function(e){if(""===e.value)return{valid:!0};var i=Object.assign({},{inclusive:!0,message:""},n(e.options)),r=parseFloat("".concat(i.max).replace(",","."));return i.inclusive?{message:t(e.l10n?i.message||e.l10n.lessThan.default:i.message,"".concat(r)),valid:parseFloat(e.value)<=r}:{message:t(e.l10n?i.message||e.l10n.lessThan.notInclusive:i.message,"".concat(r)),valid:parseFloat(e.value)<r}}}},ut}();var ft,pt=ct.exports,ht={exports:{}},mt={};ht.exports=(ft||(ft=1,mt.notEmpty=function(){return{validate:function(e){var t=!!e.options&&!!e.options.trim,n=e.value;return{valid:!t&&""!==n||t&&""!==n&&""!==n.trim()}}}}),mt);var vt,gt=ht.exports,yt={exports:{}},bt={};yt.exports=function(){if(vt)return bt;vt=1;var e=o.utils.removeUndefined;return bt.numeric=function(){return{validate:function(t){if(""===t.value)return{valid:!0};var n=Object.assign({},{decimalSeparator:".",thousandsSeparator:""},e(t.options)),i="".concat(t.value);i.substr(0,1)===n.decimalSeparator?i="0".concat(n.decimalSeparator).concat(i.substr(1)):i.substr(0,2)==="-".concat(n.decimalSeparator)&&(i="-0".concat(n.decimalSeparator).concat(i.substr(2)));var r="."===n.decimalSeparator?"\\.":n.decimalSeparator,o="."===n.thousandsSeparator?"\\.":n.thousandsSeparator,a=new RegExp("^-?[0-9]{1,3}(".concat(o,"[0-9]{3})*(").concat(r,"[0-9]+)?$")),s=new RegExp(o,"g");if(!a.test(i))return{valid:!1};o&&(i=i.replace(s,"")),r&&(i=i.replace(r,"."));var l=parseFloat(i);return{valid:!isNaN(l)&&isFinite(l)}}}},bt}();var Et,xt=yt.exports,Vt={exports:{}},At={};Vt.exports=function(){if(Et)return At;Et=1;var e=o.utils.call;return At.promise=function(){return{validate:function(t){return e(t.options.promise,[t])}}},At}();var wt,Ft=Vt.exports,Ot={exports:{}},Ct={};Ot.exports=(wt||(wt=1,Ct.regexp=function(){return{validate:function(e){if(""===e.value)return{valid:!0};var t=e.options.regexp;if(t instanceof RegExp)return{valid:t.test(e.value)};var n=t.toString();return{valid:(e.options.flags?new RegExp(n,e.options.flags):new RegExp(n)).test(e.value)}}}}),Ct);var It,_t=Ot.exports,Ht={exports:{}},St={};Ht.exports=function(){if(It)return St;It=1;var e=o,t=e.utils.fetch,n=e.utils.removeUndefined;return St.remote=function(){var e={crossDomain:!1,data:{},headers:{},method:"GET",validKey:"valid"};return{validate:function(i){if(""===i.value)return Promise.resolve({valid:!0});var r=Object.assign({},e,n(i.options)),o=r.data;"function"==typeof r.data&&(o=r.data.call(this,i)),"string"==typeof o&&(o=JSON.parse(o)),o[r.name||i.field]=i.value;var a="function"==typeof r.url?r.url.call(this,i):r.url;return t(a,{crossDomain:r.crossDomain,headers:r.headers,method:r.method,params:o}).then((function(e){return Promise.resolve({message:e.message,meta:e,valid:"true"==="".concat(e[r.validKey])})})).catch((function(e){return Promise.reject({valid:!1})}))}}},St}();var kt,Pt=Ht.exports,jt={exports:{}},Nt={};jt.exports=function(){if(kt)return Nt;kt=1;var e=o.utils.removeUndefined;return Nt.stringCase=function(){return{validate:function(t){if(""===t.value)return{valid:!0};var n=Object.assign({},{case:"lower"},e(t.options)),i=(n.case||"lower").toLowerCase();return{message:n.message||(t.l10n?"upper"===i?t.l10n.stringCase.upper:t.l10n.stringCase.default:n.message),valid:"upper"===i?t.value===t.value.toUpperCase():t.value===t.value.toLowerCase()}}}},Nt}();var Lt,Tt=jt.exports,Mt={exports:{}},Dt={};Mt.exports=function(){if(Lt)return Dt;Lt=1;var e=o,t=e.utils.format,n=e.utils.removeUndefined;return Dt.stringLength=function(){return{validate:function(e){var i=Object.assign({},{message:"",trim:!1,utf8Bytes:!1},n(e.options)),r=!0===i.trim||"true"==="".concat(i.trim)?e.value.trim():e.value;if(""===r)return{valid:!0};var o=i.min?"".concat(i.min):"",a=i.max?"".concat(i.max):"",s=i.utf8Bytes?function(e){for(var t=e.length,n=e.length-1;n>=0;n--){var i=e.charCodeAt(n);i>127&&i<=2047?t++:i>2047&&i<=65535&&(t+=2),i>=56320&&i<=57343&&n--}return t}(r):r.length,l=!0,d=e.l10n?i.message||e.l10n.stringLength.default:i.message;switch((o&&s<parseInt(o,10)||a&&s>parseInt(a,10))&&(l=!1),!0){case!!o&&!!a:d=t(e.l10n?i.message||e.l10n.stringLength.between:i.message,[o,a]);break;case!!o:d=t(e.l10n?i.message||e.l10n.stringLength.more:i.message,"".concat(parseInt(o,10)));break;case!!a:d=t(e.l10n?i.message||e.l10n.stringLength.less:i.message,"".concat(parseInt(a,10)))}return{message:d,valid:l}}}},Dt}();var Rt,zt=Mt.exports,Ut={exports:{}},Bt={};Ut.exports=function(){if(Rt)return Bt;Rt=1;var e=o.utils.removeUndefined;return Bt.uri=function(){var t={allowEmptyProtocol:!1,allowLocal:!1,protocol:"http, https, ftp"};return{validate:function(n){if(""===n.value)return{valid:!0};var i=Object.assign({},t,e(n.options)),r=!0===i.allowLocal||"true"==="".concat(i.allowLocal),o=!0===i.allowEmptyProtocol||"true"==="".concat(i.allowEmptyProtocol),a=i.protocol.split(",").join("|").replace(/\s/g,"");return{valid:new RegExp("^(?:(?:"+a+")://)"+(o?"?":"")+"(?:\\S+(?::\\S*)?@)?(?:"+(r?"":"(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})")+"(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-?)*[a-z\\u00a1-\\uffff0-9])*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))"+(r?"?":"")+")(?::\\d{2,5})?(?:/[^\\s]*)?$","i").test(n.value)}}}},Bt}();var Yt=Ut.exports,qt={Alias:d.Alias,Aria:p.Aria,Declarative:g.Declarative,DefaultSubmit:x.DefaultSubmit,Depen
26259dency:F.Dependency,Excluded:_.Excluded,FieldStatus:P.FieldStatus,Framework:z.Framework,Icon:q.Icon,Message:D.Message,Sequence:X.Sequence,SubmitButton:Q.SubmitButton,Tooltip:ie.Tooltip,Trigger:se.Trigger},Gt={between:ue.between,blank:me.blank,callback:be.callback,choice:Ae.choice,creditCard:Ce.creditCard,date:Se.date,different:Ne.different,digits:De.digits,emailAddress:Be.emailAddress,file:Ze.file,greaterThan:Ke.greaterThan,identical:tt.identical,integer:ot.integer,ip:dt.ip,lessThan:pt.lessThan,notEmpty:gt.notEmpty,numeric:xt.numeric,promise:Ft.promise,regexp:_t.regexp,remote:Pt.remote,stringCase:Tt.stringCase,stringLength:zt.stringLength,uri:Yt.uri};e.Plugin=o.Plugin,e.algorithms=o.algorithms,e.formValidation=function(e,t){var n=o.formValidation(e,t);return Object.keys(Gt).forEach((function(e){return n.registerValidator(e,Gt[e])})),n},e.plugins=qt,e.utils=o.utils,e.validators=Gt}));
26260
26261/** 
26262 * FormValidation (https://formvalidation.io)
26263 * The best validation library for JavaScript
26264 * (c) 2013 - 2023 Nguyen Huu Phuoc <[email protected]>
26265 * 
26266 * @license https://formvalidation.io/license
26267 * @package @form-validation/bundle
26268 * @version 2.4.0
26269 */
26270
26271!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).FormValidation={})}(this,(function(e){"use strict";var t,r={exports:{}},a={};r.exports=function(){if(t)return a;t=1;var e={luhn:function(e){for(var t=e.length,r=[[0,1,2,3,4,5,6,7,8,9],[0,2,4,6,8,1,3,5,7,9]],a=0,n=0;t--;)n+=r[a][parseInt(e.charAt(t),10)],a=1-a;return n%10==0&&n>0},mod11And10:function(e){for(var t=e.length,r=5,a=0;a<t;a++)r=(2*(r||10)%11+parseInt(e.charAt(a),10))%10;return 1===r},mod37And36:function(e,t){void 0===t&&(t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ");for(var r=e.length,a=t.length,n=Math.floor(a/2),i=0;i<r;i++)n=(2*(n||a)%(a+1)+t.indexOf(e.charAt(i)))%a;return 1===n},mod97And10:function(e){for(var t=function(e){return e.split("").map((function(e){var t=e.charCodeAt(0);return t>=65&&t<=90?t-55:e})).join("").split("").map((function(e){return parseInt(e,10)}))}(e),r=0,a=t.length,n=0;n<a-1;++n)r=10*(r+t[n])%97;return(r+=t[a-1])%97==1},verhoeff:function(e){for(var t=[[0,1,2,3,4,5,6,7,8,9],[1,2,3,4,0,6,7,8,9,5],[2,3,4,0,1,7,8,9,5,6],[3,4,0,1,2,8,9,5,6,7],[4,0,1,2,3,9,5,6,7,8],[5,9,8,7,6,0,4,3,2,1],[6,5,9,8,7,1,0,4,3,2],[7,6,5,9,8,2,1,0,4,3],[8,7,6,5,9,3,2,1,0,4],[9,8,7,6,5,4,3,2,1,0]],r=[[0,1,2,3,4,5,6,7,8,9],[1,5,7,6,2,8,3,0,9,4],[5,8,0,3,7,9,6,1,4,2],[8,9,1,6,0,4,3,5,2,7],[9,4,5,3,1,2,6,8,7,0],[4,2,8,6,5,7,3,9,0,1],[2,7,9,3,8,0,6,4,1,5],[7,0,4,6,9,1,3,2,5,8]],a=e.reverse(),n=0,i=0;i<a.length;i++)n=t[n][r[i%8][a[i]]];return 0===n}},r=function(){function e(e,t){this.fields={},this.elements={},this.ee={fns:{},clear:function(){this.fns={}},emit:function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];(this.fns[e]||[]).map((function(e){return e.apply(e,t)}))},off:function(e,t){if(this.fns[e]){var r=this.fns[e].indexOf(t);r>=0&&this.fns[e].splice(r,1)}},on:function(e,t){(this.fns[e]=this.fns[e]||[]).push(t)}},this.filter={filters:{},add:function(e,t){(this.filters[e]=this.filters[e]||[]).push(t)},clear:function(){this.filters={}},execute:function(e,t,r){if(!this.filters[e]||!this.filters[e].length)return t;for(var a=t,n=this.filters[e],i=n.length,s=0;s<i;s++)a=n[s].apply(a,r);return a},remove:function(e,t){this.filters[e]&&(this.filters[e]=this.filters[e].filter((function(e){return e!==t})))}},this.plugins={},this.results=new Map,this.validators={},this.form=e,this.fields=t}return e.prototype.on=function(e,t){return this.ee.on(e,t),this},e.prototype.off=function(e,t){return this.ee.off(e,t),this},e.prototype.emit=function(e){for(var t,r=[],a=1;a<arguments.length;a++)r[a-1]=arguments[a];return(t=this.ee).emit.apply(t,function(e,t,r){if(r||2===arguments.length)for(var a,n=0,i=t.length;n<i;n++)!a&&n in t||(a||(a=Array.prototype.slice.call(t,0,n)),a[n]=t[n]);return e.concat(a||Array.prototype.slice.call(t))}([e],r,!1)),this},e.prototype.registerPlugin=function(e,t){if(this.plugins[e])throw new Error("The plguin ".concat(e," is registered"));return t.setCore(this),t.install(),this.plugins[e]=t,this},e.prototype.deregisterPlugin=function(e){var t=this.plugins[e];return t&&t.uninstall(),delete this.plugins[e],this},e.prototype.enablePlugin=function(e){var t=this.plugins[e];return t&&t.enable(),this},e.prototype.disablePlugin=function(e){var t=this.plugins[e];return t&&t.disable(),this},e.prototype.isPluginEnabled=function(e){var t=this.plugins[e];return!!t&&t.isPluginEnabled()},e.prototype.registerValidator=function(e,t){if(this.validators[e])throw new Error("The validator ".concat(e," is registered"));return this.validators[e]=t,this},e.prototype.registerFilter=function(e,t){return this.filter.add(e,t),this},e.prototype.deregisterFilter=function(e,t){return this.filter.remove(e,t),this},e.prototype.executeFilter=function(e,t,r){return this.filter.execute(e,t,r)},e.prototype.addField=function(e,t){var r=Object.assign({},{selector:"",validators:{}},t);return this.fields[e]=this.fields[e]?{selector:r.selector||this.fields[e].selector,validators:Object.assign({},this.fields[e].validators,r.validators)}
26271:r,this.elements[e]=this.queryElements(e),this.emit("core.field.added",{elements:this.elements[e],field:e,options:this.fields[e]}),this},e.prototype.removeField=function(e){if(!this.fields[e])throw new Error("The field ".concat(e," validators are not defined. Please ensure the field is added first"));var t=this.elements[e],r=this.fields[e];return delete this.elements[e],delete this.fields[e],this.emit("core.field.removed",{elements:t,field:e,options:r}),this},e.prototype.validate=function(){var e=this;return this.emit("core.form.validating",{formValidation:this}),this.filter.execute("validate-pre",Promise.resolve(),[]).then((function(){return Promise.all(Object.keys(e.fields).map((function(t){return e.validateField(t)}))).then((function(t){switch(!0){case-1!==t.indexOf("Invalid"):return e.emit("core.form.invalid",{formValidation:e}),Promise.resolve("Invalid");case-1!==t.indexOf("NotValidated"):return e.emit("core.form.notvalidated",{formValidation:e}),Promise.resolve("NotValidated");default:return e.emit("core.form.valid",{formValidation:e}),Promise.resolve("Valid")}}))}))},e.prototype.validateField=function(e){var t=this,r=this.results.get(e);if("Valid"===r||"Invalid"===r)return Promise.resolve(r);this.emit("core.field.validating",e);var a=this.elements[e];if(0===a.length)return this.emit("core.field.valid",e),Promise.resolve("Valid");var n=a[0].getAttribute("type");return"radio"===n||"checkbox"===n||1===a.length?this.validateElement(e,a[0]):Promise.all(a.map((function(r){return t.validateElement(e,r)}))).then((function(r){switch(!0){case-1!==r.indexOf("Invalid"):return t.emit("core.field.invalid",e),t.results.set(e,"Invalid"),Promise.resolve("Invalid");case-1!==r.indexOf("NotValidated"):return t.emit("core.field.notvalidated",e),t.results.delete(e),Promise.resolve("NotValidated");default:return t.emit("core.field.valid",e),t.results.set(e,"Valid"),Promise.resolve("Valid")}}))},e.prototype.validateElement=function(e,t){var r=this;this.results.delete(e);var a=this.elements[e];if(this.filter.execute("element-ignored",!1,[e,t,a]))return this.emit("core.element.ignored",{element:t,elements:a,field:e}),Promise.resolve("Ignored");var n=this.fields[e].validators;this.emit("core.element.validating",{element:t,elements:a,field:e});var i=Object.keys(n).map((function(a){return function(){return r.executeValidator(e,t,a,n[a])}}));return this.waterfall(i).then((function(n){var i=-1===n.indexOf("Invalid");r.emit("core.element.validated",{element:t,elements:a,field:e,valid:i});var s=t.getAttribute("type");return"radio"!==s&&"checkbox"!==s&&1!==a.length||r.emit(i?"core.field.valid":"core.field.invalid",e),Promise.resolve(i?"Valid":"Invalid")})).catch((function(n){return r.emit("core.element.notvalidated",{element:t,elements:a,field:e}),Promise.resolve(n)}))},e.prototype.executeValidator=function(e,t,r,a){var n=this,i=this.elements[e],s=this.filter.execute("validator-name",r,[r,e]);if(a.message=this.filter.execute("validator-message",a.message,[this.locale,e,s]),!this.validators[s]||!1===a.enabled)return this.emit("core.validator.validated",{element:t,elements:i,field:e,result:this.normalizeResult(e,s,{valid:!0}),validator:s}),Promise.resolve("Valid");var o=this.validators[s],l=this.getElementValue(e,t,s);if(!this.filter.execute("field-should-validate",!0,[e,t,l,r]))return this.emit("core.validator.notvalidated",{element:t,elements:i,field:e,validator:r}),Promise.resolve("NotValidated");this.emit("core.validator.validating",{element:t,elements:i,field:e,validator:r});var d=o().validate({element:t,elements:i,field:e,l10n:this.localization,options:a,value:l});if("function"==typeof d.then)return d.then((function(a){var s=n.normalizeResult(e,r,a);return n.emit("core.validator.validated",{element:t,elements:i,field:e,result:s,validator:r}),s.valid?"Valid":"Invalid"}));var u=this.normalizeResult(e,r,d);return this.emit("core.validator.validated",{element:t,elements:i,field:e,result:u,validator:r}),Promise.resolve(u.valid?"Valid":"Invalid")},e.prototype.getElementValue=function(e,t,r){var a=function(e,t,r,a){var n=(r.getAttribute("type")||"").toLowerCase(),i=r.tagName.toLowerCase();if("textarea"===i)return r.value;if("select"===i){var s=r,o=s.selectedIndex;return o>=0?s.options.item(o).value:""}if("input"===i){if("radio"===n||"checkbox"===n){var l=a.filter((function(e){return e.checked})).length;return 0===l?"":l+""}return r.value}return""}(this.form,0,t,this.elements[e]);return this.filter.execute("field-value",a,[a,e,t,r])},e.prototype.getElements=function(e){return this.elements[e]},e.prototype.getFields=function(){return this.fields},e.prototype.getFormElement=function(){return this.form},e.prototype.getLocale=function(){return this.locale},e.prototype.getPlugin=function(e){return this.plugins[e]},e.prototype.updateFieldStatus=function(e,t,r){var a=this,n=this.elements[e],i=n[0].getAttribute("type");
26271if(("radio"===i||"checkbox"===i?[n[0]]:n).forEach((function(n){return a.updateElementStatus(e,n,t,r)})),r)"Invalid"===t&&(this.emit("core.field.invalid",e),this.results.set(e,"Invalid"));else switch(t){case"NotValidated":this.emit("core.field.notvalidated",e),this.results.delete(e);break;case"Validating":this.emit("core.field.validating",e),this.results.delete(e);break;case"Valid":this.emit("core.field.valid",e),this.results.set(e,"Valid");break;case"Invalid":this.emit("core.field.invalid",e),this.results.set(e,"Invalid")}return this},e.prototype.updateElementStatus=function(e,t,r,a){var n=this,i=this.elements[e],s=this.fields[e].validators,o=a?[a]:Object.keys(s);switch(r){case"NotValidated":o.forEach((function(r){return n.emit("core.validator.notvalidated",{element:t,elements:i,field:e,validator:r})})),this.emit("core.element.notvalidated",{element:t,elements:i,field:e});break;case"Validating":o.forEach((function(r){return n.emit("core.validator.validating",{element:t,elements:i,field:e,validator:r})})),this.emit("core.element.validating",{element:t,elements:i,field:e});break;case"Valid":o.forEach((function(r){return n.emit("core.validator.validated",{element:t,elements:i,field:e,result:{message:s[r].message,valid:!0},validator:r})})),this.emit("core.element.validated",{element:t,elements:i,field:e,valid:!0});break;case"Invalid":o.forEach((function(r){return n.emit("core.validator.validated",{element:t,elements:i,field:e,result:{message:s[r].message,valid:!1},validator:r})})),this.emit("core.element.validated",{element:t,elements:i,field:e,valid:!1})}return this},e.prototype.resetForm=function(e){var t=this;return Object.keys(this.fields).forEach((function(r){return t.resetField(r,e)})),this.emit("core.form.reset",{formValidation:this,reset:e}),this},e.prototype.resetField=function(e,t){if(t){var r=this.elements[e],a=r[0].getAttribute("type");r.forEach((function(e){"radio"===a||"checkbox"===a?(e.removeAttribute("selected"),e.removeAttribute("checked"),e.checked=!1):(e.setAttribute("value",""),(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement)&&(e.value=""))}))}return this.updateFieldStatus(e,"NotValidated"),this.emit("core.field.reset",{field:e,reset:t}),this},e.prototype.revalidateField=function(e){return this.fields[e]?(this.updateFieldStatus(e,"NotValidated"),this.validateField(e)):Promise.resolve("Ignored")},e.prototype.disableValidator=function(e,t){if(!this.fields[e])return this;var r=this.elements[e];return this.toggleValidator(!1,e,t),this.emit("core.validator.disabled",{elements:r,field:e,formValidation:this,validator:t}),this},e.prototype.enableValidator=function(e,t){if(!this.fields[e])return this;var r=this.elements[e];return this.toggleValidator(!0,e,t),this.emit("core.validator.enabled",{elements:r,field:e,formValidation:this,validator:t}),this},e.prototype.updateValidatorOption=function(e,t,r,a){return this.fields[e]&&this.fields[e].validators&&this.fields[e].validators[t]&&(this.fields[e].validators[t][r]=a),this},e.prototype.setFieldOptions=function(e,t){return this.fields[e]=t,this},e.prototype.destroy=function(){var e=this;return Object.keys(this.plugins).forEach((function(t){return e.plugins[t].uninstall()})),this.ee.clear(),this.filter.clear(),this.results.clear(),this.plugins={},this},e.prototype.setLocale=function(e,t){return this.locale=e,this.localization=t,this},e.prototype.waterfall=function(e){return e.reduce((function(e,t){return e.then((function(e){return t().then((function(t){return e.push(t),e}))}))}),Promise.resolve([]))},e.prototype.queryElements=function(e){var t=this.fields[e].selector?"#"===this.fields[e].selector.charAt(0)?'[id="'.concat(this.fields[e].selector.substring(1),'"]'):this.fields[e].selector:'[name="'.concat(e.replace(/"/g,'\\"'),'"]');return[].slice.call(this.form.querySelectorAll(t))},e.prototype.normalizeResult=function(e,t,r){var a=this.fields[e].validators[t];return Object.assign({},r,{message:r.message||(a?a.message:"")||(this.localization&&this.localization[t]&&this.localization[t].default?this.localization[t].default:"")||"The field ".concat(e," is not val
26271id")})},e.prototype.toggleValidator=function(e,t,r){var a=this,n=this.fields[t].validators;return r&&n&&n[r]?this.fields[t].validators[r].enabled=e:r||Object.keys(n).forEach((function(r){return a.fields[t].validators[r].enabled=e})),this.updateFieldStatus(t,"NotValidated",r)},e}(),n=function(){function e(e){this.opts=e,this.isEnabled=!0}return e.prototype.setCore=function(e){return this.core=e,this},e.prototype.enable=function(){return this.isEnabled=!0,this.onEnabled(),this},e.prototype.disable=function(){return this.isEnabled=!1,this.onDisabled(),this},e.prototype.isPluginEnabled=function(){return this.isEnabled},e.prototype.onEnabled=function(){},e.prototype.onDisabled=function(){},e.prototype.install=function(){},e.prototype.uninstall=function(){},e}(),i=function(e,t){var r=e.matches||e.webkitMatchesSelector||e.mozMatchesSelector||e.msMatchesSelector;return r?r.call(e,t):[].slice.call(e.parentElement.querySelectorAll(t)).indexOf(e)>=0},s={call:function(e,t){if("function"==typeof e)return e.apply(this,t);if("string"==typeof e){var r=e;"()"===r.substring(r.length-2)&&(r=r.substring(0,r.length-2));for(var a=r.split("."),n=a.pop(),i=window,s=0,o=a;s<o.length;s++)i=i[o[s]];return void 0===i[n]?null:i[n].apply(this,t)}},classSet:function(e,t){var r=[],a=[];Object.keys(t).forEach((function(e){e&&(t[e]?r.push(e):a.push(e))})),a.forEach((function(t){return function(e,t){t.split(" ").forEach((function(t){e.classList?e.classList.remove(t):e.className=e.className.replace(t,"")}))}(e,t)})),r.forEach((function(t){return function(e,t){t.split(" ").forEach((function(t){e.classList?e.classList.add(t):" ".concat(e.className," ").indexOf(" ".concat(t," "))&&(e.className+=" ".concat(t))}))}(e,t)}))},closest:function(e,t){for(var r=e;r&&!i(r,t);)r=r.parentElement;return r},fetch:function(e,t){return new Promise((function(r,a){var n,i=Object.assign({},{crossDomain:!1,headers:{},method:"GET",params:{}},t),s=Object.keys(i.params).map((function(e){return"".concat(encodeURIComponent(e),"=").concat(encodeURIComponent(i.params[e]))})).join("&"),o=e.indexOf("?")>-1,l="GET"===i.method?"".concat(e).concat(o?"&":"?").concat(s):e;if(i.crossDomain){var d=document.createElement("script"),u="___FormValidationFetch_".concat(Array(12).fill("").map((function(e){return Math.random().toString(36).charAt(2)})).join(""),"___");window[u]=function(e){delete window[u],r(e)},d.src="".concat(l).concat(o?"&":"?","callback=").concat(u),d.async=!0,d.addEventListener("load",(function(){d.parentNode.removeChild(d)})),d.addEventListener("error",(function(){return a})),document.head.appendChild(d)}else{var c=new XMLHttpRequest;c.open(i.method,l),c.setRequestHeader("X-Requested-With","XMLHttpRequest"),"POST"===i.method&&c.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),Object.keys(i.headers).forEach((function(e){return c.setRequestHeader(e,i.headers[e])})),c.addEventListener("load",(function(){r(JSON.parse(this.responseText))})),c.addEventListener("error",(function(){return a})),c.send((n=i.params,Object.keys(n).map((function(e){return"".concat(encodeURIComponent(e),"=").concat(encodeURIComponent(n[e]))})).join("&")))}}))},format:function(e,t){var r=Array.isArray(t)?t:[t],a=e;return r.forEach((function(e){a=a.replace("%s",e)})),a},hasClass:function(e,t){return e.classList?e.classList.contains(t):new RegExp("(^| )".concat(t,"( |$)"),"gi").test(e.className)},isValidDate:function(e,t,r,a){if(isNaN(e)||isNaN(t)||isNaN(r))return!1;if(e<1e3||e>9999||t<=0||t>12)return!1;if(r<=0||r>[31,e%400==0||e%100!=0&&e%4==0?29:28,31,30,31,30,31,31,30,31,30,31][t-1])return!1;if(!0===a){var n=new Date,i=n.getFullYear(),s=n.getMonth(),o=n.getDate();return e<i||e===i&&t-1<s||e===i&&t-1===s&&r<o}return!0},removeUndefined:function(e){return e?Object.entries(e).reduce((function(e,t){var r=t[0],a=t[1];return void 0===a||(e[r]=a),e}),{}):{}}};return a.Plugin=n,a.algorithms=e,a.formValidation=function(e,t){var a=Object.assign({},{fields:{},locale:"en_US",plugins:{},init:function(e){}},t),n=new r(e,a.fields);return n.setLocale(a.locale,a.localization),Object.keys(a.plugins).forEach((function(e){return n.registerPlugin(e,a.plugins[e])}
26271)),a.init(n),Object.keys(a.fields).forEach((function(e){return n.addField(e,a.fields[e])})),n},a.utils=s,a}();var n,i=r.exports,s={exports:{}},o={};s.exports=function(){if(n)return o;n=1;var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},e(t,r)},t=function(t){function r(e){var r=t.call(this,e)||this;return r.opts=e||{},r.validatorNameFilter=r.getValidatorName.bind(r),r}return function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function a(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}(r,t),r.prototype.install=function(){this.core.registerFilter("validator-name",this.validatorNameFilter)},r.prototype.uninstall=function(){this.core.deregisterFilter("validator-name",this.validatorNameFilter)},r.prototype.getValidatorName=function(e,t){return this.isEnabled&&this.opts[e]||e},r}(i.Plugin);return o.Alias=t,o}();var l,d=s.exports,u={exports:{}},c={};u.exports=function(){if(l)return c;l=1;var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},e(t,r)},t=function(t){function r(){var e=t.call(this,{})||this;return e.elementValidatedHandler=e.onElementValidated.bind(e),e.fieldValidHandler=e.onFieldValid.bind(e),e.fieldInvalidHandler=e.onFieldInvalid.bind(e),e.messageDisplayedHandler=e.onMessageDisplayed.bind(e),e}return function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function a(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}(r,t),r.prototype.install=function(){this.core.on("core.field.valid",this.fieldValidHandler).on("core.field.invalid",this.fieldInvalidHandler).on("core.element.validated",this.elementValidatedHandler).on("plugins.message.displayed",this.messageDisplayedHandler)},r.prototype.uninstall=function(){this.core.off("core.field.valid",this.fieldValidHandler).off("core.field.invalid",this.fieldInvalidHandler).off("core.element.validated",this.elementValidatedHandler).off("plugins.message.displayed",this.messageDisplayedHandler)},r.prototype.onElementValidated=function(e){e.valid&&(e.element.setAttribute("aria-invalid","false"),e.element.removeAttribute("aria-describedby"))},r.prototype.onFieldValid=function(e){var t=this.core.getElements(e);t&&t.forEach((function(e){e.setAttribute("aria-invalid","false"),e.removeAttribute("aria-describedby")}))},r.prototype.onFieldInvalid=function(e){var t=this.core.getElements(e);t&&t.forEach((function(e){return e.setAttribute("aria-invalid","true")}))},r.prototype.onMessageDisplayed=function(e){e.messageElement.setAttribute("role","alert"),e.messageElement.setAttribute("aria-hidden","false");var t=this.core.getElements(e.field),r=t.indexOf(e.element),a="js-fv-".concat(e.field,"-").concat(r,"-").concat(Date.now(),"-message");e.messageElement.setAttribute("id",a),e.element.setAttribute("aria-describedby",a);var n=e.element.getAttribute("type");"radio"!==n&&"checkbox"!==n||t.forEach((function(e){return e.setAttribute("aria-describedby",a)}))},r}(i.Plugin);return c.Aria=t,c}();var f,p=u.exports,v={exports:{}},h={};v.exports=function(){if(f)return h;f=1;var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},e(t,r)},t=function(t){function r(e){var r=t.call(this,e)||this;return r.addedFields=new Map,r.opts=Object.assign({},{html5Input:!1,pluginPrefix:"data-fvp-",prefix:"data-fv-"},e),r.fieldAddedHandler=r.onFieldAdded.bind(r),r.fieldRemovedHandler=r.onFieldRemoved.bind(r),r}return function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function a(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}(r,t),r.prototype.install=function(){var e=this;this.parsePlugins();var t=this.parseOptions();Object.keys(t).forEach((function(r){e.addedFields.has(r)||e.addedFields.set(r,!0),e.core.addField(r,t[r])})),this.core.on("core.field.added",this.fieldAddedHandler).on("core.field.removed",this.fieldRemovedHandler)},r.prototype.uninstall=function(){this.addedFields.clear(),this.core.off("core.field.added",this.fieldAddedHandler).off("core.field.removed",this.fieldRemovedHandler)},r.prototype.onFieldAdded=function(e){var t=this,r=e.elements;r&&0!==r.length&&!this.addedFields.has(e.field)&&(this.addedFields.set(e.field,!0),r.forEach((function(r){var a=t.parseElement(r);if(!t.isEmptyOption(a)){var n={selector:e.options.selector,validators:Object.assign({},e.options.validators||{},a.validators)};t.core.setFieldOptions(e.field,n)}})))},r.prototype.onFieldRemoved=function(e){e.field&&this.addedFields.has(e.field)&&this.addedFields.delete(e.field)},r.prototype.parseOptions=function(){var e=this,t=this.opts.prefix,r
26271={},a=this.core.getFields(),n=this.core.getFormElement();return[].slice.call(n.querySelectorAll("[name], [".concat(t,"field]"))).forEach((function(a){var n=e.parseElement(a);if(!e.isEmptyOption(n)){var i=a.getAttribute("name")||a.getAttribute("".concat(t,"field"));r[i]=Object.assign({},r[i],n)}})),Object.keys(r).forEach((function(e){Object.keys(r[e].validators).forEach((function(t){r[e].validators[t].enabled=r[e].validators[t].enabled||!1,a[e]&&a[e].validators&&a[e].validators[t]&&Object.assign(r[e].validators[t],a[e].validators[t])}))})),Object.assign({},a,r)},r.prototype.createPluginInstance=function(e,t){for(var r=e.split("."),a=window||this,n=0,i=r.length;n<i;n++)a=a[r[n]];if("function"!=typeof a)throw new Error("the plugin ".concat(e," doesn't exist"));return new a(t)},r.prototype.parsePlugins=function(){for(var e,t=this,r=this.core.getFormElement(),a=new RegExp("^".concat(this.opts.pluginPrefix,"([a-z0-9-]+)(___)*([a-z0-9-]+)*$")),n=r.attributes.length,i={},s=0;s<n;s++){var o=r.attributes[s].name,l=r.attributes[s].value,d=a.exec(o);if(d&&4===d.length){var u=this.toCamelCase(d[1]);i[u]=Object.assign({},d[3]?((e={})[this.toCamelCase(d[3])]=l,e):{enabled:""===l||"true"===l},i[u])}}
26271Object.keys(i).forEach((function(e){var r=i[e],a=r.enabled,n=r.class;if(a&&n){delete r.enabled,delete r.clazz;var s=t.createPluginInstance(n,r);t.core.registerPlugin(e,s)}}))},r.prototype.isEmptyOption=function(e){var t=e.validators;return 0===Object.keys(t).length&&t.constructor===Object},r.prototype.parseElement=function(e){for(var t=new RegExp("^".concat(this.opts.prefix,"([a-z0-9-]+)(___)*([a-z0-9-]+)*$")),r=e.attributes.length,a={},n=e.getAttribute("type"),i=0;i<r;i++){var s=e.attributes[i].name,o=e.attributes[i].value;if(this.opts.html5Input)switch(!0){case"minlength"===s:a.stringLength=Object.assign({},{enabled:!0,min:parseInt(o,10)},a.stringLength);break;case"maxlength"===s:a.stringLength=Object.assign({},{enabled:!0,max:parseInt(o,10)},a.stringLength);break;case"pattern"===s:a.regexp=Object.assign({},{enabled:!0,regexp:o},a.regexp);break;case"required"===s:a.notEmpty=Object.assign({},{enabled:!0},a.notEmpty);break;case"type"===s&&"color"===o:a.color=Object.assign({},{enabled:!0,type:"hex"},a.color);break;case"type"===s&&"email"===o:a.emailAddress=Object.assign({},{enabled:!0},a.emailAddress);break;case"type"===s&&"url"===o:a.uri=Object.assign({},{enabled:!0},a.uri);break;case"type"===s&&"range"===o:a.between=Object.assign({},{enabled:!0,max:parseFloat(e.getAttribute("max")),min:parseFloat(e.getAttribute("min"))},a.between);break;case"min"===s&&"date"!==n&&"range"!==n:a.greaterThan=Object.assign({},{enabled:!0,min:parseFloat(o)},a.greaterThan);break;case"max"===s&&"date"!==n&&"range"!==n:a.lessThan=Object.assign({},{enabled:!0,max:parseFloat(o)},a.lessThan)}var l=t.exec(s);if(l&&4===l.length){var d=this.toCamelCase(l[1]);a[d]||(a[d]={}),l[3]?a[d][this.toCamelCase(l[3])]=this.normalizeValue(o):!0===a[d].enabled&&!1===a[d].enabled||(a[d].enabled=""===o||"true"===o)}}return{validators:a}},r.prototype.normalizeValue=function(e){return"true"===e||""===e||"false"!==e&&e},r.prototype.toUpperCase=function(e){return e.charAt(1).toUpperCase()},r.prototype.toCamelCase=function(e){return e.replace(/-./g,this.toUpperCase)},r}(i.Plugin);return h.Declarative=t,h}();var m,g=v.exports,b={exports:{}},A={};b.exports=function(){if(m)return A;m=1;var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},e(t,r)},t=function(t){function r(){var e=t.call(this,{})||this;return e.onValidHandler=e.onFormValid.bind(e),e}return function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function a(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}(r,t),r.prototype.install=function(){if(this.core.getFormElement().querySelectorAll('[type="submit"][name="submit"]').length)throw new Error("Do not use `submit` for the name attribute of submit button");this.core.on("core.form.valid",this.onValidHandler)},r.prototype.uninstall=function(){this.core.off("core.form.valid",this.onValidHandler)},r.prototype.onFormValid=function(){var e=this.core.getFormElement();this.isEnabled&&e instanceof HTMLFormElement&&e.submit()},r}(i.Plugin);return A.DefaultSubmit=t,A}();var y,E=b.exports,I={exports:{}},x={};I.exports=function(){if(y)return x;y=1;var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},e(t,r)},t=function(t){function r(e){var r=t.call(this,e)||this;return r.opts=e||{},r.triggerExecutedHandler=r.onTriggerExecuted.bind(r),r}return function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function a(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}(r,t),r.prototype.install=function(){this.core.on("plugins.trigger.executed",this.triggerExecutedHandler)},r.prototype.uninstall=function(){this.core.off("plugins.trigger.executed",this.triggerExecutedHandler)},r.prototype.onTriggerExecuted=function(e){if(this.isEnabled&&this.opts[e.field])for(var t=0,r=this.opts[e.field].split(" ");t<r.length;t++){var a=r[t].trim();this.opts[a]&&this.core.revalidateField(a)}},r}(i.Plugin);return x.Dependency=t,x}();
26271var C,O=I.exports,F={exports:{}},V={};F.exports=function(){if(C)return V;C=1;var e=i,t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},t(e,r)},r=e.utils.removeUndefined,a=function(e){function a(t){var n=e.call(this,t)||this;return n.opts=Object.assign({},{excluded:a.defaultIgnore},r(t)),n.ignoreValidationFilter=n.ignoreValidation.bind(n),n}return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function a(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}(a,e),a.defaultIgnore=function(e,t,r){var a=!!(t.offsetWidth||t.offsetHeight||t.getClientRects().length),n=t.getAttribute("disabled");return""===n||"disabled"===n||"hidden"===t.getAttribute("type")||!a},a.prototype.install=function(){this.core.registerFilter("element-ignored",this.ignoreValidationFilter)},a.prototype.uninstall=function(){this.core.deregisterFilter("element-ignored",this.ignoreValidationFilter)},a.prototype.ignoreValidation=function(e,t,r){return!!this.isEnabled&&this.opts.excluded.apply(this,[e,t,r])},a}(e.Plugin);return V.Excluded=a,V}();var S,k=F.exports,w={exports:{}},H={};w.exports=function(){if(S)return H;S=1;var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},e(t,r)},t=function(t){function r(e){var r=t.call(this,e)||this;return r.statuses=new Map,r.opts=Object.assign({},{onStatusChanged:function(){}},e),r.elementValidatingHandler=r.onElementValidating.bind(r),r.elementValidatedHandler=r.onElementValidated.bind(r),r.elementNotValidatedHandler=r.onElementNotValidated.bind(r),r.elementIgnoredHandler=r.onElementIgnored.bind(r),r.fieldAddedHandler=r.onFieldAdded.bind(r),r.fieldRemovedHandler=r.onFieldRemoved.bind(r),r}return function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function a(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}(r,t),r.prototype.install=function(){this.core.on("core.element.validating",this.elementValidatingHandler).on("core.element.validated",this.elementValidatedHandler).on("core.element.notvalidated",this.elementNotValidatedHandler).on("core.element.ignored",this.elementIgnoredHandler).on("core.field.added",this.fieldAddedHandler).on("core.field.removed",this.fieldRemovedHandler)},r.prototype.uninstall=function(){this.statuses.clear(),this.core.off("core.element.validating",this.elementValidatingHandler).off("core.element.validated",this.elementValidatedHandler).off("core.element.notvalidated",this.elementNotValidatedHandler).off("core.element.ignored",this.elementIgnoredHandler).off("core.field.added",this.fieldAddedHandler).off("core.field.removed",this.fieldRemovedHandler)},r.prototype.areFieldsValid=function(){return Array.from(this.statuses.values()).every((function(e){return"Valid"===e||"NotValidated"===e||"Ignored"===e}))},r.prototype.getStatuses=function(){return this.isEnabled?this.statuses:new Map},r.prototype.onFieldAdded=function(e){this.statuses.set(e.field,"NotValidated")},r.prototype.onFieldRemoved=function(e){this.statuses.has(e.field)&&this.statuses.delete(e.field),this.handleStatusChanged(this.areFieldsValid())},r.prototype.onElementValidating=function(e){this.statuses.set(e.field,"Validating"),this.handleStatusChanged(!1)},r.prototype.onElementValidated=function(e){this.statuses.set(e.field,e.valid?"Valid":"Invalid"),e.valid?this.handleStatusChanged(this.areFieldsValid()):this.handleStatusChanged(!1)},r.prototype.onElementNotValidated=function(e){this.statuses.set(e.field,"NotValidated"),this.handleStatusChanged(!1)},r.prototype.onElementIgnored=function(e){this.statuses.set(e.field,"Ignored"),this.handleStatusChanged(this.areFieldsValid())},r.prototype.handleStatusChanged=function(e){this.isEnabled&&this.opts.onStatusChanged(e)},r}(i.Plugin);return H.FieldStatus=t,H}();var $,N=w.exports,M={exports:{}},T={},L={exports:{}},P={};L.exports=function(){if($)return P;$=1;var e=i,t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},t(e,r)},r=e.utils.classSet,a=function(e){function a(t){var r=e.call(this,t)||this;return r.useDefaultContainer=!1,r.messages=new Map,r.defaultContainer=document.createElement("div"),r.useDefaultContainer=!t||!t.container,r.opts=Object.assign({},{container:function(e,t){return r.defaultContainer}}
26271,t),r.elementIgnoredHandler=r.onElementIgnored.bind(r),r.fieldAddedHandler=r.onFieldAdded.bind(r),r.fieldRemovedHandler=r.onFieldRemoved.bind(r),r.validatorValidatedHandler=r.onValidatorValidated.bind(r),r.validatorNotValidatedHandler=r.onValidatorNotValidated.bind(r),r}return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function a(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}(a,e),a.getClosestContainer=function(e,t,r){for(var a=e;a&&a!==t&&(a=a.parentElement,!r.test(a.className)););return a},a.prototype.install=function(){this.useDefaultContainer&&this.core.getFormElement().appendChild(this.defaultContainer),this.core.on("core.element.ignored",this.elementIgnoredHandler).on("core.field.added",this.fieldAddedHandler).on("core.field.removed",this.fieldRemovedHandler).on("core.validator.validated",this.validatorValidatedHandler).on("core.validator.notvalidated",this.validatorNotValidatedHandler)},a.prototype.uninstall=function(){this.useDefaultContainer&&this.core.getFormElement().removeChild(this.defaultContainer),this.messages.forEach((function(e){return e.parentNode.removeChild(e)})),this.messages.clear(),this.core.off("core.element.ignored",this.elementIgnoredHandler).off("core.field.added",this.fieldAddedHandler).off("core.field.removed",this.fieldRemovedHandler).off("core.validator.validated",this.validatorValidatedHandler).off("core.validator.notvalidated",this.validatorNotValidatedHandler)},a.prototype.onEnabled=function(){this.messages.forEach((function(e,t,a){r(t,{"fv-plugins-message-container--enabled":!0,"fv-plugins-message-container--disabled":!1})}))},a.prototype.onDisabled=function(){this.messages.forEach((function(e,t,a){r(t,{"fv-plugins-message-container--enabled":!1,"fv-plugins-message-container--disabled":!0})}))},a.prototype.onFieldAdded=function(e){var t=this,r=e.elements;r&&(r.forEach((function(e){var r=t.messages.get(e);r&&(r.parentNode.removeChild(r),t.messages.delete(e))})),this.prepareFieldContainer(e.field,r))},a.prototype.onFieldRemoved=function(e){var t=this;if(e.elements.length&&e.field){var r=e.elements[0].getAttribute("type");("radio"===r||"checkbox"===r?[e.elements[0]]:e.elements).forEach((function(e){if(t.messages.has(e)){var r=t.messages.get(e);r.parentNode.removeChild(r),t.messages.delete(e)}}))}},a.prototype.prepareFieldContainer=function(e,t){var r=this;if(t.length){var a=t[0].getAttribute("type");"radio"===a||"checkbox"===a?this.prepareElementContainer(e,t[0],t):t.forEach((function(a){return r.prepareElementContainer(e,a,t)}))}},a.prototype.prepareElementContainer=function(e,t,a){var n;if("string"==typeof this.opts.container){var i="#"===this.opts.container.charAt(0)?'[id="'.concat(this.opts.container.substring(1),'"]'):this.opts.container;n=this.core.getFormElement().querySelector(i)}else n=this.opts.container(e,t);var s=document.createElement("div");n.appendChild(s),r(s,{"fv-plugins-message-container":!0,"fv-plugins-message-container--enabled":this.isEnabled,"fv-plugins-message-container--disabled":!this.isEnabled}),this.core.emit("plugins.message.placed",{element:t,elements:a,field:e,messageElement:s}),this.messages.set(t,s)},a.prototype.getMessage=function(e){return"string"==typeof e.message?e.message:e.message[this.core.getLocale()]},a.prototype.onValidatorValidated=function(e){var t,a=e.elements,n=e.element.getAttribute("type"),i=("radio"===n||"checkbox"===n)&&a.length>0?a[0]:e.element;if(this.messages.has(i)){var s=this.messages.get(i),o=s.querySelector('[data-field="'.concat(e.field.replace(/"/g,'\\"'),'"][data-validator="').concat(e.validator.replace(/"/g,'\\"'),'"]'));if(o||e.result.valid)o&&!e.result.valid?(o.innerHTML=this.getMessage(e.result),this.core.emit("plugins.message.displayed",{element:e.element,field:e.field,message:e.result.message,messageElement:o,meta:e.result.meta,validator:e.validator})):o&&e.result.valid&&s.removeChild(o);else{var l=document.createElement("div");l.innerHTML=this.getMessage(e.result),l.setAttribute("data-field",e.field),l.setAttribute("data-validator",e.validator),this.opts.clazz&&r(l,((t={})[this.opts.clazz]=!0,t)),s.appendChild(l),this.core.emit("plugins.message.displayed",{element:e.element,field:e.field,message:e.result.message,messageElement:l,meta:e.result.meta,validator:e.validator})}}},a.prototype.onValidatorNotValidated=function(e){var t=e.elements,r=e.element.getAttribute("type"),a="radio"===r||"checkbox"===r?t[0]:e.element;if(this.messages.has(a)){var n=this.messages.get(a),i=n.querySelector('[data-field="'.concat(e.field.replace(/"/g,'\\"'),'"][data-validator="').concat(e.validator.replace(/"/g,'\\"'),'"]'));i&&n.removeChild(i)}},a.prototype.onElementIgnored=function(e){var t=e.elements,r=e.element.getAttribute("type"),a="radio"===r||"checkbox"===r?t[0]:e.element;if(this.messages.has(a)){var n=this.messages.get(a);[].slice.call(n.querySelectorAll('[data-field="'.concat(e.field.replace(/"/g,'\\"'),'"]'))).forEac
26271h((function(e){n.removeChild(e)}))}},a}(e.Plugin);return P.Message=a,P}();var R,D=L.exports;
26272/** 
26273     * FormValidation (https://formvalidation.io)
26274     * The best validation library for JavaScript
26275     * (c) 2013 - 2023 Nguyen Huu Phuoc <[email protected]>
26276     *
26277     * @license https://formvalidation.io/license
26278     * @package @form-validation/plugin-framework
26279     * @version 2.4.0
26280     */M.exports=function(){if(R)return T;R=1;var e=i,t=D,r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},r(e,t)},a=e.utils.classSet,n=e.utils.closest,s=function(e){function i(t){var r=e.call(this,t)||this;return r.results=new Map,r.containers=new Map,r.opts=Object.assign({},{defaultMessageContainer:!0,eleInvalidClass:"",eleValidClass:"",rowClasses:"",rowValidatingClass:""},t),r.elementIgnoredHandler=r.onElementIgnored.bind(r),r.elementValidatingHandler=r.onElementValidating.bind(r),r.elementValidatedHandler=r.onElementValidated.bind(r),r.elementNotValidatedHandler=r.onElementNotValidated.bind(r),r.iconPlacedHandler=r.onIconPlaced.bind(r),r.fieldAddedHandler=r.onFieldAdded.bind(r),r.fieldRemovedHandler=r.onFieldRemoved.bind(r),r.messagePlacedHandler=r.onMessagePlaced.bind(r),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function a(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(a.prototype=t.prototype,new a)}(i,e),i.prototype.install=function(){var e,r=this;a(this.core.getFormElement(),((e={})[this.opts.formClass]=!0,e["fv-plugins-framework"]=!0,e)),this.core.on("core.element.ignored",this.elementIgnoredHandler).on("core.element.validating",this.elementValidatingHandler).on("core.element.validated",this.elementValidatedHandler).on("core.element.notvalidated",this.elementNotValidatedHandler).on("plugins.icon.placed",this.iconPlacedHandler).on("core.field.added",this.fieldAddedHandler).on("core.field.removed",this.fieldRemovedHandler),this.opts.defaultMessageContainer&&(this.core.registerPlugin(i.MESSAGE_PLUGIN,new t.Message({clazz:this.opts.messageClass,container:function(e,a){var i="string"==typeof r.opts.rowSelector?r.opts.rowSelector:r.opts.rowSelector(e,a),s=n(a,i);return t.Message.getClosestContainer(a,s,r.opts.rowPattern)}})),this.core.on("plugins.message.placed",this.messagePlacedHandler))},i.prototype.uninstall=function(){var e;this.results.clear(),this.containers.clear(),a(this.core.getFormElement(),((e={})[this.opts.formClass]=!1,e["fv-plugins-framework"]=!1,e)),this.core.off("core.element.ignored",this.elementIgnoredHandler).off("core.element.validating",this.elementValidatingHandler).off("core.element.validated",this.elementValidatedHandler).off("core.element.notvalidated",this.elementNotValidatedHandler).off("plugins.icon.placed",this.iconPlacedHandler).off("core.field.added",this.fieldAddedHandler).off("core.field.removed",this.fieldRemovedHandler),this.opts.defaultMessageContainer&&(this.core.deregisterPlugin(i.MESSAGE_PLUGIN),this.core.off("plugins.message.placed",this.messagePlacedHandler))},i.prototype.onEnabled=function(){var e;a(this.core.getFormElement(),((e={})[this.opts.formClass]=!0,e)),this.opts.defaultMessageContainer&&this.core.enablePlugin(i.MESSAGE_PLUGIN)},i.prototype.onDisabled=function(){var e;a(this.core.getFormElement(),((e={})[this.opts.formClass]=!1,e)),this.opts.defaultMessageContainer&&this.core.disablePlugin(i.MESSAGE_PLUGIN)},i.prototype.onIconPlaced=function(e){},i.prototype.onMessagePlaced=function(e){},i.prototype.onFieldAdded=function(e){var t=this,r=e.elements;r&&(r.forEach((function(e){var r,n=t.containers.get(e);n&&(a(n,((r={})[t.opts.rowInvalidClass]=!1,r[t.opts.rowValidatingClass]=!1,r[t.opts.rowValidClass]=!1,r["fv-plugins-icon-container"]=!1,r)),t.containers.delete(e))})),this.prepareFieldContainer(e.field,r))},i.prototype.onFieldRemoved=function(e){var t=this;e.elements.forEach((function(e){var r,n=t.containers.get(e);n&&a(n,((r={})[t.opts.rowInvalidClass]=!1,r[t.opts.rowValidatingClass]=!1,r[t.opts.rowValidClass]=!1,r))}))},i.prototype.prepareFieldContainer=function(e,t){var r=this;if(t.length){var a=t[0].getAttribute("type");"radio"===a||"checkbox"===a?this.prepareElementContainer(e,t[0]):t.forEach((function(t){return r.prepareElementContainer(e,t)}))}},i.prototype.prepareElementContainer=function(e,t){var r,i="string"==typeof this.opts.rowSelector?this.opts.rowSelector:this.opts.rowSelector(e,t),s=n(t,i);s!==t&&(a(s,((r={}
26280)[this.opts.rowClasses]=!0,r["fv-plugins-icon-container"]=!0,r)),this.containers.set(t,s))},i.prototype.onElementValidating=function(e){this.removeClasses(e.element,e.elements)},i.prototype.onElementNotValidated=function(e){this.removeClasses(e.element,e.elements)},i.prototype.onElementIgnored=function(e){this.removeClasses(e.element,e.elements)},i.prototype.removeClasses=function(e,t){var r,n=this,i=e.getAttribute("type"),s="radio"===i||"checkbox"===i?t[0]:e;t.forEach((function(e){var t;a(e,((t={})[n.opts.eleValidClass]=!1,t[n.opts.eleInvalidClass]=!1,t))}));var o=this.containers.get(s);o&&a(o,((r={})[this.opts.rowInvalidClass]=!1,r[this.opts.rowValidatingClass]=!1,r[this.opts.rowValidClass]=!1,r))},i.prototype.onElementValidated=function(e){var t,r,n=this,i=e.elements,s=e.element.getAttribute("type"),o="radio"===s||"checkbox"===s?i[0]:e.element;i.forEach((function(t){var r;a(t,((r={})[n.opts.eleValidClass]=e.valid,r[n.opts.eleInvalidClass]=!e.valid,r))}));var l=this.containers.get(o);if(l)if(e.valid){this.results.delete(o);var d=!0;this.containers.forEach((function(e,t){e===l&&!1===n.results.get(t)&&(d=!1)})),d&&a(l,((r={})[this.opts.rowInvalidClass]=!1,r[this.opts.rowValidatingClass]=!1,r[this.opts.rowValidClass]=!0,r))}else this.results.set(o,!1),a(l,((t={})[this.opts.rowInvalidClass]=!0,t[this.opts.rowValidatingClass]=!1,t[this.opts.rowValidClass]=!1,t))},i.MESSAGE_PLUGIN="___frameworkMessage",i}(e.Plugin);return T.Framework=s,T}();var Z,_=M.exports,B={exports:{}},G={};B.exports=function(){if(Z)return G;Z=1;var e=i,t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},t(e,r)},r=e.utils.classSet,a=function(e){function a(t){var r=e.call(this,t)||this;return r.icons=new Map,r.opts=Object.assign({},{invalid:"fv-plugins-icon--invalid",onPlaced:function(){},onSet:function(){},valid:"fv-plugins-icon--valid",validating:"fv-plugins-icon--validating"},t),r.elementValidatingHandler=r.onElementValidating.bind(r),r.elementValidatedHandler=r.onElementValidated.bind(r),r.elementNotValidatedHandler=r.onElementNotValidated.bind(r),r.elementIgnoredHandler=r.onElementIgnored.bind(r),r.fieldAddedHandler=r.onFieldAdded.bind(r),r}return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function a(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}(a,e),a.prototype.install=function(){this.core.on("core.element.validating",this.elementValidatingHandler).on("core.element.validated",this.elementValidatedHandler).on("core.element.notvalidated",this.elementNotValidatedHandler).on("core.element.ignored",this.elementIgnoredHandler).on("core.field.added",this.fieldAddedHandler)},a.prototype.uninstall=function(){this.icons.forEach((function(e){return e.parentNode.removeChild(e)})),this.icons.clear(),this.core.off("core.element.validating",this.elementValidatingHandler).off("core.element.validated",this.elementValidatedHandler).off("core.element.notvalidated",this.elementNotValidatedHandler).off("core.element.ignored",this.elementIgnoredHandler).off("core.field.added",this.fieldAddedHandler)},a.prototype.onEnabled=function(){this.icons.forEach((function(e,t,a){r(t,{"fv-plugins-icon--enabled":!0,"fv-plugins-icon--disabled":!1})}))},a.prototype.onDisabled=function(){this.icons.forEach((function(e,t,a){r(t,{"fv-plugins-icon--enabled":!1,"fv-plugins-icon--disabled":!0})}))},a.prototype.onFieldAdded=function(e){var t=this,r=e.elements;r&&(r.forEach((function(e){var r=t.icons.get(e);r&&(r.parentNode.removeChild(r),t.icons.delete(e))})),this.prepareFieldIcon(e.field,r))},a.prototype.prepareFieldIcon=function(e,t){var r=this;if(t.length){var a=t[0].getAttribute("type");"radio"===a||"checkbox"===a?this.prepareElementIcon(e,t[0]):t.forEach((function(t){return r.prepareElementIcon(e,t)}))}},a.prototype.prepareElementIcon=function(e,t){var a=document.createElement("i");a.setAttribute("data-field",e),t.parentNode.insertBefore(a,t.nextSibling),r(a,{"fv-plugins-icon":!0,"fv-plugins-icon--enabled":this.isEnabled,"fv-plugins-icon--disabled":!this.isEnabled});
26280var n={classes:{invalid:this.opts.invalid,valid:this.opts.valid,validating:this.opts.validating},element:t,field:e,iconElement:a};this.core.emit("plugins.icon.placed",n),this.opts.onPlaced(n),this.icons.set(t,a)},a.prototype.onElementValidating=function(e){var t,r=this.setClasses(e.field,e.element,e.elements,((t={})[this.opts.invalid]=!1,t[this.opts.valid]=!1,t[this.opts.validating]=!0,t)),a={element:e.element,field:e.field,iconElement:r,status:"Validating"};this.core.emit("plugins.icon.set",a),this.opts.onSet(a)},a.prototype.onElementValidated=function(e){var t,r=this.setClasses(e.field,e.element,e.elements,((t={})[this.opts.invalid]=!e.valid,t[this.opts.valid]=e.valid,t[this.opts.validating]=!1,t)),a={element:e.element,field:e.field,iconElement:r,status:e.valid?"Valid":"Invalid"};this.core.emit("plugins.icon.set",a),this.opts.onSet(a)},a.prototype.onElementNotValidated=function(e){var t,r=this.setClasses(e.field,e.element,e.elements,((t={})[this.opts.invalid]=!1,t[this.opts.valid]=!1,t[this.opts.validating]=!1,t)),a={element:e.element,field:e.field,iconElement:r,status:"NotValidated"};this.core.emit("plugins.icon.set",a),this.opts.onSet(a)},a.prototype.onElementIgnored=function(e){var t,r=this.setClasses(e.field,e.element,e.elements,((t={})[this.opts.invalid]=!1,t[this.opts.valid]=!1,t[this.opts.validating]=!1,t)),a={element:e.element,field:e.field,iconElement:r,status:"Ignored"};this.core.emit("plugins.icon.set",a),this.opts.onSet(a)},a.prototype.setClasses=function(e,t,a,n){var i=t.getAttribute("type"),s="radio"===i||"checkbox"===i?a[0]:t;if(this.icons.has(s)){var o=this.icons.get(s);return r(o,n),o}return null},a}(e.Plugin);return G.Icon=a,G}();var U,j=B.exports,K={exports:{}},z={};K.exports=function(){if(U)return z;U=1;var e=i,t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},t(e,r)},r=e.utils.removeUndefined,a=function(e){function a(t){var a=e.call(this,t)||this;return a.invalidFields=new Map,a.opts=Object.assign({},{enabled:!0},r(t)),a.validatorHandler=a.onValidatorValidated.bind(a),a.shouldValidateFilter=a.shouldValidate.bind(a),a.fieldAddedHandler=a.onFieldAdded.bind(a),a.elementNotValidatedHandler=a.onElementNotValidated.bind(a),a.elementValidatingHandler=a.onElementValidating.bind(a),a}return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function a(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}(a,e),a.prototype.install=function(){this.core.on("core.validator.validated",this.validatorHandler).on("core.field.added",this.fieldAddedHandler).on("core.element.notvalidated",this.elementNotValidatedHandler).on("core.element.validating",this.elementValidatingHandler).registerFilter("field-should-validate",this.shouldValidateFilter)},a.prototype.uninstall=function(){this.invalidFields.clear(),this.core.off("core.validator.validated",this.validatorHandler).off("core.field.added",this.fieldAddedHandler).off("core.element.notvalidated",this.elementNotValidatedHandler).off("core.element.validating",this.elementValidatingHandler).deregisterFilter("field-should-validate",this.shouldValidateFilter)},a.prototype.shouldValidate=function(e,t,r,a){return!this.isEnabled||!((!0===this.opts.enabled||!0===this.opts.enabled[e])&&this.invalidFields.has(t)&&this.invalidFields.get(t).length&&-1===this.invalidFields.get(t).indexOf(a))},a.prototype.onValidatorValidated=function(e){var t=this.invalidFields.has(e.element)?this.invalidFields.get(e.element):[],r=t.indexOf(e.validator);e.result.valid&&r>=0?t.splice(r,1):e.result.valid||-1!==r||t.push(e.validator),this.invalidFields.set(e.element,t)},a.prototype.onFieldAdded=function(e){e.elements&&this.clearInvalidFields(e.elements)},a.prototype.onElementNotValidated=function(e){this.clearInvalidFields(e.elements)},a.prototype.onElementValidating=function(e){this.clearInvalidFields(e.elements)},a.prototype.clearInvalidFields=function(e){var t=this;e.forEach((function(e){return t.invalidFields.delete(e)}))},a}(e.Plugin);return z.Sequence=a,z}();var Y,J=K.exports,X={exports:{}},W={};X.exports=function(){if(Y)return W;Y=1;var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},e(t,r)},t=function(t){function r(e){var r=t.call(this,e)||this;return r.isFormValid=!1,r.isButtonClicked=!1,r.opts=Object.assign({},{aspNetButton:!1,buttons:function(e){return[].slice.call(e.querySelectorAll('[type="submit"]:not([formnovalidate])'))},liveMode:!0},e),r.submitHandler=r.handleSubmitEvent.bind(r),r.buttonClickHandler=r.handleClickEvent.bind(r),r.ignoreValidationFilter=r.ignoreValidation.bind(r),r}return function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function a(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}(r,t),r.prototype.install=function(){var e=this;if(this.core.getFormElement()instanceof HTMLFormElement){var t=this.core.getFormElement();this.submitButtons=this.opts.buttons(t),t.setAttribute("novalidate","novalidate"),t.addEventListener("submit",this.submitHandler),this.hiddenClickedEle=document.createElement("input"),this.hiddenClickedEle.setAttribute("type","hidden"),t.appendChild(this.hiddenClickedEle),this.submitButtons.forEach((function(t){t.addEventListener("click",e.buttonClickHandler)})),this.core.registerFilter("element-ignored",this.ignoreValidationFilter)}},r.prototype.uninstall=function(){var e=this,t=this.core.getFormElement();t instanceof HTMLFormElement&&t.removeEventListener("submit",this.submitHandler),this.submitButtons.forEach((function(t){t.removeEventListener("click",e.buttonClickHandler)})),this.hiddenClickedEle.parentElement.removeChild(this.hiddenClickedEle),this.core.deregisterFilter("element-ignored",this.ignoreValidationFilter)},r.prototype.handleSubmitEvent=function(e){this.validateForm(e)},r.prototype.handleClickEvent=function(e){var t=e.currentTarget;if(this.isButtonClicked=!0,t instanceof HTMLElement)if(this.opts.aspNetButton&&!0===this.isFormValid);else{this.core.getFormElement().removeEventListener("submit",this.submitHandler),this.clickedButton=e.target;var r=this.clickedButton.getAttribute("name"),a=this.clickedButton.getAttribute("value");r&&a&&(this.hiddenClickedEle.setAttribute("name",r),this.hiddenClickedEle.setAttribute("value",a)),this.validateForm(e)}},r.prototype.validateForm=function(e){var t=this;this.isEnabled&&(e.preventDefault(),this.core.validate().then((function(e){"Valid"===e&&t.opts.aspNetButton&&!t.isFormValid&&t.clickedButton&&(t.isFormValid=!0,t.clickedButton.removeEventListener("click",t.buttonClickHandler),t.clickedButton.click())})))},r.prototype.ignoreValidation=function(e,t,r){return!!this.isEnabled&&!this.opts.liveMode&&!this.isButtonClicked},r}(i.Plugin);return W.SubmitButton=t,W}();var q,Q=X.exports,ee={exports:{}},te={};ee.exports=function(){if(q)return te;q=1;var e=i,t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},t(e,r)},r=e.utils.classSet,a=function(e){function a(t){var r=e.call(this,t)||this;return r.messages=new Map,r.opts=Object.assign({},{placement:"top",trigger:"click"},t),r.iconPlacedHandler=r.onIconPlaced.bind(r),r.validatorValidatedHandler=r.onValidatorValidated.bind(r),r.elementValidatedHandler=r.onElementValidated.bind(r),r.documentClickHandler=r.onDocumentClicked.bind(r),r}return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function a(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}(a,e),a.prototype.install=function(){var e;this.tip=document.createElement("div"),r(this.tip,((e={"fv-plugins-tooltip":!0})["fv-plugins-tooltip--".concat(this.opts.placement)]=!0,e)),document.body.appendChild(this.tip),this.core.on("plugins.icon.placed",this.iconPlacedHandler).on("core.validator.validated",this.validatorValidatedHandler).on("core.element.validated",this.elementValidatedHandler),"click"===this.opts.trigger&&document.addEventListener("click",this.documentClickHandler)},a.prototype.uninstall=function(){this.messages.clear(),document.body.removeChild(this.tip),this.core.off("plugins.icon.placed",this.iconPlacedHandler).off("core.validator.validated",this.validatorValidatedHandler).off("core.element.validated",this.elementValidatedHandler),"click"===this.opts.trigger&&document.removeEventListener("click",this.documentClickHandler)},a.prototype.onIconPlaced=function(e){var t=this;r(e.iconElement,{"fv-plugins-tooltip-icon":!0}),"hover"===this.opts.trigger?(e.iconElement.addEventListener("mouseenter",(function(r){return t.show(e.element,r)})),e.iconElement.addEventListener("mouseleave",(function(e){return t.hide()}))):e.iconElement.addEventListener("click",(function(r){return t.show(e.element,r)}))},a.prototype.onValidatorValidated=function(e){if(!e.result.valid){var t=e.elements,r=e.element.getAttribute("type"),a="radio"===r||"checkbox"===r?t[0]:e.element,n="string"==typeof e.result.message?e.result.message:e.result.message[this.core.getLocale()];this.messages.set(a,n)}},a.prototype.onElementValidated=function(e){if(e.valid){var t=e.elements,r=e.element.getAttribute("type"),a="radio"===r||"checkbox"===r?t[0]:e.element;this.messages.delete(a)}},a.prototype.onDocumentClicked=function(e){this.hide()},a.prototype.show=function(e,t){if(this.isEnabled&&(t.preventDefault(),t.stopPropagation(),this.messages.has(e))){r(this.tip,{"fv-plugins-tooltip--hide":!1}),this.tip.innerHTML='<div class="fv-plugins-tooltip__content">'.concat(this.messages.get(e),"</div>");var a=t.target.getBoundingClientRect(),n=this.tip.getBoundingClientRect(),i=n.height,s=n.width,o=0,l=0;switch(this.opts.placement){case"bottom":o=a.top+a.height,l=a.left+a.width/2-s/2;break;case"bottom-left":o=a.top+a.height,l=a.left;break;case"bottom-right":o=a.top+a.height,l=a.left+a.width-s;break;case"left":o=a.top+a.height/2-i/2,l=a.left-s;break;case"right":o=a.top+a.height/2-i/2,l=a.left+a.width;break;case"top-left":o=a.top-i,l=a.left;break;case"top-right":o=a.top-i,l=a.left+a.width-s;break;default:o=a.top-i,l=a.left+a.width/2-s/2}o+=window.scrollY||document.documentElement.scrollTop||document.body.scrollTop||0,l+=window.scrollX||document.documentElement.scrollLeft||document.body.scrollLeft||0,this.tip.setAttribute("style","top: ".concat(o,"px; left: ").concat(l,"px"))}},a.prototype.hide=function(){this.isEnabled&&r(this.tip,{"fv-plugins-tooltip--hide":!0})},a}(e.Plugin);return te.Tooltip=a,te}();var re,ae=ee.exports,ne={exports:{}},ie={};ne.exports=function(){if(re)return ie;re=1;var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},e(t,r)},t=function(t){function r(e){var r=t.call(this,e)||this;r.handlers=[],r.timers=new Map;var a=document.createElement("div");return r.defaultEvent="oninput"in a?"input":"keyup",r.opts=Object.assign({},{delay:0,event:r.defaultEvent,threshold:0},e),r.fieldAddedHandler=r.onFieldAdded.bind(r),r.fieldRemovedHandler=r.onFieldRemoved.bind(r),r}return function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function a(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}(r,t),r.prototype.install=function(){this.core.on("core.field.added",this.fieldAddedHandler).on("core.field.removed",this.fieldRemovedHandler)}
26280,r.prototype.uninstall=function(){this.handlers.forEach((function(e){return e.element.removeEventListener(e.event,e.handler)})),this.handlers=[],this.timers.forEach((function(e){return window.clearTimeout(e)})),this.timers.clear(),this.core.off("core.field.added",this.fieldAddedHandler).off("core.field.removed",this.fieldRemovedHandler)},r.prototype.prepareHandler=function(e,t){var r=this;t.forEach((function(t){var a=[];if(r.opts.event&&!1===r.opts.event[e])a=[];else if(r.opts.event&&r.opts.event[e]&&"function"!=typeof r.opts.event[e])a=r.opts.event[e].split(" ");else if("string"==typeof r.opts.event&&r.opts.event!==r.defaultEvent)a=r.opts.event.split(" ");else{var n=t.getAttribute("type"),i=t.tagName.toLowerCase();a=["radio"===n||"checkbox"===n||"file"===n||"select"===i?"change":r.ieVersion>=10&&t.getAttribute("placeholder")?"keyup":r.defaultEvent]}a.forEach((function(a){var n=function(a){return r.handleEvent(a,e,t)};r.handlers.push({element:t,event:a,field:e,handler:n}),t.addEventListener(a,n)}))}))},r.prototype.handleEvent=function(e,t,r){var a=this;if(this.isEnabled&&this.exceedThreshold(t,r)&&this.core.executeFilter("plugins-trigger-should-validate",!0,[t,r])){var n=function(){return a.core.validateElement(t,r).then((function(n){a.core.emit("plugins.trigger.executed",{element:r,event:e,field:t})}))},i=this.opts.delay[t]||this.opts.delay;if(0===i)n();else{var s=this.timers.get(r);s&&window.clearTimeout(s),this.timers.set(r,window.setTimeout(n,1e3*i))}}},r.prototype.onFieldAdded=function(e){this.handlers.filter((function(t){return t.field===e.field})).forEach((function(e){return e.element.removeEventListener(e.event,e.handler)})),this.prepareHandler(e.field,e.elements)},r.prototype.onFieldRemoved=function(e){this.handlers.filter((function(t){return t.field===e.field&&e.elements.indexOf(t.element)>=0})).forEach((function(e){return e.element.removeEventListener(e.event,e.handler)}))},r.prototype.exceedThreshold=function(e,t){var r=0!==this.opts.threshold[e]&&0!==this.opts.threshold&&(this.opts.threshold[e]||this.opts.threshold);if(!r)return!0;var a=t.getAttribute("type");return-1!==["button","checkbox","file","hidden","image","radio","reset","submit"].indexOf(a)||this.core.getElementValue(e,t).length>=r},r}(i.Plugin);return ie.Trigger=t,ie}();var se,oe=ne.exports,le={exports:{}},de={};le.exports=function(){if(se)return de;se=1;var e=i,t=e.utils.format,r=e.utils.removeUndefined;return de.between=function(){var e=function(e){return parseFloat("".concat(e).replace(",","."))};return{validate:function(a){var n=a.value;if(""===n)return{valid:!0};var i=Object.assign({},{inclusive:!0,message:""},r(a.options)),s=e(i.min),o=e(i.max);return i.inclusive?{message:t(a.l10n?i.message||a.l10n.between.default:i.message,["".concat(s),"".concat(o)]),valid:parseFloat(n)>=s&&parseFloat(n)<=o}:{message:t(a.l10n?i.message||a.l10n.between.notInclusive:i.message,["".concat(s),"".concat(o)]),valid:parseFloat(n)>s&&parseFloat(n)<o}}}},de}();var ue,ce=le.exports,fe={exports:{}},pe={};fe.exports=(ue||(ue=1,pe.blank=function(){return{validate:function(e){return{valid:!0}}}}),pe);var ve,he=fe.exports,me={exports:{}},ge={};me.exports=function(){if(ve)return ge;ve=1;var e=i.utils.call;return ge.callback=function(){return{validate:function(t){var r=e(t.options.callback,[t]);return"boolean"==typeof r?{valid:r}:r}}},ge}();var be,Ae=me.exports,ye={exports:{}},Ee={};ye.exports=function(){if(be)return Ee;be=1;var e=i.utils.format;return Ee.choice=function(){return{validate:function(t){var r="select"===t.element.tagName.toLowerCase()?t.element.querySelectorAll("option:checked").length:t.elements.filter((function(e){return e.checked})).length,a=t.options.min?"".concat(t.options.min):"",n=t.options.max?"".concat(t.options.max):"",i=t.l10n?t.options.message||t.l10n.choice.default:t.options.message,s=!(a&&r<parseInt(a,10)||n&&r>parseInt(n,10));switch(!0){case!!a&&!!n:i=e(t.l10n?t.l10n.choice.between:t.options.message,[a,n]);break;case!!a:i=e(t.l10n?t.l10n.choice.more:t.options.message,a);break;case!!n:i=e(t.l10n?t.l10n.choice.less:t.options.message,n)}return{message:i,valid:s}}}},Ee}();var Ie,xe=ye.exports,Ce={exports:{}},Oe={};Ce.exports=function(){if(Ie)return Oe;Ie=1;var e=i.algorithms.luhn,t={AMERICAN_EXPRESS:{length:[15],prefix:["34","37"]},DANKORT:{length:[16],prefix:["5019"]},DINERS_CLUB:{length:[14],prefix:["300","301","302","303","304","305","36"]},DINERS_CLUB_US:{length:[16],prefix:["54","55"]},DISCOVER:{length:[16],prefix:["6011","622126","622127","622128","622129","62213","62214","62215","62216","62217","62218","62219","6222","6223","6224","6225","6226","6227","6228","62290","62291","622920","622921","622922","622923","622924","622925","644","645","646","647","648","649","65"]},ELO:{length:[16],prefix:["4011","4312","4389","4514","4573","4576","5041","5066","5067","509","6277","6362","6363","650","6516","6550"]},FORBRUGSFORENINGEN:{length:[16],prefix:["600722"]},JCB:{length:[16],prefix:["3528","3529","353","354","355","356","357","358"]},LASER:{length:[16,17,18,19],prefix:["6304","6706","6771","6709"]},MAESTRO:{length:[12,13,14,15,16,17,18,19],prefix:["5018","5020","5038","5868","6304","6759","6761","6762","6763","6764","6765","6766"]}
26280,MASTERCARD:{length:[16],prefix:["51","52","53","54","55"]},SOLO:{length:[16,18,19],prefix:["6334","6767"]},UNIONPAY:{length:[16,17,18,19],prefix:["622126","622127","622128","622129","62213","62214","62215","62216","62217","62218","62219","6222","6223","6224","6225","6226","6227","6228","62290","62291","622920","622921","622922","622923","622924","622925"]},VISA:{length:[16],prefix:["4"]},VISA_ELECTRON:{length:[16],prefix:["4026","417500","4405","4508","4844","4913","4917"]}};return Oe.CREDIT_CARD_TYPES=t,Oe.creditCard=function(){return{validate:function(r){if(""===r.value)return{meta:{type:null},valid:!0};if(/[^0-9-\s]+/.test(r.value))return{meta:{type:null},valid:!1};var a=r.value.replace(/\D/g,"");if(!e(a))return{meta:{type:null},valid:!1};for(var n=0,i=Object.keys(t);n<i.length;n++){var s=i[n];for(var o in t[s].prefix)if(r.value.substr(0,t[s].prefix[o].length)===t[s].prefix[o]&&-1!==t[s].length.indexOf(a.length))return{meta:{type:s},valid:!0}}return{meta:{type:null},valid:!1}}}},Oe}();var Fe,Ve=Ce.exports,Se={exports:{}},ke={};Se.exports=function(){if(Fe)return ke;Fe=1;var e=i,t=e.utils.format,r=e.utils.isValidDate,a=e.utils.removeUndefined,n=function(e,t,r){var a=t.indexOf("YYYY"),n=t.indexOf("MM"),i=t.indexOf("DD");if(-1===a||-1===n||-1===i)return null;var s=e.split(" "),o=s[0].split(r);if(o.length<3)return null;var l=new Date(parseInt(o[a],10),parseInt(o[n],10)-1,parseInt(o[i],10)),d=s.length>2?s[2]:null;if(s.length>1){var u=s[1].split(":"),c=u.length>0?parseInt(u[0],10):0;l.setHours(d&&"PM"===d.toUpperCase()&&c<12?c+12:c),l.setMinutes(u.length>1?parseInt(u[1],10):0),l.setSeconds(u.length>2?parseInt(u[2],10):0)}return l},s=function(e,t){var r=t.replace(/Y/g,"y").replace(/M/g,"m").replace(/D/g,"d").replace(/:m/g,":M").replace(/:mm/g,":MM").replace(/:S/,":s").replace(/:SS/,":ss"),a=e.getDate(),n=a<10?"0".concat(a):a,i=e.getMonth()+1,s=i<10?"0".concat(i):i,o="".concat(e.getFullYear()).substr(2),l=e.getFullYear(),d=e.getHours()%12||12,u=d<10?"0".concat(d):d,c=e.getHours(),f=c<10?"0".concat(c):c,p=e.getMinutes(),v=p<10?"0".concat(p):p,h=e.getSeconds(),m=h<10?"0".concat(h):h,g={H:"".concat(c),HH:"".concat(f),M:"".concat(p),MM:"".concat(v),d:"".concat(a),dd:"".concat(n),h:"".concat(d),hh:"".concat(u),m:"".concat(i),mm:"".concat(s),s:"".concat(h),ss:"".concat(m),yy:"".concat(o),yyyy:"".concat(l)};return r.replace(/d{1,4}|m{1,4}|yy(?:yy)?|([HhMs])\1?|"[^"]*"|'[^']*'/g,(function(e){return g[e]?g[e]:e.slice(1,e.length-1)}))};return ke.date=function(){return{validate:function(e){if(""===e.value)return{meta:{date:null},valid:!0};var i=Object.assign({},{format:e.element&&"date"===e.element.getAttribute("type")?"YYYY-MM-DD":"MM/DD/YYYY",message:""},a(e.options)),o=e.l10n?e.l10n.date.default:i.message,l={message:"".concat(o),meta:{date:null},valid:!1},d=i.format.split(" "),u=d.length>1?d[1]:null,c=d.length>2?d[2]:null,f=e.value.split(" "),p=f[0],v=f.length>1?f[1]:null,h=f.length>2?f[2]:null;if(d.length!==f.length)return l;var m=i.separator||(-1!==p.indexOf("/")?"/":-1!==p.indexOf("-")?"-":-1!==p.indexOf(".")?".":"/");if(null===m||-1===p.indexOf(m))return l;var g=p.split(m),b=d[0].split(m);if(g.length!==b.length)return l;var A=g[b.indexOf("YYYY")],y=g[b.indexOf("MM")],E=g[b.indexOf("DD")];if(!/^\d+$/.test(A)||!/^\d+$/.test(y)||!/^\d+$/.test(E)||A.length>4||y.length>2||E.length>2)return l;var I=parseInt(A,10),x=parseInt(y,10),C=parseInt(E,10);if(!r(I,x,C))return l;var O=new Date(I,x-1,C);if(u){var F=v.split(":");if(u.split(":").length!==F.length)return l;var V=F.length>0?F[0].length<=2&&/^\d+$/.test(F[0])?parseInt(F[0],10):-1:0,S=F.length>1?F[1].length<=2&&/^\d+$/.test(F[1])?parseInt(F[1],10):-1:0,k=F.length>2?F[2].length<=2&&/^\d+$/.test(F[2])?parseInt(F[2],10):-1:0;if(-1===V||-1===S||-1===k)return l;if(k<0||k>60)return l;if(V<0||V>=24||c&&V>12)return l;if(S<0||S>59)return l;O.setHours(h&&"PM"===h.toUpperCase()&&V<12?V+12:V),O.setMinutes(S),O.setSeconds(k)}var w="function"==typeof i.min?i.min():i.min,H=w instanceof Date?w:w?n(w,b,m):O,$="function"==typeof i.max?i.max():i.max,N=$ instanceof Date?$:$?n($,b,m):O,M=w instanceof Date?s(H,i.format):w,T=$ instanceof Date?s(N,i.format):$;switch(!0){case!!M&&!T:return{message:t(e.l10n?e.l10n.date.min:o,M),meta:{date:O},valid:O.getTime()>=H.getTime()};case!!T&&!M:return{message:t(e.l10n?e.l10n.date.max:o,T),meta:{date:O},valid:O.getTime()<=N.getTime()};case!!T&&!!M:return{message:t(e.l10n?e.l10n.date.range:o,[M,T]),meta:{date:O},valid:O.getTime()<=N.getTime()&&O.getTime()>=H.getTime()};default:return{message:"".concat(o),meta:{date:O},valid:!0}}}}},ke}();var we,He=Se.exports,$e={exports:{}},Ne={};$e.exports=(we||(we=1,Ne.different=function(){return{validate:function(e){var t="function"==typeof e.o
26280ptions.compare?e.options.compare.call(this):e.options.compare;return{valid:""===t||e.value!==t}}}}),Ne);var Me,Te=$e.exports,Le={exports:{}},Pe={};Le.exports=(Me||(Me=1,Pe.digits=function(){return{validate:function(e){return{valid:""===e.value||/^\d+$/.test(e.value)}}}}),Pe);var Re,De=Le.exports,Ze={exports:{}},_e={};Ze.exports=function(){if(Re)return _e;Re=1;var e=i.utils.removeUndefined,t=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,r=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/;return _e.emailAddress=function(){return{validate:function(a){if(""===a.value)return{valid:!0};var n=Object.assign({},{multiple:!1,requireGlobalDomain:!1,separator:/[,;]/},e(a.options)),i=n.requireGlobalDomain?r:t;if(!0===n.multiple||"true"==="".concat(n.multiple)){for(var s=n.separator||/[,;]/,o=function(e,t){for(var r=e.split(/"/),a=r.length,n=[],i="",s=0;s<a;s++)if(s%2==0){var o=r[s].split(t),l=o.length;if(1===l)i+=o[0];else{n.push(i+o[0]);for(var d=1;d<l-1;d++)n.push(o[d]);i=o[l-1]}}else i+='"'+r[s],s<a-1&&(i+='"');return n.push(i),n}(a.value,s),l=o.length,d=0;d<l;d++)if(!i.test(o[d]))return{valid:!1};return{valid:!0}}return{valid:i.test(a.value)}}}},_e}();var Be,Ge=Ze.exports,Ue={exports:{}},je={};Ue.exports=function(){if(Be)return je;Be=1;var e=function(e){return-1===e.indexOf(".")?e:e.split(".").slice(0,-1).join(".")};return je.file=function(){return{validate:function(t){if(""===t.value)return{valid:!0};var r,a,n=t.options.extension?t.options.extension.toLowerCase().split(",").map((function(e){return e.trim()})):[],i=t.options.type?t.options.type.toLowerCase().split(",").map((function(e){return e.trim()})):[];if(window.File&&window.FileList&&window.FileReader){var s=t.element.files,o=s.length,l=0;if(t.options.maxFiles&&o>parseInt("".concat(t.options.maxFiles),10))return{meta:{error:"INVALID_MAX_FILES"},valid:!1};if(t.options.minFiles&&o<parseInt("".concat(t.options.minFiles),10))return{meta:{error:"INVALID_MIN_FILES"},valid:!1};for(var d={},u=0;u<o;u++){if(l+=s[u].size,d={ext:r=s[u].name.substr(s[u].name.lastIndexOf(".")+1),file:s[u],size:s[u].size,type:s[u].type},t.options.minSize&&s[u].size<parseInt("".concat(t.options.minSize),10))return{meta:Object.assign({},{error:"INVALID_MIN_SIZE"},d),valid:!1};if(t.options.maxSize&&s[u].size>parseInt("".concat(t.options.maxSize),10))return{meta:Object.assign({},{error:"INVALID_MAX_SIZE"},d),valid:!1};if(n.length>0&&-1===n.indexOf(r.toLowerCase()))return{meta:Object.assign({},{error:"INVALID_EXTENSION"},d),valid:!1};if(i.length>0&&s[u].type&&-1===i.indexOf(s[u].type.toLowerCase()))return{meta:Object.assign({},{error:"INVALID_TYPE"},d),valid:!1};if(t.options.validateFileName&&!t.options.validateFileName(e(s[u].name)))return{meta:Object.assign({},{error:"INVALID_NAME"},d),valid:!1}}if(t.options.maxTotalSize&&l>parseInt("".concat(t.options.maxTotalSize),10))return{meta:Object.assign({},{error:"INVALID_MAX_TOTAL_SIZE",totalSize:l},d),valid:!1};if(t.options.minTotalSize&&l<parseInt("".concat(t.options.minTotalSize),10))return{meta:Object.assign({},{error:"INVALID_MIN_TOTAL_SIZE",totalSize:l},d),valid:!1}}else{if(r=t.value.substr(t.value.lastIndexOf(".")+1),n.length>0&&-1===n.indexOf(r.toLowerCase()))return{meta:{error:"INVALID_EXTENSION",ext:r},valid:!1};if(a=e(t.value),t.options.validateFileName&&!t.options.validateFileName(a))return{meta:{error:"INVALID_NAME",name:a},valid:!1}}return{valid:!0}}}},je}();var Ke,ze=Ue.exports,Ye={exports:{}},Je={};Ye.exports=function(){if(Ke)return Je;Ke=1;var e=i,t=e.utils.format,r=e.utils.removeUndefined;return Je.greaterThan=function(){return{validate:function(e){if(""===e.value)return{valid:!0};var a=Object.assign({},{inclusive:!0,message:""},r(e.options)),n=parseFloat("".concat(a.min).replace(",","."));return a.inclusive?{message:t(e.l10n?a.message||e.l10n.greaterThan.default:a.message,"".concat(n)),valid:parseFloat(e.value)>=n}:{message:t(e.l10n?a.message||e.l10n.greaterThan.notInclusive:a.message,"".concat(n)),valid:parseFloat(e.value)>n}}}},Je}();var Xe,We=Ye.exports,qe={exports:{}},Qe={};qe.exports=(Xe||(Xe=1,Qe.identical=function(){return{validate:function(e){var t="function"==typeof e.o
26280ptions.compare?e.options.compare.call(this):e.options.compare;return{valid:""===t||e.value===t}}}}),Qe);var et,tt=qe.exports,rt={exports:{}},at={};rt.exports=function(){if(et)return at;et=1;var e=i.utils.removeUndefined;return at.integer=function(){return{validate:function(t){if(""===t.value)return{valid:!0};var r=Object.assign({},{decimalSeparator:".",thousandsSeparator:""},e(t.options)),a="."===r.decimalSeparator?"\\.":r.decimalSeparator,n="."===r.thousandsSeparator?"\\.":r.thousandsSeparator,i=new RegExp("^-?[0-9]{1,3}(".concat(n,"[0-9]{3})*(").concat(a,"[0-9]+)?$")),s=new RegExp(n,"g"),o="".concat(t.value);if(!i.test(o))return{valid:!1};n&&(o=o.replace(s,"")),a&&(o=o.replace(a,"."));var l=parseFloat(o);return{valid:!isNaN(l)&&isFinite(l)&&Math.floor(l)===l}}}},at}();var nt,it=rt.exports,st={exports:{}},ot={};st.exports=function(){if(nt)return ot;nt=1;var e=i.utils.removeUndefined;return ot.ip=function(){return{validate:function(t){if(""===t.value)return{valid:!0};var r=Object.assign({},{ipv4:!0,ipv6:!0},e(t.options)),a=/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\/([0-9]|[1-2][0-9]|3[0-2]))?$/,n=/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*(\/(\d|\d\d|1[0-1]\d|12[0-8]))?$/;switch(!0){case r.ipv4&&!r.ipv6:return{message:t.l10n?r.message||t.l10n.ip.ipv4:r.message,valid:a.test(t.value)};case!r.ipv4&&r.ipv6:return{message:t.l10n?r.message||t.l10n.ip.ipv6:r.message,valid:n.test(t.value)};case r.ipv4&&r.ipv6:default:return{message:t.l10n?r.message||t.l10n.ip.default:r.message,valid:a.test(t.value)||n.test(t.value)}}}}},ot}();var lt,dt=st.exports,ut={exports:{}},ct={};ut.exports=function(){if(lt)return ct;lt=1;var e=i,t=e.utils.format,r=e.utils.removeUndefined;return ct.lessThan=function(){return{validate:function(e){if(""===e.value)return{valid:!0};var a=Object.assign({},{inclusive:!0,message:""},r(e.options)),n=parseFloat("".concat(a.max).replace(",","."));return a.inclusive?{message:t(e.l10n?a.message||e.l10n.lessThan.default:a.message,"".concat(n)),valid:parseFloat(e.value)<=n}:{message:t(e.l10n?a.message||e.l10n.lessThan.notInclusive:a.message,"".concat(n)),valid:parseFloat(e.value)<n}}}},ct}();var ft,pt=ut.exports,vt={exports:{}},ht={};vt.exports=(ft||(ft=1,ht.notEmpty=function(){return{validate:function(e){var t=!!e.options&&!!e.options.trim,r=e.value;return{valid:!t&&""!==r||t&&""!==r&&""!==r.trim()}}}}),ht);var mt,gt=vt.exports,bt={exports:{}},At={};bt.exports=function(){if(mt)return At;mt=1;var e=i.utils.removeUndefined;return At.numeric=function(){return{validate:function(t){if(""===t.value)return{valid:!0};var r=Object.assign({},{decimalSeparator:".",thousandsSeparator:""},e(t.options)),a="".concat(t.value);a.substr(0,1)===r.decimalSeparator?a="0".concat(r.decimalSeparator).concat(a.substr(1)):a.substr(0,2)==="-".concat(r.decimalSeparator)&&(a="-0".concat(r.decimalSeparator).concat(a.substr(2)));var n="."===r.decimalSeparator?"\\.":r.decimalSeparator,i="."===r.thousandsSeparator?"\\.":r.thousandsSeparator,s=new RegExp("^-?[0-9]{1,3}(".concat(i,"[0-9]{3})*(").concat(n,"[0-9]+)?$")),o=new RegExp(i,"g");if(!s.test(a))return{valid:!1};i&&(a=a.replace(o,"")),n&&(a=a.replace(n,"."));var l=parseFloat(a);return{valid:!isNaN(l)&&isFinite(l)}}}},At}();
26280var yt,Et=bt.exports,It={exports:{}},xt={};It.exports=function(){if(yt)return xt;yt=1;var e=i.utils.call;return xt.promise=function(){return{validate:function(t){return e(t.options.promise,[t])}}},xt}();var Ct,Ot=It.exports,Ft={exports:{}},Vt={};Ft.exports=(Ct||(Ct=1,Vt.regexp=function(){return{validate:function(e){if(""===e.value)return{valid:!0};var t=e.options.regexp;if(t instanceof RegExp)return{valid:t.test(e.value)};var r=t.toString();return{valid:(e.options.flags?new RegExp(r,e.options.flags):new RegExp(r)).test(e.value)}}}}),Vt);var St,kt=Ft.exports,wt={exports:{}},Ht={};wt.exports=function(){if(St)return Ht;St=1;var e=i,t=e.utils.fetch,r=e.utils.removeUndefined;return Ht.remote=function(){var e={crossDomain:!1,data:{},headers:{},method:"GET",validKey:"valid"};return{validate:function(a){if(""===a.value)return Promise.resolve({valid:!0});var n=Object.assign({},e,r(a.options)),i=n.data;"function"==typeof n.data&&(i=n.data.call(this,a)),"string"==typeof i&&(i=JSON.parse(i)),i[n.name||a.field]=a.value;var s="function"==typeof n.url?n.url.call(this,a):n.url;return t(s,{crossDomain:n.crossDomain,headers:n.headers,method:n.method,params:i}).then((function(e){return Promise.resolve({message:e.message,meta:e,valid:"true"==="".concat(e[n.validKey])})})).catch((function(e){return Promise.reject({valid:!1})}))}}},Ht}();var $t,Nt=wt.exports,Mt={exports:{}},Tt={};Mt.exports=function(){if($t)return Tt;$t=1;var e=i.utils.removeUndefined;return Tt.stringCase=function(){return{validate:function(t){if(""===t.value)return{valid:!0};var r=Object.assign({},{case:"lower"},e(t.options)),a=(r.case||"lower").toLowerCase();return{message:r.message||(t.l10n?"upper"===a?t.l10n.stringCase.upper:t.l10n.stringCase.default:r.message),valid:"upper"===a?t.value===t.value.toUpperCase():t.value===t.value.toLowerCase()}}}},Tt}();var Lt,Pt=Mt.exports,Rt={exports:{}},Dt={};Rt.exports=function(){if(Lt)return Dt;Lt=1;var e=i,t=e.utils.format,r=e.utils.removeUndefined;return Dt.stringLength=function(){return{validate:function(e){var a=Object.assign({},{message:"",trim:!1,utf8Bytes:!1},r(e.options)),n=!0===a.trim||"true"==="".concat(a.trim)?e.value.trim():e.value;if(""===n)return{valid:!0};var i=a.min?"".concat(a.min):"",s=a.max?"".concat(a.max):"",o=a.utf8Bytes?function(e){for(var t=e.length,r=e.length-1;r>=0;r--){var a=e.charCodeAt(r);a>127&&a<=2047?t++:a>2047&&a<=65535&&(t+=2),a>=56320&&a<=57343&&r--}return t}(n):n.length,l=!0,d=e.l10n?a.message||e.l10n.stringLength.default:a.message;switch((i&&o<parseInt(i,10)||s&&o>parseInt(s,10))&&(l=!1),!0){case!!i&&!!s:d=t(e.l10n?a.message||e.l10n.stringLength.between:a.message,[i,s]);break;case!!i:d=t(e.l10n?a.message||e.l10n.stringLength.more:a.message,"".concat(parseInt(i,10)));break;case!!s:d=t(e.l10n?a.message||e.l10n.stringLength.less:a.message,"".concat(parseInt(s,10)))}return{message:d,valid:l}}}},Dt}();var Zt,_t=Rt.exports,Bt={exports:{}},Gt={};Bt.exports=function(){if(Zt)return Gt;Zt=1;var e=i.utils.removeUndefined;return Gt.uri=function(){var t={allowEmptyProtocol:!1,allowLocal:!1,protocol:"http, https, ftp"};return{validate:function(r){if(""===r.value)return{valid:!0};var a=Object.assign({},t,e(r.options)),n=!0===a.allowLocal||"true"==="".concat(a.allowLocal),i=!0===a.allowEmptyProtocol||"true"==="".concat(a.allowEmptyProtocol),s=a.protocol.split(",").join("|").replace(/\s/g,"");return{valid:new RegExp("^(?:(?:"+s+")://)"+(i?"?":"")+"(?:\\S+(?::\\S*)?@)?(?:"+(n?"":"(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})")+"(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-?)*[a-z\\u00a1-\\uffff0-9])*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))"+(n?"?":"")+")(?::\\d{2,5})?(?:/[^\\s]*)?$","i").test(r.value)}}}},Gt}();var Ut,jt=Bt.exports,Kt={exports:{}},zt={};Kt.exports=(Ut||(Ut=1,zt.base64=function(){return{validate:function(e){return{valid:""===e.value||/^(?:[A-Za-z0-9+/]{4}
26280)*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$/.test(e.value)}}}}),zt);var Yt,Jt=Kt.exports,Xt={exports:{}},Wt={};Xt.exports=(Yt||(Yt=1,Wt.bic=function(){return{validate:function(e){return{valid:""===e.value||/^[a-zA-Z]{6}[a-zA-Z0-9]{2}([a-zA-Z0-9]{3})?$/.test(e.value)}}}}),Wt);var qt,Qt=Xt.exports,er={exports:{}},tr={};er.exports=(qt||(qt=1,tr.color=function(){var e=["hex","rgb","rgba","hsl","hsla","keyword"],t=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","transparent","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],r=function(e){return/^hsl\((\s*(-?\d+)\s*,)(\s*(\b(0?\d{1,2}|100)\b%)\s*,)(\s*(\b(0?\d{1,2}|100)\b%)\s*)\)$/.test(e)},a=function(e){return/^hsla\((\s*(-?\d+)\s*,)(\s*(\b(0?\d{1,2}|100)\b%)\s*,){2}(\s*(0?(\.\d+)?|1(\.0+)?)\s*)\)$/.test(e)},n=function(e){return t.indexOf(e)>=0},i=function(e){return/^rgb\((\s*(\b([01]?\d{1,2}|2[0-4]\d|25[0-5])\b)\s*,){2}(\s*(\b([01]?\d{1,2}|2[0-4]\d|25[0-5])\b)\s*)\)$/.test(e)||/^rgb\((\s*(\b(0?\d{1,2}|100)\b%)\s*,){2}(\s*(\b(0?\d{1,2}|100)\b%)\s*)\)$/.test(e)},s=function(e){return/^rgba\((\s*(\b([01]?\d{1,2}|2[0-4]\d|25[0-5])\b)\s*,){3}(\s*(0?(\.\d+)?|1(\.0+)?)\s*)\)$/.test(e)||/^rgba\((\s*(\b(0?\d{1,2}|100)\b%)\s*,){3}(\s*(0?(\.\d+)?|1(\.0+)?)\s*)\)$/.test(e)};return{validate:function(t){if(""===t.value)return{valid:!0};for(var o,l=0,d="string"==typeof t.options.type?t.options.type.toString().replace(/s/g,"").split(","):t.options.type||e;l<d.length;l++){var u=d[l].toLowerCase();if(-1!==e.indexOf(u)){var c=!0;switch(u){case"hex":o=t.value,c=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(o);break;case"hsl":c=r(t.value);break;case"hsla":c=a(t.value);break;case"keyword":c=n(t.value);break;case"rgb":c=i(t.value);break;case"rgba":c=s(t.value)}if(c)return{valid:!0}}}return{valid:!1}}}}),tr);var rr,ar=er.exports,nr={exports:{}},ir={};nr.exports=(rr||(rr=1,ir.cusip=function(){return{validate:function(e){if(""===e.value)return{valid:!0};var t=e.value.toUpperCase();if(!/^[0123456789ABCDEFGHJKLMNPQRSTUVWXYZ*@#]{9}$/.test(t))return{valid:!1};var r=t.split(""),a=r.pop(),n=r.map((function(e){var t=e.charCodeAt(0);switch(!0){case"*"===e:return 36;case"@"===e:return 37;case"#"===e:return 38;case t>="A".charCodeAt(0)&&t<="Z".charCodeAt(0):return t-"A".charCodeAt(0)+10;default:return parseInt(e,10)}})).map((function(e,t){var r=t%2==0?e:2*e;return Math.floor(r/10)+r%10})).reduce((function(e,t){return e+t}),0);return{valid:a==="".concat((10-n%10)%10)}}}}),ir);var sr,or=nr.exports,lr={exports:{}},dr={};lr.exports=(sr||(sr=1,dr.ean=function(){return{validate:function(e){if(""===e.value)return{valid:!0};if(!/^(\d{8}|\d{12}|\d{13}|\d{14})$/.test(e.value))return{valid:!1};for(var t=e.value.length,r=0,a=8===t?[3,1]:[1,3],n=0;n<t-1;n++)r+=parseInt(e.value.charAt(n),10)*a[n%2];return{valid:"".concat(r=(10-r%10)%10)===e.value.charAt(t-1)}}}}),dr);var ur,cr=lr.exports,fr={exports:{}},pr={};fr.exports=(ur||(ur=1,pr.ein=function(){var e={ANDOVER:["10","12"],ATLANTA:["60","67"],AUSTIN:["50","53"],BROOKHAVEN:["01","02","03","04","05","06","11","13","14","16","21","22","23","25","34","51","52","54","5
262805","56","57","58","59","65"],CINCINNATI:["30","32","35","36","37","38","61"],FRESNO:["15","24"],INTERNET:["20","26","27","45","46","47"],KANSAS_CITY:["40","44"],MEMPHIS:["94","95"],OGDEN:["80","90"],PHILADELPHIA:["33","39","41","42","43","48","62","63","64","66","68","71","72","73","74","75","76","77","81","82","83","84","85","86","87","88","91","92","93","98","99"],SMALL_BUSINESS_ADMINISTRATION:["31"]};return{validate:function(t){if(""===t.value)return{meta:null,valid:!0};if(!/^[0-9]{2}-?[0-9]{7}$/.test(t.value))return{meta:null,valid:!1};var r="".concat(t.value.substr(0,2));for(var a in e)if(-1!==e[a].indexOf(r))return{meta:{campus:a},valid:!0};return{meta:null,valid:!1}}}}),pr);var vr,hr=fr.exports,mr={exports:{}},gr={};mr.exports=function(){if(vr)return gr;vr=1;var e=i.algorithms.mod37And36;return gr.grid=function(){return{validate:function(t){if(""===t.value)return{valid:!0};var r=t.value.toUpperCase();return/^[GRID:]*([0-9A-Z]{2})[-\s]*([0-9A-Z]{5})[-\s]*([0-9A-Z]{10})[-\s]*([0-9A-Z]{1})$/g.test(r)?("GRID:"===(r=r.replace(/\s/g,"").replace(/-/g,"")).substr(0,5)&&(r=r.substr(5)),{valid:e(r)}):{valid:!1}}}},gr}();var br,Ar=mr.exports,yr={exports:{}},Er={};yr.exports=(br||(br=1,Er.hex=function(){return{validate:function(e){return{valid:""===e.value||/^[0-9a-fA-F]+$/.test(e.value)}}}}),Er);var Ir,xr=yr.exports,Cr={exports:{}},Or={};Cr.exports=function(){if(Ir)return Or;Ir=1;var e=i,t=e.utils.format,r=e.utils.removeUndefined;return Or.iban=function(){var e={AD:"AD[0-9]{2}[0-9]{4}[0-9]{4}[A-Z0-9]{12}",AE:"AE[0-9]{2}[0-9]{3}[0-9]{16}",AL:"AL[0-9]{2}[0-9]{8}[A-Z0-9]{16}",AO:"AO[0-9]{2}[0-9]{21}",AT:"AT[0-9]{2}[0-9]{5}[0-9]{11}",AZ:"AZ[0-9]{2}[A-Z]{4}[A-Z0-9]{20}",BA:"BA[0-9]{2}[0-9]{3}[0-9]{3}[0-9]{8}[0-9]{2}",BE:"BE[0-9]{2}[0-9]{3}[0-9]{7}[0-9]{2}",BF:"BF[0-9]{2}[0-9]{23}",BG:"BG[0-9]{2}[A-Z]{4}[0-9]{4}[0-9]{2}[A-Z0-9]{8}",BH:"BH[0-9]{2}[A-Z]{4}[A-Z0-9]{14}",BI:"BI[0-9]{2}[0-9]{12}",BJ:"BJ[0-9]{2}[A-Z]{1}[0-9]{23}",BR:"BR[0-9]{2}[0-9]{8}[0-9]{5}[0-9]{10}[A-Z][A-Z0-9]",CH:"CH[0-9]{2}[0-9]{5}[A-Z0-9]{12}",CI:"CI[0-9]{2}[A-Z]{1}[0-9]{23}",CM:"CM[0-9]{2}[0-9]{23}",CR:"CR[0-9]{2}[0-9][0-9]{3}[0-9]{14}",CV:"CV[0-9]{2}[0-9]{21}",CY:"CY[0-9]{2}[0-9]{3}[0-9]{5}[A-Z0-9]{16}",CZ:"CZ[0-9]{2}[0-9]{20}",DE:"DE[0-9]{2}[0-9]{8}[0-9]{10}",DK:"DK[0-9]{2}[0-9]{14}",DO:"DO[0-9]{2}[A-Z0-9]{4}[0-9]{20}",DZ:"DZ[0-9]{2}[0-9]{20}",EE:"EE[0-9]{2}[0-9]{2}[0-9]{2}[0-9]{11}[0-9]{1}",ES:"ES[0-9]{2}[0-9]{4}[0-9]{4}[0-9]{1}[0-9]{1}[0-9]{10}",FI:"FI[0-9]{2}[0-9]{6}[0-9]{7}[0-9]{1}",FO:"FO[0-9]{2}[0-9]{4}[0-9]{9}[0-9]{1}",FR:"FR[0-9]{2}[0-9]{5}[0-9]{5}[A-Z0-9]{11}[0-9]{2}",GB:"GB[0-9]{2}[A-Z]{4}[0-9]{6}[0-9]{8}",GE:"GE[0-9]{2}[A-Z]{2}[0-9]{16}",GI:"GI[0-9]{2}[A-Z]{4}[A-Z0-9]{15}",GL:"GL[0-9]{2}[0-9]{4}[0-9]{9}[0-9]{1}",GR:"GR[0-9]{2}[0-9]{3}[0-9]{4}[A-Z0-9]{16}",GT:"GT[0-9]{2}[A-Z0-9]{4}[A-Z0-9]{20}",HR:"HR[0-9]{2}[0-9]{7}[0-9]{10}",HU:"HU[0-9]{2}[0-9]{3}[0-9]{4}[0-9]{1}[0-9]{15}[0-9]{1}",IE:"IE[0-9]{2}[A-Z]{4}[0-9]{6}[0-9]{8}",IL:"IL[0-9]{2}[0-9]{3}[0-9]{3}[0-9]{13}",IR:"IR[0-9]{2}[0-9]{22}",IS:"IS[0-9]{2}[0-9]{4}[0-9]{2}[0-9]{6}[0-9]{10}",IT:"IT[0-9]{2}[A-Z]{1}[0-9]{5}[0-9]{5}[A-Z0-9]{12}",JO:"JO[0-9]{2}[A-Z]{4}[0-9]{4}[0]{8}[A-Z0-9]{10}",KW:"KW[0-9]{2}[A-Z]{4}[0-9]{22}",KZ:"KZ[0-9]{2}[0-9]{3}[A-Z0-9]{13}",LB:"LB[0-9]{2}[0-9]{4}[A-Z0-9]{20}",LI:"LI[0-9]{2}[0-9]{5}[A-Z0-9]{12}",LT:"LT[0-9]{2}[0-9]{5}[0-9]{11}",LU:"LU[0-9]{2}[0-9]{3}[A-Z0-9]{13}",LV:"LV[0-9]{2}[A-Z]{4}[A-Z0-9]{13}",MC:"MC[0-9]{2}[0-9]{5}[0-9]{5}[A-Z0-9]{11}[0-9]{2}",MD:"MD[0-9]{2}[A-Z0-9]{20}",ME:"ME[0-9]{2}[0-9]{3}[0-9]{13}[0-9]{2}",MG:"MG[0-9]{2}[0-9]{23}",MK:"MK[0-9]{2}[0-9]{3}[A-Z0-9]{10}[0-9]{2}",ML:"ML[0-9]{2}[A-Z]{1}[0-9]{23}",MR:"MR13[0-9]{5}[0-9]{5}[0-9]{11}[0-9]{2}",MT:"MT[0-9]{2}[A-Z]{4}[0-9]{5}[A-Z0-9]{18}",MU:"MU[0-9]{2}[A-Z]{4}[0-9]{2}[0-9]{2}[0-9]{12}[0-9]{3}[A-Z]{3}",MZ:"MZ[0-9]{2}[0-9]{21}",NL:"NL[0-9]{2}[A-Z]{4}[0-9]{10}",NO:"NO[0-9]{2}[0-9]{4}[0-9]{6}[0-9]{1}",PK:"PK[0-9]{2}[A-Z]{4}[A-Z0-9]{16}",PL:"PL[0-9]{2}[0-9]{8}[0-9]{16}",PS:"PS[0-9]{2}[A-Z]{4}[A-Z0-9]{21}",PT:"PT[0-9]{2}[0-9]{4}[0-9]{4}[0-9]{11}[0-9]{2}",QA:"QA[0-9]{2}[A-Z]{4}[A-Z0-9]{21}",RO:"RO[0-9]{2}[A-Z]{4}[A-Z0-9]{16}",RS:"RS[0-9]{2}[0-9]{3}[0-9]{13}[0-9]{2}",SA:"SA[0-9]{2}[0-9]{2}[A-Z0-9]{18}",SE:"SE[0-9]{2}[0-9]{3}[0-9]{16}[0-9]{1}",SI:"SI[0-9]{2}[0-9]{5}[0-9]{8}[0-9]{2}",SK:"SK[0-9]{2}[0-9]{4}[0-9]{6}[0-9]{10}
26280",SM:"SM[0-9]{2}[A-Z]{1}[0-9]{5}[0-9]{5}[A-Z0-9]{12}",SN:"SN[0-9]{2}[A-Z]{1}[0-9]{23}",TL:"TL38[0-9]{3}[0-9]{14}[0-9]{2}",TN:"TN59[0-9]{2}[0-9]{3}[0-9]{13}[0-9]{2}",TR:"TR[0-9]{2}[0-9]{5}[A-Z0-9]{1}[A-Z0-9]{16}",VG:"VG[0-9]{2}[A-Z]{4}[0-9]{16}",XK:"XK[0-9]{2}[0-9]{4}[0-9]{10}[0-9]{2}"},a=["AT","BE","BG","CH","CY","CZ","DE","DK","EE","ES","FI","FR","GB","GI","GR","HR","HU","IE","IS","IT","LI","LT","LU","LV","MC","MT","NL","NO","PL","PT","RO","SE","SI","SK","SM"];return{validate:function(n){if(""===n.value)return{valid:!0};var i=Object.assign({},{message:""},r(n.options)),s=n.value.replace(/[^a-zA-Z0-9]/g,"").toUpperCase(),o=i.country||s.substr(0,2);if(!e[o])return{message:i.message,valid:!1};if(void 0!==i.sepa){var l=-1!==a.indexOf(o);if(("true"===i.sepa||!0===i.sepa)&&!l||("false"===i.sepa||!1===i.sepa)&&l)return{message:i.message,valid:!1}}var d=t(n.l10n?i.message||n.l10n.iban.country:i.message,n.l10n?n.l10n.iban.countries[o]:o);if(!new RegExp("^".concat(e[o],"$")).test(n.value))return{message:d,valid:!1};s=(s="".concat(s.substr(4)).concat(s.substr(0,4))).split("").map((function(e){var t=e.charCodeAt(0);return t>="A".charCodeAt(0)&&t<="Z".charCodeAt(0)?t-"A".charCodeAt(0)+10:e})).join("");for(var u=parseInt(s.substr(0,1),10),c=s.length,f=1;f<c;++f)u=(10*u+parseInt(s.substr(f,1),10))%97;return{message:d,valid:1===u}}}},Or}();var Fr,Vr=Cr.exports,Sr={exports:{}},kr={};Sr.exports=function(){if(Fr)return kr;Fr=1;var e=i;function t(e,t){if(!/^\d{13}$/.test(e))return!1;var r=parseInt(e.substr(0,2),10),a=parseInt(e.substr(2,2),10),n=parseInt(e.substr(7,2),10),i=parseInt(e.substr(12,1),10);if(r>31||a>12)return!1;for(var s=0,o=0;o<6;o++)s+=(7-o)*(parseInt(e.charAt(o),10)+parseInt(e.charAt(o+6),10));if(10!=(s=11-s%11)&&11!==s||(s=0),s!==i)return!1;switch(t.toUpperCase()){case"BA":return 10<=n&&n<=19;case"MK":return 41<=n&&n<=49;case"ME":return 20<=n&&n<=29;case"RS":return 70<=n&&n<=99;case"SI":return 50<=n&&n<=59;default:return!0}}var r=e.utils.isValidDate,a=e.utils.isValidDate,n=e.utils.isValidDate;function s(e){if(!/^\d{9,10}$/.test(e))return{meta:{},valid:!1};var t=1900+parseInt(e.substr(0,2),10),r=parseInt(e.substr(2,2),10)%50%20,a=parseInt(e.substr(4,2),10);if(9===e.length){if(t>=1980&&(t-=100),t>1953)return{meta:{},valid:!1}}else t<1954&&(t+=100);if(!n(t,r,a))return{meta:{},valid:!1};if(10===e.length){var i=parseInt(e.substr(0,9),10)%11;return t<1985&&(i%=10),{meta:{},valid:"".concat(i)===e.substr(9,1)}}return{meta:{},valid:!0}}var o=e.utils.isValidDate,l=e.utils.isValidDate,d=e.algorithms.mod11And10,u=e.algorithms.verhoeff,c=e.algorithms.luhn,f=e.utils.isValidDate,p=e.utils.isValidDate,v=e.utils.isValidDate;function h(e){if(!/^[0-9]{11}$/.test(e))return{meta:{},valid:!1};var t=parseInt(e.charAt(0),10),r=parseInt(e.substr(1,2),10),a=parseInt(e.substr(3,2),10),n=parseInt(e.substr(5,2),10);if(!v(r=100*(t%2==0?17+t/2:17+(t+1)/2)+r,a,n,!0))return{meta:{},valid:!1};var i,s=[1,2,3,4,5,6,7,8,9,1],o=0;for(i=0;i<10;i++)o+=parseInt(e.charAt(i),10)*s[i];if(10!=(o%=11))return{meta:{},valid:"".concat(o)===e.charAt(10)};for(o=0,s=[3,4,5,6,7,8,9,1,2,3],i=0;i<10;i++)o+=parseInt(e.charAt(i),10)*s[i];return 10==(o%=11)&&(o=0),{meta:{},valid:"".concat(o)===e.charAt(10)}}var m=e.utils.isValidDate,g=e.utils.isValidDate,b=e.utils.isValidDate,A=e.utils.isValidDate,y=e.algorithms.luhn,E=e.utils.isValidDate,I=e.algorithms.luhn,x=e.utils.isValidDate,C=e.utils.format,O=e.utils.removeUndefined;return kr.id=function(){var e=["AR","BA","BG","BR","CH","CL","CN","CO","CZ","DK","EE","ES","FI","FR","HK","HR","ID","IE","IL","IS","KR","LT","LV","ME","MK","MX","MY","NL","NO","PE","PL","RO","RS","SE","SI","SK","SM","TH","TR","TW","UY","ZA"];return{validate:function(n){if(""===n.value)return{valid:!0};var i=Object.assign({},{message:""},O(n.options)),v=n.value.substr(0,2);if(v="function"==typeof i.country?i.country.call(this):i.country,-1===e.indexOf(v))return{valid:!0};var F,V={meta:{},valid:!0};switch(v.toLowerCase()){case"ar":F=n.value.replace(/\./g,""),V={meta:{},valid:/^\d{7,8}$/.test(F)};break;case"ba":V=function(e){return{meta:{},valid:t(e,"BA")}}(n.value);break;case"bg":V=function(e){if(!/^\d{10}$/.test(e)&&!/^\d{6}\s\d{3}\s\d{1}$/.test(e))return{meta:{},valid:!1};var t=e.replace(/\s/g,""),a=parseInt(t.substr(0,2),10)+1900,n=parseInt(t.substr(2,2),10),i=parseInt(t.substr(4,2),10);if(n>40?(a+=100,n-=40):n>20&&(a-=100,n-=20),!r(a,n,i))return{meta:{},valid:!1};for(var s=0,o=[2,4,8,5,10,9,7,3,6],l=0;l<9;l++)s+=parseInt(t.charAt(l),10)*o[l];return{meta:{},valid:"".concat(s=s%11%10)===t.substr(9,1)}}(n.value);break;case"br":V=function(e){var t=e.replace(/\D/g,"");if(!/^\d{11}$/.test(t)||/^1{11}|2{11}|3{11}|4{11}|5{11}|6{11}|7{11}|8{11}|9{11}|0{11}$/.test(t))return{meta:{},valid:!1};var r,a=0;for(r=0;r<9;r++)a+=(10-r)*parseInt(t.charAt(r),10);if(10!=(a=11-a%11)&&11!==a||(a=0),"".concat(a)!==t.charAt(9))return{meta:{},valid:!1};var n=0;for(r=0;r<10;r++)n+=(11-r)*parseInt(t.charAt(r),10);return 10!=(n=11-n%11)&&11!==n||(n=0),{meta:{},valid:"".concat(n)===t.charAt(10)}}(n.value);break;case"ch":V=function(e){if(!/^756[.]{0,1}[0-9]{4}[.]{0,1}[0-9]{4}[.]{0,1}[0-9]{2}$/.test(e))return{meta:{},valid:!1};for(var t=e.replace(/\D/g,"").substr(3),r=t.length,a=8===r?[3,1]:[1,3],n=0,i=0;i<r-1;i++)n+=parseInt(t.charAt(i),10)*a[i%2];return{meta:{},valid:"".concat(n=10-n%10)===t.charAt(r-1)}}(n.value);break;case"cl":V=function(e){if(!/^\d{7,8}[-]{0,1}[0-9K]$/i.test(e))return{meta:{},valid:!1};for(var t=e.replace(/-/g,"");t.length<9;)t="0".concat(t);for(var r=[3,2,7,6,5,4,3,2],a=0,n=0;n<8;n++)a+=parseInt(t.charAt(n),10)*r[n];var i="".concat(a=11-a%11);return 11===a?i="0":10===a&&(i="K"),{meta:{},valid:i===t.charAt(8).toUpperCase()}}(n.value);break;case"cn":V=function(e){var t=e.trim();if(!/^\d{15}$/.test(t)&&!/^\d{17}[\dXx]{1}$/.test(t))return{meta:{},valid:!1};var r={11:{0:[0],1:[[0,9],[11,17]],2:[0,28,29]},12:{0:[0],1:[[0,16]],2:[0,21,23,25]},13:{0:[0],1:[[0,5],7,8,21,[23,33],[81,85]],2:[[0,5],[7,9],[23,25],27,29,30,81,83],3:[[0,4],[21,24]],4:[[0,4],6,21,[23,35],81],5:[[0,3],[21,35],81,82],6:[[0,4],[21,38],[81,84]],7:[[0,3],5,6,[21,33]],8:[[0,4],[21,28]],9:[[0,3],[21,30],[81,84]],10:[[0,3],[22,26],28,81,82],11:[[0,2],[21,28],81,82]},14:{0:[0],1:[0,1,[5,10],[21,23],81],2:[[0,3],11,12,[21,27]],3:[[0,3],11,21,22],4:[[0,2],11,21,[23,31],81],5:[[0,2],21,22,24,25,81],6:[[0,3],[21,24]],7:[[0,2],[21,29],81],8:[[0,2],[21,30],81,82],9:[[0,2],[21,32],81],10:[[0,2],[21,34],81,82],11:[[0,2],[21,30],81,82],23:[[0,3],22,23,[25,30],32,33]},15:{0:[0],1:[[0,5],[21,25]],2:[[0,7],[21,23]],3:[[0,4]],4:[[0,4],[21,26],[28,30]],5:[[0,2],[21,26],81],6:[[0,2],[21,27]],7:[[0,3],[21,27],[81,85]],8:[[0,2],[21,26]],9:[[0,2],[21,29],81],22:[[0,2],[21,24]],25:[[0,2],[22,31]],26:[[0,2],[24,27],[29,32],34],28:[0,1,[22,27]],29:[0,[21,23]]},21:{0:[0],1:[[0,6],[11,14],[22,24],81],2:[[0,4],[11,13],24,[81,83]],3:[[0,4],11,21,23,81],4:[[0,4],11,[21,23]],5:[[0,5],21,22],6:[[0,4],24,81,82],7:[[0,3],11,26,27,81,82],8:[[0,4],11,81,82],9:[[0,5],11,21,22],10:[[0,5],11,21,81],11:[[0,3],21,22],12:[[0,2],4,21,23,24,81,82],13:[[0,3],21,22,24,81,82],14:[[0,4],21,22,81]},22:{0:[0],1:[[0,6],12,22,[81,83]],2:[[0,4],11,21,[81,84]],3:[[0,3],22,23,81,82],4:[[0,3],21,22],5:[[0,3],21,23,24,81,82],6:[[0,2],4,5,[21,23],25,81],7:[[0,2],[21,24],81],8:[[0,2],21,22,81,82],24:[[0,6],24,26]},23:{0:[0],1:[[0,12],21,[23,29],[81,84]],2:[[0,8],21,[23,25],27,[29,31],81],3:[[0,7],21,81,82],4:[[0,7],21,22],5:[[0,3],5,6,[21,24]],6:[[0,6],[21,24]],7:[[0,16],22,81],8:[[0,5],11,22,26,28,33,81,82],9:[[0,4],21],10:[[0,5],24,25,81,[83,85]],11:[[0,2],21,23,24,81,82],12:[[0,2],[21,26],[81,83]],27:[[0,4],[21,23]]},31:{0:[0],1:[0,1,[3,10],[12,20]],2:[0,30]},32:{0:[0],1:[[0,7],11,[13,18],24,25],2:[[0,6],11,81,82],3:[[0,5],11,12,[21,24],81,82],4:[[0,2],4,5,11,12,81,82],5:[[0,9],[81,85]],6:[[0,2],11,12,21,23,[8
vendor: 6,047 bytes, line 26280
262801,84]],7:[0,1,3,5,6,[21,24]],8:[[0,4],11,26,[29,31]],9:[[0,3],[21,25],28,81,82],10:[[0,3],11,12,23,81,84,88],11:[[0,2],11,12,[81,83]],12:[[0,4],[81,84]],13:[[0,2],11,[21,24]]},33:{0:[0],1:[[0,6],[8,10],22,27,82,83,85],2:[0,1,[3,6],11,12,25,26,[81,83]],3:[[0,4],22,24,[26,29],81,82],4:[[0,2],11,21,24,[81,83]],5:[[0,3],[21,23]],6:[[0,2],21,24,[81,83]],7:[[0,3],23,26,27,[81,84]],8:[[0,3],22,24,25,81],9:[[0,3],21,22],10:[[0,4],[21,24],81,82],11:[[0,2],[21,27],81]},34:{0:[0],1:[[0,4],11,[21,24],81],2:[[0,4],7,8,[21,23],25],3:[[0,4],11,[21,23]],4:[[0,6],21],5:[[0,4],6,[21,23]],6:[[0,4],21],7:[[0,3],11,21],8:[[0,3],11,[22,28],81],10:[[0,4],[21,24]],11:[[0,3],22,[24,26],81,82],12:[[0,4],21,22,25,26,82],13:[[0,2],[21,24]],14:[[0,2],[21,24]],15:[[0,3],[21,25]],16:[[0,2],[21,23]],17:[[0,2],[21,23]],18:[[0,2],[21,25],81]},35:{0:[0],1:[[0,5],11,[21,25],28,81,82],2:[[0,6],[11,13]],3:[[0,5],22],4:[[0,3],21,[23,30],81],5:[[0,5],21,[24,27],[81,83]],6:[[0,3],[22,29],81],7:[[0,2],[21,25],[81,84]],8:[[0,2],[21,25],81],9:[[0,2],[21,26],81,82]},36:{0:[0],1:[[0,5],11,[21,24]],2:[[0,3],22,81],3:[[0,2],13,[21,23]],4:[[0,3],21,[23,30],81,82],5:[[0,2],21],6:[[0,2],22,81],7:[[0,2],[21,35],81,82],8:[[0,3],[21,30],81],9:[[0,2],[21,26],[81,83]],10:[[0,2],[21,30]],11:[[0,2],[21,30],81]},37:{0:[0],1:[[0,5],12,13,[24,26],81],2:[[0,3],5,[11,14],[81,85]],3:[[0,6],[21,23]],4:[[0,6],81],5:[[0,3],[21,23]],6:[[0,2],[11,13],34,[81,87]],7:[[0,5],24,25,[81,86]],8:[[0,2],11,[26,32],[81,83]],9:[[0,3],11,21,23,82,83],10:[[0,2],[81,83]],11:[[0,3],21,22],12:[[0,3]],13:[[0,2],11,12,[21,29]],14:[[0,2],[21,28],81,82],15:[[0,2],[21,26],81],16:[[0,2],[21,26]],17:[[0,2],[21,28]]},41:{0:[0],1:[[0,6],8,22,[81,85]],2:[[0,5],11,[21,25]],3:[[0,7],11,[22,29],81],4:[[0,4],11,[21,23],25,81,82],5:[[0,3],5,6,22,23,26,27,81],6:[[0,3],11,21,22],7:[[0,4],11,21,[24,28],81,82],8:[[0,4],11,[21,23],25,[81,83]],9:[[0,2],22,23,[26,28]],10:[[0,2],[23,25],81,82],11:[[0,4],[21,23]],12:[[0,2],21,22,24,81,82],13:[[0,3],[21,30],81],14:[[0,3],[21,26],81],15:[[0,3],[21,28]],16:[[0,2],[21,28],81],17:[[0,2],[21,29]],90:[0,1]},42:{0:[0],1:[[0,7],[11,17]],2:[[0,5],22,81],3:[[0,3],[21,25],81],5:[[0,6],[25,29],[81,83]],6:[[0,2],6,7,[24,26],[82,84]],7:[[0,4]],8:[[0,2],4,21,22,81],9:[[0,2],[21,23],81,82,84],10:[[0,3],[22,24],81,83,87],11:[[0,2],[21,27],81,82],12:[[0,2],[21,24],81],13:[[0,3],21,81],28:[[0,2],22,23,[25,28]],90:[0,[4,6],21]},43:{0:[0],1:[[0,5],11,12,21,22,24,81],2:[[0,4],11,21,[23,25],81],3:[[0,2],4,21,81,82],4:[0,1,[5,8],12,[21,24],26,81,82],5:[[0,3],11,[21,25],[27,29],81],6:[[0,3],11,21,23,24,26,81,82],7:[[0,3],[21,26],81],8:[[0,2],11,21,22],9:[[0,3],[21,23],81],10:[[0,3],[21,28],81],11:[[0,3],[21,29]],12:[[0,2],[21,30],81],13:[[0,2],21,22,81,82],31:[0,1,[22,27],30]},44:{0:[0],1:[[0,7],[11,16],83,84],2:[[0,5],21,22,24,29,32,33,81,82],3:[0,1,[3,8]],4:[[0,4]],5:[0,1,[6,15],23,82,83],6:[0,1,[4,8]],7:[0,1,[3,5],81,[83,85]],8:[[0,4],11,23,25,[81,83]],9:[[0,3],23,[81,83]],12:[[0,3],[23,26],83,84],13:[[0,3],[22,24],81],14:[[0,2],[21,24],26,27,81],15:[[0,2],21,23,81],16:[[0,2],[21,25]],17:[[0,2],21,23,81],18:[[0,3],21,23,[25,27],81,82],19:[0],20:[0],51:[[0,3],21,22],52:[[0,3],21,22,24,81],53:[[0,2],[21,23],81]},45:{0:[0],1:[[0,9],[21,27]],2:[[0,5],[21,26]],3:[[0,5],11,12,[21,32]],4:[0,1,[3,6],11,[21,23],81],5:[[0,3],12,21],6:[[0,3],21,81],7:[[0,3],21,22],8:[[0,4],21,81],9:[[0,3],[21,24],81],10:[[0,2],[21,31]],11:[[0,2],[21,23]],12:[[0,2],[21,29],81],13:[[0,2],[21,24],81],14:[[0,2],[21,25],81]},46:{0:[0],1:[0,1,[5,8]],2:[0,1],3:[0,[21,23]],90:[[0,3],[5,7],[21,39]]},50:{0:[0],1:[[0,19]],2:[0,[22,38],[40,43]],3:[0,[81,84]]},51:{0:[0],1:[0,1,[4,8],[12,15],[21,24],29,31,32,[81,84]],3:[[0,4],11,21,22],4:[[0,3],11,21,22],5:[[0,4],21,22,24,25],6:[0,1,3,23,26,[81,83]],7:[0,1,3,4,[22,27],81],8:[[0,2],11,12,[21,24]],9:[[0,4],[21,23]],10:[[0,2],11,24,25,28],11:[[0,2],[11,13],23,24,26,29,32,33,81],13:[[0,4],[21,25],81],14:[[0,2],[21,25]],15:[[0,3],[21,29]],16:[[0,3],[21,23],81],17:[[0,3],[21,25],81],18:[[0,3],[21,27]],19:[[0,3],[21,23]],20:[[0,2],21,22,81],32:[0,[21,33]],33:[0,[21,38]],34:[0,1,[22,37]]},52:{0:[0],1:[[0,3],[11,15],[21,23],81],2:[0,1,3,21,22],3:[[0,3],[21,30],81,82],4:[[0,2],[21,25]],5:[[0,2],[21,27]],6:[[0,3],[21,28]],22:[0,1,[22,30]],23:[0,1,[22,28]],24:[0,1,[22,28]],26:[0,1,[22,36]],27:[[0,2],22,23,[25,32]]},53:{0:[0],1:[[0,3],[11,14],21,22,[24,29],81],3:[[0,2],[21,26],28,81],4:[[0,2],[21,28]],5:[[0,2],[21,24]],6:[[0,2],[21,30]],7:[[0,2],[21,24]],8:[[0,2],[21,29]],9:[[0,2],[21,27]],23:[0,1,[22,29],31],25:[[0,4],[22,32]],26:[0,1,[21,28]],27:[0,1,[22,30]],28:[0,1,22,23],29:[0,1,[22,32]],31:[0,2,3,[22,24]],34:[0,[21,23]],33:[0,21,[23,25]],35:[0,[21,28]]},54:{0:[0],1:[[0,2],[21,27]],21:[0,[21,29],32,33],22:[0,[21,29],[31,33]],23:[0,1,[22,38]],24:[0,[21,31]],25:[0,[21,27]],26:[0,[21,27]]},61:{0:[0],1:[[0,4],[11,16],22,[24,26]],2:[[0,4],22],3:[[0,4],[21,24],[26,31]],4:[[0,4],[22,31],81],5:[[0,2],[21,28],81,82],6:[[0,2],[21,32]],7:[[0,2],[21,30]],8:[[0,2],[21,31]],9:[[0,2],[21,29]],10:[[0,2],[21,26]]},62:{0:[0],1:[[0,5],11,[21,23]],2:[0,1],3:[[0,2],21],4:[[0,3],[21,23]],5:[[0,3],[21,25]],6:[[0,2],[21,23]],7:[[0,2],[21,25]],8:[[0,2],[21,26]],9:[[0,2],[21,24],81,82],10:[[0,2],[21,27]],11:[[0,2],[21,26]],12:[[0,2],[21,28]],24:[0,21,[24,29]],26:[0,21,[23,30]],29:[0,1,[21,27]],30:[0,1,[21,27]]},63:{0:[0],1:[[0,5],[21,23]],2:[0,2,[21,25]],21:[0,[21,23],[26,28]],22:[0,[21,24]],23:[0,[21,24]],25:[0,[21,25]],26:[0,[21,26]],27:[0,1,[21,26]],28:[[0,2],[21,23]]},64:{0:[0],1:[0,1,[4,6],21,22,81],2:[[0,3],5,[21,23]],3:[[0,3],[21,24],81],4:[[0,2],[21,25]],5:[[0,2],21,22]},65:{0:[0],1:[[0,9],21],2:[[0,5]],21:[0,1,22,23],22:[0,1,22,23],23:[[0,3],[23,25],27,28],28:[0,1,[22,29]],29:[0,1,[22,29]],30:[0,1,[22,24]],31:[0,1,[21,31]],32:[0,1,[21,27]],40:[0,2,3,[21,28]],42:[[0,2],21,[23,26]],43:[0,1,[21,26]],90:[[0,4]],27:[[0,2],22,23]},71:{0:[0]},81:{0:[0]},82:{0:[0]}},n=parseInt(t.substr(0,2),10),i=parseInt(t.substr(2,2),10),s=parseInt(t.substr(4,2),10);if(!r[n]||!r[n][i])return{meta:{},valid:!1};var o,l,d=!1,u=r[n][i];for(o=0;o<u.length;
26280o++)if(Array.isArray(u[o])&&u[o][0]<=s&&s<=u[o][1]||!Array.isArray(u[o])&&s===u[o]){d=!0;break}if(!d)return{meta:{},valid:!1};l=18===t.length?t.substr(6,8):"19".concat(t.substr(6,6));var c=parseInt(l.substr(0,4),10),f=parseInt(l.substr(4,2),10),p=parseInt(l.substr(6,2),10);if(!a(c,f,p))return{meta:{},valid:!1};if(18===t.length){var v=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2],h=0;for(o=0;o<17;o++)h+=parseInt(t.charAt(o),10)*v[o];return h=(12-h%11)%11,{meta:{},valid:("X"!==t.charAt(17).toUpperCase()?parseInt(t.charAt(17),10):10)===h}}return{meta:{},valid:!0}}(n.value);break;case"co":V=function(e){var t=e.replace(/\./g,"").replace("-","");if(!/^\d{8,16}$/.test(t))return{meta:{},valid:!1};for(var r=t.length,a=[3,7,13,17,19,23,29,37,41,43,47,53,59,67,71],n=0,i=r-2;i>=0;i--)n+=parseInt(t.charAt(i),10)*a[i];return(n%=11)>=2&&(n=11-n),{meta:{},valid:"".concat(n)===t.substr(r-1)}}(n.value);break;case"cz":case"sk":V=s(n.value);break;case"dk":V=function(e){if(!/^[0-9]{6}[-]{0,1}[0-9]{4}$/.test(e))return{meta:{},valid:!1};var t=e.replace(/-/g,""),r=parseInt(t.substr(0,2),10),a=parseInt(t.substr(2,2),10),n=parseInt(t.substr(4,2),10);switch(!0){case-1!=="5678".indexOf(t.charAt(6))&&n>=58:n+=1800;break;case-1!=="0123".indexOf(t.charAt(6)):case-1!=="49".indexOf(t.charAt(6))&&n>=37:n+=1900;break;default:n+=2e3}return{meta:{},valid:o(n,a,r)}}(n.value);break;case"ee":case"lt":V=h(n.value);break;case"es":V=function(e){var t=/^[0-9]{8}[-]{0,1}[A-HJ-NP-TV-Z]$/.test(e),r=/^[XYZ][-]{0,1}[0-9]{7}[-]{0,1}[A-HJ-NP-TV-Z]$/.test(e),a=/^[A-HNPQS][-]{0,1}[0-9]{7}[-]{0,1}[0-9A-J]$/.test(e);if(!t&&!r&&!a)return{meta:{},valid:!1};var n,i,s=e.replace(/-/g,"");if(t||r){i="DNI";var o="XYZ".indexOf(s.charAt(0));return-1!==o&&(s=o+s.substr(1)+"",i="NIE"),{meta:{type:i},valid:(n="TRWAGMYFPDXBNJZSQVHLCKE"[(n=parseInt(s.substr(0,8),10))%23])===s.substr(8,1)}}n=s.substr(1,7),i="CIF";for(var l=s[0],d=s.substr(-1),u=0,c=0;c<n.length;c++)if(c%2!=0)u+=parseInt(n[c],10);else{var f=""+2*parseInt(n[c],10);u+=parseInt(f[0],10),2===f.length&&(u+=parseInt(f[1],10))}var p=u-10*Math.floor(u/10);return 0!==p&&(p=10-p),{meta:{type:i},valid:-1!=="KQS".indexOf(l)?d==="JABCDEFGHI"[p]:-1!=="ABEH".indexOf(l)?d===""+p:d===""+p||d==="JABCDEFGHI"[p]}}(n.value);break;case"fi":V=function(e){if(!/^[0-9]{6}[-+A][0-9]{3}[0-9ABCDEFHJKLMNPRSTUVWXY]$/.test(e))return{meta:{},valid:!1};var t=parseInt(e.substr(0,2),10),r=parseInt(e.substr(2,2),10),a=parseInt(e.substr(4,2),10);if(a={"+":1800,"-":1900,A:2e3}[e.charAt(6)]+a,!l(a,r,t))return{meta:{},valid:!1};if(parseInt(e.substr(7,3),10)<2)return{meta:{},valid:!1};var n=parseInt(e.substr(0,6)+e.substr(7,3)+"",10);return{meta:{},valid:"0123456789ABCDEFHJKLMNPRSTUVWXY".charAt(n%31)===e.charAt(10)}}(n.value);break;case"fr":V=function(e){var t=e.toUpperCase();if(!/^(1|2)\d{2}\d{2}(\d{2}|\d[A-Z]|\d{3})\d{2,3}\d{3}\d{2}$/.test(t))return{meta:{},valid:!1};var r=t.substr(5,2);switch(!0){case/^\d{2}$/.test(r):t=e;break;case"2A"===r:t="".concat(e.substr(0,5),"19").concat(e.substr(7));break;case"2B"===r:t="".concat(e.substr(0,5),"18").concat(e.substr(7));break;default:return{meta:{},valid:!1}}var a=97-parseInt(t.substr(0,13),10)%97;return{meta:{},valid:(a<10?"0".concat(a):"".concat(a))===t.substr(13)}}(n.value);break;case"hk":V=function(e){var t=e.toUpperCase();if(!/^[A-MP-Z]{1,2}[0-9]{6}[0-9A]$/.test(t))return{meta:{},valid:!1};var r="ABCDEFGHIJKLMNOPQRSTUVWXYZ",a=t.charAt(0),n=t.charAt(1),i=0,s=t;/^[A-Z]$/.test(n)?(i+=9*(10+r.indexOf(a)),i+=8*(10+r.indexOf(n)),s=t.substr(2)):(i+=324,i+=8*(10+r.indexOf(a)),s=t.substr(1));for(var o=s.length,l=0;l<o-1;l++)i+=(7-l)*parseInt(s.charAt(l),10);var d=i%11;return{meta:{},valid:(0===d?"0":11-d==10?"A":"".concat(11-d))===s.charAt(o-1)}}(n.value);break;case"hr":V=function(e){return{meta:{},valid:/^[0-9]{11}$/.test(e)&&d(e)}}(n.value);break;case"id":V=function(e){if(!/^[2-9]\d{11}$/.test(e))return{meta:{},valid:!1};var t=e.split("").map((function(e){return parseInt(e,10)}));return{meta:{},valid:u(t)}}(n.value);break;case"ie":V=function(e){if(!/^\d{7}[A-W][AHWTX]?$/.test(e))return{meta:{},valid:!1};var t=function(e){for(var t=e;t.length<7;
26280)t="0".concat(t);for(var r="WABCDEFGHIJKLMNOPQRSTUV",a=0,n=0;n<7;n++)a+=parseInt(t.charAt(n),10)*(8-n);return a+=9*r.indexOf(t.substr(7)),r[a%23]};return{meta:{},valid:9!==e.length||"A"!==e.charAt(8)&&"H"!==e.charAt(8)?e.charAt(7)===t(e.substr(0,7)):e.charAt(7)===t(e.substr(0,7)+e.substr(8)+"")}}(n.value);break;case"il":V=function(e){return/^\d{1,9}$/.test(e)?{meta:{},valid:c(e)}:{meta:{},valid:!1}}(n.value);break;case"is":V=function(e){if(!/^[0-9]{6}[-]{0,1}[0-9]{4}$/.test(e))return{meta:{},valid:!1};var t=e.replace(/-/g,""),r=parseInt(t.substr(0,2),10),a=parseInt(t.substr(2,2),10),n=parseInt(t.substr(4,2),10),i=parseInt(t.charAt(9),10);if(!f(n=9===i?1900+n:100*(20+i)+n,a,r,!0))return{meta:{},valid:!1};for(var s=[3,2,7,6,5,4,3,2],o=0,l=0;l<8;l++)o+=parseInt(t.charAt(l),10)*s[l];return{meta:{},valid:"".concat(o=11-o%11)===t.charAt(8)}}(n.value);break;case"kr":V=function(e){var t=e.replace("-","");if(!/^\d{13}$/.test(t))return{meta:{},valid:!1};var r=t.charAt(6),a=parseInt(t.substr(0,2),10),n=parseInt(t.substr(2,2),10),i=parseInt(t.substr(4,2),10);switch(r){case"1":case"2":case"5":case"6":a+=1900;break;case"3":case"4":case"7":case"8":a+=2e3;break;default:a+=1800}if(!p(a,n,i))return{meta:{},valid:!1};for(var s=[2,3,4,5,6,7,8,9,2,3,4,5],o=t.length,l=0,d=0;d<o-1;d++)l+=s[d]*parseInt(t.charAt(d),10);return{meta:{},valid:"".concat((11-l%11)%10)===t.charAt(o-1)}}(n.value);break;case"lv":V=function(e){if(!/^[0-9]{6}[-]{0,1}[0-9]{5}$/.test(e))return{meta:{},valid:!1};var t=e.replace(/\D/g,""),r=parseInt(t.substr(0,2),10),a=parseInt(t.substr(2,2),10),n=parseInt(t.substr(4,2),10);if(n=n+1800+100*parseInt(t.charAt(6),10),!m(n,a,r,!0))return{meta:{},valid:!1};for(var i=0,s=[10,5,8,4,2,1,6,3,7,9],o=0;o<10;o++)i+=parseInt(t.charAt(o),10)*s[o];return{meta:{},valid:"".concat(i=(i+1)%11%10)===t.charAt(10)}}(n.value);break;case"me":V=function(e){return{meta:{},valid:t(e,"ME")}}(n.value);break;case"mk":V=function(e){return{meta:{},valid:t(e,"MK")}}(n.value);break;case"mx":V=function(e){var t=e.toUpperCase();if(!/^[A-Z]{4}\d{6}[A-Z]{6}[0-9A-Z]\d$/.test(t))return{meta:{},valid:!1};var r=t.substr(0,4);if(["BACA","BAKA","BUEI","BUEY","CACA","CACO","CAGA","CAGO","CAKA","CAKO","COGE","COGI","COJA","COJE","COJI","COJO","COLA","CULO","FALO","FETO","GETA","GUEI","GUEY","JETA","JOTO","KACA","KACO","KAGA","KAGO","KAKA","KAKO","KOGE","KOGI","KOJA","KOJE","KOJI","KOJO","KOLA","KULO","LILO","LOCA","LOCO","LOKA","LOKO","MAME","MAMO","MEAR","MEAS","MEON","MIAR","MION","MOCO","MOKO","MULA","MULO","NACA","NACO","PEDA","PEDO","PENE","PIPI","PITO","POPO","PUTA","PUTO","QULO","RATA","ROBA","ROBE","ROBO","RUIN","SENO","TETA","VACA","VAGA","VAGO","VAKA","VUEI","VUEY","WUEI","WUEY"].indexOf(r)>=0)return{meta:{},valid:!1};var a=parseInt(t.substr(4,2),10),n=parseInt(t.substr(6,2),10),i=parseInt(t.substr(6,2),10);if(/^[0-9]$/.test(t.charAt(16))?a+=1900:a+=2e3,!g(a,n,i))return{meta:{},valid:!1};var s=t.charAt(10);if("H"!==s&&"M"!==s)return{meta:{},valid:!1};var o=t.substr(11,2);if(-1===["AS","BC","BS","CC","CH","CL","CM","CS","DF","DG","GR","GT","HG","JC","MC","MN","MS","NE","NL","NT","OC","PL","QR","QT","SL","SP","SR","TC","TL","TS","VZ","YN","ZS"].indexOf(o))return{meta:{},valid:!1};for(var l=0,d=t.length,u=0;u<d-1;u++)l+=(18-u)*"0123456789ABCDEFGHIJKLMN&OPQRSTUVWXYZ".indexOf(t.charAt(u));return{meta:{},valid:"".concat(l=(10-l%10)%10)===t.charAt(d-1)}}(n.value);break;case"my":V=function(e){if(!/^\d{12}$/.test(e))return{meta:{},valid:!1};var t=parseInt(e.substr(0,2),10),r=parseInt(e.substr(2,2),10),a=parseInt(e.substr(4,2),10);if(!b(t+1900,r,a)&&!b(t+2e3,r,a))return{meta:{},valid:!1};var n=e.substr(6,2);return{meta:{},valid:-1===["17","18","19","20","69","70","73","80","81","94","95","96","97"].indexOf(n)}}(n.value);break;case"nl":V=function(e){if(e.length<8)return{meta:{},valid:!1};var t=e;if(8===t.length&&(t="0".concat(t)),!/^[0-9]{4}[.]{0,1}[0-9]{2}[.]{0,1}[0-9]{3}$/.test(t))return{meta:{},valid:!1};if(t=t.replace(/\./g,""),0===parseInt(t,10))return{meta:{},valid:!1};for(var r=0,a=t.length,n=0;n<a-1;n++)r+=(9-n)*parseInt(t.charAt(n),10);return 10==(r%=11)&&(r=0),{meta:{},valid:"".concat(r)===t.charAt(a-1)}}(n.value);break;case"no":V=function(e){return/^\d{11}$/.test(e)?{meta:{},valid:"".concat(function(e){for(var t=[3,7,6,1,8,9,4,5,2],r=0,a=0;a<9;a++)r+=t[a]*parseInt(e.charAt(a),10);return 11-r%11}(e))===e.substr(-2,1)&&"".concat(function(e){for(var t=[5,4,3,2,7,6,5,4,3,2],r=0,a=0;a<10;a++)r+=t[a]*parseInt(e.charAt(a),10);return 11-r%11}(e))===e.substr(-1)}:{meta:{},valid:!1}}(n.value);break;case"pe":V=function(e){if(!/^\d{8}[0-9A-Z]*$/.test(e))return{meta:{},valid:!1};if(8===e.length)return{meta:{},valid:!0};for(var t=[3,2,7,6,5,4,3,2],r=0,a=0;a<8;a++)r+=t[a]*parseInt(e.charAt(a),10);var n=r%11,i=[6,5,4,3,2,1,1,0,9,8,7][n],s="KJIHGFEDCBA".charAt(n);return{meta:{},valid:e.charAt(8)==="".concat(i)||e.charAt(8)===s}}(n.value);break;case"pl":V=function(e){if(!/^[0-9]{11}$/.test(e))return{meta:{},valid:!1};for(var t=0,r=e.length,a=[1,3,7,9,1,3,7,9,1,3,7],n=0;n<r-1;n++)t+=a[n]*parseInt(e.charAt(n),10);return 0==(t%=10)&&(t=10),{meta:{},valid:"".concat(t=10-t)===e.charAt(r-1)}}(n.value);break;case"ro":V=function(e){if(!/^[0-9]{13}$/.test(e))return{meta:{},valid:!1};var t=parseInt(e.charAt(0),10);if(0===t||7===t||8===t)return{meta:{},valid:!1};var r=parseInt(e.substr(1,2),10),a=parseInt(e.substr(3,2),10),n=parseInt(e.substr(5,2),10);if(n>31&&a>12)return{meta:{},valid:!1};if(9!==t&&!A(r={1:1900,2:1900,3:1800,4:1800,5:2e3,6:2e3}[t+""]+r,a,n))return{meta:{},valid:!1};for(var i=0,s=[2,7,9,1,4,6,3,5,8,2,7,9],o=e.length,l=0;l<o-1;l++)i+=parseInt(e.charAt(l),10)*s[l];return 10==(i%=11)&&(i=1),{meta:{},valid:"".concat(i)===e.charAt(o-1)}}(n.value);break;case"rs":V=function(e){return{meta:{},valid:t(e,"RS")}}(n.value);break;case"se":V=function(e){if(!/^[0-9]{10}$/.test(e)&&!/^[0-9]{6}[-|+][0-9]{4}$/.test(e))return{meta:{},valid:!1};var t=e.replace(/[^0-9]/g,""),r=parseInt(t.substr(0,2),10)+1900,a=parseInt(t.substr(2,2),10),n=parseInt(t.substr(4,2),10);return E(r,a,n)?{meta:{},valid:y(t)}:{meta:{},valid:!1}}(n.value);break;case"si":V=function(e){return{meta:{},valid:t(e,"SI")}}(n.value);break;case"sm":V=function(e){return{meta:{},valid:/^\d{5}$/.test(e)}}(n.value);break;case"th":V=function(e){if(13!==e.length)return{meta:{},valid:!1};for(var t=0,r=0;r<12;r++)t+=parseInt(e.charAt(r),10)*(13-r);return{meta:{},valid:(11-t%11)%10===parseInt(e.charAt(12),10)}}(n.value);break;case"tr":V=function(e){if(11!==e.length)return{meta:{},valid:!1};for(var t=0,r=0;r<10;r++)t+=parseInt(e.charAt(r),10);return{meta:{},valid:t%10===parseInt(e.charAt(10),10)}}(n.value);break;case"tw":V=function(e){var t=e.toUpperCase();if(!/^[A-Z][12][0-9]{8}$/.test(t))return{meta:{},valid:!1};for(var r=t.length,a="ABCDEFGHJKLMNPQRSTUVXYWZIO".indexOf(t.charAt(0))+10,n=Math.floor(a/10)+a%10*(r-1),i=0,s=1;s<r-1;s++)i+=parseInt(t.charAt(s),10)*(r-1-s);return{meta:{},valid:(n+i+parseInt(t.charAt(r-1),10))%10==0}}(n.value);break;case"uy":V=function(e){if(!/^\d{8}$/.test(e))return{meta:{},valid:!1};for(var t=[2,9,8,7,6,3,4],r=0,a=0;a<7;a++)r+=parseInt(e.charAt(a),10)*t[a];return(r%=10)>0&&(r=10-r),{meta:{},valid:"".concat(r)===e.charAt(7)}}(n.value);break;case"za":V=function(e){if(!/^[0-9]{10}[0|1][8|9][0-9]$/.test(e))return{meta:{},valid:!1};var t=parseInt(e.substr(0,2),10),r=(new Date).getFullYear()%100,a=parseInt(e.substr(2,2),10),n=parseInt(e.substr(4,2),10);return x(t=t>=r?t+1900:t+2e3,a,n)?{meta:{},valid:I(e)}:{meta:{},valid:!1}}(n.value)}var S=C(n.l10n&&n.l10n.id?i.message||n.l10n.id.country:i.message,n.l10n&&n.l10n.id&&n.l10n.id.countries?n.l10n.id.countries[v.toUpperCase()]:v.toUpperCase());return Object.assign({},{message:S},V)}}},kr}();var wr,Hr=Sr.exports,$r={exports:{}},Nr={};$r.exports=function(){if(wr)return Nr;wr=1;var e=i.algorithms.luhn;return Nr.imei=function(){return{validate:function(t){if(""===t.value)return{valid:!0};switch(!0){case/^\d{15}$/.test(t.value):case/^\d{2}-\d{6}-\d{6}-\d{1}$/.test(t.value):case/^\d{2}\s\d{6}\s\d{6}\s\d{1}$/.test(t.value):return{valid:e(t.value.replace(/[^0-9]/g,""))};case/^\d{14}$/.test(t.value):case/^\d{16}$/.test(t.value):case/^\d{2}-\d{6}-\d{6}(|-\d{2})$/.test(t.value):case/^\d{2}\s\d{6}\s\d{6}(|\s\d{2})$/.test(t.value):return{valid:!0};default:return{valid:!1}}}}},Nr}();var Mr,Tr=$r.exports,Lr={exports:{}},Pr={};Lr.exports=(Mr||(Mr=1,Pr.imo=function(){return{validate:function(e){if(""===e.value)return{valid:!0};if(!/^IMO \d{7}$/i.test(e.value))return{valid:!1};for(var t=e.value.replace(/^.*(\d{7})$/,"$1"),r=0,a=6;a>=1;a--)r+=parseInt(t.slice(6-a,-a),10)*(a+1);return{valid:r%10===parseInt(t.charAt(6),10)}}}}),Pr);var Rr,Dr=Lr.exports,Zr={exports:{}},_r={};Zr.exports=(Rr||(Rr=1,_r.isbn=function(){return{validate:function(e){if(""===e.value)return{meta:{type:null},valid:!0};var t;switch(!0){case/^\d{9}[\dX]$/.test(e.value):case 13===e.value.length&&/^(\d+)-(\d+)-(\d+)-([\dX])$/.test(e.value):case 13===e.value.length&&/^(\d+)\s(\d+)\s(\d+)\s([\dX])$/.test(e.value):t="ISBN10";break;case/^(978|979)\d{9}[\dX]$/.test(e.value):case 17===e.value.length&&/^(978|979)-(\d+)-(\d+)-(\d+)-([\dX])$/.test(e.value):case 17===e.value.length&&/^(978|979)\s(\d+)\s(\d+)\s(\d+)\s([\dX])$/.test(e.value):t="ISBN13";break;default:return{meta:{type:null},valid:!1}}var r,a,n=e.value.replace(/[^0-9X]/gi,"").split(""),i=n.length,s=0;switch(t){case"ISBN10":for(s=0,r=0;r<i-1;r++)s+=parseInt(n[r],10)*(10-r);return 11==(a=11-s%11)?a=0:10===a&&(a="X"),{meta:{type:t},valid:"".concat(a)===n[i-1]};case"ISBN13":for(s=0,r=0;r<i-1;r++)s+=r%2==0?parseInt(n[r],10):3*parseInt(n[r],10);return 10==(a=10-s%10)&&(a="0"),{meta:{type:t},valid:"".concat(a)===n[i-1]}}}}}),_r);var Br,Gr=Zr.exports,Ur={exports:{}},jr={};Ur.exports=(Br||(Br=1,jr.isin=function(){return{validate:function(e){if(""===e.value)return{valid:!0};var t=e.value.toUpperCase();if(!new RegExp("^(AF|AX|AL|DZ|AS|AD|AO|AI|AQ|AG|AR|AM|AW|AU|AT|AZ|BS|BH|BD|BB|BY|BE|BZ|BJ|BM|BT|BO|BQ|BA|BW|BV|BR|IO|BN|BG|BF|BI|KH|CM|CA|CV|KY|CF|TD|CL|CN|CX|CC|CO|KM|CG|CD|CK|CR|CI|HR|CU|CW|CY|CZ|DK|DJ|DM|DO|EC|EG|SV|GQ|ER|EE|ET|FK|FO|FJ|FI|FR|GF|PF|TF|GA|GM|GE|DE|GH|GI|GR|GL|GD|GP|GU|GT|GG|GN|GW|GY|HT|HM|VA|HN|HK|HU|IS|IN|ID|IR|IQ|IE|IM|IL|IT|JM|JP|JE|JO|KZ|KE|KI|KP|KR|KW|KG|LA|LV|LB|LS|LR|LY|LI|LT|LU|MO|MK|MG|MW|MY|MV|ML|MT|MH|MQ|MR|MU|YT|MX|FM|MD|MC|MN|ME|MS|MA|MZ|MM|NA|NR|NP|NL|NC|NZ|NI|NE|NG|NU|NF|MP|NO|OM|PK|PW|PS|PA|PG|PY|PE|PH|PN|PL|PT|PR|QA|RE|RO|RU|RW|BL|SH|KN|LC|MF|PM|VC|WS|SM|ST|SA|SN|RS|SC|SL|SG|SX|SK|SI|SB|SO|ZA|GS|SS|ES|LK|SD|SR|SJ|SZ|SE|CH|SY|TW|TJ|TZ|TH|TL|TG|TK|TO|TT|TN|TR|TM|TC|TV|UG|UA|AE|GB|US|UM|UY|UZ|VU|VE|VN|VG|VI|WF|EH|YE|ZM|ZW)[0-9A-Z]{10}$").test(e.value))return{valid:!1};var r,a=t.length,n="";for(r=0;r<a-1;r++){var i=t.charCodeAt(r);n+=i>57?(i-55).toString():t.charAt(r)}var s="",o=n.length,l=o%2!=0?0:1;for(r=0;r<o;r++)s+=parseInt(n[r],10)*(r%2===l?2:1)+"";var d=0;for(r=0;r<s.length;r++)d+=parseInt(s.charAt(r),10);return{valid:"".concat(d=(10-d%10)%10)===t.charAt(a-1)}}}}),jr);var Kr,zr=Ur.exports,Yr={exports:{}},Jr={};Yr.exports=(Kr||(Kr=1,Jr.ismn=function(){return{validate:function(e){if(""===e.value)return{meta:null,valid:!0};var t;switch(!0){case/^M\d{9}$/.test(e.value):case/^M-\d{4}-\d{4}-\d{1}$/.test(e.value):case/^M\s\d{4}\s\d{4}\s\d{1}$/.test(e.value):t="ISMN10";break;case/^9790\d{9}$/.test(e.value):case/^979-0-\d{4}-\d{4}-\d{1}$/.test(e.value):case/^979\s0\s\d{4}\s\d{4}\s\d{1}$/.test(e.value):t="ISMN13";break;default:return{meta:null,valid:!1}}var r=e.value;"ISMN10"===t&&(r="9790".concat(r.substr(1)));for(var a=0,n=(r=r.replace(/[^0-9]/gi,"")).length,i=[1,3],s=0;s<n-1;s++)a+=parseInt(r.charAt(s),10)*i[s%2];return{meta:{type:t},valid:"".concat(a=(10-a%10)%10)===r.charAt(n-1)}}}}),Jr);var Xr,Wr=Yr.exports,qr={exports:{}},Qr={};qr.exports=(Xr||(Xr=1,Qr.issn=function(){return{validate:function(e){if(""===e.value)return{valid:!0};if(!/^\d{4}-\d{3}[\dX]$/.test(e.value))return{valid:!1};var t=e.value.replace(/[^0-9X]/gi,"").split(""),r=t.length,a=0;"X"===t[7]&&(t[7]="10");for(var n=0;n<r;n++)a+=parseInt(t[n],10)*(8-n);return{valid:a%11==0}}}}),Qr);var ea,ta=qr.exports,ra={exports:{}},aa={};ra.exports=(ea||(ea=1,aa.mac=function(){return{validate:function(e){return{valid:""===e.value||/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/.test(e.value)||/^([0-9A-Fa-f]{4}\.){2}([0-9A-Fa-f]{4})$/.test(e.value)}}}}),aa);var na,ia=ra.exports,sa={exports:{}},oa={};sa.exports=function(){if(na)return oa;na=1;var e=i.algorithms.luhn;return oa.meid=function(){return{validate:function(t){if(""===t.value)return{valid:!0};var r=t.value;if(/^[0-9A-F]{15}$/i.test(r)||/^[0-9A-F]{2}[- ][0-9A-F]{6}[- ][0-9A-F]{6}[- ][0-9A-F]$/i.test(r)||/^\d{19}$/.test(r)||/^\d{5}[- ]\d{5}[- ]\d{4}[- ]\d{4}[- ]\d$/.test(r)){var a=r.charAt(r.length-1).toUpperCase();if((r=r.replace(/[- ]/g,"")).match(/^\d*$/i))return{valid:e(r)};r=r.slice(0,-1);var n="",i=void 0;for(i=1;i<=13;i+=2)n+=(2*parseInt(r.charAt(i),16)).toString(16);var s=0;for(i=0;i<n.length;i++)s+=parseInt(n.charAt(i),16);return{valid:s%10==0?"0"===a:a===(2*(10*Math.floor((s+10)/10)-s)).toString(16).toUpperCase()}}return/^[0-9A-F]{14}$/i.test(r)||/^[0-9A-F]{2}[- ][0-9A-F]{6}[- ][0-9A-F]{6}$/i.test(r)||/^\d{18}$/.test(r)||/^\d{5}[- ]\d{5}[- ]\d{4}[- ]\d{4}$/.test(r)?{valid:!0}:{valid:!1}}}},oa}();var la,da=sa.exports,ua={exports:{}},ca={};ua.exports=function(){if(la)return ca;la=1;var e=i,t=e.utils.format,r=e.utils.removeUndefined;return ca.phone=function(){var e=["AE","BG","BR","CN","CZ","DE","DK","ES","FR","GB","IN","MA","NL","PK","RO","RU","SK","TH","US","VE"];
26280return{validate:function(a){if(""===a.value)return{valid:!0};var n=Object.assign({},{message:""},r(a.options)),i=a.value.trim(),s=i.substr(0,2);if(!(s="function"==typeof n.country?n.country.call(this):n.country)||-1===e.indexOf(s.toUpperCase()))return{valid:!0};var o=!0;switch(s.toUpperCase()){case"AE":o=/^(((\+|00)?971[\s.-]?(\(0\)[\s.-]?)?|0)(\(5(0|2|5|6)\)|5(0|2|5|6)|2|3|4|6|7|9)|60)([\s.-]?[0-9]){7}$/.test(i);break;case"BG":o=/^(0|359|00)(((700|900)[0-9]{5}|((800)[0-9]{5}|(800)[0-9]{4}))|(87|88|89)([0-9]{7})|((2[0-9]{7})|(([3-9][0-9])(([0-9]{6})|([0-9]{5})))))$/.test(i.replace(/\+|\s|-|\/|\(|\)/gi,""));break;case"BR":o=/^(([\d]{4}[-.\s]{1}[\d]{2,3}[-.\s]{1}[\d]{2}[-.\s]{1}[\d]{2})|([\d]{4}[-.\s]{1}[\d]{3}[-.\s]{1}[\d]{4})|((\(?\+?[0-9]{2}\)?\s?)?(\(?\d{2}\)?\s?)?\d{4,5}[-.\s]?\d{4}))$/.test(i);break;case"CN":o=/^((00|\+)?(86(?:-| )))?((\d{11})|(\d{3}[- ]{1}\d{4}[- ]{1}\d{4})|((\d{2,4}[- ]){1}(\d{7,8}|(\d{3,4}[- ]{1}\d{4}))([- ]{1}\d{1,4})?))$/.test(i);break;case"CZ":o=/^(((00)([- ]?)|\+)(420)([- ]?))?((\d{3})([- ]?)){2}(\d{3})$/.test(i);break;case"DE":o=/^(((((((00|\+)49[ \-/]?)|0)[1-9][0-9]{1,4})[ \-/]?)|((((00|\+)49\()|\(0)[1-9][0-9]{1,4}\)[ \-/]?))[0-9]{1,7}([ \-/]?[0-9]{1,5})?)$/.test(i);break;case"DK":o=/^(\+45|0045|\(45\))?\s?[2-9](\s?\d){7}$/.test(i);break;case"ES":o=/^(?:(?:(?:\+|00)34\D?))?(?:5|6|7|8|9)(?:\d\D?){8}$/.test(i);break;case"FR":o=/^(?:(?:(?:\+|00)33[ ]?(?:\(0\)[ ]?)?)|0){1}[1-9]{1}([ .-]?)(?:\d{2}\1?){3}\d{2}$/.test(i);break;case"GB":o=/^\(?(?:(?:0(?:0|11)\)?[\s-]?\(?|\+)44\)?[\s-]?\(?(?:0\)?[\s-]?\(?)?|0)(?:\d{2}\)?[\s-]?\d{4}[\s-]?\d{4}|\d{3}\)?[\s-]?\d{3}[\s-]?\d{3,4}|\d{4}\)?[\s-]?(?:\d{5}|\d{3}[\s-]?\d{3})|\d{5}\)?[\s-]?\d{4,5}|8(?:00[\s-]?11[\s-]?11|45[\s-]?46[\s-]?4\d))(?:(?:[\s-]?(?:x|ext\.?\s?|#)\d+)?)$/.test(i);break;case"IN":o=/((\+?)((0[ -]+)*|(91 )*)(\d{12}|\d{10}))|\d{5}([- ]*)\d{6}/.test(i);break;case"MA":o=/^(?:(?:(?:\+|00)212[\s]?(?:[\s]?\(0\)[\s]?)?)|0){1}(?:5[\s.-]?[2-3]|6[\s.-]?[13-9]){1}[0-9]{1}(?:[\s.-]?\d{2}){3}$/.test(i);break;case"NL":o=/^((\+|00(\s|\s?-\s?)?)31(\s|\s?-\s?)?(\(0\)[-\s]?)?|0)[1-9]((\s|\s?-\s?)?[0-9])((\s|\s?-\s?)?[0-9])((\s|\s?-\s?)?[0-9])\s?[0-9]\s?[0-9]\s?[0-9]\s?[0-9]\s?[0-9]$/gm.test(i);break;case"PK":o=/^0?3[0-9]{2}[0-9]{7}$/.test(i);break;case"RO":o=/^(\+4|)?(07[0-8]{1}[0-9]{1}|02[0-9]{2}|03[0-9]{2}){1}?(\s|\.|-)?([0-9]{3}(\s|\.|-|)){2}$/g.test(i);break;case"RU":o=/^((8|\+7|007)[-./ ]?)?([(/.]?\d{3}[)/.]?[-./ ]?)?[\d\-./ ]{7,10}$/g.test(i);break;case"SK":o=/^(((00)([- ]?)|\+)(421)([- ]?))?((\d{3})([- ]?)){2}(\d{3})$/.test(i);break;case"TH":o=/^0\(?([6|8-9]{2})*-([0-9]{3})*-([0-9]{4})$/.test(i);break;case"VE":o=/^0(?:2(?:12|4[0-9]|5[1-9]|6[0-9]|7[0-8]|8[1-35-8]|9[1-5]|3[45789])|4(?:1[246]|2[46]))\d{7}$/.test(i);break;default:o=/^(?:(1-?)|(\+1 ?))?\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}$/.test(i)}return{message:t(a.l10n&&a.l10n.phone?n.message||a.l10n.phone.country:n.message,a.l10n&&a.l10n.phone&&a.l10n.phone.countries?a.l10n.phone.countries[s]:s),valid:o}}}},ca}();var fa,pa=ua.exports,va={exports:{}},ha={};va.exports=(fa||(fa=1,ha.rtn=function(){return{validate:function(e){if(""===e.value)return{valid:!0};if(!/^\d{9}$/.test(e.value))return{valid:!1};for(var t=0,r=0;r<e.value.length;r+=3)t+=3*parseInt(e.value.charAt(r),10)+7*parseInt(e.value.charAt(r+1),10)+parseInt(e.value.charAt(r+2),10);return{valid:0!==t&&t%10==0}}}}),ha);var ma,ga=va.exports,ba={exports:{}},Aa={};ba.exports=(ma||(ma=1,Aa.sedol=function(){return{validate:function(e){if(""===e.value)return{valid:!0};var t=e.value.toUpperCase();if(!/^[0-9A-Z]{7}$/.test(t))return{valid:!1};for(var r=[1,3,1,7,3,9,1],a=t.length,n=0,i=0;i<a-1;i++)n+=r[i]*parseInt(t.charAt(i),36);return{valid:"".concat(n=(10-n%10)%10)===t.charAt(a-1)}}}}),Aa);var ya,Ea=ba.exports,Ia={exports:{}},xa={};Ia.exports=function(){if(ya)return xa;ya=1;var e=i.algorithms.luhn;return xa.siren=function(){return{validate:function(t){return{valid:""===t.value||/^\d{9}$/.test(t.value)&&e(t.value)}}}},xa}();var Ca,Oa=Ia.exports,Fa={exports:{}},Va={};Fa.exports=(Ca||(Ca=1,Va.siret=function(){return{validate:function(e){if(""===e.value)return{valid:!0};for(var t,r=e.value.length,a=0,n=0;n<r;n++)t=parseInt(e.value.charAt(n),10),n%2==0&&(t*=2)>9&&(t-=9),a+=t;return{valid:a%10==0}}}}),Va);var Sa,ka=Fa.exports,wa={exports:{}},Ha={};wa.exports=function(){if(Sa)return Ha;Sa=1;var e=i.utils.format;return Ha.step=function(){return{validate:function(t){if(""===t.value)return{valid:!0};var r=parseFloat(t.value);if(isNaN(r)||!isFinite(r))return{valid:!1};var a=Object.assign({},{baseValue:0,message:"",step:1},t.options),n=function(e,t){if(0===t)return 1;var r="".concat(e).split("."),a="".concat(t).split("."),n=(1===r.length?0:r[1].length)+(1===a.length?0:a[1].length);return function(e,t){var r,a=Math.pow(10,t),n=e*a;switch(!0){case 0===n:r=0;break;case n>0:r=1;break;case n<0:r=-1}return n%1==.5*r?(Math.floor(n)+(r>0?1:0))/a:Math.round(n)/a}(e-t*Math.floor(e/t),n)}(r-a.baseValue,a.step);return{message:e(t.l10n?a.message||t.l10n.step.default:a.message,"".concat(a.step)),valid:0===n||n===a.step}}}},Ha}();var $a,Na=wa.exports,Ma={exports:{}},Ta={};Ma.exports=function(){if($a)return Ta;$a=1;var e=i,t=e.utils.format,r=e.utils.removeUndefined;return Ta.uuid=function(){return{validate:function(e){if(""===e.value)return{valid:!0};var a=Object.assign({},{message:""},r(e.options)),n={3:/^[0-9A-F]{8}-[0-9A-F]{4}-3[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i,4:/^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,5:/^[0-9A-F]{8}-[0-9A-F]{4}-5[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,all:/^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i},i=a.version?"".concat(a.version):"all";return{message:a.version?t(e.l10n?a.message||e.l10n.uuid.version:a.message,a.version):e.l10n?e.l10n.uuid.default:a.message,valid:null===n[i]||n[i].test(e.value)}}}},Ta}();var La,Pa=Ma.exports,Ra={exports:{}},Da={};Ra.exports=function(){if(La)return Da;La=1;var e=i,t=e.utils.isValidDate,r=e.utils.isValidDate,a=e.algorithms.mod11A
26280nd10,n=e.algorithms.luhn,s=e.algorithms.mod11And10,o=e.algorithms.luhn,l=e.utils.isValidDate,d=e.algorithms.mod97And10;function u(e){if(e.length<8)return{meta:{},valid:!1};var t=e;if(8===t.length&&(t="0".concat(t)),!/^[0-9]{4}[.]{0,1}[0-9]{2}[.]{0,1}[0-9]{3}$/.test(t))return{meta:{},valid:!1};if(t=t.replace(/\./g,""),0===parseInt(t,10))return{meta:{},valid:!1};for(var r=0,a=t.length,n=0;n<a-1;n++)r+=(9-n)*parseInt(t.charAt(n),10);return 10==(r%=11)&&(r=0),{meta:{},valid:"".concat(r)===t.charAt(a-1)}}var c=e.algorithms.luhn,f=e.utils.format,p=e.utils.removeUndefined;return Da.vat=function(){var e=["AR","AT","BE","BG","BR","CH","CY","CZ","DE","DK","EE","EL","ES","FI","FR","GB","GR","HR","HU","IE","IS","IT","LT","LU","LV","MT","NL","NO","PL","PT","RO","RU","RS","SE","SK","SI","VE","ZA"];return{validate:function(i){var v=i.value;if(""===v)return{valid:!0};var h=Object.assign({},{message:""},p(i.options)),m=v.substr(0,2);if(m="function"==typeof h.country?h.country.call(this):h.country,-1===e.indexOf(m))return{valid:!0};var g={meta:{},valid:!0};switch(m.toLowerCase()){case"ar":g=function(e){var t=e.replace("-","");if(/^AR[0-9]{11}$/.test(t)&&(t=t.substr(2)),!/^[0-9]{11}$/.test(t))return{meta:{},valid:!1};for(var r=[5,4,3,2,7,6,5,4,3,2],a=0,n=0;n<10;n++)a+=parseInt(t.charAt(n),10)*r[n];return 11==(a=11-a%11)&&(a=0),{meta:{},valid:"".concat(a)===t.substr(10)}}(v);break;case"at":g=function(e){var t=e;if(/^ATU[0-9]{8}$/.test(t)&&(t=t.substr(2)),!/^U[0-9]{8}$/.test(t))return{meta:{},valid:!1};t=t.substr(1);for(var r=[1,2,1,2,1,2,1],a=0,n=0,i=0;i<7;i++)(n=parseInt(t.charAt(i),10)*r[i])>9&&(n=Math.floor(n/10)+n%10),a+=n;return 10==(a=10-(a+4)%10)&&(a=0),{meta:{},valid:"".concat(a)===t.substr(7,1)}}(v);break;case"be":g=function(e){var t=e;return/^BE[0]?[0-9]{9}$/.test(t)&&(t=t.substr(2)),/^[0]?[0-9]{9}$/.test(t)?(9===t.length&&(t="0".concat(t)),"0"===t.substr(1,1)?{meta:{},valid:!1}:{meta:{},valid:(parseInt(t.substr(0,8),10)+parseInt(t.substr(8,2),10))%97==0}):{meta:{},valid:!1}}(v);break;case"bg":g=function(e){var r=e;if(/^BG[0-9]{9,10}$/.test(r)&&(r=r.substr(2)),!/^[0-9]{9,10}$/.test(r))return{meta:{},valid:!1};var a=0,n=0;if(9===r.length){for(n=0;n<8;n++)a+=parseInt(r.charAt(n),10)*(n+1);if(10==(a%=11)){for(a=0,n=0;n<8;n++)a+=parseInt(r.charAt(n),10)*(n+3);a%=11}return{meta:{},valid:"".concat(a%=10)===r.substr(8)}}return{meta:{},valid:function(e){var r=parseInt(e.substr(0,2),10)+1900,a=parseInt(e.substr(2,2),10),n=parseInt(e.substr(4,2),10);if(a>40?(r+=100,a-=40):a>20&&(r-=100,a-=20),!t(r,a,n))return!1;for(var i=[2,4,8,5,10,9,7,3,6],s=0,o=0;o<9;o++)s+=parseInt(e.charAt(o),10)*i[o];return"".concat(s=s%11%10)===e.substr(9,1)}(r)||function(e){for(var t=[21,19,17,13,11,9,7,3,1],r=0,a=0;a<9;a++)r+=parseInt(e.charAt(a),10)*t[a];return"".concat(r%=10)===e.substr(9,1)}(r)||function(e){for(var t=[4,3,2,7,6,5,4,3,2],r=0,a=0;a<9;a++)r+=parseInt(e.charAt(a),10)*t[a];return 10!=(r=11-r%11)&&(11===r&&(r=0),"".concat(r)===e.substr(9,1))}(r)}}(v);break;case"br":g=function(e){if(""===e)return{meta:{},valid:!0};var t=e.replace(/[^\d]+/g,"");if(""===t||14!==t.length)return{meta:{},valid:!1};if("00000000000000"===t||"11111111111111"===t||"22222222222222"===t||"33333333333333"===t||"44444444444444"===t||"55555555555555"===t||"66666666666666"===t||"77777777777777"===t||"88888888888888"===t||"99999999999999"===t)return{meta:{},valid:!1};var r,a=t.length-2,n=t.substring(0,a),i=t.substring(a),s=0,o=a-7;for(r=a;r>=1;r--)s+=parseInt(n.charAt(a-r),10)*o--,o<2&&(o=9);var l=s%11<2?0:11-s%11;if(l!==parseInt(i.charAt(0),10))return{meta:{},valid:!1};for(a+=1,n=t.substring(0,a),s=0,o=a-7,r=a;r>=1;r--)s+=parseInt(n.charAt(a-r),10)*o--,o<2&&(o=9);return{meta:{},valid:(l=s%11<2?0:11-s%11)===parseInt(i.charAt(1),10)}}(v);break;case"ch":g=function(e){var t=e;if(/^CHE[0-9]{9}(MWST|TVA|IVA|TPV)?$/.test(t)&&(t=t.substr(2)),!/^E[0-9]{9}(MWST|TVA|IVA|TPV)?$/.test(t))return{meta:{},valid:!1};t=t.substr(1);for(var r=[5,4,3,2,7,6,5,4],a=0,n=0;n<8;n++)a+=parseInt(t.charAt(n),10)*r[n];return 10==(a=11-a%11)?{meta:{},valid:!1}:(11===a&&(a=0),{meta:{},valid:"".concat(a)===t.substr(8,1)})}(v);break;case"cy":g=function(e){var t=e;if(/^CY[0-5|9][0-9]{7}
26280[A-Z]$/.test(t)&&(t=t.substr(2)),!/^[0-5|9][0-9]{7}[A-Z]$/.test(t))return{meta:{},valid:!1};if("12"===t.substr(0,2))return{meta:{},valid:!1};for(var r=0,a={0:1,1:0,2:5,3:7,4:9,5:13,6:15,7:17,8:19,9:21},n=0;n<8;n++){var i=parseInt(t.charAt(n),10);n%2==0&&(i=a["".concat(i)]),r+=i}return{meta:{},valid:"".concat("ABCDEFGHIJKLMNOPQRSTUVWXYZ"[r%26])===t.substr(8,1)}}(v);break;case"cz":g=function(e){var t=e;if(/^CZ[0-9]{8,10}$/.test(t)&&(t=t.substr(2)),!/^[0-9]{8,10}$/.test(t))return{meta:{},valid:!1};var a=0,n=0;if(8===t.length){if("9"==="".concat(t.charAt(0)))return{meta:{},valid:!1};for(a=0,n=0;n<7;n++)a+=parseInt(t.charAt(n),10)*(8-n);return 10==(a=11-a%11)&&(a=0),11===a&&(a=1),{meta:{},valid:"".concat(a)===t.substr(7,1)}}if(9===t.length&&"6"==="".concat(t.charAt(0))){for(a=0,n=0;n<7;n++)a+=parseInt(t.charAt(n+1),10)*(8-n);return 10==(a=11-a%11)&&(a=0),11===a&&(a=1),{meta:{},valid:"".concat(a=[8,7,6,5,4,3,2,1,0,9,10][a-1])===t.substr(8,1)}}if(9===t.length||10===t.length){var i=1900+parseInt(t.substr(0,2),10),s=parseInt(t.substr(2,2),10)%50%20,o=parseInt(t.substr(4,2),10);if(9===t.length){if(i>=1980&&(i-=100),i>1953)return{meta:{},valid:!1}}else i<1954&&(i+=100);if(!r(i,s,o))return{meta:{},valid:!1};if(10===t.length){var l=parseInt(t.substr(0,9),10)%11;return i<1985&&(l%=10),{meta:{},valid:"".concat(l)===t.substr(9,1)}}return{meta:{},valid:!0}}return{meta:{},valid:!1}}(v);break;case"de":g=function(e){var t=e;return/^DE[0-9]{9}$/.test(t)&&(t=t.substr(2)),/^[1-9][0-9]{8}$/.test(t)?{meta:{},valid:a(t)}:{meta:{},valid:!1}}(v);break;case"dk":g=function(e){var t=e;if(/^DK[0-9]{8}$/.test(t)&&(t=t.substr(2)),!/^[0-9]{8}$/.test(t))return{meta:{},valid:!1};for(var r=0,a=[2,7,6,5,4,3,2,1],n=0;n<8;n++)r+=parseInt(t.charAt(n),10)*a[n];return{meta:{},valid:r%11==0}}(v);break;case"ee":g=function(e){var t=e;if(/^EE[0-9]{9}$/.test(t)&&(t=t.substr(2)),!/^[0-9]{9}$/.test(t))return{meta:{},valid:!1};for(var r=0,a=[3,7,1,3,7,1,3,7,1],n=0;n<9;n++)r+=parseInt(t.charAt(n),10)*a[n];return{meta:{},valid:r%10==0}}(v);break;case"el":case"gr":g=function(e){var t=e;if(/^(GR|EL)[0-9]{9}$/.test(t)&&(t=t.substr(2)),!/^[0-9]{9}$/.test(t))return{meta:{},valid:!1};8===t.length&&(t="0".concat(t));for(var r=[256,128,64,32,16,8,4,2],a=0,n=0;n<8;n++)a+=parseInt(t.charAt(n),10)*r[n];return{meta:{},valid:"".concat(a=a%11%10)===t.substr(8,1)}}(v);break;case"es":g=function(e){var t=e;if(/^ES[0-9A-Z][0-9]{7}[0-9A-Z]$/.test(t)&&(t=t.substr(2)),!/^[0-9A-Z][0-9]{7}[0-9A-Z]$/.test(t))return{meta:{},valid:!1};var r,a,n=t.charAt(0);return/^[0-9]$/.test(n)?{meta:{type:"DNI"},valid:(r=t,a=parseInt(r.substr(0,8),10),"".concat("TRWAGMYFPDXBNJZSQVHLCKE"[a%23])===r.substr(8,1))}:/^[XYZ]$/.test(n)?{meta:{type:"NIE"},valid:function(e){var t=["XYZ".indexOf(e.charAt(0)),e.substr(1)].join(""),r="TRWAGMYFPDXBNJZSQVHLCKE"[parseInt(t,10)%23];return"".concat(r)===e.substr(8,1)}(t)}:{meta:{type:"CIF"},valid:function(e){var t,r=e.charAt(0);if(-1!=="KLM".indexOf(r))return t=parseInt(e.substr(1,8),10),"".concat(t="TRWAGMYFPDXBNJZSQVHLCKE"[t%23])===e.substr(8,1);if(-1!=="ABCDEFGHJNPQRSUVW".indexOf(r)){for(var a=[2,1,2,1,2,1,2],n=0,i=0,s=0;s<7;s++)(i=parseInt(e.charAt(s+1),10)*a[s])>9&&(i=Math.floor(i/10)+i%10),n+=i;return 10==(n=10-n%10)&&(n=0),"".concat(n)===e.substr(8,1)||"JABCDEFGHI"[n]===e.substr(8,1)}return!1}(t)}}(v);break;case"fi":g=function(e){var t=e;if(/^FI[0-9]{8}$/.test(t)&&(t=t.substr(2)),!/^[0-9]{8}$/.test(t))return{meta:{},valid:!1};for(var r=[7,9,10,5,8,4,2,1],a=0,n=0;n<8;n++)a+=parseInt(t.charAt(n),10)*r[n];return{meta:{},valid:a%11==0}}(v);break;case"fr":g=function(e){var t=e;if(/^FR[0-9A-Z]{2}[0-9]{9}$/.test(t)&&(t=t.substr(2)),!/^[0-9A-Z]{2}[0-9]{9}$/.test(t))return{meta:{},valid:!1};if("000"!==t.substr(2,4))return{meta:{},valid:n(t.substr(2))};if(/^[0-9]{2}$/.test(t.substr(0,2)))return{meta:{},valid:t.substr(0,2)==="".concat(parseInt(t.substr(2)+"12",10)%97)};var r,a="0123456789ABCDEFGHJKLMNPQRSTUVWXYZ";return r=/^[0-9]$/.test(t.charAt(0))?24*a.indexOf(t.charAt(0))+a.indexOf(t.charAt(1))-10:34*a.indexOf(t.charAt(0))+a.indexOf(t.charAt(1))-100,{meta:{},valid:(parseInt(t.substr(2),10)+1+Math.floor(r/11))%11==r%11}}(v);break;case"gb":g=function(e){var t=e;if((/^GB[0-9]{9}$/.test(t)||/^GB[0-9]{12}$/.test(t)||/^GBGD[0-9]{3}$/.test(t)||/^GBHA[0-9]{3}$/.test(t)||/^GB(GD|HA)8888[0-9]{5}$/.test(t))&&(t=t.substr(2)),!(/^[0-9]{9}$/.test(t)||/^[0-9]{12}$/.test(t)||/^GD[0-9]{3}$/.test(t)||/^HA[0-9]{3}$/.test(t)||/^(GD|HA)8888[0-9]{5}$/.test(t)))return{meta:{},valid:!1};var r=t.length;if(5===r){var a=t.substr(0,2),n=parseInt(t.substr(2),10);return{meta:{},valid:"GD"===a&&n<500||"HA"===a&&n>=500}}if(11===r&&("GD8888"===t.substr(0,6)||"HA8888"===t.substr(0,6)))return"GD"===t.substr(0,2)&&parseInt(t.substr(6,3),10)>=500||"HA"===t.substr(0,2)&&parseInt(t.substr(6,3),10)<500?{meta:{},valid:!1}:{meta:{},valid:parseInt(t.substr(6,3),10)%97===parseInt(t.substr(9,2),10)};if(9===r||12===r){for(var i=[8,7,6,5,4,3,2,10,1],s=0,o=0;o<9;o++)s+=parseInt(t.charAt(o),10)*i[o];return s%=97,{meta:{},valid:parseInt(t.substr(0,3),10)>=100?0===s||42===s||55===s:0===s}}return{meta:{},valid:!0}}(v);break;case"hr":g=function(e){var t=e;return/^HR[0-9]{11}
26280$/.test(t)&&(t=t.substr(2)),/^[0-9]{11}$/.test(t)?{meta:{},valid:s(t)}:{meta:{},valid:!1}}(v);break;case"hu":g=function(e){var t=e;if(/^HU[0-9]{8}$/.test(t)&&(t=t.substr(2)),!/^[0-9]{8}$/.test(t))return{meta:{},valid:!1};for(var r=[9,7,3,1,9,7,3,1],a=0,n=0;n<8;n++)a+=parseInt(t.charAt(n),10)*r[n];return{meta:{},valid:a%10==0}}(v);break;case"ie":g=function(e){var t=e;if(/^IE[0-9][0-9A-Z*+][0-9]{5}[A-Z]{1,2}$/.test(t)&&(t=t.substr(2)),!/^[0-9][0-9A-Z*+][0-9]{5}[A-Z]{1,2}$/.test(t))return{meta:{},valid:!1};var r=function(e){for(var t=e;t.length<7;)t="0".concat(t);for(var r="WABCDEFGHIJKLMNOPQRSTUV",a=0,n=0;n<7;n++)a+=parseInt(t.charAt(n),10)*(8-n);return a+=9*r.indexOf(t.substr(7)),r[a%23]};return/^[0-9]+$/.test(t.substr(0,7))?{meta:{},valid:t.charAt(7)===r("".concat(t.substr(0,7)).concat(t.substr(8)))}:-1!=="ABCDEFGHIJKLMNOPQRSTUVWXYZ+*".indexOf(t.charAt(1))?{meta:{},valid:t.charAt(7)===r("".concat(t.substr(2,5)).concat(t.substr(0,1)))}:{meta:{},valid:!0}}(v);break;case"is":g=function(e){var t=e;return/^IS[0-9]{5,6}$/.test(t)&&(t=t.substr(2)),{meta:{},valid:/^[0-9]{5,6}$/.test(t)}}(v);break;case"it":g=function(e){var t=e;if(/^IT[0-9]{11}$/.test(t)&&(t=t.substr(2)),!/^[0-9]{11}$/.test(t))return{meta:{},valid:!1};if(0===parseInt(t.substr(0,7),10))return{meta:{},valid:!1};var r=parseInt(t.substr(7,3),10);return r<1||r>201&&999!==r&&888!==r?{meta:{},valid:!1}:{meta:{},valid:o(t)}}(v);break;case"lt":g=function(e){var t=e;if(/^LT([0-9]{7}1[0-9]|[0-9]{10}1[0-9])$/.test(t)&&(t=t.substr(2)),!/^([0-9]{7}1[0-9]|[0-9]{10}1[0-9])$/.test(t))return{meta:{},valid:!1};var r,a=t.length,n=0;for(r=0;r<a-1;r++)n+=parseInt(t.charAt(r),10)*(1+r%9);var i=n%11;if(10===i)for(n=0,r=0;r<a-1;r++)n+=parseInt(t.charAt(r),10)*(1+(r+2)%9);return{meta:{},valid:"".concat(i=i%11%10)===t.charAt(a-1)}}(v);break;case"lu":g=function(e){var t=e;return/^LU[0-9]{8}$/.test(t)&&(t=t.substring(2)),/^[0-9]{8}$/.test(t)?{meta:{},valid:parseInt(t.substring(0,6),10)%89===parseInt(t.substring(6,8),10)}:{meta:{},valid:!1}}(v);break;case"lv":g=function(e){var t=e;if(/^LV[0-9]{11}$/.test(t)&&(t=t.substr(2)),!/^[0-9]{11}$/.test(t))return{meta:{},valid:!1};var r,a=parseInt(t.charAt(0),10),n=t.length,i=0,s=[];if(a>3){for(i=0,s=[9,1,4,8,3,10,2,5,7,6,1],r=0;r<n;r++)i+=parseInt(t.charAt(r),10)*s[r];return{meta:{},valid:3==(i%=11)}}var o=parseInt(t.substr(0,2),10),d=parseInt(t.substr(2,2),10),u=parseInt(t.substr(4,2),10);if(u=u+1800+100*parseInt(t.charAt(6),10),!l(u,d,o))return{meta:{},valid:!1};for(i=0,s=[10,5,8,4,2,1,6,3,7,9],r=0;r<n-1;r++)i+=parseInt(t.charAt(r),10)*s[r];return{meta:{},valid:"".concat(i=(i+1)%11%10)===t.charAt(n-1)}}(v);break;case"mt":g=function(e){var t=e;if(/^MT[0-9]{8}$/.test(t)&&(t=t.substr(2)),!/^[0-9]{8}$/.test(t))return{meta:{},valid:!1};for(var r=[3,4,6,7,8,9,10,1],a=0,n=0;n<8;n++)a+=parseInt(t.charAt(n),10)*r[n];return{meta:{},valid:a%37==0}}(v);break;case"nl":g=function(e){var t=e;return/^NL[0-9]{9}B[0-9]{2}$/.test(t)&&(t=t.substr(2)),/^[0-9]{9}B[0-9]{2}$/.test(t)?{meta:{},valid:u(t.substr(0,9)).valid||d("NL".concat(t))}:{meta:{},valid:!1}}(v);break;case"no":g=function(e){var t=e;if(/^NO[0-9]{9}$/.test(t)&&(t=t.substr(2)),!/^[0-9]{9}$/.test(t))return{meta:{},valid:!1};for(var r=[3,2,7,6,5,4,3,2],a=0,n=0;n<8;n++)a+=parseInt(t.charAt(n),10)*r[n];return 11==(a=11-a%11)&&(a=0),{meta:{},valid:"".concat(a)===t.substr(8,1)}}(v);break;case"pl":g=function(e){var t=e;if(/^PL[0-9]{10}$/.test(t)&&(t=t.substr(2)),!/^[0-9]{10}$/.test(t))return{meta:{},valid:!1};for(var r=[6,5,7,2,3,4,5,6,7,-1],a=0,n=0;n<10;n++)a+=parseInt(t.charAt(n),10)*r[n];return{meta:{},valid:a%11==0}}(v);break;case"pt":g=function(e){var t=e;if(/^PT[0-9]{9}$/.test(t)&&(t=t.substr(2)),!/^[0-9]{9}$/.test(t))return{meta:{},valid:!1};for(var r=[9,8,7,6,5,4,3,2],a=0,n=0;n<8;n++)a+=parseInt(t.charAt(n),10)*r[n];return(a=11-a%11)>9&&(a=0),{meta:{},valid:"".concat(a)===t.substr(8,1)}}(v);break;case"ro":g=function(e){var t=e;if(/^RO[1-9][0-9]{1,9}$/.test(t)&&(t=t.substr(2)),!/^[1-9][0-9]{1,9}$/.test(t))return{meta:{},valid:!1};for(var r=t.length,a=[7,5,3,2,1,7,5,3,2].slice(10-r),n=0,i=0;i<r-1;i++)n+=parseInt(t.charAt(i),10)*a[i];return{meta:{},valid:"".concat(n=10*n%11%10)===t.substr(r-1,1)}}(v);break;case"rs":g=function(e){var t=e;if(/^RS[0-9]{9}
26280$/.test(t)&&(t=t.substr(2)),!/^[0-9]{9}$/.test(t))return{meta:{},valid:!1};for(var r=10,a=0,n=0;n<8;n++)0==(a=(parseInt(t.charAt(n),10)+r)%10)&&(a=10),r=2*a%11;return{meta:{},valid:(r+parseInt(t.substr(8,1),10))%10==1}}(v);break;case"ru":g=function(e){var t=e;if(/^RU([0-9]{10}|[0-9]{12})$/.test(t)&&(t=t.substr(2)),!/^([0-9]{10}|[0-9]{12})$/.test(t))return{meta:{},valid:!1};var r=0;if(10===t.length){var a=[2,4,10,3,5,9,4,6,8,0],n=0;for(r=0;r<10;r++)n+=parseInt(t.charAt(r),10)*a[r];return(n%=11)>9&&(n%=10),{meta:{},valid:"".concat(n)===t.substr(9,1)}}if(12===t.length){var i=[7,2,4,10,3,5,9,4,6,8,0],s=[3,7,2,4,10,3,5,9,4,6,8,0],o=0,l=0;for(r=0;r<11;r++)o+=parseInt(t.charAt(r),10)*i[r],l+=parseInt(t.charAt(r),10)*s[r];return(o%=11)>9&&(o%=10),(l%=11)>9&&(l%=10),{meta:{},valid:"".concat(o)===t.substr(10,1)&&"".concat(l)===t.substr(11,1)}}return{meta:{},valid:!0}}(v);break;case"se":g=function(e){var t=e;return/^SE[0-9]{10}01$/.test(t)&&(t=t.substr(2)),/^[0-9]{10}01$/.test(t)?(t=t.substr(0,10),{meta:{},valid:c(t)}):{meta:{},valid:!1}}(v);break;case"si":g=function(e){var t=e.match(/^(SI)?([1-9][0-9]{7})$/);if(!t)return{meta:{},valid:!1};for(var r=t[1]?e.substr(2):e,a=[8,7,6,5,4,3,2],n=0,i=0;i<7;i++)n+=parseInt(r.charAt(i),10)*a[i];return 10==(n=11-n%11)&&(n=0),{meta:{},valid:"".concat(n)===r.substr(7,1)}}(v);break;case"sk":g=function(e){var t=e;return/^SK[1-9][0-9][(2-4)|(6-9)][0-9]{7}$/.test(t)&&(t=t.substr(2)),/^[1-9][0-9][(2-4)|(6-9)][0-9]{7}$/.test(t)?{meta:{},valid:parseInt(t,10)%11==0}:{meta:{},valid:!1}}(v);break;case"ve":g=function(e){var t=e;if(/^VE[VEJPG][0-9]{9}$/.test(t)&&(t=t.substr(2)),!/^[VEJPG][0-9]{9}$/.test(t))return{meta:{},valid:!1};for(var r=[3,2,7,6,5,4,3,2],a={E:8,G:20,J:12,P:16,V:4}[t.charAt(0)],n=0;n<8;n++)a+=parseInt(t.charAt(n+1),10)*r[n];return 11!=(a=11-a%11)&&10!==a||(a=0),{meta:{},valid:"".concat(a)===t.substr(9,1)}}(v);break;case"za":g=function(e){var t=e;return/^ZA4[0-9]{9}$/.test(t)&&(t=t.substr(2)),{meta:{},valid:/^4[0-9]{9}$/.test(t)}}(v)}var b=f(i.l10n&&i.l10n.vat?h.message||i.l10n.vat.country:h.message,i.l10n&&i.l10n.vat&&i.l10n.vat.countries?i.l10n.vat.countries[m.toUpperCase()]:m.toUpperCase());return Object.assign({},{message:b},g)}}},Da}();var Za,_a=Ra.exports,Ba={exports:{}},Ga={};Ba.exports=(Za||(Za=1,Ga.vin=function(){return{validate:function(e){if(""===e.value)return{valid:!0};if(!/^[a-hj-npr-z0-9]{8}[0-9xX][a-hj-npr-z0-9]{8}$/i.test(e.value))return{valid:!1};for(var t=e.value.toUpperCase(),r={A:1,B:2,C:3,D:4,E:5,F:6,G:7,H:8,J:1,K:2,L:3,M:4,N:5,P:7,R:9,
26280S:2,T:3,U:4,V:5,W:6,X:7,Y:8,Z:9,0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9},a=[8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2],n=t.length,i=0,s=0;s<n;s++)i+=r["".concat(t.charAt(s))]*a[s];var o="".concat(i%11);return"10"===o&&(o="X"),{valid:o===t.charAt(8)}}}}),Ga);var Ua,ja=Ba.exports,Ka={exports:{}},za={};Ka.exports=function(){if(Ua)return za;Ua=1;var e=i,t=e.utils.format,r=e.utils.removeUndefined;return za.zipCode=function(){var e=["AT","BG","BR","CA","CH","CZ","DE","DK","ES","FR","GB","IE","IN","IT","MA","NL","PL","PT","RO","RU","SE","SG","SK","US"];return{validate:function(a){var n=Object.assign({},{message:""},r(a.options));if(""===a.value||!n.country)return{valid:!0};var i=a.value.substr(0,2);if(!(i="function"==typeof n.country?n.country.call(this):n.country)||-1===e.indexOf(i.toUpperCase()))return{valid:!0};var s=!1;switch(i=i.toUpperCase()){case"AT":case"CH":s=/^([1-9]{1})(\d{3})$/.test(a.value);break;case"BG":s=/^([1-9]{1}[0-9]{3})$/.test(a.value);break;case"BR":s=/^(\d{2})([.]?)(\d{3})([-]?)(\d{3})$/.test(a.value);break;case"CA":s=/^(?:A|B|C|E|G|H|J|K|L|M|N|P|R|S|T|V|X|Y){1}[0-9]{1}(?:A|B|C|E|G|H|J|K|L|M|N|P|R|S|T|V|W|X|Y|Z){1}\s?[0-9]{1}(?:A|B|C|E|G|H|J|K|L|M|N|P|R|S|T|V|W|X|Y|Z){1}[0-9]{1}$/i.test(a.value);break;case"CZ":case"SK":s=/^(\d{3})([ ]?)(\d{2})$/.test(a.value);break;case"DE":s=/^(?!01000|99999)(0[1-9]\d{3}|[1-9]\d{4})$/.test(a.value);break;case"DK":s=/^(DK(-|\s)?)?\d{4}$/i.test(a.value);break;case"ES":s=/^(?:0[1-9]|[1-4][0-9]|5[0-2])\d{3}$/.test(a.value);break;case"FR":s=/^[0-9]{5}$/i.test(a.value);break;case"GB":s=function(e){for(var t="[ABCDEFGHIJKLMNOPRSTUWYZ]",r="[ABCDEFGHKLMNOPQRSTUVWXY]",a="[ABDEFGHJLNPQRSTUWXYZ]",n=0,i=[new RegExp("^(".concat(t,"{1}").concat(r,"?[0-9]{1,2})(\\s*)([0-9]{1}").concat(a,"{2})$"),"i"),new RegExp("^(".concat(t,"{1}[0-9]{1}").concat("[ABCDEFGHJKPMNRSTUVWXY]","{1})(\\s*)([0-9]{1}").concat(a,"{2})$"),"i"),new RegExp("^(".concat(t,"{1}").concat(r,"{1}?[0-9]{1}").concat("[ABEHMNPRVWXY]","{1})(\\s*)([0-9]{1}").concat(a,"{2})$"),"i"),new RegExp("^(BF1)(\\s*)([0-6]{1}[ABDEFGHJLNPQRST]{1}[ABDEFGHJLNPQRSTUWZYZ]{1})$","i"),/^(GIR)(\s*)(0AA)$/i,/^(BFPO)(\s*)([0-9]{1,4})$/i,/^(BFPO)(\s*)(c\/o\s*[0-9]{1,3})$/i,/^([A-Z]{4}
26280)(\s*)(1ZZ)$/i,/^(AI-2640)$/i];n<i.length;n++)if(i[n].test(e))return!0;return!1}(a.value);break;case"IN":s=/^\d{3}\s?\d{3}$/.test(a.value);break;case"IE":s=/^(D6W|[ACDEFHKNPRTVWXY]\d{2})\s[0-9ACDEFHKNPRTVWXY]{4}$/.test(a.value);break;case"IT":s=/^(I-|IT-)?\d{5}$/i.test(a.value);break;case"MA":s=/^[1-9][0-9]{4}$/i.test(a.value);break;case"NL":s=/^[1-9][0-9]{3} ?(?!sa|sd|ss)[a-z]{2}$/i.test(a.value);break;case"PL":s=/^[0-9]{2}-[0-9]{3}$/.test(a.value);break;case"PT":s=/^[1-9]\d{3}-\d{3}$/.test(a.value);break;case"RO":s=/^(0[1-8]{1}|[1-9]{1}[0-5]{1})?[0-9]{4}$/i.test(a.value);break;case"RU":s=/^[0-9]{6}$/i.test(a.value);break;case"SE":s=/^(S-)?\d{3}\s?\d{2}$/i.test(a.value);break;case"SG":s=/^([0][1-9]|[1-6][0-9]|[7]([0-3]|[5-9])|[8][0-2])(\d{4})$/i.test(a.value);break;default:s=/^\d{4,5}([-]?\d{4})?$/.test(a.value)}return{message:t(a.l10n&&a.l10n.zipCode?n.message||a.l10n.zipCode.country:n.message,a.l10n&&a.l10n.zipCode&&a.l10n.zipCode.countries?a.l10n.zipCode.countries[i]:i),valid:s}}}},za}();var Ya=Ka.exports,Ja={Alias:d.Alias,Aria:p.Aria,Declarative:g.Declarative,DefaultSubmit:E.DefaultSubmit,Dependency:O.Dependency,Excluded:k.Excluded,FieldStatus:N.FieldStatus,Framework:_.Framework,Icon:j.Icon,Message:D.Message,Sequence:J.Sequence,SubmitButton:Q.SubmitButton,Tooltip:ae.Tooltip,Trigger:oe.Trigger},Xa={between:ce.between,blank:he.blank,callback:Ae.callback,choice:xe.choice,creditCard:Ve.creditCard,date:He.date,different:Te.different,digits:De.digits,emailAddress:Ge.emailAddress,file:ze.file,greaterThan:We.greaterThan,identical:tt.identical,integer:it.integer,ip:dt.ip,lessThan:pt.lessThan,notEmpty:gt.notEmpty,numeric:Et.numeric,promise:Ot.promise,regexp:kt.regexp,remote:Nt.remote,stringCase:Pt.stringCase,stringLength:_t.stringLength,uri:jt.uri,base64:Jt.base64,bic:Qt.bic,color:ar.color,cusip:or.cusip,ean:cr.ean,ein:hr.ein,grid:Ar.grid,hex:xr.hex,iban:Vr.iban,id:Hr.id,imei:Tr.imei,imo:Dr.imo,isbn:Gr.isbn,isin:zr.isin,ismn:Wr.ismn,issn:ta.issn,mac:ia.mac,meid:da.meid,phone:pa.phone,rtn:ga.rtn,sedol:Ea.sedol,siren:Oa.siren,siret:ka.siret,step:Na.step,uuid:Pa.uuid,vat:_a.vat,vin:ja.vin,zipCode:Ya.zipCode};e.Plugin=i.Plugin,e.algorithms=i.algorithms,e.formValidation=function(e,t){var r=i.formValidation(e,t);return Object.keys(Xa).forEach((function(e){return r.registerValidator(e,Xa[e])})),r},e.plugins=Ja,e.utils=i.utils,e.validators=Xa}));
26281
26282/** 
26283 * FormValidation (https://formvalidation.io)
26284 * The best validation library for JavaScript
26285 * (c) 2013 - 2023 Nguyen Huu Phuoc <[email protected]>
26286 *
26287 * @license https://formvalidation.io/license
26288 * @package @form-validation/plugin-bootstrap5
26289 * @version 2.4.0
26290 */
26291
26292!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("@form-validation/core"),require("@form-validation/plugin-framework")):"function"==typeof define&&define.amd?define(["@form-validation/core","@form-validation/plugin-framework"],t):((e="undefined"!=typeof globalThis?globalThis:e||self).FormValidation=e.FormValidation||{},e.FormValidation.plugins=e.FormValidation.plugins||{},e.FormValidation.plugins.Bootstrap5=t(e.FormValidation,e.FormValidation.plugins))}(this,(function(e,t){"use strict";
26292var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},n(e,t)};var i=e.utils.classSet,o=e.utils.hasClass;return function(e){function t(t){var n=e.call(this,Object.assign({},{eleInvalidClass:"is-invalid",eleValidClass:"is-valid",formClass:"fv-plugins-bootstrap5",rowInvalidClass:"fv-plugins-bootstrap5-row-invalid",rowPattern:/^(.*)(col|offset)(-(sm|md|lg|xl))*-[0-9]+(.*)$/,rowSelector:".row",rowValidClass:"fv-plugins-bootstrap5-row-valid"},t))||this;return n.eleValidatedHandler=n.handleElementValidated.bind(n),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}(t,e),t.prototype.install=function(){e.prototype.install.call(this),this.core.on("core.element.validated",this.eleValidatedHandler)},t.prototype.uninstall=function(){e.prototype.uninstall.call(this),this.core.off("core.element.validated",this.eleValidatedHandler)},t.prototype.handleElementValidated=function(e){var t=e.element.getAttribute("type");if(("checkbox"===t||"radio"===t)&&e.elements.length>1&&o(e.element,"form-check-input")){var n=e.element.parentElement;o(n,"form-check")&&o(n,"form-check-inline")&&i(n,{"is-invalid":!e.valid,"is-valid":e.valid})}},t.prototype.onIconPlaced=function(e){i(e.element,{"fv-plugins-icon-input":!0});var t=e.element.parentElement;o(t,"input-group")&&(t.parentElement.insertBefore(e.iconElement,t.nextSibling),e.element.nextElementSibling&&o(e.element.nextElementSibling,"input-group-text")&&i(e.iconElement,{"fv-plugins-icon-input-group":!0}));var n=e.element.getAttribute("type");if("checkbox"===n||"radio"===n){var l=t.parentElement;o(t,"form-check")?(i(e.iconElement,{"fv-plugins-icon-check":!0}),t.parentElement.insertBefore(e.iconElement,t.nextSibling)):o(t.parentElement,"form-check")&&(i(e.iconElement,{"fv-plugins-icon-check":!0}),l.parentElement.insertBefore(e.iconElement,l.nextSibling))}},t.prototype.onMessagePlaced=function(e){e.messageElement.classList.add("invalid-feedback");var t=e.element.parentElement;if(o(t,"input-group"))return t.appendChild(e.messageElement),void i(t,{"has-validation":!0});var n=e.element.getAttribute("type");"checkbox"!==n&&"radio"!==n||!o(e.element,"form-check-input")||o(t,"form-check")||o(t,"form-check-inline")||e.elements[e.elements.length-1].parentElement.appendChild(e.messageElement)},t}(t.Framework)}));
26293
26294/* ==========================================================
26295 * bootstrap-maxlength.js v2.0.0
26296 *
26297 * Copyright (c) 2013-2021 Maurizio Napoleoni;
26298 *
26299 * Licensed under the terms of the MIT license.
26300 * See: https://github.com/mimo84/bootstrap-maxlength/blob/master/LICENSE
26301 * ========================================================== */
26302/*global  jQuery*/
26303
26304(function ($) {
26305  'use strict';
26306  /**
26307   * We need an event when the elements are destroyed
26308   * because if an input is removed, we have to remove the
26309   * maxlength object associated (if any).
26310   * From:
26311   * http://stackoverflow.com/questions/2200494/jquery-trigger-event-when-an-element-is-removed-from-the-dom
26312   */
26313  if (!$.event.special.destroyed) {
26314    $.event.special.destroyed = {
26315      remove: function (o) {
26316        if (o.handler) {
26317          o.handler();
26318        }
26319      }
26320    };
26321  }
26322
26323
26324  $.fn.extend({
26325    maxlength: function (options, callback) {
26326      var documentBody = $('body'),
26327        defaults = {
26328          showOnReady: false, // true to always show when indicator is ready
26329          alwaysShow: true, // if true the indicator it's always shown.
26330          threshold: 0, // Represents how many chars left are needed to show up the counter
26331          warningClass: 'small form-text text-body-secondary',
26332          limitReachedClass: 'small form-text text-danger',
26333          limitExceededClass: '',
26334          separator: ' / ',
26335          preText: '',
26336          postText: '',
26337          showMaxLength: true,
26338          placement: 'bottom-right-inside',
26339          message: null, // an alternative way to provide the message text
26340          showCharsTyped: true, // show the number of characters typed and not the number of characters remaining
26341          validate: false, // if the browser doesn't support the maxlength attribute, attempt to type more than the indicated chars, will be prevented.
26342          utf8: false, // counts using bytesize rather than length. eg: '£' is counted as 2 characters.
26343          appendToParent: false, // append the indicator to the input field's parent instead of body
26344          twoCharLinebreak: true, // count linebreak as 2 characters to match IE/Chrome textarea validation. As well as DB storage.
26345          customMaxAttribute: null, // null = use maxlength attribute and browser functionality, string = use specified attribute instead.
26346          customMaxClass: 'overmax', // Class to add to the input field when the maxlength is exceeded.
26347          allowOverMax: false, // Form submit validation is handled on your own.  when maxlength has been exceeded 'overmax' class added to element
26348          zIndex: 1099
26349        };
26350
26351      if ($.isFunction(options) && !callback) {
26352        callback = options;
26353        options = {};
26354      }
26355      options = $.extend(defaults, options);
26356
26357
26358      /**
26359       * Return the byte count of the specified character in UTF8 encoding.
26360       * Note: This won't cover UTF-8 characters that are 4 bytes long.
26361       *
26362       * @param input
26363       * @return {number}
26364       */
26365      function utf8CharByteCount(character) {
26366        var c = character.charCodeAt();
26367        // Not c then 0, else c < 128 then 1, else c < 2048 then 2, else 3
26368        return !c ? 0 : c < 128 ? 1 : c < 2048 ? 2 : 3;
26369      }
26370
26371      /**
26372       * Return the length of the specified input in UTF8 encoding.
26373       *
26374       * @param input
26375       * @return {number}
26376       */
26377      function utf8Length(string) {
26378        return string.split("")
26379          .map(utf8CharByteCount)
26380          // Prevent reduce from throwing an error if the string is empty.
26381          .concat(0)
26382          .reduce(function (sum, val) {
26383            return sum + val;
26384          });
26385      }
26386
26387      /**
26388       * Return the length of the specified input.
26389       *
26390       * @param input
26391       * @return {number}
26392       */
vendor: 15,206 bytes, lines 26393-26867
26393      function inputLength(input) {
26394        var text = input.val();
26395
26396        if (options.twoCharLinebreak) {
26397          // Count all line breaks as 2 characters
26398          text = text.replace(/\r(?!\n)|\n(?!\r)/g, '\r\n');
26399        } else {
26400          // Remove all double-character (\r\n) linebreaks, so they're counted only once.
26401          text = text.replace(/(?:\r\n|\r|\n)/g, '\n');
26402        }
26403
26404        var currentLength = 0;
26405
26406        if (options.utf8) {
26407          currentLength = utf8Length(text);
26408        } else {
26409          currentLength = text.length;
26410        }
26411
26412        // Remove "C:\fakepath\" from counter when using file input
26413        // Fix https://github.com/mimo84/bootstrap-maxlength/issues/146
26414        if (input.prop("type") === "file" && input.val() !== "") {
26415          currentLength -= 12;
26416        }
26417
26418        return currentLength;
26419      }
26420
26421      /**
26422       * Truncate the text of the specified input.
26423       *
26424       * @param input
26425       * @param limit
26426       */
26427      function truncateChars(input, maxlength) {
26428        var text = input.val();
26429
26430        if (options.twoCharLinebreak) {
26431          text = text.replace(/\r(?!\n)|\n(?!\r)/g, '\r\n');
26432
26433          if (text[text.length - 1] === '\n') {
26434            maxlength -= text.length % 2;
26435          }
26436        }
26437
26438        if (options.utf8) {
26439          var indexedSize = text.split("").map(utf8CharByteCount);
26440          for (
26441            var removedBytes = 0,
26442            bytesPastMax = utf8Length(text) - maxlength; removedBytes < bytesPastMax; removedBytes += indexedSize.pop()
26443          );
26444          maxlength -= (maxlength - indexedSize.length);
26445        }
26446
26447        input.val(text.substr(0, maxlength));
26448      }
26449
26450      /**
26451       * Return true if the indicator should be showing up.
26452       *
26453       * @param input
26454       * @param threshold
26455       * @param maxlength
26456       * @return {number}
26457       */
26458      function charsLeftThreshold(input, threshold, maxlength) {
26459        var output = true;
26460        if (!options.alwaysShow && (maxlength - inputLength(input) > threshold)) {
26461          output = false;
26462        }
26463        return output;
26464      }
26465
26466      /**
26467       * Returns how many chars are left to complete the fill up of the form.
26468       *
26469       * @param input
26470       * @param maxlength
26471       * @return {number}
26472       */
26473      function remainingChars(input, maxlength) {
26474        var length = maxlength - inputLength(input);
26475        return length;
26476      }
26477
26478      /**
26479       * When called displays the indicator.
26480       *
26481       * @param indicator
26482       */
26483      function showRemaining(currentInput, indicator) {
26484        indicator.css({
26485          display: 'block'
26486        });
26487        currentInput.trigger('maxlength.shown');
26488      }
26489
26490      /**
26491       * When called shows the indicator.
26492       *
26493       * @param indicator
26494       */
26495      function hideRemaining(currentInput, indicator) {
26496
26497        if (options.alwaysShow) {
26498          return;
26499        }
26500
26501        indicator.css({
26502          display: 'none'
26503        });
26504        currentInput.trigger('maxlength.hidden');
26505      }
26506
26507      /**
26508       * This function updates the value in the indicator
26509       *
26510       * @param maxLengthThisInput
26511       * @param typedChars
26512       * @return String
26513       */
26514      function updateMaxLengthHTML(currentInputText, maxLengthThisInput, typedChars) {
26515        var output = '';
26516        if (options.message) {
26517          if (typeof options.message === 'function') {
26518            output = options.message(currentInputText, maxLengthThisInput);
26519          } else {
26520            output = options.message.replace('%charsTyped%', typedChars)
26521              .replace('%charsRemaining%', maxLengthThisInput - typedChars)
26522              .replace('%charsTotal%', maxLengthThisInput);
26523          }
26524        } else {
26525          if (options.preText) {
26526            output += options.preText;
26527          }
26528          if (!options.showCharsTyped) {
26529            output += maxLengthThisInput - typedChars;
26530          } else {
26531            output += typedChars;
26532          }
26533          if (options.showMaxLength) {
26534            output += options.separator + maxLengthThisInput;
26535          }
26536          if (options.postText) {
26537            output += options.postText;
26538          }
26539        }
26540        return output;
26541      }
26542
26543      /**
26544       * This function updates the value of the counter in the indicator.
26545       * Wants as parameters: the number of remaining chars, the element currently managed,
26546       * the maxLength for the current input and the indicator generated for it.
26547       *
26548       * @param remaining
26549       * @param currentInput
26550       * @param maxLengthCurrentInput
26551       * @param maxLengthIndicator
26552       */
26553      function manageRemainingVisibility(remaining, currentInput, maxLengthCurrentInput, maxLengthIndicator) {
26554        if (maxLengthIndicator) {
26555          maxLengthIndicator.html(updateMaxLengthHTML(currentInput.val(), maxLengthCurrentInput, (maxLengthCurrentInput - remaining)));
26556
26557          if (remaining > 0) {
26558            if (charsLeftThreshold(currentInput, options.threshold, maxLengthCurrentInput)) {
26559              showRemaining(currentInput, maxLengthIndicator.removeClass(options.limitReachedClass + ' ' + options.limitExceededClass).addClass(options.warningClass));
26560            } else {
26561              hideRemaining(currentInput, maxLengthIndicator);
26562            }
26563          } else {
26564            if (!options.limitExceededClass) {
26565              showRemaining(currentInput, maxLengthIndicator.removeClass(options.warningClass).addClass(options.limitReachedClass));
26566            } else {
26567              if (remaining === 0) {
26568                showRemaining(currentInput, maxLengthIndicator.removeClass(options.warningClass + ' ' + options.limitExceededClass).addClass(options.limitReachedClass));
26569              } else {
26570                showRemaining(currentInput, maxLengthIndicator.removeClass(options.warningClass + ' ' + options.limitReachedClass).addClass(options.limitExceededClass));
26571              }
26572            }
26573          }
26574        }
26575
26576        if (options.customMaxAttribute) {
26577          // class to use for form validation on custom maxlength attribute
26578          if (remaining < 0) {
26579            currentInput.addClass(options.customMaxClass);
26580          } else {
26581            currentInput.removeClass(options.customMaxClass);
26582          }
26583        }
26584      }
26585
26586      /**
26587       * This function returns an object containing all the
26588       * informations about the position of the current input
26589       *
26590       * @param currentInput
26591       * @return object {bottom height left right top width}
26592       *
26593       */
26594      function getPosition(currentInput) {
26595        var el = currentInput[0];
26596        return $.extend({}, (typeof el.getBoundingClientRect === 'function') ? el.getBoundingClientRect() : {
26597          width: el.offsetWidth,
26598          height: el.offsetHeight
26599        }, currentInput.offset());
26600      }
26601
26602      /**
26603       * This function places the maxLengthIndicator based on placement config object.
26604       *
26605       * @param {object} placement
26606       * @param {$} maxLengthIndicator
26607       * @return null
26608       *
26609       */
26610      function placeWithCSS(placement, maxLengthIndicator) {
26611        if (!placement || !maxLengthIndicator) {
26612          return;
26613        }
26614
26615        var POSITION_KEYS = [
26616          'top',
26617          'bottom',
26618          'left',
26619          'right',
26620          'position'
26621        ];
26622
26623        var cssPos = {};
26624
26625        // filter css properties to position
26626        $.each(POSITION_KEYS, function (i, key) {
26627          var val = options.placement[key];
26628          if (typeof val !== 'undefined') {
26629            cssPos[key] = val;
26630          }
26631        });
26632
26633        maxLengthIndicator.css(cssPos);
26634
26635        return;
26636      }
26637
26638
26639      /**
26640       * This function places the maxLengthIndicator at the
26641       * top / bottom / left / right of the currentInput
26642       *
26643       * @param currentInput
26644       * @param maxLengthIndicator
26645       * @return null
26646       *
26647       */
26648      function place(currentInput, maxLengthIndicator) {
26649        var pos = getPosition(currentInput);
26650
26651        // Supports custom placement handler
26652        if ($.type(options.placement) === 'function') {
26653          options.placement(currentInput, maxLengthIndicator, pos);
26654          return;
26655        }
26656
26657        // Supports custom placement via css positional properties
26658        if ($.isPlainObject(options.placement)) {
26659          placeWithCSS(options.placement, maxLengthIndicator);
26660          return;
26661        }
26662
26663        var inputOuter = currentInput.outerWidth(),
26664          outerWidth = maxLengthIndicator.outerWidth(),
26665          actualWidth = maxLengthIndicator.width(),
26666          actualHeight = maxLengthIndicator.height();
26667
26668        // get the right position if the indicator is appended to the input's parent
26669        if (options.appendToParent) {
26670          pos.top -= currentInput.parent().offset().top;
26671          pos.left -= currentInput.parent().offset().left;
26672        }
26673
26674        switch (options.placement) {
26675          case 'bottom':
26676            maxLengthIndicator.css({
26677              top: pos.top + pos.height,
26678              left: pos.left + pos.width / 2 - actualWidth / 2
26679            });
26680            break;
26681          case 'top':
26682            maxLengthIndicator.css({
26683              top: pos.top - actualHeight,
26684              left: pos.left + pos.width / 2 - actualWidth / 2
26685            });
26686            break;
26687          case 'left':
26688            maxLengthIndicator.css({
26689              top: pos.top + pos.height / 2 - actualHeight / 2,
26690              left: pos.left - actualWidth
26691            });
26692            break;
26693          case 'right':
26694            maxLengthIndicator.css({
26695              top: pos.top + pos.height / 2 - actualHeight / 2,
26696              left: pos.left + pos.width
26697            });
26698            break;
26699          case 'bottom-right':
26700            maxLengthIndicator.css({
26701              top: pos.top + pos.height,
26702              left: pos.left + pos.width
26703            });
26704            break;
26705          case 'top-right':
26706            maxLengthIndicator.css({
26707              top: pos.top - actualHeight,
26708              left: pos.left + inputOuter
26709            });
26710            break;
26711          case 'top-left':
26712            maxLengthIndicator.css({
26713              top: pos.top - actualHeight,
26714              left: pos.left - outerWidth
26715            });
26716            break;
26717          case 'bottom-left':
26718            maxLengthIndicator.css({
26719              top: pos.top + currentInput.outerHeight(),
26720              left: pos.left - outerWidth
26721            });
26722            break;
26723          case 'centered-right':
26724            maxLengthIndicator.css({
26725              top: pos.top + (actualHeight / 2),
26726              left: pos.left + inputOuter - outerWidth - 3
26727            });
26728            break;
26729
26730          // Some more options for placements
26731          case 'bottom-right-inside':
26732            maxLengthIndicator.css({
26733              top: pos.top + pos.height,
26734              left: pos.left + pos.width - outerWidth
26735            });
26736            break;
26737          case 'top-right-inside':
26738            maxLengthIndicator.css({
26739              top: pos.top - actualHeight,
26740              left: pos.left + inputOuter - outerWidth
26741            });
26742            break;
26743          case 'top-left-inside':
26744            maxLengthIndicator.css({
26745              top: pos.top - actualHeight,
26746              left: pos.left
26747            });
26748            break;
26749          case 'bottom-left-inside':
26750            maxLengthIndicator.css({
26751              top: pos.top + currentInput.outerHeight(),
26752              left: pos.left
26753            });
26754            break;
26755        }
26756      }
26757
26758      /**
26759       * This function retrieves the maximum length of currentInput
26760       *
26761       * @param currentInput
26762       * @return {number}
26763       *
26764       */
26765      function getMaxLength(currentInput) {
26766        var max = currentInput.attr('maxlength') || options.customMaxAttribute;
26767
26768        if (options.customMaxAttribute && !options.allowOverMax) {
26769          var custom = currentInput.attr(options.customMaxAttribute);
26770          if (!max || custom < max) {
26771            max = custom;
26772          }
26773        }
26774
26775        if (!max) {
26776          max = currentInput.attr('size');
26777        }
26778        return max;
26779      }
26780
26781      return this.each(function () {
26782
26783        var currentInput = $(this),
26784          maxLengthCurrentInput,
26785          maxLengthIndicator;
26786
26787        $(window).resize(function () {
26788          if (maxLengthIndicator) {
26789            place(currentInput, maxLengthIndicator);
26790          }
26791        });
26792
26793        function firstInit() {
26794          var maxlengthContent = updateMaxLengthHTML(currentInput.val(), maxLengthCurrentInput, '0');
26795          maxLengthCurrentInput = getMaxLength(currentInput);
26796
26797          if (!maxLengthIndicator) {
26798            maxLengthIndicator = $('<span class="bootstrap-maxlength"></span>').css({
26799              display: 'none',
26800              position: 'absolute',
26801              whiteSpace: 'nowrap',
26802              zIndex: options.zIndex
26803            }).html(maxlengthContent);
26804          }
26805
26806          // We need to detect resizes if we are dealing with a textarea:
26807          if (currentInput.is('textarea')) {
26808            currentInput.data('maxlenghtsizex', currentInput.outerWidth());
26809            currentInput.data('maxlenghtsizey', currentInput.outerHeight());
26810
26811            currentInput.mouseup(function () {
26812              if (currentInput.outerWidth() !== currentInput.data('maxlenghtsizex') || currentInput.outerHeight() !== currentInput.data('maxlenghtsizey')) {
26813                place(currentInput, maxLengthIndicator);
26814              }
26815
26816              currentInput.data('maxlenghtsizex', currentInput.outerWidth());
26817              currentInput.data('maxlenghtsizey', currentInput.outerHeight());
26818            });
26819          }
26820
26821          if (options.appendToParent) {
26822            currentInput.parent().append(maxLengthIndicator);
26823            currentInput.parent().css('position', 'relative');
26824          } else {
26825            documentBody.append(maxLengthIndicator);
26826          }
26827
26828          var remaining = remainingChars(currentInput, getMaxLength(currentInput));
26829          manageRemainingVisibility(remaining, currentInput, maxLengthCurrentInput, maxLengthIndicator);
26830          place(currentInput, maxLengthIndicator);
26831        }
26832
26833        if (options.showOnReady) {
26834          currentInput.ready(function () {
26835            firstInit();
26836          });
26837        } else {
26838          currentInput.focus(function () {
26839            firstInit();
26840          });
26841        }
26842
26843        currentInput.on('maxlength.reposition', function () {
26844          place(currentInput, maxLengthIndicator);
26845        });
26846
26847
26848        currentInput.on('destroyed', function () {
26849          if (maxLengthIndicator) {
26850            maxLengthIndicator.remove();
26851          }
26852        });
26853
26854        currentInput.on('blur', function () {
26855          if (maxLengthIndicator && !options.showOnReady) {
26856            maxLengthIndicator.remove();
26857          }
26858        });
26859
26860        currentInput.on('input', function () {
26861          var maxlength = getMaxLength(currentInput),
26862            remaining = remainingChars(currentInput, maxlength),
26863            output = true;
26864
26865          if (options.validate && remaining < 0) {
26866            truncateChars(currentInput, maxlength);
26867            output = false;
vendor: 62,626 bytes, lines 26868-28343
26868          } else {
26869            manageRemainingVisibility(remaining, currentInput, maxLengthCurrentInput, maxLengthIndicator);
26870          }
26871
26872          return output;
26873        });
26874      });
26875    }
26876  });
26877}(jQuery));
26878/**
26879* @version: 3.1
26880* @author: Dan Grossman http://www.dangrossman.info/
26881* @copyright: Copyright (c) 2012-2019 Dan Grossman. All rights reserved.
26882* @license: Licensed under the MIT license. See http://www.opensource.org/licenses/mit-license.php
26883* @website: http://www.daterangepicker.com/
26884*/
26885// Following the UMD template https://github.com/umdjs/umd/blob/master/templates/returnExportsGlobal.js
26886(function (root, factory) {
26887    if (typeof define === 'function' && define.amd) {
26888        // AMD. Make globaly available as well
26889        define(['moment', 'jquery'], function (moment, jquery) {
26890            if (!jquery.fn) jquery.fn = {}; // webpack server rendering
26891            if (typeof moment !== 'function' && moment.hasOwnProperty('default')) moment = moment['default']
26892            return factory(moment, jquery);
26893        });
26894    } else if (typeof module === 'object' && module.exports) {
26895        // Node / Browserify
26896        //isomorphic issue
26897        var jQuery = (typeof window != 'undefined') ? window.jQuery : undefined;
26898        if (!jQuery) {
26899            jQuery = require('jquery');
26900            if (!jQuery.fn) jQuery.fn = {};
26901        }
26902        var moment = (typeof window != 'undefined' && typeof window.moment != 'undefined') ? window.moment : require('moment');
26903        module.exports = factory(moment, jQuery);
26904    } else {
26905        // Browser globals
26906        root.daterangepicker = factory(root.moment, root.jQuery);
26907    }
26908}(this, function(moment, $) {
26909    var DateRangePicker = function(element, options, cb) {
26910
26911        //default settings for options
26912        this.parentEl = 'body';
26913        this.element = $(element);
26914        this.startDate = moment().startOf('day');
26915        this.endDate = moment().endOf('day');
26916        this.minDate = false;
26917        this.maxDate = false;
26918        this.maxSpan = false;
26919        this.autoApply = false;
26920        this.singleDatePicker = false;
26921        this.showDropdowns = false;
26922        this.minYear = moment().subtract(100, 'year').format('YYYY');
26923        this.maxYear = moment().add(100, 'year').format('YYYY');
26924        this.showWeekNumbers = false;
26925        this.showISOWeekNumbers = false;
26926        this.showCustomRangeLabel = true;
26927        this.timePicker = false;
26928        this.timePicker24Hour = false;
26929        this.timePickerIncrement = 1;
26930        this.timePickerSeconds = false;
26931        this.linkedCalendars = true;
26932        this.autoUpdateInput = true;
26933        this.alwaysShowCalendars = false;
26934        this.ranges = {};
26935
26936        this.opens = 'right';
26937        if (this.element.hasClass('pull-right'))
26938            this.opens = 'left';
26939
26940        this.drops = 'down';
26941        if (this.element.hasClass('dropup'))
26942            this.drops = 'up';
26943
26944        this.buttonClasses = 'btn btn-sm';
26945        this.applyButtonClasses = 'btn-primary';
26946        this.cancelButtonClasses = 'btn-default';
26947
26948        this.locale = {
26949            direction: 'ltr',
26950            format: moment.localeData().longDateFormat('L'),
26951            separator: ' - ',
26952            applyLabel: 'Apply',
26953            cancelLabel: 'Cancel',
26954            weekLabel: 'W',
26955            customRangeLabel: 'Custom Range',
26956            daysOfWeek: moment.weekdaysMin(),
26957            monthNames: moment.monthsShort(),
26958            firstDay: moment.localeData().firstDayOfWeek()
26959        };
26960
26961        this.callback = function() { };
26962
26963        //some state information
26964        this.isShowing = false;
26965        this.leftCalendar = {};
26966        this.rightCalendar = {};
26967
26968        //custom options from user
26969        if (typeof options !== 'object' || options === null)
26970            options = {};
26971
26972        //allow setting options with data attributes
26973        //data-api options will be overwritten with custom javascript options
26974        options = $.extend(this.element.data(), options);
26975
26976        //html template for the picker UI
26977        if (typeof options.template !== 'string' && !(options.template instanceof $))
26978            options.template =
26979            '<div class="daterangepicker">' +
26980                '<div class="ranges"></div>' +
26981                '<div class="drp-calendar left">' +
26982                    '<div class="calendar-table"></div>' +
26983                    '<div class="calendar-time"></div>' +
26984                '</div>' +
26985                '<div class="drp-calendar right">' +
26986                    '<div class="calendar-table"></div>' +
26987                    '<div class="calendar-time"></div>' +
26988                '</div>' +
26989                '<div class="drp-buttons">' +
26990                    '<span class="drp-selected"></span>' +
26991                    '<button class="cancelBtn" type="button"></button>' +
26992                    '<button class="applyBtn" disabled="disabled" type="button"></button> ' +
26993                '</div>' +
26994            '</div>';
26995
26996        this.parentEl = (options.parentEl && $(options.parentEl).length) ? $(options.parentEl) : $(this.parentEl);
26997        this.container = $(options.template).appendTo(this.parentEl);
26998
26999        //
27000        // handle all the possible options overriding defaults
27001        //
27002
27003        if (typeof options.locale === 'object') {
27004
27005            if (typeof options.locale.direction === 'string')
27006                this.locale.direction = options.locale.direction;
27007
27008            if (typeof options.locale.format === 'string')
27009                this.locale.format = options.locale.format;
27010
27011            if (typeof options.locale.separator === 'string')
27012                this.locale.separator = options.locale.separator;
27013
27014            if (typeof options.locale.daysOfWeek === 'object')
27015                this.locale.daysOfWeek = options.locale.daysOfWeek.slice();
27016
27017            if (typeof options.locale.monthNames === 'object')
27018              this.locale.monthNames = options.locale.monthNames.slice();
27019
27020            if (typeof options.locale.firstDay === 'number')
27021              this.locale.firstDay = options.locale.firstDay;
27022
27023            if (typeof options.locale.applyLabel === 'string')
27024              this.locale.applyLabel = options.locale.applyLabel;
27025
27026            if (typeof options.locale.cancelLabel === 'string')
27027              this.locale.cancelLabel = options.locale.cancelLabel;
27028
27029            if (typeof options.locale.weekLabel === 'string')
27030              this.locale.weekLabel = options.locale.weekLabel;
27031
27032            if (typeof options.locale.customRangeLabel === 'string'){
27033                //Support unicode chars in the custom range name.
27034                var elem = document.createElement('textarea');
27035                elem.innerHTML = options.locale.customRangeLabel;
27036                var rangeHtml = elem.value;
27037                this.locale.customRangeLabel = rangeHtml;
27038            }
27039        }
27040        this.container.addClass(this.locale.direction);
27041
27042        if (typeof options.startDate === 'string')
27043            this.startDate = moment(options.startDate, this.locale.format);
27044
27045        if (typeof options.endDate === 'string')
27046            this.endDate = moment(options.endDate, this.locale.format);
27047
27048        if (typeof options.minDate === 'string')
27049            this.minDate = moment(options.minDate, this.locale.format);
27050
27051        if (typeof options.maxDate === 'string')
27052            this.maxDate = moment(options.maxDate, this.locale.format);
27053
27054        if (typeof options.startDate === 'object')
27055            this.startDate = moment(options.startDate);
27056
27057        if (typeof options.endDate === 'object')
27058            this.endDate = moment(options.endDate);
27059
27060        if (typeof options.minDate === 'object')
27061            this.minDate = moment(options.minDate);
27062
27063        if (typeof options.maxDate === 'object')
27064            this.maxDate = moment(options.maxDate);
27065
27066        // sanity check for bad options
27067        if (this.minDate && this.startDate.isBefore(this.minDate))
27068            this.startDate = this.minDate.clone();
27069
27070        // sanity check for bad options
27071        if (this.maxDate && this.endDate.isAfter(this.maxDate))
27072            this.endDate = this.maxDate.clone();
27073
27074        if (typeof options.applyButtonClasses === 'string')
27075            this.applyButtonClasses = options.applyButtonClasses;
27076
27077        if (typeof options.applyClass === 'string') //backwards compat
27078            this.applyButtonClasses = options.applyClass;
27079
27080        if (typeof options.cancelButtonClasses === 'string')
27081            this.cancelButtonClasses = options.cancelButtonClasses;
27082
27083        if (typeof options.cancelClass === 'string') //backwards compat
27084            this.cancelButtonClasses = options.cancelClass;
27085
27086        if (typeof options.maxSpan === 'object')
27087            this.maxSpan = options.maxSpan;
27088
27089        if (typeof options.dateLimit === 'object') //backwards compat
27090            this.maxSpan = options.dateLimit;
27091
27092        if (typeof options.opens === 'string')
27093            this.opens = options.opens;
27094
27095        if (typeof options.drops === 'string')
27096            this.drops = options.drops;
27097
27098        if (typeof options.showWeekNumbers === 'boolean')
27099            this.showWeekNumbers = options.showWeekNumbers;
27100
27101        if (typeof options.showISOWeekNumbers === 'boolean')
27102            this.showISOWeekNumbers = options.showISOWeekNumbers;
27103
27104        if (typeof options.buttonClasses === 'string')
27105            this.buttonClasses = options.buttonClasses;
27106
27107        if (typeof options.buttonClasses === 'object')
27108            this.buttonClasses = options.buttonClasses.join(' ');
27109
27110        if (typeof options.showDropdowns === 'boolean')
27111            this.showDropdowns = options.showDropdowns;
27112
27113        if (typeof options.minYear === 'number')
27114            this.minYear = options.minYear;
27115
27116        if (typeof options.maxYear === 'number')
27117            this.maxYear = options.maxYear;
27118
27119        if (typeof options.showCustomRangeLabel === 'boolean')
27120            this.showCustomRangeLabel = options.showCustomRangeLabel;
27121
27122        if (typeof options.singleDatePicker === 'boolean') {
27123            this.singleDatePicker = options.singleDatePicker;
27124            if (this.singleDatePicker)
27125                this.endDate = this.startDate.clone();
27126        }
27127
27128        if (typeof options.timePicker === 'boolean')
27129            this.timePicker = options.timePicker;
27130
27131        if (typeof options.timePickerSeconds === 'boolean')
27132            this.timePickerSeconds = options.timePickerSeconds;
27133
27134        if (typeof options.timePickerIncrement === 'number')
27135            this.timePickerIncrement = options.timePickerIncrement;
27136
27137        if (typeof options.timePicker24Hour === 'boolean')
27138            this.timePicker24Hour = options.timePicker24Hour;
27139
27140        if (typeof options.autoApply === 'boolean')
27141            this.autoApply = options.autoApply;
27142
27143        if (typeof options.autoUpdateInput === 'boolean')
27144            this.autoUpdateInput = options.autoUpdateInput;
27145
27146        if (typeof options.linkedCalendars === 'boolean')
27147            this.linkedCalendars = options.linkedCalendars;
27148
27149        if (typeof options.isInvalidDate === 'function')
27150            this.isInvalidDate = options.isInvalidDate;
27151
27152        if (typeof options.isCustomDate === 'function')
27153            this.isCustomDate = options.isCustomDate;
27154
27155        if (typeof options.alwaysShowCalendars === 'boolean')
27156            this.alwaysShowCalendars = options.alwaysShowCalendars;
27157
27158        // update day names order to firstDay
27159        if (this.locale.firstDay != 0) {
27160            var iterator = this.locale.firstDay;
27161            while (iterator > 0) {
27162                this.locale.daysOfWeek.push(this.locale.daysOfWeek.shift());
27163                iterator--;
27164            }
27165        }
27166
27167        var start, end, range;
27168
27169        //if no start/end dates set, check if an input element contains initial values
27170        if (typeof options.startDate === 'undefined' && typeof options.endDate === 'undefined') {
27171            if ($(this.element).is(':text')) {
27172                var val = $(this.element).val(),
27173                    split = val.split(this.locale.separator);
27174
27175                start = end = null;
27176
27177                if (split.length == 2) {
27178                    start = moment(split[0], this.locale.format);
27179                    end = moment(split[1], this.locale.format);
27180                } else if (this.singleDatePicker && val !== "") {
27181                    start = moment(val, this.locale.format);
27182                    end = moment(val, this.locale.format);
27183                }
27184                if (start !== null && end !== null) {
27185                    this.setStartDate(start);
27186                    this.setEndDate(end);
27187                }
27188            }
27189        }
27190
27191        if (typeof options.ranges === 'object') {
27192            for (range in options.ranges) {
27193
27194                if (typeof options.ranges[range][0] === 'string')
27195                    start = moment(options.ranges[range][0], this.locale.format);
27196                else
27197                    start = moment(options.ranges[range][0]);
27198
27199                if (typeof options.ranges[range][1] === 'string')
27200                    end = moment(options.ranges[range][1], this.locale.format);
27201                else
27202                    end = moment(options.ranges[range][1]);
27203
27204                // If the start or end date exceed those allowed by the minDate or maxSpan
27205                // options, shorten the range to the allowable period.
27206                if (this.minDate && start.isBefore(this.minDate))
27207                    start = this.minDate.clone();
27208
27209                var maxDate = this.maxDate;
27210                if (this.maxSpan && maxDate && start.clone().add(this.maxSpan).isAfter(maxDate))
27211                    maxDate = start.clone().add(this.maxSpan);
27212                if (maxDate && end.isAfter(maxDate))
27213                    end = maxDate.clone();
27214
27215                // If the end of the range is before the minimum or the start of the range is
27216                // after the maximum, don't display this range option at all.
27217                if ((this.minDate && end.isBefore(this.minDate, this.timepicker ? 'minute' : 'day'))
27218                  || (maxDate && start.isAfter(maxDate, this.timepicker ? 'minute' : 'day')))
27219                    continue;
27220
27221                //Support unicode chars in the range names.
27222                var elem = document.createElement('textarea');
27223                elem.innerHTML = range;
27224                var rangeHtml = elem.value;
27225
27226                this.ranges[rangeHtml] = [start, end];
27227            }
27228
27229            var list = '<ul>';
27230            for (range in this.ranges) {
27231                list += '<li data-range-key="' + range + '">' + range + '</li>';
27232            }
27233            if (this.showCustomRangeLabel) {
27234                list += '<li data-range-key="' + this.locale.customRangeLabel + '">' + this.locale.customRangeLabel + '</li>';
27235            }
27236            list += '</ul>';
27237            this.container.find('.ranges').prepend(list);
27238        }
27239
27240        if (typeof cb === 'function') {
27241            this.callback = cb;
27242        }
27243
27244        if (!this.timePicker) {
27245            this.startDate = this.startDate.startOf('day');
27246            this.endDate = this.endDate.endOf('day');
27247            this.container.find('.calendar-time').hide();
27248        }
27249
27250        //can't be used together for now
27251        if (this.timePicker && this.autoApply)
27252            this.autoApply = false;
27253
27254        if (this.autoApply) {
27255            this.container.addClass('auto-apply');
27256        }
27257
27258        if (typeof options.ranges === 'object')
27259            this.container.addClass('show-ranges');
27260
27261        if (this.singleDatePicker) {
27262            this.container.addClass('single');
27263            this.container.find('.drp-calendar.left').addClass('single');
27264            this.container.find('.drp-calendar.left').show();
27265            this.container.find('.drp-calendar.right').hide();
27266            if (!this.timePicker && this.autoApply) {
27267                this.container.addClass('auto-apply');
27268            }
27269        }
27270
27271        if ((typeof options.ranges === 'undefined' && !this.singleDatePicker) || this.alwaysShowCalendars) {
27272            this.container.addClass('show-calendar');
27273        }
27274
27275        this.container.addClass('opens' + this.opens);
27276
27277        //apply CSS classes and labels to buttons
27278        this.container.find('.applyBtn, .cancelBtn').addClass(this.buttonClasses);
27279        if (this.applyButtonClasses.length)
27280            this.container.find('.applyBtn').addClass(this.applyButtonClasses);
27281        if (this.cancelButtonClasses.length)
27282            this.container.find('.cancelBtn').addClass(this.cancelButtonClasses);
27283        this.container.find('.applyBtn').html(this.locale.applyLabel);
27284        this.container.find('.cancelBtn').html(this.locale.cancelLabel);
27285
27286        //
27287        // event listeners
27288        //
27289
27290        this.container.find('.drp-calendar')
27291            .on('click.daterangepicker', '.prev', $.proxy(this.clickPrev, this))
27292            .on('click.daterangepicker', '.next', $.proxy(this.clickNext, this))
27293            .on('mousedown.daterangepicker', 'td.available', $.proxy(this.clickDate, this))
27294            .on('mouseenter.daterangepicker', 'td.available', $.proxy(this.hoverDate, this))
27295            .on('change.daterangepicker', 'select.yearselect', $.proxy(this.monthOrYearChanged, this))
27296            .on('change.daterangepicker', 'select.monthselect', $.proxy(this.monthOrYearChanged, this))
27297            .on('change.daterangepicker', 'select.hourselect,select.minuteselect,select.secondselect,select.ampmselect', $.proxy(this.timeChanged, this));
27298
27299        this.container.find('.ranges')
27300            .on('click.daterangepicker', 'li', $.proxy(this.clickRange, this));
27301
27302        this.container.find('.drp-buttons')
27303            .on('click.daterangepicker', 'button.applyBtn', $.proxy(this.clickApply, this))
27304            .on('click.daterangepicker', 'button.cancelBtn', $.proxy(this.clickCancel, this));
27305
27306        if (this.element.is('input') || this.element.is('button')) {
27307            this.element.on({
27308                'click.daterangepicker': $.proxy(this.show, this),
27309                'focus.daterangepicker': $.proxy(this.show, this),
27310                'keyup.daterangepicker': $.proxy(this.elementChanged, this),
27311                'keydown.daterangepicker': $.proxy(this.keydown, this) //IE 11 compatibility
27312            });
27313        } else {
27314            this.element.on('click.daterangepicker', $.proxy(this.toggle, this));
27315            this.element.on('keydown.daterangepicker', $.proxy(this.toggle, this));
27316        }
27317
27318        //
27319        // if attached to a text input, set the initial value
27320        //
27321
27322        this.updateElement();
27323
27324    };
27325
27326    DateRangePicker.prototype = {
27327
27328        constructor: DateRangePicker,
27329
27330        setStartDate: function(startDate) {
27331            if (typeof startDate === 'string')
27332                this.startDate = moment(startDate, this.locale.format);
27333
27334            if (typeof startDate === 'object')
27335                this.startDate = moment(startDate);
27336
27337            if (!this.timePicker)
27338                this.startDate = this.startDate.startOf('day');
27339
27340            if (this.timePicker && this.timePickerIncrement)
27341                this.startDate.minute(Math.round(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement);
27342
27343            if (this.minDate && this.startDate.isBefore(this.minDate)) {
27344                this.startDate = this.minDate.clone();
27345                if (this.timePicker && this.timePickerIncrement)
27346                    this.startDate.minute(Math.round(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement);
27347            }
27348
27349            if (this.maxDate && this.startDate.isAfter(this.maxDate)) {
27350                this.startDate = this.maxDate.clone();
27351                if (this.timePicker && this.timePickerIncrement)
27352                    this.startDate.minute(Math.floor(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement);
27353            }
27354
27355            if (!this.isShowing)
27356                this.updateElement();
27357
27358            this.updateMonthsInView();
27359        },
27360
27361        setEndDate: function(endDate) {
27362            if (typeof endDate === 'string')
27363                this.endDate = moment(endDate, this.locale.format);
27364
27365            if (typeof endDate === 'object')
27366                this.endDate = moment(endDate);
27367
27368            if (!this.timePicker)
27369                this.endDate = this.endDate.endOf('day');
27370
27371            if (this.timePicker && this.timePickerIncrement)
27372                this.endDate.minute(Math.round(this.endDate.minute() / this.timePickerIncrement) * this.timePickerIncrement);
27373
27374            if (this.endDate.isBefore(this.startDate))
27375                this.endDate = this.startDate.clone();
27376
27377            if (this.maxDate && this.endDate.isAfter(this.maxDate))
27378                this.endDate = this.maxDate.clone();
27379
27380            if (this.maxSpan && this.startDate.clone().add(this.maxSpan).isBefore(this.endDate))
27381                this.endDate = this.startDate.clone().add(this.maxSpan);
27382
27383            this.previousRightTime = this.endDate.clone();
27384
27385            this.container.find('.drp-selected').html(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format));
27386
27387            if (!this.isShowing)
27388                this.updateElement();
27389
27390            this.updateMonthsInView();
27391        },
27392
27393        isInvalidDate: function() {
27394            return false;
27395        },
27396
27397        isCustomDate: function() {
27398            return false;
27399        },
27400
27401        updateView: function() {
27402            if (this.timePicker) {
27403                this.renderTimePicker('left');
27404                this.renderTimePicker('right');
27405                if (!this.endDate) {
27406                    this.container.find('.right .calendar-time select').prop('disabled', true).addClass('disabled');
27407                } else {
27408                    this.container.find('.right .calendar-time select').prop('disabled', false).removeClass('disabled');
27409                }
27410            }
27411            if (this.endDate)
27412                this.container.find('.drp-selected').html(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format));
27413            this.updateMonthsInView();
27414            this.updateCalendars();
27415            this.updateFormInputs();
27416        },
27417
27418        updateMonthsInView: function() {
27419            if (this.endDate) {
27420
27421                //if both dates are visible already, do nothing
27422                if (!this.singleDatePicker && this.leftCalendar.month && this.rightCalendar.month &&
27423                    (this.startDate.format('YYYY-MM') == this.leftCalendar.month.format('YYYY-MM') || this.startDate.format('YYYY-MM') == this.rightCalendar.month.format('YYYY-MM'))
27424                    &&
27425                    (this.endDate.format('YYYY-MM') == this.leftCalendar.month.format('YYYY-MM') || this.endDate.format('YYYY-MM') == this.rightCalendar.month.format('YYYY-MM'))
27426                    ) {
27427                    return;
27428                }
27429
27430                this.leftCalendar.month = this.startDate.clone().date(2);
27431                if (!this.linkedCalendars && (this.endDate.month() != this.startDate.month() || this.endDate.year() != this.startDate.year())) {
27432                    this.rightCalendar.month = this.endDate.clone().date(2);
27433                } else {
27434                    this.rightCalendar.month = this.startDate.clone().date(2).add(1, 'month');
27435                }
27436
27437            } else {
27438                if (this.leftCalendar.month.format('YYYY-MM') != this.startDate.format('YYYY-MM') && this.rightCalendar.month.format('YYYY-MM') != this.startDate.format('YYYY-MM')) {
27439                    this.leftCalendar.month = this.startDate.clone().date(2);
27440                    this.rightCalendar.month = this.startDate.clone().date(2).add(1, 'month');
27441                }
27442            }
27443            if (this.maxDate && this.linkedCalendars && !this.singleDatePicker && this.rightCalendar.month > this.maxDate) {
27444              this.rightCalendar.month = this.maxDate.clone().date(2);
27445              this.leftCalendar.month = this.maxDate.clone().date(2).subtract(1, 'month');
27446            }
27447        },
27448
27449        updateCalendars: function() {
27450
27451            if (this.timePicker) {
27452                var hour, minute, second;
27453                if (this.endDate) {
27454                    hour = parseInt(this.container.find('.left .hourselect').val(), 10);
27455                    minute = parseInt(this.container.find('.left .minuteselect').val(), 10);
27456                    if (isNaN(minute)) {
27457                        minute = parseInt(this.container.find('.left .minuteselect option:last').val(), 10);
27458                    }
27459                    second = this.timePickerSeconds ? parseInt(this.container.find('.left .secondselect').val(), 10) : 0;
27460                    if (!this.timePicker24Hour) {
27461                        var ampm = this.container.find('.left .ampmselect').val();
27462                        if (ampm === 'PM' && hour < 12)
27463                            hour += 12;
27464                        if (ampm === 'AM' && hour === 12)
27465                            hour = 0;
27466                    }
27467                } else {
27468                    hour = parseInt(this.container.find('.right .hourselect').val(), 10);
27469                    minute = parseInt(this.container.find('.right .minuteselect').val(), 10);
27470                    if (isNaN(minute)) {
27471                        minute = parseInt(this.container.find('.right .minuteselect option:last').val(), 10);
27472                    }
27473                    second = this.timePickerSeconds ? parseInt(this.container.find('.right .secondselect').val(), 10) : 0;
27474                    if (!this.timePicker24Hour) {
27475                        var ampm = this.container.find('.right .ampmselect').val();
27476                        if (ampm === 'PM' && hour < 12)
27477                            hour += 12;
27478                        if (ampm === 'AM' && hour === 12)
27479                            hour = 0;
27480                    }
27481                }
27482                this.leftCalendar.month.hour(hour).minute(minute).second(second);
27483                this.rightCalendar.month.hour(hour).minute(minute).second(second);
27484            }
27485
27486            this.renderCalendar('left');
27487            this.renderCalendar('right');
27488
27489            //highlight any predefined range matching the current start and end dates
27490            this.container.find('.ranges li').removeClass('active');
27491            if (this.endDate == null) return;
27492
27493            this.calculateChosenLabel();
27494        },
27495
27496        renderCalendar: function(side) {
27497
27498            //
27499            // Build the matrix of dates that will populate the calendar
27500            //
27501
27502            var calendar = side == 'left' ? this.leftCalendar : this.rightCalendar;
27503            var month = calendar.month.month();
27504            var year = calendar.month.year();
27505            var hour = calendar.month.hour();
27506            var minute = calendar.month.minute();
27507            var second = calendar.month.second();
27508            var daysInMonth = moment([year, month]).daysInMonth();
27509            var firstDay = moment([year, month, 1]);
27510            var lastDay = moment([year, month, daysInMonth]);
27511            var lastMonth = moment(firstDay).subtract(1, 'month').month();
27512            var lastYear = moment(firstDay).subtract(1, 'month').year();
27513            var daysInLastMonth = moment([lastYear, lastMonth]).daysInMonth();
27514            var dayOfWeek = firstDay.day();
27515
27516            //initialize a 6 rows x 7 columns array for the calendar
27517            var calendar = [];
27518            calendar.firstDay = firstDay;
27519            calendar.lastDay = lastDay;
27520
27521            for (var i = 0; i < 6; i++) {
27522                calendar[i] = [];
27523            }
27524
27525            //populate the calendar with date objects
27526            var startDay = daysInLastMonth - dayOfWeek + this.locale.firstDay + 1;
27527            if (startDay > daysInLastMonth)
27528                startDay -= 7;
27529
27530            if (dayOfWeek == this.locale.firstDay)
27531                startDay = daysInLastMonth - 6;
27532
27533            var curDate = moment([lastYear, lastMonth, startDay, 12, minute, second]);
27534
27535            var col, row;
27536            for (var i = 0, col = 0, row = 0; i < 42; i++, col++, curDate = moment(curDate).add(24, 'hour')) {
27537                if (i > 0 && col % 7 === 0) {
27538                    col = 0;
27539                    row++;
27540                }
27541                calendar[row][col] = curDate.clone().hour(hour).minute(minute).second(second);
27542                curDate.hour(12);
27543
27544                if (this.minDate && calendar[row][col].format('YYYY-MM-DD') == this.minDate.format('YYYY-MM-DD') && calendar[row][col].isBefore(this.minDate) && side == 'left') {
27545                    calendar[row][col] = this.minDate.clone();
27546                }
27547
27548                if (this.maxDate && calendar[row][col].format('YYYY-MM-DD') == this.maxDate.format('YYYY-MM-DD') && calendar[row][col].isAfter(this.maxDate) && side == 'right') {
27549                    calendar[row][col] = this.maxDate.clone();
27550                }
27551
27552            }
27553
27554            //make the calendar object available to hoverDate/clickDate
27555            if (side == 'left') {
27556                this.leftCalendar.calendar = calendar;
27557            } else {
27558                this.rightCalendar.calendar = calendar;
27559            }
27560
27561            //
27562            // Display the calendar
27563            //
27564
27565            var minDate = side == 'left' ? this.minDate : this.startDate;
27566            var maxDate = this.maxDate;
27567            var selected = side == 'left' ? this.startDate : this.endDate;
27568            var arrow = this.locale.direction == 'ltr' ? {left: 'chevron-left', right: 'chevron-right'} : {left: 'chevron-right', right: 'chevron-left'};
27569
27570            var html = '<table class="table-condensed">';
27571            html += '<thead>';
27572            html += '<tr>';
27573
27574            // add empty cell for week number
27575            if (this.showWeekNumbers || this.showISOWeekNumbers)
27576                html += '<th></th>';
27577
27578            if ((!minDate || minDate.isBefore(calendar.firstDay)) && (!this.linkedCalendars || side == 'left')) {
27579                html += '<th class="prev available"><span></span></th>';
27580            } else {
27581                html += '<th></th>';
27582            }
27583
27584            var dateHtml = this.locale.monthNames[calendar[1][1].month()] + calendar[1][1].format(" YYYY");
27585
27586            if (this.showDropdowns) {
27587                var currentMonth = calendar[1][1].month();
27588                var currentYear = calendar[1][1].year();
27589                var maxYear = (maxDate && maxDate.year()) || (this.maxYear);
27590                var minYear = (minDate && minDate.year()) || (this.minYear);
27591                var inMinYear = currentYear == minYear;
27592                var inMaxYear = currentYear == maxYear;
27593
27594                var monthHtml = '<select class="monthselect">';
27595                for (var m = 0; m < 12; m++) {
27596                    if ((!inMinYear || (minDate && m >= minDate.month())) && (!inMaxYear || (maxDate && m <= maxDate.month()))) {
27597                        monthHtml += "<option value='" + m + "'" +
27598                            (m === currentMonth ? " selected='selected'" : "") +
27599                            ">" + this.locale.monthNames[m] + "</option>";
27600                    } else {
27601                        monthHtml += "<option value='" + m + "'" +
27602                            (m === currentMonth ? " selected='selected'" : "") +
27603                            " disabled='disabled'>" + this.locale.monthNames[m] + "</option>";
27604                    }
27605                }
27606                monthHtml += "</select>";
27607
27608                var yearHtml = '<select class="yearselect">';
27609                for (var y = minYear; y <= maxYear; y++) {
27610                    yearHtml += '<option value="' + y + '"' +
27611                        (y === currentYear ? ' selected="selected"' : '') +
27612                        '>' + y + '</option>';
27613                }
27614                yearHtml += '</select>';
27615
27616                dateHtml = monthHtml + yearHtml;
27617            }
27618
27619            html += '<th colspan="5" class="month">' + dateHtml + '</th>';
27620            if ((!maxDate || maxDate.isAfter(calendar.lastDay)) && (!this.linkedCalendars || side == 'right' || this.singleDatePicker)) {
27621                html += '<th class="next available"><span></span></th>';
27622            } else {
27623                html += '<th></th>';
27624            }
27625
27626            html += '</tr>';
27627            html += '<tr>';
27628
27629            // add week number label
27630            if (this.showWeekNumbers || this.showISOWeekNumbers)
27631                html += '<th class="week">' + this.locale.weekLabel + '</th>';
27632
27633            $.each(this.locale.daysOfWeek, function(index, dayOfWeek) {
27634                html += '<th>' + dayOfWeek + '</th>';
27635            });
27636
27637            html += '</tr>';
27638            html += '</thead>';
27639            html += '<tbody>';
27640
27641            //adjust maxDate to reflect the maxSpan setting in order to
27642            //grey out end dates beyond the maxSpan
27643            if (this.endDate == null && this.maxSpan) {
27644                var maxLimit = this.startDate.clone().add(this.maxSpan).endOf('day');
27645                if (!maxDate || maxLimit.isBefore(maxDate)) {
27646                    maxDate = maxLimit;
27647                }
27648            }
27649
27650            for (var row = 0; row < 6; row++) {
27651                html += '<tr>';
27652
27653                // add week number
27654                if (this.showWeekNumbers)
27655                    html += '<td class="week">' + calendar[row][0].week() + '</td>';
27656                else if (this.showISOWeekNumbers)
27657                    html += '<td class="week">' + calendar[row][0].isoWeek() + '</td>';
27658
27659                for (var col = 0; col < 7; col++) {
27660
27661                    var classes = [];
27662
27663                    //highlight today's date
27664                    if (calendar[row][col].isSame(new Date(), "day"))
27665                        classes.push('today');
27666
27667                    //highlight weekends
27668                    if (calendar[row][col].isoWeekday() > 5)
27669                        classes.push('weekend');
27670
27671                    //grey out the dates in other months displayed at beginning and end of this calendar
27672                    if (calendar[row][col].month() != calendar[1][1].month())
27673                        classes.push('off', 'ends');
27674
27675                    //don't allow selection of dates before the minimum date
27676                    if (this.minDate && calendar[row][col].isBefore(this.minDate, 'day'))
27677                        classes.push('off', 'disabled');
27678
27679                    //don't allow selection of dates after the maximum date
27680                    if (maxDate && calendar[row][col].isAfter(maxDate, 'day'))
27681                        classes.push('off', 'disabled');
27682
27683                    //don't allow selection of date if a custom function decides it's invalid
27684                    if (this.isInvalidDate(calendar[row][col]))
27685                        classes.push('off', 'disabled');
27686
27687                    //highlight the currently selected start date
27688                    if (calendar[row][col].format('YYYY-MM-DD') == this.startDate.format('YYYY-MM-DD'))
27689                        classes.push('active', 'start-date');
27690
27691                    //highlight the currently selected end date
27692                    if (this.endDate != null && calendar[row][col].format('YYYY-MM-DD') == this.endDate.format('YYYY-MM-DD'))
27693                        classes.push('active', 'end-date');
27694
27695                    //highlight dates in-between the selected dates
27696                    if (this.endDate != null && calendar[row][col] > this.startDate && calendar[row][col] < this.endDate)
27697                        classes.push('in-range');
27698
27699                    //apply custom classes for this date
27700                    var isCustom = this.isCustomDate(calendar[row][col]);
27701                    if (isCustom !== false) {
27702                        if (typeof isCustom === 'string')
27703                            classes.push(isCustom);
27704                        else
27705                            Array.prototype.push.apply(classes, isCustom);
27706                    }
27707
27708                    var cname = '', disabled = false;
27709                    for (var i = 0; i < classes.length; i++) {
27710                        cname += classes[i] + ' ';
27711                        if (classes[i] == 'disabled')
27712                            disabled = true;
27713                    }
27714                    if (!disabled)
27715                        cname += 'available';
27716
27717                    html += '<td class="' + cname.replace(/^\s+|\s+$/g, '') + '" data-title="' + 'r' + row + 'c' + col + '">' + calendar[row][col].date() + '</td>';
27718
27719                }
27720                html += '</tr>';
27721            }
27722
27723            html += '</tbody>';
27724            html += '</table>';
27725
27726            this.container.find('.drp-calendar.' + side + ' .calendar-table').html(html);
27727
27728        },
27729
27730        renderTimePicker: function(side) {
27731
27732            // Don't bother updating the time picker if it's currently disabled
27733            // because an end date hasn't been clicked yet
27734            if (side == 'right' && !this.endDate) return;
27735
27736            var html, selected, minDate, maxDate = this.maxDate;
27737
27738            if (this.maxSpan && (!this.maxDate || this.startDate.clone().add(this.maxSpan).isBefore(this.maxDate)))
27739                maxDate = this.startDate.clone().add(this.maxSpan);
27740
27741            if (side == 'left') {
27742                selected = this.startDate.clone();
27743                minDate = this.minDate;
27744            } else if (side == 'right') {
27745                selected = this.endDate.clone();
27746                minDate = this.startDate;
27747
27748                //Preserve the time already selected
27749                var timeSelector = this.container.find('.drp-calendar.right .calendar-time');
27750                if (timeSelector.html() != '') {
27751
27752                    selected.hour(!isNaN(selected.hour()) ? selected.hour() : timeSelector.find('.hourselect option:selected').val());
27753                    selected.minute(!isNaN(selected.minute()) ? selected.minute() : timeSelector.find('.minuteselect option:selected').val());
27754                    selected.second(!isNaN(selected.second()) ? selected.second() : timeSelector.find('.secondselect option:selected').val());
27755
27756                    if (!this.timePicker24Hour) {
27757                        var ampm = timeSelector.find('.ampmselect option:selected').val();
27758                        if (ampm === 'PM' && selected.hour() < 12)
27759                            selected.hour(selected.hour() + 12);
27760                        if (ampm === 'AM' && selected.hour() === 12)
27761                            selected.hour(0);
27762                    }
27763
27764                }
27765
27766                if (selected.isBefore(this.startDate))
27767                    selected = this.startDate.clone();
27768
27769                if (maxDate && selected.isAfter(maxDate))
27770                    selected = maxDate.clone();
27771
27772            }
27773
27774            //
27775            // hours
27776            //
27777
27778            html = '<select class="hourselect">';
27779
27780            var start = this.timePicker24Hour ? 0 : 1;
27781            var end = this.timePicker24Hour ? 23 : 12;
27782
27783            for (var i = start; i <= end; i++) {
27784                var i_in_24 = i;
27785                if (!this.timePicker24Hour)
27786                    i_in_24 = selected.hour() >= 12 ? (i == 12 ? 12 : i + 12) : (i == 12 ? 0 : i);
27787
27788                var time = selected.clone().hour(i_in_24);
27789                var disabled = false;
27790                if (minDate && time.minute(59).isBefore(minDate))
27791                    disabled = true;
27792                if (maxDate && time.minute(0).isAfter(maxDate))
27793                    disabled = true;
27794
27795                if (i_in_24 == selected.hour() && !disabled) {
27796                    html += '<option value="' + i + '" selected="selected">' + i + '</option>';
27797                } else if (disabled) {
27798                    html += '<option value="' + i + '" disabled="disabled" class="disabled">' + i + '</option>';
27799                } else {
27800                    html += '<option value="' + i + '">' + i + '</option>';
27801                }
27802            }
27803
27804            html += '</select> ';
27805
27806            //
27807            // minutes
27808            //
27809
27810            html += ': <select class="minuteselect">';
27811
27812            for (var i = 0; i < 60; i += this.timePickerIncrement) {
27813                var padded = i < 10 ? '0' + i : i;
27814                var time = selected.clone().minute(i);
27815
27816                var disabled = false;
27817                if (minDate && time.second(59).isBefore(minDate))
27818                    disabled = true;
27819                if (maxDate && time.second(0).isAfter(maxDate))
27820                    disabled = true;
27821
27822                if (selected.minute() == i && !disabled) {
27823                    html += '<option value="' + i + '" selected="selected">' + padded + '</option>';
27824                } else if (disabled) {
27825                    html += '<option value="' + i + '" disabled="disabled" class="disabled">' + padded + '</option>';
27826                } else {
27827                    html += '<option value="' + i + '">' + padded + '</option>';
27828                }
27829            }
27830
27831            html += '</select> ';
27832
27833            //
27834            // seconds
27835            //
27836
27837            if (this.timePickerSeconds) {
27838                html += ': <select class="secondselect">';
27839
27840                for (var i = 0; i < 60; i++) {
27841                    var padded = i < 10 ? '0' + i : i;
27842                    var time = selected.clone().second(i);
27843
27844                    var disabled = false;
27845                    if (minDate && time.isBefore(minDate))
27846                        disabled = true;
27847                    if (maxDate && time.isAfter(maxDate))
27848                        disabled = true;
27849
27850                    if (selected.second() == i && !disabled) {
27851                        html += '<option value="' + i + '" selected="selected">' + padded + '</option>';
27852                    } else if (disabled) {
27853                        html += '<option value="' + i + '" disabled="disabled" class="disabled">' + padded + '</option>';
27854                    } else {
27855                        html += '<option value="' + i + '">' + padded + '</option>';
27856                    }
27857                }
27858
27859                html += '</select> ';
27860            }
27861
27862            //
27863            // AM/PM
27864            //
27865
27866            if (!this.timePicker24Hour) {
27867                html += '<select class="ampmselect">';
27868
27869                var am_html = '';
27870                var pm_html = '';
27871
27872                if (minDate && selected.clone().hour(12).minute(0).second(0).isBefore(minDate))
27873                    am_html = ' disabled="disabled" class="disabled"';
27874
27875                if (maxDate && selected.clone().hour(0).minute(0).second(0).isAfter(maxDate))
27876                    pm_html = ' disabled="disabled" class="disabled"';
27877
27878                if (selected.hour() >= 12) {
27879                    html += '<option value="AM"' + am_html + '>AM</option><option value="PM" selected="selected"' + pm_html + '>PM</option>';
27880                } else {
27881                    html += '<option value="AM" selected="selected"' + am_html + '>AM</option><option value="PM"' + pm_html + '>PM</option>';
27882                }
27883
27884                html += '</select>';
27885            }
27886
27887            this.container.find('.drp-calendar.' + side + ' .calendar-time').html(html);
27888
27889        },
27890
27891        updateFormInputs: function() {
27892
27893            if (this.singleDatePicker || (this.endDate && (this.startDate.isBefore(this.endDate) || this.startDate.isSame(this.endDate)))) {
27894                this.container.find('button.applyBtn').prop('disabled', false);
27895            } else {
27896                this.container.find('button.applyBtn').prop('disabled', true);
27897            }
27898
27899        },
27900
27901        move: function() {
27902            var parentOffset = { top: 0, left: 0 },
27903                containerTop,
27904                drops = this.drops;
27905
27906            var parentRightEdge = $(window).width();
27907            if (!this.parentEl.is('body')) {
27908                parentOffset = {
27909                    top: this.parentEl.offset().top - this.parentEl.scrollTop(),
27910                    left: this.parentEl.offset().left - this.parentEl.scrollLeft()
27911                };
27912                parentRightEdge = this.parentEl[0].clientWidth + this.parentEl.offset().left;
27913            }
27914
27915            switch (drops) {
27916            case 'auto':
27917                containerTop = this.element.offset().top + this.element.outerHeight() - parentOffset.top;
27918                if (containerTop + this.container.outerHeight() >= this.parentEl[0].scrollHeight) {
27919                    containerTop = this.element.offset().top - this.container.outerHeight() - parentOffset.top;
27920                    drops = 'up';
27921                }
27922                break;
27923            case 'up':
27924                containerTop = this.element.offset().top - this.container.outerHeight() - parentOffset.top;
27925                break;
27926            default:
27927                containerTop = this.element.offset().top + this.element.outerHeight() - parentOffset.top;
27928                break;
27929            }
27930
27931            // Force the container to it's actual width
27932            this.container.css({
27933              top: 0,
27934              left: 0,
27935              right: 'auto'
27936            });
27937            var containerWidth = this.container.outerWidth();
27938
27939            this.container.toggleClass('drop-up', drops == 'up');
27940
27941            if (this.opens == 'left') {
27942                var containerRight = parentRightEdge - this.element.offset().left - this.element.outerWidth();
27943                if (containerWidth + containerRight > $(window).width()) {
27944                    this.container.css({
27945                        top: containerTop,
27946                        right: 'auto',
27947                        left: 9
27948                    });
27949                } else {
27950                    this.container.css({
27951                        top: containerTop,
27952                        right: containerRight,
27953                        left: 'auto'
27954                    });
27955                }
27956            } else if (this.opens == 'center') {
27957                var containerLeft = this.element.offset().left - parentOffset.left + this.element.outerWidth() / 2
27958                                        - containerWidth / 2;
27959                if (containerLeft < 0) {
27960                    this.container.css({
27961                        top: containerTop,
27962                        right: 'auto',
27963                        left: 9
27964                    });
27965                } else if (containerLeft + containerWidth > $(window).width()) {
27966                    this.container.css({
27967                        top: containerTop,
27968                        left: 'auto',
27969                        right: 0
27970                    });
27971                } else {
27972                    this.container.css({
27973                        top: containerTop,
27974                        left: containerLeft,
27975                        right: 'auto'
27976                    });
27977                }
27978            } else {
27979                var containerLeft = this.element.offset().left - parentOffset.left;
27980                if (containerLeft + containerWidth > $(window).width()) {
27981                    this.container.css({
27982                        top: containerTop,
27983                        left: 'auto',
27984                        right: 0
27985                    });
27986                } else {
27987                    this.container.css({
27988                        top: containerTop,
27989                        left: containerLeft,
27990                        right: 'auto'
27991                    });
27992                }
27993            }
27994        },
27995
27996        show: function(e) {
27997            if (this.isShowing) return;
27998
27999            // Create a click proxy that is private to this instance of datepicker, for unbinding
28000            this._outsideClickProxy = $.proxy(function(e) { this.outsideClick(e); }, this);
28001
28002            // Bind global datepicker mousedown for hiding and
28003            $(document)
28004              .on('mousedown.daterangepicker', this._outsideClickProxy)
28005              // also support mobile devices
28006              .on('touchend.daterangepicker', this._outsideClickProxy)
28007              // also explicitly play nice with Bootstrap dropdowns, which stopPropagation when clicking them
28008              .on('click.daterangepicker', '[data-toggle=dropdown]', this._outsideClickProxy)
28009              // and also close when focus changes to outside the picker (eg. tabbing between controls)
28010              .on('focusin.daterangepicker', this._outsideClickProxy);
28011
28012            // Reposition the picker if the window is resized while it's open
28013            $(window).on('resize.daterangepicker', $.proxy(function(e) { this.move(e); }, this));
28014
28015            this.oldStartDate = this.startDate.clone();
28016            this.oldEndDate = this.endDate.clone();
28017            this.previousRightTime = this.endDate.clone();
28018
28019            this.updateView();
28020            this.container.show();
28021            this.move();
28022            this.element.trigger('show.daterangepicker', this);
28023            this.isShowing = true;
28024        },
28025
28026        hide: function(e) {
28027            if (!this.isShowing) return;
28028
28029            //incomplete date selection, revert to last values
28030            if (!this.endDate) {
28031                this.startDate = this.oldStartDate.clone();
28032                this.endDate = this.oldEndDate.clone();
28033            }
28034
28035            //if a new date range was selected, invoke the user callback function
28036            if (!this.startDate.isSame(this.oldStartDate) || !this.endDate.isSame(this.oldEndDate))
28037                this.callback(this.startDate.clone(), this.endDate.clone(), this.chosenLabel);
28038
28039            //if picker is attached to a text input, update it
28040            this.updateElement();
28041
28042            $(document).off('.daterangepicker');
28043            $(window).off('.daterangepicker');
28044            this.container.hide();
28045            this.element.trigger('hide.daterangepicker', this);
28046            this.isShowing = false;
28047        },
28048
28049        toggle: function(e) {
28050            if (this.isShowing) {
28051                this.hide();
28052            } else {
28053                this.show();
28054            }
28055        },
28056
28057        outsideClick: function(e) {
28058            var target = $(e.target);
28059            // if the page is clicked anywhere except within the daterangerpicker/button
28060            // itself then call this.hide()
28061            if (
28062                // ie modal dialog fix
28063                e.type == "focusin" ||
28064                target.closest(this.element).length ||
28065                target.closest(this.container).length ||
28066                target.closest('.calendar-table').length
28067                ) return;
28068            this.hide();
28069            this.element.trigger('outsideClick.daterangepicker', this);
28070        },
28071
28072        showCalendars: function() {
28073            this.container.addClass('show-calendar');
28074            this.move();
28075            this.element.trigger('showCalendar.daterangepicker', this);
28076        },
28077
28078        hideCalendars: function() {
28079            this.container.removeClass('show-calendar');
28080            this.element.trigger('hideCalendar.daterangepicker', this);
28081        },
28082
28083        clickRange: function(e) {
28084            var label = e.target.getAttribute('data-range-key');
28085            this.chosenLabel = label;
28086            if (label == this.locale.customRangeLabel) {
28087                this.showCalendars();
28088            } else {
28089                var dates = this.ranges[label];
28090                this.startDate = dates[0];
28091                this.endDate = dates[1];
28092
28093                if (!this.timePicker) {
28094                    this.startDate.startOf('day');
28095                    this.endDate.endOf('day');
28096                }
28097
28098                if (!this.alwaysShowCalendars)
28099                    this.hideCalendars();
28100                this.clickApply();
28101            }
28102        },
28103
28104        clickPrev: function(e) {
28105            var cal = $(e.target).parents('.drp-calendar');
28106            if (cal.hasClass('left')) {
28107                this.leftCalendar.month.subtract(1, 'month');
28108                if (this.linkedCalendars)
28109                    this.rightCalendar.month.subtract(1, 'month');
28110            } else {
28111                this.rightCalendar.month.subtract(1, 'month');
28112            }
28113            this.updateCalendars();
28114        },
28115
28116        clickNext: function(e) {
28117            var cal = $(e.target).parents('.drp-calendar');
28118            if (cal.hasClass('left')) {
28119                this.leftCalendar.month.add(1, 'month');
28120            } else {
28121                this.rightCalendar.month.add(1, 'month');
28122                if (this.linkedCalendars)
28123                    this.leftCalendar.month.add(1, 'month');
28124            }
28125            this.updateCalendars();
28126        },
28127
28128        hoverDate: function(e) {
28129
28130            //ignore dates that can't be selected
28131            if (!$(e.target).hasClass('available')) return;
28132
28133            var title = $(e.target).attr('data-title');
28134            var row = title.substr(1, 1);
28135            var col = title.substr(3, 1);
28136            var cal = $(e.target).parents('.drp-calendar');
28137            var date = cal.hasClass('left') ? this.leftCalendar.calendar[row][col] : this.rightCalendar.calendar[row][col];
28138
28139            //highlight the dates between the start date and the date being hovered as a potential end date
28140            var leftCalendar = this.leftCalendar;
28141            var rightCalendar = this.rightCalendar;
28142            var startDate = this.startDate;
28143            if (!this.endDate) {
28144                this.container.find('.drp-calendar tbody td').each(function(index, el) {
28145
28146                    //skip week numbers, only look at dates
28147                    if ($(el).hasClass('week')) return;
28148
28149                    var title = $(el).attr('data-title');
28150                    var row = title.substr(1, 1);
28151                    var col = title.substr(3, 1);
28152                    var cal = $(el).parents('.drp-calendar');
28153                    var dt = cal.hasClass('left') ? leftCalendar.calendar[row][col] : rightCalendar.calendar[row][col];
28154
28155                    if ((dt.isAfter(startDate) && dt.isBefore(date)) || dt.isSame(date, 'day')) {
28156                        $(el).addClass('in-range');
28157                    } else {
28158                        $(el).removeClass('in-range');
28159                    }
28160
28161                });
28162            }
28163
28164        },
28165
28166        clickDate: function(e) {
28167
28168            if (!$(e.target).hasClass('available')) return;
28169
28170            var title = $(e.target).attr('data-title');
28171            var row = title.substr(1, 1);
28172            var col = title.substr(3, 1);
28173            var cal = $(e.target).parents('.drp-calendar');
28174            var date = cal.hasClass('left') ? this.leftCalendar.calendar[row][col] : this.rightCalendar.calendar[row][col];
28175
28176            //
28177            // this function needs to do a few things:
28178            // * alternate between selecting a start and end date for the range,
28179            // * if the time picker is enabled, apply the hour/minute/second from the select boxes to the clicked date
28180            // * if autoapply is enabled, and an end date was chosen, apply the selection
28181            // * if single date picker mode, and time picker isn't enabled, apply the selection immediately
28182            // * if one of the inputs above the calendars was focused, cancel that manual input
28183            //
28184
28185            if (this.endDate || date.isBefore(this.startDate, 'day')) { //picking start
28186                if (this.timePicker) {
28187                    var hour = parseInt(this.container.find('.left .hourselect').val(), 10);
28188                    if (!this.timePicker24Hour) {
28189                        var ampm = this.container.find('.left .ampmselect').val();
28190                        if (ampm === 'PM' && hour < 12)
28191                            hour += 12;
28192                        if (ampm === 'AM' && hour === 12)
28193                            hour = 0;
28194                    }
28195                    var minute = parseInt(this.container.find('.left .minuteselect').val(), 10);
28196                    if (isNaN(minute)) {
28197                        minute = parseInt(this.container.find('.left .minuteselect option:last').val(), 10);
28198                    }
28199                    var second = this.timePickerSeconds ? parseInt(this.container.find('.left .secondselect').val(), 10) : 0;
28200                    date = date.clone().hour(hour).minute(minute).second(second);
28201                }
28202                this.endDate = null;
28203                this.setStartDate(date.clone());
28204            } else if (!this.endDate && date.isBefore(this.startDate)) {
28205                //special case: clicking the same date for start/end,
28206                //but the time of the end date is before the start date
28207                this.setEndDate(this.startDate.clone());
28208            } else { // picking end
28209                if (this.timePicker) {
28210                    var hour = parseInt(this.container.find('.right .hourselect').val(), 10);
28211                    if (!this.timePicker24Hour) {
28212                        var ampm = this.container.find('.right .ampmselect').val();
28213                        if (ampm === 'PM' && hour < 12)
28214                            hour += 12;
28215                        if (ampm === 'AM' && hour === 12)
28216                            hour = 0;
28217                    }
28218                    var minute = parseInt(this.container.find('.right .minuteselect').val(), 10);
28219                    if (isNaN(minute)) {
28220                        minute = parseInt(this.container.find('.right .minuteselect option:last').val(), 10);
28221                    }
28222                    var second = this.timePickerSeconds ? parseInt(this.container.find('.right .secondselect').val(), 10) : 0;
28223                    date = date.clone().hour(hour).minute(minute).second(second);
28224                }
28225                this.setEndDate(date.clone());
28226                if (this.autoApply) {
28227                  this.calculateChosenLabel();
28228                  this.clickApply();
28229                }
28230            }
28231
28232            if (this.singleDatePicker) {
28233                this.setEndDate(this.startDate);
28234                if (!this.timePicker && this.autoApply)
28235                    this.clickApply();
28236            }
28237
28238            this.updateView();
28239
28240            //This is to cancel the blur event handler if the mouse was in one of the inputs
28241            e.stopPropagation();
28242
28243        },
28244
28245        calculateChosenLabel: function () {
28246            var customRange = true;
28247            var i = 0;
28248            for (var range in this.ranges) {
28249              if (this.timePicker) {
28250                    var format = this.timePickerSeconds ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD HH:mm";
28251                    //ignore times when comparing dates if time picker seconds is not enabled
28252                    if (this.startDate.format(format) == this.ranges[range][0].format(format) && this.endDate.format(format) == this.ranges[range][1].format(format)) {
28253                        customRange = false;
28254                        this.chosenLabel = this.container.find('.ranges li:eq(' + i + ')').addClass('active').attr('data-range-key');
28255                        break;
28256                    }
28257                } else {
28258                    //ignore times when comparing dates if time picker is not enabled
28259                    if (this.startDate.format('YYYY-MM-DD') == this.ranges[range][0].format('YYYY-MM-DD') && this.endDate.format('YYYY-MM-DD') == this.ranges[range][1].format('YYYY-MM-DD')) {
28260                        customRange = false;
28261                        this.chosenLabel = this.container.find('.ranges li:eq(' + i + ')').addClass('active').attr('data-range-key');
28262                        break;
28263                    }
28264                }
28265                i++;
28266            }
28267            if (customRange) {
28268                if (this.showCustomRangeLabel) {
28269                    this.chosenLabel = this.container.find('.ranges li:last').addClass('active').attr('data-range-key');
28270                } else {
28271                    this.chosenLabel = null;
28272                }
28273                this.showCalendars();
28274            }
28275        },
28276
28277        clickApply: function(e) {
28278            this.hide();
28279            this.element.trigger('apply.daterangepicker', this);
28280        },
28281
28282        clickCancel: function(e) {
28283            this.startDate = this.oldStartDate;
28284            this.endDate = this.oldEndDate;
28285            this.hide();
28286            this.element.trigger('cancel.daterangepicker', this);
28287        },
28288
28289        monthOrYearChanged: function(e) {
28290            var isLeft = $(e.target).closest('.drp-calendar').hasClass('left'),
28291                leftOrRight = isLeft ? 'left' : 'right',
28292                cal = this.container.find('.drp-calendar.'+leftOrRight);
28293
28294            // Month must be Number for new moment versions
28295            var month = parseInt(cal.find('.monthselect').val(), 10);
28296            var year = cal.find('.yearselect').val();
28297
28298            if (!isLeft) {
28299                if (year < this.startDate.year() || (year == this.startDate.year() && month < this.startDate.month())) {
28300                    month = this.startDate.month();
28301                    year = this.startDate.year();
28302                }
28303            }
28304
28305            if (this.minDate) {
28306                if (year < this.minDate.year() || (year == this.minDate.year() && month < this.minDate.month())) {
28307                    month = this.minDate.month();
28308                    year = this.minDate.year();
28309                }
28310            }
28311
28312            if (this.maxDate) {
28313                if (year > this.maxDate.year() || (year == this.maxDate.year() && month > this.maxDate.month())) {
28314                    month = this.maxDate.month();
28315                    year = this.maxDate.year();
28316                }
28317            }
28318
28319            if (isLeft) {
28320                this.leftCalendar.month.month(month).year(year);
28321                if (this.linkedCalendars)
28322                    this.rightCalendar.month = this.leftCalendar.month.clone().add(1, 'month');
28323            } else {
28324                this.rightCalendar.month.month(month).year(year);
28325                if (this.linkedCalendars)
28326                    this.leftCalendar.month = this.rightCalendar.month.clone().subtract(1, 'month');
28327            }
28328            this.updateCalendars();
28329        },
28330
28331        timeChanged: function(e) {
28332
28333            var cal = $(e.target).closest('.drp-calendar'),
28334                isLeft = cal.hasClass('left');
28335
28336            var hour = parseInt(cal.find('.hourselect').val(), 10);
28337            var minute = parseInt(cal.find('.minuteselect').val(), 10);
28338            if (isNaN(minute)) {
28339                minute = parseInt(cal.find('.minuteselect option:last').val(), 10);
28340            }
28341            var second = this.timePickerSeconds ? parseInt(cal.find('.secondselect').val(), 10) : 0;
28342
28343            if (!this.timePicker24Hour) {
28344                var ampm = cal.find('.ampmselect').val();
28345                if (ampm === 'PM' && hour < 12)
28346                    hour += 12;
28347                if (ampm === 'AM' && hour === 12)
28348                    hour = 0;
28349            }
28350
28351            if (isLeft) {
28352                var start = this.startDate.clone();
28353                start.hour(hour);
28354                start.minute(minute);
28355                start.second(second);
28356                this.setStartDate(start);
28357                if (this.singleDatePicker) {
28358                    this.endDate = this.startDate.clone();
28359                } else if (this.endDate && this.endDate.format('YYYY-MM-DD') == start.format('YYYY-MM-DD') && this.endDate.isBefore(start)) {
28360                    this.setEndDate(start.clone());
28361                }
28362            } else if (this.endDate) {
28363                var end = this.endDate.clone();
28364                end.hour(hour);
28365                end.minute(minute);
28366                end.second(second);
28367                this.setEndDate(end);
28368            }
28369
28370            //update the calendars so all clickable dates reflect the new time component
28371            this.updateCalendars();
28372
28373            //update the form inputs above the calendars with the new time
28374            this.updateFormInputs();
28375
28376            //re-render the time pickers because changing one selection can affect what's enabled in another
28377            this.renderTimePicker('left');
28378            this.renderTimePicker('right');
28379
28380        },
28381
28382        elementChanged: function() {
28383            if (!this.element.is('input')) return;
28384            if (!this.element.val().length) return;
28385
28386            var dateString = this.element.val().split(this.locale.separator),
28387                start = null,
28388                end = null;
28389
28390            if (dateString.length === 2) {
28391                start = moment(dateString[0], this.locale.format);
28392                end = moment(dateString[1], this.locale.format);
28393            }
28394
28395            if (this.singleDatePicker || start === null || end === null) {
28396                start = moment(this.element.val(), this.locale.format);
28397                end = start;
28398            }
28399
28400            if (!start.isValid() || !end.isValid()) return;
28401
28402            this.setStartDate(start);
28403            this.setEndDate(end);
28404            this.updateView();
28405        },
28406
28407        keydown: function(e) {
28408            //hide on tab or enter
28409            if ((e.keyCode === 9) || (e.keyCode === 13)) {
28410                this.hide();
28411            }
28412
28413            //hide on esc and prevent propagation
28414            if (e.keyCode === 27) {
28415                e.preventDefault();
28416                e.stopPropagation();
28417
28418                this.hide();
28419            }
28420        },
28421
28422        updateElement: function() {
28423            if (this.element.is('input') && this.autoUpdateInput) {
28424                var newValue = this.startDate.format(this.locale.format);
28425                if (!this.singleDatePicker) {
28426                    newValue += this.locale.separator + this.endDate.format(this.locale.format);
28427                }
28428                if (newValue !== this.element.val()) {
28429                    this.element.val(newValue).trigger('change');
28430                }
28431            }
28432        },
28433
28434        remove: function() {
28435            this.container.remove();
28436            this.element.off('.daterangepicker');
28437            this.element.removeData();
28438        }
28439
28440    };
28441
28442    $.fn.daterangepicker = function(options, callback) {
28443        var implementOptions = $.extend(true, {}, $.fn.daterangepicker.defaultOptions, options);
28444        this.each(function() {
28445            var el = $(this);
28446            if (el.data('daterangepicker'))
28447                el.data('daterangepicker').remove();
28448            el.data('daterangepicker', new DateRangePicker(el, implementOptions, callback));
28449        });
28450        return this;
28451    };
28452
28453    return DateRangePicker;
28454
28455}));
28456
28457/*!
28458 * dist/inputmask
28459 * https://github.com/RobinHerbots/Inputmask
28460 * Copyright (c) 2010 - 2024 Robin Herbots
28461 * Licensed under the MIT license
28462 * Version: 5.0.9
28463 */
28464!function(e, t) {
28465    if ("object" == typeof exports && "object" == typeof module) module.exports = t(); else if ("function" == typeof define && define.amd) define([], t); else {
28466        var n = t();
28467        for (var i in n) ("object" == typeof exports ? exports : e)[i] = n[i];
28468    }
28469}("undefined" != typeof self ? self : this, (function() {
28470    return function() {
28471        "use strict";
28472        var e = {
28473            3976: function(e, t) {
28474                Object.defineProperty(t, "__esModule", {
28475                    value: !0
28476                }), t.default = void 0;
28477                t.default = {
28478                    _maxTestPos: 500,
28479                    placeholder: "_",
28480                    optionalmarker: [ "[", "]" ],
28481                    quantifiermarker: [ "{", "}" ],
28482                    groupmarker: [ "(", ")" ],
28483                    alternatormarker: "|",
28484                    escapeChar: "\\",
28485                    mask: null,
28486                    regex: null,
28487                    oncomplete: function() {},
28488                    onincomplete: function() {},
28489                    oncleared: function() {},
28490                    repeat: 0,
28491                    greedy: !1,
28492                    autoUnmask: !1,
28493                    removeMaskOnSubmit: !1,
28494                    clearMaskOnLostFocus: !0,
28495                    insertMode: !0,
28496                    insertModeVisual: !0,
28497                    clearIncomplete: !1,
28498                    alias: null,
28499                    onKeyDown: function() {},
28500                    onBeforeMask: null,
28501                    onBeforePaste: function(e, t) {
28502                        return "function" == typeof t.onBeforeMask ? t.onBeforeMask.call(this, e, t) : e;
28503                    },
28504                    onBeforeWrite: null,
28505                    onUnMask: null,
28506                    showMaskOnFocus: !0,
28507                    showMaskOnHover: !0,
28508                    onKeyValidation: function() {},
28509                    skipOptionalPartCharacter: " ",
28510                    numericInput: !1,
28511                    rightAlign: !1,
28512                    undoOnEscape: !0,
28513                    radixPoint: "",
28514                    _radixDance: !1,
28515                    groupSeparator: "",
28516                    keepStatic: null,
28517                    positionCaretOnTab: !0,
28518                    tabThrough: !1,
28519                    supportsInputType: [ "text", "tel", "url", "password", "search" ],
28520                    isComplete: null,
28521                    preValidation: null,
28522                    postValidation: null,
28523                    staticDefinitionSymbol: void 0,
28524                    jitMasking: !1,
28525                    nullable: !0,
28526                    inputEventOnly: !1,
28527                    noValuePatching: !1,
28528                    positionCaretOnClick: "lvp",
28529                    casing: null,
28530                    inputmode: "text",
28531                    importDataAttributes: !0,
28532                    shiftPositions: !0,
28533                    usePrototypeDefinitions: !0,
28534                    validationEventTimeOut: 3e3,
28535                    substitutes: {}
28536                };
28537            },
28538            7392: function(e, t) {
28539                Object.defineProperty(t, "__esModule", {
28540                    value: !0
28541                }), t.default = void 0;
28542                t.default = {
28543                    9: {
28544                        validator: "[0-9\uff10-\uff19]",
28545                        definitionSymbol: "*"
28546                    },
28547                    a: {
28548                        validator: "[A-Za-z\u0410-\u044f\u0401\u0451\xc0-\xff\xb5]",
28549                        definitionSymbol: "*"
28550                    },
28551                    "*": {
28552                        validator: "[0-9\uff10-\uff19A-Za-z\u0410-\u044f\u0401\u0451\xc0-\xff\xb5]"
28553                    }
28554                };
28555            },
28556            253: function(e, t) {
28557                Object.defineProperty(t, "__esModule", {
28558                    value: !0
28559                }), t.default = function(e, t, n) {
28560                    if (void 0 === n) return e.__data ? e.__data[t] : null;
28561                    e.__data = e.__data || {}, e.__data[t] = n;
28562                };
28563            },
28564            3776: function(e, t, n) {
28565                Object.defineProperty(t, "__esModule", {
28566                    value: !0
28567                }), t.Event = void 0, t.off = function(e, t) {
28568                    var n, i;
28569                    u(this[0]) && e && (n = this[0].eventRegistry, i = this[0], e.split(" ").forEach((function(e) {
28570                        var a = o(e.split("."), 2);
28571                        (function(e, i) {
28572                            var a, r, o = [];
28573                            if (e.length > 0) if (void 0 === t) for (a = 0, r = n[e][i].length; a < r; a++) o.push({
28574                                ev: e,
28575                                namespace: i && i.length > 0 ? i : "global",
28576                                handler: n[e][i][a]
28577                            }); else o.push({
28578                                ev: e,
28579                                namespace: i && i.length > 0 ? i : "global",
28580                                handler: t
28581                            }); else if (i.length > 0) for (var l in n) for (var s in n[l]) if (s === i) if (void 0 === t) for (a = 0, 
28582                            r = n[l][s].length; a < r; a++) o.push({
28583                                ev: l,
28584                                namespace: s,
28585                                handler: n[l][s][a]
28586                            }); else o.push({
28587                                ev: l,
28588                                namespace: s,
28589                                handler: t
28590                            });
28591                            return o;
28592                        }
28592)(a[0], a[1]).forEach((function(e) {
28593                            var t = e.ev, a = e.handler;
28594                            !function(e, t, a) {
28595                                if (e in n == 1) if (i.removeEventListener ? i.removeEventListener(e, a, !1) : i.detachEvent && i.detachEvent("on".concat(e), a), 
28596                                "global" === t) for (var r in n[e]) n[e][r].splice(n[e][r].indexOf(a), 1); else n[e][t].splice(n[e][t].indexOf(a), 1);
28597                            }(t, e.namespace, a);
28598                        }));
28599                    })));
28600                    return this;
28601                }, t.on = function(e, t) {
28602                    if (u(this[0])) {
28603                        var n = this[0].eventRegistry, i = this[0];
28604                        e.split(" ").forEach((function(e) {
28605                            var a = o(e.split("."), 2), r = a[0], l = a[1];
28606                            !function(e, a) {
28607                                i.addEventListener ? i.addEventListener(e, t, !1) : i.attachEvent && i.attachEvent("on".concat(e), t), 
28608                                n[e] = n[e] || {}, n[e][a] = n[e][a] || [], n[e][a].push(t);
28609                            }(r, void 0 === l ? "global" : l);
28610                        }));
28611                    }
28612                    return this;
28613                }, t.trigger = function(e) {
28614                    var t = arguments;
28615                    if (u(this[0])) for (var n = this[0].eventRegistry, i = this[0], o = "string" == typeof e ? e.split(" ") : [ e.type ], l = 0; l < o.length; l++) {
28616                        var s = o[l].split("."), f = s[0], p = s[1] || "global";
28617                        if (void 0 !== c && "global" === p) {
28618                            var d, h = {
28619                                bubbles: !0,
28620                                cancelable: !0,
28621                                composed: !0,
28622                                detail: arguments[1]
28623                            };
28624                            if (c.createEvent) {
28625                                try {
28626                                    if ("input" === f) h.inputType = "insertText", d = new InputEvent(f, h); else d = new CustomEvent(f, h);
28627                                } catch (e) {
28628                                    (d = c.createEvent("CustomEvent")).initCustomEvent(f, h.bubbles, h.cancelable, h.detail);
28629                                }
28630                                e.type && (0, a.default)(d, e), i.dispatchEvent(d);
28631                            } else (d = c.createEventObject()).eventType = f, d.detail = arguments[1], e.type && (0, 
28632                            a.default)(d, e), i.fireEvent("on" + d.eventType, d);
28633                        } else if (void 0 !== n[f]) {
28634                            arguments[0] = arguments[0].type ? arguments[0] : r.default.Event(arguments[0]), 
28635                            arguments[0].detail = arguments.slice(1);
28636                            var v = n[f];
28637                            ("global" === p ? Object.values(v).flat() : v[p]).forEach((function(e) {
28638                                return e.apply(i, t);
28639                            }));
28640                        }
28641                    }
28642                    return this;
28643                };
28644                var i = s(n(9380)), a = s(n(600)), r = s(n(4963));
28645                function o(e, t) {
28646                    return function(e) {
28647                        if (Array.isArray(e)) return e;
28648                    }(e) || function(e, t) {
28649                        var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
28650                        if (null != n) {
28651                            var i, a, r, o, l = [], s = !0, c = !1;
28652                            try {
28653                                if (r = (n = n.call(e)).next, 0 === t) {
28654                                    if (Object(n) !== n) return;
28655                                    s = !1;
28656                                } else for (;!(s = (i = r.call(n)).done) && (l.push(i.value), l.length !== t); s = !0) ;
28657                            } catch (e) {
28658                                c = !0, a = e;
28659                            } finally {
28660                                try {
28661                                    if (!s && null != n.return && (o = n.return(), Object(o) !== o)) return;
28662                                } finally {
28663                                    if (c) throw a;
28664                                }
28665                            }
28666                            return l;
28667                        }
28668                    }(e, t) || function(e, t) {
28669                        if (!e) return;
28670                        if ("string" == typeof e) return l(e, t);
28671                        var n = Object.prototype.toString.call(e).slice(8, -1);
28672                        "Object" === n && e.constructor && (n = e.constructor.name);
28673                        if ("Map" === n || "Set" === n) return Array.from(e);
28674                        if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return l(e, t);
28675                    }(e, t) || function() {
28676                        throw new TypeError("Invalid attempt to de
28676structure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
28677                    }();
28678                }
28679                function l(e, t) {
28680                    (null == t || t > e.length) && (t = e.length);
28681                    for (var n = 0, i = new Array(t); n < t; n++) i[n] = e[n];
28682                    return i;
28683                }
28684                function s(e) {
28685                    return e && e.__esModule ? e : {
28686                        default: e
28687                    };
28688                }
28689                var c = i.default.document;
28690                function u(e) {
28691                    return e instanceof Element;
28692                }
28693                var f = t.Event = void 0;
28694                "function" == typeof i.default.CustomEvent ? t.Event = f = i.default.CustomEvent : i.default.Event && c && c.createEvent ? (t.Event = f = function(e, t) {
28695                    t = t || {
28696                        bubbles: !1,
28697                        cancelable: !1,
28698                        composed: !0,
28699                        detail: void 0
28700                    };
28701                    var n = c.createEvent("CustomEvent");
28702                    return n.initCustomEvent(e, t.bubbles, t.cancelable, t.detail), n;
28703                }, f.prototype = i.default.Event.prototype) : "undefined" != typeof Event && (t.Event = f = Event);
28704            },
28705            600: function(e, t) {
28706                function n(e) {
28707                    return n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
28708                        return typeof e;
28709                    } : function(e) {
28710                        return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
28711                    }, n(e);
28712                }
28713                Object.defineProperty(t, "__esModule", {
28714                    value: !0
28715                }), t.default = function e() {
28716                    var t, i, a, r, o, l, s = arguments[0] || {}, c = 1, u = arguments.length, f = !1;
28717                    "boolean" == typeof s && (f = s, s = arguments[c] || {}, c++);
28718                    "object" !== n(s) && "function" != typeof s && (s = {});
28719                    for (;c < u; c++) if (null != (t = arguments[c])) for (i in t) a = s[i], s !== (r = t[i]) && (f && r && ("[object Object]" === Object.prototype.toString.call(r) || (o = Array.isArray(r))) ? (o ? (o = !1, 
28720                    l = a && Array.isArray(a) ? a : []) : l = a && "[object Object]" === Object.prototype.toString.call(a) ? a : {}, 
28721                    s[i] = e(f, l, r)) : void 0 !== r && (s[i] = r));
28722                    return s;
28723                };
28724            },
28725            4963: function(e, t, n) {
28726                Object.defineProperty(t, "__esModule", {
28727                    value: !0
28728                }), t.default = void 0;
28729                var i = l(n(9380)), a = l(n(253)), r = n(3776), o = l(n(600));
28730                function l(e) {
28731                    return e && e.__esModule ? e : {
28732                        default: e
28733                    };
28734                }
28735                var s = i.default.document;
28736                function c(e) {
28737                    return e instanceof c ? e : this instanceof c ? void (null != e && e !== i.default && (this[0] = e.nodeName ? e : void 0 !== e[0] && e[0].nodeName ? e[0] : s.querySelector(e), 
28738                    void 0 !== this[0] && null !== this[0] && (this[0].eventRegistry = this[0].eventRegistry || {}))) : new c(e);
28739                }
28740                c.prototype = {
28741                    on: r.on,
28742                    off: r.off,
28743                    trigger: r.trigger
28744                }, c.extend = o.default, c.data = a.default, c.Event = r.Event;
28745                t.default = c;
28746            },
28747            9845: function(e, t, n) {
28748                Object.defineProperty(t, "__esModule", {
28749                    value: !0
28750                }), t.mobile = t.iphone = t.ie = void 0;
28751                var i, a = (i = n(9380)) && i.__esModule ? i : {
28752                    default: i
28753                };
28754                var r = a.default.navigator && a.default.navigator.userAgent || "";
28755                t.ie = r.indexOf("MSIE ") > 0 || r.indexOf("Trident/") > 0, t.mobile = a.default.navigator && a.default.navigator.userAgentData && a.default.navigator.userAgentData.mobile || a.default.navigator && a.default.navigator.maxTouchPoints || "ontouchstart" in a.default, 
28756                t.iphone = /iphone/i.test(r);
28757            },
28758            7184: function(e, t) {
28759                Object.defineProperty(t, "__esModule", {
28760                    value: !0
28761                }), t.default = function(e) {
28762                    return e.replace(n, "\\$1");
28763                };
28764                var n = new RegExp("(\\" + [ "/", ".", "*", "+", "?", "|", "(", ")", "[", "]", "{", "}", "\\", "$", "^" ].join("|\\") + ")", "gim");
28765            },
28766            6030: function(e, t, n) {
28767                function i(e) {
28768                    return i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
28769                        return typeof e;
28770                    } : function(e) {
28771                        return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
28772                    }, i(e);
28773                }
28774                Object.defineProperty(t, "__esModule", {
28775                    value: !0
28776                }), t.EventHandlers = void 0;
28777                var a, r = n(9845), o = (a = n(9380)) && a.__esModule ? a : {
28778                    default: a
28779                }, l = n(7760), s = n(2839), c = n(8711), u = n(7215), f = n(4713);
28780                function p() {
28781                    /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ p = function() {
28782                        return t;
28783                    };
28784                    var e, t = {}, n = Object.prototype, a = n.hasOwnProperty, r = Object.defineProperty || function(e, t, n) {
28785                        e[t] = n.value;
28786                    }, o = "function" == typeof Symbol ? Symbol : {}, l = o.iterator || "@@iterator", s = o.asyncIterator || "@@asyncIterator", c = o.toStringTag || "@@toStringTag";
28787                    function u(e, t, n) {
28788                        return Object.defineProperty(e, t, {
28789                            value: n,
28790                            enumerable: !0,
28791                            configurable: !0,
28792                            writable: !0
28793                        }), e[t];
28794                    }
28795                    try {
28796                        u({}, "");
28797                    } catch (e) {
28798                        u = function(e, t, n) {
28799                            return e[t] = n;
28800                        };
28801                    }
28802                    function f(e, t, n, i) {
28803                        var a = t && t.prototype instanceof k ? t : k, o = Object.create(a.prototype), l = new D(i || []);
28804                        return r(o, "_invoke", {
28805                            value: E(e, n, l)
28806                        }), o;
28807                    }
28808                    function d(e, t, n) {
28809                        try {
28810                            return {
28811                                type: "normal",
28812                                arg: e.call(t, n)
28813                            };
28814                        } catch (e) {
28815                            return {
28816                                type: "throw",
28817                                arg: e
28818                            };
28819                        }
28820                    }
28821                    t.wrap = f;
28822                    var h = "suspendedStart", v = "suspendedYield", m = "executing", g = "completed", y = {};
28823                    function k() {}
28824                    function b() {}
28825                    function x() {}
28826                    var w = {};
28827                    u(w, l, (function() {
28828                        return this;
28829                    }));
28830                    var P = Object.getPrototypeOf, S = P && P(P(L([])));
28831                    S && S !== n && a.call(S, l) && (w = S);
28832                    var O = x.prototype = k.prototype = Object.create(w);
28833                    function _(e) {
28834                        [ "next", "throw", "return" ].forEach((function(t) {
28835                            u(e, t, (function(e) {
28836                                return this._invoke(t, e);
28837                            }));
28838                        }));
28839                    }
28840                    function M(e, t) {
28841                        function n(r, o, l, s) {
28842                            var c = d(e[r], e, o);
28843                            if ("throw" !== c.type) {
28844                                var u = c.arg, f = u.value;
28845                                return f && "object" == i(f) && a.call(f, "__await") ? t.resolve(f.__await).then((function(e) {
28846                                    n("next", e, l, s);
28847                                }), (function(e) {
28848                                    n("throw", e, l, s);
28849                                })) : t.resolve(f).then((function(e) {
28850                                    u.value = e, l(u);
28851                                }), (function(e) {
28852                                    return n("throw", e, l, s);
28853                                }));
28854                            }
28855                            s(c.arg);
28856                        }
28857                        var o;
28858                        r(this, "_invoke", {
28859                            value: function(e, i) {
28860                                function a() {
28861                                    return new t((function(t, a) {
28862                                        n(e, i, t, a);
28863                                    }));
28864                                }
28865                                return o = o ? o.then(a, a) : a();
28866                            }
28867                        });
28868                    }
28869                    function E(t, n, i) {
28870                        var a = h;
28871                        return function(r, o) {
28872                            if (a === m) throw new Error("Generator is already running");
28873                            if (a === g) {
28874                                if ("throw" === r) throw o;
28875                                return {
28876                                    value: e,
28877                                    done: !0
28878                                };
28879                            }
28880                            for (i.method = r, i.arg = o; ;) {
28881                                var l = i.delegate;
28882                                if (l) {
28883                                    var s = j(l, i);
28884                                    if (s) {
vendor: 14,089 bytes, lines 28885-29138
28885                                        if (s === y) continue;
28886                                        return s;
28887                                    }
28888                                }
28889                                if ("next" === i.method) i.sent = i._sent = i.arg; else if ("throw" === i.method) {
28890                                    if (a === h) throw a = g, i.arg;
28891                                    i.dispatchException(i.arg);
28892                                } else "return" === i.method && i.abrupt("return", i.arg);
28893                                a = m;
28894                                var c = d(t, n, i);
28895                                if ("normal" === c.type) {
28896                                    if (a = i.done ? g : v, c.arg === y) continue;
28897                                    return {
28898                                        value: c.arg,
28899                                        done: i.done
28900                                    };
28901                                }
28902                                "throw" === c.type && (a = g, i.method = "throw", i.arg = c.arg);
28903                            }
28904                        };
28905                    }
28906                    function j(t, n) {
28907                        var i = n.method, a = t.iterator[i];
28908                        if (a === e) return n.delegate = null, "throw" === i && t.iterator.return && (n.method = "return", 
28909                        n.arg = e, j(t, n), "throw" === n.method) || "return" !== i && (n.method = "throw", 
28910                        n.arg = new TypeError("The iterator does not provide a '" + i + "' method")), y;
28911                        var r = d(a, t.iterator, n.arg);
28912                        if ("throw" === r.type) return n.method = "throw", n.arg = r.arg, n.delegate = null, 
28913                        y;
28914                        var o = r.arg;
28915                        return o ? o.done ? (n[t.resultName] = o.value, n.next = t.nextLoc, "return" !== n.method && (n.method = "next", 
28916                        n.arg = e), n.delegate = null, y) : o : (n.method = "throw", n.arg = new TypeError("iterator result is not an object"), 
28917                        n.delegate = null, y);
28918                    }
28919                    function T(e) {
28920                        var t = {
28921                            tryLoc: e[0]
28922                        };
28923                        1 in e && (t.catchLoc = e[1]), 2 in e && (t.finallyLoc = e[2], t.afterLoc = e[3]), 
28924                        this.tryEntries.push(t);
28925                    }
28926                    function A(e) {
28927                        var t = e.completion || {};
28928                        t.type = "normal", delete t.arg, e.completion = t;
28929                    }
28930                    function D(e) {
28931                        this.tryEntries = [ {
28932                            tryLoc: "root"
28933                        } ], e.forEach(T, this), this.reset(!0);
28934                    }
28935                    function L(t) {
28936                        if (t || "" === t) {
28937                            var n = t[l];
28938                            if (n) return n.call(t);
28939                            if ("function" == typeof t.next) return t;
28940                            if (!isNaN(t.length)) {
28941                                var r = -1, o = function n() {
28942                                    for (;++r < t.length; ) if (a.call(t, r)) return n.value = t[r], n.done = !1, n;
28943                                    return n.value = e, n.done = !0, n;
28944                                };
28945                                return o.next = o;
28946                            }
28947                        }
28948                        throw new TypeError(i(t) + " is not iterable");
28949                    }
28950                    return b.prototype = x, r(O, "constructor", {
28951                        value: x,
28952                        configurable: !0
28953                    }), r(x, "constructor", {
28954                        value: b,
28955                        configurable: !0
28956                    }), b.displayName = u(x, c, "GeneratorFunction"), t.isGeneratorFunction = function(e) {
28957                        var t = "function" == typeof e && e.constructor;
28958                        return !!t && (t === b || "GeneratorFunction" === (t.displayName || t.name));
28959                    }, t.mark = function(e) {
28960                        return Object.setPrototypeOf ? Object.setPrototypeOf(e, x) : (e.__proto__ = x, u(e, c, "GeneratorFunction")), 
28961                        e.prototype = Object.create(O), e;
28962                    }, t.awrap = function(e) {
28963                        return {
28964                            __await: e
28965                        };
28966                    }, _(M.prototype), u(M.prototype, s, (function() {
28967                        return this;
28968                    })), t.AsyncIterator = M, t.async = function(e, n, i, a, r) {
28969                        void 0 === r && (r = Promise);
28970                        var o = new M(f(e, n, i, a), r);
28971                        return t.isGeneratorFunction(n) ? o : o.next().then((function(e) {
28972                            return e.done ? e.value : o.next();
28973                        }));
28974                    }, _(O), u(O, c, "Generator"), u(O, l, (function() {
28975                        return this;
28976                    })), u(O, "toString", (function() {
28977                        return "[object Generator]";
28978                    })), t.keys = function(e) {
28979                        var t = Object(e), n = [];
28980                        for (var i in t) n.push(i);
28981                        return n.reverse(), function e() {
28982                            for (;n.length; ) {
28983                                var i = n.pop();
28984                                if (i in t) return e.value = i, e.done = !1, e;
28985                            }
28986                            return e.done = !0, e;
28987                        };
28988                    }, t.values = L, D.prototype = {
28989                        constructor: D,
28990                        reset: function(t) {
28991                            if (this.prev = 0, this.next = 0, this.sent = this._sent = e, this.done = !1, this.delegate = null, 
28992                            this.method = "next", this.arg = e, this.tryEntries.forEach(A), !t) for (var n in this) "t" === n.charAt(0) && a.call(this, n) && !isNaN(+n.slice(1)) && (this[n] = e);
28993                        },
28994                        stop: function() {
28995                            this.done = !0;
28996                            var e = this.tryEntries[0].completion;
28997                            if ("throw" === e.type) throw e.arg;
28998                            return this.rval;
28999                        },
29000                        dispatchException: function(t) {
29001                            if (this.done) throw t;
29002                            var n = this;
29003                            function i(i, a) {
29004                                return l.type = "throw", l.arg = t, n.next = i, a && (n.method = "next", n.arg = e), 
29005                                !!a;
29006                            }
29007                            for (var r = this.tryEntries.length - 1; r >= 0; --r) {
29008                                var o = this.tryEntries[r], l = o.completion;
29009                                if ("root" === o.tryLoc) return i("end");
29010                                if (o.tryLoc <= this.prev) {
29011                                    var s = a.call(o, "catchLoc"), c = a.call(o, "finallyLoc");
29012                                    if (s && c) {
29013                                        if (this.prev < o.catchLoc) return i(o.catchLoc, !0);
29014                                        if (this.prev < o.finallyLoc) return i(o.finallyLoc);
29015                                    } else if (s) {
29016                                        if (this.prev < o.catchLoc) return i(o.catchLoc, !0);
29017                                    } else {
29018                                        if (!c) throw new Error("try statement without catch or finally");
29019                                        if (this.prev < o.finallyLoc) return i(o.finallyLoc);
29020                                    }
29021                                }
29022                            }
29023                        },
29024                        abrupt: function(e, t) {
29025                            for (var n = this.tryEntries.length - 1; n >= 0; --n) {
29026                                var i = this.tryEntries[n];
29027                                if (i.tryLoc <= this.prev && a.call(i, "finallyLoc") && this.prev < i.finallyLoc) {
29028                                    var r = i;
29029                                    break;
29030                                }
29031                            }
29032                            r && ("break" === e || "continue" === e) && r.tryLoc <= t && t <= r.finallyLoc && (r = null);
29033                            var o = r ? r.completion : {};
29034                            return o.type = e, o.arg = t, r ? (this.method = "next", this.next = r.finallyLoc, 
29035                            y) : this.complete(o);
29036                        },
29037                        complete: function(e, t) {
29038                            if ("throw" === e.type) throw e.arg;
29039                            return "break" === e.type || "continue" === e.type ? this.next = e.arg : "return" === e.type ? (this.rval = this.arg = e.arg, 
29040                            this.method = "return", this.next = "end") : "normal" === e.type && t && (this.next = t), 
29041                            y;
29042                        },
29043                        finish: function(e) {
29044                            for (var t = this.tryEntries.length - 1; t >= 0; --t) {
29045                                var n = this.tryEntries[t];
29046                                if (n.finallyLoc === e) return this.complete(n.completion, n.afterLoc), A(n), y;
29047                            }
29048                        },
29049                        catch: function(e) {
29050                            for (var t = this.tryEntries.length - 1; t >= 0; --t) {
29051                                var n = this.tryEntries[t];
29052                                if (n.tryLoc === e) {
29053                                    var i = n.completion;
29054                                    if ("throw" === i.type) {
29055                                        var a = i.arg;
29056                                        A(n);
29057                                    }
29058                                    return a;
29059                                }
29060                            }
29061                            throw new Error("illegal catch attempt");
29062                        },
29063                        delegateYield: function(t, n, i) {
29064                            return this.delegate = {
29065                                iterator: L(t),
29066                                resultName: n,
29067                                nextLoc: i
29068                            }, "next" === this.method && (this.arg = e), y;
29069                        }
29070                    }, t;
29071                }
29072                function d(e, t) {
29073                    var n = "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
29074                    if (!n) {
29075                        if (Array.isArray(e) || (n = function(e, t) {
29076                            if (!e) return;
29077                            if ("string" == typeof e) return h(e, t);
29078                            var n = Object.prototype.toString.call(e).slice(8, -1);
29079                            "Object" === n && e.constructor && (n = e.constructor.name);
29080                            if ("Map" === n || "Set" === n) return Array.from(e);
29081                            if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return h(e, t);
29082                        }(e)) || t && e && "number" == typeof e.length) {
29083                            n && (e = n);
29084                            var i = 0, a = function() {};
29085                            return {
29086                                s: a,
29087                                n: function() {
29088                                    return i >= e.length ? {
29089                                        done: !0
29090                                    } : {
29091                                        done: !1,
29092                                        value: e[i++]
29093                                    };
29094                                },
29095                                e: function(e) {
29096                                    throw e;
29097                                },
29098                                f: a
29099                            };
29100                        }
29101                        throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
29102                    }
29103                    var r, o = !0, l = !1;
29104                    return {
29105                        s: function() {
29106                            n = n.call(e);
29107                        },
29108                        n: function() {
29109                            var e = n.next();
29110                            return o = e.done, e;
29111                        },
29112                        e: function(e) {
29113                            l = !0, r = e;
29114                        },
29115                        f: function() {
29116                            try {
29117                                o || null == n.return || n.return();
29118                            } finally {
29119                                if (l) throw r;
29120                            }
29121                        }
29122                    };
29123                }
29124                function h(e, t) {
29125                    (null == t || t > e.length) && (t = e.length);
29126                    for (var n = 0, i = new Array(t); n < t; n++) i[n] = e[n];
29127                    return i;
29128                }
29129                function v(e, t, n, i, a, r, o) {
29130                    try {
29131                        var l = e[r](o), s = l.value;
29132                    } catch (e) {
29133                        return void n(e);
29134                    }
29135                    l.done ? t(s) : Promise.resolve(s).then(i, a);
29136                }
29137                var m, g, y = t.EventHandlers = {
29138                    keyEvent: function(e, t, n, i, a) {
vendor: 10,276 bytes, lines 29139-29266
29139                        var o = this.inputmask, p = o.opts, d = o.dependencyLib, h = o.maskset, v = this, m = d(v), g = e.key, k = c.caret.call(o, v), b = p.onKeyDown.call(this, e, c.getBuffer.call(o), k, p);
29140                        if (void 0 !== b) return b;
29141                        if (g === s.keys.Backspace || g === s.keys.Delete || r.iphone && g === s.keys.BACKSPACE_SAFARI || e.ctrlKey && g === s.keys.x && !("oncut" in v)) e.preventDefault(), 
29142                        u.handleRemove.call(o, v, g, k), (0, l.writeBuffer)(v, c.getBuffer.call(o, !0), h.p, e, v.inputmask._valueGet() !== c.getBuffer.call(o).join("")); else if (g === s.keys.End || g === s.keys.PageDown) {
29143                            e.preventDefault();
29144                            var x = c.seekNext.call(o, c.getLastValidPosition.call(o));
29145                            c.caret.call(o, v, e.shiftKey ? k.begin : x, x, !0);
29146                        } else g === s.keys.Home && !e.shiftKey || g === s.keys.PageUp ? (e.preventDefault(), 
29147                        c.caret.call(o, v, 0, e.shiftKey ? k.begin : 0, !0)) : p.undoOnEscape && g === s.keys.Escape && !0 !== e.altKey ? ((0, 
29148                        l.checkVal)(v, !0, !1, o.undoValue.split("")), m.trigger("click")) : g !== s.keys.Insert || e.shiftKey || e.ctrlKey || void 0 !== o.userOptions.insertMode ? !0 === p.tabThrough && g === s.keys.Tab ? !0 === e.shiftKey ? (k.end = c.seekPrevious.call(o, k.end, !0), 
29149                        !0 === f.getTest.call(o, k.end - 1).match.static && k.end--, k.begin = c.seekPrevious.call(o, k.end, !0), 
29150                        k.begin >= 0 && k.end > 0 && (e.preventDefault(), c.caret.call(o, v, k.begin, k.end))) : (k.begin = c.seekNext.call(o, k.begin, !0), 
29151                        k.end = c.seekNext.call(o, k.begin, !0), k.end < h.maskLength && k.end--, k.begin <= h.maskLength && (e.preventDefault(), 
29152                        c.caret.call(o, v, k.begin, k.end))) : e.shiftKey || (p.insertModeVisual && !1 === p.insertMode ? g === s.keys.ArrowRight ? setTimeout((function() {
29153                            var e = c.caret.call(o, v);
29154                            c.caret.call(o, v, e.begin);
29155                        }), 0) : g === s.keys.ArrowLeft && setTimeout((function() {
29156                            var e = c.translatePosition.call(o, v.inputmask.caretPos.begin);
29157                            c.translatePosition.call(o, v.inputmask.caretPos.end);
29158                            o.isRTL ? c.caret.call(o, v, e + (e === h.maskLength ? 0 : 1)) : c.caret.call(o, v, e - (0 === e ? 0 : 1));
29159                        }), 0) : void 0 === o.keyEventHook || o.keyEventHook(e)) : u.isSelection.call(o, k) ? p.insertMode = !p.insertMode : (p.insertMode = !p.insertMode, 
29160                        c.caret.call(o, v, k.begin, k.begin));
29161                        return o.isComposing = g == s.keys.Process || g == s.keys.Unidentified, o.ignorable = g.length > 1 && !("textarea" === v.tagName.toLowerCase() && g == s.keys.Enter), 
29162                        y.keypressEvent.call(this, e, t, n, i, a);
29163                    },
29164                    keypressEvent: function(e, t, n, i, a) {
29165                        var r = this.inputmask || this, o = r.opts, f = r.dependencyLib, p = r.maskset, d = r.el, h = f(d), v = e.key;
29166                        if (!0 === t || e.ctrlKey && e.altKey && !r.ignorable || !(e.ctrlKey || e.metaKey || r.ignorable)) {
29167                            if (v) {
29168                                var m, g = t ? {
29169                                    begin: a,
29170                                    end: a
29171                                } : c.caret.call(r, d);
29172                                t || (v = o.substitutes[v] || v), p.writeOutBuffer = !0;
29173                                var y = u.isValid.call(r, g, v, i, void 0, void 0, void 0, t);
29174                                if (!1 !== y && (c.resetMaskSet.call(r, !0), m = void 0 !== y.caret ? y.caret : c.seekNext.call(r, y.pos.begin ? y.pos.begin : y.pos), 
29175                                p.p = m), m = o.numericInput && void 0 === y.caret ? c.seekPrevious.call(r, m) : m, 
29176                                !1 !== n && (setTimeout((function() {
29177                                    o.onKeyValidation.call(d, v, y);
29178                                }), 0), p.writeOutBuffer && !1 !== y)) {
29179                                    var k = c.getBuffer.call(r);
29180                                    (0, l.writeBuffer)(d, k, m, e, !0 !== t);
29181                                }
29182                                if (e.preventDefault(), t) return !1 !== y && (y.forwardPosition = m), y;
29183                            }
29184                        } else v === s.keys.Enter && r.undoValue !== r._valueGet(!0) && (r.undoValue = r._valueGet(!0), 
29185                        setTimeout((function() {
29186                            h.trigger("change");
29187                        }), 0));
29188                    },
29189                    pasteEvent: (m = p().mark((function e(t) {
29190                        var n, i, a, r, s, u;
29191                        return p().wrap((function(e) {
29192                            for (;;) switch (e.prev = e.next) {
29193                              case 0:
29194                                n = function(e, n, i, a, o) {
29195                                    var s = c.caret.call(e, n, void 0, void 0, !0), u = i.substr(0, s.begin), f = i.substr(s.end, i.length);
29196                                    if (u == (e.isRTL ? c.getBufferTemplate.call(e).slice().reverse() : c.getBufferTemplate.call(e)).slice(0, s.begin).join("") && (u = ""), 
29197                                    f == (e.isRTL ? c.getBufferTemplate.call(e).slice().reverse() : c.getBufferTemplate.call(e)).slice(s.end).join("") && (f = ""), 
29198                                    a = u + a + f, e.isRTL && !0 !== r.numericInput) {
29199                                        a = a.split("");
29200                                        var p, h = d(c.getBufferTemplate.call(e));
29201                                        try {
29202                                            for (h.s(); !(p = h.n()).done; ) {
29203                                                var v = p.value;
29204                                                a[0] === v && a.shift();
29205                                            }
29206                                        } catch (e) {
29207                                            h.e(e);
29208                                        } finally {
29209                                            h.f();
29210                                        }
29211                                        a = a.reverse().join("");
29212                                    }
29213                                    var m = a;
29214                                    if ("function" == typeof o) {
29215                                        if (!1 === (m = o.call(e, m, r))) return !1;
29216                                        m || (m = i);
29217                                    }
29218                                    (0, l.checkVal)(n, !0, !1, m.toString().split(""), t);
29219                                }, i = this, a = this.inputmask, r = a.opts, s = a._valueGet(!0), a.skipInputEvent = !0, 
29220                                t.clipboardData && t.clipboardData.getData ? u = t.clipboardData.getData("text/plain") : o.default.clipboardData && o.default.clipboardData.getData && (u = o.default.clipboardData.getData("Text")), 
29221                                n(a, i, s, u, r.onBeforePaste), t.preventDefault();
29222
29223                              case 7:
29224                              case "end":
29225                                return e.stop();
29226                            }
29227                        }), e, this);
29228                    })), g = function() {
29229                        var e = this, t = arguments;
29230                        return new Promise((function(n, i) {
29231                            var a = m.apply(e, t);
29232                            function r(e) {
29233                                v(a, n, i, r, o, "next", e);
29234                            }
29235                            function o(e) {
29236                                v(a, n, i, r, o, "throw", e);
29237                            }
29238                            r(void 0);
29239                        }));
29240                    }, function(e) {
29241                        return g.apply(this, arguments);
29242                    }),
29243                    inputFallBackEvent: function(e) {
29244                        var t = this.inputmask, n = t.opts, i = t.dependencyLib;
29245                        var a, o = this, u = o.inputmask._valueGet(!0), p = (t.isRTL ? c.getBuffer.call(t).slice().reverse() : c.getBuffer.call(t)).join(""), d = c.caret.call(t, o, void 0, void 0, !0);
29246                        if (p !== u) {
29247                            if (a = function(e, i, a) {
29248                                for (var r, o, l, s = e.substr(0, a.begin).split(""), u = e.substr(a.begin).split(""), p = i.substr(0, a.begin).split(""), d = i.substr(a.begin).split(""), h = s.length >= p.length ? s.length : p.length, v = u.length >= d.length ? u.length : d.length, m = "", g = [], y = "~"; s.length < h; ) s.push(y);
29249                                for (;p.length < h; ) p.push(y);
29250                                for (;u.length < v; ) u.unshift(y);
29251                                for (;d.length < v; ) d.unshift(y);
29252                                var k = s.concat(u), b = p.concat(d);
29253                                for (o = 0, r = k.length; o < r; o++) switch (l = f.getPlaceholder.call(t, c.translatePosition.call(t, o)), 
29254                                m) {
29255                                  case "insertText":
29256                                    b[o - 1] === k[o] && a.begin == k.length - 1 && g.push(k[o]), o = r;
29257                                    break;
29258
29259                                  case "insertReplacementText":
29260                                  case "deleteContentBackward":
29261                                    k[o] === y ? a.end++ : o = r;
29262                                    break;
29263
29264                                  default:
29265                                    k[o] !== b[o] && (k[o + 1] !== y && k[o + 1] !== l && void 0 !== k[o + 1] || (b[o] !== l || b[o + 1] !== y) && b[o] !== y ? b[o + 1] === y && b[o] === k[o + 1] ? (m = "insertText", 
29266                                    g.push(k[o]), a.begin--, a.end--) : k[o] !== l && 
vendor: 13,383 bytes, lines 29266-29459
29266k[o] !== y && (k[o + 1] === y || b[o] !== k[o] && b[o + 1] === k[o + 1]) ? (m = "insertReplacementText", 
29267                                    g.push(k[o]), a.begin--) : k[o] === y ? (m = "deleteContentBackward", (c.isMask.call(t, c.translatePosition.call(t, o), !0) || b[o] === n.radixPoint) && a.end++) : o = r : (m = "insertText", 
29268                                    g.push(k[o]), a.begin--, a.end--));
29269                                }
29270                                return {
29271                                    action: m,
29272                                    data: g,
29273                                    caret: a
29274                                };
29275                            }(u, p, d), (o.inputmask.shadowRoot || o.ownerDocument).activeElement !== o && o.focus(), 
29276                            (0, l.writeBuffer)(o, c.getBuffer.call(t)), c.caret.call(t, o, d.begin, d.end, !0), 
29277                            !r.mobile && t.skipNextInsert && "insertText" === e.inputType && "insertText" === a.action && t.isComposing) return !1;
29278                            switch ("insertCompositionText" === e.inputType && "insertText" === a.action && t.isComposing ? t.skipNextInsert = !0 : t.skipNextInsert = !1, 
29279                            a.action) {
29280                              case "insertText":
29281                              case "insertReplacementText":
29282                                a.data.forEach((function(e, n) {
29283                                    var a = new i.Event("keypress");
29284                                    a.key = e, t.ignorable = !1, y.keypressEvent.call(o, a);
29285                                })), setTimeout((function() {
29286                                    t.$el.trigger("keyup");
29287                                }), 0);
29288                                break;
29289
29290                              case "deleteContentBackward":
29291                                var h = new i.Event("keydown");
29292                                h.key = s.keys.Backspace, y.keyEvent.call(o, h);
29293                                break;
29294
29295                              default:
29296                                (0, l.applyInputValue)(o, u), c.caret.call(t, o, d.begin, d.end, !0);
29297                            }
29298                            e.preventDefault();
29299                        }
29300                    },
29301                    setValueEvent: function(e) {
29302                        var t = this.inputmask, n = t.dependencyLib, i = this, a = e && e.detail ? e.detail[0] : arguments[1];
29303                        void 0 === a && (a = i.inputmask._valueGet(!0)), (0, l.applyInputValue)(i, a, new n.Event("input")), 
29304                        (e.detail && void 0 !== e.detail[1] || void 0 !== arguments[2]) && c.caret.call(t, i, e.detail ? e.detail[1] : arguments[2]);
29305                    },
29306                    focusEvent: function(e) {
29307                        var t = this.inputmask, n = t.opts, i = t && t._valueGet();
29308                        n.showMaskOnFocus && i !== c.getBuffer.call(t).join("") && (0, l.writeBuffer)(this, c.getBuffer.call(t), c.seekNext.call(t, c.getLastValidPosition.call(t))), 
29309                        !0 !== n.positionCaretOnTab || !1 !== t.mouseEnter || u.isComplete.call(t, c.getBuffer.call(t)) && -1 !== c.getLastValidPosition.call(t) || y.clickEvent.apply(this, [ e, !0 ]), 
29310                        t.undoValue = t && t._valueGet(!0);
29311                    },
29312                    invalidEvent: function(e) {
29313                        this.inputmask.validationEvent = !0;
29314                    },
29315                    mouseleaveEvent: function() {
29316                        var e = this.inputmask, t = e.opts, n = this;
29317                        e.mouseEnter = !1, t.clearMaskOnLostFocus && (n.inputmask.shadowRoot || n.ownerDocument).activeElement !== n && (0, 
29318                        l.HandleNativePlaceholder)(n, e.originalPlaceholder);
29319                    },
29320                    clickEvent: function(e, t) {
29321                        var n = this.inputmask;
29322                        n.clicked++;
29323                        var i = this;
29324                        if ((i.inputmask.shadowRoot || i.ownerDocument).activeElement === i) {
29325                            var a = c.determineNewCaretPosition.call(n, c.caret.call(n, i), t);
29326                            void 0 !== a && c.caret.call(n, i, a);
29327                        }
29328                    },
29329                    cutEvent: function(e) {
29330                        var t = this.inputmask, n = t.maskset, i = this, a = c.caret.call(t, i), r = t.isRTL ? c.getBuffer.call(t).slice(a.end, a.begin) : c.getBuffer.call(t).slice(a.begin, a.end), f = t.isRTL ? r.reverse().join("") : r.join("");
29331                        o.default.navigator && o.default.navigator.clipboard ? o.default.navigator.clipboard.writeText(f) : o.default.clipboardData && o.default.clipboardData.getData && o.default.clipboardData.setData("Text", f), 
29332                        u.handleRemove.call(t, i, s.keys.Delete, a), (0, l.writeBuffer)(i, c.getBuffer.call(t), n.p, e, t.undoValue !== t._valueGet(!0));
29333                    },
29334                    blurEvent: function(e) {
29335                        var t = this.inputmask, n = t.opts, i = t.dependencyLib;
29336                        t.clicked = 0;
29337                        var a = i(this), r = this;
29338                        if (r.inputmask) {
29339                            (0, l.HandleNativePlaceholder)(r, t.originalPlaceholder);
29340                            var o = r.inputmask._valueGet(), s = c.getBuffer.call(t).slice();
29341                            "" !== o && (n.clearMaskOnLostFocus && (-1 === c.getLastValidPosition.call(t) && o === c.getBufferTemplate.call(t).join("") ? s = [] : l.clearOptionalTail.call(t, s)), 
29342                            !1 === u.isComplete.call(t, s) && (setTimeout((function() {
29343                                a.trigger("incomplete");
29344                            }), 0), n.clearIncomplete && (c.resetMaskSet.call(t, !1), s = n.clearMaskOnLostFocus ? [] : c.getBufferTemplate.call(t).slice())), 
29345                            (0, l.writeBuffer)(r, s, void 0, e)), o = t._valueGet(!0), t.undoValue !== o && ("" != o || t.undoValue != c.getBufferTemplate.call(t).join("") || t.undoValue == c.getBufferTemplate.call(t).join("") && t.maskset.validPositions.length > 0) && (t.undoValue = o, 
29346                            a.trigger("change"));
29347                        }
29348                    },
29349                    mouseenterEvent: function() {
29350                        var e = this.inputmask, t = e.opts.showMaskOnHover, n = this;
29351                        if (e.mouseEnter = !0, (n.inputmask.shadowRoot || n.ownerDocument).activeElement !== n) {
29352                            var i = (e.isRTL ? c.getBufferTemplate.call(e).slice().reverse() : c.getBufferTemplate.call(e)).join("");
29353                            t && (0, l.HandleNativePlaceholder)(n, i);
29354                        }
29355                    },
29356                    submitEvent: function() {
29357                        var e = this.inputmask, t = e.opts;
29358                        e.undoValue !== e._valueGet(!0) && e.$el.trigger("change"), -1 === c.getLastValidPosition.call(e) && e._valueGet && e._valueGet() === c.getBufferTemplate.call(e).join("") && e._valueSet(""), 
29359                        t.clearIncomplete && !1 === u.isComplete.call(e, c.getBuffer.call(e)) && e._valueSet(""), 
29360                        t.removeMaskOnSubmit && (e._valueSet(e.unmaskedvalue(), !0), setTimeout((function() {
29361                            (0, l.writeBuffer)(e.el, c.getBuffer.call(e));
29362                        }), 0));
29363                    },
29364                    resetEvent: function() {
29365                        var e = this.inputmask;
29366                        e.refreshValue = !0, setTimeout((function() {
29367                            (0, l.applyInputValue)(e.el, e._valueGet(!0));
29368                        }), 0);
29369                    }
29370                };
29371            },
29372            9716: function(e, t, n) {
29373                Object.defineProperty(t, "__esModule", {
29374                    value: !0
29375                }), t.EventRuler = void 0;
29376                var i, a = n(7760), r = (i = n(2394)) && i.__esModule ? i : {
29377                    default: i
29378                }, o = n(2839), l = n(8711);
29379                t.EventRuler = {
29380                    on: function(e, t, n) {
29381                        var i = e.inputmask.dependencyLib, s = function(t) {
29382                            t.originalEvent && (t = t.originalEvent || t, arguments[0] = t);
29383                            var s, c = this, u = c.inputmask, f = u ? u.opts : void 0;
29384                            if (void 0 === u && "FORM" !== this.nodeName) {
29385                                var p = i.data(c, "_inputmask_opts");
29386                                i(c).off(), p && new r.default(p).mask(c);
29387                            } else {
29388                                if ([ "submit", "reset", "setvalue" ].includes(t.type) || "FORM" === this.nodeName || !(c.disabled || c.readOnly && !("keydown" === t.type && t.ctrlKey && t.key === o.keys.c || !1 === f.tabThrough && t.key === o.keys.Tab))) {
29389                                    switch (t.type) {
29390                                      case "input":
29391                                        if (!0 === u.skipInputEvent) return u.skipInputEvent = !1, t.preventDefault();
29392                                        break;
29393
29394                                      case "click":
29395                                      case "focus":
29396                                        return u.validationEvent ? (u.validationEvent = !1, e.blur(), (0, a.HandleNativePlaceholder)(e, (u.isRTL ? l.getBufferTemplate.call(u).slice().reverse() : l.getBufferTemplate.call(u)).join("")), 
29397                                        setTimeout((function() {
29398                                            e.focus();
29399                                        }), f.validationEventTimeOut), !1) : (s = arguments, void setTimeout((function() {
29400                                            e.inputmask && n.apply(c, s);
29401                                        }), 0));
29402                                    }
29403                                    var d = n.apply(c, arguments);
29404                                    return !1 === d && (t.preventDefault(), t.stopPropagation()), d;
29405                                }
29406                                t.preventDefault();
29407                            }
29408                        };
29409                        [ "submit", "reset" ].includes(t) ? (s = s.bind(e), null !== e.form && i(e.form).on(t, s)) : i(e).on(t, s), 
29410                        e.inputmask.events[t] = e.inputmask.events[t] || [], e.inputmask.events[t].push(s);
29411                    },
29412                    off: function(e, t) {
29413                        if (e.inputmask && e.inputmask.events) {
29414                            var n = e.inputmask.dependencyLib, i = e.inputmask.events;
29415                            for (var a in t && ((i = [])[t] = e.inputmask.events[t]), i) {
29416                                for (var r = i[a]; r.length > 0; ) {
29417                                    var o = r.pop();
29418                                    [ "submit", "reset" ].includes(a) ? null !== e.form && n(e.form).off(a, o) : n(e).off(a, o);
29419                                }
29420                                delete e.inputmask.events[a];
29421                            }
29422                        }
29423                    }
29424                };
29425            },
29426            219: function(e, t, n) {
29427                var i = p(n(7184)), a = p(n(2394)), r = n(2839), o = n(8711), l = n(4713);
29428                function s(e, t) {
29429                    return function(e) {
29430                        if (Array.isArray(e)) return e;
29431                    }(e) || function(e, t) {
29432                        var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
29433                        if (null != n) {
29434                            var i, a, r, o, l = [], s = !0, c = !1;
29435                            try {
29436                                if (r = (n = n.call(e)).next, 0 === t) {
29437                                    if (Object(n) !== n) return;
29438                                    s = !1;
29439                                } else for (;!(s = (i = r.call(n)).done) && (l.push(i.value), l.length !== t); s = !0) ;
29440                            } catch (e) {
29441                                c = !0, a = e;
29442                            } finally {
29443                                try {
29444                                    if (!s && null != n.return && (o = n.return(), Object(o) !== o)) return;
29445                                } finally {
29446                                    if (c) throw a;
29447                                }
29448                            }
29449                            return l;
29450                        }
29451                    }(e, t) || function(e, t) {
29452                        if (!e) return;
29453                        if ("string" == typeof e) return c(e, t);
29454                        var n = Object.prototype.toString.call(e).slice(8, -1);
29455                        "Object" === n && e.constructor && (n = e.constructor.name);
29456                        if ("Map" === n || "Set" === n) return Array.from(e);
29457                        if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return c(e, t);
29458                    }(e, t) || function() {
29459                        throw new TypeError("Invalid attempt to de
vendor: 16,384 bytes, lines 29459-29738
29459structure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
29460                    }();
29461                }
29462                function c(e, t) {
29463                    (null == t || t > e.length) && (t = e.length);
29464                    for (var n = 0, i = new Array(t); n < t; n++) i[n] = e[n];
29465                    return i;
29466                }
29467                function u(e) {
29468                    return u = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
29469                        return typeof e;
29470                    } : function(e) {
29471                        return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
29472                    }, u(e);
29473                }
29474                function f(e, t) {
29475                    for (var n = 0; n < t.length; n++) {
29476                        var i = t[n];
29477                        i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), 
29478                        Object.defineProperty(e, (a = i.key, r = void 0, r = function(e, t) {
29479                            if ("object" !== u(e) || null === e) return e;
29480                            var n = e[Symbol.toPrimitive];
29481                            if (void 0 !== n) {
29482                                var i = n.call(e, t || "default");
29483                                if ("object" !== u(i)) return i;
29484                                throw new TypeError("@@toPrimitive must return a primitive value.");
29485                            }
29486                            return ("string" === t ? String : Number)(e);
29487                        }(a, "string"), "symbol" === u(r) ? r : String(r)), i);
29488                    }
29489                    var a, r;
29490                }
29491                function p(e) {
29492                    return e && e.__esModule ? e : {
29493                        default: e
29494                    };
29495                }
29496                n(1313);
29497                var d = a.default.dependencyLib, h = function() {
29498                    function e(t, n, i, a) {
29499                        !function(e, t) {
29500                            if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
29501                        }(this, e), this.mask = t, this.format = n, this.opts = i, this.inputmask = a, this._date = new Date(1, 0, 1), 
29502                        this.initDateObject(t, this.opts, this.inputmask);
29503                    }
29504                    var t, n, i;
29505                    return t = e, (n = [ {
29506                        key: "date",
29507                        get: function() {
29508                            return void 0 === this._date && (this._date = new Date(1, 0, 1), this.initDateObject(void 0, this.opts, this.inputmask)), 
29509                            this._date;
29510                        }
29511                    }, {
29512                        key: "initDateObject",
29513                        value: function(e, t, n) {
29514                            var i;
29515                            for (P(t).lastIndex = 0; i = P(t).exec(this.format); ) {
29516                                var a = /\d+$/.exec(i[0]), r = a ? i[0][0] + "x" : i[0], o = void 0;
29517                                if (void 0 !== e) {
29518                                    if (a) {
29519                                        var s = P(t).lastIndex, c = j.call(n, i.index, t, n && n.maskset);
29520                                        P(t).lastIndex = s, o = e.slice(0, e.indexOf(c.nextMatch[0]));
29521                                    } else {
29522                                        for (var u = i[0][0], f = i.index; n && (t.placeholder[l.getTest.call(n, f).match.placeholder] || l.getTest.call(n, f).match.placeholder) === u; ) f++;
29523                                        var p = f - i.index;
29524                                        o = e.slice(0, p || y[r] && y[r][4] || r.length);
29525                                    }
29526                                    e = e.slice(o.length);
29527                                }
29528                                Object.prototype.hasOwnProperty.call(y, r) && this.setValue(this, o, r, y[r][2], y[r][1]);
29529                            }
29530                        }
29531                    }, {
29532                        key: "setValue",
29533                        value: function(e, t, n, i, a) {
29534                            if (void 0 !== t) switch (i) {
29535                              case "ampm":
29536                                e[i] = t, e["raw" + i] = t.replace(/\s/g, "_");
29537                                break;
29538
29539                              case "month":
29540                                if ("mmm" === n || "mmmm" === n) {
29541                                    e[i] = _("mmm" === n ? m.monthNames.slice(0, 12).findIndex((function(e) {
29542                                        return t.toLowerCase() === e.toLowerCase();
29543                                    })) + 1 : m.monthNames.slice(12, 24).findIndex((function(e) {
29544                                        return t.toLowerCase() === e.toLowerCase();
29545                                    })) + 1, 2), e[i] = "00" === e[i] ? "" : e[i].toString(), e["raw" + i] = e[i];
29546                                    break;
29547                                }
29548
29549                              default:
29550                                e[i] = t.replace(/[^0-9]/g, "0"), e["raw" + i] = t.replace(/\s/g, "_");
29551                            }
29552                            if (void 0 !== a) {
29553                                var r = e[i];
29554                                ("day" === i && 29 === parseInt(r) || "month" === i && 2 === parseInt(r)) && (29 !== parseInt(e.day) || 2 !== parseInt(e.month) || "" !== e.year && void 0 !== e.year || e._date.setFullYear(2012, 1, 29)), 
29555                                "day" === i && (g = !0, 0 === parseInt(r) && (r = 1)), "month" === i && (g = !0), 
29556                                "year" === i && (g = !0, r.length < y[n][4] && (r = _(r, y[n][4], !0))), ("" !== r && !isNaN(r) || "ampm" === i) && a.call(e._date, r);
29557                            }
29558                        }
29559                    }, {
29560                        key: "reset",
29561                        value: function() {
29562                            this._date = new Date(1, 0, 1);
29563                        }
29564                    }, {
29565                        key: "reInit",
29566                        value: function() {
29567                            this._date = void 0, this.date;
29568                        }
29569                    } ]) && f(t.prototype, n), i && f(t, i), Object.defineProperty(t, "prototype", {
29570                        writable: !1
29571                    }), e;
29572                }(), v = (new Date).getFullYear(), m = a.default.prototype.i18n, g = !1, y = {
29573                    d: [ "[1-9]|[12][0-9]|3[01]", Date.prototype.setDate, "day", Date.prototype.getDate ],
29574                    dd: [ "0[1-9]|[12][0-9]|3[01]", Date.prototype.setDate, "day", function() {
29575                        return _(Date.prototype.getDate.call(this), 2);
29576                    } ],
29577                    ddd: [ "" ],
29578                    dddd: [ "" ],
29579                    m: [ "[1-9]|1[012]", function(e) {
29580                        var t = e ? parseInt(e) : 0;
29581                        return t > 0 && t--, Date.prototype.setMonth.call(this, t);
29582                    }, "month", function() {
29583                        return Date.prototype.getMonth.call(this) + 1;
29584                    } ],
29585                    mm: [ "0[1-9]|1[012]", function(e) {
29586                        var t = e ? parseInt(e) : 0;
29587                        return t > 0 && t--, Date.prototype.setMonth.call(this, t);
29588                    }, "month", function() {
29589                        return _(Date.prototype.getMonth.call(this) + 1, 2);
29590                    } ],
29591                    mmm: [ m.monthNames.slice(0, 12).join("|"), function(e) {
29592                        var t = m.monthNames.slice(0, 12).findIndex((function(t) {
29593                            return e.toLowerCase() === t.toLowerCase();
29594                        }));
29595                        return -1 !== t && Date.prototype.setMonth.call(this, t);
29596                    }, "month", function() {
29597                        return m.monthNames.slice(0, 12)[Date.prototype.getMonth.call(this)];
29598                    } ],
29599                    mmmm: [ m.monthNames.slice(12, 24).join("|"), function(e) {
29600                        var t = m.monthNames.slice(12, 24).findIndex((function(t) {
29601                            return e.toLowerCase() === t.toLowerCase();
29602                        }));
29603                        return -1 !== t && Date.prototype.setMonth.call(this, t);
29604                    }, "month", function() {
29605                        return m.monthNames.slice(12, 24)[Date.prototype.getMonth.call(this)];
29606                    } ],
29607                    yy: [ "[0-9]{2}", function(e) {
29608                        var t = (new Date).getFullYear().toString().slice(0, 2);
29609                        Date.prototype.setFullYear.call(this, "".concat(t).concat(e));
29610                    }, "year", function() {
29611                        return _(Date.prototype.getFullYear.call(this), 2);
29612                    }, 2 ],
29613                    yyyy: [ "[0-9]{4}", Date.prototype.setFullYear, "year", function() {
29614                        return _(Date.prototype.getFullYear.call(this), 4);
29615                    }, 4 ],
29616                    h: [ "[1-9]|1[0-2]", Date.prototype.setHours, "hours", Date.prototype.getHours ],
29617                    hh: [ "0[1-9]|1[0-2]", Date.prototype.setHours, "hours", function() {
29618                        return _(Date.prototype.getHours.call(this), 2);
29619                    } ],
29620                    hx: [ function(e) {
29621                        return "[0-9]{".concat(e, "}");
29622                    }, Date.prototype.setHours, "hours", function(e) {
29623                        return Date.prototype.getHours;
29624                    } ],
29625                    H: [ "1?[0-9]|2[0-3]", Date.prototype.setHours, "hours", Date.prototype.getHours ],
29626                    HH: [ "0[0-9]|1[0-9]|2[0-3]", Date.prototype.setHours, "hours", function() {
29627                        return _(Date.prototype.getHours.call(this), 2);
29628                    } ],
29629                    Hx: [ function(e) {
29630                        return "[0-9]{".concat(e, "}");
29631                    }, Date.prototype.setHours, "hours", function(e) {
29632                        return function() {
29633                            return _(Date.prototype.getHours.call(this), e);
29634                        };
29635                    } ],
29636                    M: [ "[1-5]?[0-9]", Date.prototype.setMinutes, "minutes", Date.prototype.getMinutes ],
29637                    MM: [ "0[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]", Date.prototype.setMinutes, "minutes", function() {
29638                        return _(Date.prototype.getMinutes.call(this), 2);
29639                    } ],
29640                    s: [ "[1-5]?[0-9]", Date.prototype.setSeconds, "seconds", Date.prototype.getSeconds ],
29641                    ss: [ "0[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]", Date.prototype.setSeconds, "seconds", function() {
29642                        return _(Date.prototype.getSeconds.call(this), 2);
29643                    } ],
29644                    l: [ "[0-9]{3}", Date.prototype.setMilliseconds, "milliseconds", function() {
29645                        return _(Date.prototype.getMilliseconds.call(this), 3);
29646                    }, 3 ],
29647                    L: [ "[0-9]{2}", Date.prototype.setMilliseconds, "milliseconds", function() {
29648                        return _(Date.prototype.getMilliseconds.call(this), 2);
29649                    }, 2 ],
29650                    t: [ "[ap]", b, "ampm", x, 1 ],
29651                    tt: [ "[ap]m", b, "ampm", x, 2 ],
29652                    T: [ "[AP]", b, "ampm", x, 1 ],
29653                    TT: [ "[AP]M", b, "ampm", x, 2 ],
29654                    Z: [ ".*", void 0, "Z", function() {
29655                        var e = this.toString().match(/\((.+)\)/)[1];
29656                        e.includes(" ") && (e = (e = e.replace("-", " ").toUpperCase()).split(" ").map((function(e) {
29657                            return s(e, 1)[0];
29658                        })).join(""));
29659                        return e;
29660                    } ],
29661                    o: [ "" ],
29662                    S: [ "" ]
29663                }, k = {
29664                    isoDate: "yyyy-mm-dd",
29665                    isoTime: "HH:MM:ss",
29666                    isoDateTime: "yyyy-mm-dd'T'HH:MM:ss",
29667                    isoUtcDateTime: "UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"
29668                };
29669                function b(e) {
29670                    var t = this.getHours();
29671                    e.toLowerCase().includes("p") ? this.setHours(t + 12) : e.toLowerCase().includes("a") && t >= 12 && this.setHours(t - 12);
29672                }
29673                function x() {
29674                    var e = this.getHours();
29675                    return (e = e || 12) >= 12 ? "PM" : "AM";
29676                }
29677                function w(e) {
29678                    var t = /\d+$/.exec(e[0]);
29679                    if (t && void 0 !== t[0]) {
29680                        var n = y[e[0][0] + "x"].slice("");
29681                        return n[0] = n[0](t[0]), n[3] = n[3](t[0]), n;
29682                    }
29683                    if (y[e[0]]) return y[e[0]];
29684                }
29685                function P(e) {
29686                    if (!e.tokenizer) {
29687                        var t = [], n = [];
29688                        for (var i in y) if (/\.*x$/.test(i)) {
29689                            var a = i[0] + "\\d+";
29690                            -1 === n.indexOf(a) && n.push(a);
29691                        } else -1 === t.indexOf(i[0]) && t.push(i[0]);
29692                        e.tokenizer = "(" + (n.length > 0 ? n.join("|") + "|" : "") + t.join("+|") + ")+?|.", 
29693                        e.tokenizer = new RegExp(e.tokenizer, "g");
29694                    }
29695                    return e.tokenizer;
29696                }
29697                function S(e, t, n) {
29698                    if (!g) return !0;
29699                    if (void 0 === e.rawday || !isFinite(e.rawday) && new Date(e.date.getFullYear(), isFinite(e.rawmonth) ? e.month : e.date.getMonth() + 1, 0).getDate() >= e.day || "29" == e.day && (!isFinite(e.rawyear) || void 0 === e.rawyear || "" === e.rawyear) || new Date(e.date.getFullYear(), isFinite(e.rawmonth) ? e.month : e.date.getMonth() + 1, 0).getDate() >= e.day) return t;
29700                    if ("29" == e.day) {
29701                        var i = j.call(this, t.pos, n, this.maskset);
29702                        if (i.targetMatch && "yyyy" === i.targetMatch[0] && t.pos - i.targetMatchIndex == 2) return t.remove = t.pos + 1, 
29703                        t;
29704                    } else if (2 == e.date.getMonth() && "30" == e.day && void 0 !== t.c) return e.day = "03", 
29705                    e.date.setDate(3), e.date.setMonth(1), t.insert = [ {
29706                        pos: t.pos,
29707                        c: "0"
29708                    }, {
29709                        pos: t.pos + 1,
29710                        c: t.c
29711                    } ], t.caret = o.seekNext.call(this, t.pos + 1), t;
29712                    return !1;
29713                }
29714                function O(e, t, n, a) {
29715                    var r, o, l = "", s = 0, c = {};
29716                    for (P(n).lastIndex = 0; r = P(n).exec(e); ) {
29717                        if (void 0 === t) if (o = w(r)) l += "(" + o[0] + ")", n.placeholder && "" !== n.placeholder ? (c[s] = n.placeholder[r.index % n.placeholder.length], 
29718                        c[n.placeholder[r.index % n.placeholder.length]] = r[0].charAt(0)) : c[s] = r[0].charAt(0); else switch (r[0]) {
29719                          case "[":
29720                            l += "(";
29721                            break;
29722
29723                          case "]":
29724                            l += ")?";
29725                            break;
29726
29727                          default:
29728                            l += (0, i.default)(r[0]), c[s] = r[0].charAt(0);
29729                        } else if (o = w(r)) if (!0 !== a && o[3]) l += o[3].call(t.date); else o[2] ? l += t["raw" + o[2]] : l += r[0]; else l += r[0];
29730                        s++;
29731                    }
29732                    return void 0 === t && (n.placeholder = c), l;
29733                }
29734                function _(e, t, n) {
29735                    for (e = String(e), t = t || 2; e.length < t; ) e = n ? e + "0" : "0" + e;
29736                    return e;
29737                }
29738              
vendor: 7,126 bytes, lines 29738-29843
29738  function M(e, t, n) {
29739                    return "string" == typeof e ? new h(e, t, n, this) : e && "object" === u(e) && Object.prototype.hasOwnProperty.call(e, "date") ? e : void 0;
29740                }
29741                function E(e, t) {
29742                    return O(t.inputFormat, {
29743                        date: e
29744                    }, t);
29745                }
29746                function j(e, t, n) {
29747                    var i, a, r = this, o = n && n.tests[e] ? t.placeholder[n.tests[e][0].match.placeholder] || n.tests[e][0].match.placeholder : "", s = 0, c = 0;
29748                    for (P(t).lastIndex = 0; a = P(t).exec(t.inputFormat); ) {
29749                        var u = /\d+$/.exec(a[0]);
29750                        if (u) c = parseInt(u[0]); else {
29751                            for (var f = a[0][0], p = s; r && (t.placeholder[l.getTest.call(r, p).match.placeholder] || l.getTest.call(r, p).match.placeholder) === f; ) p++;
29752                            0 === (c = p - s) && (c = a[0].length);
29753                        }
29754                        if (s += c, -1 != a[0].indexOf(o) || s >= e + 1) {
29755                            i = a, a = P(t).exec(t.inputFormat);
29756                            break;
29757                        }
29758                    }
29759                    return {
29760                        targetMatchIndex: s - c,
29761                        nextMatch: a,
29762                        targetMatch: i
29763                    };
29764                }
29765                a.default.extendAliases({
29766                    datetime: {
29767                        mask: function(e) {
29768                            return e.numericInput = !1, y.S = m.ordinalSuffix.join("|"), e.inputFormat = k[e.inputFormat] || e.inputFormat, 
29769                            e.displayFormat = k[e.displayFormat] || e.displayFormat || e.inputFormat, e.outputFormat = k[e.outputFormat] || e.outputFormat || e.inputFormat, 
29770                            e.regex = O(e.inputFormat, void 0, e), e.min = M(e.min, e.inputFormat, e), e.max = M(e.max, e.inputFormat, e), 
29771                            null;
29772                        },
29773                        placeholder: "",
29774                        inputFormat: "isoDateTime",
29775                        displayFormat: null,
29776                        outputFormat: null,
29777                        min: null,
29778                        max: null,
29779                        skipOptionalPartCharacter: "",
29780                        preValidation: function(e, t, n, i, a, r, o, l) {
29781                            if (l) return !0;
29782                            if (isNaN(n) && e[t] !== n) {
29783                                var s = j.call(this, t, a, r);
29784                                if (s.nextMatch && s.nextMatch[0] === n && s.targetMatch[0].length > 1) {
29785                                    var c = w(s.targetMatch)[0];
29786                                    if (new RegExp(c).test("0" + e[t - 1])) return e[t] = e[t - 1], e[t - 1] = "0", 
29787                                    {
29788                                        fuzzy: !0,
29789                                        buffer: e,
29790                                        refreshFromBuffer: {
29791                                            start: t - 1,
29792                                            end: t + 1
29793                                        },
29794                                        pos: t + 1
29795                                    };
29796                                }
29797                            }
29798                            return !0;
29799                        },
29800                        postValidation: function(e, t, n, i, a, r, o, s) {
29801                            var c, u, f = this;
29802                            if (o) return !0;
29803                            if (!1 === i && (((c = j.call(f, t + 1, a, r)).targetMatch && c.targetMatchIndex === t && c.targetMatch[0].length > 1 && void 0 !== y[c.targetMatch[0]] || (c = j.call(f, t + 2, a, r)).targetMatch && c.targetMatchIndex === t + 1 && c.targetMatch[0].length > 1 && void 0 !== y[c.targetMatch[0]]) && (u = w(c.targetMatch)[0]), 
29804                            void 0 !== u && (void 0 !== r.validPositions[t + 1] && new RegExp(u).test(n + "0") ? (e[t] = n, 
29805                            e[t + 1] = "0", i = {
29806                                pos: t + 2,
29807                                caret: t
29808                            }) : new RegExp(u).test("0" + n) && (e[t] = "0", e[t + 1] = n, i = {
29809                                pos: t + 2
29810                            })), !1 === i)) return i;
29811                            if (i.fuzzy && (e = i.buffer, t = i.pos), (c = j.call(f, t, a, r)).targetMatch && c.targetMatch[0] && void 0 !== y[c.targetMatch[0]]) {
29812                                var p = w(c.targetMatch);
29813                                u = p[0];
29814                                var d = e.slice(c.targetMatchIndex, c.targetMatchIndex + c.targetMatch[0].length);
29815                                if (!1 === new RegExp(u).test(d.join("")) && 2 === c.targetMatch[0].length && r.validPositions[c.targetMatchIndex] && r.validPositions[c.targetMatchIndex + 1] && (r.validPositions[c.targetMatchIndex + 1].input = "0"), 
29816                                "year" == p[2]) for (var h = l.getMaskTemplate.call(f, !1, 1, void 0, !0), m = t + 1; m < e.length; m++) e[m] = h[m], 
29817                                r.validPositions.splice(t + 1, 1);
29818                            }
29819                            var g = i, k = M.call(f, e.join(""), a.inputFormat, a);
29820                            return g && !isNaN(k.date.getTime()) && (a.prefillYear && (g = function(e, t, n) {
29821                                if (e.year !== e.rawyear) {
29822                                    var i = v.toString(), a = e.rawyear.replace(/[^0-9]/g, ""), r = i.slice(0, a.length), o = i.slice(a.length);
29823                                    if (2 === a.length && a === r) {
29824                                        var l = new Date(v, e.month - 1, e.day);
29825                                        e.day == l.getDate() && (!n.max || n.max.date.getTime() >= l.getTime()) && (e.date.setFullYear(v), 
29826                                        e.year = i, t.insert = [ {
29827                                            pos: t.pos + 1,
29828                                            c: o[0]
29829                                        }, {
29830                                            pos: t.pos + 2,
29831                                            c: o[1]
29832                                        } ]);
29833                                    }
29834                                }
29835                                return t;
29836                            }(k, g, a)), g = function(e, t, n, i, a) {
29837                                if (!t) return t;
29838                                if (t && n.min && !isNaN(n.min.date.getTime())) {
29839                                    var r;
29840                                    for (e.reset(), P(n).lastIndex = 0; r = P(n).exec(n.inputFormat); ) {
29841                                        var o;
29842                                        if ((o = w(r)) && o[3]) {
29843                                            for (var l = o[1], s = e[o[2]], c = n.min[o[2]], u = n.max ? n.max[o[2]] : c + 1, f = [], p 
vendor: 3,566 bytes, lines 29843-29894
29843= !1, d = 0; d < c.length; d++) void 0 !== i.validPositions[d + r.index] || p ? (f[d] = s[d], 
29844                                            p = p || s[d] > c[d]) : (d + r.index == 0 && s[d] < c[d] ? (f[d] = s[d], p = !0) : f[d] = c[d], 
29845                                            "year" === o[2] && s.length - 1 == d && c != u && (f = (parseInt(f.join("")) + 1).toString().split("")), 
29846                                            "ampm" === o[2] && c != u && n.min.date.getTime() > e.date.getTime() && (f[d] = u[d]));
29847                                            l.call(e._date, f.join(""));
29848                                        }
29849                                    }
29850                                    t = n.min.date.getTime() <= e.date.getTime(), e.reInit();
29851                                }
29852                                return t && n.max && (isNaN(n.max.date.getTime()) || (t = n.max.date.getTime() >= e.date.getTime())), 
29853                                t;
29854                            }(k, g = S.call(f, k, g, a), a, r)), void 0 !== t && g && i.pos !== t ? {
29855                                buffer: O(a.inputFormat, k, a).split(""),
29856                                refreshFromBuffer: {
29857                                    start: t,
29858                                    end: i.pos
29859                                },
29860                                pos: i.caret || i.pos
29861                            } : g;
29862                        },
29863                        onKeyDown: function(e, t, n, i) {
29864                            e.ctrlKey && e.key === r.keys.ArrowRight && (this.inputmask._valueSet(E(new Date, i)), 
29865                            d(this).trigger("setvalue"));
29866                        },
29867                        onUnMask: function(e, t, n) {
29868                            return t ? O(n.outputFormat, M.call(this, e, n.inputFormat, n), n, !0) : t;
29869                        },
29870                        casing: function(e, t, n, i) {
29871                            if (0 == t.nativeDef.indexOf("[ap]")) return e.toLowerCase();
29872                            if (0 == t.nativeDef.indexOf("[AP]")) return e.toUpperCase();
29873                            var a = l.getTest.call(this, [ n - 1 ]);
29874                            return 0 == a.match.def.indexOf("[AP]") || 0 === n || a && a.input === String.fromCharCode(r.keyCode.Space) || a && a.match.def === String.fromCharCode(r.keyCode.Space) ? e.toUpperCase() : e.toLowerCase();
29875                        },
29876                        onBeforeMask: function(e, t) {
29877                            return "[object Date]" === Object.prototype.toString.call(e) && (e = E(e, t)), e;
29878                        },
29879                        insertMode: !1,
29880                        insertModeVisual: !1,
29881                        shiftPositions: !1,
29882                        keepStatic: !1,
29883                        inputmode: "numeric",
29884                        prefillYear: !0
29885                    }
29886                });
29887            },
29888            1313: function(e, t, n) {
29889                var i, a = (i = n(2394)) && i.__esModule ? i : {
29890                    default: i
29891                };
29892                a.default.dependencyLib.extend(!0, a.default.prototype.i18n, {
29893                    dayNames: [ "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ],
29894                    monthNames: [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "
29894November", "December" ],
29895                    ordinalSuffix: [ "st", "nd", "rd", "th" ]
29896                });
29897            },
29898            3851: function(e, t, n) {
29899                var i, a = (i = n(2394)) && i.__esModule ? i : {
29900                    default: i
29901                }, r = n(8711), o = n(4713);
29902                function l(e) {
29903                    return function(e) {
29904                        if (Array.isArray(e)) return s(e);
29905                    }(e) || function(e) {
29906                        if ("undefined" != typeof Symbol && null != e[Symbol.iterator] || null != e["@@iterator"]) return Array.from(e);
29907                    }(e) || function(e, t) {
29908                        if (!e) return;
29909                        if ("string" == typeof e) return s(e, t);
29910                        var n = Object.prototype.toString.call(e).slice(8, -1);
29911                        "Object" === n && e.constructor && (n = e.constructor.name);
29912                        if ("Map" === n || "Set" === n) return Array.from(e);
29913                        if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return s(e, t);
29914                    }(e) || function() {
29915                        throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
29916                    }();
29917                }
29918                function s(e, t) {
29919                    (null == t || t > e.length) && (t = e.length);
29920                    for (var n = 0, i = new Array(t); n < t; n++) i[n] = e[n];
29921                    return i;
29922                }
29923                a.default.extendDefinitions({
29924                    A: {
29925                        validator: "[A-Za-z\u0410-\u044f\u0401\u0451\xc0-\xff\xb5]",
29926                        casing: "upper"
29927                    },
29928                    "&": {
29929                        validator: "[0-9A-Za-z\u0410-\u044f\u0401\u0451\xc0-\xff\xb5]",
29930                        casing: "upper"
29931                    },
29932                    "#": {
29933                        validator: "[0-9A-Fa-f]",
29934                        casing: "upper"
29935                    }
29936                });
29937                var c = /25[0-5]|2[0-4][0-9]|[01][0-9][0-9]/;
29938                function u(e, t, n, i, a) {
29939                    if (n - 1 > -1 && "." !== t.buffer[n - 1] ? (e = t.buffer[n - 1] + e, e = n - 2 > -1 && "." !== t.buffer[n - 2] ? t.buffer[n - 2] + e : "0" + e) : e = "00" + e, 
29940                    a.greedy && parseInt(e) > 255 && c.test("00" + e.charAt(2))) {
29941                        var r = [].concat(l(t.buffer.slice(0, n)), [ ".", e.charAt(2) ]);
29942                        if (r.join("").match(/\./g).length < 4) return {
29943                            refreshFromBuffer: !0,
29944                            buffer: r,
29945                            caret: n + 2
29946                        };
29947                    }
29948                    return c.test(e);
29949                }
29950                a.default.extendAliases({
29951                    cssunit: {
29952                        regex: "[+-]?[0-9]+\\.?([0-9]+)?(px|em|rem|ex|%|in|cm|mm|pt|pc)"
29953                    },
29954                    url: {
29955                        regex: "(https?|ftp)://.*",
29956                        autoUnmask: !1,
29957                        keepStatic: !1,
29958                        tabThrough: !0
29959                    },
29960                    ip: {
29961                        mask: "i{1,3}.j{1,3}.k{1,3}.l{1,3}",
29962                        definitions: {
29963                            i: {
29964                                validator: u
29965                            },
29966                            j: {
29967                                validator: u
29968                            },
29969                            k: {
29970                                validator: u
29971                            },
29972                            l: {
29973                                validator: u
29974                            }
29975                        },
29976                        onUnMask: function(e, t, n) {
29977                            return e;
29978                        },
29979                        inputmode: "decimal",
29980                        substitutes: {
29981                            ",": "."
29982                        }
29983                    },
29984                    email: {
29985                        mask: function(e) {
29986                            var t = e.separator, n = e.quantifier, i = "*{1,64}[.*{1,64}][.*{1,64}][.*{1,63}]@-{1,63}.-{1,63}[.-{1,63}][.-{1,63}]", a = i;
29987                            if (t) for (var r = 0; r < n; r++) a += "[".concat(t).concat(i, "]");
29988                            return a;
29989                        },
29990                        greedy: !1,
29991                        casing: "lower",
29992                        separator: null,
29993                        quantifier: 5,
29994                        skipOptionalPartCharacter: "",
29995                        onBeforePaste: function(e, t) {
29996                            return (e = e.toLowerCase()).replace("mailto:", "");
29997                        },
29998                        definitions: {
29999                            "*": {
30000                                validator: "[0-9\uff11-\uff19A-Za-z\u0410-\u044f\u0401\u0451\xc0-\xff\xb5!#$%&'*+/=?^_`{|}~-]"
30001                            },
30002                            "-": {
30003                                validator: "[0-9A-Za-z-]"
30004                            }
30005                        },
30006                        onUnMask: function(e, t, n) {
30007                            return e;
30008                        },
30009                        inputmode: "email"
30010                    },
30011                    mac: {
vendor: 38,173 bytes, lines 30012-30568
30012                        mask: "##:##:##:##:##:##"
30013                    },
30014                    vin: {
30015                        mask: "V{13}9{4}",
30016                        definitions: {
30017                            V: {
30018                                validator: "[A-HJ-NPR-Za-hj-npr-z\\d]",
30019                                casing: "upper"
30020                            }
30021                        },
30022                        clearIncomplete: !0,
30023                        autoUnmask: !0
30024                    },
30025                    ssn: {
30026                        mask: "999-99-9999",
30027                        postValidation: function(e, t, n, i, a, l, s) {
30028                            var c = o.getMaskTemplate.call(this, !0, r.getLastValidPosition.call(this), !0, !0);
30029                            return /^(?!219-09-9999|078-05-1120)(?!666|000|9.{2}).{3}-(?!00).{2}-(?!0{4}).{4}$/.test(c.join(""));
30030                        }
30031                    }
30032                });
30033            },
30034            207: function(e, t, n) {
30035                var i = l(n(7184)), a = l(n(2394)), r = n(2839), o = n(8711);
30036                function l(e) {
30037                    return e && e.__esModule ? e : {
30038                        default: e
30039                    };
30040                }
30041                var s = a.default.dependencyLib;
30042                function c(e, t) {
30043                    for (var n = "", i = 0; i < e.length; i++) a.default.prototype.definitions[e.charAt(i)] || t.definitions[e.charAt(i)] || t.optionalmarker[0] === e.charAt(i) || t.optionalmarker[1] === e.charAt(i) || t.quantifiermarker[0] === e.charAt(i) || t.quantifiermarker[1] === e.charAt(i) || t.groupmarker[0] === e.charAt(i) || t.groupmarker[1] === e.charAt(i) || t.alternatormarker === e.charAt(i) ? n += "\\" + e.charAt(i) : n += e.charAt(i);
30044                    return n;
30045                }
30046                function u(e, t, n, i) {
30047                    if (e.length > 0 && t > 0 && (!n.digitsOptional || i)) {
30048                        var a = e.indexOf(n.radixPoint), r = !1;
30049                        n.negationSymbol.back === e[e.length - 1] && (r = !0, e.length--), -1 === a && (e.push(n.radixPoint), 
30050                        a = e.length - 1);
30051                        for (var o = 1; o <= t; o++) isFinite(e[a + o]) || (e[a + o] = "0");
30052                    }
30053                    return r && e.push(n.negationSymbol.back), e;
30054                }
30055                function f(e, t) {
30056                    var n = 0;
30057                    for (var i in "+" === e && (n = o.seekNext.call(this, t.validPositions.length - 1)), 
30058                    t.tests) if ((i = parseInt(i)) >= n) for (var a = 0, r = t.tests[i].length; a < r; a++) if ((void 0 === t.validPositions[i] || "-" === e) && t.tests[i][a].match.def === e) return i + (void 0 !== t.validPositions[i] && "-" !== e ? 1 : 0);
30059                    return n;
30060                }
30061                function p(e, t) {
30062                    for (var n = -1, i = 0, a = t.validPositions.length; i < a; i++) {
30063                        var r = t.validPositions[i];
30064                        if (r && r.match.def === e) {
30065                            n = i;
30066                            break;
30067                        }
30068                    }
30069                    return n;
30070                }
30071                function d(e, t, n, i, a) {
30072                    var r = t.buffer ? t.buffer.indexOf(a.radixPoint) : -1, o = (-1 !== r || i && a.jitMasking) && new RegExp(a.definitions[9].validator).test(e);
30073                    return !i && a._radixDance && -1 !== r && o && null == t.validPositions[r] ? {
30074                        insert: {
30075                            pos: r === n ? r + 1 : r,
30076                            c: a.radixPoint
30077                        },
30078                        pos: n
30079                    } : o;
30080                }
30081                a.default.extendAliases({
30082                    numeric: {
30083                        mask: function(e) {
30084                            e.repeat = 0, e.groupSeparator === e.radixPoint && e.digits && "0" !== e.digits && ("." === e.radixPoint ? e.groupSeparator = "," : "," === e.radixPoint ? e.groupSeparator = "." : e.groupSeparator = ""), 
30085                            " " === e.groupSeparator && (e.skipOptionalPartCharacter = void 0), e.placeholder.length > 1 && (e.placeholder = e.placeholder.charAt(0)), 
30086                            "radixFocus" === e.positionCaretOnClick && "" === e.placeholder && (e.positionCaretOnClick = "lvp");
30087                            var t = "0", n = e.radixPoint;
30088                            !0 === e.numericInput && void 0 === e.__financeInput ? (t = "1", e.positionCaretOnClick = "radixFocus" === e.positionCaretOnClick ? "lvp" : e.positionCaretOnClick, 
30089                            e.digitsOptional = !1, isNaN(e.digits) && (e.digits = 2), e._radixDance = !1, n = "," === e.radixPoint ? "?" : "!", 
30090                            "" !== e.radixPoint && void 0 === e.definitions[n] && (e.definitions[n] = {}, e.definitions[n].validator = "[" + e.radixPoint + "]", 
30091                            e.definitions[n].placeholder = e.radixPoint, e.definitions[n].static = !0, e.definitions[n].generated = !0)) : (e.__financeInput = !1, 
30092                            e.numericInput = !0);
30093                            var a, r = "[+]";
30094                            if (r += c(e.prefix, e), "" !== e.groupSeparator ? (void 0 === e.definitions[e.groupSeparator] && (e.definitions[e.groupSeparator] = {}, 
30095                            e.definitions[e.groupSeparator].validator = "[" + e.groupSeparator + "]", e.definitions[e.groupSeparator].placeholder = e.groupSeparator, 
30096                            e.definitions[e.groupSeparator].static = !0, e.definitions[e.groupSeparator].generated = !0), 
30097                            r += e._mask(e)) : r += "9{+}", void 0 !== e.digits && 0 !== e.digits) {
30098                                var o = e.digits.toString().split(",");
30099                                isFinite(o[0]) && o[1] && isFinite(o[1]) ? r += n + t + "{" + e.digits + "}" : (isNaN(e.digits) || parseInt(e.digits) > 0) && (e.digitsOptional || e.jitMasking ? (a = r + n + t + "{0," + e.digits + "}", 
30100                                e.keepStatic = !0) : r += n + t + "{" + e.digits + "}");
30101                            } else e.inputmode = "numeric";
30102                            return r += c(e.suffix, e), r += "[-]", a && (r = [ a + c(e.suffix, e) + "[-]", r ]), 
30103                            e.greedy = !1, function(e) {
30104                                void 0 === e.parseMinMaxOptions && (null !== e.min && (e.min = e.min.toString().replace(new RegExp((0, 
30105                                i.default)(e.groupSeparator), "g"), ""), "," === e.radixPoint && (e.min = e.min.replace(e.radixPoint, ".")), 
30106                                e.min = isFinite(e.min) ? parseFloat(e.min) : NaN, isNaN(e.min) && (e.min = Number.MIN_VALUE)), 
30107                                null !== e.max && (e.max = e.max.toString().replace(new RegExp((0, i.default)(e.groupSeparator), "g"), ""), 
30108                                "," === e.radixPoint && (e.max = e.max.replace(e.radixPoint, ".")), e.max = isFinite(e.max) ? parseFloat(e.max) : NaN, 
30109                                isNaN(e.max) && (e.max = Number.MAX_VALUE)), e.parseMinMaxOptions = "done");
30110                            }(e), "" !== e.radixPoint && e.substituteRadixPoint && (e.substitutes["." == e.radixPoint ? "," : "."] = e.radixPoint), 
30111                            r;
30112                        },
30113                        _mask: function(e) {
30114                            return "(" + e.groupSeparator + "999){+|1}";
30115                        },
30116                        digits: "*",
30117                        digitsOptional: !0,
30118                        enforceDigitsOnBlur: !1,
30119                        radixPoint: ".",
30120                        positionCaretOnClick: "radixFocus",
30121                        _radixDance: !0,
30122                        groupSeparator: "",
30123                        allowMinus: !0,
30124                        negationSymbol: {
30125                            front: "-",
30126                            back: ""
30127                        },
30128                        prefix: "",
30129                        suffix: "",
30130                        min: null,
30131                        max: null,
30132                        SetMaxOnOverflow: !1,
30133                        step: 1,
30134                        inputType: "text",
30135                        unmaskAsNumber: !1,
30136                        roundingFN: Math.round,
30137                        inputmode: "decimal",
30138                        shortcuts: {
30139                            k: "1000",
30140                            m: "1000000"
30141                        },
30142                        placeholder: "0",
30143                        greedy: !1,
30144                        rightAlign: !0,
30145                        insertMode: !0,
30146                        autoUnmask: !1,
30147                        skipOptionalPartCharacter: "",
30148                        usePrototypeDefinitions: !1,
30149                        stripLeadingZeroes: !0,
30150                        substituteRadixPoint: !0,
30151                        definitions: {
30152                            0: {
30153                                validator: d
30154                            },
30155                            1: {
30156                                validator: d,
30157                                definitionSymbol: "9"
30158                            },
30159                            9: {
30160                                validator: "[0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]",
30161                                definitionSymbol: "*"
30162                            },
30163                            "+": {
30164                                validator: function(e, t, n, i, a) {
30165                                    return a.allowMinus && ("-" === e || e === a.negationSymbol.front);
30166                                }
30167                            },
30168                            "-": {
30169                                validator: function(e, t, n, i, a) {
30170                                    return a.allowMinus && e === a.negationSymbol.back;
30171                                }
30172                            }
30173                        },
30174                        preValidation: function(e, t, n, i, a, r, o, l) {
30175                            var s = this;
30176                            if (!1 !== a.__financeInput && n === a.radixPoint) return !1;
30177                            var c = e.indexOf(a.radixPoint), u = t;
30178                            if (t = function(e, t, n, i, a) {
30179                                return a._radixDance && a.numericInput && t !== a.negationSymbol.back && e <= n && (n > 0 || t == a.radixPoint) && (void 0 === i.validPositions[e - 1] || i.validPositions[e - 1].input !== a.negationSymbol.back) && (e -= 1), 
30180                                e;
30181                            }(t, n, c, r, a), "-" === n || n === a.negationSymbol.front) {
30182                                if (!0 !== a.allowMinus) return !1;
30183                                var d = !1, h = p("+", r), v = p("-", r);
30184                                return -1 !== h && (d = [ h ], -1 !== v && d.push(v)), !1 !== d ? {
30185                                    remove: d,
30186                                    caret: u - a.negationSymbol.back.length
30187                                } : {
30188                                    insert: [ {
30189                                        pos: f.call(s, "+", r),
30190                                        c: a.negationSymbol.front,
30191                                        fromIsValid: !0
30192                                    }, {
30193                                        pos: f.call(s, "-", r),
30194                                        c: a.negationSymbol.back,
30195                                        fromIsValid: void 0
30196                                    } ],
30197                                    caret: u + a.negationSymbol.back.length
30198                                };
30199                            }
30200                            if (n === a.groupSeparator) return {
30201                                caret: u
30202                            };
30203                            if (l) return !0;
30204                            if (-1 !== c && !0 === a._radixDance && !1 === i && n === a.radixPoint && void 0 !== a.digits && (isNaN(a.digits) || parseInt(a.digits) > 0) && c !== t) {
30205                                var m = f.call(s, a.radixPoint, r);
30206                                return r.validPositions[m] && (r.validPositions[m].generatedInput = r.validPositions[m].generated || !1), 
30207                                {
30208                                    caret: a._radixDance && t === c - 1 ? c + 1 : c
30209                                };
30210                            }
30211                            if (!1 === a.__financeInput) if (i) {
30212                                if (a.digitsOptional) return {
30213                                    rewritePosition: o.end
30214                                };
30215                                if (!a.digitsOptional) {
30216                                    if (o.begin > c && o.end <= c) return n === a.radixPoint ? {
30217                                        insert: {
30218                                            pos: c + 1,
30219                                            c: "0",
30220                                            fromIsValid: !0
30221                                        },
30222                                        rewritePosition: c
30223                                    } : {
30224                                        rewritePosition: c + 1
30225                                    };
30226                                    if (o.begin < c) return {
30227                                        rewritePosition: o.begin - 1
30228                                    };
30229                                }
30230                            } else if (!a.showMaskOnHover && !a.showMaskOnFocus && !a.digitsOptional && a.digits > 0 && "" === this.__valueGet.call(this.el)) return {
30231                                rewritePosition: c
30232                            };
30233                            return {
30234                                rewritePosition: t
30235                            };
30236                        },
30237                        postValidation: function(e, t, n, i, a, r, o) {
30238                            if (!1 === i) return i;
30239                            if (o) return !0;
30240                            if (null !== a.min || null !== a.max) {
30241                                var l = a.onUnMask(e.slice().reverse().join(""), void 0, s.extend({}, a, {
30242                                    unmaskAsNumber: !0
30243                                }));
30244                                if (null !== a.min && l < a.min && (l.toString().length > a.min.toString().length || l < 0)) return !1;
30245                                if (null !== a.max && l > a.max) return !!a.SetMaxOnOverflow && {
30246                                    refreshFromBuffer: !0,
30247                                    buffer: u(a.max.toString().replace(".", a.radixPoint).split(""), a.digits, a).reverse()
30248                                };
30249                            }
30250                            return i;
30251                        },
30252                        onUnMask: function(e, t, n) {
30253                            if ("" === t && !0 === n.nullable) return t;
30254                            var a = e.replace(n.prefix, "");
30255                            return a = (a = a.replace(n.suffix, "")).replace(new RegExp((0, i.default)(n.groupSeparator), "g"), ""), 
30256                            "" !== n.placeholder.charAt(0) && (a = a.replace(new RegExp(n.placeholder.charAt(0), "g"), "0")), 
30257                            n.unmaskAsNumber ? ("" !== n.radixPoint && -1 !== a.indexOf(n.radixPoint) && (a = a.replace(i.default.call(this, n.radixPoint), ".")), 
30258                            a = (a = a.replace(new RegExp("^" + (0, i.default)(n.negationSymbol.front)), "-")).replace(new RegExp((0, 
30259                            i.default)(n.negationSymbol.back) + "$"), ""), Number(a)) : a;
30260                        },
30261                        isComplete: function(e, t) {
30262                            var n = (t.numericInput ? e.slice().reverse() : e).join("");
30263                            return n = (n = (n = (n = (n = n.replace(new RegExp("^" + (0, i.default)(t.negationSymbol.front)), "-")).replace(new RegExp((0, 
30264                            i.default)(t.negationSymbol.back) + "$"), "")).replace(t.prefix, "")).replace(t.suffix, "")).replace(new RegExp((0, 
30265                            i.default)(t.groupSeparator) + "([0-9]{3})", "g"), "$1"), "," === t.radixPoint && (n = n.replace((0, 
30266                            i.default)(t.radixPoint), ".")), isFinite(n);
30267                        },
30268                        onBeforeMask: function(e, t) {
30269                            var n;
30270                            e = null !== (n = e) && void 0 !== n ? n : "";
30271                            var a = t.radixPoint || ",";
30272                            isFinite(t.digits) && (t.digits = parseInt(t.digits)), "number" != typeof e && "number" !== t.inputType || "" === a || (e = e.toString().replace(".", a));
30273                            var r = "-" === e.charAt(0) || e.charAt(0) === t.negationSymbol.front, o = e.split(a), l = o[0].replace(/[^\-0-9]/g, ""), s = o.length > 1 ? o[1].replace(/[^0-9]/g, "") : "", c = o.length > 1;
30274                            e = l + ("" !== s ? a + s : s);
30275                            var f = 0;
30276                            if ("" !== a && (f = t.digitsOptional ? t.digits < s.length ? t.digits : s.length : t.digits, 
30277                            "" !== s || !t.digitsOptional)) {
30278                                var p = Math.pow(10, f || 1);
30279                                e = e.replace((0, i.default)(a), "."), isNaN(parseFloat(e)) || (e = (t.roundingFN(parseFloat(e) * p) / p).toFixed(f)), 
30280                                e = e.toString().replace(".", a);
30281                            }
30282                            if (0 === t.digits && -1 !== e.indexOf(a) && (e = e.substring(0, e.indexOf(a))), 
30283                            null !== t.min || null !== t.max) {
30284                                var d = e.toString().replace(a, ".");
30285                                null !== t.min && d < t.min ? e = t.min.toString().replace(".", a) : null !== t.max && d > t.max && (e = t.max.toString().replace(".", a));
30286                            }
30287                            return r && "-" !== e.charAt(0) && (e = "-" + e), u(e.toString().split(""), f, t, c).join("");
30288                        },
30289                        onBeforeWrite: function(e, t, n, a) {
30290                            function r(e, t) {
30291                                if (!1 !== a.__financeInput || t) {
30292                                    var n = e.indexOf(a.radixPoint);
30293                                    -1 !== n && e.splice(n, 1);
30294                                }
30295                                if ("" !== a.groupSeparator) for (;-1 !== (n = e.indexOf(a.groupSeparator)); ) e.splice(n, 1);
30296                                return e;
30297                            }
30298                            var o, l;
30299                            if (a.stripLeadingZeroes && (l = function(e, t) {
30300                                var n = new RegExp("(^" + ("" !== t.negationSymbol.front ? (0, i.default)(t.negationSymbol.front) + "?" : "") + (0, 
30301                                i.default)(t.prefix) + ")(.*)(" + (0, i.default)(t.suffix) + ("" != t.negationSymbol.back ? (0, 
30302                                i.default)(t.negationSymbol.back) + "?" : "") + "$)").exec(e.slice().reverse().join("")), a = n ? n[2] : "", r = !1;
30303                                return a && (a = a.split(t.radixPoint.charAt(0))[0], r = new RegExp("^[0" + t.groupSeparator + "]*").exec(a)), 
30304                                !(!r || !(r[0].length > 1 || r[0].length > 0 && r[0].length < a.length)) && r;
30305                            }(t, a))) for (var c = t.join("").lastIndexOf(l[0].split("").reverse().join("")) - (l[0] == l.input ? 0 : 1), f = l[0] == l.input ? 1 : 0, p = l[0].length - f; p > 0; p--) this.maskset.validPositions.splice(c + p, 1), 
30306                            delete t[c + p];
30307                            if (e) switch (e.type) {
30308                              case "blur":
30309                              case "checkval":
30310                                if (null !== a.min) {
30311                                    var d = a.onUnMask(t.slice().reverse().join(""), void 0, s.extend({}, a, {
30312                                        unmaskAsNumber: !0
30313                                    }));
30314                                    if (null !== a.min && d < a.min) return {
30315                                        refreshFromBuffer: !0,
30316                                        buffer: u(a.min.toString().replace(".", a.radixPoint).split(""), a.digits, a).reverse()
30317                                    };
30318                                }
30319                                if (t[t.length - 1] === a.negationSymbol.front) {
30320                                    var h = new RegExp("(^" + ("" != a.negationSymbol.front ? (0, i.default)(a.negationSymbol.front) + "?" : "") + (0, 
30321                                    i.default)(a.prefix) + ")(.*)(" + (0, i.default)(a.suffix) + ("" != a.negationSymbol.back ? (0, 
30322                                    i.default)(a.negationSymbol.back) + "?" : "") + "$)").exec(r(t.slice(), !0).reverse().join(""));
30323                                    0 == (h ? h[2] : "") && (o = {
30324                                        refreshFromBuffer: !0,
30325                                        buffer: [ 0 ]
30326                                    });
30327                                } else if ("" !== a.radixPoint) {
30328                                    t.indexOf(a.radixPoint) === a.suffix.length && (o && o.buffer ? o.buffer.splice(0, 1 + a.suffix.length) : (t.splice(0, 1 + a.suffix.length), 
30329                                    o = {
30330                                        refreshFromBuffer: !0,
30331                                        buffer: r(t)
30332                                    }));
30333                                }
30334                                if (a.enforceDigitsOnBlur) {
30335                                    var v = (o = o || {}) && o.buffer || t.slice().reverse();
30336                                    o.refreshFromBuffer = !0, o.buffer = u(v, a.digits, a, !0).reverse();
30337                                }
30338                            }
30339                            return o;
30340                        },
30341                        onKeyDown: function(e, t, n, i) {
30342                            var a, o = s(this);
30343                            if (3 != e.location) {
30344                                var l, c = e.key;
30345                                if ((l = i.shortcuts && i.shortcuts[c]) && l.length > 1) return this.inputmask.__valueSet.call(this, parseFloat(this.inputmask.unmaskedvalue()) * parseInt(l)), 
30346                                o.trigger("setvalue"), !1;
30347                            }
30348                            if (e.ctrlKey) switch (e.key) {
30349                              case r.keys.ArrowUp:
30350                                return this.inputmask.__valueSet.call(this, parseFloat(this.inputmask.unmaskedvalue()) + parseInt(i.step)), 
30351                                o.trigger("setvalue"), !1;
30352
30353                              case r.keys.ArrowDown:
30354                                return this.inputmask.__valueSet.call(this, parseFloat(this.inputmask.unmaskedvalue()) - parseInt(i.step)), 
30355                                o.trigger("setvalue"), !1;
30356                            }
30357                            if (!e.shiftKey && (e.key === r.keys.Delete || e.key === r.keys.Backspace || e.key === r.keys.BACKSPACE_SAFARI) && n.begin !== t.length) {
30358                                if (t[e.key === r.keys.Delete ? n.begin - 1 : n.end] === i.negationSymbol.front) return a = t.slice().reverse(), 
30359                                "" !== i.negationSymbol.front && a.shift(), "" !== i.negationSymbol.back && a.pop(), 
30360                                o.trigger("setvalue", [ a.join(""), n.begin ]), !1;
30361                                if (!0 === i._radixDance) {
30362                                    var f, p = t.indexOf(i.radixPoint);
30363                                    if (i.digitsOptional) {
30364                                        if (0 === p) return (a = t.slice().reverse()).pop(), o.trigger("setvalue", [ a.join(""), n.begin >= a.length ? a.length : n.begin ]), 
30365                                        !1;
30366                                    } else if (-1 !== p && (n.begin < p || n.end < p || e.key === r.keys.Delete && (n.begin === p || n.begin - 1 === p))) return n.begin === n.end && (e.key === r.keys.Backspace || e.key === r.keys.BACKSPACE_SAFARI ? n.begin++ : e.key === r.keys.Delete && n.begin - 1 === p && (f = s.extend({}, n), 
30367                                    n.begin--, n.end--)), (a = t.slice().reverse()).splice(a.length - n.begin, n.begin - n.end + 1), 
30368                                    a = u(a, i.digits, i).join(""), f && (n = f), o.trigger("setvalue", [ a, n.begin >= a.length ? p + 1 : n.begin ]), 
30369                                    !1;
30370                                }
30371                            }
30372                        }
30373                    },
30374                    currency: {
30375                        prefix: "",
30376                        groupSeparator: ",",
30377                        alias: "numeric",
30378                        digits: 2,
30379                        digitsOptional: !1
30380                    },
30381                    decimal: {
30382                        alias: "numeric"
30383                    },
30384                    integer: {
30385                        alias: "numeric",
30386                        inputmode: "numeric",
30387                        digits: 0
30388                    },
30389                    percentage: {
30390                        alias: "numeric",
30391                        min: 0,
30392                        max: 100,
30393                        suffix: " %",
30394                        digits: 0,
30395                        allowMinus: !1
30396                    },
30397                    indianns: {
30398                        alias: "numeric",
30399                        _mask: function(e) {
30400                            return "(" + e.groupSeparator + "99){*|1}(" + e.groupSeparator + "999){1|1}";
30401                        },
30402                        groupSeparator: ",",
30403                        radixPoint: ".",
30404                        placeholder: "0",
30405                        digits: 2,
30406                        digitsOptional: !1
30407                    }
30408                });
30409            },
30410            9380: function(e, t) {
30411                Object.defineProperty(t, "__esModule", {
30412                    value: !0
30413                }), t.default = void 0;
30414                var n = !("undefined" == typeof window || !window.document || !window.document.createElement);
30415                t.default = n ? window : {};
30416            },
30417            7760: function(e, t, n) {
30418                Object.defineProperty(t, "__esModule", {
30419                    value: !0
30420                }), t.HandleNativePlaceholder = function(e, t) {
30421                    var n = e ? e.inputmask : this;
30422                    if (i.ie) {
30423                        if (e.inputmask._valueGet() !== t && (e.placeholder !== t || "" === e.placeholder)) {
30424                            var a = o.getBuffer.call(n).slice(), r = e.inputmask._valueGet();
30425                            if (r !== t) {
30426                                var l = o.getLastValidPosition.call(n);
30427                                -1 === l && r === o.getBufferTemplate.call(n).join("") ? a = [] : -1 !== l && u.call(n, a), 
30428                                p(e, a);
30429                            }
30430                        }
30431                    } else e.placeholder !== t && (e.placeholder = t, "" === e.placeholder && e.removeAttribute("placeholder"));
30432                }, t.applyInputValue = c, t.checkVal = f, t.clearOptionalTail = u, t.unmaskedvalue = function(e) {
30433                    var t = e ? e.inputmask : this, n = t.opts, i = t.maskset;
30434                    if (e) {
30435                        if (void 0 === e.inputmask) return e.value;
30436                        e.inputmask && e.inputmask.refreshValue && c(e, e.inputmask._valueGet(!0));
30437                    }
30438                    for (var a = [], r = i.validPositions, l = 0, s = r.length; l < s; l++) r[l] && r[l].match && (1 != r[l].match.static || Array.isArray(i.metadata) && !0 !== r[l].generatedInput) && a.push(r[l].input);
30439                    var u = 0 === a.length ? "" : (t.isRTL ? a.reverse() : a).join("");
30440                    if ("function" == typeof n.onUnMask) {
30441                        var f = (t.isRTL ? o.getBuffer.call(t).slice().reverse() : o.getBuffer.call(t)).join("");
30442                        u = n.onUnMask.call(t, f, u, n);
30443                    }
30444                    return u;
30445                }, t.writeBuffer = p;
30446                var i = n(9845), a = n(6030), r = n(2839), o = n(8711), l = n(7215), s = n(4713);
30447                function c(e, t, n) {
30448                    var i = e ? e.inputmask : this, a = i.opts;
30449                    e.inputmask.refreshValue = !1, "function" == typeof a.onBeforeMask && (t = a.onBeforeMask.call(i, t, a) || t), 
30450                    f(e, !0, !1, t = (t || "").toString().split(""), n), i.undoValue = i._valueGet(!0), 
30451                    (a.clearMaskOnLostFocus || a.clearIncomplete) && e.inputmask._valueGet() === o.getBufferTemplate.call(i).join("") && -1 === o.getLastValidPosition.call(i) && e.inputmask._valueSet("");
30452                }
30453                function u(e) {
30454                    e.length = 0;
30455                    for (var t, n = s.getMaskTemplate.call(this, !0, 0, !0, void 0, !0); void 0 !== (t = n.shift()); ) e.push(t);
30456                    return e;
30457                }
30458                function f(e, t, n, i, r) {
30459                    var c, u = e ? e.inputmask : this, f = u.maskset, d = u.opts, h = u.dependencyLib, v = i.slice(), m = "", g = -1, y = d.skipOptionalPartCharacter;
30460                    d.skipOptionalPartCharacter = "", o.resetMaskSet.call(u, !1), u.clicked = 0, g = d.radixPoint ? o.determineNewCaretPosition.call(u, {
30461                        begin: 0,
30462                        end: 0
30463                    }, !1, !1 === d.__financeInput ? "radixFocus" : void 0).begin : 0, f.p = g, u.caretPos = {
30464                        begin: g
30465                    };
30466                    var k = [], b = u.caretPos;
30467                    if (v.forEach((function(e, t) {
30468                        if (void 0 !== e) {
30469                            var i = new h.Event("_checkval");
30470                            i.key = e, m += e;
30471                            var r = o.getLastValidPosition.call(u, void 0, !0);
30472                            !function(e, t) {
30473                                for (var n = s.getMaskTemplate.call(u, !0, 0).slice(e, o.seekNext.call(u, e, !1, !1)).join("").replace(/'/g, ""), i = n.indexOf(t); i > 0 && " " === n[i - 1]; ) i--;
30474                                var a = 0 === i && !o.isMask.call(u, e) && (s.getTest.call(u, e).match.nativeDef === t.charAt(0) || !0 === s.getTest.call(u, e).match.static && s.getTest.call(u, e).match.nativeDef === "'" + t.charAt(0) || " " === s.getTest.call(u, e).match.nativeDef && (s.getTest.call(u, e + 1).match.nativeDef === t.charAt(0) || !0 === s.getTest.call(u, e + 1).match.static && s.getTest.call(u, e + 1).match.nativeDef === "'" + t.charAt(0)));
30475                                if (!a && i > 0 && !o.isMask.call(u, e, !1, !0)) {
30476                                    var r = o.seekNext.call(u, e);
30477                                    u.caretPos.begin < r && (u.caretPos = {
30478                                        begin: r
30479                                    });
30480                                }
30481                                return a;
30482                            }(g, m) ? (c = a.EventHandlers.keypressEvent.call(u, i, !0, !1, n, u.caretPos.begin)) && (g = u.caretPos.begin + 1, 
30483                            m = "") : c = a.EventHandlers.keypressEvent.call(u, i, !0, !1, n, r + 1), c ? (void 0 !== c.pos && f.validPositions[c.pos] && !0 === f.validPositions[c.pos].match.static && void 0 === f.validPositions[c.pos].alternation && (k.push(c.pos), 
30484                            u.isRTL || (c.forwardPosition = c.pos + 1)), p.call(u, void 0, o.getBuffer.call(u), c.forwardPosition, i, !1), 
30485                            u.caretPos = {
30486                                begin: c.forwardPosition,
30487                                end: c.forwardPosition
30488                            }, b = u.caretPos) : void 0 === f.validPositions[t] && v[t] === s.getPlaceholder.call(u, t) && o.isMask.call(u, t, !0) ? u.caretPos.begin++ : u.caretPos = b;
30489                        }
30490                    })), k.length > 0) {
30491                        var x, w, P = o.seekNext.call(u, -1, void 0, !1);
30492                        if (!l.isComplete.call(u, o.getBuffer.call(u)) && k.length <= P || l.isComplete.call(u, o.getBuffer.call(u)) && k.length > 0 && k.length !== P && 0 === k[0]) for (var S = P; void 0 !== (x = k.shift()); ) if (x < S) {
30493                            var O = new h.Event("_checkval");
30494                            if ((w = f.validPositions[x]).generatedInput = !0, O.key = w.input, (c = a.EventHandlers.keypressEvent.call(u, O, !0, !1, n, S)) && void 0 !== c.pos && c.pos !== x && f.validPositions[c.pos] && !0 === f.validPositions[c.pos].match.static) k.push(c.pos); else if (!c) break;
30495                            S++;
30496                        }
30497                    }
30498                    t && p.call(u, e, o.getBuffer.call(u), c ? c.forwardPosition : u.caretPos.begin, r || new h.Event("checkval"), r && ("input" === r.type && u.undoValue !== o.getBuffer.call(u).join("") || "paste" === r.type)), 
30499                    d.skipOptionalPartCharacter = y;
30500                }
30501                function p(e, t, n, i, a) {
30502                    var s = e ? e.inputmask : this, c = s.opts, u = s.dependencyLib;
30503                    if (i && "function" == typeof c.onBeforeWrite) {
30504                        var f = c.onBeforeWrite.call(s, i, t, n, c);
30505                        if (f) {
30506                            if (f.refreshFromBuffer) {
30507                                var p = f.refreshFromBuffer;
30508                                l.refreshFromBuffer.call(s, !0 === p ? p : p.start, p.end, f.buffer || t), t = o.getBuffer.call(s, !0);
30509                            }
30510                            void 0 !== n && (n = void 0 !== f.caret ? f.caret : n);
30511                        }
30512                    }
30513                    if (void 0 !== e && (e.inputmask._valueSet(t.join("")), void 0 === n || void 0 !== i && "blur" === i.type || o.caret.call(s, e, n, void 0, void 0, void 0 !== i && "keydown" === i.type && (i.key === r.keys.Delete || i.key === r.keys.Backspace)), 
30514                    void 0 === e.inputmask.writeBufferHook || e.inputmask.writeBufferHook(n), !0 === a)) {
30515                        var d = u(e), h = e.inputmask._valueGet();
30516                        e.inputmask.skipInputEvent = !0, d.trigger("input"), setTimeout((function() {
30517                            h === o.getBufferTemplate.call(s).join("") ? d.trigger("cleared") : !0 === l.isComplete.call(s, t) && d.trigger("complete");
30518                        }), 0);
30519                    }
30520                }
30521            },
30522            2394: function(e, t, n) {
30523                Object.defineProperty(t, "__esModule", {
30524                    value: !0
30525                }), t.default = void 0;
30526                var i = v(n(3976)), a = v(n(7392)), r = v(n(4963)), o = n(9716), l = v(n(9380)), s = n(7760), c = n(157), u = n(2391), f = n(8711), p = n(7215), d = n(4713);
30527                function h(e) {
30528                    return h = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
30529                        return typeof e;
30530                    } : function(e) {
30531                        return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
30532                    }, h(e);
30533                }
30534                function v(e) {
30535                    return e && e.__esModule ? e : {
30536                        default: e
30537                    };
30538                }
30539                var m = l.default.document, g = "_inputmask_opts";
30540                function y(e, t, n) {
30541                    if (!(this instanceof y)) return new y(e, t, n);
30542                    this.dependencyLib = r.default, this.el = void 0, this.events = {}, this.maskset = void 0, 
30543                    !0 !== n && ("[object Object]" === Object.prototype.toString.call(e) ? t = e : (t = t || {}, 
30544                    e && (t.alias = e)), this.opts = r.default.extend(!0, {}, this.defaults, t), this.noMasksCache = t && void 0 !== t.definitions, 
30545                    this.userOptions = t || {}, k(this.opts.alias, t, this.opts)), this.refreshValue = !1, 
30546                    this.undoValue = void 0, this.$el = void 0, this.skipInputEvent = !1, this.validationEvent = !1, 
30547                    this.ignorable = !1, this.maxLength, this.mouseEnter = !1, this.clicked = 0, this.originalPlaceholder = void 0, 
30548                    this.isComposing = !1, this.hasAlternator = !1;
30549                }
30550                function k(e, t, n) {
30551                    var i = y.prototype.aliases[e];
30552                    return i ? (i.alias && k(i.alias, void 0, n), r.default.extend(!0, n, i), r.default.extend(!0, n, t), 
30553                    !0) : (null === n.mask && (n.mask = e), !1);
30554                }
30555                y.prototype = {
30556                    dataAttribute: "data-inputmask",
30557                    defaults: i.default,
30558                    definitions: a.default,
30559                    aliases: {},
30560                    masksCache: {},
30561                    i18n: {},
30562                    get isRTL() {
30563                        return this.opts.isRTL || this.opts.numericInput;
30564                    },
30565                    mask: function(e) {
30566                        var t = this;
30567                        return "string" == typeof e && (e = m.getElementById(e) || m.querySelectorAll(e)), 
30568                        (e = e.nodeName ? [ e ] : Array.isArray(e) ? e : [].slice.call(e)).forEac
vendor: 4,243 bytes, lines 30568-30622
30568h((function(e, n) {
30569                            var i = r.default.extend(!0, {}, t.opts);
30570                            if (function(e, t, n, i) {
30571                                function a(t, a) {
30572                                    var r = "" === i ? t : i + "-" + t;
30573                                    null !== (a = void 0 !== a ? a : e.getAttribute(r)) && ("string" == typeof a && (0 === t.indexOf("on") ? a = l.default[a] : "false" === a ? a = !1 : "true" === a && (a = !0)), 
30574                                    n[t] = a);
30575                                }
30576                                if (!0 === t.importDataAttributes) {
30577                                    var o, s, c, u, f = e.getAttribute(i);
30578                                    if (f && "" !== f && (f = f.replace(/'/g, '"'), s = JSON.parse("{" + f + "}")), 
30579                                    s) for (u in c = void 0, s) if ("alias" === u.toLowerCase()) {
30580                                        c = s[u];
30581                                        break;
30582                                    }
30583                                    for (o in a("alias", c), n.alias && k(n.alias, n, t), t) {
30584                                        if (s) for (u in c = void 0, s) if (u.toLowerCase() === o.toLowerCase()) {
30585                                            c = s[u];
30586                                            break;
30587                                        }
30588                                        a(o, c);
30589                                    }
30590                                }
30591                                r.default.extend(!0, t, n), ("rtl" === e.dir || t.rightAlign) && (e.style.textAlign = "right");
30592                                ("rtl" === e.dir || t.numericInput) && (e.dir = "ltr", e.removeAttribute("dir"), 
30593                                t.isRTL = !0);
30594                                return Object.keys(n).length;
30595                            }(e, i, r.default.extend(!0, {}, t.userOptions), t.dataAttribute)) {
30596                                var a = (0, u.generateMaskSet)(i, t.noMasksCache);
30597                                void 0 !== a && (void 0 !== e.inputmask && (e.inputmask.opts.autoUnmask = !0, e.inputmask.remove()), 
30598                                e.inputmask = new y(void 0, void 0, !0), e.inputmask.opts = i, e.inputmask.noMasksCache = t.noMasksCache, 
30599                                e.inputmask.userOptions = r.default.extend(!0, {}, t.userOptions), e.inputmask.el = e, 
30600                                e.inputmask.$el = (0, r.default)(e), e.inputmask.maskset = a, r.default.data(e, g, t.userOptions), 
30601                                c.mask.call(e.inputmask));
30602                            }
30603                        })), e && e[0] && e[0].inputmask || this;
30604                    },
30605                    option: function(e, t) {
30606                        return "string" == typeof e ? this.opts[e] : "object" === h(e) ? (r.default.extend(this.userOptions, e), 
30607                        this.el && !0 !== t && this.mask(this.el), this) : void 0;
30608                    },
30609                    unmaskedvalue: function(e) {
30610                        if (this.maskset = this.maskset || (0, u.generateMaskSet)(this.opts, this.noMasksCache), 
30611                        void 0 === this.el || void 0 !== e) {
30612                            var t = ("function" == typeof this.opts.onBeforeMask && this.opts.onBeforeMask.call(this, e, this.opts) || e).split("");
30613                            s.checkVal.call(this, void 0, !1, !1, t), "function" == typeof this.opts.onBeforeWrite && this.opts.onBeforeWrite.call(this, void 0, f.getBuffer.call(this), 0, this.opts);
30614                        }
30615                        return s.unmaskedvalue.call(this, this.el);
30616                    },
30617                    remove: function() {
30618                        if (this.el) {
30619                            r.default.data(this.el, g, null);
30620                            var e = this.opts.autoUnmask ? (0, s.unmaskedvalue)(this.el) : this._valueGet(this.opts.autoUnmask);
30621                            e !== f.getBufferTemplate.call(this).join("") ? this._valueSet(e, this.opts.autoUnmask) : this._valueSet(""), 
30622                            o.EventRuler.off(this.el), Object.getOwnPropertyDescriptor && Ob
30622ject.getPrototypeOf ? Object.getOwnPropertyDescriptor(Object.getPrototypeOf(this.el), "value") && this.__valueGet && Object.defineProperty(this.el, "value", {
30623                                get: this.__valueGet,
30624                                set: this.__valueSet,
30625                                configurable: !0
30626                            }) : m.__lookupGetter__ && this.el.__lookupGetter__("value") && this.__valueGet && (this.el.__defineGetter__("value", this.__valueGet), 
30627                            this.el.__defineSetter__("value", this.__valueSet)), this.el.inputmask = void 0;
30628                        }
30629                        return this.el;
30630                    },
30631                    getemptymask: function() {
30632                        return this.maskset = this.maskset || (0, u.generateMaskSet)(this.opts, this.noMasksCache), 
30633                        (this.isRTL ? f.getBufferTemplate.call(this).reverse() : f.getBufferTemplate.call(this)).join("");
30634                    },
30635                    hasMaskedValue: function() {
30636                        return !this.opts.autoUnmask;
30637                    },
30638                    isComplete: function() {
30639                        return this.maskset = this.maskset || (0, u.generateMaskSet)(this.opts, this.noMasksCache), 
30640                        p.isComplete.call(this, f.getBuffer.call(this));
30641                    },
30642                    getmetadata: function() {
30643                        if (this.maskset = this.maskset || (0, u.generateMaskSet)(this.opts, this.noMasksCache), 
30644                        Array.isArray(this.maskset.metadata)) {
30645                            var e = d.getMaskTemplate.call(this, !0, 0, !1).join("");
30646                            return this.maskset.metadata.forEach((function(t) {
30647                                return t.mask !== e || (e = t, !1);
30648                            })), e;
30649                        }
30650                        return this.maskset.metadata;
30651                    },
30652                    isValid: function(e) {
30653                        if (this.maskset = this.maskset || (0, u.generateMaskSet)(this.opts, this.noMasksCache), 
30654                        e) {
30655                            var t = ("function" == typeof this.opts.onBeforeMask && this.opts.onBeforeMask.call(this, e, this.opts) || e).split("");
30656                            s.checkVal.call(this, void 0, !0, !1, t);
30657                        } else e = this.isRTL ? f.getBuffer.call(this).slice().reverse().join("") : f.getBuffer.call(this).join("");
30658                        for (var n = f.getBuffer.call(this), i = f.determineLastRequiredPosition.call(this), a = n.length - 1; a > i && !f.isMask.call(this, a); a--) ;
30659                        return n.splice(i, a + 1 - i), p.isComplete.call(this, n) && e === (this.isRTL ? f.getBuffer.call(this).slice().reverse().join("") : f.getBuffer.call(this).join(""));
30660                    },
30661                    format: function(e, t) {
30662                        this.maskset = this.maskset || (0, u.generateMaskSet)(this.opts, this.noMasksCache);
30663                        var n = ("function" == typeof this.opts.onBeforeMask && this.opts.onBeforeMask.call(this, e, this.opts) || e).split("");
30664                        s.checkVal.call(this, void 0, !0, !1, n);
30665                        var i = this.isRTL ? f.getBuffer.call(this).slice().reverse().join("") : f.getBuffer.call(this).join("");
30666                        return t ? {
30667                            value: i,
30668                            metadata: this.getmetadata()
30669                        } : i;
30670                    },
30671                    setValue: function(e) {
30672                        this.el && (0, r.default)(this.el).trigger("setvalue", [ e ]);
30673                    },
30674                    analyseMask: u.analyseMask
30675                }, y.extendDefaults = function(e) {
30676                    r.default.extend(!0, y.prototype.defaults, e);
30677                }, y.extendDefinitions = function(e) {
30678                    r.default.extend(!0, y.prototype.definitions, e);
30679                }, y.extendAliases = function(e) {
30680                    r.default.extend(!0, y.prototype.aliases, e);
30681                }, y.format = function(e, t, n) {
30682                    return y(t).format(e, n);
30683                }, y.unmask = function(e, t) {
30684                    return y(t).unmaskedvalue(e);
30685                }, y.isValid = function(e, t) {
30686                    return y(t).isValid(e);
30687                }, y.remove = function(e) {
30688                    "string" == typeof e && (e = m.getElementById(e) || m.querySelectorAll(e)), (e = e.nodeName ? [ e ] : e).forEach((function(e) {
30689                        e.inputmask && e.inputmask.remove();
30690                    }));
30691                }, y.setValue = function(e, t) {
30692                    "string" == typeof e && (e = m.getElementById(e) || m.querySelectorAll(e)), (e = e.nodeName ? [ e ] : e).forEach((function(e) {
30693                        e.inputmask ? e.inputmask.setValue(t) : (0, r.default)(e).trigger("setvalue", [ t ]);
30694                    }));
30695                }, y.dependencyLib = r.default, l.default.Inputmask = y;
30696                t.default = y;
30697            },
30698            5296: function(e, t, n) {
30699                function i(e) {
30700                    return i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
30701                        return typeof e;
30702                    } : function(e) {
30703                        return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
30704                    }, i(e);
30705                }
30706                var a = d(n(9380)), r = d(n(2394));
30707                function o(e, t) {
30708                    for (var n = 0; n < t.length; n++) {
30709                        var a = t[n];
30710                        a.enumerable = a.enumerable || !1, a.configurable = !0, "value" in a && (a.writable = !0), 
30711                        Object.defineProperty(e, (r = a.key, o = void 0, o = function(e, t) {
30712                            if ("object" !== i(e) || null === e) return e;
30713                            var n = e[Symbol.toPrimitive];
30714                            if (void 0 !== n) {
30715                                var a = n.call(e, t || "default");
30716                                if ("object" !== i(a)) return a;
30717                                throw new TypeError("@@toPrimitive must return a primitive value.");
30718                            }
30719                            return ("string" === t ? String : Number)(e);
30720                        }(r, "string"), "symbol" === i(o) ? o : String(o)), a);
30721                    }
30722                    var r, o;
30723                }
30724                function l(e) {
30725                    var t = u();
30726                    return function() {
30727                        var n, a = p(e);
30728                        if (t) {
30729                            var r = p(this).constructor;
30730                            n = Reflect.construct(a, arguments, r);
30731                        } else n = a.apply(this, arguments);
30732                        return function(e, t) {
30733                            if (t && ("object" === i(t) || "function" == typeof t)) return t;
30734                            if (void 0 !== t) throw new TypeError("Derived constructors may only return object or undefined");
30735                            return function(e) {
30736                                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
30737                                return e;
30738                            }(e);
30739                        }(this, n);
30740                    };
30741                }
30742                function s(e) {
30743                    var t = "function" == typeof Map ? new Map : void 0;
30744                    return s = function(e) {
30745                        if (null === e || !function(e) {
30746                            try {
30747                                return -1 !== Function.toString.call(e).indexOf("[native code]");
30748                            } catch (t) {
30749                                return "function" == typeof e;
30750                            }
30751                        }(e)) return e;
30752                        if ("function" != typeof e) throw new TypeError("Super expression must either be null or a function");
30753                        if (void 0 !== t) {
30754                            if (t.has(e)) return t.get(e);
30755                            t.set(e, n);
30756                        }
30757                        function n() {
30758                            return c(e, arguments, p(this).constructor);
30759                        }
30760                        return n.prototype = Object.create(e.prototype, {
30761                            constructor: {
30762                                value: n,
30763                                enumerable: !1,
30764                                writable: !0,
30765                                configurable: !0
30766                            }
30767                        }), f(n, e);
30768                    }, s(e);
30769                }
30770                function c(e, t, n) {
30771                    return c = u() ? Reflect.construct.bind() : function(e, t, n) {
30772                        var i = [ null ];
30773                        i.push.apply(i, t);
30774                        var a = new (Function.bind.apply(e, i));
30775                        return n && f(a, n.prototype), a;
30776                    }, c.apply(null, arguments);
30777                }
30778                function u() {
30779                    if ("undefined" == typeof Reflect || !Reflect.construct) return !1;
30780                    if (Reflect.construct.sham) return !1;
30781                    if ("function" == typeof Proxy) return !0;
30782                    try {
30783                        return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], (function() {}))), 
30784                        !0;
30785                    } catch (e) {
30786                        return !1;
30787                    }
30788                }
30789                function f(e, t) {
30790                    return f = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(e, t) {
30791                        return e.__proto__ = t, e;
30792                    }, f(e, t);
30793                }
30794                function p(e) {
30795                    return p = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(e) {
30796                        return e.__proto__ || Object.getPrototypeOf(e);
30797                    }, p(e);
30798                }
30799                function d(e) {
30800                    return e && e.__esModule ? e : {
30801                        default: e
30802                    };
30803                }
30804                var h = a.default.document;
30805                if (h && h.head && h.head.attachShadow && a.default.customElements && void 0 === a.default.customElements.get("input-mask")) {
30806                    var v = function(e) {
30807                        !function(e, t) {
30808                            if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
30809                            e.prototype = Object.create(t && t.prototype, {
30810                                constructor: {
30811                                    value: e,
30812                                    writable: !0,
30813                                    configurable: !0
30814                                }
30815                            }), Object.defineProperty(e, "prototype", {
30816                                writable: !1
30817                            }), t && f(e, t);
30818                        }(s, e);
30819                        var t, n, i, a = l(s);
30820                        function s() {
30821                            var e;
30822                            !function(e, t) {
30823                                if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
30824                            }(this, s);
30825                            var t = (e = a.call(this)).getAttributeNames(), n = e.attachShadow({
30826                                mode: "closed"
30827                            });
30828                            for (var i in e.input = h.createElement("input"), e.input.type = "text", n.appendChild(e.input), 
30829                            t) Object.prototype.hasOwnProperty.call(t, i) && e.input.setAttribute(t[i], e.getAttribute(t[i]));
30830                            var o = new r.default;
30831                            return o.dataAttribute = "", o.mask(e.input), e.input.inputmask.shadowRoot = n, 
30832                            e;
30833                        }
30834                        return t = s, (n = [ {
30835                            key: "attributeChangedCallback",
30836                            value: function(e, t, n) {
30837                                this.input.setAttribute(e, n);
30838                            }
30839                        }, {
30840                            key: "value",
30841                            get: function() {
30842                                return this.input.value;
30843                            },
30844                            set: function(e) {
30845                                this.input.value = e;
30846                            }
30847                        } ]) && o(t.prototype, n), i && o(t, i), Object.defineProperty(t, "prototype", {
30848                            writable: !1
30849                        }), s;
30850                    }(s(HTMLElement));
30851                    a.default.customElements.define("input-mask", v);
30852                }
30853            },
30854            2839: function(e, t) {
30855                function n(e) {
30856                    return n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
30857                        return typeof e;
30858                    } : function(e) {
30859                        return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
30860                    }, n(e);
30861                }
30862                function i(e, t) {
30863                    return function(e) {
30864                        if (Array.isArray(e)) return e;
30865                    }(e) || function(e, t) {
30866                        var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
30867                        if (null != n) {
30868                            var i, a, r, o, l = [], s = !0, c = !1;
30869                            try {
30870                                if (r = (n = n.call(e)).next, 0 === t) {
30871                                    if (Object(n) !== n) return;
30872                                    s = !1;
30873                                } else for (;!(s = (i = r.call(n)).done) && (l.push(i.value), l.length !== t); s = !0) ;
30874                            } catch (e) {
30875                                c = !0, a = e;
30876                            } finally {
30877                                try {
30878                                    if (!s && null != n.return && (o = n.return(), Object(o) !== o)) return;
30879                                } finally {
30880                                    if (c) throw a;
30881                                }
30882                            }
30883                            return l;
30884                        }
30885                    }(e, t) || function(e, t) {
30886                        if (!e) return;
30887                        if ("string" == typeof e) return a(e, t);
30888                        var n = Object.prototype.toString.call(e).slice(8, -1);
30889                        "Object" === n && e.constructor && (n = e.constructor.name);
30890                        if ("Map" === n || "Set" === n) return Array.from(e);
30891                        if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return a(e, t);
30892                    }(e, t) || function() {
30893                        throw new TypeError("Invalid attempt to de
30893structure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
30894                    }();
30895                }
30896                function a(e, t) {
30897                    (null == t || t > e.length) && (t = e.length);
30898                    for (var n = 0, i = new Array(t); n < t; n++) i[n] = e[n];
30899                    return i;
30900                }
30901                function r(e, t) {
30902                    var n = Object.keys(e);
30903                    if (Object.getOwnPropertySymbols) {
30904                        var i = Object.getOwnPropertySymbols(e);
30905                        t && (i = i.filter((function(t) {
30906                            return Object.getOwnPropertyDescriptor(e, t).enumerable;
30907                        }))), n.push.apply(n, i);
30908                    }
30909                    return n;
30910                }
30911                function o(e, t, i) {
30912                    return (t = function(e) {
30913                        var t = function(e, t) {
30914                            if ("object" !== n(e) || null === e) return e;
30915                            var i = e[Symbol.toPrimitive];
30916                            if (void 0 !== i) {
30917                                var a = i.call(e, t || "default");
30918                                if ("object" !== n(a)) return a;
30919                                throw new TypeError("@@toPrimitive must return a primitive value.");
30920                            }
30921                            return ("string" === t ? String : Number)(e);
30922                        }(e, "string");
30923                        return "symbol" === n(t) ? t : String(t);
30924                    }(t)) in e ? Object.defineProperty(e, t, {
30925                        value: i,
30926                        enumerable: !0,
30927                        configurable: !0,
30928                        writable: !0
30929                    }) : e[t] = i, e;
30930                }
30931                Object.defineProperty(t, "__esModule", {
30932                    value: !0
30933                }), t.keys = t.keyCode = void 0, t.toKey = function(e, t) {
30934                    return s[e] || (t ? String.fromCharCode(e) : String.fromCharCode(e).toLowerCase());
30935                }, t.toKeyCode = function(e) {
30936                    return l[e];
30937                };
vendor: 12,473 bytes, lines 30938-31174
30938                var l = t.keyCode = function(e) {
30939                    for (var t = 1; t < arguments.length; t++) {
30940                        var n = null != arguments[t] ? arguments[t] : {};
30941                        t % 2 ? r(Object(n), !0).forEach((function(t) {
30942                            o(e, t, n[t]);
30943                        })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : r(Object(n)).forEach((function(t) {
30944                            Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t));
30945                        }));
30946                    }
30947                    return e;
30948                }({
30949                    c: 67,
30950                    x: 88,
30951                    z: 90,
30952                    BACKSPACE_SAFARI: 127,
30953                    Enter: 13,
30954                    Meta_LEFT: 91,
30955                    Meta_RIGHT: 92,
30956                    Space: 32
30957                }, {
30958                    Alt: 18,
30959                    AltGraph: 18,
30960                    ArrowDown: 40,
30961                    ArrowLeft: 37,
30962                    ArrowRight: 39,
30963                    ArrowUp: 38,
30964                    Backspace: 8,
30965                    CapsLock: 20,
30966                    Control: 17,
30967                    ContextMenu: 93,
30968                    Dead: 221,
30969                    Delete: 46,
30970                    End: 35,
30971                    Escape: 27,
30972                    F1: 112,
30973                    F2: 113,
30974                    F3: 114,
30975                    F4: 115,
30976                    F5: 116,
30977                    F6: 117,
30978                    F7: 118,
30979                    F8: 119,
30980                    F9: 120,
30981                    F10: 121,
30982                    F11: 122,
30983                    F12: 123,
30984                    Home: 36,
30985                    Insert: 45,
30986                    NumLock: 144,
30987                    PageDown: 34,
30988                    PageUp: 33,
30989                    Pause: 19,
30990                    PrintScreen: 44,
30991                    Process: 229,
30992                    Shift: 16,
30993                    ScrollLock: 145,
30994                    Tab: 9,
30995                    Unidentified: 229
30996                }), s = Object.entries(l).reduce((function(e, t) {
30997                    var n = i(t, 2), a = n[0], r = n[1];
30998                    return e[r] = void 0 === e[r] ? a : e[r], e;
30999                }), {});
31000                t.keys = Object.entries(l).reduce((function(e, t) {
31001                    var n = i(t, 2), a = n[0];
31002                    n[1];
31003                    return e[a] = "Space" === a ? " " : a, e;
31004                }), {});
31005            },
31006            2391: function(e, t, n) {
31007                Object.defineProperty(t, "__esModule", {
31008                    value: !0
31009                }), t.analyseMask = function(e, t, n) {
31010                    var i, a, s, c, u, f, p = /(?:[?*+]|\{[0-9+*]+(?:,[0-9+*]*)?(?:\|[0-9+*]*)?\})|[^.?*+^${[]()|\\]+|./g, d = /\[\^?]?(?:[^\\\]]+|\\[\S\s]?)*]?|\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9][0-9]*|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|c[A-Za-z]|[\S\s]?)|\((?:\?[:=!]?)?|(?:[?*+]|\{[0-9]+(?:,[0-9]*)?\})\??|[^.?*+^${[()|\\]+|./g, h = !1, v = new o.default, m = [], g = [], y = !1;
31011                    function k(e, i, a) {
31012                        a = void 0 !== a ? a : e.matches.length;
31013                        var o = e.matches[a - 1];
31014                        if (t) {
31015                            if (0 === i.indexOf("[") || h && /\\d|\\s|\\w|\\p/i.test(i) || "." === i) {
31016                                var s = n.casing ? "i" : "";
31017                                /\\p\{.*}/i.test(i) && (s += "u"), e.matches.splice(a++, 0, {
31018                                    fn: new RegExp(i, s),
31019                                    static: !1,
31020                                    optionality: !1,
31021                                    newBlockMarker: void 0 === o ? "master" : o.def !== i,
31022                                    casing: null,
31023                                    def: i,
31024                                    placeholder: "object" === l(n.placeholder) ? n.placeholder[v.matches.length] : void 0,
31025                                    nativeDef: i
31026                                });
31027                            } else h && (i = i[i.length - 1]), i.split("").forEach((function(t, i) {
31028                                o = e.matches[a - 1], e.matches.splice(a++, 0, {
31029                                    fn: /[a-z]/i.test(n.staticDefinitionSymbol || t) ? new RegExp("[" + (n.staticDefinitionSymbol || t) + "]", n.casing ? "i" : "") : null,
31030                                    static: !0,
31031                                    optionality: !1,
31032                                    newBlockMarker: void 0 === o ? "master" : o.def !== t && !0 !== o.static,
31033                                    casing: null,
31034                                    def: n.staticDefinitionSymbol || t,
31035                                    placeholder: void 0 !== n.staticDefinitionSymbol ? t : "object" === l(n.placeholder) ? n.placeholder[v.matches.length] : void 0,
31036                                    nativeDef: (h ? "'" : "") + t
31037                                });
31038                            }));
31039                            h = !1;
31040                        } else {
31041                            var c = n.definitions && n.definitions[i] || n.usePrototypeDefinitions && r.default.prototype.definitions[i];
31042                            c && !h ? e.matches.splice(a++, 0, {
31043                                fn: c.validator ? "string" == typeof c.validator ? new RegExp(c.validator, n.casing ? "i" : "") : new function() {
31044                                    this.test = c.validator;
31045                                } : /./,
31046                                static: c.static || !1,
31047                                optionality: c.optional || !1,
31048                                defOptionality: c.optional || !1,
31049                                newBlockMarker: void 0 === o || c.optional ? "master" : o.def !== (c.definitionSymbol || i),
31050                                casing: c.casing,
31051                                def: c.definitionSymbol || i,
31052                                placeholder: c.placeholder,
31053                                nativeDef: i,
31054                                generated: c.generated
31055                            }) : (e.matches.splice(a++, 0, {
31056                                fn: /[a-z]/i.test(n.staticDefinitionSymbol || i) ? new RegExp("[" + (n.staticDefinitionSymbol || i) + "]", n.casing ? "i" : "") : null,
31057                                static: !0,
31058                                optionality: !1,
31059                                newBlockMarker: void 0 === o ? "master" : o.def !== i && !0 !== o.static,
31060                                casing: null,
31061                                def: n.staticDefinitionSymbol || i,
31062                                placeholder: void 0 !== n.staticDefinitionSymbol ? i : void 0,
31063                                nativeDef: (h ? "'" : "") + i
31064                            }), h = !1);
31065                        }
31066                    }
31067                    function b() {
31068                        if (m.length > 0) {
31069                            if (k(c = m[m.length - 1], a), c.isAlternator) {
31070                                u = m.pop();
31071                                for (var e = 0; e < u.matches.length; e++) u.matches[e].isGroup && (u.matches[e].isGroup = !1);
31072                                m.length > 0 ? (c = m[m.length - 1]).matches.push(u) : v.matches.push(u);
31073                            }
31074                        } else k(v, a);
31075                    }
31076                    function x(e) {
31077                        var t = new o.default(!0);
31078                        return t.openGroup = !1, t.matches = e, t;
31079                    }
31080                    function w() {
31081                        if ((s = m.pop()).openGroup = !1, void 0 !== s) if (m.length > 0) {
31082                            if ((c = m[m.length - 1]).matches.push(s), c.isAlternator) {
31083                                u = m.pop();
31084                                for (var e = 0; e < u.matches.length; e++) u.matches[e].isGroup = !1, u.matches[e].alternatorGroup = !1;
31085                                m.length > 0 ? (c = m[m.length - 1]).matches.push(u) : v.matches.push(u);
31086                            }
31087                        } else v.matches.push(s); else b();
31088                    }
31089                    function P(e) {
31090                        var t = e.pop();
31091                        return t.isQuantifier && (t = x([ e.pop(), t ])), t;
31092                    }
31093                    t && (n.optionalmarker[0] = void 0, n.optionalmarker[1] = void 0);
31094                    for (;i = t ? d.exec(e) : p.exec(e); ) {
31095                        if (a = i[0], t) {
31096                            switch (a.charAt(0)) {
31097                              case "?":
31098                                a = "{0,1}";
31099                                break;
31100
31101                              case "+":
31102                              case "*":
31103                                a = "{" + a + "}";
31104                                break;
31105
31106                              case "|":
31107                                if (0 === m.length) {
31108                                    var S = x(v.matches);
31109                                    S.openGroup = !0, m.push(S), v.matches = [], y = !0;
31110                                }
31111                            }
31112                            switch (a) {
31113                              case "\\d":
31114                                a = "[0-9]";
31115                                break;
31116
31117                              case "\\p":
31118                                a += d.exec(e)[0], a += d.exec(e)[0];
31119                            }
31120                        }
31121                        if (h) b(); else switch (a.charAt(0)) {
31122                          case "$":
31123                          case "^":
31124                            t || b();
31125                            break;
31126
31127                          case n.escapeChar:
31128                            h = !0, t && b();
31129                            break;
31130
31131                          case n.optionalmarker[1]:
31132                          case n.groupmarker[1]:
31133                            w();
31134                            break;
31135
31136                          case n.optionalmarker[0]:
31137                            m.push(new o.default(!1, !0));
31138                            break;
31139
31140                          case n.groupmarker[0]:
31141                            m.push(new o.default(!0));
31142                            break;
31143
31144                          case n.quantifiermarker[0]:
31145                            var O = new o.default(!1, !1, !0), _ = (a = a.replace(/[{}?]/g, "")).split("|"), M = _[0].split(","), E = isNaN(M[0]) ? M[0] : parseInt(M[0]), j = 1 === M.length ? E : isNaN(M[1]) ? M[1] : parseInt(M[1]), T = isNaN(_[1]) ? _[1] : parseInt(_[1]);
31146                            "*" !== E && "+" !== E || (E = "*" === j ? 0 : 1), O.quantifier = {
31147                                min: E,
31148                                max: j,
31149                                jit: T
31150                            };
31151                            var A = m.length > 0 ? m[m.length - 1].matches : v.matches;
31152                            (i = A.pop()).isGroup || (i = x([ i ])), A.push(i), A.push(O);
31153                            break;
31154
31155                          case n.alternatormarker:
31156                            if (m.length > 0) {
31157                                var D = (c = m[m.length - 1]).matches[c.matches.length - 1];
31158                                f = c.openGroup && (void 0 === D.matches || !1 === D.isGroup && !1 === D.isAlternator) ? m.pop() : P(c.matches);
31159                            } else f = P(v.matches);
31160                            if (f.isAlternator) m.push(f); else if (f.alternatorGroup ? (u = m.pop(), f.alternatorGroup = !1) : u = new o.default(!1, !1, !1, !0), 
31161                            u.matches.push(f), m.push(u), f.openGroup) {
31162                                f.openGroup = !1;
31163                                var L = new o.default(!0);
31164                                L.alternatorGroup = !0, m.push(L);
31165                            }
31166                            break;
31167
31168                          default:
31169                            b();
31170                        }
31171                    }
31172                    y && w();
31173                    for (;m.length > 0; ) s = m.pop(), v.matches.push(s);
31174                    v.matches.length > 0 && (!function e(i) {
31175                        i && i.matches && i.matches.forEach((function(a, r) {
31176                            var o = i.matches[r + 1];
31177                            (void 0 === o || void 0 === o.matches || !1 === o.isQuantifier) && a && a.isGroup && (a.isGroup = !1, 
31178                            t || (k(a, n.groupmarker[0], 0), !0 !== a.openGroup && k(a, n.groupmarker[1]))), 
31179                            e(a);
31180                        }));
31181                    }(v), g.push(v));
31182                    (n.numericInput || n.isRTL) && function e(t) {
31183                        for (var i in t.matches = t.matches.reverse(), t.matches) if (Object.prototype.hasOwnProperty.call(t.matches, i)) {
31184                            var a = parseInt(i);
31185                            if (t.matches[i].isQuantifier && t.matches[a + 1] && t.matches[a + 1].isGroup) {
31186                                var r = t.matches[i];
31187                                t.matches.splice(i, 1), t.matches.splice(a + 1, 0, r);
31188                            }
31189                            void 0 !== t.matches[i].matches ? t.matches[i] = e(t.matches[i]) : t.matches[i] = ((o = t.matches[i]) === n.optionalmarker[0] ? o = n.optionalmarker[1] : o === n.optionalmarker[1] ? o = n.optionalmarker[0] : o === n.groupmarker[0] ? o = n.groupmarker[1] : o === n.groupmarker[1] && (o = n.groupmarker[0]), 
31190                            o);
31191                        }
31192                        var o;
31193                        return t;
31194                    }(g[0]);
31195                    return g;
31196                }, t.generateMaskSet = function(e, t) {
31197                    var n;
31198                    function o(e, t) {
31199                        var n = t.repeat, i = t.groupmarker, r = t.quantifiermarker, o = t.keepStatic;
31200                        if (n > 0 || "*" === n || "+" === n) {
31201                            var l = "*" === n ? 0 : "+" === n ? 1 : n;
31202                            if (l != n) e = i[0] + e + i[1] + r[0] + l + "," + n + r[1]; else for (var c = e, u = 1; u < l; u++) e += c;
31203                        }
31204                        if (!0 === o) {
31205                            var f = e.match(new RegExp("(.)\\[([^\\]]*)\\]", "g"));
31206                            f && f.forEach((function(t, n) {
31207                                var i = function(e, t) {
31208                                    return function(e) {
31209                                        if (Array.isArray(e)) return e;
31210                                    }(e) || function(e, t) {
31211                                        var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
31212                                        if (null != n) {
31213                                            var i, a, r, o, l = [], s = !0, c = !1;
31214                                            try {
31215                                                if (r = (n = n.call(e)).next, 0 === t) {
31216                                                    if (Object(n) !== n) return;
31217                                                    s = !1;
31218                                                } else for (;!(s = (i = r.call(n)).done) && (l.push(i.value), l.length !== t); s = !0) ;
31219                                            } catch (e) {
31220                                                c = !0, a = e;
31221                                            } finally {
31222                                                try {
31223                                                    if (!s && null != n.return && (o = n.return(), Object(o) !== o)) return;
31224                                                } finally {
31225                                                    if (c) throw a;
31226                                                }
31227                                            }
31228                                            return l;
31229                                        }
31230                                    }(e, t) || function(e, t) {
31231                                        if (!e) return;
31232                                        if ("string" == typeof e) return s(e, t);
31233                                        var n = Object.prototype.toString.call(e).slice(8, -1);
31234                                        "Object" === n && e.constructor && (n = e.constructor.name);
31235                                        if ("Map" === n || "Set" === n) return Array.from(e);
31236                                        if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return s(e, t);
31237                                    }(e, t) || function() {
31238                                        throw new TypeError("Invalid attempt to de
vendor: 70,969 bytes, lines 31238-32257
31238structure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
31239                                    }();
31240                                }(t.split("["), 2), r = i[0], o = i[1];
31241                                o = o.replace("]", ""), e = e.replace(new RegExp("".concat((0, a.default)(r), "\\[").concat((0, 
31242                                a.default)(o), "\\]")), r.charAt(0) === o.charAt(0) ? "(".concat(r, "|").concat(r).concat(o, ")") : "".concat(r, "[").concat(o, "]"));
31243                            }));
31244                        }
31245                        return e;
31246                    }
31247                    function c(e, n, a) {
31248                        var s, c, u = !1;
31249                        return null !== e && "" !== e || ((u = null !== a.regex) ? e = (e = a.regex).replace(/^(\^)(.*)(\$)$/, "$2") : (u = !0, 
31250                        e = ".*")), 1 === e.length && !1 === a.greedy && 0 !== a.repeat && (a.placeholder = ""), 
31251                        e = o(e, a), c = u ? "regex_" + a.regex : a.numericInput ? e.split("").reverse().join("") : e, 
31252                        null !== a.keepStatic && (c = "ks_" + a.keepStatic + c), "object" === l(a.placeholder) && (c = "ph_" + JSON.stringify(a.placeholder) + c), 
31253                        void 0 === r.default.prototype.masksCache[c] || !0 === t ? (s = {
31254                            mask: e,
31255                            maskToken: r.default.prototype.analyseMask(e, u, a),
31256                            validPositions: [],
31257                            _buffer: void 0,
31258                            buffer: void 0,
31259                            tests: {},
31260                            excludes: {},
31261                            metadata: n,
31262                            maskLength: void 0,
31263                            jitOffset: {}
31264                        }, !0 !== t && (r.default.prototype.masksCache[c] = s, s = i.default.extend(!0, {}, r.default.prototype.masksCache[c]))) : s = i.default.extend(!0, {}, r.default.prototype.masksCache[c]), 
31265                        s;
31266                    }
31267                    "function" == typeof e.mask && (e.mask = e.mask(e));
31268                    if (Array.isArray(e.mask)) {
31269                        if (e.mask.length > 1) {
31270                            null === e.keepStatic && (e.keepStatic = !0);
31271                            var u = e.groupmarker[0];
31272                            return (e.isRTL ? e.mask.reverse() : e.mask).forEach((function(t) {
31273                                u.length > 1 && (u += e.alternatormarker), void 0 !== t.mask && "function" != typeof t.mask ? u += t.mask : u += t;
31274                            })), c(u += e.groupmarker[1], e.mask, e);
31275                        }
31276                        e.mask = e.mask.pop();
31277                    }
31278                    n = e.mask && void 0 !== e.mask.mask && "function" != typeof e.mask.mask ? c(e.mask.mask, e.mask, e) : c(e.mask, e.mask, e);
31279                    null === e.keepStatic && (e.keepStatic = !1);
31280                    return n;
31281                };
31282                var i = c(n(4963)), a = c(n(7184)), r = c(n(2394)), o = c(n(9695));
31283                function l(e) {
31284                    return l = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
31285                        return typeof e;
31286                    } : function(e) {
31287                        return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
31288                    }, l(e);
31289                }
31290                function s(e, t) {
31291                    (null == t || t > e.length) && (t = e.length);
31292                    for (var n = 0, i = new Array(t); n < t; n++) i[n] = e[n];
31293                    return i;
31294                }
31295                function c(e) {
31296                    return e && e.__esModule ? e : {
31297                        default: e
31298                    };
31299                }
31300            },
31301            157: function(e, t, n) {
31302                Object.defineProperty(t, "__esModule", {
31303                    value: !0
31304                }), t.mask = function() {
31305                    var e = this, t = this.opts, n = this.el, c = this.dependencyLib;
31306                    r.EventRuler.off(n);
31307                    var u = function(t, n) {
31308                        var i = t.getAttribute("type"), a = "input" === t.tagName.toLowerCase() && n.supportsInputType.includes(i) || t.isContentEditable || "textarea" === t.tagName.toLowerCase();
31309                        if (!a) if ("input" === t.tagName.toLowerCase()) {
31310                            var s = document.createElement("input");
31311                            s.setAttribute("type", i), a = "text" === s.type, s = null;
31312                        } else a = "partial";
31313                        return !1 !== a ? function(t) {
31314                            var i, a;
31315                            function s() {
31316                                return this.inputmask ? this.inputmask.opts.autoUnmask ? this.inputmask.unmaskedvalue() : -1 !== l.getLastValidPosition.call(e) || !0 !== n.nullable ? (this.inputmask.shadowRoot || this.ownerDocument).activeElement === this && n.clearMaskOnLostFocus ? (e.isRTL ? o.clearOptionalTail.call(e, l.getBuffer.call(e).slice()).reverse() : o.clearOptionalTail.call(e, l.getBuffer.call(e).slice())).join("") : i.call(this) : "" : i.call(this);
31317                            }
31318                            function u(e) {
31319                                a.call(this, e), this.inputmask && (0, o.applyInputValue)(this, e);
31320                            }
31321                            if (!t.inputmask.__valueGet) {
31322                                if (!0 !== n.noValuePatching) {
31323                                    if (Object.getOwnPropertyDescriptor) {
31324                                        var f = Object.getPrototypeOf ? Object.getOwnPropertyDescriptor(Object.getPrototypeOf(t), "value") : void 0;
31325                                        f && f.get && f.set ? (i = f.get, a = f.set, Object.defineProperty(t, "value", {
31326                                            get: s,
31327                                            set: u,
31328                                            configurable: !0
31329                                        })) : "input" !== t.tagName.toLowerCase() && (i = function() {
31330                                            return this.textContent;
31331                                        }, a = function(e) {
31332                                            this.textContent = e;
31333                                        }, Object.defineProperty(t, "value", {
31334                                            get: s,
31335                                            set: u,
31336                                            configurable: !0
31337                                        }));
31338                                    } else document.__lookupGetter__ && t.__lookupGetter__("value") && (i = t.__lookupGetter__("value"), 
31339                                    a = t.__lookupSetter__("value"), t.__defineGetter__("value", s), t.__defineSetter__("value", u));
31340                                    t.inputmask.__valueGet = i, t.inputmask.__valueSet = a;
31341                                }
31342                                t.inputmask._valueGet = function(t) {
31343                                    return e.isRTL && !0 !== t ? i.call(this.el).split("").reverse().join("") : i.call(this.el);
31344                                }, t.inputmask._valueSet = function(t, n) {
31345                                    a.call(this.el, null == t ? "" : !0 !== n && e.isRTL ? t.split("").reverse().join("") : t);
31346                                }, void 0 === i && (i = function() {
31347                                    return this.value;
31348                                }, a = function(e) {
31349                                    this.value = e;
31350                                }, function(t) {
31351                                    if (c.valHooks && (void 0 === c.valHooks[t] || !0 !== c.valHooks[t].inputmaskpatch)) {
31352                                        var i = c.valHooks[t] && c.valHooks[t].get ? c.valHooks[t].get : function(e) {
31353                                            return e.value;
31354                                        }, a = c.valHooks[t] && c.valHooks[t].set ? c.valHooks[t].set : function(e, t) {
31355                                            return e.value = t, e;
31356                                        };
31357                                        c.valHooks[t] = {
31358                                            get: function(t) {
31359                                                if (t.inputmask) {
31360                                                    if (t.inputmask.opts.autoUnmask) return t.inputmask.unmaskedvalue();
31361                                                    var a = i(t);
31362                                                    return -1 !== l.getLastValidPosition.call(e, void 0, void 0, t.inputmask.maskset.validPositions) || !0 !== n.nullable ? a : "";
31363                                                }
31364                                                return i(t);
31365                                            },
31366                                            set: function(e, t) {
31367                                                var n = a(e, t);
31368                                                return e.inputmask && (0, o.applyInputValue)(e, t), n;
31369                                            },
31370                                            inputmaskpatch: !0
31371                                        };
31372                                    }
31373                                }(t.type), function(e) {
31374                                    r.EventRuler.on(e, "mouseenter", (function() {
31375                                        var e = this, t = e.inputmask._valueGet(!0);
31376                                        t != (e.inputmask.isRTL ? l.getBuffer.call(e.inputmask).slice().reverse() : l.getBuffer.call(e.inputmask)).join("") && (0, 
31377                                        o.applyInputValue)(e, t);
31378                                    }));
31379                                }(t));
31380                            }
31381                        }(t) : t.inputmask = void 0, a;
31382                    }(n, t);
31383                    if (!1 !== u) {
31384                        e.originalPlaceholder = n.placeholder, e.maxLength = void 0 !== n ? n.maxLength : void 0, 
31385                        -1 === e.maxLength && (e.maxLength = void 0), "inputMode" in n && null === n.getAttribute("inputmode") && (n.inputMode = t.inputmode, 
31386                        n.setAttribute("inputmode", t.inputmode)), !0 === u && (t.showMaskOnFocus = t.showMaskOnFocus && -1 === [ "cc-number", "cc-exp" ].indexOf(n.autocomplete), 
31387                        i.iphone && (t.insertModeVisual = !1, n.setAttribute("autocorrect", "off")), r.EventRuler.on(n, "submit", a.EventHandlers.submitEvent), 
31388                        r.EventRuler.on(n, "reset", a.EventHandlers.resetEvent), r.EventRuler.on(n, "blur", a.EventHandlers.blurEvent), 
31389                        r.EventRuler.on(n, "focus", a.EventHandlers.focusEvent), r.EventRuler.on(n, "invalid", a.EventHandlers.invalidEvent), 
31390                        r.EventRuler.on(n, "click", a.EventHandlers.clickEvent), r.EventRuler.on(n, "mouseleave", a.EventHandlers.mouseleaveEvent), 
31391                        r.EventRuler.on(n, "mouseenter", a.EventHandlers.mouseenterEvent), r.EventRuler.on(n, "paste", a.EventHandlers.pasteEvent), 
31392                        r.EventRuler.on(n, "cut", a.EventHandlers.cutEvent), r.EventRuler.on(n, "complete", t.oncomplete), 
31393                        r.EventRuler.on(n, "incomplete", t.onincomplete), r.EventRuler.on(n, "cleared", t.oncleared), 
31394                        !0 !== t.inputEventOnly && r.EventRuler.on(n, "keydown", a.EventHandlers.keyEvent), 
31395                        (i.mobile || t.inputEventOnly) && n.removeAttribute("maxLength"), r.EventRuler.on(n, "input", a.EventHandlers.inputFallBackEvent)), 
31396                        r.EventRuler.on(n, "setvalue", a.EventHandlers.setValueEvent), void 0 === e.applyMaskHook || e.applyMaskHook(), 
31397                        l.getBufferTemplate.call(e).join(""), e.undoValue = e._valueGet(!0);
31398                        var f = (n.inputmask.shadowRoot || n.ownerDocument).activeElement;
31399                        if ("" !== n.inputmask._valueGet(!0) || !1 === t.clearMaskOnLostFocus || f === n) {
31400                            (0, o.applyInputValue)(n, n.inputmask._valueGet(!0), t);
31401                            var p = l.getBuffer.call(e).slice();
31402                            !1 === s.isComplete.call(e, p) && t.clearIncomplete && l.resetMaskSet.call(e, !1), 
31403                            t.clearMaskOnLostFocus && f !== n && (-1 === l.getLastValidPosition.call(e) ? p = [] : o.clearOptionalTail.call(e, p)), 
31404                            (!1 === t.clearMaskOnLostFocus || t.showMaskOnFocus && f === n || "" !== n.inputmask._valueGet(!0)) && (0, 
31405                            o.writeBuffer)(n, p), f === n && l.caret.call(e, n, l.seekNext.call(e, l.getLastValidPosition.call(e)));
31406                        }
31407                    }
31408                };
31409                var i = n(9845), a = n(6030), r = n(9716), o = n(7760), l = n(8711), s = n(7215);
31410            },
31411            9695: function(e, t) {
31412                Object.defineProperty(t, "__esModule", {
31413                    value: !0
31414                }), t.default = function(e, t, n, i) {
31415                    this.matches = [], this.openGroup = e || !1, this.alternatorGroup = !1, this.isGroup = e || !1, 
31416                    this.isOptional = t || !1, this.isQuantifier = n || !1, this.isAlternator = i || !1, 
31417                    this.quantifier = {
31418                        min: 1,
31419                        max: 1
31420                    };
31421                };
31422            },
31423            3194: function() {
31424                Array.prototype.includes || Object.defineProperty(Array.prototype, "includes", {
31425                    value: function(e, t) {
31426                        if (null == this) throw new TypeError('"this" is null or not defined');
31427                        var n = Object(this), i = n.length >>> 0;
31428                        if (0 === i) return !1;
31429                        for (var a = 0 | t, r = Math.max(a >= 0 ? a : i - Math.abs(a), 0); r < i; ) {
31430                            if (n[r] === e) return !0;
31431                            r++;
31432                        }
31433                        return !1;
31434                    }
31435                });
31436            },
31437            9302: function() {
31438                var e = Function.bind.call(Function.call, Array.prototype.reduce), t = Function.bind.call(Function.call, Object.prototype.propertyIsEnumerable), n = Function.bind.call(Function.call, Array.prototype.concat), i = Object.keys;
31439                Object.entries || (Object.entries = function(a) {
31440                    return e(i(a), (function(e, i) {
31441                        return n(e, "string" == typeof i && t(a, i) ? [ [ i, a[i] ] ] : []);
31442                    }), []);
31443                });
31444            },
31445            7149: function() {
31446                function e(t) {
31447                    return e = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
31448                        return typeof e;
31449                    } : function(e) {
31450                        return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
31451                    }, e(t);
31452                }
31453                "function" != typeof Object.getPrototypeOf && (Object.getPrototypeOf = "object" === e("test".__proto__) ? function(e) {
31454                    return e.__proto__;
31455                } : function(e) {
31456                    return e.constructor.prototype;
31457                });
31458            },
31459            4013: function() {
31460                String.prototype.includes || (String.prototype.includes = function(e, t) {
31461                    return "number" != typeof t && (t = 0), !(t + e.length > this.length) && -1 !== this.indexOf(e, t);
31462                });
31463            },
31464            8711: function(e, t, n) {
31465                Object.defineProperty(t, "__esModule", {
31466                    value: !0
31467                }), t.caret = function(e, t, n, i, r) {
31468                    var o, l = this, s = this.opts;
31469                    if (void 0 === t) return "selectionStart" in e && "selectionEnd" in e ? (t = e.selectionStart, 
31470                    n = e.selectionEnd) : a.default.getSelection ? (o = a.default.getSelection().getRangeAt(0)).commonAncestorContainer.parentNode !== e && o.commonAncestorContainer !== e || (t = o.startOffset, 
31471                    n = o.endOffset) : document.selection && document.selection.createRange && (n = (t = 0 - (o = document.selection.createRange()).duplicate().moveStart("character", -e.inputmask._valueGet().length)) + o.text.length), 
31472                    {
31473                        begin: i ? t : f.call(l, t),
31474                        end: i ? n : f.call(l, n)
31475                    };
31476                    if (Array.isArray(t) && (n = l.isRTL ? t[0] : t[1], t = l.isRTL ? t[1] : t[0]), 
31477                    void 0 !== t.begin && (n = l.isRTL ? t.begin : t.end, t = l.isRTL ? t.end : t.begin), 
31478                    "number" == typeof t) {
31479                        t = i ? t : f.call(l, t), n = "number" == typeof (n = i ? n : f.call(l, n)) ? n : t;
31480                        var c = parseInt(((e.ownerDocument.defaultView || a.default).getComputedStyle ? (e.ownerDocument.defaultView || a.default).getComputedStyle(e, null) : e.currentStyle).fontSize) * n;
31481                        if (e.scrollLeft = c > e.scrollWidth ? c : 0, e.inputmask.caretPos = {
31482                            begin: t,
31483                            end: n
31484                        }, s.insertModeVisual && !1 === s.insertMode && t === n && (r || n++), e === (e.inputmask.shadowRoot || e.ownerDocument).activeElement) {
31485                            if ("setSelectionRange" in e) e.setSelectionRange(t, n); else if (a.default.getSelection) {
31486                                if (o = document.createRange(), void 0 === e.firstChild || null === e.firstChild) {
31487                                    var u = document.createTextNode("");
31488                                    e.appendChild(u);
31489                                }
31490                                o.setStart(e.firstChild, t < e.inputmask._valueGet().length ? t : e.inputmask._valueGet().length), 
31491                                o.setEnd(e.firstChild, n < e.inputmask._valueGet().length ? n : e.inputmask._valueGet().length), 
31492                                o.collapse(!0);
31493                                var p = a.default.getSelection();
31494                                p.removeAllRanges(), p.addRange(o);
31495                            } else e.createTextRange && ((o = e.createTextRange()).collapse(!0), o.moveEnd("character", n), 
31496                            o.moveStart("character", t), o.select());
31497                            void 0 === e.inputmask.caretHook || e.inputmask.caretHook.call(l, {
31498                                begin: t,
31499                                end: n
31500                            });
31501                        }
31502                    }
31503                }, t.determineLastRequiredPosition = function(e) {
31504                    var t, n, i = this, a = i.maskset, l = i.dependencyLib, c = s.call(i), u = {}, f = a.validPositions[c], p = o.getMaskTemplate.call(i, !0, s.call(i), !0, !0), d = p.length, h = void 0 !== f ? f.locator.slice() : void 0;
31505                    for (t = c + 1; t < p.length; t++) h = (n = o.getTestTemplate.call(i, t, h, t - 1)).locator.slice(), 
31506                    u[t] = l.extend(!0, {}, n);
31507                    var v = f && void 0 !== f.alternation ? f.locator[f.alternation] : void 0;
31508                    for (t = d - 1; t > c && (((n = u[t]).match.optionality || n.match.optionalQuantifier && n.match.newBlockMarker || v && (v !== u[t].locator[f.alternation] && !0 !== n.match.static || !0 === n.match.static && n.locator[f.alternation] && r.checkAlternationMatch.call(i, n.locator[f.alternation].toString().split(","), v.toString().split(",")) && "" !== o.getTests.call(i, t)[0].def)) && p[t] === o.getPlaceholder.call(i, t, n.match)); t--) d--;
31509                    return e ? {
31510                        l: d,
31511                        def: u[d] ? u[d].match : void 0
31512                    } : d;
31513                }, t.determineNewCaretPosition = function(e, t, n) {
31514                    var i, a, r, f = this, p = f.maskset, d = f.opts;
31515                    t && (f.isRTL ? e.end = e.begin : e.begin = e.end);
31516                    if (e.begin === e.end) {
31517                        switch (n = n || d.positionCaretOnClick) {
31518                          case "none":
31519                            break;
31520
31521                          case "select":
31522                            e = {
31523                                begin: 0,
31524                                end: l.call(f).length
31525                            };
31526                            break;
31527
31528                          case "ignore":
31529                            e.end = e.begin = u.call(f, s.call(f));
31530                            break;
31531
31532                          case "radixFocus":
31533                            if (f.clicked > 1 && 0 === p.validPositions.length) break;
31534                            if (function(e) {
31535                                if ("" !== d.radixPoint && 0 !== d.digits) {
31536                                    var t = p.validPositions;
31537                                    if (void 0 === t[e] || void 0 === t[e].input) {
31538                                        if (e < u.call(f, -1)) return !0;
31539                                        var n = l.call(f).indexOf(d.radixPoint);
31540                                        if (-1 !== n) {
31541                                            for (var i = 0, a = t.length; i < a; i++) if (t[i] && n < i && t[i].input !== o.getPlaceholder.call(f, i)) return !1;
31542                                            return !0;
31543                                        }
31544                                    }
31545                                }
31546                                return !1;
31547                            }(e.begin)) {
31548                                var h = l.call(f).join("").indexOf(d.radixPoint);
31549                                e.end = e.begin = d.numericInput ? u.call(f, h) : h;
31550                                break;
31551                            }
31552
31553                          default:
31554                            if (i = e.begin, a = s.call(f, i, !0), i <= (r = u.call(f, -1 !== a || c.call(f, 0) ? a : -1))) e.end = e.begin = c.call(f, i, !1, !0) ? i : u.call(f, i); else {
31555                                var v = p.validPositions[a], m = o.getTestTemplate.call(f, r, v ? v.match.locator : void 0, v), g = o.getPlaceholder.call(f, r, m.match);
31556                                if ("" !== g && l.call(f)[r] !== g && !0 !== m.match.optionalQuantifier && !0 !== m.match.newBlockMarker || !c.call(f, r, d.keepStatic, !0) && m.match.def === g) {
31557                                    var y = u.call(f, r);
31558                                    (i >= y || i === r) && (r = y);
31559                                }
31560                                e.end = e.begin = r;
31561                            }
31562                        }
31563                        return e;
31564                    }
31565                }, t.getBuffer = l, t.getBufferTemplate = function() {
31566                    var e = this.maskset;
31567                    void 0 === e._buffer && (e._buffer = o.getMaskTemplate.call(this, !1, 1), void 0 === e.buffer && (e.buffer = e._buffer.slice()));
31568                    return e._buffer;
31569                }, t.getLastValidPosition = s, t.isMask = c, t.resetMaskSet = function(e) {
31570                    var t = this.maskset;
31571                    t.buffer = void 0, !0 !== e && (t.validPositions = [], t.p = 0);
31572                    !1 === e && (t.tests = {}, t.jitOffset = {});
31573                }, t.seekNext = u, t.seekPrevious = function(e, t) {
31574                    var n = this, i = e - 1;
31575                    if (e <= 0) return 0;
31576                    for (;i > 0 && (!0 === t && (!0 !== o.getTest.call(n, i).match.newBlockMarker || !c.call(n, i, void 0, !0)) || !0 !== t && !c.call(n, i, void 0, !0)); ) i--;
31577                    return i;
31578                }, t.translatePosition = f;
31579                var i, a = (i = n(9380)) && i.__esModule ? i : {
31580                    default: i
31581                }, r = n(7215), o = n(4713);
31582                function l(e) {
31583                    var t = this, n = t.maskset;
31584                    return void 0 !== n.buffer && !0 !== e || (n.buffer = o.getMaskTemplate.call(t, !0, s.call(t), !0), 
31585                    void 0 === n._buffer && (n._buffer = n.buffer.slice())), n.buffer;
31586                }
31587                function s(e, t, n) {
31588                    var i = this.maskset, a = -1, r = -1, o = n || i.validPositions;
31589                    void 0 === e && (e = -1);
31590                    for (var l = 0, s = o.length; l < s; l++) o[l] && (t || !0 !== o[l].generatedInput) && (l <= e && (a = l), 
31591                    l >= e && (r = l));
31592                    return -1 === a || a === e ? r : -1 === r || e - a < r - e ? a : r;
31593                }
31594                function c(e, t, n) {
31595                    var i = this, a = this.maskset, r = o.getTestTemplate.call(i, e).match;
31596                    if ("" === r.def && (r = o.getTest.call(i, e).match), !0 !== r.static) return r.fn;
31597                    if (!0 === n && void 0 !== a.validPositions[e] && !0 !== a.validPositions[e].generatedInput) return !0;
31598                    if (!0 !== t && e > -1) {
31599                        if (n) {
31600                            var l = o.getTests.call(i, e);
31601                            return l.length > 1 + ("" === l[l.length - 1].match.def ? 1 : 0);
31602                        }
31603                        var s = o.determineTestTemplate.call(i, e, o.getTests.call(i, e)), c = o.getPlaceholder.call(i, e, s.match);
31604                        return s.match.def !== c;
31605                    }
31606                    return !1;
31607                }
31608                function u(e, t, n) {
31609                    var i = this;
31610                    void 0 === n && (n = !0);
31611                    for (var a = e + 1; "" !== o.getTest.call(i, a).match.def && (!0 === t && (!0 !== o.getTest.call(i, a).match.newBlockMarker || !c.call(i, a, void 0, !0)) || !0 !== t && !c.call(i, a, void 0, n)); ) a++;
31612                    return a;
31613                }
31614                function f(e) {
31615                    var t = this.opts, n = this.el;
31616                    return !this.isRTL || "number" != typeof e || t.greedy && "" === t.placeholder || !n || (e = this._valueGet().length - e) < 0 && (e = 0), 
31617                    e;
31618                }
31619            },
31620            4713: function(e, t, n) {
31621                Object.defineProperty(t, "__esModule", {
31622                    value: !0
31623                }), t.determineTestTemplate = f, t.getDecisionTaker = s, t.getMaskTemplate = function(e, t, n, i, a) {
31624                    var r = this, o = this.opts, l = this.maskset, s = o.greedy;
31625                    a && o.greedy && (o.greedy = !1, r.maskset.tests = {});
31626                    t = t || 0;
31627                    var p, d, v, m, g = [], y = 0;
31628                    do {
31629                        if (!0 === e && l.validPositions[y]) d = (v = a && l.validPositions[y].match.optionality && void 0 === l.validPositions[y + 1] && (!0 === l.validPositions[y].generatedInput || l.validPositions[y].input == o.skipOptionalPartCharacter && y > 0) ? f.call(r, y, h.call(r, y, p, y - 1)) : l.validPositions[y]).match, 
31630                        p = v.locator.slice(), g.push(!0 === n ? v.input : !1 === n ? d.nativeDef : c.call(r, y, d)); else {
31631                            d = (v = u.call(r, y, p, y - 1)).match, p = v.locator.slice();
31632                            var k = !0 !== i && (!1 !== o.jitMasking ? o.jitMasking : d.jit);
31633                            (m = (m || l.validPositions[y - 1]) && d.static && d.def !== o.groupSeparator && null === d.fn) || !1 === k || void 0 === k || "number" == typeof k && isFinite(k) && k > y ? g.push(!1 === n ? d.nativeDef : c.call(r, g.length, d)) : m = !1;
31634                        }
31635                        y++;
31636                    } while (!0 !== d.static || "" !== d.def || t > y);
31637                    "" === g[g.length - 1] && g.pop();
31638                    !1 === n && void 0 !== l.maskLength || (l.maskLength = y - 1);
31639                    return o.greedy = s, g;
31640                }, t.getPlaceholder = c, t.getTest = p, t.getTestTemplate = u, t.getTests = h, t.isSubsetOf = d;
31641                var i, a = (i = n(2394)) && i.__esModule ? i : {
31642                    default: i
31643                }, r = n(8711);
31644                function o(e) {
31645                    return o = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
31646                        return typeof e;
31647                    } : function(e) {
31648                        return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
31649                    }, o(e);
31650                }
31651                function l(e, t) {
31652                    var n = (null != e.alternation ? e.mloc[s(e)] : e.locator).join("");
31653                    if ("" !== n) for (n = n.split(":")[0]; n.length < t; ) n += "0";
31654                    return n;
31655                }
31656                function s(e) {
31657                    var t = e.locator[e.alternation];
31658                    return "string" == typeof t && t.length > 0 && (t = t.split(",")[0]), void 0 !== t ? t.toString() : "";
31659                }
31660                function c(e, t, n) {
31661                    var i = this, a = this.opts, l = this.maskset;
31662                    if (void 0 !== (t = t || p.call(i, e).match).placeholder || !0 === n) {
31663                        if ("" !== t.placeholder && !0 === t.static && !0 !== t.generated) {
31664                            var s = r.getLastValidPosition.call(i, e), c = r.seekNext.call(i, s);
31665                            return (n ? e <= c : e < c) ? a.staticDefinitionSymbol && t.static ? t.nativeDef : t.def : "function" == typeof t.placeholder ? t.placeholder(a) : t.placeholder;
31666                        }
31667                        return "function" == typeof t.placeholder ? t.placeholder(a) : t.placeholder;
31668                    }
31669                    if (!0 === t.static) {
31670                        if (e > -1 && void 0 === l.validPositions[e]) {
31671                            var u, f = h.call(i, e), d = [];
31672                            if ("string" == typeof a.placeholder && f.length > 1 + ("" === f[f.length - 1].match.def ? 1 : 0)) for (var v = 0; v < f.length; v++) if ("" !== f[v].match.def && !0 !== f[v].match.optionality && !0 !== f[v].match.optionalQuantifier && (!0 === f[v].match.static || void 0 === u || !1 !== f[v].match.fn.test(u.match.def, l, e, !0, a)) && (d.push(f[v]), 
31673                            !0 === f[v].match.static && (u = f[v]), d.length > 1 && /[0-9a-bA-Z]/.test(d[0].match.def))) return a.placeholder.charAt(e % a.placeholder.length);
31674                        }
31675                        return t.def;
31676                    }
31677                    return "object" === o(a.placeholder) ? t.def : a.placeholder.charAt(e % a.placeholder.length);
31678                }
31679                function u(e, t, n) {
31680                    return this.maskset.validPositions[e] || f.call(this, e, h.call(this, e, t ? t.slice() : t, n));
31681                }
31682                function f(e, t) {
31683                    var n = this.opts, i = 0, a = function(e, t) {
31684                        var n = 0, i = !1;
31685                        t.forEach((function(e) {
31686                            e.match.optionality && (0 !== n && n !== e.match.optionality && (i = !0), (0 === n || n > e.match.optionality) && (n = e.match.optionality));
31687                        })), n && (0 == e || 1 == t.length ? n = 0 : i || (n = 0));
31688                        return n;
31689                    }(e, t);
31690                    e = e > 0 ? e - 1 : 0;
31691                    var r, o, s, c = l(p.call(this, e));
31692                    n.greedy && t.length > 1 && "" === t[t.length - 1].match.def && (i = 1);
31693                    for (var u = 0; u < t.length - i; u++) {
31694                        var f = t[u];
31695                        r = l(f, c.length);
31696                        var d = Math.abs(r - c);
31697                        (!0 !== f.unMatchedAlternationStopped || t.filter((function(e) {
31698                            return !0 !== e.unMatchedAlternationStopped;
31699                        })).length <= 1) && (void 0 === o || "" !== r && d < o || s && !n.greedy && s.match.optionality && s.match.optionality - a > 0 && "master" === s.match.newBlockMarker && (!f.match.optionality || f.match.optionality - a < 1 || !f.match.newBlockMarker) || s && !n.greedy && s.match.optionalQuantifier && !f.match.optionalQuantifier) && (o = d, 
31700                        s = f);
31701                    }
31702                    return s;
31703                }
31704                function p(e, t) {
31705                    var n = this.maskset;
31706                    return n.validPositions[e] ? n.validPositions[e] : (t || h.call(this, e))[0];
31707                }
31708                function d(e, t, n) {
31709                    function i(e) {
31710                        for (var t, n = [], i = -1, a = 0, r = e.length; a < r; a++) if ("-" === e.charAt(a)) for (t = e.charCodeAt(a + 1); ++i < t; ) n.push(String.fromCharCode(i)); else i = e.charCodeAt(a), 
31711                        n.push(e.charAt(a));
31712                        return n.join("");
31713                    }
31714                    return e.match.def === t.match.nativeDef || !(!(n.regex || e.match.fn instanceof RegExp && t.match.fn instanceof RegExp) || !0 === e.match.static || !0 === t.match.static) && ("." === t.match.fn.source || -1 !== i(t.match.fn.source.replace(/[[\]/]/g, "")).indexOf(i(e.match.fn.source.replace(/[[\]/]/g, ""))));
31715                }
31716                function h(e, t, n) {
31717                    var i, r, o = this, l = this.dependencyLib, s = this.maskset, c = this.opts, u = this.el, p = s.maskToken, h = t ? n : 0, v = t ? t.slice() : [ 0 ], m = [], g = !1, y = t ? t.join("") : "", k = !1;
31718                    function b(t, n, r, l) {
31719                        function f(r, l, p) {
31720                            function v(e, t) {
31721                                var n = 0 === t.matches.indexOf(e);
31722                                return n || t.matches.every((function(i, a) {
31723                                    return !0 === i.isQuantifier ? n = v(e, t.matches[a - 1]) : Object.prototype.hasOwnProperty.call(i, "matches") && (n = v(e, i)), 
31724                                    !n;
31725                                })), n;
31726                            }
31727                            function w(e, t, n) {
31728                                var i, a;
31729                                if ((s.tests[e] || s.validPositions[e]) && (s.validPositions[e] ? [ s.validPositions[e] ] : s.tests[e]).every((function(e, r) {
31730                                    if (e.mloc[t]) return i = e, !1;
31731                                    var o = void 0 !== n ? n : e.alternation, l = void 0 !== e.locator[o] ? e.locator[o].toString().indexOf(t) : -1;
31732                                    return (void 0 === a || l < a) && -1 !== l && (i = e, a = l), !0;
31733                                })), i) {
31734                                    var r = i.locator[i.alternation], o = i.mloc[t] || i.mloc[r] || i.locator;
31735                                    if (-1 !== o[o.length - 1].toString().indexOf(":")) o.pop();
31736                                    return o.slice((void 0 !== n ? n : i.alternation) + 1);
31737                                }
31738                                return void 0 !== n ? w(e, t) : void 0;
31739                            }
31740                            function P(t, n) {
31741                                return !0 === t.match.static && !0 !== n.match.static && n.match.fn.test(t.match.def, s, e, !1, c, !1);
31742                            }
31743                            function S(e, t) {
31744                                var n = e.alternation, i = void 0 === t || n <= t.alternation && -1 === e.locator[n].toString().indexOf(t.locator[n]);
31745                                if (!i && n > t.alternation) for (var a = 0; a < n; a++) if (e.locator[a] !== t.locator[a]) {
31746                                    n = a, i = !0;
31747                                    break;
31748                                }
31749                                return !!i && function(n) {
31750                                    e.mloc = e.mloc || {};
31751                                    var i = e.locator[n];
31752                                    if (void 0 !== i) {
31753                                        if ("string" == typeof i && (i = i.split(",")[0]), void 0 === e.mloc[i] && (e.mloc[i] = e.locator.slice(), 
31754                                        e.mloc[i].push(":".concat(e.alternation))), void 0 !== t) {
31755                                            for (var a in t.mloc) "string" == typeof a && (a = parseInt(a.split(",")[0])), e.mloc[a + 0] = t.mloc[a];
31756                                            e.locator[n] = Object.keys(e.mloc).join(",");
31757                                        }
31758                                        return e.alternation > n && (e.alternation = n), !0;
31759                                    }
31760                                    return e.alternation = void 0, !1;
31761                                }(n);
31762                            }
31763                            function O(e, t) {
31764                                if (e.locator.length !== t.locator.length) return !1;
31765                                for (var n = e.alternation + 1; n < e.locator.length; n++) if (e.locator[n] !== t.locator[n]) return !1;
31766                                return !0;
31767                            }
31768                            if (h > e + c._maxTestPos) throw new Error("Inputmask: There is probably an error in your mask definition or in the code. Create an issue on github with an example of the mask you are using. ".concat(s.mask));
31769                            if (h === e && void 0 === r.matches) {
31770                                if (m.push({
31771                                    match: r,
31772                                    locator: l.reverse(),
31773                                    cd: y,
31774                                    mloc: {}
31775                                }), !r.optionality || void 0 !== p || !(c.definitions && c.definitions[r.nativeDef] && c.definitions[r.nativeDef].optional || a.default.prototype.definitions[r.nativeDef] && a.default.prototype.definitions[r.nativeDef].optional)) return !0;
31776                                g = !0, h = e;
31777                            } else if (void 0 !== r.matches) {
31778                                if (r.isGroup && p !== r) return function() {
31779                                    if (r = f(t.matches[t.matches.indexOf(r) + 1], l, p)) return !0;
31780                                }();
31781                                if (r.isOptional) return function() {
31782                                    var t = r, a = m.length;
31783                                    if (r = b(r, n, l, p), m.length > 0) {
31784                                        if (m.forEach((function(e, t) {
31785                                            t >= a && (e.match.optionality = e.match.optionality ? e.match.optionality + 1 : 1);
31786                                        })), i = m[m.length - 1].match, void 0 !== p || !v(i, t)) return r;
31787                                        g = !0, h = e;
31788                                    }
31789                                }();
31790                                if (r.isAlternator) return function() {
31791                                    function i(e) {
31792                                        for (var t, n = e.matches[0].matches ? e.matches[0].matches.length : 1, i = 0; i < e.matches.length && n === (t = e.matches[i].matches ? e.matches[i].matches.length : 1); i++) ;
31793                                        return n !== t;
31794                                    }
31795                                    o.hasAlternator = !0;
31796                                    var a, v = r, y = [], b = m.slice(), x = l.length, _ = n.length > 0 ? n.shift() : -1;
31797                                    if (-1 === _ || "string" == typeof _) {
31798                                        var M, E = h, j = n.slice(), T = [];
31799                                        if ("string" == typeof _) T = _.split(","); else for (M = 0; M < v.matches.length; M++) T.push(M.toString());
31800                                        if (void 0 !== s.excludes[e]) {
31801                                            for (var A = T.slice(), D = 0, L = s.excludes[e].length; D < L; D++) {
31802                                                var C = s.excludes[e][D].toString().split(":");
31803                                                l.length == C[1] && T.splice(T.indexOf(C[0]), 1);
31804                                            }
31805                                            0 === T.length && (delete s.excludes[e], T = A);
31806                                        }
31807                                        (!0 === c.keepStatic || isFinite(parseInt(c.keepStatic)) && E >= c.keepStatic) && (T = T.slice(0, 1));
31808                                        for (var B = 0; B < T.length; B++) {
31809                                            M = parseInt(T[B]), m = [], n = "string" == typeof _ && w(h, M, x) || j.slice();
31810                                            var I = v.matches[M];
31811                                            if (I && f(I, [ M ].concat(l), p)) r = !0; else if (0 === B && (k = i(v)), I && I.matches && I.matches.length > v.matches[0].matches.length) break;
31812                                            a = m.slice(), h = E, m = [];
31813                                            for (var R = 0; R < a.length; R++) {
31814                                                var F = a[R], N = !1;
31815                                                F.alternation = F.alternation || x, S(F);
31816                                                for (var V = 0; V < y.length; V++) {
31817                                                    var G = y[V];
31818                                                    if ("string" != typeof _ || void 0 !== F.alternation && T.includes(F.locator[F.alternation].toString())) {
31819                                                        if (F.match.nativeDef === G.match.nativeDef) {
31820                                                            N = !0, S(G, F);
31821                                                            break;
31822                                                        }
31823                                                        if (d(F, G, c)) {
31824                                                            S(F, G) && (N = !0, y.splice(y.indexOf(G), 0, F));
31825                                                            break;
31826                                                        }
31827                                                        if (d(G, F, c)) {
31828                                                            S(G, F);
31829                                                            break;
31830                                                        }
31831                                                        if (P(F, G)) {
31832                                                            O(F, G) || void 0 !== u.inputmask.userOptions.keepStatic ? S(F, G) && (N = !0, y.splice(y.indexOf(G), 0, F)) : c.keepStatic = !0;
31833                                                            break;
31834                                                        }
31835                                                        if (P(G, F)) {
31836                                                            S(G, F);
31837                                                            break;
31838                                                        }
31839                                                    }
31840                                                }
31841                                                N || y.push(F);
31842                                            }
31843                                        }
31844                                        m = b.concat(y), h = e, g = m.length > 0 && k, r = y.length > 0 && !k, k && g && !r && m.forEach((function(e, t) {
31845                                            e.unMatchedAlternationStopped = !0;
31846                                        })), n = j.slice();
31847                                    } else r = f(v.matches[_] || t.matches[_], [ _ ].concat(l), p);
31848                                    if (r) return !0;
31849                                }();
31850                                if (r.isQuantifier && p !== t.matches[t.matches.indexOf(r) - 1]) return function() {
31851                                    for (var a = r, o = !1, u = n.length > 0 ? n.shift() : 0; u < (isNaN(a.quantifier.max) ? u + 1 : a.quantifier.max) && h <= e; u++) {
31852                                        var p = t.matches[t.matches.indexOf(a) - 1];
31853                                        if (r = f(p, [ u ].concat(l), p)) {
31854                                            if (m.forEach((function(t, n) {
31855                                                (i = x(p, t.match) ? t.match : m[m.length - 1].match).optionalQuantifier = u >= a.quantifier.min, 
31856                                                i.jit = (u + 1) * (p.matches.indexOf(i) + 1) > a.quantifier.jit, i.optionalQuantifier && v(i, p) && (g = !0, 
31857                                                h = e, c.greedy && null == s.validPositions[e - 1] && u > a.quantifier.min && -1 != [ "*", "+" ].indexOf(a.quantifier.max) && (m.pop(), 
31858                                                y = void 0), o = !0, r = !1), !o && i.jit && (s.jitOffset[e] = p.matches.length - p.matches.indexOf(i));
31859                                            })), o) break;
31860                                            return !0;
31861                                        }
31862                                    }
31863                                }();
31864                                if (r = b(r, n, l, p)) return !0;
31865                            } else h++;
31866                        }
31867                        for (var p = n.length > 0 ? n.shift() : 0; p < t.matches.length; p++) if (!0 !== t.matches[p].isQuantifier) {
31868                            var v = f(t.matches[p], [ p ].concat(r), l);
31869                            if (v && h === e) return v;
31870                            if (h > e) break;
31871                        }
31872                    }
31873                    function x(e, t) {
31874                        var n = -1 != e.matches.indexOf(t);
31875                        return n || e.matches.forEach((function(e, i) {
31876                            void 0 === e.matches || n || (n = x(e, t));
31877                        })), n;
31878                    }
31879                    if (e > -1) {
31880                        if (void 0 === t) {
31881                            for (var w, P = e - 1; void 0 === (w = s.validPositions[P] || s.tests[P]) && P > -1; ) P--;
31882                            void 0 !== w && P > -1 && (v = function(e, t) {
31883                                var n, i = [];
31884                                return Array.isArray(t) || (t = [ t ]), t.length > 0 && (void 0 === t[0].alternation || !0 === c.keepStatic ? 0 === (i = f.call(o, e, t.slice()).locator.slice()).length && (i = t[0].locator.slice()) : t.forEach((function(e) {
31885                                    "" !== e.def && (0 === i.length ? (n = e.alternation, i = e.locator.slice()) : e.locator[n] && -1 === i[n].toString().indexOf(e.locator[n]) && (i[n] += "," + e.locator[n]));
31886                                }))), i;
31887                            }(P, w), y = v.join(""), h = P);
31888                        }
31889                        if (s.tests[e] && s.tests[e][0].cd === y) return s.tests[e];
31890                        for (var S = v.shift(); S < p.length; S++) {
31891                            if (b(p[S], v, [ S ]) && h === e || h > e) break;
31892                        }
31893                    }
31894                    return (0 === m.length || g) && m.push({
31895                        match: {
31896                            fn: null,
31897                            static: !0,
31898                            optionality: !1,
31899                            casing: null,
31900                            def: "",
31901                            placeholder: ""
31902                        },
31903                        locator: k && 0 === m.filter((function(e) {
31904                            return !0 !== e.unMatchedAlternationStopped;
31905                        })).length ? [ 0 ] : [],
31906                        mloc: {},
31907                        cd: y
31908                    }), void 0 !== t && s.tests[e] ? r = l.extend(!0, [], m) : (s.tests[e] = l.extend(!0, [], m), 
31909                    r = s.tests[e]), m.forEach((function(e) {
31910                        e.match.optionality = e.match.defOptionality || !1;
31911                    })), r;
31912                }
31913            },
31914            7215: function(e, t, n) {
31915                Object.defineProperty(t, "__esModule", {
31916                    value: !0
31917                }), t.alternate = l, t.checkAlternationMatch = function(e, t, n) {
31918                    for (var i, a = this.opts.greedy ? t : t.slice(0, 1), r = !1, o = void 0 !== n ? n.split(",") : [], l = 0; l < o.length; l++) -1 !== (i = e.indexOf(o[l])) && e.splice(i, 1);
31919                    for (var s = 0; s < e.length; s++) if (a.includes(e[s])) {
31920                        r = !0;
31921                        break;
31922                    }
31923                    return r;
31924                }, t.handleRemove = function(e, t, n, i, s) {
31925                    var c = this, u = this.maskset, f = this.opts;
31926                    if ((f.numericInput || c.isRTL) && (t === a.keys.Backspace ? t = a.keys.Delete : t === a.keys.Delete && (t = a.keys.Backspace), 
31927                    c.isRTL)) {
31928                        var p = n.end;
31929                        n.end = n.begin, n.begin = p;
31930                    }
31931                    var d, h = r.getLastValidPosition.call(c, void 0, !0);
31932                    n.end >= r.getBuffer.call(c).length && h >= n.end && (n.end = h + 1);
31933                    t === a.keys.Backspace ? n.end - n.begin < 1 && (n.begin = r.seekPrevious.call(c, n.begin)) : t === a.keys.Delete && n.begin === n.end && (n.end = r.isMask.call(c, n.end, !0, !0) ? n.end + 1 : r.seekNext.call(c, n.end) + 1);
31934                    !1 !== (d = v.call(c, n)) && ((!0 !== i && !1 !== f.keepStatic || null !== f.regex && -1 !== o.getTest.call(c, n.begin).match.def.indexOf("|")) && l.call(c, !0), 
31935                    !0 !== i && (u.p = t === a.keys.Delete ? n.begin + d : n.begin, u.p = r.determineNewCaretPosition.call(c, {
31936                        begin: u.p,
31937                        end: u.p
31938                    }, !1, !1 === f.insertMode && t === a.keys.Backspace ? "none" : void 0).begin));
31939                }, t.isComplete = c, t.isSelection = u, t.isValid = f, t.refreshFromBuffer = d, 
31940                t.revalidateMask = v;
31941                var i = n(6030), a = n(2839), r = n(8711), o = n(4713);
31942                function l(e, t, n, i, a, s) {
31943                    var c = this, u = this.dependencyLib, p = this.opts, d = c.maskset;
31944                    if (!c.hasAlternator) return !1;
31945                    var h, v, m, g, y, k, b, x, w, P, S, O = u.extend(!0, [], d.validPositions), _ = u.extend(!0, {}, d.tests), M = !1, E = !1, j = void 0 !== a ? a : r.getLastValidPosition.call(c);
31946                    if (s && (P = s.begin, S = s.end, s.begin > s.end && (P = s.end, S = s.begin)), 
31947                    -1 === j && void 0 === a) h = 0, v = (g = o.getTest.call(c, h)).alternation; else for (;j >= 0; j--) if ((m = d.validPositions[j]) && void 0 !== m.alternation) {
31948                        if (j <= (e || 0) && g && g.locator[m.alternation] !== m.locator[m.alternation]) break;
31949                        h = j, v = d.validPositions[h].alternation, g = m;
31950                    }
31951                    if (void 0 !== v) {
31952                        b = parseInt(h), d.excludes[b] = d.excludes[b] || [], !0 !== e && d.excludes[b].push((0, 
31953                        o.getDecisionTaker)(g) + ":" + g.alternation);
31954                        var T = [], A = -1;
31955                        for (y = b; b < r.getLastValidPosition.call(c, void 0, !0) + 1; y++) -1 === A && e <= y && void 0 !== t && (T.push(t), 
31956                        A = T.length - 1), (k = d.validPositions[b]) && !0 !== k.generatedInput && (void 0 === s || y < P || y >= S) && T.push(k.input), 
31957                        d.validPositions.splice(b, 1);
31958                        for (-1 === A && void 0 !== t && (T.push(t), A = T.length - 1); void 0 !== d.excludes[b] && d.excludes[b].length < 10; ) {
31959                            for (d.tests = {}, r.resetMaskSet.call(c, !0), M = !0, y = 0; y < T.length && (x = M.caret || 0 == p.insertMode && null != x ? r.seekNext.call(c, x) : r.getLastValidPosition.call(c, void 0, !0) + 1, 
31960                            w = T[y], M = f.call(c, x, w, !1, i, !0)); y++) y === A && (E = M), 1 == e && M && (E = {
31961                                caretPos: y
31962                            });
31963                            if (M) break;
31964                            if (r.resetMaskSet.call(c), g = o.getTest.call(c, b), d.validPositions = u.extend(!0, [], O), 
31965                            d.tests = u.extend(!0, {}, _), !d.excludes[b]) {
31966                                E = l.call(c, e, t, n, i, b - 1, s);
31967                                break;
31968                            }
31969                            if (null != g.alternation) {
31970                                var D = (0, o.getDecisionTaker)(g);
31971                                if (-1 !== d.excludes[b].indexOf(D + ":" + g.alternation)) {
31972                                    E = l.call(c, e, t, n, i, b - 1, s);
31973                                    break;
31974                                }
31975                                for (d.excludes[b].push(D + ":" + g.alternation), y = b; y < r.getLastValidPosition.call(c, void 0, !0) + 1; y++) d.validPositions.splice(b);
31976                            } else delete d.excludes[b];
31977                        }
31978                    }
31979                    return E && !1 === p.keepStatic || delete d.excludes[b], E;
31980                }
31981                function s(e, t, n) {
31982                    var i = this.opts, r = this.maskset;
31983                    switch (i.casing || t.casing) {
31984                      case "upper":
31985                        e = e.toUpperCase();
31986                        break;
31987
31988                      case "lower":
31989                        e = e.toLowerCase();
31990                        break;
31991
31992                      case "title":
31993                        var o = r.validPositions[n - 1];
31994                        e = 0 === n || o && o.input === String.fromCharCode(a.keyCode.Space) ? e.toUpperCase() : e.toLowerCase();
31995                        break;
31996
31997                      default:
31998                        if ("function" == typeof i.casing) {
31999                            var l = Array.prototype.slice.call(arguments);
32000                            l.push(r.validPositions), e = i.casing.apply(this, l);
32001                        }
32002                    }
32003                    return e;
32004                }
32005                function c(e) {
32006                    var t = this, n = this.opts, i = this.maskset;
32007                    if ("function" == typeof n.isComplete) return n.isComplete(e, n);
32008                    if ("*" !== n.repeat) {
32009                        var a = !1, l = r.determineLastRequiredPosition.call(t, !0), s = l.l;
32010                        if (void 0 === l.def || l.def.newBlockMarker || l.def.optionality || l.def.optionalQuantifier) {
32011                            a = !0;
32012                            for (var c = 0; c <= s; c++) {
32013                                var u = o.getTestTemplate.call(t, c).match;
32014                                if (!0 !== u.static && void 0 === i.validPositions[c] && (!1 === u.optionality || void 0 === u.optionality || u.optionality && 0 == u.newBlockMarker) && (!1 === u.optionalQuantifier || void 0 === u.optionalQuantifier) || !0 === u.static && "" != u.def && e[c] !== o.getPlaceholder.call(t, c, u)) {
32015                                    a = !1;
32016                                    break;
32017                                }
32018                            }
32019                        }
32020                        return a;
32021                    }
32022                }
32023                function u(e) {
32024                    var t = this.opts.insertMode ? 0 : 1;
32025                    return this.isRTL ? e.begin - e.end > t : e.end - e.begin > t;
32026                }
32027                function f(e, t, n, i, a, p, m) {
32028                    var g = this, y = this.dependencyLib, k = this.opts, b = g.maskset;
32029                    n = !0 === n;
32030                    var x = e;
32031                    function w(e) {
32032                        if (void 0 !== e) {
32033                            if (void 0 !== e.remove && (Array.isArray(e.remove) || (e.remove = [ e.remove ]), 
32034                            e.remove.sort((function(e, t) {
32035                                return g.isRTL ? e.pos - t.pos : t.pos - e.pos;
32036                            })).forEach((function(e) {
32037                                v.call(g, {
32038                                    begin: e,
32039                                    end: e + 1
32040                                });
32041                            })), e.remove = void 0), void 0 !== e.insert && (Array.isArray(e.insert) || (e.insert = [ e.insert ]), 
32042                            e.insert.sort((function(e, t) {
32043                                return g.isRTL ? t.pos - e.pos : e.pos - t.pos;
32044                            })).forEach((function(e) {
32045                                "" !== e.c && f.call(g, e.pos, e.c, void 0 === e.strict || e.strict, void 0 !== e.fromIsValid ? e.fromIsValid : i);
32046                            })), e.insert = void 0), e.refreshFromBuffer && e.buffer) {
32047                                var t = e.refreshFromBuffer;
32048                                d.call(g, !0 === t ? t : t.start, t.end, e.buffer), e.refreshFromBuffer = void 0;
32049                            }
32050                            void 0 !== e.rewritePosition && (x = e.rewritePosition, e = !0);
32051                        }
32052                        return e;
32053                    }
32054                    function P(t, n, a) {
32055                        var l = !1;
32056                        return o.getTests.call(g, t).every((function(c, f) {
32057                            var p = c.match;
32058                            if (r.getBuffer.call(g, !0), !1 !== (l = (!p.jit || void 0 !== b.validPositions[r.seekPrevious.call(g, t)]) && (null != p.fn ? p.fn.test(n, b, t, a, k, u.call(g, e)) : (n === p.def || n === k.skipOptionalPartCharacter) && "" !== p.def && {
32059                                c: o.getPlaceholder.call(g, t, p, !0) || p.def,
32060                                pos: t
32061                            }))) {
32062                                var d = void 0 !== l.c ? l.c : n, h = t;
32063                                return d = d === k.skipOptionalPartCharacter && !0 === p.static ? o.getPlaceholder.call(g, t, p, !0) || p.def : d, 
32064                                !0 !== (l = w(l)) && void 0 !== l.pos && l.pos !== t && (h = l.pos), !0 !== l && void 0 === l.pos && void 0 === l.c ? !1 : (!1 === v.call(g, e, y.extend({}, c, {
32065                                    input: s.call(g, d, p, h)
32066                                }), i, h) && (l = !1), !1);
32067                            }
32068                            return !0;
32069                        })), l;
32070                    }
32071                    void 0 !== e.begin && (x = g.isRTL ? e.end : e.begin);
32072                    var S = !0, O = y.extend(!0, [], b.validPositions);
32073                    if (!1 === k.keepStatic && void 0 !== b.excludes[x] && !0 !== a && !0 !== i) for (var _ = x; _ < (g.isRTL ? e.begin : e.end); _++) void 0 !== b.excludes[_] && (b.excludes[_] = void 0, 
32074                    delete b.tests[_]);
32075                    if ("function" == typeof k.preValidation && !0 !== i && !0 !== p && (S = w(S = k.preValidation.call(g, r.getBuffer.call(g), x, t, u.call(g, e), k, b, e, n || a))), 
32076                    !0 === S) {
32077                        if (S = P(x, t, n), (!n || !0 === i) && !1 === S && !0 !== p) {
32078                            var M = b.validPositions[x];
32079                            if (!M || !0 !== M.match.static || M.match.def !== t && t !== k.skipOptionalPartCharacter) {
32080                                if (k.insertMode || void 0 === b.validPositions[r.seekNext.call(g, x)] || e.end > x) {
32081                                    var E = !1;
32082                                    if (b.jitOffset[x] && void 0 === b.validPositions[r.seekNext.call(g, x)] && !1 !== (S = f.call(g, x + b.jitOffset[x], t, !0, !0)) && (!0 !== a && (S.caret = x), 
32083                                    E = !0), e.end > x && (b.validPositions[x] = void 0), !E && !r.isMask.call(g, x, k.keepStatic && 0 === x)) for (var j = x + 1, T = r.seekNext.call(g, x, !1, 0 !== x); j <= T; j++) if (!1 !== (S = P(j, t, n))) {
32084                                        S = h.call(g, x, void 0 !== S.pos ? S.pos : j) || S, x = j;
32085                                        break;
32086                                    }
32087                                }
32088                            } else S = {
32089                                caret: r.seekNext.call(g, x)
32090                            };
32091                        }
32092                        g.hasAlternator && !0 !== a && !n && (a = !0, !1 === S && k.keepStatic && (c.call(g, r.getBuffer.call(g)) || 0 === x) ? S = l.call(g, x, t, n, i, void 0, e) : (u.call(g, e) && b.tests[x] && b.tests[x].length > 1 && k.keepStatic || 1 == S && !0 !== k.numericInput && b.tests[x] && b.tests[x].length > 1 && r.getLastValidPosition.call(g, void 0, !0) > x) && (S = l.call(g, !0))), 
32093                        !0 === S && (S = {
32094                            pos: x
32095                        });
32096                    }
32097                    if ("function" == typeof k.postValidation && !0 !== i && !0 !== p) {
32098                        var A = k.postValidation.call(g, r.getBuffer.call(g, !0), void 0 !== e.begin ? g.isRTL ? e.end : e.begin : e, t, S, k, b, n, m);
32099                        void 0 !== A && (S = !0 === A ? S : A);
32100                    }
32101                    S && void 0 === S.pos && (S.pos = x), !1 === S || !0 === p ? (r.resetMaskSet.call(g, !0), 
32102                    b.validPositions = y.extend(!0, [], O)) : h.call(g, void 0, x, !0);
32103                    var D = w(S);
32104                    void 0 !== g.maxLength && (r.getBuffer.call(g).length > g.maxLength && !i && (r.resetMaskSet.call(g, !0), 
32105                    b.validPositions = y.extend(!0, [], O), D = !1));
32106                    return D;
32107                }
32108                function p(e, t, n) {
32109                    for (var i = this.maskset, a = !1, r = o.getTests.call(this, e), l = 0; l < r.length; l++) {
32110                        if (r[l].match && (r[l].match.nativeDef === t.match[n.shiftPositions ? "def" : "nativeDef"] && (!n.shiftPositions || !t.match.static) || r[l].match.nativeDef === t.match.nativeDef || n.regex && !r[l].match.static && r[l].match.fn.test(t.input, i, e, !1, n))) {
32111                            a = !0;
32112                            break;
32113                        }
32114                        if (r[l].match && r[l].match.def === t.match.nativeDef) {
32115                            a = void 0;
32116                            break;
32117                        }
32118                    }
32119                    return !1 === a && void 0 !== i.jitOffset[e] && (a = p.call(this, e + i.jitOffset[e], t, n)), 
32120                    a;
32121                }
32122                function d(e, t, n) {
32123                    var a, o, l = this, s = this.maskset, c = this.opts, u = this.dependencyLib, f = c.skipOptionalPartCharacter, p = l.isRTL ? n.slice().reverse() : n;
32124                    if (c.skipOptionalPartCharacter = "", !0 === e) r.resetMaskSet.call(l, !1), e = 0, 
32125                    t = n.length, o = r.determineNewCaretPosition.call(l, {
32126                        begin: 0,
32127                        end: 0
32128                    }, !1).begin; else {
32129                        for (a = e; a < t; a++) s.validPositions.splice(e, 0);
32130                        o = e;
32131                    }
32132                    var d = new u.Event("keypress");
32133                    for (a = e; a < t; a++) {
32134                        d.key = p[a].toString(), l.ignorable = !1;
32135                        var h = i.EventHandlers.keypressEvent.call(l, d, !0, !1, !1, o);
32136                        !1 !== h && void 0 !== h && (o = h.forwardPosition);
32137                    }
32138                    c.skipOptionalPartCharacter = f;
32139                }
32140                function h(e, t, n) {
32141                    var i = this, a = this.maskset, l = this.dependencyLib;
32142                    if (void 0 === e) for (e = t - 1; e > 0 && !a.validPositions[e]; e--) ;
32143                    for (var s = e; s < t; s++) {
32144                        if (void 0 === a.validPositions[s] && !r.isMask.call(i, s, !1)) if (0 == s ? o.getTest.call(i, s) : a.validPositions[s - 1]) {
32145                            var c = o.getTests.call(i, s).slice();
32146                            "" === c[c.length - 1].match.def && c.pop();
32147                            var u, p = o.determineTestTemplate.call(i, s, c);
32148                            if (p && (!0 !== p.match.jit || "master" === p.match.newBlockMarker && (u = a.validPositions[s + 1]) && !0 === u.match.optionalQuantifier) && ((p = l.extend({}, p, {
32149                                input: o.getPlaceholder.call(i, s, p.match, !0) || p.match.def
32150                            })).generatedInput = !0, v.call(i, s, p, !0), !0 !== n)) {
32151                                var d = a.validPositions[t].input;
32152                                return a.validPositions[t] = void 0, f.call(i, t, d, !0, !0);
32153                            }
32154                        }
32155                    }
32156                }
32157                function v(e, t, n, i) {
32158                    var a = this, l = this.maskset, s = this.opts, c = this.dependencyLib;
32159                    function d(e, t, n) {
32160                        var i = t[e];
32161                        if (void 0 !== i && !0 === i.match.static && !0 !== i.match.optionality && (void 0 === t[0] || void 0 === t[0].alternation)) {
32162                            var a = n.begin <= e - 1 ? t[e - 1] && !0 === t[e - 1].match.static && t[e - 1] : t[e - 1], r = n.end > e + 1 ? t[e + 1] && !0 === t[e + 1].match.static && t[e + 1] : t[e + 1];
32163                            return a && r;
32164                        }
32165                        return !1;
32166                    }
32167                    var h = 0, v = void 0 !== e.begin ? e.begin : e, m = void 0 !== e.end ? e.end : e, g = !0;
32168                    if (e.begin > e.end && (v = e.end, m = e.begin), i = void 0 !== i ? i : v, void 0 === n && (v !== m || s.insertMode && void 0 !== l.validPositions[i] || void 0 === t || t.match.optionalQuantifier || t.match.optionality)) {
32169                        var y, k = c.extend(!0, [], l.validPositions), b = r.getLastValidPosition.call(a, void 0, !0);
32170                        l.p = v;
32171                        var x = u.call(a, e) ? v : i;
32172                        for (y = b; y >= x; y--) l.validPositions.splice(y, 1), void 0 === t && delete l.tests[y + 1];
32173                        var w, P, S = i, O = S;
32174                        for (t && (l.validPositions[i] = c.extend(!0, {}, t), O++, S++), null == k[m] && l.jitOffset[m] && (m += l.jitOffset[m] + 1), 
32175                        y = t ? m : m - 1; y <= b; y++) {
32176                            if (void 0 !== (w = k[y]) && !0 !== w.generatedInput && (y >= m || y >= v && d(y, k, {
32177                                begin: v,
32178                                end: m
32179                            }))) {
32180                                for (;"" !== o.getTest.call(a, O).match.def; ) {
32181                                    if (!1 !== (P = p.call(a, O, w, s)) || "+" === w.match.def) {
32182                                        "+" === w.match.def && r.getBuffer.call(a, !0);
32183                                        var _ = f.call(a, O, w.input, "+" !== w.match.def, !0);
32184                                        if (g = !1 !== _, S = (_.pos || O) + 1, !g && P) break;
32185                                    } else g = !1;
32186                                    if (g) {
32187                                        void 0 === t && w.match.static && y === e.begin && h++;
32188                                        break;
32189                                    }
32190                                    if (!g && r.getBuffer.call(a), O > l.maskLength) break;
32191                                    O++;
32192                                }
32193                                "" == o.getTest.call(a, O).match.def && (g = !1), O = S;
32194                            }
32195                            if (!g) break;
32196                        }
32197                        if (!g) return l.validPositions = c.extend(!0, [], k), r.resetMaskSet.call(a, !0), 
32198                        !1;
32199                    } else t && o.getTest.call(a, i).match.cd === t.match.cd && (l.validPositions[i] = c.extend(!0, {}, t));
32200                    return r.resetMaskSet.call(a, !0), h;
32201                }
32202            }
32203        }, t = {};
32204        function n(i) {
32205            var a = t[i];
32206            if (void 0 !== a) return a.exports;
32207            var r = t[i] = {
32208                exports: {}
32209            };
32210            return e[i](r, r.exports, n), r.exports;
32211        }
32212        var i = {};
32213        return function() {
32214            var e = i;
32215            Object.defineProperty(e, "__esModule", {
32216                value: !0
32217            }), e.default = void 0, n(7149), n(3194), n(9302), n(4013), n(3851), n(219), n(207), 
32218            n(5296);
32219            var t, a = (t = n(2394)) && t.__esModule ? t : {
32220                default: t
32221            };
32222            e.default = a.default;
32223        }(), i;
32224    }();
32225}));
32226/*
32227 Input Mask plugin binding
32228 http://github.com/RobinHerbots/jquery.inputmask
32229 Copyright (c) Robin Herbots
32230 Licensed under the MIT license
32231 */
32232(function (factory) {
32233  factory(jQuery, window.Inputmask, window);
32234})(function ($, Inputmask, window) {
32235  $(window.document)
32236    .ajaxComplete(function (event, xmlHttpRequest, ajaxOptions) {
32237      if ($.inArray("html", ajaxOptions.dataTypes) !== -1) {
32238        $(
32239          ".inputmask, [data-inputmask], [data-inputmask-mask], [data-inputmask-alias], [data-inputmask-regex]"
32240        ).each(function (ndx, lmnt) {
32241          if (lmnt.inputmask === undefined) {
32242            Inputmask().mask(lmnt);
32243          }
32244        });
32245      }
32246    })
32247    .ready(function () {
32248      $(
32249        ".inputmask, [data-inputmask], [data-inputmask-mask], [data-inputmask-alias],[data-inputmask-regex]"
32250      ).each(function (ndx, lmnt) {
32251        if (lmnt.inputmask === undefined) {
32252          Inputmask().mask(lmnt);
32253        }
32254      });
32255    });
32256});
32257
vendor: 31,966 bytes, lines 32258-32259
32258var tns=function(){var t=window,Ai=t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.msRequestAnimationFrame||function(t){return setTimeout(t,16)},e=window,Ni=e.cancelAnimationFrame||e.mozCancelAnimationFrame||function(t){clearTimeout(t)};function Li(){for(var t,e,n,i=arguments[0]||{},a=1,r=arguments.length;a<r;a++)if(null!==(t=arguments[a]))for(e in t)i!==(n=t[e])&&void 0!==n&&(i[e]=n);return i}function Bi(t){return 0<=["true","false"].indexOf(t)?JSON.parse(t):t}function Si(t,e,n,i){if(i)try{t.setItem(e,n)}catch(t){}return n}function Hi(){var t=document,e=t.body;return e||((e=t.createElement("body")).fake=!0),e}var n=document.documentElement;function Oi(t){var e="";return t.fake&&(e=n.style.overflow,t.style.background="",t.style.overflow=n.style.overflow="hidden",n.appendChild(t)),e}function Di(t,e){t.fake&&(t.remove(),n.style.overflow=e,n.offsetHeight)}function ki(t,e,n,i){"insertRule"in t?t.insertRule(e+"{"+n+"}",i):t.addRule(e,n,i)}function Ri(t){return("insertRule"in t?t.cssRules:t.rules).length}function Ii(t,e,n){for(var i=0,a=t.length;i<a;i++)e.call(n,t[i],i)}var i="classList"in document.createElement("_"),Pi=i?function(t,e){return t.classList.contains(e)}:function(t,e){return 0<=t.className.indexOf(e)},zi=i?function(t,e){Pi(t,e)||t.classList.add(e)}:function(t,e){Pi(t,e)||(t.className+=" "+e)},Wi=i?function(t,e){Pi(t,e)&&t.classList.remove(e)}:function(t,e){Pi(t,e)&&(t.className=t.className.replace(e,""))};function qi(t,e){return t.hasAttribute(e)}function Fi(t,e){return t.getAttribute(e)}function r(t){return void 0!==t.item}function ji(t,e){if(t=r(t)||t instanceof Array?t:[t],"[object Object]"===Object.prototype.toString.call(e))for(var n=t.length;n--;)for(var i in e)t[n].setAttribute(i,e[i])}function Vi(t,e){t=r(t)||t instanceof Array?t:[t];for(var n=(e=e instanceof Array?e:[e]).length,i=t.length;i--;)for(var a=n;a--;)t[i].removeAttribute(e[a])}function Gi(t){for(var e=[],n=0,i=t.length;n<i;n++)e.push(t[n]);return e}function Qi(t,e){"none"!==t.style.display&&(t.style.display="none")}function Xi(t,e){"none"===t.style.display&&(t.style.display="")}function Yi(t){return"none"!==window.getComputedStyle(t).display}function Ki(e){if("string"==typeof e){var n=[e],i=e.charAt(0).toUpperCase()+e.substr(1);["Webkit","Moz","ms","O"].forEach(function(t){"ms"===t&&"transform"!==e||n.push(t+i)}),e=n}for(var t=document.createElement("fakeelement"),a=(e.length,0);a<e.length;a++){var r=e[a];if(void 0!==t.style[r])return r}return!1}function Ji(t,e){var n=!1;return/^Webkit/.test(t)?n="webkit"+e+"End":/^O/.test(t)?n="o"+e+"End":t&&(n=e.toLowerCase()+"end"),n}var a=!1;try{var o=Object.defineProperty({},"passive",{get:function(){a=!0}});window.addEventListener("test",null,o)}catch(t){}var u=!!a&&{passive:!0};function Ui(t,e,n){for(var i in e){var a=0<=["touchstart","touchmove"].indexOf(i)&&!n&&u;t.addEventListener(i,e[i],a)}}function _i(t,e){for(var n in e){var i=0<=["touchstart","touchmove"].indexOf(n)&&u;t.removeEventListener(n,e[n],i)}}function Zi(){return{topics:{},on:function(t,e){this.topics[t]=this.topics[t]||[],this.topics[t].push(e)},off:function(t,e){if(this.topics[t])for(var n=0;n<this.topics[t].length;n++)if(this.topics[t][n]===e){this.topics[t].splice(n,1);break}},emit:function(e,n){n.type=e,this.topics[e]&&this.topics[e].forEach(function(t){t(n,e)})}}}Object.keys||(Object.keys=function(t){var e=[];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.push(n);return e}),"remove"in Element.prototype||(Element.prototype.remove=function(){this.parentNode&&this.parentNode.removeChild(this)});var $i=function(H){H=Li({container:".slider",mode:"carousel",axis:"horizontal",items:1,gutter:0,edgePadding:0,fixedWidth:!1,autoWidth:!1,viewportMax:!1,slideBy:1,center:!1,controls:!0,controlsPosition:"top",controlsText:["prev","next"],controlsContainer:!1,prevButton:!1,nextButton:!1,nav:!0,navPosition:"top",navContainer:!1,navAsThumbnails:!1,arrowKeys:!1,speed:300,autoplay:!1,autoplayPosition:"top",autoplayTimeout:5e3,autoplayDirection:"forward",autoplayText:["start","stop"],autoplayHoverPause:!1,autoplayButton:!1,autoplayButtonOutput:!0,autoplayResetOnVisibility:!0,animateIn:"tns-fadeIn",animateOut:"tns-fadeOut",animateNormal:"tns-normal",animateDelay:!1,loop:!0,rewind:!1,autoHeight:!1,responsive:!1,lazyload:!1,lazyloadSelector:".tns-lazy-img",touch:!0,mouseDrag:!1,swipeAngle:15,nested:!1,preventActionWhenRunning:!1,preventScrollOnTouch:!1,freezable:!0,onInit:!1,useLocalStorage:!0,nonce:!1},H||{});var O=document,m=window,a={ENTER:13,SPACE:32,LEFT:37,RIGHT:39},e={},n=H.useLocalStorage;if(n){var t=navigator.userAgent,i=new Date;try{(e=m.localStorage)?(e.setItem(i,i),n=e.getItem(i)==i,e.removeItem(i)):n=!1,n||(e={})}catch(t){n=!1}n&&(e.tnsApp&&e.tnsApp!==t&&["tC","tPL","tMQ","tTf","t3D","tTDu","tTDe","tADu","tADe","tTE","tAE"].forEach(function(t){e.removeItem(t)}),localStorage.tnsApp=t)}var y=e.tC?Bi(e.tC):Si(e,"tC",function(){var t=document,e=Hi(),n=Oi(e),i=t.createElement("div"),a=!1;e.appendChild(i);try{for(var r,o="(10px * 10)",u=["calc"+o,"-moz-calc"+o,"-webkit-calc"+o],l=0;l<3;l++)if(r=u[l],i.style.width=r,100===i.offsetWidth){a=r.replace(o,"");break}}catch(t){}return e.fake?Di(e,n):i.remove(),a}(),n),g=e.tPL?Bi(e.tPL):Si(e,"tPL",function(){var t,e=document,n=Hi(),i=Oi(n),a=e.createElement("div"),r=e.createElement("div"),o="";a.className="tns-t-subp2",r.className="tns-t-ct";for(var u=0;u<70;u++)o+="<div></div>";return r.innerHTML=o,a.appendChild(r),n.appendChild(a),t=Math.abs(a.getBoundingClientRect().left-r.children[67].getBoundingClientRect().left)<2,n.fake?Di(n,i):a.remove(),t}(),n),D=e.tMQ?Bi(e.tMQ):Si(e,"tMQ",function(){if(window.matchMedia||window.msMatchMedia)return!0;var t,e=document,n=Hi(),i=Oi(n),a=e.createElement("div"),r=e.createElement("style"),o="@media all and (min-width:1px){.tns-mq-test{position:absolute}}";return r.type="text/css",a.className="tns-mq-test",n.appendChild(r),n.appendChild(a),r.styleSheet?r.styleSheet.cssText=o:r.appendChild(e.createTextNode(o)),t=window.getComputedStyle?window.getComputedStyle(a).position:a.currentStyle.position,n.fake?Di(n,i):a.remove(),"absolute"===t}(),n),r=e.tTf?Bi(e.tTf):Si(e,"tTf",Ki("transform"),n),o=e.t3D?Bi(e.t3D):Si(e,"t3D",function(t){if(!t)return!1;if(!window.getComputedStyle)return!1;var e,n=document,i=Hi(),a=Oi(i),r=n.createElement("p"),o=9<t.length?"-"+t.slice(0,-9).toLowerCase()+"-":"";return o+="transform",i.insertBefore(r,null),r.style[t]="translate3d(1px,1px,1px)",e=window.getComputedStyle(r).getPropertyValue(o),i.fake?Di(i,a):r.remove(),void 0!==e&&0<e.length&&"none"!==e}(r),n),x=e.tTDu?Bi(e.tTDu):Si(e,"tTDu",Ki("transitionDuration"),n),u=e.tTDe?Bi(e.tTDe):Si(e,"tTDe",Ki("transitionDelay"),n),b=e.tADu?Bi(e.tADu):Si(e,"tADu",Ki("animationDuration"),n),l=e.tADe?Bi(e.tADe):Si(e,"tADe",Ki("animationDelay"),n),s=e.tTE?Bi(e.tTE):Si(e,"tTE",Ji(x,"Transition"),n),c=e.tAE?Bi(e.tAE):Si(e,"tAE",Ji(b,"Animation"),n),f=m.console&&"function"==typeof m.console.warn,d=["container","controlsContainer","prevButton","nextButton","navContainer","autoplayButton"],v={};if(d.forEach(function(t){if("string"==typeof H[t]){var e=H[t],n=O.querySelector(e);if(v[t]=e,!n||!n.nodeName)return void(f&&console.warn("Can't find",H[t]));H[t]=n}}),!(H.container.children.length<1)){var k=H.responsive,R=H.nested,I="carousel"===H.mode;if(k){0 in k&&(H=Li(H,k[0]),delete k[0]);var p={};for(var h in k){var w=k[h];w="number"==typeof w?{items:w}:w,p[h]=w}k=p,p=null}if(I||function t(e){for(var n in e)I||("slideBy"===n&&(e[n]="page"),"edgePadding"===n&&(e[n]=!1),"autoHeight"===n&&(e[n]=!1)),"responsive"===n&&t(e[n])}(H),!I){H.axis="horizontal",H.slideBy="page",H.edgePadding=!1;var P=H.animateIn,z=H.animateOut,C=H.animateDelay,W=H.animateNormal}var M,q,F="horizontal"===H.axis,T=O.createElement("div"),j=O.createElement("div"),V=H.container,E=V.parentNode,A=V.outerHTML,G=V.children,Q=G.length,X=rn(),Y=!1;k&&En(),I&&(V.className+=" tns-vpfix");var N,L,B,S,K,J,U,_,Z,$=H.autoWidth,tt=sn("fixedWidth"),et=sn("edgePadding"),nt=sn("gutter"),it=un(),at=sn("center"),rt=$?1:Math.floor(sn("items")),ot=sn("slideBy"),ut=H.viewportMax||H.fixedWidthViewportWidth,lt=sn("arrowKeys"),st=sn("speed"),ct=H.rewind,ft=!ct&&H.loop,dt=sn("autoHeight"),vt=sn("controls"),pt=sn("controlsText"),ht=sn("nav"),mt=sn("touch"),yt=sn("mouseDrag"),gt=sn("autoplay"),xt=sn("autoplayTimeout"),bt=sn("autoplayText"),wt=sn("autoplayHoverPause"),Ct=sn("autoplayResetOnVisibility"),Mt=(U=null,_=sn("nonce"),Z=document.createElement("style"),U&&Z.setAttribute("media",U),_&&Z.setAttribute("nonce",_),document.querySelector("head").appendChild(Z),Z.sheet?Z.sheet:Z.styleSheet),Tt=H.lazyload,Et=H.lazyloadSelector,At=[],Nt=ft?(K=function(){{if($||tt&&!ut)return Q-1;var t=tt?"fixedWidth":"items",e=[];if((tt||H[t]<Q)&&e.push(H[t]),k)for(var n in k){var i=k[n][t];i&&(tt||i<Q)&&e.push(i)}return e.length||e.push(0),Math.ceil(tt?ut/Math.min.apply(null,e):Math.max.apply(null,e))}}(),J=I?Math.ceil((5*K-Q)/2):4*K-Q,J=Math.max(K,J),ln("edgePadding")?J+1:J):0,Lt=I?Q+2*Nt:Q+Nt,Bt=!(!tt&&!$||ft),St=tt?_n():null,Ht=!I||!ft,Ot=F?"left":"top",Dt="",kt="",Rt=tt?function(){return at&&!ft?Q-1:Math.ceil(-St/(tt+nt))}:$?function(){for(var t=0;t<Lt;t++)if(N[t]>=-St)return t}:function(){return at&&I&&!ft?Q-1:ft||I?Math.max(0,Lt-Math.ceil(rt)):Lt-1},It=en(sn("startIndex")),Pt=It,zt=(tn(),0),Wt=$?null:Rt(),qt=H.preventActionWhenRunning,Ft=H.swipeAngle,jt=!Ft||"?",Vt=!1,Gt=H.onInit,Qt=new Zi,Xt=" tns-slider tns-"+H.mode,Yt=V.id||(S=window.tnsId,window.tnsId=S?S+1:1,"tns"+window.tnsId),Kt=sn("disable"),Jt=!1,Ut=H.freezable,_t=!(!Ut||$)&&Tn(),Zt=!1,$t={click:oi,keydown:function(t){t=pi(t);var e=[a.LEFT,a.RIGHT].indexOf(t.keyCode);0<=e&&(0===e?we.disabled||oi(t,-1):Ce.disabled||oi(t,1))}},te={click:function(t){if(Vt){if(qt)return;ai()}var e=hi(t=pi(t));for(;e!==Ae&&!qi(e,"data-nav");)e=e.parentNode;if(qi(e,"data-nav")){var n=Se=Number(Fi(e,"data-nav")),i=tt||$?n*Q/Le:n*rt,a=le?n:Math.min(Math.ceil(i),Q-1);ri(a,t),He===n&&(Pe&&fi(),Se=-1)}},keydown:function(t){t=pi(t);var e=O.activeElement;if(!qi(e,"data-nav"))return;var n=[a.LEFT,a.RIGHT,a.ENTER,a.SPACE].indexOf(t.keyCode),i=Number(Fi(e,"data-nav"));0<=n&&(0===n?0<i&&vi(Ee[i-1]):1===n?i<Le-1&&vi(Ee[i+1]):ri(Se=i,t))}},ee={mouseover:function(){Pe&&(li(),ze=!0)},mouseout:function(){ze&&(ui(),ze=!1)}},ne={visibilitychange:function(){O.hidden?Pe&&(li(),qe=!0):qe&&(ui(),qe=!1)}},ie={keydown:function(t){t=pi(t);var e=[a.LEFT,a.RIGHT].indexOf(t.keyCode);0<=e&&oi(t,0===e?-1:1)}},ae={touchstart:xi,touchmove:bi,touchend:wi,touchcancel:wi},re={mousedown:xi,mousemove:bi,mouseup:wi,mouseleave:wi},oe=ln("controls"),ue=ln("nav"),le=!!$||H.navAsThumbnails,se=ln("autoplay"),ce=ln("touch"),fe=ln("mouseDrag"),de="tns-slide-active",ve="tns-slide-cloned",pe="tns-complete",he={load:function(t){kn(hi(t))},error:function(t){e=hi(t),zi(e,"failed"),Rn(e);var e}},me="force"===H.preventScrollOnTouch;if(oe)var ye,ge,xe=H.controlsContainer,be=H.controlsContainer?H.controlsContainer.outerHTML:"",we=H.prevButton,Ce=H.nextButton,Me=H.prevButton?H.prevButton.outerHTML:"",Te=H.nextButton?H.nextButton.outerHTML:"";if(ue)var Ee,Ae=H.navContainer,Ne=H.navContainer?H.navContainer.outerHTML:"",Le=$?Q:Mi(),Be=0,Se=-1,He=an(),Oe=He,De="tns-nav-active",ke="Carousel Page ",Re=" (Current Slide)";if(se)var Ie,Pe,ze,We,qe,Fe="forward"===H.autoplayDirection?1:-1,je=H.autoplayButton,Ve=H.autoplayButton?H.autoplayButton.outerHTML:"",Ge=["<span class='tns-visually-hidden'>"," animation</span>"];if(ce||fe)var Qe,Xe,Ye={},Ke={},Je=!1,Ue=F?function(t,e){return t.x-e.x}:function(t,e){return t.y-e.y};$||$e(Kt||_t),r&&(Ot=r,Dt="translate",o?(Dt+=F?"3d(":"3d(0px, ",kt=F?", 0px, 0px)":", 0px)"):(Dt+=F?"X(":"Y(",kt=")")),I&&(V.className=V.className.replace("tns-vpfix","")),function(){ln("gutter");T.className="tns-outer",j.className="tns-inner",T.id=Yt+"-ow",j.id=Yt+"-iw",""===V.id&&(V.id=Yt);Xt+=g||$?" tns-subpixel":" tns-no-subpixel",Xt+=y?" tns-calc":" tns-no-calc",$&&(Xt+=" tns-autowidth");Xt+=" tns-"+H.axis,V.className+=Xt,I?((M=O.createElement("div")).id=Yt+"-mw",M.className="tns-ovh",T.appendChild(M),M.appendChild(j)):T.appendChild(j);if(dt){var t=M||j;t.className+=" tns-ah"}if(E.insertBefore(T,V),j.appendChild(V),Ii(G,function(t,e){zi(t,"tns-item"),t.id||(t.id=Yt+"-item"+e),!I&&W&&zi(t,W),ji(t,{"aria-hidden":"true",tabindex:"-1"})}),Nt){for(var e=O.createDocumentFragment(),n=O.createDocumentFragment(),i=Nt;i--;){var a=i%Q,r=G[a].cloneNode(!0);if(zi(r,ve),Vi(r,"id"),n.insertBefore(r,n.firstChild),I){var o=G[Q-1-a].cloneNode(!0);zi(o,ve),Vi(o,"id"),e.appendChild(o)}}V.insertBefore(e,V.firstChild),V.appendChild(n),G=V.children}}(),function(){if(!I)for(var t=It,e=It+Math.min(Q,rt);t<e;t++){var n=G[t];n.style.left=100*(t-It)/rt+"%",zi(n,P),Wi(n,W)}F&&(g||$?(ki(Mt,"#"+Yt+" > .tns-item","font-size:"+m.getComputedStyle(G[0]).fontSize+";",Ri(Mt)),ki(Mt,"#"+Yt,"font-size:0;",Ri(Mt))):I&&Ii(G,function(t,e){var n;t.style.marginLeft=(n=e,y?y+"("+100*n+"% / "+Lt+")":100*n/Lt+"%")}));if(D){if(x){var i=M&&H.autoHeight?hn(H.speed):"";ki(Mt,"#"+Yt+"-mw",i,Ri(Mt))}i=cn(H.edgePadding,H.gutter,H.fixedWidth,H.speed,H.autoHeight),ki(Mt,"#"+Yt+"-iw",i,Ri(Mt)),I&&(i=F&&!$?"width:"+fn(H.fixedWidth,H.gutter,H.items)+";":"",x&&(i+=hn(st)),ki(Mt,"#"+Yt,i,Ri(Mt))),i=F&&!$?dn(H.fixedWidth,H.gutter,H.items):"",H.gutter&&(i+=vn(H.gutter)),I||(x&&(i+=hn(st)),b&&(i+=mn(st))),i&&ki(Mt,"#"+Yt+" > .tns-item",i,Ri(Mt))}else{I&&dt&&(M.style[x]=st/1e3+"s"),j.style.cssText=cn(et,nt,tt,dt),I&&F&&!$&&(V.style.width=fn(tt,nt,rt));var i=F&&!$?dn(tt,nt,rt):"";nt&&(i+=vn(nt)),i&&ki(Mt,"#"+Yt+" > .tns-item",i,Ri(Mt))}if(k&&D)for(var a in k){a=parseInt(a);var r=k[a],i="",o="",u="",l="",s="",c=$?null:sn("items",a),f=sn("fixedWidth",a),d=sn("speed",a),v=sn("edgePadding",a),p=sn("autoHeight",a),h=sn("gutter",a);x&&M&&sn("autoHeight",a)&&"speed"in r&&(o="#"+Yt+"-mw{"+hn(d)+"}"),("edgePadding"in r||"gutter"in r)&&(u="#"+Yt+"-iw{"+cn(v,h,f,d,p)+"}"),I&&F&&!$&&("fixedWidth"in r||"items"in r||tt&&"gutter"in r)&&(l="width:"+fn(f,h,c)+";"),x&&"speed"in r&&(l+=hn(d)),l&&(l="#"+Yt+"{"+l+"}"),("fixedWidth"in r||tt&&"gutter"in r||!I&&"items"in r)&&(s+=dn(f,h,c)),"gutter"in r&&(s+=vn(h)),!I&&"speed"in r&&(x&&(s+=hn(d)),b&&(s+=mn(d))),s&&(s="#"+Yt+" > .tns-item{"+s+"}"),(i=o+u+l+s)&&Mt.insertRule("@media (min-width: "+a/16+"em) {"+i+"}",Mt.cssRules.length)}}(),yn();var _e=ft?I?function(){var t=zt,e=Wt;t+=ot,e-=ot,et?(t+=1,e-=1):tt&&(it+nt)%(tt+nt)&&(e-=1),Nt&&(e<It?It-=Q:It<t&&(It+=Q))}:function(){if(Wt<It)for(;zt+Q<=It;)It-=Q;else if(It<zt)for(;It<=Wt-Q;)It+=Q}:function(){It=Math.max(zt,Math.min(Wt,It))},Ze=I?function(){var e,n,i,a,t,r,o,u,l,s,c;Jn(V,""),x||!st?(ti(),st&&Yi(V)||ai()):(e=V,n=Ot,i=Dt,a=kt,t=Zn(),r=st,o=ai,u=Math.min(r,10),l=0<=t.indexOf("%")?"%":"px",t=t.replace(l,""),s=Number(e.style[n].replace(i,"").replace(a,"").replace(l,"")),c=(t-s)/r*u,setTimeout(function t(){r-=u,s+=c,e.style[n]=i+s+l+a,0<r?setTimeout(t,u):o()},u)),F||Ci()}:function(){At=[];var t={};t[s]=t[c]=ai,_i(G[Pt],t),Ui(G[It],t),ei(Pt,P,z,!0),ei(It,W,P),s&&c&&st&&Yi(V)||ai()};return{version:"2.9.4",getInfo:Ei,events:Qt,goTo:ri,play:function(){gt&&!Pe&&(ci(),We=!1)},pause:function(){Pe&&(fi(),We=!0)},isOn:Y,updateSliderHeight:Fn,refresh:yn,destroy:function(){if(Mt.disabled=!0,Mt.ownerNode&&Mt.ownerNode.remove(),_i(m,{resize:Cn}),lt&&_i(O,ie),xe&&_i(xe,$t),Ae&&_i(Ae,te),_i(V,ee),_i(V,ne),je&&_i(je,{click:di}),gt&&clearInterval(Ie),I&&s){var t={};t[s]=ai,_i(V,t)}mt&&_i(V,ae),yt&&_i(V,re);var r=[A,be,Me,Te,Ne,Ve];for(var e in d.forEach(function(t,e){var n="container"===t?T:H[t];if("object"==typeof n&&n){var i=!!n.previousElementSibling&&n.previousElementSibling,a=n.parentNode;n.outerHTML=r[e],H[t]=i?i.nextElementSibling:a.firstElementChild}}),d=P=z=C=W=F=T=j=V=E=A=G=Q=q=X=$=tt=et=nt=it=rt=ot=ut=lt=st=ct=ft=dt=Mt=Tt=N=At=Nt=Lt=Bt=St=Ht=Ot=Dt=kt=Rt=It=Pt=zt=Wt=Ft=jt=Vt=Gt=Qt=Xt=Yt=Kt=Jt=Ut=_t=Zt=$t=te=ee=ne=ie=ae=re=oe=ue=le=se=ce=fe=de=pe=he=L=vt=pt=xe=be=we=Ce=ye=ge=ht=Ae=Ne=Ee=Le=Be=Se=He=Oe=De=ke=Re=gt=xt=Fe=bt=wt=je=Ve=Ct=Ge=Ie=Pe=ze=We=qe=Ye=Ke=Qe=Je=Xe=Ue=mt=yt=null,this)"rebuild"!==e&&(this[e]=null);Y=!1},rebuild:function(){return $i(Li(H,v))}}}function $e(t){t&&(vt=ht=mt=yt=lt=gt=wt=Ct=!1)}function tn(){for(var t=I?It-Nt:It;t<0;)t+=Q;return t%Q+1}function en(t){return t=t?Math.max(0,Math.min(ft?Q-1:Q-rt,t)):0,I?t+Nt:t}function nn(t){for(null==t&&(t=It),I&&(t-=Nt);t<0;)t+=Q;return Math.floor(t%Q)}function an(){var t,e=nn();return t=le?e:tt||$?Math.ceil((e+1)*Le/Q-1):Math.floor(e/rt),!ft&&I&&It===Wt&&(t=Le-1),t}function rn(){return m.innerWidth||O.documentElement.clientWidth||O.body.clientWidth}function on(t){return"top"===t?"afterbegin":"beforeend"}function un(){var t=et?2*et-nt:0;return function t(e){if(null!=e){var n,i,a=O.createElement("div");return e.appendChild(a),i=(n=a.getBoundingClientRect()).right-n.left,a.remove(),i||t(e.parentNode)}}(E)-t}function ln(t){if(H[t])return!0;if(k)for(var e in k)if(k[e][t])return!0;return!1}function sn(t,e){if(null==e&&(e=X),"items"===t&&tt)return Math.floor((it+nt)/(tt+nt))||1;var n=H[t];if(k)for(var i in k)e>=parseInt(i)&&t in k[i]&&(n=k[i][t]);return"slideBy"===t&&"page"===n&&(n=sn("items")),I||"slideBy"!==t&&"items"!==t||(n=Math.floor(n)),n}function cn(t,e,n,i,a){var r="";if(void 0!==t){var o=t;e&&(o-=e),r=F?"margin: 0 "+o+"px 0 "+t+"px;":"margin: "+t+"px 0 "+o+"px 0;"}else if(e&&!n){var u="-"+e+"px";r="margin: 0 "+(F?u+" 0 0":"0 "+u+" 0")+";"}return!I&&a&&x&&i&&(r+=hn(i)),r}function fn(t,e,n){return t?(t+e)*Lt+"px":y?y+"("+100*Lt+"% / "+n+")":100*Lt/n+"%"}function dn(t,e,n){var i;if(t)i=t+e+"px";else{I||(n=Math.floor(n));var a=I?Lt:n;i=y?y+"(100% / "+a+")":100/a+"%"}return i="width:"+i,"inner"!==R?i+";":i+" !important;"}function vn(t){var e="";!1!==t&&(e=(F?"padding-":"margin-")+(F?"right":"bottom")+": "+t+"px;");return e}function pn(t,e){var n=t.substring(0,t.length-e).toLowerCase();return n&&(n="-"+n+"-"),n}function hn(t){return pn(x,18)+"transition-duration:"+t/1e3+"s;"}function mn(t){return pn(b,17)+"animation-duration:"+t/1e3+"s;"}function yn(){if(ln("autoHeight")||$||!F){var t=V.querySelectorAll("img");Ii(t,function(t){var e=t.src;Tt||(e&&e.indexOf("data:image")<0?(t.src="",Ui(t,he),zi(t,"loading"),t.src=e):kn(t))}),Ai(function(){zn(Gi(t),function(){L=!0})}),ln("autoHeight")&&(t=In(It,Math.min(It+rt-1,Lt-1))),Tt?gn():Ai(function(){zn(Gi(t),gn)})}else I&&$n(),bn(),wn()}function gn(){if($&&1<Q){var i=ft?It:Q-1;!function t(){var e=G[i].getBoundingClientRect().left,n=G[i-1].getBoundingClientRect().right;Math.abs(e-n)<=1?xn():setTimeout(function(){t()},16)}()}else xn()}function xn(){F&&!$||(jn(),$?(St=_n(),Ut&&(_t=Tn()),Wt=Rt(),$e(Kt||_t)):Ci()),I&&$n(),bn(),wn()}function bn(){if(Vn(),T.insertAdjacentHTML("afterbegin",'<div class="tns-liveregion tns-visually-hidden" aria-live="polite" aria-atomic="true">slide <span class="current">'+Hn()+"</span>  of "+Q+"</div>"),B=T.querySelector(".tns-liveregion .current"),se){var t=gt?"stop":"start";je?ji(je,{"data-action":t}):H.autoplayButtonOutput&&(T.insertAdjacentHTML(on(H.autoplayPosition),'<button type="button" data-action="'+t+'">'+Ge[0]+t+Ge[1]+bt[0]+"</button>"),je=T.querySelector("[data-action]")),je&&Ui(je,{click:di}),gt&&(ci(),wt&&Ui(V,ee),Ct&&Ui(V,ne))}if(ue){if(Ae)ji(Ae,{"aria-label":"Carousel Pagination"}),Ii(Ee=Ae.children,function(t,e){ji(t,{"data-nav":e,tabindex:"-1","aria-label":ke+(e+1),"aria-controls":Yt})});else{for(var e="",n=le?"":'style="display:none"',i=0;i<Q;i++)e+='<button type="button" data-nav="'+i+'" tabindex="-1" aria-controls="'+Yt+'" '+n+' aria-label="'+ke+(i+1)+'"></button>';e='<div class="tns-nav" aria-label="Carousel Pagination">'+e+"</div>",T.insertAdjacentHTML(on(H.navPosition),e),Ae=T.querySelector(".tns-nav"),Ee=Ae.children}if(Ti(),x){var a=x.substring(0,x.length-18).toLowerCase(),r="transition: all "+st/1e3+"s";a&&(r="-"+a+"-"+r),ki(Mt,"[aria-controls^="+Yt+"-item]",r,Ri(Mt))}ji(Ee[He],{"aria-label":ke+(He+1)+Re}),Vi(Ee[He],"tabindex"),zi(Ee[He],De),Ui(Ae,te)}oe&&(xe||we&&Ce||(T.insertAdjacentHTML(on(H.controlsPosition),'<div class="tns-controls" aria-label="Carousel Navigation" tabindex="0"><button type="button" data-controls="prev" tabindex="-1" aria-controls="'+Yt+'">'+pt[0]+'</button><button type="button" data-controls="next" tabindex="-1" aria-controls="'+Yt+'">'+pt[1]+"</button></div>"),xe=T.querySelector(".tns-controls")),we&&Ce||(we=xe.children[0],Ce=xe.children[1]),H.controlsContainer&&ji(xe,{"aria-label":"Carousel Navigation",tabindex:"0"}),(H.controlsContainer||H.prevButton&&H.nextButton)&&ji([we,Ce],{"aria-controls":Yt,tabindex:"-1"}),(H.controlsContainer||H.prevButton&&H.nextButton)&&(ji(we,{"data-controls":"prev"}),ji(Ce,{"data-controls":"next"})),ye=Qn(we),ge=Qn(Ce),Kn(),xe?Ui(xe,$t):(Ui(we,$t),Ui(Ce,$t))),An()}function wn(){if(I&&s){var t={};t[s]=ai,Ui(V,t)}mt&&Ui(V,ae,H.preventScrollOnTouch),yt&&Ui(V,re),lt&&Ui(O,ie),"inner"===R?Qt.on("outerResized",function(){Mn(),Qt.emit("innerLoaded",Ei())}):(k||tt||$||dt||!F)&&Ui(m,{resize:Cn}),dt&&("outer"===R?Qt.on("innerLoaded",Pn):Kt||Pn()),Dn(),Kt?Bn():_t&&Ln(),Qt.on("indexChanged",Wn),"inner"===R&&Qt.emit("innerLoaded",Ei()),"function"==typeof Gt&&Gt(Ei()),Y=!0}function Cn(t){Ai(function(){Mn(pi(t))})}function Mn(t){if(Y){"outer"===R&&Qt.emit("outerResized",Ei(t)),X=rn();var e,n=q,i=!1;k&&(En(),(e=n!==q)&&Qt.emit("newBreakpointStart",Ei(t)));var a,r,o,u,l=rt,s=Kt,c=_t,f=lt,d=vt,v=ht,p=mt,h=yt,m=gt,y=wt,g=Ct,x=It;if(e){var b=tt,w=dt,C=pt,M=at,T=bt;if(!D)var E=nt,A=et}if(lt=sn("arrowKeys"),vt=sn("controls"),ht=sn("nav"),mt=sn("touch"),at=sn("center"),yt=sn("mouseDrag"),gt=sn("autoplay"),wt=sn("autoplayHoverPause"),Ct=sn("autoplayResetOnVisibility"),e&&(Kt=sn("disable"),tt=sn("fixedWidth"),st=sn("speed"),dt=sn("autoHeight"),pt=sn("controlsText"),bt=sn("autoplayText"),xt=sn("autoplayTimeout"),D||(et=sn("edgePadding"),nt=sn("gutter"))),$e(Kt),it=un(),F&&!$||Kt||(jn(),F||(Ci(),i=!0)),(tt||$)&&(St=_n(),Wt=Rt()),(e||tt)&&(rt=sn("items"),ot=sn("slideBy"),(r=rt!==l)&&(tt||$||(Wt=Rt()),_e())),e&&Kt!==s&&(Kt?Bn():function(){if(!Jt)return;if(Mt.disabled=!1,V.className+=Xt,$n(),ft)for(var t=Nt;t--;)I&&Xi(G[t]),Xi(G[Lt-t-1]);if(!I)for(var e=It,n=It+Q;e<n;e++){var i=G[e],a=e<It+rt?P:W;i.style.left=100*(e-It)/rt+"%",zi(i,a)}Nn(),Jt=!1}()),Ut&&(e||tt||$)&&(_t=Tn())!==c&&(_t?(ti(Zn(en(0))),Ln()):(!function(){if(!Zt)return;et&&D&&(j.style.margin="");if(Nt)for(var t="tns-transparent",e=Nt;e--;)I&&Wi(G[e],t),Wi(G[Lt-e-1],t);Nn(),Zt=!1}(),i=!0)),$e(Kt||_t),gt||(wt=Ct=!1),lt!==f&&(lt?Ui(O,ie):_i(O,ie)),vt!==d&&(vt?xe?Xi(xe):(we&&Xi(we),Ce&&Xi(Ce)):xe?Qi(xe):(we&&Qi(we),Ce&&Qi(Ce))),ht!==v&&(ht?(Xi(Ae),Ti()):Qi(Ae)),mt!==p&&(mt?Ui(V,ae,H.preventScrollOnTouch):_i(V,ae)),yt!==h&&(yt?Ui(V,re):_i(V,re)),gt!==m&&(gt?(je&&Xi(je),Pe||We||ci()):(je&&Qi(je),Pe&&fi())),wt!==y&&(wt?Ui(V,ee):_i(V,ee)),Ct!==g&&(Ct?Ui(O,ne):_i(O,ne)),e){if(tt===b&&at===M||(i=!0),dt!==w&&(dt||(j.style.height="")),vt&&pt!==C&&(we.innerHTML=pt[0],Ce.innerHTML=pt[1]),je&&bt!==T){var N=gt?1:0,L=je.innerHTML,B=L.length-T[N].length;L.substring(B)===T[N]&&(je.innerHTML=L.substring(0,B)+bt[N])}}else at&&(tt||$)&&(i=!0);if((r||tt&&!$)&&(Le=Mi(),Ti()),(a=It!==x)?(Qt.emit("indexChanged",Ei()),i=!0):r?a||Wn():(tt||$)&&(Dn(),Vn(),Sn()),r&&!I&&function(){for(var t=It+Math.min(Q,rt),e=Lt;e--;){var n=G[e];It<=e&&e<t?(zi(n,"tns-moving"),n.style.left=100*(e-It)/rt+"%",zi(n,P),Wi(n,W)):n.style.left&&(n.style.left="",zi(n,W),Wi(n,P)),Wi(n,z)}setTimeout(function(){Ii(G,function(t){Wi(t,"tns-moving")})},300)}(),!Kt&&!_t){if(e&&!D&&(et===A&&nt===E||(j.style.cssText=cn(et,nt,tt,st,dt)),F)){I&&(V.style.width=fn(tt,nt,rt));var S=dn(tt,nt,rt)+vn(nt);u=Ri(o=Mt)-1,"deleteRule"in o?o.deleteRule(u):o.removeRule(u),ki(Mt,"#"+Yt+" > .tns-item",S,Ri(Mt))}dt&&Pn(),i&&($n(),Pt=It)}e&&Qt.emit("newBreakpointEnd",Ei(t))}}function Tn(){if(!tt&&!$)return Q<=(at?rt-(rt-1)/2:rt);var t=tt?(tt+nt)*Q:N[Q],e=et?it+2*et:it+nt;return at&&(e-=tt?(it-tt)/2:(it-(N[It+1]-N[It]-nt))/2),t<=e}function En(){for(var t in q=0,k)(t=parseInt(t))<=X&&(q=t)}function An(){!gt&&je&&Qi(je),!ht&&Ae&&Qi(Ae),vt||(xe?Qi(xe):(we&&Qi(we),Ce&&Qi(Ce)))}function Nn(){gt&&je&&Xi(je),ht&&Ae&&Xi(Ae),vt&&(xe?Xi(xe):(we&&Xi(we),Ce&&Xi(Ce)))}function Ln(){if(!Zt){if(et&&(j.style.margin="0px"),Nt)for(var t="tns-transparent",e=Nt;e--;)I&&zi(G[e],t),zi(G[Lt-e-1],t);An(),Zt=!0}}function Bn(){if(!Jt){if(Mt.disabled=!0,V.className=V.className.replace(Xt.substring(1),""),Vi(V,["style"]),ft)for(var t=Nt;t--;)I&&Qi(G[t]),Qi(G[Lt-t-1]);if(F&&I||Vi(j,["style"]),!I)for(var e=It,n=It+Q;e<n;e++){var i=G[e];Vi(i,["style"]),Wi(i,P),Wi(i,W)}An(),Jt=!0}}function Sn(){var t=Hn();B.innerHTML!==t&&(B.innerHTML=t)}function Hn(){var t=On(),e=t[0]+1,n=t[1]+1;return e===n?e+"":e+" to "+n}function On(t){null==t&&(t=Zn());var n,i,a,r=It;if(at||et?($||tt)&&(i=-(parseFloat(t)+et),a=i+it+2*et):$&&(i=N[It],a=i+it),$)N.forEach(function(t,e){e<Lt&&((at||et)&&t<=i+.5&&(r=e),.5<=a-t&&(n=e))});else{if(tt){var e=tt+nt;at||et?(r=Math.floor(i/e),n=Math.ceil(a/e-1)):n=r+Math.ceil(it/e)-1}else if(at||et){var o=rt-1;if(at?(r-=o/2,n=It+o/2):n=It+o,et){var u=et*rt/it;r-=u,n+=u}r=Math.floor(r),n=Math.ceil(n)}else n=r+rt-1;r=Math.max(r,0),n=Math.min(n,Lt-1)}return[r,n]}function Dn(){if(Tt&&!Kt){var t=On();t.push(Et),In.apply(null,t).forEach(function(t){if(!Pi(t,pe)){var e={};e[s]=function(t){t.stopPropagation()},Ui(t,e),Ui(t,he),t.src=Fi(t,"data-src");var n=Fi(t,"data-srcset");n&&(t.srcset=n),zi(t,"loading")}})}}function kn(t){zi(t,"loaded"),Rn(t)}function Rn(t){zi(t,pe),Wi(t,"loading"),_i(t,he)}function In(t,e,n){var i=[];for(n||(n="img");t<=e;)Ii(G[t].querySelectorAll(n),function(t){i.push(t)}),t++;return i}function Pn(){var t=In.apply(null,On());Ai(function(){zn(t,Fn)})}function zn(n,t){return L?t():(n.forEach(function(t,e){!Tt&&t.complete&&Rn(t),Pi(t,pe)&&n.splice(e,1)}),n.length?void Ai(function(){zn(n,t)}):t())}function Wn(){Dn(),Vn(),Sn(),Kn(),function(){if(ht&&(He=0<=Se?Se:an(),Se=-1,He!==Oe)){var t=Ee[Oe],e=Ee[He];ji(t,{tabindex:"-1","aria-label":ke+(Oe+1)}),Wi(t,De),ji(e,{"aria-label":ke+(He+1)+Re}),Vi(e,"tabindex"),zi(e,De),Oe=He}}()}function qn(t,e){for(var n=[],i=t,a=Math.min(t+e,Lt);i<a;i++)n.push(G[i].offsetHeight);return Math.max.apply(null,n)}function Fn(){var t=dt?qn(It,rt):qn(Nt,Q),e=M||j;e.style.height!==t&&(e.style.height=t+"px")}function jn(){N=[0];var n=F?"left":"top",i=F?"right":"bottom",a=G[0].getBoundingClientRect()[n];Ii(G,function(t,e){e&&N.push(t.getBoundingClientRect()[n]-a),e===Lt-1&&N.push(t.getBoundingClientRect()[i]-a)})}function Vn(){var t=On(),n=t[0],i=t[1];Ii(G,function(t,e){n<=e&&e<=i?qi(t,"aria-hidden")&&(Vi(t,["aria-hidden","tabindex"]),zi(t,de)):qi(t,"aria-hidden")||(ji(t,{"aria-hidden":"true",tabindex:"-1"}),Wi(t,de))})}function Gn(t){return t.nodeName.toLowerCase()}function Qn(t){return"button"===Gn(t)}function Xn(t){return"true"===t.getAttribute("aria-disabled")}function Yn(t,e,n){t?e.disabled=n:e.setAttribute("aria-disabled",n.toString())}function Kn(){if(vt&&!ct&&!ft){var t=ye?we.disabled:Xn(we),e=ge?Ce.disabled:Xn(Ce),n=It<=zt,i=!ct&&Wt<=It;n&&!t&&Yn(ye,we,!0),!n&&t&&Yn(ye,we,!1),i&&!e&&Yn(ge,Ce,!0),!i&&e&&Yn(ge,Ce,!1)}}function Jn(t,e){x&&(t.style[x]=e)}function Un(t){return null==t&&(t=It),$?(it-(et?nt:0)-(N[t+1]-N[t]-nt))/2:tt?(it-tt)/2:(rt-1)/2}function _n(){var t=it+(et?nt:0)-(tt?(tt+nt)*Lt:N[Lt]);return at&&!ft&&(t=tt?-(tt+nt)*(Lt-1)-Un():Un(Lt-1)-N[Lt-1]),0<t&&(t=0),t}function Zn(t){var e;if(null==t&&(t=It),F&&!$)if(tt)e=-(tt+nt)*t,at&&(e+=Un());else{var n=r?Lt:rt;at&&(t-=Un()),e=100*-t/n}else e=-N[t],at&&$&&(e+=Un());return Bt&&(e=Math.max(e,St)),e+=!F||$||tt?"px":"%"}function $n(t){Jn(V,"0s"),ti(t)}function ti(t){null==t&&(t=Zn()),V.style[Ot]=Dt+t+kt}function ei(t,e,n,i){var a=t+rt;ft||(a=Math.min(a,Lt));for(var r=t;r<a;r++){var o=G[r];i||(o.style.left=100*(r-It)/rt+"%"),C&&u&&(o.style[u]=o.style[l]=C*(r-t)/1e3+"s"),Wi(o,e),zi(o,n),i&&At.push(o)}}function ni(t,e){Ht&&_e(),(It!==Pt||e)&&(Qt.emit("indexChanged",Ei()),Qt.emit("transitionStart",Ei()),dt&&Pn(),Pe&&t&&0<=["click","keydown"].indexOf(t.type)&&fi(),Vt=!0,Ze())}function ii(t){return t.toLowerCase().replace(/-/g,"")}function ai(t){if(I||Vt){if(Qt.emit("transitionEnd",Ei(t)),!I&&0<At.length)for(var e=0;e<At.length;e++){var n=At[e];n.style.left="",l&&u&&(n.style[l]="",n.style[u]=""),Wi(n,z),zi(n,W)}if(!t||!I&&t.target.parentNode===V||t.target===V&&ii(t.propertyName)===ii(Ot)){if(!Ht){var i=It;_e(),It!==i&&(Qt.emit("indexChanged",Ei()),$n())}"inner"===R&&Qt.emit("innerLoaded",Ei()),Vt=!1,Pt=It}}}function ri(t,e){if(!_t)if("prev"===t)oi(e,-1);else if("next"===t)oi(e,1);else{if(Vt){if(qt)return;ai()}var n=nn(),i=0;if("first"===t?i=-n:"last"===t?i=I?Q-rt-n:Q-1-n:("number"!=typeof t&&(t=parseInt(t)),isNaN(t)||(e||(t=Math.max(0,Math.min(Q-1,t))),i=t-n)),!I&&i&&Math.abs(i)<rt){var a=0<i?1:-1;i+=zt<=It+i-Q?Q*a:2*Q*a*-1}It+=i,I&&ft&&(It<zt&&(It+=Q),Wt<It&&(It-=Q)),nn(It)!==nn(Pt)&&ni(e)}}function oi(t,e){if(Vt){if(qt)return;ai()}var n;if(!e){for(var i=hi(t=pi(t));i!==xe&&[we,Ce].indexOf(i)<0;)i=i.parentNode;var a=[we,Ce].indexOf(i);0<=a&&(n=!0,e=0===a?-1:1)}if(ct){if(It===zt&&-1===e)return void ri("last",t);if(It===Wt&&1===e)return void ri("first",t)}e&&(It+=ot*e,$&&(It=Math.floor(It)),ni(n||t&&"keydown"===t.type?t:null))}function ui(){Ie=setInterval(function(){oi(null,Fe)},xt),Pe=!0}function li(){clearInterval(Ie),Pe=!1}function si(t,e){ji(je,{"data-action":t}),je.innerHTML=Ge[0]+t+Ge[1]+e}function ci(){ui(),je&&si("stop",bt[1])}function fi(){li(),je&&si("start",bt[0])}function di(){Pe?(fi(),We=!0):(ci(),We=!1)}function vi(t){t.focus()}function pi(t){return mi(t=t||m.event)?t.changedTouches[0]:t}function hi(t){return t.target||m.event.srcElement}function mi(t){return 0<=t.type.indexOf("touch")}function yi(t){t.preventDefault?t.preventDefault():t.returnValue=!1}function gi(){return a=Ke.y-Ye.y,r=Ke.x-Ye.x,t=Math.atan2(a,r)*(180/Math.PI),e=Ft,n=!1,i=Math.abs(90-Math.abs(t)),90-e<=i?n="horizontal":i<=e&&(n="vertical"),n===H.axis;var t,e,n,i,a,r}function xi(t){if(Vt){if(qt)return;ai()}gt&&Pe&&li(),Je=!0,Xe&&(Ni(Xe),Xe=null);var e=pi(t);Qt.emit(mi(t)?"touchStart":"dragStart",Ei(t)),!mi(t)&&0<=["img","a"].indexOf(Gn(hi(t)))&&yi(t),Ke.x=Ye.x=e.clientX,Ke.y=Ye.y=e.clientY,I&&(Qe=parseFloat(V.style[Ot].replace(Dt,"")),Jn(V,"0s"))}function bi(t){if(Je){var e=pi(t);Ke.x=e.clientX,Ke.y=e.clientY,I?Xe||(Xe=Ai(function(){!function t(e){if(!jt)return void(Je=!1);Ni(Xe);Je&&(Xe=Ai(function(){t(e)}));"?"===jt&&(jt=gi());if(jt){!me&&mi(e)&&(me=!0);try{e.type&&Qt.emit(mi(e)?"touchMove":"dragMove",Ei(e))}catch(t){}var n=Qe,i=Ue(Ke,Ye);if(!F||tt||$)n+=i,n+="px";else{var a=r?i*rt*100/((it+nt)*Lt):100*i/(it+nt);n+=a,n+="%"}V.style[Ot]=Dt+n+kt}}(t)})):("?"===jt&&(jt=gi()),jt&&(me=!0)),("boolean"!=typeof t.cancelable||t.cancelable)&&me&&t.preventDefault()}}function wi(i){if(Je){Xe&&(Ni(Xe),Xe=null),I&&Jn(V,""),Je=!1;var t=pi(i);Ke.x=t.clientX,Ke.y=t.clientY;var a=Ue(Ke,Ye);if(Math.abs(a)){if(!mi(i)){var n=hi(i);Ui(n,{click:function t(e){yi(e),_i(n,{click:t})}})}I?Xe=Ai(function(){if(F&&!$){var t=-a*rt/(it+nt);t=0<a?Math.floor(t):Math.ceil(t),It+=t}else{var e=-(Qe+a);if(e<=0)It=zt;else if(e>=N[Lt-1])It=Wt;else for(var n=0;n<Lt&&e>=N[n];)e>N[It=n]&&a<0&&(It+=1),n++}ni(i,a),Qt.emit(mi(i)?"touchEnd":"dragEnd",Ei(i))}):jt&&oi(i,0<a?-1:1)}}"auto"===H.preventScrollOnTouch&&(me=!1),Ft&&(jt="?"),gt&&!Pe&&ui()}function Ci(){(M||j).style.height=N[It+rt]-N[It]+"px"}function Mi(){var t=tt?(tt+nt)*Q/it:Q/rt;return Math.min(Math.ceil(t),Q)}function Ti(){if(ht&&!le&&Le!==Be){var t=Be,e=Le,n=Xi;for(Le<Be&&(t=Le,e=Be,n=Qi);t<e;)n(Ee[t]),t++;Be=Le}}function Ei(t){return{container:V,slideItems:G,navContainer:Ae,navItems:Ee,controlsContainer:xe,hasControls:oe,prevButton:we,nextButton:Ce,items:rt,slideBy:ot,cloneCount:Nt,slideCount:Q,slideCountNew:Lt,index:It,indexCached:Pt,displayIndex:tn(),navCurrentIndex:He,navCurrentIndexCached:Oe,pages:Le,pagesCached:Be,sheet:Mt,isOn:Y,event:t||{}}}f&&console.warn("No slides found in",H.container)};return $i}();
32259//# sourceMappingURL=../sourcemaps/tiny-slider.js.map
32260
vendor: 106,364 bytes, lines 32261-34601
32261(function (global, factory) {
32262    typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
32263    typeof define === 'function' && define.amd ? define(['exports'], factory) :
32264    (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.noUiSlider = {}));
32265})(this, (function (exports) { 'use strict';
32266
32267    exports.PipsMode = void 0;
32268    (function (PipsMode) {
32269        PipsMode["Range"] = "range";
32270        PipsMode["Steps"] = "steps";
32271        PipsMode["Positions"] = "positions";
32272        PipsMode["Count"] = "count";
32273        PipsMode["Values"] = "values";
32274    })(exports.PipsMode || (exports.PipsMode = {}));
32275    exports.PipsType = void 0;
32276    (function (PipsType) {
32277        PipsType[PipsType["None"] = -1] = "None";
32278        PipsType[PipsType["NoValue"] = 0] = "NoValue";
32279        PipsType[PipsType["LargeValue"] = 1] = "LargeValue";
32280        PipsType[PipsType["SmallValue"] = 2] = "SmallValue";
32281    })(exports.PipsType || (exports.PipsType = {}));
32282    //region Helper Methods
32283    function isValidFormatter(entry) {
32284        return isValidPartialFormatter(entry) && typeof entry.from === "function";
32285    }
32286    function isValidPartialFormatter(entry) {
32287        // partial formatters only need a to function and not a from function
32288        return typeof entry === "object" && typeof entry.to === "function";
32289    }
32290    function removeElement(el) {
32291        el.parentElement.removeChild(el);
32292    }
32293    function isSet(value) {
32294        return value !== null && value !== undefined;
32295    }
32296    // Bindable version
32297    function preventDefault(e) {
32298        e.preventDefault();
32299    }
32300    // Removes duplicates from an array.
32301    function unique(array) {
32302        return array.filter(function (a) {
32303            return !this[a] ? (this[a] = true) : false;
32304        }, {});
32305    }
32306    // Round a value to the closest 'to'.
32307    function closest(value, to) {
32308        return Math.round(value / to) * to;
32309    }
32310    // Current position of an element relative to the document.
32311    function offset(elem, orientation) {
32312        var rect = elem.getBoundingClientRect();
32313        var doc = elem.ownerDocument;
32314        var docElem = doc.documentElement;
32315        var pageOffset = getPageOffset(doc);
32316        // getBoundingClientRect contains left scroll in Chrome on Android.
32317        // I haven't found a feature detection that proves this. Worst case
32318        // scenario on mis-match: the 'tap' feature on horizontal sliders breaks.
32319        if (/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)) {
32320            pageOffset.x = 0;
32321        }
32322        return orientation ? rect.top + pageOffset.y - docElem.clientTop : rect.left + pageOffset.x - docElem.clientLeft;
32323    }
32324    // Checks whether a value is numerical.
32325    function isNumeric(a) {
32326        return typeof a === "number" && !isNaN(a) && isFinite(a);
32327    }
32328    // Sets a class and removes it after [duration] ms.
32329    function addClassFor(element, className, duration) {
32330        if (duration > 0) {
32331            addClass(element, className);
32332            setTimeout(function () {
32333                removeClass(element, className);
32334            }, duration);
32335        }
32336    }
32337    // Limits a value to 0 - 100
32338    function limit(a) {
32339        return Math.max(Math.min(a, 100), 0);
32340    }
32341    // Wraps a variable as an array, if it isn't one yet.
32342    // Note that an input array is returned by reference!
32343    function asArray(a) {
32344        return Array.isArray(a) ? a : [a];
32345    }
32346    // Counts decimals
32347    function countDecimals(numStr) {
32348        numStr = String(numStr);
32349        var pieces = numStr.split(".");
32350        return pieces.length > 1 ? pieces[1].length : 0;
32351    }
32352    // http://youmightnotneedjquery.com/#add_class
32353    function addClass(el, className) {
32354        if (el.classList && !/\s/.test(className)) {
32355            el.classList.add(className);
32356        }
32357        else {
32358            el.className += " " + className;
32359        }
32360    }
32361    // http://youmightnotneedjquery.com/#remove_class
32362    function removeClass(el, className) {
32363        if (el.classList && !/\s/.test(className)) {
32364            el.classList.remove(className);
32365        }
32366        else {
32367            el.className = el.className.replace(new RegExp("(^|\\b)" + className.split(" ").join("|") + "(\\b|$)", "gi"), " ");
32368        }
32369    }
32370    // https://plainjs.com/javascript/attributes/adding-removing-and-testing-for-classes-9/
32371    function hasClass(el, className) {
32372        return el.classList ? el.classList.contains(className) : new RegExp("\\b" + className + "\\b").test(el.className);
32373    }
32374    // https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollY#Notes
32375    function getPageOffset(doc) {
32376        var supportPageOffset = window.pageXOffset !== undefined;
32377        var isCSS1Compat = (doc.compatMode || "") === "CSS1Compat";
32378        var x = supportPageOffset
32379            ? window.pageXOffset
32380            : isCSS1Compat
32381                ? doc.documentElement.scrollLeft
32382                : doc.body.scrollLeft;
32383        var y = supportPageOffset
32384            ? window.pageYOffset
32385            : isCSS1Compat
32386                ? doc.documentElement.scrollTop
32387                : doc.body.scrollTop;
32388        return {
32389            x: x,
32390            y: y,
32391        };
32392    }
32393    // we provide a function to compute constants instead
32394    // of accessing window.* as soon as the module needs it
32395    // so that we do not compute anything if not needed
32396    function getActions() {
32397        // Determine the events to bind. IE11 implements pointerEvents without
32398        // a prefix, which breaks compatibility with the IE10 implementation.
32399        return window.navigator.pointerEnabled
32400            ? {
32401                start: "pointerdown",
32402                move: "pointermove",
32403                end: "pointerup",
32404            }
32405            : window.navigator.msPointerEnabled
32406                ? {
32407                    start: "MSPointerDown",
32408                    move: "MSPointerMove",
32409                    end: "MSPointerUp",
32410                }
32411                : {
32412                    start: "mousedown touchstart",
32413                    move: "mousemove touchmove",
32414                    end: "mouseup touchend",
32415                };
32416    }
32417    // https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md
32418    // Issue #785
32419    function getSupportsPassive() {
32420        var supportsPassive = false;
32421        /* eslint-disable */
32422        try {
32423            var opts = Object.defineProperty({}, "passive", {
32424                get: function () {
32425                    supportsPassive = true;
32426                },
32427            });
32428            // @ts-ignore
32429            window.addEventListener("test", null, opts);
32430        }
32431        catch (e) { }
32432        /* eslint-enable */
32433        return supportsPassive;
32434    }
32435    function getSupportsTouchActionNone() {
32436        return window.CSS && CSS.supports && CSS.supports("touch-action", "none");
32437    }
32438    //endregion
32439    //region Range Calculation
32440    // Determine the size of a sub-range in relation to a full range.
32441    function subRangeRatio(pa, pb) {
32442        return 100 / (pb - pa);
32443    }
32444    // (percentage) How many percent is this value of this range?
32445    function fromPercentage(range, value, startRange) {
32446        return (value * 100) / (range[startRange + 1] - range[startRange]);
32447    }
32448    // (percentage) Where is this value on this range?
32449    function toPercentage(range, value) {
32450        return fromPercentage(range, range[0] < 0 ? value + Math.abs(range[0]) : value - range[0], 0);
32451    }
32452    // (value) How much is this percentage on this range?
32453    function isPercentage(range, value) {
32454        return (value * (range[1] - range[0])) / 100 + range[0];
32455    }
32456    function getJ(value, arr) {
32457        var j = 1;
32458        while (value >= arr[j]) {
32459            j += 1;
32460        }
32461        return j;
32462    }
32463    // (percentage) Input a value, find where, on a scale of 0-100, it applies.
32464    function toStepping(xVal, xPct, value) {
32465        if (value >= xVal.slice(-1)[0]) {
32466            return 100;
32467        }
32468        var j = getJ(value, xVal);
32469        var va = xVal[j - 1];
32470        var vb = xVal[j];
32471        var pa = xPct[j - 1];
32472        var pb = xPct[j];
32473        return pa + toPercentage([va, vb], value) / subRangeRatio(pa, pb);
32474    }
32475    // (value) Input a percentage, find where it is on the specified range.
32476    function fromStepping(xVal, xPct, value) {
32477        // There is no range group that fits 100
32478        if (value >= 100) {
32479            return xVal.slice(-1)[0];
32480        }
32481        var j = getJ(value, xPct);
32482        var va = xVal[j - 1];
32483        var vb = xVal[j];
32484        var pa = xPct[j - 1];
32485        var pb = xPct[j];
32486        return isPercentage([va, vb], (value - pa) * subRangeRatio(pa, pb));
32487    }
32488    // (percentage) Get the step that applies at a certain value.
32489    function getStep(xPct, xSteps, snap, value) {
32490        if (value === 100) {
32491            return value;
32492        }
32493        var j = getJ(value, xPct);
32494        var a = xPct[j - 1];
32495        var b = xPct[j];
32496        // If 'snap' is set, steps are used as fixed points on the slider.
32497        if (snap) {
32498            // Find the closest position, a or b.
32499            if (value - a > (b - a) / 2) {
32500                return b;
32501            }
32502            return a;
32503        }
32504        if (!xSteps[j - 1]) {
32505            return value;
32506        }
32507        return xPct[j - 1] + closest(value - xPct[j - 1], xSteps[j - 1]);
32508    }
32509    //endregion
32510    //region Spectrum
32511    var Spectrum = /** @class */ (function () {
32512        function Spectrum(entry, snap, singleStep) {
32513            this.xPct = [];
32514            this.xVal = [];
32515            this.xSteps = [];
32516            this.xNumSteps = [];
32517            this.xHighestCompleteStep = [];
32518            this.xSteps = [singleStep || false];
32519            this.xNumSteps = [false];
32520            this.snap = snap;
32521            var index;
32522            var ordered = [];
32523            // Map the object keys to an array.
32524            Object.keys(entry).forEach(function (index) {
32525                ordered.push([asArray(entry[index]), index]);
32526            });
32527            // Sort all entries by value (numeric sort).
32528            ordered.sort(function (a, b) {
32529                return a[0][0] - b[0][0];
32530            });
32531            // Convert all entries to subranges.
32532            for (index = 0; index < ordered.length; index++) {
32533                this.handleEntryPoint(ordered[index][1], ordered[index][0]);
32534            }
32535            // Store the actual step values.
32536            // xSteps is sorted in the same order as xPct and xVal.
32537            this.xNumSteps = this.xSteps.slice(0);
32538            // Convert all numeric steps to the percentage of the subrange they represent.
32539            for (index = 0; index < this.xNumSteps.length; index++) {
32540                this.handleStepPoint(index, this.xNumSteps[index]);
32541            }
32542        }
32543        Spectrum.prototype.getDistance = function (value) {
32544            var distances = [];
32545            for (var index = 0; index < this.xNumSteps.length - 1; index++) {
32546                distances[index] = fromPercentage(this.xVal, value, index);
32547            }
32548            return distances;
32549        };
32550        // Calculate the percentual distance over the whole scale of ranges.
32551        // direction: 0 = backwards / 1 = forwards
32552        Spectrum.prototype.getAbsoluteDistance = function (value, distances, direction) {
32553            var xPct_index = 0;
32554            // Calculate range where to start calculation
32555            if (value < this.xPct[this.xPct.length - 1]) {
32556                while (value > this.xPct[xPct_index + 1]) {
32557                    xPct_index++;
32558                }
32559            }
32560            else if (value === this.xPct[this.xPct.length - 1]) {
32561                xPct_index = this.xPct.length - 2;
32562            }
32563            // If looking backwards and the value is exactly at a range separator then look one range further
32564            if (!direction && value === this.xPct[xPct_index + 1]) {
32565                xPct_index++;
32566            }
32567            if (distances === null) {
32568                distances = [];
32569            }
32570            var start_factor;
32571            var rest_factor = 1;
32572            var rest_rel_distance = distances[xPct_index];
32573            var range_pct = 0;
32574            var rel_range_distance = 0;
32575            var abs_distance_counter = 0;
32576            var range_counter = 0;
32577            // Calculate what part of the start range the value is
32578            if (direction) {
32579                start_factor = (value - this.xPct[xPct_index]) / (this.xPct[xPct_index + 1] - this.xPct[xPct_index]);
32580            }
32581            else {
32582                start_factor = (this.xPct[xPct_index + 1] - value) / (this.xPct[xPct_index + 1] - this.xPct[xPct_index]);
32583            }
32584            // Do until the complete distance across ranges is calculated
32585            while (rest_rel_distance > 0) {
32586                // Calculate the percentage of total range
32587                range_pct = this.xPct[xPct_index + 1 + range_counter] - this.xPct[xPct_index + range_counter];
32588                // Detect if the margin, padding or limit is larger then the current range and calculate
32589                if (distances[xPct_index + range_counter] * rest_factor + 100 - start_factor * 100 > 100) {
32590                    // If larger then take the percentual distance of the whole range
32591                    rel_range_distance = range_pct * start_factor;
32592                    // Rest factor of relative percentual distance still to be calculated
32593                    rest_factor = (rest_rel_distance - 100 * start_factor) / distances[xPct_index + range_counter];
32594                    // Set start factor to 1 as for next range it does not apply.
32595                    start_factor = 1;
32596                }
32597                else {
32598                    // If smaller or equal then take the percentual distance of the calculate percentual part of that range
32599                    rel_range_distance = ((distances[xPct_index + range_counter] * range_pct) / 100) * rest_factor;
32600                    // No rest left as the rest fits in current range
32601                    rest_factor = 0;
32602                }
32603                if (direction) {
32604                    abs_distance_counter = abs_distance_counter - rel_range_distance;
32605                    // Limit range to first range when distance becomes outside of minimum range
32606                    if (this.xPct.length + range_counter >= 1) {
32607                        range_counter--;
32608                    }
32609                }
32610                else {
32611                    abs_distance_counter = abs_distance_counter + rel_range_distance;
32612                    // Limit range to last range when distance becomes outside of maximum range
32613                    if (this.xPct.length - range_counter >= 1) {
32614                        range_counter++;
32615                    }
32616                }
32617                // Rest of relative percentual distance still to be calculated
32618                rest_rel_distance = distances[xPct_index + range_counter] * rest_factor;
32619            }
32620            return value + abs_distance_counter;
32621        };
32622        Spectrum.prototype.toStepping = function (value) {
32623            value = toStepping(this.xVal, this.xPct, value);
32624            return value;
32625        };
32626        Spectrum.prototype.fromStepping = function (value) {
32627            return fromStepping(this.xVal, this.xPct, value);
32628        };
32629        Spectrum.prototype.getStep = function (value) {
32630            value = getStep(this.xPct, this.xSteps, this.snap, value);
32631            return value;
32632        };
32633        Spectrum.prototype.getDefaultStep = function (value, isDown, size) {
32634            var j = getJ(value, this.xPct);
32635            // When at the top or stepping down, look at the previous sub-range
32636            if (value === 100 || (isDown && value === this.xPct[j - 1])) {
32637                j = Math.max(j - 1, 1);
32638            }
32639            return (this.xVal[j] - this.xVal[j - 1]) / size;
32640        };
32641        Spectrum.prototype.getNearbySteps = function (value) {
32642            var j = getJ(value, this.xPct);
32643            return {
32644                stepBefore: {
32645                    startValue: this.xVal[j - 2],
32646                    step: this.xNumSteps[j - 2],
32647                    highestStep: this.xHighestCompleteStep[j - 2],
32648                },
32649                thisStep: {
32650                    startValue: this.xVal[j - 1],
32651                    step: this.xNumSteps[j - 1],
32652                    highestStep: this.xHighestCompleteStep[j - 1],
32653                },
32654                stepAfter: {
32655                    startValue: this.xVal[j],
32656                    step: this.xNumSteps[j],
32657                    highestStep: this.xHighestCompleteStep[j],
32658                },
32659            };
32660        };
32661        Spectrum.prototype.countStepDecimals = function () {
32662            var stepDecimals = this.xNumSteps.map(countDecimals);
32663            return Math.max.apply(null, stepDecimals);
32664        };
32665        Spectrum.prototype.hasNoSize = function () {
32666            return this.xVal[0] === this.xVal[this.xVal.length - 1];
32667        };
32668        // Outside testing
32669        Spectrum.prototype.convert = function (value) {
32670            return this.getStep(this.toStepping(value));
32671        };
32672        Spectrum.prototype.handleEntryPoint = function (index, value) {
32673            var percentage;
32674            // Covert min/max syntax to 0 and 100.
32675            if (index === "min") {
32676                percentage = 0;
32677            }
32678            else if (index === "max") {
32679                percentage = 100;
32680            }
32681            else {
32682                percentage = parseFloat(index);
32683            }
32684            // Check for correct input.
32685            if (!isNumeric(percentage) || !isNumeric(value[0])) {
32686                throw new Error("noUiSlider: 'range' value isn't numeric.");
32687            }
32688            // Store values.
32689            this.xPct.push(percentage);
32690            this.xVal.push(value[0]);
32691            var value1 = Number(value[1]);
32692            // NaN will evaluate to false too, but to keep
32693            // logging clear, set step explicitly. Make sure
32694            // not to override the 'step' setting with false.
32695            if (!percentage) {
32696                if (!isNaN(value1)) {
32697                    this.xSteps[0] = value1;
32698                }
32699            }
32700            else {
32701                this.xSteps.push(isNaN(value1) ? false : value1);
32702            }
32703            this.xHighestCompleteStep.push(0);
32704        };
32705        Spectrum.prototype.handleStepPoint = function (i, n) {
32706            // Ignore 'false' stepping.
32707            if (!n) {
32708                return;
32709            }
32710            // Step over zero-length ranges (#948);
32711            if (this.xVal[i] === this.xVal[i + 1]) {
32712                this.xSteps[i] = this.xHighestCompleteStep[i] = this.xVal[i];
32713                return;
32714            }
32715            // Factor to range ratio
32716            this.xSteps[i] =
32717                fromPercentage([this.xVal[i], this.xVal[i + 1]], n, 0) / subRangeRatio(this.xPct[i], this.xPct[i + 1]);
32718            var totalSteps = (this.xVal[i + 1] - this.xVal[i]) / this.xNumSteps[i];
32719            var highestStep = Math.ceil(Number(totalSteps.toFixed(3)) - 1);
32720            var step = this.xVal[i] + this.xNumSteps[i] * highestStep;
32721            this.xHighestCompleteStep[i] = step;
32722        };
32723        return Spectrum;
32724    }());
32725    //endregion
32726    //region Options
32727    /*	Every input option is tested and parsed. This will prevent
32728        endless validation in internal methods. These tests are
32729        structured with an item for every option available. An
32730        option can be marked as required by setting the 'r' flag.
32731        The testing function is provided with three arguments:
32732            - The provided value for the option;
32733            - A reference to the options object;
32734            - The name for the option;
32735
32736        The testing function returns false when an error is detected,
32737        or true when everything is OK. It can also modify the option
32738        object, to make sure all values can be correctly looped elsewhere. */
32739    //region Defaults
32740    var defaultFormatter = {
32741        to: function (value) {
32742            return value === undefined ? "" : value.toFixed(2);
32743        },
32744        from: Number,
32745    };
32746    var cssClasses = {
32747        target: "target",
32748        base: "base",
32749        origin: "origin",
32750        handle: "handle",
32751        handleLower: "handle-lower",
32752        handleUpper: "handle-upper",
32753        touchArea: "touch-area",
32754        horizontal: "horizontal",
32755        vertical: "vertical",
32756        background: "background",
32757        connect: "connect",
32758        connects: "connects",
32759        ltr: "ltr",
32760        rtl: "rtl",
32761        textDirectionLtr: "txt-dir-ltr",
32762        textDirectionRtl: "txt-dir-rtl",
32763        draggable: "draggable",
32764        drag: "state-drag",
32765        tap: "state-tap",
32766        active: "active",
32767        tooltip: "tooltip",
32768        pips: "pips",
32769        pipsHorizontal: "pips-horizontal",
32770        pipsVertical: "pips-vertical",
32771        marker: "marker",
32772        markerHorizontal: "marker-horizontal",
32773        markerVertical: "marker-vertical",
32774        markerNormal: "marker-normal",
32775        markerLarge: "marker-large",
32776        markerSub: "marker-sub",
32777        value: "value",
32778        valueHorizontal: "value-horizontal",
32779        valueVertical: "value-vertical",
32780        valueNormal: "value-normal",
32781        valueLarge: "value-large",
32782        valueSub: "value-sub",
32783    };
32784    // Namespaces of internal event listeners
32785    var INTERNAL_EVENT_NS = {
32786        tooltips: ".__tooltips",
32787        aria: ".__aria",
32788    };
32789    //endregion
32790    function testStep(parsed, entry) {
32791        if (!isNumeric(entry)) {
32792            throw new Error("noUiSlider: 'step' is not numeric.");
32793        }
32794        // The step option can still be used to set stepping
32795        // for linear sliders. Overwritten if set in 'range'.
32796        parsed.singleStep = entry;
32797    }
32798    function testKeyboardPageMultiplier(parsed, entry) {
32799        if (!isNumeric(entry)) {
32800            throw new Error("noUiSlider: 'keyboardPageMultiplier' is not numeric.");
32801        }
32802        parsed.keyboardPageMultiplier = entry;
32803    }
32804    function testKeyboardMultiplier(parsed, entry) {
32805        if (!isNumeric(entry)) {
32806            throw new Error("noUiSlider: 'keyboardMultiplier' is not numeric.");
32807        }
32808        parsed.keyboardMultiplier = entry;
32809    }
32810    function testKeyboardDefaultStep(parsed, entry) {
32811        if (!isNumeric(entry)) {
32812            throw new Error("noUiSlider: 'keyboardDefaultStep' is not numeric.");
32813        }
32814        parsed.keyboardDefaultStep = entry;
32815    }
32816    function testRange(parsed, entry) {
32817        // Filter incorrect input.
32818        if (typeof entry !== "object" || Array.isArray(entry)) {
32819            throw new Error("noUiSlider: 'range' is not an object.");
32820        }
32821        // Catch missing start or end.
32822        if (entry.min === undefined || entry.max === undefined) {
32823            throw new Error("noUiSlider: Missing 'min' or 'max' in 'range'.");
32824        }
32825        parsed.spectrum = new Spectrum(entry, parsed.snap || false, parsed.singleStep);
32826    }
32827    function testStart(parsed, entry) {
32828        entry = asArray(entry);
32829        // Validate input. Values aren't tested, as the public .val method
32830        // will always provide a valid location.
32831        if (!Array.isArray(entry) || !entry.length) {
32832            throw new Error("noUiSlider: 'start' option is incorrect.");
32833        }
32834        // Store the number of handles.
32835        parsed.handles = entry.length;
32836        // When the slider is initialized, the .val method will
32837        // be called with the start options.
32838        parsed.start = entry;
32839    }
32840    function testSnap(parsed, entry) {
32841        if (typeof entry !== "boolean") {
32842            throw new Error("noUiSlider: 'snap' option must be a boolean.");
32843        }
32844        // Enforce 100% stepping within subranges.
32845        parsed.snap = entry;
32846    }
32847    function testAnimate(parsed, entry) {
32848        if (typeof entry !== "boolean") {
32849            throw new Error("noUiSlider: 'animate' option must be a boolean.");
32850        }
32851        // Enforce 100% stepping within subranges.
32852        parsed.animate = entry;
32853    }
32854    function testAnimationDuration(parsed, entry) {
32855        if (typeof entry !== "number") {
32856            throw new Error("noUiSlider: 'animationDuration' option must be a number.");
32857        }
32858        parsed.animationDuration = entry;
32859    }
32860    function testConnect(parsed, entry) {
32861        var connect = [false];
32862        var i;
32863        // Map legacy options
32864        if (entry === "lower") {
32865            entry = [true, false];
32866        }
32867        else if (entry === "upper") {
32868            entry = [false, true];
32869        }
32870        // Handle boolean options
32871        if (entry === true || entry === false) {
32872            for (i = 1; i < parsed.handles; i++) {
32873                connect.push(entry);
32874            }
32875            connect.push(false);
32876        }
32877        // Reject invalid input
32878        else if (!Array.isArray(entry) || !entry.length || entry.length !== parsed.handles + 1) {
32879            throw new Error("noUiSlider: 'connect' option doesn't match handle count.");
32880        }
32881        else {
32882            connect = entry;
32883        }
32884        parsed.connect = connect;
32885    }
32886    function testOrientation(parsed, entry) {
32887        // Set orientation to an a numerical value for easy
32888        // array selection.
32889        switch (entry) {
32890            case "horizontal":
32891                parsed.ort = 0;
32892                break;
32893            case "vertical":
32894                parsed.ort = 1;
32895                break;
32896            default:
32897                throw new Error("noUiSlider: 'orientation' option is invalid.");
32898        }
32899    }
32900    function testMargin(parsed, entry) {
32901        if (!isNumeric(entry)) {
32902            throw new Error("noUiSlider: 'margin' option must be numeric.");
32903        }
32904        // Issue #582
32905        if (entry === 0) {
32906            return;
32907        }
32908        parsed.margin = parsed.spectrum.getDistance(entry);
32909    }
32910    function testLimit(parsed, entry) {
32911        if (!isNumeric(entry)) {
32912            throw new Error("noUiSlider: 'limit' option must be numeric.");
32913        }
32914        parsed.limit = parsed.spectrum.getDistance(entry);
32915        if (!parsed.limit || parsed.handles < 2) {
32916            throw new Error("noUiSlider: 'limit' option is only supported on linear sliders with 2 or more handles.");
32917        }
32918    }
32919    function testPadding(parsed, entry) {
32920        var index;
32921        if (!isNumeric(entry) && !Array.isArray(entry)) {
32922            throw new Error("noUiSlider: 'padding' option must be numeric or array of exactly 2 numbers.");
32923        }
32924        if (Array.isArray(entry) && !(entry.length === 2 || isNumeric(entry[0]) || isNumeric(entry[1]))) {
32925            throw new Error("noUiSlider: 'padding' option must be numeric or array of exactly 2 numbers.");
32926        }
32927        if (entry === 0) {
32928            return;
32929        }
32930        if (!Array.isArray(entry)) {
32931            entry = [entry, entry];
32932        }
32933        // 'getDistance' returns false for invalid values.
32934        parsed.padding = [parsed.spectrum.getDistance(entry[0]), parsed.spectrum.getDistance(entry[1])];
32935        for (index = 0; index < parsed.spectrum.xNumSteps.length - 1; index++) {
32936            // last "range" can't contain step size as it is purely an endpoint.
32937            if (parsed.padding[0][index] < 0 || parsed.padding[1][index] < 0) {
32938                throw new Error("noUiSlider: 'padding' option must be a positive number(s).");
32939            }
32940        }
32941        var totalPadding = entry[0] + entry[1];
32942        var firstValue = parsed.spectrum.xVal[0];
32943        var lastValue = parsed.spectrum.xVal[parsed.spectrum.xVal.length - 1];
32944        if (totalPadding / (lastValue - firstValue) > 1) {
32945            throw new Error("noUiSlider: 'padding' option must not exceed 100% of the range.");
32946        }
32947    }
32948    function testDirection(parsed, entry) {
32949        // Set direction as a numerical value for easy parsing.
32950        // Invert connection for RTL sliders, so that the proper
32951        // handles get the connect/background classes.
32952        switch (entry) {
32953            case "ltr":
32954                parsed.dir = 0;
32955                break;
32956            case "rtl":
32957                parsed.dir = 1;
32958                break;
32959            default:
32960                throw new Error("noUiSlider: 'direction' option was not recognized.");
32961        }
32962    }
32963    function testBehaviour(parsed, entry) {
32964        // Make sure the input is a string.
32965        if (typeof entry !== "string") {
32966            throw new Error("noUiSlider: 'behaviour' must be a string containing options.");
32967        }
32968        // Check if the string contains any keywords.
32969        // None are required.
32970        var tap = entry.indexOf("tap") >= 0;
32971        var drag = entry.indexOf("drag") >= 0;
32972        var fixed = entry.indexOf("fixed") >= 0;
32973        var snap = entry.indexOf("snap") >= 0;
32974        var hover = entry.indexOf("hover") >= 0;
32975        var unconstrained = entry.indexOf("unconstrained") >= 0;
32976        var invertConnects = entry.indexOf("invert-connects") >= 0;
32977        var dragAll = entry.indexOf("drag-all") >= 0;
32978        var smoothSteps = entry.indexOf("smooth-steps") >= 0;
32979        if (fixed) {
32980            if (parsed.handles !== 2) {
32981                throw new Error("noUiSlider: 'fixed' behaviour must be used with 2 handles");
32982            }
32983            // Use margin to enforce fixed state
32984            testMargin(parsed, parsed.start[1] - parsed.start[0]);
32985        }
32986        if (invertConnects && parsed.handles !== 2) {
32987            throw new Error("noUiSlider: 'invert-connects' behaviour must be used with 2 handles");
32988        }
32989        if (unconstrained && (parsed.margin || parsed.limit)) {
32990            throw new Error("noUiSlider: 'unconstrained' behaviour cannot be used with margin or limit");
32991        }
32992        parsed.events = {
32993            tap: tap || snap,
32994            drag: drag,
32995            dragAll: dragAll,
32996            smoothSteps: smoothSteps,
32997            fixed: fixed,
32998            snap: snap,
32999            hover: hover,
33000            unconstrained: unconstrained,
33001            invertConnects: invertConnects,
33002        };
33003    }
33004    function testTooltips(parsed, entry) {
33005        if (entry === false) {
33006            return;
33007        }
33008        if (entry === true || isValidPartialFormatter(entry)) {
33009            parsed.tooltips = [];
33010            for (var i = 0; i < parsed.handles; i++) {
33011                parsed.tooltips.push(entry);
33012            }
33013        }
33014        else {
33015            entry = asArray(entry);
33016            if (entry.length !== parsed.handles) {
33017                throw new Error("noUiSlider: must pass a formatter for all handles.");
33018            }
33019            entry.forEach(function (formatter) {
33020                if (typeof formatter !== "boolean" && !isValidPartialFormatter(formatter)) {
33021                    throw new Error("noUiSlider: 'tooltips' must be passed a formatter or 'false'.");
33022                }
33023            });
33024            parsed.tooltips = entry;
33025        }
33026    }
33027    function testHandleAttributes(parsed, entry) {
33028        if (entry.length !== parsed.handles) {
33029            throw new Error("noUiSlider: must pass a attributes for all handles.");
33030        }
33031        parsed.handleAttributes = entry;
33032    }
33033    function testAriaFormat(parsed, entry) {
33034        if (!isValidPartialFormatter(entry)) {
33035            throw new Error("noUiSlider: 'ariaFormat' requires 'to' method.");
33036        }
33037        parsed.ariaFormat = entry;
33038    }
33039    function testFormat(parsed, entry) {
33040        if (!isValidFormatter(entry)) {
33041            throw new Error("noUiSlider: 'format' requires 'to' and 'from' methods.");
33042        }
33043        parsed.format = entry;
33044    }
33045    function testKeyboardSupport(parsed, entry) {
33046        if (typeof entry !== "boolean") {
33047            throw new Error("noUiSlider: 'keyboardSupport' option must be a boolean.");
33048        }
33049        parsed.keyboardSupport = entry;
33050    }
33051    function testDocumentElement(parsed, entry) {
33052        // This is an advanced option. Passed values are used without validation.
33053        parsed.documentElement = entry;
33054    }
33055    function testCssPrefix(parsed, entry) {
33056        if (typeof entry !== "string" && entry !== false) {
33057            throw new Error("noUiSlider: 'cssPrefix' must be a string or `false`.");
33058        }
33059        parsed.cssPrefix = entry;
33060    }
33061    function testCssClasses(parsed, entry) {
33062        if (typeof entry !== "object") {
33063            throw new Error("noUiSlider: 'cssClasses' must be an object.");
33064        }
33065        if (typeof parsed.cssPrefix === "string") {
33066            parsed.cssClasses = {};
33067            Object.keys(entry).forEach(function (key) {
33068                parsed.cssClasses[key] = parsed.cssPrefix + entry[key];
33069            });
33070        }
33071        else {
33072            parsed.cssClasses = entry;
33073        }
33074    }
33075    // Test all developer settings and parse to assumption-safe values.
33076    function testOptions(options) {
33077        // To prove a fix for #537, freeze options here.
33078        // If the object is modified, an error will be thrown.
33079        // Object.freeze(options);
33080        var parsed = {
33081            margin: null,
33082            limit: null,
33083            padding: null,
33084            animate: true,
33085            animationDuration: 300,
33086            ariaFormat: defaultFormatter,
33087            format: defaultFormatter,
33088        };
33089        // Tests are executed in the order they are presented here.
33090        var tests = {
33091            step: { r: false, t: testStep },
33092            keyboardPageMultiplier: { r: false, t: testKeyboardPageMultiplier },
33093            keyboardMultiplier: { r: false, t: testKeyboardMultiplier },
33094            keyboardDefaultStep: { r: false, t: testKeyboardDefaultStep },
33095            start: { r: true, t: testStart },
33096            connect: { r: true, t: testConnect },
33097            direction: { r: true, t: testDirection },
33098            snap: { r: false, t: testSnap },
33099            animate: { r: false, t: testAnimate },
33100            animationDuration: { r: false, t: testAnimationDuration },
33101            range: { r: true, t: testRange },
33102            orientation: { r: false, t: testOrientation },
33103            margin: { r: false, t: testMargin },
33104            limit: { r: false, t: testLimit },
33105            padding: { r: false, t: testPadding },
33106            behaviour: { r: true, t: testBehaviour },
33107            ariaFormat: { r: false, t: testAriaFormat },
33108            format: { r: false, t: testFormat },
33109            tooltips: { r: false, t: testTooltips },
33110            keyboardSupport: { r: true, t: testKeyboardSupport },
33111            documentElement: { r: false, t: testDocumentElement },
33112            cssPrefix: { r: true, t: testCssPrefix },
33113            cssClasses: { r: true, t: testCssClasses },
33114            handleAttributes: { r: false, t: testHandleAttributes },
33115        };
33116        var defaults = {
33117            connect: false,
33118            direction: "ltr",
33119            behaviour: "tap",
33120            orientation: "horizontal",
33121            keyboardSupport: true,
33122            cssPrefix: "noUi-",
33123            cssClasses: cssClasses,
33124            keyboardPageMultiplier: 5,
33125            keyboardMultiplier: 1,
33126            keyboardDefaultStep: 10,
33127        };
33128        // AriaFormat defaults to regular format, if any.
33129        if (options.format && !options.ariaFormat) {
33130            options.ariaFormat = options.format;
33131        }
33132        // Run all options through a testing mechanism to ensure correct
33133        // input. It should be noted that options might get modified to
33134        // be handled properly. E.g. wrapping integers in arrays.
33135        Object.keys(tests).forEach(function (name) {
33136            // If the option isn't set, but it is required, throw an error.
33137            if (!isSet(options[name]) && defaults[name] === undefined) {
33138                if (tests[name].r) {
33139                    throw new Error("noUiSlider: '" + name + "' is required.");
33140                }
33141                return;
33142            }
33143            tests[name].t(parsed, !isSet(options[name]) ? defaults[name] : options[name]);
33144        });
33145        // Forward pips options
33146        parsed.pips = options.pips;
33147        // All recent browsers accept unprefixed transform.
33148        // We need -ms- for IE9 and -webkit- for older Android;
33149        // Assume use of -webkit- if unprefixed and -ms- are not supported.
33150        // https://caniuse.com/#feat=transforms2d
33151        var d = document.createElement("div");
33152        var msPrefix = d.style.msTransform !== undefined;
33153        var noPrefix = d.style.transform !== undefined;
33154        parsed.transformRule = noPrefix ? "transform" : msPrefix ? "msTransform" : "webkitTransform";
33155        // Pips don't move, so we can place them using left/top.
33156        var styles = [
33157            ["left", "top"],
33158            ["right", "bottom"],
33159        ];
33160        parsed.style = styles[parsed.dir][parsed.ort];
33161        return parsed;
33162    }
33163    //endregion
33164    function scope(target, options, originalOptions) {
33165        var actions = getActions();
33166        var supportsTouchActionNone = getSupportsTouchActionNone();
33167        var supportsPassive = supportsTouchActionNone && getSupportsPassive();
33168        // All variables local to 'scope' are prefixed with 'scope_'
33169        // Slider DOM Nodes
33170        var scope_Target = target;
33171        var scope_Base;
33172        var scope_ConnectBase;
33173        var scope_Handles;
33174        var scope_Connects;
33175        var scope_Pips;
33176        var scope_Tooltips;
33177        // Slider state values
33178        var scope_Spectrum = options.spectrum;
33179        var scope_Values = [];
33180        var scope_Locations = [];
33181        var scope_HandleNumbers = [];
33182        var scope_ActiveHandlesCount = 0;
33183        var scope_Events = {};
33184        var scope_ConnectsInverted = false;
33185        // Document Nodes
33186        var scope_Document = target.ownerDocument;
33187        var scope_DocumentElement = options.documentElement || scope_Document.documentElement;
33188        var scope_Body = scope_Document.body;
33189        // For horizontal sliders in standard ltr documents,
33190        // make .noUi-origin overflow to the left so the document doesn't scroll.
33191        var scope_DirOffset = scope_Document.dir === "rtl" || options.ort === 1 ? 0 : 100;
33192        // Creates a node, adds it to target, returns the new node.
33193        function addNodeTo(addTarget, className) {
33194            var div = scope_Document.createElement("div");
33195            if (className) {
33196                addClass(div, className);
33197            }
33198            addTarget.appendChild(div);
33199            return div;
33200        }
33201        // Append a origin to the base
33202        function addOrigin(base, handleNumber) {
33203            var origin = addNodeTo(base, options.cssClasses.origin);
33204            var handle = addNodeTo(origin, options.cssClasses.handle);
33205            addNodeTo(handle, options.cssClasses.touchArea);
33206            handle.setAttribute("data-handle", String(handleNumber));
33207            if (options.keyboardSupport) {
33208                // https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex
33209                // 0 = focusable and reachable
33210                handle.setAttribute("tabindex", "0");
33211                handle.addEventListener("keydown", function (event) {
33212                    return eventKeydown(event, handleNumber);
33213                });
33214            }
33215            if (options.handleAttributes !== undefined) {
33216                var attributes_1 = options.handleAttributes[handleNumber];
33217                Object.keys(attributes_1).forEach(function (attribute) {
33218                    handle.setAttribute(attribute, attributes_1[attribute]);
33219                });
33220            }
33221            handle.setAttribute("role", "slider");
33222            handle.setAttribute("aria-orientation", options.ort ? "vertical" : "horizontal");
33223            if (handleNumber === 0) {
33224                addClass(handle, options.cssClasses.handleLower);
33225            }
33226            else if (handleNumber === options.handles - 1) {
33227                addClass(handle, options.cssClasses.handleUpper);
33228            }
33229            origin.handle = handle;
33230            return origin;
33231        }
33232        // Insert nodes for connect elements
33233        function addConnect(base, add) {
33234            if (!add) {
33235                return false;
33236            }
33237            return addNodeTo(base, options.cssClasses.connect);
33238        }
33239        // Add handles to the slider base.
33240        function addElements(connectOptions, base) {
33241            scope_ConnectBase = addNodeTo(base, options.cssClasses.connects);
33242            scope_Handles = [];
33243            scope_Connects = [];
33244            scope_Connects.push(addConnect(scope_ConnectBase, connectOptions[0]));
33245            // [::::O====O====O====]
33246            // connectOptions = [0, 1, 1, 1]
33247            for (var i = 0; i < options.handles; i++) {
33248                // Keep a list of all added handles.
33249                scope_Handles.push(addOrigin(base, i));
33250                scope_HandleNumbers[i] = i;
33251                scope_Connects.push(addConnect(scope_ConnectBase, connectOptions[i + 1]));
33252            }
33253        }
33254        // Initialize a single slider.
33255        function addSlider(addTarget) {
33256            // Apply classes and data to the target.
33257            addClass(addTarget, options.cssClasses.target);
33258            if (options.dir === 0) {
33259                addClass(addTarget, options.cssClasses.ltr);
33260            }
33261            else {
33262                addClass(addTarget, options.cssClasses.rtl);
33263            }
33264            if (options.ort === 0) {
33265                addClass(addTarget, options.cssClasses.horizontal);
33266            }
33267            else {
33268                addClass(addTarget, options.cssClasses.vertical);
33269            }
33270            var textDirection = getComputedStyle(addTarget).direction;
33271            if (textDirection === "rtl") {
33272                addClass(addTarget, options.cssClasses.textDirectionRtl);
33273            }
33274            else {
33275                addClass(addTarget, options.cssClasses.textDirectionLtr);
33276            }
33277            return addNodeTo(addTarget, options.cssClasses.base);
33278        }
33279        function addTooltip(handle, handleNumber) {
33280            if (!options.tooltips || !options.tooltips[handleNumber]) {
33281                return false;
33282            }
33283            return addNodeTo(handle.firstChild, options.cssClasses.tooltip);
33284        }
33285        function isSliderDisabled() {
33286            return scope_Target.hasAttribute("disabled");
33287        }
33288        // Disable the slider dragging if any handle is disabled
33289        function isHandleDisabled(handleNumber) {
33290            var handleOrigin = scope_Handles[handleNumber];
33291            return handleOrigin.hasAttribute("disabled");
33292        }
33293        function disable(handleNumber) {
33294            if (handleNumber !== null && handleNumber !== undefined) {
33295                scope_Handles[handleNumber].setAttribute("disabled", "");
33296                scope_Handles[handleNumber].handle.removeAttribute("tabindex");
33297            }
33298            else {
33299                scope_Target.setAttribute("disabled", "");
33300                scope_Handles.forEach(function (handle) {
33301                    handle.handle.removeAttribute("tabindex");
33302                });
33303            }
33304        }
33305        function enable(handleNumber) {
33306            if (handleNumber !== null && handleNumber !== undefined) {
33307                scope_Handles[handleNumber].removeAttribute("disabled");
33308                scope_Handles[handleNumber].handle.setAttribute("tabindex", "0");
33309            }
33310            else {
33311                scope_Target.removeAttribute("disabled");
33312                scope_Handles.forEach(function (handle) {
33313                    handle.removeAttribute("disabled");
33314                    handle.handle.setAttribute("tabindex", "0");
33315                });
33316            }
33317        }
33318        function removeTooltips() {
33319            if (scope_Tooltips) {
33320                removeEvent("update" + INTERNAL_EVENT_NS.tooltips);
33321                scope_Tooltips.forEach(function (tooltip) {
33322                    if (tooltip) {
33323                        removeElement(tooltip);
33324                    }
33325                });
33326                scope_Tooltips = null;
33327            }
33328        }
33329        // The tooltips option is a shorthand for using the 'update' event.
33330        function tooltips() {
33331            removeTooltips();
33332            // Tooltips are added with options.tooltips in original order.
33333            scope_Tooltips = scope_Handles.map(addTooltip);
33334            bindEvent("update" + INTERNAL_EVENT_NS.tooltips, function (values, handleNumber, unencoded) {
33335                if (!scope_Tooltips || !options.tooltips) {
33336                    return;
33337                }
33338                if (scope_Tooltips[handleNumber] === false) {
33339                    return;
33340                }
33341                var formattedValue = values[handleNumber];
33342                if (options.tooltips[handleNumber] !== true) {
33343                    formattedValue = options.tooltips[handleNumber].to(unencoded[handleNumber]);
33344                }
33345                scope_Tooltips[handleNumber].innerHTML = formattedValue;
33346            });
33347        }
33348        function aria() {
33349            removeEvent("update" + INTERNAL_EVENT_NS.aria);
33350            bindEvent("update" + INTERNAL_EVENT_NS.aria, function (values, handleNumber, unencoded, tap, positions) {
33351                // Update Aria Values for all handles, as a change in one changes min and max values for the next.
33352                scope_HandleNumbers.forEach(function (index) {
33353                    var handle = scope_Handles[index];
33354                    var min = checkHandlePosition(scope_Locations, index, 0, true, true, true);
33355                    var max = checkHandlePosition(scope_Locations, index, 100, true, true, true);
33356                    var now = positions[index];
33357                    // Formatted value for display
33358                    var text = String(options.ariaFormat.to(unencoded[index]));
33359                    // Map to slider range values
33360                    min = scope_Spectrum.fromStepping(min).toFixed(1);
33361                    max = scope_Spectrum.fromStepping(max).toFixed(1);
33362                    now = scope_Spectrum.fromStepping(now).toFixed(1);
33363                    handle.children[0].setAttribute("aria-valuemin", min);
33364                    handle.children[0].setAttribute("aria-valuemax", max);
33365                    handle.children[0].setAttribute("aria-valuenow", now);
33366                    handle.children[0].setAttribute("aria-valuetext", text);
33367                });
33368            });
33369        }
33370        function getGroup(pips) {
33371            // Use the range.
33372            if (pips.mode === exports.PipsMode.Range || pips.mode === exports.PipsMode.Steps) {
33373                return scope_Spectrum.xVal;
33374            }
33375            if (pips.mode === exports.PipsMode.Count) {
33376                if (pips.values < 2) {
33377                    throw new Error("noUiSlider: 'values' (>= 2) required for mode 'count'.");
33378                }
33379                // Divide 0 - 100 in 'count' parts.
33380                var interval = pips.values - 1;
33381                var spread = 100 / interval;
33382                var values = [];
33383                // List these parts and have them handled as 'positions'.
33384                while (interval--) {
33385                    values[interval] = interval * spread;
33386                }
33387                values.push(100);
33388                return mapToRange(values, pips.stepped);
33389            }
33390            if (pips.mode === exports.PipsMode.Positions) {
33391                // Map all percentages to on-range values.
33392                return mapToRange(pips.values, pips.stepped);
33393            }
33394            if (pips.mode === exports.PipsMode.Values) {
33395                // If the value must be stepped, it needs to be converted to a percentage first.
33396                if (pips.stepped) {
33397                    return pips.values.map(function (value) {
33398                        // Convert to percentage, apply step, return to value.
33399                        return scope_Spectrum.fromStepping(scope_Spectrum.getStep(scope_Spectrum.toStepping(value)));
33400                    });
33401                }
33402                // Otherwise, we can simply use the values.
33403                return pips.values;
33404            }
33405            return []; // pips.mode = never
33406        }
33407        function mapToRange(values, stepped) {
33408            return values.map(function (value) {
33409                return scope_Spectrum.fromStepping(stepped ? scope_Spectrum.getStep(value) : value);
33410            });
33411        }
33412        function generateSpread(pips) {
33413            function safeIncrement(value, increment) {
33414                // Avoid floating point variance by dropping the smallest decimal places.
33415                return Number((value + increment).toFixed(7));
33416            }
33417            var group = getGroup(pips);
33418            var indexes = {};
33419            var firstInRange = scope_Spectrum.xVal[0];
33420            var lastInRange = scope_Spectrum.xVal[scope_Spectrum.xVal.length - 1];
33421            var ignoreFirst = false;
33422            var ignoreLast = false;
33423            var prevPct = 0;
33424            // Create a copy of the group, sort it and filter away all duplicates.
33425            group = unique(group.slice().sort(function (a, b) {
33426                return a - b;
33427            }));
33428            // Make sure the range starts with the first element.
33429            if (group[0] !== firstInRange) {
33430                group.unshift(firstInRange);
33431                ignoreFirst = true;
33432            }
33433            // Likewise for the last one.
33434            if (group[group.length - 1] !== lastInRange) {
33435                group.push(lastInRange);
33436                ignoreLast = true;
33437            }
33438            group.forEach(function (current, index) {
33439                // Get the current step and the lower + upper positions.
33440                var step;
33441                var i;
33442                var q;
33443                var low = current;
33444                var high = group[index + 1];
33445                var newPct;
33446                var pctDifference;
33447                var pctPos;
33448                var type;
33449                var steps;
33450                var realSteps;
33451                var stepSize;
33452                var isSteps = pips.mode === exports.PipsMode.Steps;
33453                // When using 'steps' mode, use the provided steps.
33454                // Otherwise, we'll step on to the next subrange.
33455                if (isSteps) {
33456                    step = scope_Spectrum.xNumSteps[index];
33457                }
33458                // Default to a 'full' step.
33459                if (!step) {
33460                    step = high - low;
33461                }
33462                // If high is undefined we are at the last subrange. Make sure it iterates once (#1088)
33463                if (high === undefined) {
33464                    high = low;
33465                }
33466                // Make sure step isn't 0, which would cause an infinite loop (#654)
33467                step = Math.max(step, 0.0000001);
33468                // Find all steps in the subrange.
33469                for (i = low; i <= high; i = safeIncrement(i, step)) {
33470                    // Get the percentage value for the current step,
33471                    // calculate the size for the subrange.
33472                    newPct = scope_Spectrum.toStepping(i);
33473                    pctDifference = newPct - prevPct;
33474                    steps = pctDifference / (pips.density || 1);
33475                    realSteps = Math.round(steps);
33476                    // This ratio represents the amount of percentage-space a point indicates.
33477                    // For a density 1 the points/percentage = 1. For density 2, that percentage needs to be re-divided.
33478                    // Round the percentage offset to an even number, then divide by two
33479                    // to spread the offset on both sides of the range.
33480                    stepSize = pctDifference / realSteps;
33481                    // Divide all points evenly, adding the correct number to this subrange.
33482                    // Run up to <= so that 100% gets a point, event if ignoreLast is set.
33483                    for (q = 1; q <= realSteps; q += 1) {
33484                        // The ratio between the rounded value and the actual size might be ~1% off.
33485                        // Correct the percentage offset by the number of points
33486                        // per subrange. density = 1 will result in 100 points on the
33487                        // full range, 2 for 50, 4 for 25, etc.
33488                        pctPos = prevPct + q * stepSize;
33489                        indexes[pctPos.toFixed(5)] = [scope_Spectrum.fromStepping(pctPos), 0];
33490                    }
33491                    // Determine the point type.
33492                    type = group.indexOf(i) > -1 ? exports.PipsType.LargeValue : isSteps ? exports.PipsType.SmallValue : exports.PipsType.NoValue;
33493                    // Enforce the 'ignoreFirst' option by overwriting the type for 0.
33494                    if (!index && ignoreFirst && i !== high) {
33495                        type = 0;
33496                    }
33497                    if (!(i === high && ignoreLast)) {
33498                        // Mark the 'type' of this point. 0 = plain, 1 = real value, 2 = step value.
33499                        indexes[newPct.toFixed(5)] = [i, type];
33500                    }
33501                    // Update the percentage count.
33502                    prevPct = newPct;
33503                }
33504            });
33505            return indexes;
33506        }
33507        function addMarking(spread, filterFunc, formatter) {
33508            var _a, _b;
33509            var element = scope_Document.createElement("div");
33510            var valueSizeClasses = (_a = {},
33511                _a[exports.PipsType.None] = "",
33512                _a[exports.PipsType.NoValue] = options.cssClasses.valueNormal,
33513                _a[exports.PipsType.LargeValue] = options.cssClasses.valueLarge,
33514                _a[exports.PipsType.SmallValue] = options.cssClasses.valueSub,
33515                _a);
33516            var markerSizeClasses = (_b = {},
33517                _b[exports.PipsType.None] = "",
33518                _b[exports.PipsType.NoValue] = options.cssClasses.markerNormal,
33519                _b[exports.PipsType.LargeValue] = options.cssClasses.markerLarge,
33520                _b[exports.PipsType.SmallValue] = options.cssClasses.markerSub,
33521                _b);
33522            var valueOrientationClasses = [options.cssClasses.valueHorizontal, options.cssClasses.valueVertical];
33523            var markerOrientationClasses = [options.cssClasses.markerHorizontal, options.cssClasses.markerVertical];
33524            addClass(element, options.cssClasses.pips);
33525            addClass(element, options.ort === 0 ? options.cssClasses.pipsHorizontal : options.cssClasses.pipsVertical);
33526            function getClasses(type, source) {
33527                var a = source === options.cssClasses.value;
33528                var orientationClasses = a ? valueOrientationClasses : markerOrientationClasses;
33529                var sizeClasses = a ? valueSizeClasses : markerSizeClasses;
33530                return source + " " + orientationClasses[options.ort] + " " + sizeClasses[type];
33531            }
33532            function addSpread(offset, value, type) {
33533                // Apply the filter function, if it is set.
33534                type = filterFunc ? filterFunc(value, type) : type;
33535                if (type === exports.PipsType.None) {
33536                    return;
33537                }
33538                // Add a marker for every point
33539                var node = addNodeTo(element, false);
33540                node.className = getClasses(type, options.cssClasses.marker);
33541                node.style[options.style] = offset + "%";
33542                // Values are only appended for points marked '1' or '2'.
33543                if (type > exports.PipsType.NoValue) {
33544                    node = addNodeTo(element, false);
33545                    node.className = getClasses(type, options.cssClasses.value);
33546                    node.setAttribute("data-value", String(value));
33547                    node.style[options.style] = offset + "%";
33548                    node.innerHTML = String(formatter.to(value));
33549                }
33550            }
33551            // Append all points.
33552            Object.keys(spread).forEach(function (offset) {
33553                addSpread(offset, spread[offset][0], spread[offset][1]);
33554            });
33555            return element;
33556        }
33557        function removePips() {
33558            if (scope_Pips) {
33559                removeElement(scope_Pips);
33560                scope_Pips = null;
33561            }
33562        }
33563        function pips(pips) {
33564            // Fix #669
33565            removePips();
33566            var spread = generateSpread(pips);
33567            var filter = pips.filter;
33568            var format = pips.format || {
33569                to: function (value) {
33570                    return String(Math.round(value));
33571                },
33572            };
33573            scope_Pips = scope_Target.appendChild(addMarking(spread, filter, format));
33574            return scope_Pips;
33575        }
33576        // Shorthand for base dimensions.
33577        function baseSize() {
33578            var rect = scope_Base.getBoundingClientRect();
33579            var alt = ("offset" + ["Width", "Height"][options.ort]);
33580            return options.ort === 0 ? rect.width || scope_Base[alt] : rect.height || scope_Base[alt];
33581        }
33582        // Handler for attaching events trough a proxy.
33583        function attachEvent(events, element, callback, data) {
33584            // This function can be used to 'filter' events to the slider.
33585            // element is a node, not a nodeList
33586            var method = function (event) {
33587                var e = fixEvent(event, data.pageOffset, data.target || element);
33588                // fixEvent returns false if this event has a different target
33589                // when handling (multi-) touch events;
33590                if (!e) {
33591                    return false;
33592                }
33593                // doNotReject is passed by all end events to make sure released touches
33594                // are not rejected, leaving the slider "stuck" to the cursor;
33595                if (isSliderDisabled() && !data.doNotReject) {
33596                    return false;
33597                }
33598                // Stop if an active 'tap' transition is taking place.
33599                if (hasClass(scope_Target, options.cssClasses.tap) && !data.doNotReject) {
33600                    return false;
33601                }
33602                // Ignore right or middle clicks on start #454
33603                if (events === actions.start && e.buttons !== undefined && e.buttons > 1) {
33604                    return false;
33605                }
33606                // Ignore right or middle clicks on start #454
33607                if (data.hover && e.buttons) {
33608                    return false;
33609                }
33610                // 'supportsPassive' is only true if a browser also supports touch-action: none in CSS.
33611                // iOS safari does not, so it doesn't get to benefit from passive scrolling. iOS does support
33612                // touch-action: manipulation, but that allows panning, which breaks
33613                // sliders after zooming/on non-responsive pages.
33614                // See: https://bugs.webkit.org/show_bug.cgi?id=133112
33615                if (!supportsPassive) {
33616                    e.preventDefault();
33617                }
33618                e.calcPoint = e.points[options.ort];
33619                // Call the event handler with the event [ and additional data ].
33620                callback(e, data);
33621                return;
33622            };
33623            var methods = [];
33624            // Bind a closure on the target for every event type.
33625            events.split(" ").forEach(function (eventName) {
33626                element.addEventListener(eventName, method, supportsPassive ? { passive: true } : false);
33627                methods.push([eventName, method]);
33628            });
33629            return methods;
33630        }
33631        // Provide a clean event with standardized offset values.
33632        function fixEvent(e, pageOffset, eventTarget) {
33633            // Filter the event to register the type, which can be
33634            // touch, mouse or pointer. Offset changes need to be
33635            // made on an event specific basis.
33636            var touch = e.type.indexOf("touch") === 0;
33637            var mouse = e.type.indexOf("mouse") === 0;
33638            var pointer = e.type.indexOf("pointer") === 0;
33639            var x = 0;
33640            var y = 0;
33641            // IE10 implemented pointer events with a prefix;
33642            if (e.type.indexOf("MSPointer") === 0) {
33643                pointer = true;
33644            }
33645            // Erroneous events seem to be passed in occasionally on iOS/iPadOS after user finishes interacting with
33646            // the slider. They appear to be of type MouseEvent, yet they don't have usual properties set. Ignore
33647            // events that have no touches or buttons associated with them. (#1057, #1079, #1095)
33648            if (e.type === "mousedown" && !e.buttons && !e.touches) {
33649                return false;
33650            }
33651            // The only thing one handle should be concerned about is the touches that originated on top of it.
33652            if (touch) {
33653                // Returns true if a touch originated on the target.
33654                var isTouchOnTarget = function (checkTouch) {
33655                    var target = checkTouch.target;
33656                    return (target === eventTarget ||
33657                        eventTarget.contains(target) ||
33658                        (e.composed && e.composedPath().shift() === eventTarget));
33659                };
33660                // In the case of touchstart events, we need to make sure there is still no more than one
33661                // touch on the target so we look amongst all touches.
33662                if (e.type === "touchstart") {
33663                    var targetTouches = Array.prototype.filter.call(e.touches, isTouchOnTarget);
33664                    // Do not support more than one touch per handle.
33665                    if (targetTouches.length > 1) {
33666                        return false;
33667                    }
33668                    x = targetTouches[0].pageX;
33669                    y = targetTouches[0].pageY;
33670                }
33671                else {
33672                    // In the other cases, find on changedTouches is enough.
33673                    var targetTouch = Array.prototype.find.call(e.changedTouches, isTouchOnTarget);
33674                    // Cancel if the target touch has not moved.
33675                    if (!targetTouch) {
33676                        return false;
33677                    }
33678                    x = targetTouch.pageX;
33679                    y = targetTouch.pageY;
33680                }
33681            }
33682            pageOffset = pageOffset || getPageOffset(scope_Document);
33683            if (mouse || pointer) {
33684                x = e.clientX + pageOffset.x;
33685                y = e.clientY + pageOffset.y;
33686            }
33687            e.pageOffset = pageOffset;
33688            e.points = [x, y];
33689            e.cursor = mouse || pointer; // Fix #435
33690            return e;
33691        }
33692        // Translate a coordinate in the document to a percentage on the slider
33693        function calcPointToPercentage(calcPoint) {
33694            var location = calcPoint - offset(scope_Base, options.ort);
33695            var proposal = (location * 100) / baseSize();
33696            // Clamp proposal between 0% and 100%
33697            // Out-of-bound coordinates may occur when .noUi-base pseudo-elements
33698            // are used (e.g. contained handles feature)
33699            proposal = limit(proposal);
33700            return options.dir ? 100 - proposal : proposal;
33701        }
33702        // Find handle closest to a certain percentage on the slider
33703        function getClosestHandle(clickedPosition) {
33704            var smallestDifference = 100;
33705            var handleNumber = false;
33706            scope_Handles.forEach(function (handle, index) {
33707                // Disabled handles are ignored
33708                if (isHandleDisabled(index)) {
33709                    return;
33710                }
33711                var handlePosition = scope_Locations[index];
33712                var differenceWithThisHandle = Math.abs(handlePosition - clickedPosition);
33713                // Initial state
33714                var clickAtEdge = differenceWithThisHandle === 100 && smallestDifference === 100;
33715                // Difference with this handle is smaller than the previously checked handle
33716                var isCloser = differenceWithThisHandle < smallestDifference;
33717                var isCloserAfter = differenceWithThisHandle <= smallestDifference && clickedPosition > handlePosition;
33718                if (isCloser || isCloserAfter || clickAtEdge) {
33719                    handleNumber = index;
33720                    smallestDifference = differenceWithThisHandle;
33721                }
33722            });
33723            return handleNumber;
33724        }
33725        // Fire 'end' when a mouse or pen leaves the document.
33726        function documentLeave(event, data) {
33727            if (event.type === "mouseout" &&
33728                event.target.nodeName === "HTML" &&
33729                event.relatedTarget === null) {
33730                eventEnd(event, data);
33731            }
33732        }
33733        // Handle movement on document for handle and range drag.
33734        function eventMove(event, data) {
33735            // Fix #498
33736            // Check value of .buttons in 'start' to work around a bug in IE10 mobile (data.buttonsProperty).
33737            // https://connect.microsoft.com/IE/feedback/details/927005/mobile-ie10-windows-phone-buttons-property-of-pointermove-event-always-zero
33738            // IE9 has .buttons and .which zero on mousemove.
33739            // Firefox breaks the spec MDN defines.
33740            if (navigator.appVersion.indexOf("MSIE 9") === -1 && event.buttons === 0 && data.buttonsProperty !== 0) {
33741                return eventEnd(event, data);
33742            }
33743            // Check if we are moving up or down
33744            var movement = (options.dir ? -1 : 1) * (event.calcPoint - data.startCalcPoint);
33745            // Convert the movement into a percentage of the slider width/height
33746            var proposal = (movement * 100) / data.baseSize;
33747            moveHandles(movement > 0, proposal, data.locations, data.handleNumbers, data.connect);
33748        }
33749        // Unbind move events on document, call callbacks.
33750        function eventEnd(event, data) {
33751            // The handle is no longer active, so remove the class.
33752            if (data.handle) {
33753                removeClass(data.handle, options.cssClasses.active);
33754                scope_ActiveHandlesCount -= 1;
33755            }
33756            // Unbind the move and end events, which are added on 'start'.
33757            data.listeners.forEach(function (c) {
33758                scope_DocumentElement.removeEventListener(c[0], c[1]);
33759            });
33760            if (scope_ActiveHandlesCount === 0) {
33761                // Remove dragging class.
33762                removeClass(scope_Target, options.cssClasses.drag);
33763                setZindex();
33764                // Remove cursor styles and text-selection events bound to the body.
33765                if (event.cursor) {
33766                    scope_Body.style.cursor = "";
33767                    scope_Body.removeEventListener("selectstart", preventDefault);
33768                }
33769            }
33770            if (options.events.smoothSteps) {
33771                data.handleNumbers.forEach(function (handleNumber) {
33772                    setHandle(handleNumber, scope_Locations[handleNumber], true, true, false, false);
33773                });
33774                data.handleNumbers.forEach(function (handleNumber) {
33775                    fireEvent("update", handleNumber);
33776                });
33777            }
33778            data.handleNumbers.forEach(function (handleNumber) {
33779                fireEvent("change", handleNumber);
33780                fireEvent("set", handleNumber);
33781                fireEvent("end", handleNumber);
33782            });
33783        }
33784        // Bind move events on document.
33785        function eventStart(event, data) {
33786            // Ignore event if any handle is disabled
33787            if (data.handleNumbers.some(isHandleDisabled)) {
33788                return;
33789            }
33790            var handle;
33791            if (data.handleNumbers.length === 1) {
33792                var handleOrigin = scope_Handles[data.handleNumbers[0]];
33793                handle = handleOrigin.children[0];
33794                scope_ActiveHandlesCount += 1;
33795                // Mark the handle as 'active' so it can be styled.
33796                addClass(handle, options.cssClasses.active);
33797            }
33798            // A drag should never propagate up to the 'tap' event.
33799            event.stopPropagation();
33800            // Record the event listeners.
33801            var listeners = [];
33802            // Attach the move and end events.
33803            var moveEvent = attachEvent(actions.move, scope_DocumentElement, eventMove, {
33804                // The event target has changed so we need to propagate the original one so that we keep
33805                // relying on it to extract target touches.
33806                target: event.target,
33807                handle: handle,
33808                connect: data.connect,
33809                listeners: listeners,
33810                startCalcPoint: event.calcPoint,
33811                baseSize: baseSize(),
33812                pageOffset: event.pageOffset,
33813                handleNumbers: data.handleNumbers,
33814                buttonsProperty: event.buttons,
33815                locations: scope_Locations.slice(),
33816            });
33817            var endEvent = attachEvent(actions.end, scope_DocumentElement, eventEnd, {
33818                target: event.target,
33819                handle: handle,
33820                listeners: listeners,
33821                doNotReject: true,
33822                handleNumbers: data.handleNumbers,
33823            });
33824            var outEvent = attachEvent("mouseout", scope_DocumentElement, documentLeave, {
33825                target: event.target,
33826                handle: handle,
33827                listeners: listeners,
33828                doNotReject: true,
33829                handleNumbers: data.handleNumbers,
33830            });
33831            // We want to make sure we pushed the listeners in the listener list rather than creating
33832            // a new one as it has already been passed to the event handlers.
33833            listeners.push.apply(listeners, moveEvent.concat(endEvent, outEvent));
33834            // Text selection isn't an issue on touch devices,
33835            // so adding cursor styles can be skipped.
33836            if (event.cursor) {
33837                // Prevent the 'I' cursor and extend the range-drag cursor.
33838                scope_Body.style.cursor = getComputedStyle(event.target).cursor;
33839                // Mark the target with a dragging state.
33840                if (scope_Handles.length > 1) {
33841                    addClass(scope_Target, options.cssClasses.drag);
33842                }
33843                // Prevent text selection when dragging the handles.
33844                // In noUiSlider <= 9.2.0, this was handled by calling preventDefault on mouse/touch start/move,
33845                // which is scroll blocking. The selectstart event is supported by FireFox starting from version 52,
33846                // meaning the only holdout is iOS Safari. This doesn't matter: text selection isn't triggered there.
33847                // The 'cursor' flag is false.
33848                // See: http://caniuse.com/#search=selectstart
33849                scope_Body.addEventListener("selectstart", preventDefault, false);
33850            }
33851            data.handleNumbers.forEach(function (handleNumber) {
33852                fireEvent("start", handleNumber);
33853            });
33854        }
33855        // Move closest handle to tapped location.
33856        function eventTap(event) {
33857            // The tap event shouldn't propagate up
33858            event.stopPropagation();
33859            var proposal = calcPointToPercentage(event.calcPoint);
33860            var handleNumber = getClosestHandle(proposal);
33861            // Tackle the case that all handles are 'disabled'.
33862            if (handleNumber === false) {
33863                return;
33864            }
33865            // Flag the slider as it is now in a transitional state.
33866            // Transition takes a configurable amount of ms (default 300). Re-enable the slider after that.
33867            if (!options.events.snap) {
33868                addClassFor(scope_Target, options.cssClasses.tap, options.animationDuration);
33869            }
33870            setHandle(handleNumber, proposal, true, true);
33871            setZindex();
33872            fireEvent("slide", handleNumber, true);
33873            fireEvent("update", handleNumber, true);
33874            if (!options.events.snap) {
33875                fireEvent("change", handleNumber, true);
33876                fireEvent("set", handleNumber, true);
33877            }
33878            else {
33879                eventStart(event, { handleNumbers: [handleNumber] });
33880            }
33881        }
33882        // Fires a 'hover' event for a hovered mouse/pen position.
33883        function eventHover(event) {
33884            var proposal = calcPointToPercentage(event.calcPoint);
33885            var to = scope_Spectrum.getStep(proposal);
33886            var value = scope_Spectrum.fromStepping(to);
33887            Object.keys(scope_Events).forEach(function (targetEvent) {
33888                if ("hover" === targetEvent.split(".")[0]) {
33889                    scope_Events[targetEvent].forEach(function (callback) {
33890                        callback.call(scope_Self, value);
33891                    });
33892                }
33893            });
33894        }
33895        // Handles keydown on focused handles
33896        // Don't move the document when pressing arrow keys on focused handles
33897        function eventKeydown(event, handleNumber) {
33898            if (isSliderDisabled() || isHandleDisabled(handleNumber)) {
33899                return false;
33900            }
33901            var horizontalKeys = ["Left", "Right"];
33902            var verticalKeys = ["Down", "Up"];
33903            var largeStepKeys = ["PageDown", "PageUp"];
33904            var edgeKeys = ["Home", "End"];
33905            if (options.dir && !options.ort) {
33906                // On an right-to-left slider, the left and right keys act inverted
33907                horizontalKeys.reverse();
33908            }
33909            else if (options.ort && !options.dir) {
33910                // On a top-to-bottom slider, the up and down keys act inverted
33911                verticalKeys.reverse();
33912                largeStepKeys.reverse();
33913            }
33914            // Strip "Arrow" for IE compatibility. https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key
33915            var key = event.key.replace("Arrow", "");
33916            var isLargeDown = key === largeStepKeys[0];
33917            var isLargeUp = key === largeStepKeys[1];
33918            var isDown = key === verticalKeys[0] || key === horizontalKeys[0] || isLargeDown;
33919            var isUp = key === verticalKeys[1] || key === horizontalKeys[1] || isLargeUp;
33920            var isMin = key === edgeKeys[0];
33921            var isMax = key === edgeKeys[1];
33922            if (!isDown && !isUp && !isMin && !isMax) {
33923                return true;
33924            }
33925            event.preventDefault();
33926            var to;
33927            if (isUp || isDown) {
33928                var direction = isDown ? 0 : 1;
33929                var steps = getNextStepsForHandle(handleNumber);
33930                var step = steps[direction];
33931                // At the edge of a slider, do nothing
33932                if (step === null) {
33933                    return false;
33934                }
33935                // No step set, use the default of 10% of the sub-range
33936                if (step === false) {
33937                    step = scope_Spectrum.getDefaultStep(scope_Locations[handleNumber], isDown, options.keyboardDefaultStep);
33938                }
33939                if (isLargeUp || isLargeDown) {
33940                    step *= options.keyboardPageMultiplier;
33941                }
33942                else {
33943                    step *= options.keyboardMultiplier;
33944                }
33945                // Step over zero-length ranges (#948);
33946                step = Math.max(step, 0.0000001);
33947                // Decrement for down steps
33948                step = (isDown ? -1 : 1) * step;
33949                to = scope_Values[handleNumber] + step;
33950            }
33951            else if (isMax) {
33952                // End key
33953                to = options.spectrum.xVal[options.spectrum.xVal.length - 1];
33954            }
33955            else {
33956                // Home key
33957                to = options.spectrum.xVal[0];
33958            }
33959            setHandle(handleNumber, scope_Spectrum.toStepping(to), true, true);
33960            fireEvent("slide", handleNumber);
33961            fireEvent("update", handleNumber);
33962            fireEvent("change", handleNumber);
33963            fireEvent("set", handleNumber);
33964            return false;
33965        }
33966        // Attach events to several slider parts.
33967        function bindSliderEvents(behaviour) {
33968            // Attach the standard drag event to the handles.
33969            if (!behaviour.fixed) {
33970                scope_Handles.forEach(function (handle, index) {
33971                    // These events are only bound to the visual handle
33972                    // element, not the 'real' origin element.
33973                    attachEvent(actions.start, handle.children[0], eventStart, {
33974                        handleNumbers: [index],
33975                    });
33976                });
33977            }
33978            // Attach the tap event to the slider base.
33979            if (behaviour.tap) {
33980                attachEvent(actions.start, scope_Base, eventTap, {});
33981            }
33982            // Fire hover events
33983            if (behaviour.hover) {
33984                attachEvent(actions.move, scope_Base, eventHover, {
33985                    hover: true,
33986                });
33987            }
33988            // Make the range draggable.
33989            if (behaviour.drag) {
33990                scope_Connects.forEach(function (connect, index) {
33991                    if (connect === false || index === 0 || index === scope_Connects.length - 1) {
33992                        return;
33993                    }
33994                    var handleBefore = scope_Handles[index - 1];
33995                    var handleAfter = scope_Handles[index];
33996                    var eventHolders = [connect];
33997                    var handlesToDrag = [handleBefore, handleAfter];
33998                    var handleNumbersToDrag = [index - 1, index];
33999                    addClass(connect, options.cssClasses.draggable);
34000                    // When the range is fixed, the entire range can
34001                    // be dragged by the handles. The handle in the first
34002                    // origin will propagate the start event upward,
34003                    // but it needs to be bound manually on the other.
34004                    if (behaviour.fixed) {
34005                        eventHolders.push(handleBefore.children[0]);
34006                        eventHolders.push(handleAfter.children[0]);
34007                    }
34008                    if (behaviour.dragAll) {
34009                        handlesToDrag = scope_Handles;
34010                        handleNumbersToDrag = scope_HandleNumbers;
34011                    }
34012                    eventHolders.forEach(function (eventHolder) {
34013                        attachEvent(actions.start, eventHolder, eventStart, {
34014                            handles: handlesToDrag,
34015                            handleNumbers: handleNumbersToDrag,
34016                            connect: connect,
34017                        });
34018                    });
34019                });
34020            }
34021        }
34022        // Attach an event to this slider, possibly including a namespace
34023        function bindEvent(namespacedEvent, callback) {
34024            scope_Events[namespacedEvent] = scope_Events[namespacedEvent] || [];
34025            scope_Events[namespacedEvent].push(callback);
34026            // If the event bound is 'update,' fire it immediately for all handles.
34027            if (namespacedEvent.split(".")[0] === "update") {
34028                scope_Handles.forEach(function (a, index) {
34029                    fireEvent("update", index);
34030                });
34031            }
34032        }
34033        function isInternalNamespace(namespace) {
34034            return namespace === INTERNAL_EVENT_NS.aria || namespace === INTERNAL_EVENT_NS.tooltips;
34035        }
34036        // Undo attachment of event
34037        function removeEvent(namespacedEvent) {
34038            var event = namespacedEvent && namespacedEvent.split(".")[0];
34039            var namespace = event ? namespacedEvent.substring(event.length) : namespacedEvent;
34040            Object.keys(scope_Events).forEach(function (bind) {
34041                var tEvent = bind.split(".")[0];
34042                var tNamespace = bind.substring(tEvent.length);
34043                if ((!event || event === tEvent) && (!namespace || namespace === tNamespace)) {
34044                    // only delete protected internal event if intentional
34045                    if (!isInternalNamespace(tNamespace) || namespace === tNamespace) {
34046                        delete scope_Events[bind];
34047                    }
34048                }
34049            });
34050        }
34051        // External event handling
34052        function fireEvent(eventName, handleNumber, tap) {
34053            Object.keys(scope_Events).forEach(function (targetEvent) {
34054                var eventType = targetEvent.split(".")[0];
34055                if (eventName === eventType) {
34056                    scope_Events[targetEvent].forEach(function (callback) {
34057                        callback.call(
34058                        // Use the slider public API as the scope ('this')
34059                        scope_Self, 
34060                        // Return values as array, so arg_1[arg_2] is always valid.
34061                        scope_Values.map(options.format.to), 
34062                        // Handle index, 0 or 1
34063                        handleNumber, 
34064                        // Un-formatted slider values
34065                        scope_Values.slice(), 
34066                        // Event is fired by tap, true or false
34067                        tap || false, 
34068                        // Left offset of the handle, in relation to the slider
34069                        scope_Locations.slice(), 
34070                        // add the slider public API to an accessible parameter when this is unavailable
34071                        scope_Self);
34072                    });
34073                }
34074            });
34075        }
34076        // Split out the handle positioning logic so the Move event can use it, too
34077        function checkHandlePosition(reference, handleNumber, to, lookBackward, lookForward, getValue, smoothSteps) {
34078            var distance;
34079            // For sliders with multiple handles, limit movement to the other handle.
34080            // Apply the margin option by adding it to the handle positions.
34081            if (scope_Handles.length > 1 && !options.events.unconstrained) {
34082                if (lookBackward && handleNumber > 0) {
34083                    distance = scope_Spectrum.getAbsoluteDistance(reference[handleNumber - 1], options.margin, false);
34084                    to = Math.max(to, distance);
34085                }
34086                if (lookForward && handleNumber < scope_Handles.length - 1) {
34087                    distance = scope_Spectrum.getAbsoluteDistance(reference[handleNumber + 1], options.margin, true);
34088                    to = Math.min(to, distance);
34089                }
34090            }
34091            // The limit option has the opposite effect, limiting handles to a
34092            // maximum distance from another. Limit must be > 0, as otherwise
34093            // handles would be unmovable.
34094            if (scope_Handles.length > 1 && options.limit) {
34095                if (lookBackward && handleNumber > 0) {
34096                    distance = scope_Spectrum.getAbsoluteDistance(reference[handleNumber - 1], options.limit, false);
34097                    to = Math.min(to, distance);
34098                }
34099                if (lookForward && handleNumber < scope_Handles.length - 1) {
34100                    distance = scope_Spectrum.getAbsoluteDistance(reference[handleNumber + 1], options.limit, true);
34101                    to = Math.max(to, distance);
34102                }
34103            }
34104            // The padding option keeps the handles a certain distance from the
34105            // edges of the slider. Padding must be > 0.
34106            if (options.padding) {
34107                if (handleNumber === 0) {
34108                    distance = scope_Spectrum.getAbsoluteDistance(0, options.padding[0], false);
34109                    to = Math.max(to, distance);
34110                }
34111                if (handleNumber === scope_Handles.length - 1) {
34112                    distance = scope_Spectrum.getAbsoluteDistance(100, options.padding[1], true);
34113                    to = Math.min(to, distance);
34114                }
34115            }
34116            if (!smoothSteps) {
34117                to = scope_Spectrum.getStep(to);
34118            }
34119            // Limit percentage to the 0 - 100 range
34120            to = limit(to);
34121            // Return false if handle can't move
34122            if (to === reference[handleNumber] && !getValue) {
34123                return false;
34124            }
34125            return to;
34126        }
34127        // Uses slider orientation to create CSS rules. a = base value;
34128        function inRuleOrder(v, a) {
34129            var o = options.ort;
34130            return (o ? a : v) + ", " + (o ? v : a);
34131        }
34132        // Moves handle(s) by a percentage
34133        // (bool, % to move, [% where handle started, ...], [index in scope_Handles, ...])
34134        function moveHandles(upward, proposal, locations, handleNumbers, connect) {
34135            var proposals = locations.slice();
34136            // Store first handle now, so we still have it in case handleNumbers is reversed
34137            var firstHandle = handleNumbers[0];
34138            var smoothSteps = options.events.smoothSteps;
34139            var b = [!upward, upward];
34140            var f = [upward, !upward];
34141            // Copy handleNumbers so we don't change the dataset
34142            handleNumbers = handleNumbers.slice();
34143            // Check to see which handle is 'leading'.
34144            // If that one can't move the second can't either.
34145            if (upward) {
34146                handleNumbers.reverse();
34147            }
34148            // Step 1: get the maximum percentage that any of the handles can move
34149            if (handleNumbers.length > 1) {
34150                handleNumbers.forEach(function (handleNumber, o) {
34151                    var to = checkHandlePosition(proposals, handleNumber, proposals[handleNumber] + proposal, b[o], f[o], false, smoothSteps);
34152                    // Stop if one of the handles can't move.
34153                    if (to === false) {
34154                        proposal = 0;
34155                    }
34156                    else {
34157                        proposal = to - proposals[handleNumber];
34158                        proposals[handleNumber] = to;
34159                    }
34160                });
34161            }
34162            // If using one handle, check backward AND forward
34163            else {
34164                b = f = [true];
34165            }
34166            var state = false;
34167            // Step 2: Try to set the handles with the found percentage
34168            handleNumbers.forEach(function (handleNumber, o) {
34169                state =
34170                    setHandle(handleNumber, locations[handleNumber] + proposal, b[o], f[o], false, smoothSteps) || state;
34171            });
34172            // Step 3: If a handle moved, fire events
34173            if (state) {
34174                handleNumbers.forEach(function (handleNumber) {
34175                    fireEvent("update", handleNumber);
34176                    fireEvent("slide", handleNumber);
34177                });
34178                // If target is a connect, then fire drag event
34179                if (connect != undefined) {
34180                    fireEvent("drag", firstHandle);
34181                }
34182            }
34183        }
34184        // Takes a base value and an offset. This offset is used for the connect bar size.
34185        // In the initial design for this feature, the origin element was 1% wide.
34186        // Unfortunately, a rounding bug in Chrome makes it impossible to implement this feature
34187        // in this manner: https://bugs.chromium.org/p/chromium/issues/detail?id=798223
34188        function transformDirection(a, b) {
34189            return options.dir ? 100 - a - b : a;
34190        }
34191        // Updates scope_Locations and scope_Values, updates visual state
34192        function updateHandlePosition(handleNumber, to) {
34193            // Update locations.
34194            scope_Locations[handleNumber] = to;
34195            // Convert the value to the slider stepping/range.
34196            scope_Values[handleNumber] = scope_Spectrum.fromStepping(to);
34197            var translation = transformDirection(to, 0) - scope_DirOffset;
34198            var translateRule = "translate(" + inRuleOrder(translation + "%", "0") + ")";
34199            scope_Handles[handleNumber].style[options.transformRule] = translateRule;
34200            // sanity check for at least 2 handles (e.g. during setup)
34201            if (options.events.invertConnects && scope_Locations.length > 1) {
34202                // check if handles passed each other, but don't match the ConnectsInverted state
34203                var handlesAreInOrder = scope_Locations.every(function (position, index, locations) {
34204                    return index === 0 || position >= locations[index - 1];
34205                });
34206                if (scope_ConnectsInverted !== !handlesAreInOrder) {
34207                    // invert connects when handles pass each other
34208                    invertConnects();
34209                    // invertConnects already updates all connect elements
34210                    return;
34211                }
34212            }
34213            updateConnect(handleNumber);
34214            updateConnect(handleNumber + 1);
34215            if (scope_ConnectsInverted) {
34216                // When connects are inverted, we also have to update adjacent connects
34217                updateConnect(handleNumber - 1);
34218                updateConnect(handleNumber + 2);
34219            }
34220        }
34221        // Handles before the slider middle are stacked later = higher,
34222        // Handles after the middle later is lower
34223        // [[7] [8] .......... | .......... [5] [4]
34224        function setZindex() {
34225            scope_HandleNumbers.forEach(function (handleNumber) {
34226                var dir = scope_Locations[handleNumber] > 50 ? -1 : 1;
34227                var zIndex = 3 + (scope_Handles.length + dir * handleNumber);
34228                scope_Handles[handleNumber].style.zIndex = String(zIndex);
34229            });
34230        }
34231        // Test suggested values and apply margin, step.
34232        // if exactInput is true, don't run checkHandlePosition, then the handle can be placed in between steps (#436)
34233        function setHandle(handleNumber, to, lookBackward, lookForward, exactInput, smoothSteps) {
34234            if (!exactInput) {
34235                to = checkHandlePosition(scope_Locations, handleNumber, to, lookBackward, lookForward, false, smoothSteps);
34236            }
34237            if (to === false) {
34238                return false;
34239            }
34240            updateHandlePosition(handleNumber, to);
34241            return true;
34242        }
34243        // Updates style attribute for connect nodes
34244        function updateConnect(index) {
34245            // Skip connects set to false
34246            if (!scope_Connects[index]) {
34247                return;
34248            }
34249            // Create a copy of locations, so we can sort them for the local scope logic
34250            var locations = scope_Locations.slice();
34251            if (scope_ConnectsInverted) {
34252                locations.sort(function (a, b) {
34253                    return a - b;
34254                });
34255            }
34256            var l = 0;
34257            var h = 100;
34258            if (index !== 0) {
34259                l = locations[index - 1];
34260            }
34261            if (index !== scope_Connects.length - 1) {
34262                h = locations[index];
34263            }
34264            // We use two rules:
34265            // 'translate' to change the left/top offset;
34266            // 'scale' to change the width of the element;
34267            // As the element has a width of 100%, a translation of 100% is equal to 100% of the parent (.noUi-base)
34268            var connectWidth = h - l;
34269            var translateRule = "translate(" + inRuleOrder(transformDirection(l, connectWidth) + "%", "0") + ")";
34270            var scaleRule = "scale(" + inRuleOrder(connectWidth / 100, "1") + ")";
34271            scope_Connects[index].style[options.transformRule] =
34272                translateRule + " " + scaleRule;
34273        }
34274        // Parses value passed to .set method. Returns current value if not parse-able.
34275        function resolveToValue(to, handleNumber) {
34276            // Setting with null indicates an 'ignore'.
34277            // Inputting 'false' is invalid.
34278            if (to === null || to === false || to === undefined) {
34279                return scope_Locations[handleNumber];
34280            }
34281            // If a formatted number was passed, attempt to decode it.
34282            if (typeof to === "number") {
34283                to = String(to);
34284            }
34285            to = options.format.from(to);
34286            if (to !== false) {
34287                to = scope_Spectrum.toStepping(to);
34288            }
34289            // If parsing the number failed, use the current value.
34290            if (to === false || isNaN(to)) {
34291                return scope_Locations[handleNumber];
34292            }
34293            return to;
34294        }
34295        // Set the slider value.
34296        function valueSet(input, fireSetEvent, exactInput) {
34297            var values = asArray(input);
34298            var isInit = scope_Locations[0] === undefined;
34299            // Event fires by default
34300            fireSetEvent = fireSetEvent === undefined ? true : fireSetEvent;
34301            // Animation is optional.
34302            // Make sure the initial values were set before using animated placement.
34303            if (options.animate && !isInit) {
34304                addClassFor(scope_Target, options.cssClasses.tap, options.animationDuration);
34305            }
34306            // First pass, without lookAhead but with lookBackward. Values are set from left to right.
34307            scope_HandleNumbers.forEach(function (handleNumber) {
34308                setHandle(handleNumber, resolveToValue(values[handleNumber], handleNumber), true, false, exactInput);
34309            });
34310            var i = scope_HandleNumbers.length === 1 ? 0 : 1;
34311            // Spread handles evenly across the slider if the range has no size (min=max)
34312            if (isInit && scope_Spectrum.hasNoSize()) {
34313                exactInput = true;
34314                scope_Locations[0] = 0;
34315                if (scope_HandleNumbers.length > 1) {
34316                    var space_1 = 100 / (scope_HandleNumbers.length - 1);
34317                    scope_HandleNumbers.forEach(function (handleNumber) {
34318                        scope_Locations[handleNumber] = handleNumber * space_1;
34319                    });
34320                }
34321            }
34322            // Secondary passes. Now that all base values are set, apply constraints.
34323            // Iterate all handles to ensure constraints are applied for the entire slider (Issue #1009)
34324            for (; i < scope_HandleNumbers.length; ++i) {
34325                scope_HandleNumbers.forEach(function (handleNumber) {
34326                    setHandle(handleNumber, scope_Locations[handleNumber], true, true, exactInput);
34327                });
34328            }
34329            setZindex();
34330            scope_HandleNumbers.forEach(function (handleNumber) {
34331                fireEvent("update", handleNumber);
34332                // Fire the event only for handles that received a new value, as per #579
34333                if (values[handleNumber] !== null && fireSetEvent) {
34334                    fireEvent("set", handleNumber);
34335                }
34336            });
34337        }
34338        // Reset slider to initial values
34339        function valueReset(fireSetEvent) {
34340            valueSet(options.start, fireSetEvent);
34341        }
34342        // Set value for a single handle
34343        function valueSetHandle(handleNumber, value, fireSetEvent, exactInput) {
34344            // Ensure numeric input
34345            handleNumber = Number(handleNumber);
34346            if (!(handleNumber >= 0 && handleNumber < scope_HandleNumbers.length)) {
34347                throw new Error("noUiSlider: invalid handle number, got: " + handleNumber);
34348            }
34349            // Look both backward and forward, since we don't want this handle to "push" other handles (#960);
34350            // The exactInput argument can be used to ignore slider stepping (#436)
34351            setHandle(handleNumber, resolveToValue(value, handleNumber), true, true, exactInput);
34352            fireEvent("update", handleNumber);
34353            if (fireSetEvent) {
34354                fireEvent("set", handleNumber);
34355            }
34356        }
34357        // Get the slider value.
34358        function valueGet(unencoded) {
34359            if (unencoded === void 0) { unencoded = false; }
34360            if (unencoded) {
34361                // return a copy of the raw values
34362                return scope_Values.length === 1 ? scope_Values[0] : scope_Values.slice(0);
34363            }
34364            var values = scope_Values.map(options.format.to);
34365            // If only one handle is used, return a single value.
34366            if (values.length === 1) {
34367                return values[0];
34368            }
34369            return values;
34370        }
34371        // Removes classes from the root and empties it.
34372        function destroy() {
34373            // remove protected internal listeners
34374            removeEvent(INTERNAL_EVENT_NS.aria);
34375            removeEvent(INTERNAL_EVENT_NS.tooltips);
34376            Object.keys(options.cssClasses).forEach(function (key) {
34377                removeClass(scope_Target, options.cssClasses[key]);
34378            });
34379            while (scope_Target.firstChild) {
34380                scope_Target.removeChild(scope_Target.firstChild);
34381            }
34382            delete scope_Target.noUiSlider;
34383        }
34384        function getNextStepsForHandle(handleNumber) {
34385            var location = scope_Locations[handleNumber];
34386            var nearbySteps = scope_Spectrum.getNearbySteps(location);
34387            var value = scope_Values[handleNumber];
34388            var increment = nearbySteps.thisStep.step;
34389            var decrement = null;
34390            // If snapped, directly use defined step value
34391            if (options.snap) {
34392                return [
34393                    value - nearbySteps.stepBefore.startValue || null,
34394                    nearbySteps.stepAfter.startValue - value || null,
34395                ];
34396            }
34397            // If the next value in this step moves into the next step,
34398            // the increment is the start of the next step - the current value
34399            if (increment !== false) {
34400                if (value + increment > nearbySteps.stepAfter.startValue) {
34401                    increment = nearbySteps.stepAfter.startValue - value;
34402                }
34403            }
34404            // If the value is beyond the starting point
34405            if (value > nearbySteps.thisStep.startValue) {
34406                decrement = nearbySteps.thisStep.step;
34407            }
34408            else if (nearbySteps.stepBefore.step === false) {
34409                decrement = false;
34410            }
34411            // If a handle is at the start of a step, it always steps back into the previous step first
34412            else {
34413                decrement = value - nearbySteps.stepBefore.highestStep;
34414            }
34415            // Now, if at the slider edges, there is no in/decrement
34416            if (location === 100) {
34417                increment = null;
34418            }
34419            else if (location === 0) {
34420                decrement = null;
34421            }
34422            // As per #391, the comparison for the decrement step can have some rounding issues.
34423            var stepDecimals = scope_Spectrum.countStepDecimals();
34424            // Round per #391
34425            if (increment !== null && increment !== false) {
34426                increment = Number(increment.toFixed(stepDecimals));
34427            }
34428            if (decrement !== null && decrement !== false) {
34429                decrement = Number(decrement.toFixed(stepDecimals));
34430            }
34431            return [decrement, increment];
34432        }
34433        // Get the current step size for the slider.
34434        function getNextSteps() {
34435            return scope_HandleNumbers.map(getNextStepsForHandle);
34436        }
34437        // Updatable: margin, limit, padding, step, range, animate, snap
34438        function updateOptions(optionsToUpdate, fireSetEvent) {
34439            // Spectrum is created using the range, snap, direction and step options.
34440            // 'snap' and 'step' can be updated.
34441            // If 'snap' and 'step' are not passed, they should remain unchanged.
34442            var v = valueGet();
34443            var updateAble = [
34444                "margin",
34445                "limit",
34446                "padding",
34447                "range",
34448                "animate",
34449                "snap",
34450                "step",
34451                "format",
34452                "pips",
34453                "tooltips",
34454                "connect",
34455            ];
34456            // Only change options that we're actually passed to update.
34457            updateAble.forEach(function (name) {
34458                // Check for undefined. null removes the value.
34459                if (optionsToUpdate[name] !== undefined) {
34460                    originalOptions[name] = optionsToUpdate[name];
34461                }
34462            });
34463            var newOptions = testOptions(originalOptions);
34464            // Load new options into the slider state
34465            updateAble.forEach(function (name) {
34466                if (optionsToUpdate[name] !== undefined) {
34467                    options[name] = newOptions[name];
34468                }
34469            });
34470            scope_Spectrum = newOptions.spectrum;
34471            // Limit, margin and padding depend on the spectrum but are stored outside of it. (#677)
34472            options.margin = newOptions.margin;
34473            options.limit = newOptions.limit;
34474            options.padding = newOptions.padding;
34475            // Update pips, removes existing.
34476            if (options.pips) {
34477                pips(options.pips);
34478            }
34479            else {
34480                removePips();
34481            }
34482            // Update tooltips, removes existing.
34483            if (options.tooltips) {
34484                tooltips();
34485            }
34486            else {
34487                removeTooltips();
34488            }
34489            // Invalidate the current positioning so valueSet forces an update.
34490            scope_Locations = [];
34491            valueSet(isSet(optionsToUpdate.start) ? optionsToUpdate.start : v, fireSetEvent);
34492            // Update connects only if it was set
34493            if (optionsToUpdate.connect) {
34494                updateConnectOption();
34495            }
34496        }
34497        function updateConnectOption() {
34498            // IE supported way of removing children including event handlers
34499            while (scope_ConnectBase.firstChild) {
34500                scope_ConnectBase.removeChild(scope_ConnectBase.firstChild);
34501            }
34502            // Adding new connects according to the new connect options
34503            for (var i = 0; i <= options.handles; i++) {
34504                scope_Connects[i] = addConnect(scope_ConnectBase, options.connect[i]);
34505                updateConnect(i);
34506            }
34507            // re-adding drag events for the new connect elements
34508            // to ignore the other events we have to negate the 'if (!behaviour.fixed)' check
34509            bindSliderEvents({ drag: options.events.drag, fixed: true });
34510        }
34511        // Invert options for connect handles
34512        function invertConnects() {
34513            scope_ConnectsInverted = !scope_ConnectsInverted;
34514            testConnect(options, 
34515            // inverse the connect boolean array
34516            options.connect.map(function (b) { return !b; }));
34517            updateConnectOption();
34518        }
34519        // Initialization steps
34520        function setupSlider() {
34521            // Create the base element, initialize HTML and set classes.
34522            // Add handles and connect elements.
34523            scope_Base = addSlider(scope_Target);
34524            addElements(options.connect, scope_Base);
34525            // Attach user events.
34526            bindSliderEvents(options.events);
34527            // Use the public value method to set the start values.
34528            valueSet(options.start);
34529            if (options.pips) {
34530                pips(options.pips);
34531            }
34532            if (options.tooltips) {
34533                tooltips();
34534            }
34535            aria();
34536        }
34537        setupSlider();
34538        var scope_Self = {
34539            destroy: destroy,
34540            steps: getNextSteps,
34541            on: bindEvent,
34542            off: removeEvent,
34543            get: valueGet,
34544            set: valueSet,
34545            setHandle: valueSetHandle,
34546            reset: valueReset,
34547            disable: disable,
34548            enable: enable,
34549            // Exposed for unit testing, don't use this in your application.
34550            __moveHandles: function (upward, proposal, handleNumbers) {
34551                moveHandles(upward, proposal, scope_Locations, handleNumbers);
34552            },
34553            options: originalOptions,
34554            updateOptions: updateOptions,
34555            target: scope_Target,
34556            removePips: removePips,
34557            removeTooltips: removeTooltips,
34558            getPositions: function () {
34559                return scope_Locations.slice();
34560            },
34561            getTooltips: function () {
34562                return scope_Tooltips;
34563            },
34564            getOrigins: function () {
34565                return scope_Handles;
34566            },
34567            pips: pips, // Issue #594
34568        };
34569        return scope_Self;
34570    }
34571    // Run the standard initializer
34572    function initialize(target, originalOptions) {
34573        if (!target || !target.nodeName) {
34574            throw new Error("noUiSlider: create requires a single element, got: " + target);
34575        }
34576        // Throw an error if the slider was already initialized.
34577        if (target.noUiSlider) {
34578            throw new Error("noUiSlider: Slider was already initialized.");
34579        }
34580        // Test the options and create the slider environment;
34581        var options = testOptions(originalOptions);
34582        var api = scope(target, options, originalOptions);
34583        target.noUiSlider = api;
34584        return api;
34585    }
34586    var nouislider = {
34587        // Exposed for unit testing, don't use this in your application.
34588        __spectrum: Spectrum,
34589        // A reference to the default classes, allows global changes.
34590        // Use the cssClasses option for changes to one slider.
34591        cssClasses: cssClasses,
34592        create: initialize,
34593    };
34594
34595    exports.create = initialize;
34596    exports.cssClasses = cssClasses;
34597    exports["default"] = nouislider;
34598
34599    Object.defineProperty(exports, '__esModule', { value: true });
34600
34601}));
vendor: 6,763 bytes, lines 34602-34834
34602
34603(function (global, factory) {
34604	typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
34605	typeof define === 'function' && define.amd ? define(factory) :
34606	(global = global || self, global.autosize = factory());
34607}(this, (function () {
34608	var assignedElements = new Map();
34609
34610	function assign(ta) {
34611	  if (!ta || !ta.nodeName || ta.nodeName !== 'TEXTAREA' || assignedElements.has(ta)) return;
34612	  var previousHeight = null;
34613
34614	  function cacheScrollTops(el) {
34615	    var arr = [];
34616
34617	    while (el && el.parentNode && el.parentNode instanceof Element) {
34618	      if (el.parentNode.scrollTop) {
34619	        arr.push([el.parentNode, el.parentNode.scrollTop]);
34620	      }
34621
34622	      el = el.parentNode;
34623	    }
34624
34625	    return function () {
34626	      return arr.forEach(function (_ref) {
34627	        var node = _ref[0],
34628	            scrollTop = _ref[1];
34629	        node.style.scrollBehavior = 'auto';
34630	        node.scrollTop = scrollTop;
34631	        node.style.scrollBehavior = null;
34632	      });
34633	    };
34634	  }
34635
34636	  var computed = window.getComputedStyle(ta);
34637
34638	  function setHeight(_ref2) {
34639	    var _ref2$restoreTextAlig = _ref2.restoreTextAlign,
34640	        restoreTextAlign = _ref2$restoreTextAlig === void 0 ? null : _ref2$restoreTextAlig,
34641	        _ref2$testForHeightRe = _ref2.testForHeightReduction,
34642	        testForHeightReduction = _ref2$testForHeightRe === void 0 ? true : _ref2$testForHeightRe;
34643	    var initialOverflowY = computed.overflowY;
34644
34645	    if (ta.scrollHeight === 0) {
34646	      // If the scrollHeight is 0, then the element probably has display:none or is detached from the DOM.
34647	      return;
34648	    } // disallow vertical resizing
34649
34650
34651	    if (computed.resize === 'vertical') {
34652	      ta.style.resize = 'none';
34653	    } else if (computed.resize === 'both') {
34654	      ta.style.resize = 'horizontal';
34655	    }
34656
34657	    var restoreScrollTops; // remove inline height style to accurately measure situations where the textarea should shrink
34658	    // however, skip this step if the new value appends to the previous value, as textarea height should only have grown
34659
34660	    if (testForHeightReduction) {
34661	      // ensure the scrollTop values of parent elements are not modified as a consequence of shrinking the textarea height
34662	      restoreScrollTops = cacheScrollTops(ta);
34663	      ta.style.height = '';
34664	    }
34665
34666	    var newHeight;
34667
34668	    if (computed.boxSizing === 'content-box') {
34669	      newHeight = ta.scrollHeight - (parseFloat(computed.paddingTop) + parseFloat(computed.paddingBottom));
34670	    } else {
34671	      newHeight = ta.scrollHeight + parseFloat(computed.borderTopWidth) + parseFloat(computed.borderBottomWidth);
34672	    }
34673
34674	    if (computed.maxHeight !== 'none' && newHeight > parseFloat(computed.maxHeight)) {
34675	      if (computed.overflowY === 'hidden') {
34676	        ta.style.overflow = 'scroll';
34677	      }
34678
34679	      newHeight = parseFloat(computed.maxHeight);
34680	    } else if (computed.overflowY !== 'hidden') {
34681	      ta.style.overflow = 'hidden';
34682	    }
34683
34684	    ta.style.height = newHeight + 'px';
34685
34686	    if (restoreTextAlign) {
34687	      ta.style.textAlign = restoreTextAlign;
34688	    }
34689
34690	    if (restoreScrollTops) {
34691	      restoreScrollTops();
34692	    }
34693
34694	    if (previousHeight !== newHeight) {
34695	      ta.dispatchEvent(new Event('autosize:resized', {
34696	        bubbles: true
34697	      }));
34698	      previousHeight = newHeight;
34699	    }
34700
34701	    if (initialOverflowY !== computed.overflow && !restoreTextAlign) {
34702	      var textAlign = computed.textAlign;
34703
34704	      if (computed.overflow === 'hidden') {
34705	        // Webkit fails to reflow text after overflow is hidden,
34706	        // even if hiding overflow would allow text to fit more compactly.
34707	        // The following is intended to force the necessary text reflow.
34708	        ta.style.textAlign = textAlign === 'start' ? 'end' : 'start';
34709	      }
34710
34711	      setHeight({
34712	        restoreTextAlign: textAlign,
34713	        testForHeightReduction: true
34714	      });
34715	    }
34716	  }
34717
34718	  function fullSetHeight() {
34719	    setHeight({
34720	      testForHeightReduction: true,
34721	      restoreTextAlign: null
34722	    });
34723	  }
34724
34725	  var handleInput = function () {
34726	    var previousValue = ta.value;
34727	    return function () {
34728	      setHeight({
34729	        // if previousValue is '', check for height shrinkage because the placeholder may be taking up space instead
34730	        // if new value is merely appending to previous value, skip checking for height deduction
34731	        testForHeightReduction: previousValue === '' || !ta.value.startsWith(previousValue),
34732	        restoreTextAlign: null
34733	      });
34734	      previousValue = ta.value;
34735	    };
34736	  }();
34737
34738	  var destroy = function (style) {
34739	    ta.removeEventListener('autosize:destroy', destroy);
34740	    ta.removeEventListener('autosize:update', fullSetHeight);
34741	    ta.removeEventListener('input', handleInput);
34742	    window.removeEventListener('resize', fullSetHeight); // future todo: consider replacing with ResizeObserver
34743
34744	    Object.keys(style).forEach(function (key) {
34745	      return ta.style[key] = style[key];
34746	    });
34747	    assignedElements["delete"](ta);
34748	  }.bind(ta, {
34749	    height: ta.style.height,
34750	    resize: ta.style.resize,
34751	    textAlign: ta.style.textAlign,
34752	    overflowY: ta.style.overflowY,
34753	    overflowX: ta.style.overflowX,
34754	    wordWrap: ta.style.wordWrap
34755	  });
34756
34757	  ta.addEventListener('autosize:destroy', destroy);
34758	  ta.addEventListener('autosize:update', fullSetHeight);
34759	  ta.addEventListener('input', handleInput);
34760	  window.addEventListener('resize', fullSetHeight); // future todo: consider replacing with ResizeObserver
34761
34762	  ta.style.overflowX = 'hidden';
34763	  ta.style.wordWrap = 'break-word';
34764	  assignedElements.set(ta, {
34765	    destroy: destroy,
34766	    update: fullSetHeight
34767	  });
34768	  fullSetHeight();
34769	}
34770
34771	function destroy(ta) {
34772	  var methods = assignedElements.get(ta);
34773
34774	  if (methods) {
34775	    methods.destroy();
34776	  }
34777	}
34778
34779	function update(ta) {
34780	  var methods = assignedElements.get(ta);
34781
34782	  if (methods) {
34783	    methods.update();
34784	  }
34785	}
34786
34787	var autosize = null; // Do nothing in Node.js environment
34788
34789	if (typeof window === 'undefined') {
34790	  autosize = function autosize(el) {
34791	    return el;
34792	  };
34793
34794	  autosize.destroy = function (el) {
34795	    return el;
34796	  };
34797
34798	  autosize.update = function (el) {
34799	    return el;
34800	  };
34801	} else {
34802	  autosize = function autosize(el, options) {
34803	    if (el) {
34804	      Array.prototype.forEach.call(el.length ? el : [el], function (x) {
34805	        return assign(x);
34806	      });
34807	    }
34808
34809	    return el;
34810	  };
34811
34812	  autosize.destroy = function (el) {
34813	    if (el) {
34814	      Array.prototype.forEach.call(el.length ? el : [el], destroy);
34815	    }
34816
34817	    return el;
34818	  };
34819
34820	  autosize.update = function (el) {
34821	    if (el) {
34822	      Array.prototype.forEach.call(el.length ? el : [el], update);
34823	    }
34824
34825	    return el;
34826	  };
34827	}
34828
34829	var autosize$1 = autosize;
34830
34831	return autosize$1;
34832
34833})));
34834
vendor: 9,160 bytes, lines 34835-34841
34835/*!
34836 * clipboard.js v2.0.11
34837 * https://clipboardjs.com/
34838 *
34839 * Licensed MIT © Zeno Rocha
34840 */
34841!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={686:function(t,e,n){"use strict";n.d(e,{default:function(){return b}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),r=n.n(e);function c(t){try{return document.execCommand(t)}catch(t){return}}var a=function(t){t=r()(t);return c("cut"),t};function o(t,e){var n,o,t=(n=t,o="rtl"===document.documentElement.getAttribute("dir"),(t=document.createElement("textarea")).style.fontSize="12pt",t.style.border="0",t.style.padding="0",t.style.margin="0",t.style.position="absolute",t.style[o?"right":"left"]="-9999px",o=window.pageYOffset||document.documentElement.scrollTop,t.style.top="".concat(o,"px"),t.setAttribute("readonly",""),t.value=n,t);return e.container.appendChild(t),e=r()(t),c("copy"),t.remove(),e}var f=function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{container:document.body},n="";return"string"==typeof t?n=o(t,e):t instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(null==t?void 0:t.type)?n=o(t.value,e):(n=r()(t),c("copy")),n};function l(t){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var s=function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},e=t.action,n=void 0===e?"copy":e,o=t.container,e=t.target,t=t.text;if("copy"!==n&&"cut"!==n)throw new Error('Invalid "action" value, use either "copy" or "cut"');if(void 0!==e){if(!e||"object"!==l(e)||1!==e.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===n&&e.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===n&&(e.hasAttribute("readonly")||e.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes')}return t?f(t,{container:o}):e?"cut"===n?a(e):f(e,{container:o}):void 0};function p(t){return(p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function d(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function y(t,e){return(y=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function h(n){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(t){return!1}}();return function(){var t,e=v(n);return t=o?(t=v(this).constructor,Reflect.construct(e,arguments,t)):e.apply(this,arguments),e=this,!(t=t)||"object"!==p(t)&&"function"!=typeof t?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}}function v(t){return(v=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function m(t,e){t="data-clipboard-".concat(t);if(e.hasAttribute(t))return e.getAttribute(t)}var b=function(){!function(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}}),e&&y(t,e)}(r,i());var t,e,n,o=h(r);function r(t,e){var n;return function(t){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}(this),(n=o.call(this)).resolveOptions(e),n.listenClick(t),n}return t=r,n=[{key:"copy",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{container:document.body};return f(t,e)}},{key:"cut",value:function(t){return a(t)}},{key:"isSupported",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:["copy","cut"],t="string"==typeof t?[t]:t,e=!!document.queryCommandSupported;return t.forEach(function(t){e=e&&!!document.queryCommandSupported(t)}),e}}],(e=[{key:"resolveOptions",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof t.action?t.action:this.defaultAction,this.target="function"==typeof t.target?t.target:this.defaultTarget,this.text="function"==typeof t.text?t.text:this.defaultText,this.container="object"===p(t.container)?t.container:document.body}},{key:"listenClick",value:function(t){var e=this;this.listener=u()(t,"click",function(t){return e.onClick(t)})}},{key:"onClick",value:function(t){var e=t.delegateTarget||t.currentTarget,n=this.action(e)||"copy",t=s({action:n,container:this.container,target:this.target(e),text:this.text(e)});this.emit(t?"success":"error",{action:n,text:t,trigger:e,clearSelection:function(){e&&e.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(t){return m("action",t)}},{key:"defaultTarget",value:function(t){t=m("target",t);if(t)return document.querySelector(t)}},{key:"defaultText",value:function(t){return m("text",t)}},{key:"destroy",value:function(){this.listener.destroy()}}])&&d(t.prototype,e),n&&d(t,n),r}()},828:function(t){var e;"undefined"==typeof Element||Element.prototype.matches||((e=Element.prototype).matches=e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector),t.exports=function(t,e){for(;t&&9!==t.nodeType;){if("function"==typeof t.matches&&t.matches(e))return t;t=t.parentNode}}},438:function(t,e,n){var u=n(828);function i(t,e,n,o,r){var i=function(e,n,t,o){return function(t){t.delegateTarget=u(t.target,n),t.delegateTarget&&o.call(e,t)}}.apply(this,arguments);return t.addEventListener(n,i,r),{destroy:function(){t.removeEventListener(n,i,r)}}}t.exports=function(t,e,n,o,r){return"function"==typeof t.addEventListener?i.apply(null,arguments):"function"==typeof n?i.bind(null,document).apply(null,arguments):("string"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,function(t){return i(t,e,n,o,r)}))}},879:function(t,n){n.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},n.nodeList=function(t){var e=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===e||"[object HTMLCollection]"===e)&&"length"in t&&(0===t.length||n.node(t[0]))},n.string=function(t){return"string"==typeof t||t instanceof String},n.fn=function(t){return"[object Function]"===Object.prototype.toString.call(t)}},370:function(t,e,n){var f=n(879),l=n(438);t.exports=function(t,e,n){if(!t&&!e&&!n)throw new Error("Missing required arguments");if(!f.string(e))throw new TypeError("Second argument must be a String");if(!f.fn(n))throw new TypeError("Third argument must be a Function");if(f.node(t))return c=e,a=n,(u=t).addEventListener(c,a),{destroy:function(){u.removeEventListener(c,a)}};if(f.nodeList(t))return o=t,r=e,i=n,Array.prototype.forEach.call(o,function(t){t.addEventListener(r,i)}),{destroy:function(){Array.prototype.forEach.call(o,function(t){t.removeEventListener(r,i)})}};if(f.string(t))return t=t,e=e,n=n,l(document.body,t,e,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList");var o,r,i,u,c,a}},817:function(t){t.exports=function(t){var e,n="SELECT"===t.nodeName?(t.focus(),t.value):"INPUT"===t.nodeName||"TEXTAREA"===t.nodeName?((e=t.hasAttribute("readonly"))||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),e||t.removeAttribute("readonly"),t.value):(t.hasAttribute("contenteditable")&&t.focus(),n=window.getSelection(),(e=document.createRange()).selectNodeContents(t),n.removeAllRanges(),n.addRange(e),n.toString());return n}},279:function(t){function e(){}e.prototype={on:function(t,e,n){var o=this.e||(this.e={});return(o[t]||(o[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var o=this;function r(){o.off(t,r),e.apply(n,arguments)}return r._=e,this.on(t,r,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,r=n.length;o<r;o++)n[o].fn.apply(n[o].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),o=n[t],r=[];if(o&&e)for(var i=0,u=o.length;i<u;i++)o[i].fn!==e&&o[i].fn._!==e&&r.push(o[i]);return r.length?n[t]=r:delete n[t],this}},t.exports=e,t.exports.TinyEmitter=e}},r={},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,{a:e}),e},o.d=function(t,e){for(var n in e)o.o(e,n)&&!o.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o(686).default;function o(t){if(r[t])return r[t].exports;var e=r[t]={exports:{}};return n[t](e,e.exports,o),e.exports}var n,r});
34841
34842/**
34843 * Bootstrap multiselectsplitter plugin
34844 * Version: 1.0.1
34845 * License: MIT
34846 * Homepage: https://github.com/poolerMF/bootstrap-multiselectsplitter
34847 */
34848+function ($) {
34849    'use strict';
34850
34851    // CLASS DEFINITION
34852    // ===============================
34853
34854    var MultiSelectSplitter = function (element, options) {
34855        this.init('multiselectsplitter', element, options);
34856    };
34857
34858    MultiSelectSplitter.DEFAULTS = {
34859        selectSize: null,
34860        maxSelectSize: null,
34861        clearOnFirstChange: false,
34862        onlySameGroup: false,   // only if multiselect
34863        groupCounter: false,    // only if multiselect
34864        maximumSelected: null,  // only if multiselect, integer or function
34865        afterInitialize: null,
34866        maximumAlert: function (maximumSelected) {
34867            alert("Only " + maximumSelected + " values can be selected");
34868        },
34869        createFirstSelect: function (label, $originalSelect) {
34870            return '<option>' + label + '</option>';
34871        },
34872        createSecondSelect: function (label, $firstSelect) {
34873            return '<option>' + label + '</option>';
34874        },
34875        template: '<div class="row" data-multiselectsplitter-wrapper-selector>' +
34876        '<div class="col-xs-6 col-sm-6">' +
34877        '<select class="form-control" data-multiselectsplitter-firstselect-selector></select>' +
34878        '</div>' +
34879        ' <!-- Add the extra clearfix for only the required viewport -->' +
34880        '<div class="col-xs-6 col-sm-6">' +
34881        '<select class="form-control" data-multiselectsplitter-secondselect-selector></select>' +
34882        '</div>' +
34883        '</div>'
34884    };
34885
34886    MultiSelectSplitter.prototype.init = function (type, element, options) {
34887
34888        var self = this;
34889
34890        self.type = type;
34891        self.last$ElementSelected = [];
34892        self.initialized = false;
34893
34894        self.$element = $(element);
34895        self.$element.hide();
34896
34897        self.options = $.extend({}, MultiSelectSplitter.DEFAULTS, options);
34898
34899        // Add template.
34900        self.$element.after(self.options.template);
34901
34902        // Define selected elements.
34903        self.$wrapper = self.$element.next('div[data-multiselectsplitter-wrapper-selector]');
34904        self.$firstSelect = $('select[data-multiselectsplitter-firstselect-selector]', self.$wrapper);
34905        self.$secondSelect = $('select[data-multiselectsplitter-secondselect-selector]', self.$wrapper);
34906
34907        var optgroupCount = 0;
34908        var longestOptionCount = 0;
34909
34910        if (self.$element.find('optgroup').length == 0) {
34911            return;
34912        }
34913
34914        self.$element.find('optgroup').each(function () {
34915
34916            var label = $(this).attr('label');
34917            var $option = $(self.options.createFirstSelect(label, self.$element));
34918
34919            $option.val(label);
34920            $option.attr('data-current-label', $option.text());
34921            self.$firstSelect.append($option);
34922
34923            var currentOptionCount = $(this).find('option').length;
34924
34925            if (currentOptionCount > longestOptionCount) {
34926                longestOptionCount = currentOptionCount;
34927            }
34928            optgroupCount++;
34929        });
34930
34931        // Define $firstSelect and $secondSelect size attribute
34932        var selectSize = Math.max(optgroupCount, longestOptionCount);
34933        selectSize = Math.min(selectSize, 10);
34934        if (self.options.selectSize) {
34935            selectSize = self.options.selectSize;
34936        } else if (self.options.maxSelectSize) {
34937            selectSize = Math.min(selectSize, self.options.maxSelectSize);
34938        }
34939        self.$firstSelect.attr('size', selectSize);
34940        self.$secondSelect.attr('size', selectSize);
34941
34942        // Set multiple
34943        if (self.$element.attr('multiple')) {
34944            self.$secondSelect.attr('multiple', 'multiple');
34945        }
34946
34947        // Set disabled
34948        if (self.$element.is(":disabled")) {
34949            self.disable();
34950        }
34951
34952        // Define events.
34953        self.$firstSelect.on('change', $.proxy(self.updateParentCategory, self));
34954        self.$secondSelect.on('click change', $.proxy(self.updateChildCategory, self));
34955
34956        self.update = function () {
34957            if (self.$element.find('option').length < 1) {
34958                return;
34959            }
34960            var selectedOptions = self.$element.find('option:selected:first');
34961            var selectedGroup;
34962
34963            if (selectedOptions.length) {
34964                selectedGroup = selectedOptions.parent().attr('label');
34965            } else {
34966                selectedGroup = self.$element.find('option:first').parent().attr('label');
34967            }
34968
34969            self.$firstSelect.find('option[value="' + selectedGroup + '"]').prop('selected', true);
34970            self.$firstSelect.trigger('change');
34971        };
34972
34973        self.update();
34974        self.initialized = true;
34975
34976        if (self.options.afterInitialize) {
34977            self.options.afterInitialize(self.$firstSelect, self.$secondSelect);
34978        }
34979    };
34980
34981    MultiSelectSplitter.prototype.disable = function () {
34982        this.$secondSelect.prop('disabled', true);
34983        this.$firstSelect.prop('disabled', true);
34984    };
34985
34986    MultiSelectSplitter.prototype.enable = function () {
34987        this.$secondSelect.prop('disabled', false);
34988        this.$firstSelect.prop('disabled', false);
34989    };
34990
34991    MultiSelectSplitter.prototype.createSecondSelect = function () {
34992
34993        var self = this;
34994
34995        self.$secondSelect.empty();
34996
34997        $.each(self.$element.find('optgroup[label="' + self.$firstSelect.val() + '"] option'), function (index, element) {
34998            var value = $(this).val();
34999            var label = $(this).text();
35000
35001            var $option = $(self.options.createSecondSelect(label, self.$firstSelect));
35002            $option.val(value);
35003
35004            $.each(self.$element.find('option:selected'), function (index, element) {
35005                if ($(element).val() == value) {
35006                    $option.prop('selected', true);
35007                }
35008            });
35009
35010            self.$secondSelect.append($option);
35011        });
35012    };
35013
35014    MultiSelectSplitter.prototype.updateParentCategory = function () {
35015
35016        var self = this;
35017
35018        self.last$ElementSelected = self.$element.find('option:selected');
35019
35020        if (self.options.clearOnFirstChange && self.initialized) {
35021            self.$element.find('option:selected').prop('selected', false);
35022        }
35023
35024        self.createSecondSelect();
35025        self.checkSelected();
35026        self.updateCounter();
35027    };
35028
35029    MultiSelectSplitter.prototype.updateCounter = function () {
35030
35031        var self = this;
35032
35033        if (!self.$element.attr('multiple') || !self.options.groupCounter) {
35034            return;
35035        }
35036
35037        $.each(self.$firstSelect.find('option'), function (index, element) {
35038            var originalLabel = $(element).val();
35039            var text = $(element).data('currentLabel');
35040            var count = self.$element.find('optgroup[label="' + originalLabel + '"] option:selected').length;
35041
35042            if (count > 0) {
35043                text += ' (' + count + ')';
35044            }
35045
35046            $(element).html(text);
35047        });
35048    };
35049
35050    MultiSelectSplitter.prototype.checkSelected = function () {
35051
35052        var self = this;
35053
35054        if (!self.$element.attr('multiple') || !self.options.maximumSelected) {
35055            return;
35056        }
35057
35058        var maximumSelected = 0;
35059
35060        if (typeof self.options.maximumSelected == 'function') {
35061            maximumSelected = self.options.maximumSelected(self.$firstSelect, self.$secondSelect);
35062        } else {
35063            maximumSelected = self.options.maximumSelected;
35064        }
35065
35066        if (maximumSelected < 1) {
35067            return;
35068        }
35069
35070        var $actualElementSelected = self.$element.find('option:selected');
35071
35072        if ($actualElementSelected.length > maximumSelected) {
35073            self.$firstSelect.find('option:selected').prop('selected', false);
35074            self.$secondSelect.find('option:selected').prop('selected', false);
35075
35076            if (self.initialized) {
35077                self.$element.find('option:selected').prop('selected', false);
35078                self.last$ElementSelected.prop('selected', true);
35079            } else {
35080                // after init, there is no last value
35081                $.each(self.$element.find('option:selected'), function (index, element) {
35082                    if (index > maximumSelected - 1) {
35083                        $(element).prop('selected', false);
35084                    }
35085                });
35086            }
35087
35088            var firstSelectedOptGroupLabel = self.last$ElementSelected.first().parent().attr('label');
35089            self.$firstSelect.find('option[value="' + firstSelectedOptGroupLabel + '"]').prop('selected', true);
35090
35091            self.createSecondSelect();
35092            self.options.maximumAlert(maximumSelected);
35093        }
35094    };
35095
35096    MultiSelectSplitter.prototype.basicUpdateChildCategory = function (event, isCtrlKey) {
35097
35098        var self = this;
35099
35100        self.last$ElementSelected = self.$element.find('option:selected');
35101        var childValues = self.$secondSelect.val();
35102
35103        if (!$.isArray(childValues)) {
35104            childValues = [childValues];
35105        }
35106
35107        var parentLabel = self.$firstSelect.val();
35108        var removeActualSelected = false;
35109
35110        if (!self.$element.attr('multiple')) {
35111            removeActualSelected = true;
35112        } else {
35113            if (self.options.onlySameGroup) {
35114                $.each(self.$element.find('option:selected'), function (index, element) {
35115                    if ($(element).parent().attr('label') != parentLabel) {
35116                        removeActualSelected = true;
35117                        return false;
35118                    }
35119                });
35120            } else {
35121                if (!isCtrlKey) {
35122                    removeActualSelected = true;
35123                }
35124            }
35125        }
35126
35127        if (removeActualSelected) {
35128            self.$element.find('option:selected').prop('selected', false);
35129        } else {
35130            $.each(self.$element.find('option:selected'), function (index, element) {
35131                if (parentLabel == $(element).parent().attr('label') && $.inArray($(element).val(), childValues) == -1) {
35132                    $(element).prop('selected', false);
35133                }
35134            });
35135        }
35136
35137        $.each(childValues, function (index, value) {
35138            self.$element.find('option[value="' + value + '"]').prop('selected', true);
35139        });
35140
35141        self.checkSelected();
35142        self.updateCounter();
35143        self.$element.trigger('change'); // Required for external plugins.
35144    };
35145
35146    MultiSelectSplitter.prototype.updateChildCategory = function (event) {
35147        // There is no event.ctrlKey in event "change", so change function is called with timeout
35148        if (event.type == "change") {
35149            this.timeOut = setTimeout($.proxy(function () {
35150                this.basicUpdateChildCategory(event, event.ctrlKey);
35151            }, this), 10);
35152        } else if (event.type == "click") {
35153            clearTimeout(this.timeOut);
35154            this.basicUpdateChildCategory(event, event.ctrlKey)
35155        }
35156    };
35157
35158    MultiSelectSplitter.prototype.destroy = function () {
35159        this.$wrapper.remove();
35160        this.$element.removeData(this.type);
35161        this.$element.show();
35162    };
35163
35164    // PLUGIN DEFINITION
35165    // =========================
35166
35167    function Plugin(option) {
35168        return this.each(function () {
35169            var $this = $(this);
35170            var data = $this.data('multiselectsplitter');
35171            var options = typeof option === 'object' && option;
35172
35173            if (!data && option == 'destroy') {
35174                return;
35175            }
35176            if (!data) {
35177                $this.data('multiselectsplitter', ( data = new MultiSelectSplitter(this, options) ));
35178            }
35179            if (typeof option == 'string') {
35180                data[option]();
35181            }
35182        });
35183    }
35184
35185    $.fn.multiselectsplitter = Plugin;
35186    $.fn.multiselectsplitter.Constructor = MultiSelectSplitter;
35187    $.fn.multiselectsplitter.VERSION = '1.0.1';
35188
35189}(jQuery);
35190/*!
35191 * smooth-scroll v16.1.3
35192 * Animate scrolling to anchor links
35193 * (c) 2020 Chris Ferdinandi
35194 * MIT License
35195 * http://github.com/cferdinandi/smooth-scroll
35196 */
vendor: 9,460 bytes, lines 35196-35494
35196
35197
35198(function (root, factory) {
35199	if (typeof define === 'function' && define.amd) {
35200		define([], (function () {
35201			return factory(root);
35202		}));
35203	} else if (typeof exports === 'object') {
35204		module.exports = factory(root);
35205	} else {
35206		root.SmoothScroll = factory(root);
35207	}
35208})(typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : this, (function (window) {
35209
35210	'use strict';
35211
35212	//
35213	// Default settings
35214	//
35215
35216	var defaults = {
35217
35218		// Selectors
35219		ignore: '[data-scroll-ignore]',
35220		header: null,
35221		topOnEmptyHash: true,
35222
35223		// Speed & Duration
35224		speed: 500,
35225		speedAsDuration: false,
35226		durationMax: null,
35227		durationMin: null,
35228		clip: true,
35229		offset: 0,
35230
35231		// Easing
35232		easing: 'easeInOutCubic',
35233		customEasing: null,
35234
35235		// History
35236		updateURL: true,
35237		popstate: true,
35238
35239		// Custom Events
35240		emitEvents: true
35241
35242	};
35243
35244
35245	//
35246	// Utility Methods
35247	//
35248
35249	/**
35250	 * Check if browser supports required methods
35251	 * @return {Boolean} Returns true if all required methods are supported
35252	 */
35253	var supports = function () {
35254		return (
35255			'querySelector' in document &&
35256			'addEventListener' in window &&
35257			'requestAnimationFrame' in window &&
35258			'closest' in window.Element.prototype
35259		);
35260	};
35261
35262	/**
35263	 * Merge two or more objects together.
35264	 * @param   {Object}   objects  The objects to merge together
35265	 * @returns {Object}            Merged values of defaults and options
35266	 */
35267	var extend = function () {
35268		var merged = {};
35269		Array.prototype.forEach.call(arguments, (function (obj) {
35270			for (var key in obj) {
35271				if (!obj.hasOwnProperty(key)) return;
35272				merged[key] = obj[key];
35273			}
35274		}));
35275		return merged;
35276	};
35277
35278	/**
35279	 * Check to see if user prefers reduced motion
35280	 * @param  {Object} settings Script settings
35281	 */
35282	var reduceMotion = function () {
35283		if ('matchMedia' in window && window.matchMedia('(prefers-reduced-motion)').matches) {
35284			return true;
35285		}
35286		return false;
35287	};
35288
35289	/**
35290	 * Get the height of an element.
35291	 * @param  {Node} elem The element to get the height of
35292	 * @return {Number}    The element's height in pixels
35293	 */
35294	var getHeight = function (elem) {
35295		return parseInt(window.getComputedStyle(elem).height, 10);
35296	};
35297
35298	/**
35299	 * Escape special characters for use with querySelector
35300	 * @author Mathias Bynens
35301	 * @link https://github.com/mathiasbynens/CSS.escape
35302	 * @param {String} id The anchor ID to escape
35303	 */
35304	var escapeCharacters = function (id) {
35305
35306		// Remove leading hash
35307		if (id.charAt(0) === '#') {
35308			id = id.substr(1);
35309		}
35310
35311		var string = String(id);
35312		var length = string.length;
35313		var index = -1;
35314		var codeUnit;
35315		var result = '';
35316		var firstCodeUnit = string.charCodeAt(0);
35317		while (++index < length) {
35318			codeUnit = string.charCodeAt(index);
35319			// Note: there’s no need to special-case astral symbols, surrogate
35320			// pairs, or lone surrogates.
35321
35322			// If the character is NULL (U+0000), then throw an
35323			// `InvalidCharacterError` exception and terminate these steps.
35324			if (codeUnit === 0x0000) {
35325				throw new InvalidCharacterError(
35326					'Invalid character: the input contains U+0000.'
35327				);
35328			}
35329
35330			if (
35331				// If the character is in the range [\1-\1F] (U+0001 to U+001F) or is
35332				// U+007F, […]
35333				(codeUnit >= 0x0001 && codeUnit <= 0x001F) || codeUnit == 0x007F ||
35334				// If the character is the first character and is in the range [0-9]
35335				// (U+0030 to U+0039), […]
35336				(index === 0 && codeUnit >= 0x0030 && codeUnit <= 0x0039) ||
35337				// If the character is the second character and is in the range [0-9]
35338				// (U+0030 to U+0039) and the first character is a `-` (U+002D), […]
35339				(
35340					index === 1 &&
35341					codeUnit >= 0x0030 && codeUnit <= 0x0039 &&
35342					firstCodeUnit === 0x002D
35343				)
35344			) {
35345				// http://dev.w3.org/csswg/cssom/#escape-a-character-as-code-point
35346				result += '\\' + codeUnit.toString(16) + ' ';
35347				continue;
35348			}
35349
35350			// If the character is not handled by one of the above rules and is
35351			// greater than or equal to U+0080, is `-` (U+002D) or `_` (U+005F), or
35352			// is in one of the ranges [0-9] (U+0030 to U+0039), [A-Z] (U+0041 to
35353			// U+005A), or [a-z] (U+0061 to U+007A), […]
35354			if (
35355				codeUnit >= 0x0080 ||
35356				codeUnit === 0x002D ||
35357				codeUnit === 0x005F ||
35358				codeUnit >= 0x0030 && codeUnit <= 0x0039 ||
35359				codeUnit >= 0x0041 && codeUnit <= 0x005A ||
35360				codeUnit >= 0x0061 && codeUnit <= 0x007A
35361			) {
35362				// the character itself
35363				result += string.charAt(index);
35364				continue;
35365			}
35366
35367			// Otherwise, the escaped character.
35368			// http://dev.w3.org/csswg/cssom/#escape-a-character
35369			result += '\\' + string.charAt(index);
35370
35371		}
35372
35373		// Return sanitized hash
35374		return '#' + result;
35375
35376	};
35377
35378	/**
35379	 * Calculate the easing pattern
35380	 * @link https://gist.github.com/gre/1650294
35381	 * @param {String} type Easing pattern
35382	 * @param {Number} time Time animation should take to complete
35383	 * @returns {Number}
35384	 */
35385	var easingPattern = function (settings, time) {
35386		var pattern;
35387
35388		// Default Easing Patterns
35389		if (settings.easing === 'easeInQuad') pattern = time * time; // accelerating from zero velocity
35390		if (settings.easing === 'easeOutQuad') pattern = time * (2 - time); // decelerating to zero velocity
35391		if (settings.easing === 'easeInOutQuad') pattern = time < 0.5 ? 2 * time * time : -1 + (4 - 2 * time) * time; // acceleration until halfway, then deceleration
35392		if (settings.easing === 'easeInCubic') pattern = time * time * time; // accelerating from zero velocity
35393		if (settings.easing === 'easeOutCubic') pattern = (--time) * time * time + 1; // decelerating to zero velocity
35394		if (settings.easing === 'easeInOutCubic') pattern = time < 0.5 ? 4 * time * time * time : (time - 1) * (2 * time - 2) * (2 * time - 2) + 1; // acceleration until halfway, then deceleration
35395		if (settings.easing === 'easeInQuart') pattern = time * time * time * time; // accelerating from zero velocity
35396		if (settings.easing === 'easeOutQuart') pattern = 1 - (--time) * time * time * time; // decelerating to zero velocity
35397		if (settings.easing === 'easeInOutQuart') pattern = time < 0.5 ? 8 * time * time * time * time : 1 - 8 * (--time) * time * time * time; // acceleration until halfway, then deceleration
35398		if (settings.easing === 'easeInQuint') pattern = time * time * time * time * time; // accelerating from zero velocity
35399		if (settings.easing === 'easeOutQuint') pattern = 1 + (--time) * time * time * time * time; // decelerating to zero velocity
35400		if (settings.easing === 'easeInOutQuint') pattern = time < 0.5 ? 16 * time * time * time * time * time : 1 + 16 * (--time) * time * time * time * time; // acceleration until halfway, then deceleration
35401
35402		// Custom Easing Patterns
35403		if (!!settings.customEasing) pattern = settings.customEasing(time);
35404
35405		return pattern || time; // no easing, no acceleration
35406	};
35407
35408	/**
35409	 * Determine the document's height
35410	 * @returns {Number}
35411	 */
35412	var getDocumentHeight = function () {
35413		return Math.max(
35414			document.body.scrollHeight, document.documentElement.scrollHeight,
35415			document.body.offsetHeight, document.documentElement.offsetHeight,
35416			document.body.clientHeight, document.documentElement.clientHeight
35417		);
35418	};
35419
35420	/**
35421	 * Calculate how far to scroll
35422	 * Clip support added by robjtede - https://github.com/cferdinandi/smooth-scroll/issues/405
35423	 * @param {Element} anchor       The anchor element to scroll to
35424	 * @param {Number}  headerHeight Height of a fixed header, if any
35425	 * @param {Number}  offset       Number of pixels by which to offset scroll
35426	 * @param {Boolean} clip         If true, adjust scroll distance to prevent abrupt stops near the bottom of the page
35427	 * @returns {Number}
35428	 */
35429	var getEndLocation = function (anchor, headerHeight, offset, clip) {
35430		var location = 0;
35431		if (anchor.offsetParent) {
35432			do {
35433				location += anchor.offsetTop;
35434				anchor = anchor.offsetParent;
35435			} while (anchor);
35436		}
35437		location = Math.max(location - headerHeight - offset, 0);
35438		if (clip) {
35439			location = Math.min(location, getDocumentHeight() - window.innerHeight);
35440		}
35441 		return location;
35442	};
35443
35444	/**
35445	 * Get the height of the fixed header
35446	 * @param  {Node}   header The header
35447	 * @return {Number}        The height of the header
35448	 */
35449	var getHeaderHeight = function (header) {
35450		return !header ? 0 : (getHeight(header) + header.offsetTop);
35451	};
35452
35453	/**
35454	 * Calculate the speed to use for the animation
35455	 * @param  {Number} distance The distance to travel
35456	 * @param  {Object} settings The plugin settings
35457	 * @return {Number}          How fast to animate
35458	 */
35459	var getSpeed = function (distance, settings) {
35460		var speed = settings.speedAsDuration ? settings.speed : Math.abs(distance / 1000 * settings.speed);
35461		if (settings.durationMax && speed > settings.durationMax) return settings.durationMax;
35462		if (settings.durationMin && speed < settings.durationMin) return settings.durationMin;
35463		return parseInt(speed, 10);
35464	};
35465
35466	var setHistory = function (options) {
35467
35468		// Make sure this should run
35469		if (!history.replaceState || !options.updateURL || history.state) return;
35470
35471		// Get the hash to use
35472		var hash = window.location.hash;
35473		hash = hash ? hash : '';
35474
35475		// Set a default history
35476		history.replaceState(
35477			{
35478				smoothScroll: JSON.stringify(options),
35479				anchor: hash ? hash : window.pageYOffset
35480			},
35481			document.title,
35482			hash ? hash : window.location.href
35483		);
35484
35485	};
35486
35487	/**
35488	 * Update the URL
35489	 * @param  {Node}    anchor  The anchor that was scrolled to
35490	 * @param  {Boolean} isNum   If true, anchor is a number
35491	 * @param  {Object}  options Settings for Smooth Scroll
35492	 */
35493	var updateURL = function (anchor, isNum, options) {
35494
vendor: 9,973 bytes, lines 35495-35839
35495		// Bail if the anchor is a number
35496		if (isNum) return;
35497
35498		// Verify that pushState is supported and the updateURL option is enabled
35499		if (!history.pushState || !options.updateURL) return;
35500
35501		// Update URL
35502		history.pushState(
35503			{
35504				smoothScroll: JSON.stringify(options),
35505				anchor: anchor.id
35506			},
35507			document.title,
35508			anchor === document.documentElement ? '#top' : '#' + anchor.id
35509		);
35510
35511	};
35512
35513	/**
35514	 * Bring the anchored element into focus
35515	 * @param {Node}     anchor      The anchor element
35516	 * @param {Number}   endLocation The end location to scroll to
35517	 * @param {Boolean}  isNum       If true, scroll is to a position rather than an element
35518	 */
35519	var adjustFocus = function (anchor, endLocation, isNum) {
35520
35521		// Is scrolling to top of page, blur
35522		if (anchor === 0) {
35523			document.body.focus();
35524		}
35525
35526		// Don't run if scrolling to a number on the page
35527		if (isNum) return;
35528
35529		// Otherwise, bring anchor element into focus
35530		anchor.focus();
35531		if (document.activeElement !== anchor) {
35532			anchor.setAttribute('tabindex', '-1');
35533			anchor.focus();
35534			anchor.style.outline = 'none';
35535		}
35536		window.scrollTo(0 , endLocation);
35537
35538	};
35539
35540	/**
35541	 * Emit a custom event
35542	 * @param  {String} type    The event type
35543	 * @param  {Object} options The settings object
35544	 * @param  {Node}   anchor  The anchor element
35545	 * @param  {Node}   toggle  The toggle element
35546	 */
35547	var emitEvent = function (type, options, anchor, toggle) {
35548		if (!options.emitEvents || typeof window.CustomEvent !== 'function') return;
35549		var event = new CustomEvent(type, {
35550			bubbles: true,
35551			detail: {
35552				anchor: anchor,
35553				toggle: toggle
35554			}
35555		});
35556		document.dispatchEvent(event);
35557	};
35558
35559
35560	//
35561	// SmoothScroll Constructor
35562	//
35563
35564	var SmoothScroll = function (selector, options) {
35565
35566		//
35567		// Variables
35568		//
35569
35570		var smoothScroll = {}; // Object for public APIs
35571		var settings, anchor, toggle, fixedHeader, eventTimeout, animationInterval;
35572
35573
35574		//
35575		// Methods
35576		//
35577
35578		/**
35579		 * Cancel a scroll-in-progress
35580		 */
35581		smoothScroll.cancelScroll = function (noEvent) {
35582			cancelAnimationFrame(animationInterval);
35583			animationInterval = null;
35584			if (noEvent) return;
35585			emitEvent('scrollCancel', settings);
35586		};
35587
35588		/**
35589		 * Start/stop the scrolling animation
35590		 * @param {Node|Number} anchor  The element or position to scroll to
35591		 * @param {Element}     toggle  The element that toggled the scroll event
35592		 * @param {Object}      options
35593		 */
35594		smoothScroll.animateScroll = function (anchor, toggle, options) {
35595
35596			// Cancel any in progress scrolls
35597			smoothScroll.cancelScroll();
35598
35599			// Local settings
35600			var _settings = extend(settings || defaults, options || {}); // Merge user options with defaults
35601
35602			// Selectors and variables
35603			var isNum = Object.prototype.toString.call(anchor) === '[object Number]' ? true : false;
35604			var anchorElem = isNum || !anchor.tagName ? null : anchor;
35605			if (!isNum && !anchorElem) return;
35606			var startLocation = window.pageYOffset; // Current location on the page
35607			if (_settings.header && !fixedHeader) {
35608				// Get the fixed header if not already set
35609				fixedHeader = document.querySelector(_settings.header);
35610			}
35611			var headerHeight = getHeaderHeight(fixedHeader);
35612			var endLocation = isNum ? anchor : getEndLocation(anchorElem, headerHeight, parseInt((typeof _settings.offset === 'function' ? _settings.offset(anchor, toggle) : _settings.offset), 10), _settings.clip); // Location to scroll to
35613			var distance = endLocation - startLocation; // distance to travel
35614			var documentHeight = getDocumentHeight();
35615			var timeLapsed = 0;
35616			var speed = getSpeed(distance, _settings);
35617			var start, percentage, position;
35618
35619			/**
35620			 * Stop the scroll animation when it reaches its target (or the bottom/top of page)
35621			 * @param {Number} position Current position on the page
35622			 * @param {Number} endLocation Scroll to location
35623			 * @param {Number} animationInterval How much to scroll on this loop
35624			 */
35625			var stopAnimateScroll = function (position, endLocation) {
35626
35627				// Get the current location
35628				var currentLocation = window.pageYOffset;
35629
35630				// Check if the end location has been reached yet (or we've hit the end of the document)
35631				if (position == endLocation || currentLocation == endLocation || ((startLocation < endLocation && window.innerHeight + currentLocation) >= documentHeight)) {
35632
35633					// Clear the animation timer
35634					smoothScroll.cancelScroll(true);
35635
35636					// Bring the anchored element into focus
35637					adjustFocus(anchor, endLocation, isNum);
35638
35639					// Emit a custom event
35640					emitEvent('scrollStop', _settings, anchor, toggle);
35641
35642					// Reset start
35643					start = null;
35644					animationInterval = null;
35645
35646					return true;
35647
35648				}
35649			};
35650
35651			/**
35652			 * Loop scrolling animation
35653			 */
35654			var loopAnimateScroll = function (timestamp) {
35655				if (!start) { start = timestamp; }
35656				timeLapsed += timestamp - start;
35657				percentage = speed === 0 ? 0 : (timeLapsed / speed);
35658				percentage = (percentage > 1) ? 1 : percentage;
35659				position = startLocation + (distance * easingPattern(_settings, percentage));
35660				window.scrollTo(0, Math.floor(position));
35661				if (!stopAnimateScroll(position, endLocation)) {
35662					animationInterval = window.requestAnimationFrame(loopAnimateScroll);
35663					start = timestamp;
35664				}
35665			};
35666
35667			/**
35668			 * Reset position to fix weird iOS bug
35669			 * @link https://github.com/cferdinandi/smooth-scroll/issues/45
35670			 */
35671			if (window.pageYOffset === 0) {
35672				window.scrollTo(0, 0);
35673			}
35674
35675			// Update the URL
35676			updateURL(anchor, isNum, _settings);
35677
35678			// If the user prefers reduced motion, jump to location
35679			if (reduceMotion()) {
35680				adjustFocus(anchor, Math.floor(endLocation), false);
35681				return;
35682			}
35683
35684			// Emit a custom event
35685			emitEvent('scrollStart', _settings, anchor, toggle);
35686
35687			// Start scrolling animation
35688			smoothScroll.cancelScroll(true);
35689			window.requestAnimationFrame(loopAnimateScroll);
35690
35691		};
35692
35693		/**
35694		 * If smooth scroll element clicked, animate scroll
35695		 */
35696		var clickHandler = function (event) {
35697
35698			// Don't run if event was canceled but still bubbled up
35699			// By @mgreter - https://github.com/cferdinandi/smooth-scroll/pull/462/
35700			if (event.defaultPrevented) return;
35701
35702			// Don't run if right-click or command/control + click or shift + click
35703			if (event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey) return;
35704
35705			// Check if event.target has closest() method
35706			// By @totegi - https://github.com/cferdinandi/smooth-scroll/pull/401/
35707			if (!('closest' in event.target)) return;
35708
35709			// Check if a smooth scroll link was clicked
35710			toggle = event.target.closest(selector);
35711			if (!toggle || toggle.tagName.toLowerCase() !== 'a' || event.target.closest(settings.ignore)) return;
35712
35713			// Only run if link is an anchor and points to the current page
35714			if (toggle.hostname !== window.location.hostname || toggle.pathname !== window.location.pathname || !/#/.test(toggle.href)) return;
35715
35716			// Get an escaped version of the hash
35717			var hash;
35718			try {
35719				hash = escapeCharacters(decodeURIComponent(toggle.hash));
35720			} catch(e) {
35721				hash = escapeCharacters(toggle.hash);
35722			}
35723
35724			// Get the anchored element
35725			var anchor;
35726			if (hash === '#') {
35727				if (!settings.topOnEmptyHash) return;
35728				anchor = document.documentElement;
35729			} else {
35730				anchor = document.querySelector(hash);
35731			}
35732			anchor = !anchor && hash === '#top' ? document.documentElement : anchor;
35733
35734			// If anchored element exists, scroll to it
35735			if (!anchor) return;
35736			event.preventDefault();
35737			setHistory(settings);
35738			smoothScroll.animateScroll(anchor, toggle);
35739
35740		};
35741
35742		/**
35743		 * Animate scroll on popstate events
35744		 */
35745		var popstateHandler = function (event) {
35746
35747			// Stop if history.state doesn't exist (ex. if clicking on a broken anchor link).
35748			// fixes `Cannot read property 'smoothScroll' of null` error getting thrown.
35749			if (history.state === null) return;
35750
35751			// Only run if state is a popstate record for this instantiation
35752			if (!history.state.smoothScroll || history.state.smoothScroll !== JSON.stringify(settings)) return;
35753
35754			// Only run if state includes an anchor
35755
35756			// if (!history.state.anchor && history.state.anchor !== 0) return;
35757
35758			// Get the anchor
35759			var anchor = history.state.anchor;
35760			if (typeof anchor === 'string' && anchor) {
35761				anchor = document.querySelector(escapeCharacters(history.state.anchor));
35762				if (!anchor) return;
35763			}
35764
35765			// Animate scroll to anchor link
35766			smoothScroll.animateScroll(anchor, null, {updateURL: false});
35767
35768		};
35769
35770		/**
35771		 * Destroy the current initialization.
35772		 */
35773		smoothScroll.destroy = function () {
35774
35775			// If plugin isn't already initialized, stop
35776			if (!settings) return;
35777
35778			// Remove event listeners
35779			document.removeEventListener('click', clickHandler, false);
35780			window.removeEventListener('popstate', popstateHandler, false);
35781
35782			// Cancel any scrolls-in-progress
35783			smoothScroll.cancelScroll();
35784
35785			// Reset variables
35786			settings = null;
35787			anchor = null;
35788			toggle = null;
35789			fixedHeader = null;
35790			eventTimeout = null;
35791			animationInterval = null;
35792
35793		};
35794
35795		/**
35796		 * Initialize Smooth Scroll
35797		 * @param {Object} options User settings
35798		 */
35799		var init = function () {
35800
35801			// feature test
35802			if (!supports()) throw 'Smooth Scroll: This browser does not support the required JavaScript methods and browser APIs.';
35803
35804			// Destroy any existing initializations
35805			smoothScroll.destroy();
35806
35807			// Selectors and variables
35808			settings = extend(defaults, options || {}); // Merge user options with defaults
35809			fixedHeader = settings.header ? document.querySelector(settings.header) : null; // Get the fixed header
35810
35811			// When a toggle is clicked, run the click handler
35812			document.addEventListener('click', clickHandler, false);
35813
35814			// If updateURL and popState are enabled, listen for pop events
35815			if (settings.updateURL && settings.popstate) {
35816				window.addEventListener('popstate', popstateHandler, false);
35817			}
35818
35819		};
35820
35821
35822		//
35823		// Initialize plugin
35824		//
35825
35826		init();
35827
35828
35829		//
35830		// Public APIs
35831		//
35832
35833		return smoothScroll;
35834
35835	};
35836
35837	return SmoothScroll;
35838
35839}));
35840
vendor: 187,833 bytes, lines 35841-41855
35841(function webpackUniversalModuleDefinition(root, factory) {
35842	if(typeof exports === 'object' && typeof module === 'object')
35843		module.exports = factory();
35844	else if(typeof define === 'function' && define.amd)
35845		define([], factory);
35846	else {
35847		var a = factory();
35848		for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
35849	}
35850})(self, function() {
35851return /******/ (function() { // webpackBootstrap
35852/******/ 	var __webpack_modules__ = ({
35853
35854/***/ 3099:
35855/***/ (function(module) {
35856
35857module.exports = function (it) {
35858  if (typeof it != 'function') {
35859    throw TypeError(String(it) + ' is not a function');
35860  } return it;
35861};
35862
35863
35864/***/ }),
35865
35866/***/ 6077:
35867/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
35868
35869var isObject = __webpack_require__(111);
35870
35871module.exports = function (it) {
35872  if (!isObject(it) && it !== null) {
35873    throw TypeError("Can't set " + String(it) + ' as a prototype');
35874  } return it;
35875};
35876
35877
35878/***/ }),
35879
35880/***/ 1223:
35881/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
35882
35883var wellKnownSymbol = __webpack_require__(5112);
35884var create = __webpack_require__(30);
35885var definePropertyModule = __webpack_require__(3070);
35886
35887var UNSCOPABLES = wellKnownSymbol('unscopables');
35888var ArrayPrototype = Array.prototype;
35889
35890// Array.prototype[@@unscopables]
35891// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
35892if (ArrayPrototype[UNSCOPABLES] == undefined) {
35893  definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {
35894    configurable: true,
35895    value: create(null)
35896  });
35897}
35898
35899// add a key to Array.prototype[@@unscopables]
35900module.exports = function (key) {
35901  ArrayPrototype[UNSCOPABLES][key] = true;
35902};
35903
35904
35905/***/ }),
35906
35907/***/ 1530:
35908/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
35909
35910"use strict";
35911
35912var charAt = __webpack_require__(8710).charAt;
35913
35914// `AdvanceStringIndex` abstract operation
35915// https://tc39.es/ecma262/#sec-advancestringindex
35916module.exports = function (S, index, unicode) {
35917  return index + (unicode ? charAt(S, index).length : 1);
35918};
35919
35920
35921/***/ }),
35922
35923/***/ 5787:
35924/***/ (function(module) {
35925
35926module.exports = function (it, Constructor, name) {
35927  if (!(it instanceof Constructor)) {
35928    throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');
35929  } return it;
35930};
35931
35932
35933/***/ }),
35934
35935/***/ 9670:
35936/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
35937
35938var isObject = __webpack_require__(111);
35939
35940module.exports = function (it) {
35941  if (!isObject(it)) {
35942    throw TypeError(String(it) + ' is not an object');
35943  } return it;
35944};
35945
35946
35947/***/ }),
35948
35949/***/ 4019:
35950/***/ (function(module) {
35951
35952module.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';
35953
35954
35955/***/ }),
35956
35957/***/ 260:
35958/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
35959
35960"use strict";
35961
35962var NATIVE_ARRAY_BUFFER = __webpack_require__(4019);
35963var DESCRIPTORS = __webpack_require__(9781);
35964var global = __webpack_require__(7854);
35965var isObject = __webpack_require__(111);
35966var has = __webpack_require__(6656);
35967var classof = __webpack_require__(648);
35968var createNonEnumerableProperty = __webpack_require__(8880);
35969var redefine = __webpack_require__(1320);
35970var defineProperty = __webpack_require__(3070).f;
35971var getPrototypeOf = __webpack_require__(9518);
35972var setPrototypeOf = __webpack_require__(7674);
35973var wellKnownSymbol = __webpack_require__(5112);
35974var uid = __webpack_require__(9711);
35975
35976var Int8Array = global.Int8Array;
35977var Int8ArrayPrototype = Int8Array && Int8Array.prototype;
35978var Uint8ClampedArray = global.Uint8ClampedArray;
35979var Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;
35980var TypedArray = Int8Array && getPrototypeOf(Int8Array);
35981var TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);
35982var ObjectPrototype = Object.prototype;
35983var isPrototypeOf = ObjectPrototype.isPrototypeOf;
35984
35985var TO_STRING_TAG = wellKnownSymbol('toStringTag');
35986var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');
35987// Fixing native typed arrays in Opera Presto crashes the browser, see #595
35988var NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';
35989var TYPED_ARRAY_TAG_REQIRED = false;
35990var NAME;
35991
35992var TypedArrayConstructorsList = {
35993  Int8Array: 1,
35994  Uint8Array: 1,
35995  Uint8ClampedArray: 1,
35996  Int16Array: 2,
35997  Uint16Array: 2,
35998  Int32Array: 4,
35999  Uint32Array: 4,
36000  Float32Array: 4,
36001  Float64Array: 8
36002};
36003
36004var BigIntArrayConstructorsList = {
36005  BigInt64Array: 8,
36006  BigUint64Array: 8
36007};
36008
36009var isView = function isView(it) {
36010  if (!isObject(it)) return false;
36011  var klass = classof(it);
36012  return klass === 'DataView'
36013    || has(TypedArrayConstructorsList, klass)
36014    || has(BigIntArrayConstructorsList, klass);
36015};
36016
36017var isTypedArray = function (it) {
36018  if (!isObject(it)) return false;
36019  var klass = classof(it);
36020  return has(TypedArrayConstructorsList, klass)
36021    || has(BigIntArrayConstructorsList, klass);
36022};
36023
36024var aTypedArray = function (it) {
36025  if (isTypedArray(it)) return it;
36026  throw TypeError('Target is not a typed array');
36027};
36028
36029var aTypedArrayConstructor = function (C) {
36030  if (setPrototypeOf) {
36031    if (isPrototypeOf.call(TypedArray, C)) return C;
36032  } else for (var ARRAY in TypedArrayConstructorsList) if (has(TypedArrayConstructorsList, NAME)) {
36033    var TypedArrayConstructor = global[ARRAY];
36034    if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {
36035      return C;
36036    }
36037  } throw TypeError('Target is not a typed array constructor');
36038};
36039
36040var exportTypedArrayMethod = function (KEY, property, forced) {
36041  if (!DESCRIPTORS) return;
36042  if (forced) for (var ARRAY in TypedArrayConstructorsList) {
36043    var TypedArrayConstructor = global[ARRAY];
36044    if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) {
36045      delete TypedArrayConstructor.prototype[KEY];
36046    }
36047  }
36048  if (!TypedArrayPrototype[KEY] || forced) {
36049    redefine(TypedArrayPrototype, KEY, forced ? property
36050      : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);
36051  }
36052};
36053
36054var exportTypedArrayStaticMethod = function (KEY, property, forced) {
36055  var ARRAY, TypedArrayConstructor;
36056  if (!DESCRIPTORS) return;
36057  if (setPrototypeOf) {
36058    if (forced) for (ARRAY in TypedArrayConstructorsList) {
36059      TypedArrayConstructor = global[ARRAY];
36060      if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) {
36061        delete TypedArrayConstructor[KEY];
36062      }
36063    }
36064    if (!TypedArray[KEY] || forced) {
36065      // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable
36066      try {
36067        return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property);
36068      } catch (error) { /* empty */ }
36069    } else return;
36070  }
36071  for (ARRAY in TypedArrayConstructorsList) {
36072    TypedArrayConstructor = global[ARRAY];
36073    if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {
36074      redefine(TypedArrayConstructor, KEY, property);
36075    }
36076  }
36077};
36078
36079for (NAME in TypedArrayConstructorsList) {
36080  if (!global[NAME]) NATIVE_ARRAY_BUFFER_VIEWS = false;
36081}
36082
36083// WebKit bug - typed arrays constructors prototype is Object.prototype
36084if (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {
36085  // eslint-disable-next-line no-shadow -- safe
36086  TypedArray = function TypedArray() {
36087    throw TypeError('Incorrect invocation');
36088  };
36089  if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {
36090    if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);
36091  }
36092}
36093
36094if (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {
36095  TypedArrayPrototype = TypedArray.prototype;
36096  if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {
36097    if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);
36098  }
36099}
36100
36101// WebKit bug - one more object in Uint8ClampedArray prototype chain
36102if (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {
36103  setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);
36104}
36105
36106if (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) {
36107  TYPED_ARRAY_TAG_REQIRED = true;
36108  defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {
36109    return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;
36110  } });
36111  for (NAME in TypedArrayConstructorsList) if (global[NAME]) {
36112    createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);
36113  }
36114}
36115
36116module.exports = {
36117  NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,
36118  TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,
36119  aTypedArray: aTypedArray,
36120  aTypedArrayConstructor: aTypedArrayConstructor,
36121  exportTypedArrayMethod: exportTypedArrayMethod,
36122  exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,
36123  isView: isView,
36124  isTypedArray: isTypedArray,
36125  TypedArray: TypedArray,
36126  TypedArrayPrototype: TypedArrayPrototype
36127};
36128
36129
36130/***/ }),
36131
36132/***/ 3331:
36133/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
36134
36135"use strict";
36136
36137var global = __webpack_require__(7854);
36138var DESCRIPTORS = __webpack_require__(9781);
36139var NATIVE_ARRAY_BUFFER = __webpack_require__(4019);
36140var createNonEnumerableProperty = __webpack_require__(8880);
36141var redefineAll = __webpack_require__(2248);
36142var fails = __webpack_require__(7293);
36143var anInstance = __webpack_require__(5787);
36144var toInteger = __webpack_require__(9958);
36145var toLength = __webpack_require__(7466);
36146var toIndex = __webpack_require__(7067);
36147var IEEE754 = __webpack_require__(1179);
36148var getPrototypeOf = __webpack_require__(9518);
36149var setPrototypeOf = __webpack_require__(7674);
36150var getOwnPropertyNames = __webpack_require__(8006).f;
36151var defineProperty = __webpack_require__(3070).f;
36152var arrayFill = __webpack_require__(1285);
36153var setToStringTag = __webpack_require__(8003);
36154var InternalStateModule = __webpack_require__(9909);
36155
36156var getInternalState = InternalStateModule.get;
36157var setInternalState = InternalStateModule.set;
36158var ARRAY_BUFFER = 'ArrayBuffer';
36159var DATA_VIEW = 'DataView';
36160var PROTOTYPE = 'prototype';
36161var WRONG_LENGTH = 'Wrong length';
36162var WRONG_INDEX = 'Wrong index';
36163var NativeArrayBuffer = global[ARRAY_BUFFER];
36164var $ArrayBuffer = NativeArrayBuffer;
36165var $DataView = global[DATA_VIEW];
36166var $DataViewPrototype = $DataView && $DataView[PROTOTYPE];
36167var ObjectPrototype = Object.prototype;
36168var RangeError = global.RangeError;
36169
36170var packIEEE754 = IEEE754.pack;
36171var unpackIEEE754 = IEEE754.unpack;
36172
36173var packInt8 = function (number) {
36174  return [number & 0xFF];
36175};
36176
36177var packInt16 = function (number) {
36178  return [number & 0xFF, number >> 8 & 0xFF];
36179};
36180
36181var packInt32 = function (number) {
36182  return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];
36183};
36184
36185var unpackInt32 = function (buffer) {
36186  return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];
36187};
36188
36189var packFloat32 = function (number) {
36190  return packIEEE754(number, 23, 4);
36191};
36192
36193var packFloat64 = function (number) {
36194  return packIEEE754(number, 52, 8);
36195};
36196
36197var addGetter = function (Constructor, key) {
36198  defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });
36199};
36200
36201var get = function (view, count, index, isLittleEndian) {
36202  var intIndex = toIndex(index);
36203  var store = getInternalState(view);
36204  if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);
36205  var bytes = getInternalState(store.buffer).bytes;
36206  var start = intIndex + store.byteOffset;
36207  var pack = bytes.slice(start, start + count);
36208  return isLittleEndian ? pack : pack.reverse();
36209};
36210
36211var set = function (view, count, index, conversion, value, isLittleEndian) {
36212  var intIndex = toIndex(index);
36213  var store = getInternalState(view);
36214  if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);
36215  var bytes = getInternalState(store.buffer).bytes;
36216  var start = intIndex + store.byteOffset;
36217  var pack = conversion(+value);
36218  for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];
36219};
36220
36221if (!NATIVE_ARRAY_BUFFER) {
36222  $ArrayBuffer = function ArrayBuffer(length) {
36223    anInstance(this, $ArrayBuffer, ARRAY_BUFFER);
36224    var byteLength = toIndex(length);
36225    setInternalState(this, {
36226      bytes: arrayFill.call(new Array(byteLength), 0),
36227      byteLength: byteLength
36228    });
36229    if (!DESCRIPTORS) this.byteLength = byteLength;
36230  };
36231
36232  $DataView = function DataView(buffer, byteOffset, byteLength) {
36233    anInstance(this, $DataView, DATA_VIEW);
36234    anInstance(buffer, $ArrayBuffer, DATA_VIEW);
36235    var bufferLength = getInternalState(buffer).byteLength;
36236    var offset = toInteger(byteOffset);
36237    if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');
36238    byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);
36239    if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);
36240    setInternalState(this, {
36241      buffer: buffer,
36242      byteLength: byteLength,
36243      byteOffset: offset
36244    });
36245    if (!DESCRIPTORS) {
36246      this.buffer = buffer;
36247      this.byteLength = byteLength;
36248      this.byteOffset = offset;
36249    }
36250  };
36251
36252  if (DESCRIPTORS) {
36253    addGetter($ArrayBuffer, 'byteLength');
36254    addGetter($DataView, 'buffer');
36255    addGetter($DataView, 'byteLength');
36256    addGetter($DataView, 'byteOffset');
36257  }
36258
36259  redefineAll($DataView[PROTOTYPE], {
36260    getInt8: function getInt8(byteOffset) {
36261      return get(this, 1, byteOffset)[0] << 24 >> 24;
36262    },
36263    getUint8: function getUint8(byteOffset) {
36264      return get(this, 1, byteOffset)[0];
36265    },
36266    getInt16: function getInt16(byteOffset /* , littleEndian */) {
36267      var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);
36268      return (bytes[1] << 8 | bytes[0]) << 16 >> 16;
36269    },
36270    getUint16: function getUint16(byteOffset /* , littleEndian */) {
36271      var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);
36272      return bytes[1] << 8 | bytes[0];
36273    },
36274    getInt32: function getInt32(byteOffset /* , littleEndian */) {
36275      return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));
36276    },
36277    getUint32: function getUint32(byteOffset /* , littleEndian */) {
36278      return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;
36279    },
36280    getFloat32: function getFloat32(byteOffset /* , littleEndian */) {
36281      return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);
36282    },
36283    getFloat64: function getFloat64(byteOffset /* , littleEndian */) {
36284      return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);
36285    },
36286    setInt8: function setInt8(byteOffset, value) {
36287      set(this, 1, byteOffset, packInt8, value);
36288    },
36289    setUint8: function setUint8(byteOffset, value) {
36290      set(this, 1, byteOffset, packInt8, value);
36291    },
36292    setInt16: function setInt16(byteOffset, value /* , littleEndian */) {
36293      set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);
36294    },
36295    setUint16: function setUint16(byteOffset, value /* , littleEndian */) {
36296      set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);
36297    },
36298    setInt32: function setInt32(byteOffset, value /* , littleEndian */) {
36299      set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);
36300    },
36301    setUint32: function setUint32(byteOffset, value /* , littleEndian */) {
36302      set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);
36303    },
36304    setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {
36305      set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);
36306    },
36307    setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {
36308      set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);
36309    }
36310  });
36311} else {
36312  /* eslint-disable no-new -- required for testing */
36313  if (!fails(function () {
36314    NativeArrayBuffer(1);
36315  }) || !fails(function () {
36316    new NativeArrayBuffer(-1);
36317  }) || fails(function () {
36318    new NativeArrayBuffer();
36319    new NativeArrayBuffer(1.5);
36320    new NativeArrayBuffer(NaN);
36321    return NativeArrayBuffer.name != ARRAY_BUFFER;
36322  })) {
36323  /* eslint-enable no-new -- required for testing */
36324    $ArrayBuffer = function ArrayBuffer(length) {
36325      anInstance(this, $ArrayBuffer);
36326      return new NativeArrayBuffer(toIndex(length));
36327    };
36328    var ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE] = NativeArrayBuffer[PROTOTYPE];
36329    for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {
36330      if (!((key = keys[j++]) in $ArrayBuffer)) {
36331        createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);
36332      }
36333    }
36334    ArrayBufferPrototype.constructor = $ArrayBuffer;
36335  }
36336
36337  // WebKit bug - the same parent prototype for typed arrays and data view
36338  if (setPrototypeOf && getPrototypeOf($DataViewPrototype) !== ObjectPrototype) {
36339    setPrototypeOf($DataViewPrototype, ObjectPrototype);
36340  }
36341
36342  // iOS Safari 7.x bug
36343  var testView = new $DataView(new $ArrayBuffer(2));
36344  var nativeSetInt8 = $DataViewPrototype.setInt8;
36345  testView.setInt8(0, 2147483648);
36346  testView.setInt8(1, 2147483649);
36347  if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll($DataViewPrototype, {
36348    setInt8: function setInt8(byteOffset, value) {
36349      nativeSetInt8.call(this, byteOffset, value << 24 >> 24);
36350    },
36351    setUint8: function setUint8(byteOffset, value) {
36352      nativeSetInt8.call(this, byteOffset, value << 24 >> 24);
36353    }
36354  }, { unsafe: true });
36355}
36356
36357setToStringTag($ArrayBuffer, ARRAY_BUFFER);
36358setToStringTag($DataView, DATA_VIEW);
36359
36360module.exports = {
36361  ArrayBuffer: $ArrayBuffer,
36362  DataView: $DataView
36363};
36364
36365
36366/***/ }),
36367
36368/***/ 1048:
36369/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
36370
36371"use strict";
36372
36373var toObject = __webpack_require__(7908);
36374var toAbsoluteIndex = __webpack_require__(1400);
36375var toLength = __webpack_require__(7466);
36376
36377var min = Math.min;
36378
36379// `Array.prototype.copyWithin` method implementation
36380// https://tc39.es/ecma262/#sec-array.prototype.copywithin
36381module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {
36382  var O = toObject(this);
36383  var len = toLength(O.length);
36384  var to = toAbsoluteIndex(target, len);
36385  var from = toAbsoluteIndex(start, len);
36386  var end = arguments.length > 2 ? arguments[2] : undefined;
36387  var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);
36388  var inc = 1;
36389  if (from < to && to < from + count) {
36390    inc = -1;
36391    from += count - 1;
36392    to += count - 1;
36393  }
36394  while (count-- > 0) {
36395    if (from in O) O[to] = O[from];
36396    else delete O[to];
36397    to += inc;
36398    from += inc;
36399  } return O;
36400};
36401
36402
36403/***/ }),
36404
36405/***/ 1285:
36406/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
36407
36408"use strict";
36409
36410var toObject = __webpack_require__(7908);
36411var toAbsoluteIndex = __webpack_require__(1400);
36412var toLength = __webpack_require__(7466);
36413
36414// `Array.prototype.fill` method implementation
36415// https://tc39.es/ecma262/#sec-array.prototype.fill
36416module.exports = function fill(value /* , start = 0, end = @length */) {
36417  var O = toObject(this);
36418  var length = toLength(O.length);
36419  var argumentsLength = arguments.length;
36420  var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);
36421  var end = argumentsLength > 2 ? arguments[2] : undefined;
36422  var endPos = end === undefined ? length : toAbsoluteIndex(end, length);
36423  while (endPos > index) O[index++] = value;
36424  return O;
36425};
36426
36427
36428/***/ }),
36429
36430/***/ 8533:
36431/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
36432
36433"use strict";
36434
36435var $forEach = __webpack_require__(2092).forEach;
36436var arrayMethodIsStrict = __webpack_require__(9341);
36437
36438var STRICT_METHOD = arrayMethodIsStrict('forEach');
36439
36440// `Array.prototype.forEach` method implementation
36441// https://tc39.es/ecma262/#sec-array.prototype.foreach
36442module.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {
36443  return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
36444} : [].forEach;
36445
36446
36447/***/ }),
36448
36449/***/ 8457:
36450/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
36451
36452"use strict";
36453
36454var bind = __webpack_require__(9974);
36455var toObject = __webpack_require__(7908);
36456var callWithSafeIterationClosing = __webpack_require__(3411);
36457var isArrayIteratorMethod = __webpack_require__(7659);
36458var toLength = __webpack_require__(7466);
36459var createProperty = __webpack_require__(6135);
36460var getIteratorMethod = __webpack_require__(1246);
36461
36462// `Array.from` method implementation
36463// https://tc39.es/ecma262/#sec-array.from
36464module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {
36465  var O = toObject(arrayLike);
36466  var C = typeof this == 'function' ? this : Array;
36467  var argumentsLength = arguments.length;
36468  var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
36469  var mapping = mapfn !== undefined;
36470  var iteratorMethod = getIteratorMethod(O);
36471  var index = 0;
36472  var length, result, step, iterator, next, value;
36473  if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);
36474  // if the target is not iterable or it's an array with the default iterator - use a simple case
36475  if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {
36476    iterator = iteratorMethod.call(O);
36477    next = iterator.next;
36478    result = new C();
36479    for (;!(step = next.call(iterator)).done; index++) {
36480      value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;
36481      createProperty(result, index, value);
36482    }
36483  } else {
36484    length = toLength(O.length);
36485    result = new C(length);
36486    for (;length > index; index++) {
36487      value = mapping ? mapfn(O[index], index) : O[index];
36488      createProperty(result, index, value);
36489    }
36490  }
36491  result.length = index;
36492  return result;
36493};
36494
36495
36496/***/ }),
36497
36498/***/ 1318:
36499/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
36500
36501var toIndexedObject = __webpack_require__(5656);
36502var toLength = __webpack_require__(7466);
36503var toAbsoluteIndex = __webpack_require__(1400);
36504
36505// `Array.prototype.{ indexOf, includes }` methods implementation
36506var createMethod = function (IS_INCLUDES) {
36507  return function ($this, el, fromIndex) {
36508    var O = toIndexedObject($this);
36509    var length = toLength(O.length);
36510    var index = toAbsoluteIndex(fromIndex, length);
36511    var value;
36512    // Array#includes uses SameValueZero equality algorithm
36513    // eslint-disable-next-line no-self-compare -- NaN check
36514    if (IS_INCLUDES && el != el) while (length > index) {
36515      value = O[index++];
36516      // eslint-disable-next-line no-self-compare -- NaN check
36517      if (value != value) return true;
36518    // Array#indexOf ignores holes, Array#includes - not
36519    } else for (;length > index; index++) {
36520      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
36521    } return !IS_INCLUDES && -1;
36522  };
36523};
36524
36525module.exports = {
36526  // `Array.prototype.includes` method
36527  // https://tc39.es/ecma262/#sec-array.prototype.includes
36528  includes: createMethod(true),
36529  // `Array.prototype.indexOf` method
36530  // https://tc39.es/ecma262/#sec-array.prototype.indexof
36531  indexOf: createMethod(false)
36532};
36533
36534
36535/***/ }),
36536
36537/***/ 2092:
36538/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
36539
36540var bind = __webpack_require__(9974);
36541var IndexedObject = __webpack_require__(8361);
36542var toObject = __webpack_require__(7908);
36543var toLength = __webpack_require__(7466);
36544var arraySpeciesCreate = __webpack_require__(5417);
36545
36546var push = [].push;
36547
36548// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation
36549var createMethod = function (TYPE) {
36550  var IS_MAP = TYPE == 1;
36551  var IS_FILTER = TYPE == 2;
36552  var IS_SOME = TYPE == 3;
36553  var IS_EVERY = TYPE == 4;
36554  var IS_FIND_INDEX = TYPE == 6;
36555  var IS_FILTER_OUT = TYPE == 7;
36556  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
36557  return function ($this, callbackfn, that, specificCreate) {
36558    var O = toObject($this);
36559    var self = IndexedObject(O);
36560    var boundFunction = bind(callbackfn, that, 3);
36561    var length = toLength(self.length);
36562    var index = 0;
36563    var create = specificCreate || arraySpeciesCreate;
36564    var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;
36565    var value, result;
36566    for (;length > index; index++) if (NO_HOLES || index in self) {
36567      value = self[index];
36568      result = boundFunction(value, index, O);
36569      if (TYPE) {
36570        if (IS_MAP) target[index] = result; // map
36571        else if (result) switch (TYPE) {
36572          case 3: return true;              // some
36573          case 5: return value;             // find
36574          case 6: return index;             // findIndex
36575          case 2: push.call(target, value); // filter
36576        } else switch (TYPE) {
36577          case 4: return false;             // every
36578          case 7: push.call(target, value); // filterOut
36579        }
36580      }
36581    }
36582    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
36583  };
36584};
36585
36586module.exports = {
36587  // `Array.prototype.forEach` method
36588  // https://tc39.es/ecma262/#sec-array.prototype.foreach
36589  forEach: createMethod(0),
36590  // `Array.prototype.map` method
36591  // https://tc39.es/ecma262/#sec-array.prototype.map
36592  map: createMethod(1),
36593  // `Array.prototype.filter` method
36594  // https://tc39.es/ecma262/#sec-array.prototype.filter
36595  filter: createMethod(2),
36596  // `Array.prototype.some` method
36597  // https://tc39.es/ecma262/#sec-array.prototype.some
36598  some: createMethod(3),
36599  // `Array.prototype.every` method
36600  // https://tc39.es/ecma262/#sec-array.prototype.every
36601  every: createMethod(4),
36602  // `Array.prototype.find` method
36603  // https://tc39.es/ecma262/#sec-array.prototype.find
36604  find: createMethod(5),
36605  // `Array.prototype.findIndex` method
36606  // https://tc39.es/ecma262/#sec-array.prototype.findIndex
36607  findIndex: createMethod(6),
36608  // `Array.prototype.filterOut` method
36609  // https://github.com/tc39/proposal-array-filtering
36610  filterOut: createMethod(7)
36611};
36612
36613
36614/***/ }),
36615
36616/***/ 6583:
36617/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
36618
36619"use strict";
36620
36621var toIndexedObject = __webpack_require__(5656);
36622var toInteger = __webpack_require__(9958);
36623var toLength = __webpack_require__(7466);
36624var arrayMethodIsStrict = __webpack_require__(9341);
36625
36626var min = Math.min;
36627var nativeLastIndexOf = [].lastIndexOf;
36628var NEGATIVE_ZERO = !!nativeLastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;
36629var STRICT_METHOD = arrayMethodIsStrict('lastIndexOf');
36630var FORCED = NEGATIVE_ZERO || !STRICT_METHOD;
36631
36632// `Array.prototype.lastIndexOf` method implementation
36633// https://tc39.es/ecma262/#sec-array.prototype.lastindexof
36634module.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {
36635  // convert -0 to +0
36636  if (NEGATIVE_ZERO) return nativeLastIndexOf.apply(this, arguments) || 0;
36637  var O = toIndexedObject(this);
36638  var length = toLength(O.length);
36639  var index = length - 1;
36640  if (arguments.length > 1) index = min(index, toInteger(arguments[1]));
36641  if (index < 0) index = length + index;
36642  for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;
36643  return -1;
36644} : nativeLastIndexOf;
36645
36646
36647/***/ }),
36648
36649/***/ 1194:
36650/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
36651
36652var fails = __webpack_require__(7293);
36653var wellKnownSymbol = __webpack_require__(5112);
36654var V8_VERSION = __webpack_require__(7392);
36655
36656var SPECIES = wellKnownSymbol('species');
36657
36658module.exports = function (METHOD_NAME) {
36659  // We can't use this feature detection in V8 since it causes
36660  // deoptimization and serious performance degradation
36661  // https://github.com/zloirock/core-js/issues/677
36662  return V8_VERSION >= 51 || !fails(function () {
36663    var array = [];
36664    var constructor = array.constructor = {};
36665    constructor[SPECIES] = function () {
36666      return { foo: 1 };
36667    };
36668    return array[METHOD_NAME](Boolean).foo !== 1;
36669  });
36670};
36671
36672
36673/***/ }),
36674
36675/***/ 9341:
36676/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
36677
36678"use strict";
36679
36680var fails = __webpack_require__(7293);
36681
36682module.exports = function (METHOD_NAME, argument) {
36683  var method = [][METHOD_NAME];
36684  return !!method && fails(function () {
36685    // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing
36686    method.call(null, argument || function () { throw 1; }, 1);
36687  });
36688};
36689
36690
36691/***/ }),
36692
36693/***/ 3671:
36694/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
36695
36696var aFunction = __webpack_require__(3099);
36697var toObject = __webpack_require__(7908);
36698var IndexedObject = __webpack_require__(8361);
36699var toLength = __webpack_require__(7466);
36700
36701// `Array.prototype.{ reduce, reduceRight }` methods implementation
36702var createMethod = function (IS_RIGHT) {
36703  return function (that, callbackfn, argumentsLength, memo) {
36704    aFunction(callbackfn);
36705    var O = toObject(that);
36706    var self = IndexedObject(O);
36707    var length = toLength(O.length);
36708    var index = IS_RIGHT ? length - 1 : 0;
36709    var i = IS_RIGHT ? -1 : 1;
36710    if (argumentsLength < 2) while (true) {
36711      if (index in self) {
36712        memo = self[index];
36713        index += i;
36714        break;
36715      }
36716      index += i;
36717      if (IS_RIGHT ? index < 0 : length <= index) {
36718        throw TypeError('Reduce of empty array with no initial value');
36719      }
36720    }
36721    for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {
36722      memo = callbackfn(memo, self[index], index, O);
36723    }
36724    return memo;
36725  };
36726};
36727
36728module.exports = {
36729  // `Array.prototype.reduce` method
36730  // https://tc39.es/ecma262/#sec-array.prototype.reduce
36731  left: createMethod(false),
36732  // `Array.prototype.reduceRight` method
36733  // https://tc39.es/ecma262/#sec-array.prototype.reduceright
36734  right: createMethod(true)
36735};
36736
36737
36738/***/ }),
36739
36740/***/ 5417:
36741/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
36742
36743var isObject = __webpack_require__(111);
36744var isArray = __webpack_require__(3157);
36745var wellKnownSymbol = __webpack_require__(5112);
36746
36747var SPECIES = wellKnownSymbol('species');
36748
36749// `ArraySpeciesCreate` abstract operation
36750// https://tc39.es/ecma262/#sec-arrayspeciescreate
36751module.exports = function (originalArray, length) {
36752  var C;
36753  if (isArray(originalArray)) {
36754    C = originalArray.constructor;
36755    // cross-realm fallback
36756    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
36757    else if (isObject(C)) {
36758      C = C[SPECIES];
36759      if (C === null) C = undefined;
36760    }
36761  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
36762};
36763
36764
36765/***/ }),
36766
36767/***/ 3411:
36768/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
36769
36770var anObject = __webpack_require__(9670);
36771var iteratorClose = __webpack_require__(9212);
36772
36773// call something on iterator step with safe closing on error
36774module.exports = function (iterator, fn, value, ENTRIES) {
36775  try {
36776    return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);
36777  // 7.4.6 IteratorClose(iterator, completion)
36778  } catch (error) {
36779    iteratorClose(iterator);
36780    throw error;
36781  }
36782};
36783
36784
36785/***/ }),
36786
36787/***/ 7072:
36788/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
36789
36790var wellKnownSymbol = __webpack_require__(5112);
36791
36792var ITERATOR = wellKnownSymbol('iterator');
36793var SAFE_CLOSING = false;
36794
36795try {
36796  var called = 0;
36797  var iteratorWithReturn = {
36798    next: function () {
36799      return { done: !!called++ };
36800    },
36801    'return': function () {
36802      SAFE_CLOSING = true;
36803    }
36804  };
36805  iteratorWithReturn[ITERATOR] = function () {
36806    return this;
36807  };
36808  // eslint-disable-next-line no-throw-literal -- required for testing
36809  Array.from(iteratorWithReturn, function () { throw 2; });
36810} catch (error) { /* empty */ }
36811
36812module.exports = function (exec, SKIP_CLOSING) {
36813  if (!SKIP_CLOSING && !SAFE_CLOSING) return false;
36814  var ITERATION_SUPPORT = false;
36815  try {
36816    var object = {};
36817    object[ITERATOR] = function () {
36818      return {
36819        next: function () {
36820          return { done: ITERATION_SUPPORT = true };
36821        }
36822      };
36823    };
36824    exec(object);
36825  } catch (error) { /* empty */ }
36826  return ITERATION_SUPPORT;
36827};
36828
36829
36830/***/ }),
36831
36832/***/ 4326:
36833/***/ (function(module) {
36834
36835var toString = {}.toString;
36836
36837module.exports = function (it) {
36838  return toString.call(it).slice(8, -1);
36839};
36840
36841
36842/***/ }),
36843
36844/***/ 648:
36845/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
36846
36847var TO_STRING_TAG_SUPPORT = __webpack_require__(1694);
36848var classofRaw = __webpack_require__(4326);
36849var wellKnownSymbol = __webpack_require__(5112);
36850
36851var TO_STRING_TAG = wellKnownSymbol('toStringTag');
36852// ES3 wrong here
36853var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
36854
36855// fallback for IE11 Script Access Denied error
36856var tryGet = function (it, key) {
36857  try {
36858    return it[key];
36859  } catch (error) { /* empty */ }
36860};
36861
36862// getting tag from ES6+ `Object.prototype.toString`
36863module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
36864  var O, tag, result;
36865  return it === undefined ? 'Undefined' : it === null ? 'Null'
36866    // @@toStringTag case
36867    : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag
36868    // builtinTag case
36869    : CORRECT_ARGUMENTS ? classofRaw(O)
36870    // ES3 arguments fallback
36871    : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
36872};
36873
36874
36875/***/ }),
36876
36877/***/ 9920:
36878/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
36879
36880var has = __webpack_require__(6656);
36881var ownKeys = __webpack_require__(3887);
36882var getOwnPropertyDescriptorModule = __webpack_require__(1236);
36883var definePropertyModule = __webpack_require__(3070);
36884
36885module.exports = function (target, source) {
36886  var keys = ownKeys(source);
36887  var defineProperty = definePropertyModule.f;
36888  var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
36889  for (var i = 0; i < keys.length; i++) {
36890    var key = keys[i];
36891    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
36892  }
36893};
36894
36895
36896/***/ }),
36897
36898/***/ 8544:
36899/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
36900
36901var fails = __webpack_require__(7293);
36902
36903module.exports = !fails(function () {
36904  function F() { /* empty */ }
36905  F.prototype.constructor = null;
36906  return Object.getPrototypeOf(new F()) !== F.prototype;
36907});
36908
36909
36910/***/ }),
36911
36912/***/ 4994:
36913/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
36914
36915"use strict";
36916
36917var IteratorPrototype = __webpack_require__(3383).IteratorPrototype;
36918var create = __webpack_require__(30);
36919var createPropertyDescriptor = __webpack_require__(9114);
36920var setToStringTag = __webpack_require__(8003);
36921var Iterators = __webpack_require__(7497);
36922
36923var returnThis = function () { return this; };
36924
36925module.exports = function (IteratorConstructor, NAME, next) {
36926  var TO_STRING_TAG = NAME + ' Iterator';
36927  IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });
36928  setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);
36929  Iterators[TO_STRING_TAG] = returnThis;
36930  return IteratorConstructor;
36931};
36932
36933
36934/***/ }),
36935
36936/***/ 8880:
36937/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
36938
36939var DESCRIPTORS = __webpack_require__(9781);
36940var definePropertyModule = __webpack_require__(3070);
36941var createPropertyDescriptor = __webpack_require__(9114);
36942
36943module.exports = DESCRIPTORS ? function (object, key, value) {
36944  return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
36945} : function (object, key, value) {
36946  object[key] = value;
36947  return object;
36948};
36949
36950
36951/***/ }),
36952
36953/***/ 9114:
36954/***/ (function(module) {
36955
36956module.exports = function (bitmap, value) {
36957  return {
36958    enumerable: !(bitmap & 1),
36959    configurable: !(bitmap & 2),
36960    writable: !(bitmap & 4),
36961    value: value
36962  };
36963};
36964
36965
36966/***/ }),
36967
36968/***/ 6135:
36969/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
36970
36971"use strict";
36972
36973var toPrimitive = __webpack_require__(7593);
36974var definePropertyModule = __webpack_require__(3070);
36975var createPropertyDescriptor = __webpack_require__(9114);
36976
36977module.exports = function (object, key, value) {
36978  var propertyKey = toPrimitive(key);
36979  if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));
36980  else object[propertyKey] = value;
36981};
36982
36983
36984/***/ }),
36985
36986/***/ 654:
36987/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
36988
36989"use strict";
36990
36991var $ = __webpack_require__(2109);
36992var createIteratorConstructor = __webpack_require__(4994);
36993var getPrototypeOf = __webpack_require__(9518);
36994var setPrototypeOf = __webpack_require__(7674);
36995var setToStringTag = __webpack_require__(8003);
36996var createNonEnumerableProperty = __webpack_require__(8880);
36997var redefine = __webpack_require__(1320);
36998var wellKnownSymbol = __webpack_require__(5112);
36999var IS_PURE = __webpack_require__(1913);
37000var Iterators = __webpack_require__(7497);
37001var IteratorsCore = __webpack_require__(3383);
37002
37003var IteratorPrototype = IteratorsCore.IteratorPrototype;
37004var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
37005var ITERATOR = wellKnownSymbol('iterator');
37006var KEYS = 'keys';
37007var VALUES = 'values';
37008var ENTRIES = 'entries';
37009
37010var returnThis = function () { return this; };
37011
37012module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
37013  createIteratorConstructor(IteratorConstructor, NAME, next);
37014
37015  var getIterationMethod = function (KIND) {
37016    if (KIND === DEFAULT && defaultIterator) return defaultIterator;
37017    if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];
37018    switch (KIND) {
37019      case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };
37020      case VALUES: return function values() { return new IteratorConstructor(this, KIND); };
37021      case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };
37022    } return function () { return new IteratorConstructor(this); };
37023  };
37024
37025  var TO_STRING_TAG = NAME + ' Iterator';
37026  var INCORRECT_VALUES_NAME = false;
37027  var IterablePrototype = Iterable.prototype;
37028  var nativeIterator = IterablePrototype[ITERATOR]
37029    || IterablePrototype['@@iterator']
37030    || DEFAULT && IterablePrototype[DEFAULT];
37031  var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
37032  var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
37033  var CurrentIteratorPrototype, methods, KEY;
37034
37035  // fix native
37036  if (anyNativeIterator) {
37037    CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));
37038    if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
37039      if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
37040        if (setPrototypeOf) {
37041          setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
37042        } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {
37043          createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);
37044        }
37045      }
37046      // Set @@toStringTag to native iterators
37047      setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);
37048      if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;
37049    }
37050  }
37051
37052  // fix Array#{values, @@iterator}.name in V8 / FF
37053  if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
37054    INCORRECT_VALUES_NAME = true;
37055    defaultIterator = function values() { return nativeIterator.call(this); };
37056  }
37057
37058  // define iterator
37059  if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {
37060    createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);
37061  }
37062  Iterators[NAME] = defaultIterator;
37063
37064  // export additional methods
37065  if (DEFAULT) {
37066    methods = {
37067      values: getIterationMethod(VALUES),
37068      keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
37069      entries: getIterationMethod(ENTRIES)
37070    };
37071    if (FORCED) for (KEY in methods) {
37072      if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
37073        redefine(IterablePrototype, KEY, methods[KEY]);
37074      }
37075    } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
37076  }
37077
37078  return methods;
37079};
37080
37081
37082/***/ }),
37083
37084/***/ 9781:
37085/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
37086
37087var fails = __webpack_require__(7293);
37088
37089// Detect IE8's incomplete defineProperty implementation
37090module.exports = !fails(function () {
37091  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
37092});
37093
37094
37095/***/ }),
37096
37097/***/ 317:
37098/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
37099
37100var global = __webpack_require__(7854);
37101var isObject = __webpack_require__(111);
37102
37103var document = global.document;
37104// typeof document.createElement is 'object' in old IE
37105var EXISTS = isObject(document) && isObject(document.createElement);
37106
37107module.exports = function (it) {
37108  return EXISTS ? document.createElement(it) : {};
37109};
37110
37111
37112/***/ }),
37113
37114/***/ 8324:
37115/***/ (function(module) {
37116
37117// iterable DOM collections
37118// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
37119module.exports = {
37120  CSSRuleList: 0,
37121  CSSStyleDeclaration: 0,
37122  CSSValueList: 0,
37123  ClientRectList: 0,
37124  DOMRectList: 0,
37125  DOMStringList: 0,
37126  DOMTokenList: 1,
37127  DataTransferItemList: 0,
37128  FileList: 0,
37129  HTMLAllCollection: 0,
37130  HTMLCollection: 0,
37131  HTMLFormElement: 0,
37132  HTMLSelectElement: 0,
37133  MediaList: 0,
37134  MimeTypeArray: 0,
37135  NamedNodeMap: 0,
37136  NodeList: 1,
37137  PaintRequestList: 0,
37138  Plugin: 0,
37139  PluginArray: 0,
37140  SVGLengthList: 0,
37141  SVGNumberList: 0,
37142  SVGPathSegList: 0,
37143  SVGPointList: 0,
37144  SVGStringList: 0,
37145  SVGTransformList: 0,
37146  SourceBufferList: 0,
37147  StyleSheetList: 0,
37148  TextTrackCueList: 0,
37149  TextTrackList: 0,
37150  TouchList: 0
37151};
37152
37153
37154/***/ }),
37155
37156/***/ 8113:
37157/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
37158
37159var getBuiltIn = __webpack_require__(5005);
37160
37161module.exports = getBuiltIn('navigator', 'userAgent') || '';
37162
37163
37164/***/ }),
37165
37166/***/ 7392:
37167/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
37168
37169var global = __webpack_require__(7854);
37170var userAgent = __webpack_require__(8113);
37171
37172var process = global.process;
37173var versions = process && process.versions;
37174var v8 = versions && versions.v8;
37175var match, version;
37176
37177if (v8) {
37178  match = v8.split('.');
37179  version = match[0] + match[1];
37180} else if (userAgent) {
37181  match = userAgent.match(/Edge\/(\d+)/);
37182  if (!match || match[1] >= 74) {
37183    match = userAgent.match(/Chrome\/(\d+)/);
37184    if (match) version = match[1];
37185  }
37186}
37187
37188module.exports = version && +version;
37189
37190
37191/***/ }),
37192
37193/***/ 748:
37194/***/ (function(module) {
37195
37196// IE8- don't enum bug keys
37197module.exports = [
37198  'constructor',
37199  'hasOwnProperty',
37200  'isPrototypeOf',
37201  'propertyIsEnumerable',
37202  'toLocaleString',
37203  'toString',
37204  'valueOf'
37205];
37206
37207
37208/***/ }),
37209
37210/***/ 2109:
37211/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
37212
37213var global = __webpack_require__(7854);
37214var getOwnPropertyDescriptor = __webpack_require__(1236).f;
37215var createNonEnumerableProperty = __webpack_require__(8880);
37216var redefine = __webpack_require__(1320);
37217var setGlobal = __webpack_require__(3505);
37218var copyConstructorProperties = __webpack_require__(9920);
37219var isForced = __webpack_require__(4705);
37220
37221/*
37222  options.target      - name of the target object
37223  options.global      - target is the global object
37224  options.stat        - export as static methods of target
37225  options.proto       - export as prototype methods of target
37226  options.real        - real prototype method for the `pure` version
37227  options.forced      - export even if the native feature is available
37228  options.bind        - bind methods to the target, required for the `pure` version
37229  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
37230  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
37231  options.sham        - add a flag to not completely full polyfills
37232  options.enumerable  - export as enumerable property
37233  options.noTargetGet - prevent calling a getter on target
37234*/
37235module.exports = function (options, source) {
37236  var TARGET = options.target;
37237  var GLOBAL = options.global;
37238  var STATIC = options.stat;
37239  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
37240  if (GLOBAL) {
37241    target = global;
37242  } else if (STATIC) {
37243    target = global[TARGET] || setGlobal(TARGET, {});
37244  } else {
37245    target = (global[TARGET] || {}).prototype;
37246  }
37247  if (target) for (key in source) {
37248    sourceProperty = source[key];
37249    if (options.noTargetGet) {
37250      descriptor = getOwnPropertyDescriptor(target, key);
37251      targetProperty = descriptor && descriptor.value;
37252    } else targetProperty = target[key];
37253    FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
37254    // contained in target
37255    if (!FORCED && targetProperty !== undefined) {
37256      if (typeof sourceProperty === typeof targetProperty) continue;
37257      copyConstructorProperties(sourceProperty, targetProperty);
37258    }
37259    // add a flag to not completely full polyfills
37260    if (options.sham || (targetProperty && targetProperty.sham)) {
37261      createNonEnumerableProperty(sourceProperty, 'sham', true);
37262    }
37263    // extend global
37264    redefine(target, key, sourceProperty, options);
37265  }
37266};
37267
37268
37269/***/ }),
37270
37271/***/ 7293:
37272/***/ (function(module) {
37273
37274module.exports = function (exec) {
37275  try {
37276    return !!exec();
37277  } catch (error) {
37278    return true;
37279  }
37280};
37281
37282
37283/***/ }),
37284
37285/***/ 7007:
37286/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
37287
37288"use strict";
37289
37290// TODO: Remove from `core-js@4` since it's moved to entry points
37291__webpack_require__(4916);
37292var redefine = __webpack_require__(1320);
37293var fails = __webpack_require__(7293);
37294var wellKnownSymbol = __webpack_require__(5112);
37295var regexpExec = __webpack_require__(2261);
37296var createNonEnumerableProperty = __webpack_require__(8880);
37297
37298var SPECIES = wellKnownSymbol('species');
37299
37300var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
37301  // #replace needs built-in support for named groups.
37302  // #match works fine because it just return the exec results, even if it has
37303  // a "grops" property.
37304  var re = /./;
37305  re.exec = function () {
37306    var result = [];
37307    result.groups = { a: '7' };
37308    return result;
37309  };
37310  return ''.replace(re, '$<a>') !== '7';
37311});
37312
37313// IE <= 11 replaces $0 with the whole match, as if it was $&
37314// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
37315var REPLACE_KEEPS_$0 = (function () {
37316  return 'a'.replace(/./, '$0') === '$0';
37317})();
37318
37319var REPLACE = wellKnownSymbol('replace');
37320// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string
37321var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {
37322  if (/./[REPLACE]) {
37323    return /./[REPLACE]('a', '$0') === '';
37324  }
37325  return false;
37326})();
37327
37328// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
37329// Weex JS has frozen built-in prototypes, so use try / catch wrapper
37330var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
37331  // eslint-disable-next-line regexp/no-empty-group -- required for testing
37332  var re = /(?:)/;
37333  var originalExec = re.exec;
37334  re.exec = function () { return originalExec.apply(this, arguments); };
37335  var result = 'ab'.split(re);
37336  return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
37337});
37338
37339module.exports = function (KEY, length, exec, sham) {
37340  var SYMBOL = wellKnownSymbol(KEY);
37341
37342  var DELEGATES_TO_SYMBOL = !fails(function () {
37343    // String methods call symbol-named RegEp methods
37344    var O = {};
37345    O[SYMBOL] = function () { return 7; };
37346    return ''[KEY](O) != 7;
37347  });
37348
37349  var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
37350    // Symbol-named RegExp methods call .exec
37351    var execCalled = false;
37352    var re = /a/;
37353
37354    if (KEY === 'split') {
37355      // We can't use real regex here since it causes deoptimization
37356      // and serious performance degradation in V8
37357      // https://github.com/zloirock/core-js/issues/306
37358      re = {};
37359      // RegExp[@@split] doesn't call the regex's exec method, but first creates
37360      // a new one. We need to return the patched regex when creating the new one.
37361      re.constructor = {};
37362      re.constructor[SPECIES] = function () { return re; };
37363      re.flags = '';
37364      re[SYMBOL] = /./[SYMBOL];
37365    }
37366
37367    re.exec = function () { execCalled = true; return null; };
37368
37369    re[SYMBOL]('');
37370    return !execCalled;
37371  });
37372
37373  if (
37374    !DELEGATES_TO_SYMBOL ||
37375    !DELEGATES_TO_EXEC ||
37376    (KEY === 'replace' && !(
37377      REPLACE_SUPPORTS_NAMED_GROUPS &&
37378      REPLACE_KEEPS_$0 &&
37379      !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
37380    )) ||
37381    (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
37382  ) {
37383    var nativeRegExpMethod = /./[SYMBOL];
37384    var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
37385      if (regexp.exec === regexpExec) {
37386        if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
37387          // The native String method already delegates to @@method (this
37388          // polyfilled function), leasing to infinite recursion.
37389          // We avoid it by directly calling the native @@method method.
37390          return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
37391        }
37392        return { done: true, value: nativeMethod.call(str, regexp, arg2) };
37393      }
37394      return { done: false };
37395    }, {
37396      REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,
37397      REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
37398    });
37399    var stringMethod = methods[0];
37400    var regexMethod = methods[1];
37401
37402    redefine(String.prototype, KEY, stringMethod);
37403    redefine(RegExp.prototype, SYMBOL, length == 2
37404      // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
37405      // 21.2.5.11 RegExp.prototype[@@split](string, limit)
37406      ? function (string, arg) { return regexMethod.call(string, this, arg); }
37407      // 21.2.5.6 RegExp.prototype[@@match](string)
37408      // 21.2.5.9 RegExp.prototype[@@search](string)
37409      : function (string) { return regexMethod.call(string, this); }
37410    );
37411  }
37412
37413  if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);
37414};
37415
37416
37417/***/ }),
37418
37419/***/ 9974:
37420/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
37421
37422var aFunction = __webpack_require__(3099);
37423
37424// optional / simple context binding
37425module.exports = function (fn, that, length) {
37426  aFunction(fn);
37427  if (that === undefined) return fn;
37428  switch (length) {
37429    case 0: return function () {
37430      return fn.call(that);
37431    };
37432    case 1: return function (a) {
37433      return fn.call(that, a);
37434    };
37435    case 2: return function (a, b) {
37436      return fn.call(that, a, b);
37437    };
37438    case 3: return function (a, b, c) {
37439      return fn.call(that, a, b, c);
37440    };
37441  }
37442  return function (/* ...args */) {
37443    return fn.apply(that, arguments);
37444  };
37445};
37446
37447
37448/***/ }),
37449
37450/***/ 5005:
37451/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
37452
37453var path = __webpack_require__(857);
37454var global = __webpack_require__(7854);
37455
37456var aFunction = function (variable) {
37457  return typeof variable == 'function' ? variable : undefined;
37458};
37459
37460module.exports = function (namespace, method) {
37461  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])
37462    : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];
37463};
37464
37465
37466/***/ }),
37467
37468/***/ 1246:
37469/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
37470
37471var classof = __webpack_require__(648);
37472var Iterators = __webpack_require__(7497);
37473var wellKnownSymbol = __webpack_require__(5112);
37474
37475var ITERATOR = wellKnownSymbol('iterator');
37476
37477module.exports = function (it) {
37478  if (it != undefined) return it[ITERATOR]
37479    || it['@@iterator']
37480    || Iterators[classof(it)];
37481};
37482
37483
37484/***/ }),
37485
37486/***/ 8554:
37487/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
37488
37489var anObject = __webpack_require__(9670);
37490var getIteratorMethod = __webpack_require__(1246);
37491
37492module.exports = function (it) {
37493  var iteratorMethod = getIteratorMethod(it);
37494  if (typeof iteratorMethod != 'function') {
37495    throw TypeError(String(it) + ' is not iterable');
37496  } return anObject(iteratorMethod.call(it));
37497};
37498
37499
37500/***/ }),
37501
37502/***/ 647:
37503/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
37504
37505var toObject = __webpack_require__(7908);
37506
37507var floor = Math.floor;
37508var replace = ''.replace;
37509var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d\d?|<[^>]*>)/g;
37510var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d\d?)/g;
37511
37512// https://tc39.es/ecma262/#sec-getsubstitution
37513module.exports = function (matched, str, position, captures, namedCaptures, replacement) {
37514  var tailPos = position + matched.length;
37515  var m = captures.length;
37516  var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
37517  if (namedCaptures !== undefined) {
37518    namedCaptures = toObject(namedCaptures);
37519    symbols = SUBSTITUTION_SYMBOLS;
37520  }
37521  return replace.call(replacement, symbols, function (match, ch) {
37522    var capture;
37523    switch (ch.charAt(0)) {
37524      case '$': return '$';
37525      case '&': return matched;
37526      case '`': return str.slice(0, position);
37527      case "'": return str.slice(tailPos);
37528      case '<':
37529        capture = namedCaptures[ch.slice(1, -1)];
37530        break;
37531      default: // \d\d?
37532        var n = +ch;
37533        if (n === 0) return match;
37534        if (n > m) {
37535          var f = floor(n / 10);
37536          if (f === 0) return match;
37537          if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
37538          return match;
37539        }
37540        capture = captures[n - 1];
37541    }
37542    return capture === undefined ? '' : capture;
37543  });
37544};
37545
37546
37547/***/ }),
37548
37549/***/ 7854:
37550/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
37551
37552var check = function (it) {
37553  return it && it.Math == Math && it;
37554};
37555
37556// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
37557module.exports =
37558  /* global globalThis -- safe */
37559  check(typeof globalThis == 'object' && globalThis) ||
37560  check(typeof window == 'object' && window) ||
37561  check(typeof self == 'object' && self) ||
37562  check(typeof __webpack_require__.g == 'object' && __webpack_require__.g) ||
37563  // eslint-disable-next-line no-new-func -- fallback
37564  (function () { return this; })() || Function('return this')();
37565
37566
37567/***/ }),
37568
37569/***/ 6656:
37570/***/ (function(module) {
37571
37572var hasOwnProperty = {}.hasOwnProperty;
37573
37574module.exports = function (it, key) {
37575  return hasOwnProperty.call(it, key);
37576};
37577
37578
37579/***/ }),
37580
37581/***/ 3501:
37582/***/ (function(module) {
37583
37584module.exports = {};
37585
37586
37587/***/ }),
37588
37589/***/ 490:
37590/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
37591
37592var getBuiltIn = __webpack_require__(5005);
37593
37594module.exports = getBuiltIn('document', 'documentElement');
37595
37596
37597/***/ }),
37598
37599/***/ 4664:
37600/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
37601
37602var DESCRIPTORS = __webpack_require__(9781);
37603var fails = __webpack_require__(7293);
37604var createElement = __webpack_require__(317);
37605
37606// Thank's IE8 for his funny defineProperty
37607module.exports = !DESCRIPTORS && !fails(function () {
37608  return Object.defineProperty(createElement('div'), 'a', {
37609    get: function () { return 7; }
37610  }).a != 7;
37611});
37612
37613
37614/***/ }),
37615
37616/***/ 1179:
37617/***/ (function(module) {
37618
37619// IEEE754 conversions based on https://github.com/feross/ieee754
37620var abs = Math.abs;
37621var pow = Math.pow;
37622var floor = Math.floor;
37623var log = Math.log;
37624var LN2 = Math.LN2;
37625
37626var pack = function (number, mantissaLength, bytes) {
37627  var buffer = new Array(bytes);
37628  var exponentLength = bytes * 8 - mantissaLength - 1;
37629  var eMax = (1 << exponentLength) - 1;
37630  var eBias = eMax >> 1;
37631  var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;
37632  var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;
37633  var index = 0;
37634  var exponent, mantissa, c;
37635  number = abs(number);
37636  // eslint-disable-next-line no-self-compare -- NaN check
37637  if (number != number || number === Infinity) {
37638    // eslint-disable-next-line no-self-compare -- NaN check
37639    mantissa = number != number ? 1 : 0;
37640    exponent = eMax;
37641  } else {
37642    exponent = floor(log(number) / LN2);
37643    if (number * (c = pow(2, -exponent)) < 1) {
37644      exponent--;
37645      c *= 2;
37646    }
37647    if (exponent + eBias >= 1) {
37648      number += rt / c;
37649    } else {
37650      number += rt * pow(2, 1 - eBias);
37651    }
37652    if (number * c >= 2) {
37653      exponent++;
37654      c /= 2;
37655    }
37656    if (exponent + eBias >= eMax) {
37657      mantissa = 0;
37658      exponent = eMax;
37659    } else if (exponent + eBias >= 1) {
37660      mantissa = (number * c - 1) * pow(2, mantissaLength);
37661      exponent = exponent + eBias;
37662    } else {
37663      mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);
37664      exponent = 0;
37665    }
37666  }
37667  for (; mantissaLength >= 8; buffer[index++] = mantissa & 255, mantissa /= 256, mantissaLength -= 8);
37668  exponent = exponent << mantissaLength | mantissa;
37669  exponentLength += mantissaLength;
37670  for (; exponentLength > 0; buffer[index++] = exponent & 255, exponent /= 256, exponentLength -= 8);
37671  buffer[--index] |= sign * 128;
37672  return buffer;
37673};
37674
37675var unpack = function (buffer, mantissaLength) {
37676  var bytes = buffer.length;
37677  var exponentLength = bytes * 8 - mantissaLength - 1;
37678  var eMax = (1 << exponentLength) - 1;
37679  var eBias = eMax >> 1;
37680  var nBits = exponentLength - 7;
37681  var index = bytes - 1;
37682  var sign = buffer[index--];
37683  var exponent = sign & 127;
37684  var mantissa;
37685  sign >>= 7;
37686  for (; nBits > 0; exponent = exponent * 256 + buffer[index], index--, nBits -= 8);
37687  mantissa = exponent & (1 << -nBits) - 1;
37688  exponent >>= -nBits;
37689  nBits += mantissaLength;
37690  for (; nBits > 0; mantissa = mantissa * 256 + buffer[index], index--, nBits -= 8);
37691  if (exponent === 0) {
37692    exponent = 1 - eBias;
37693  } else if (exponent === eMax) {
37694    return mantissa ? NaN : sign ? -Infinity : Infinity;
37695  } else {
37696    mantissa = mantissa + pow(2, mantissaLength);
37697    exponent = exponent - eBias;
37698  } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);
37699};
37700
37701module.exports = {
37702  pack: pack,
37703  unpack: unpack
37704};
37705
37706
37707/***/ }),
37708
37709/***/ 8361:
37710/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
37711
37712var fails = __webpack_require__(7293);
37713var classof = __webpack_require__(4326);
37714
37715var split = ''.split;
37716
37717// fallback for non-array-like ES3 and non-enumerable old V8 strings
37718module.exports = fails(function () {
37719  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
37720  // eslint-disable-next-line no-prototype-builtins -- safe
37721  return !Object('z').propertyIsEnumerable(0);
37722}) ? function (it) {
37723  return classof(it) == 'String' ? split.call(it, '') : Object(it);
37724} : Object;
37725
37726
37727/***/ }),
37728
37729/***/ 9587:
37730/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
37731
37732var isObject = __webpack_require__(111);
37733var setPrototypeOf = __webpack_require__(7674);
37734
37735// makes subclassing work correct for wrapped built-ins
37736module.exports = function ($this, dummy, Wrapper) {
37737  var NewTarget, NewTargetPrototype;
37738  if (
37739    // it can work only with native `setPrototypeOf`
37740    setPrototypeOf &&
37741    // we haven't completely correct pre-ES6 way for getting `new.target`, so use this
37742    typeof (NewTarget = dummy.constructor) == 'function' &&
37743    NewTarget !== Wrapper &&
37744    isObject(NewTargetPrototype = NewTarget.prototype) &&
37745    NewTargetPrototype !== Wrapper.prototype
37746  ) setPrototypeOf($this, NewTargetPrototype);
37747  return $this;
37748};
37749
37750
37751/***/ }),
37752
37753/***/ 2788:
37754/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
37755
37756var store = __webpack_require__(5465);
37757
37758var functionToString = Function.toString;
37759
37760// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
37761if (typeof store.inspectSource != 'function') {
37762  store.inspectSource = function (it) {
37763    return functionToString.call(it);
37764  };
37765}
37766
37767module.exports = store.inspectSource;
37768
37769
37770/***/ }),
37771
37772/***/ 9909:
37773/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
37774
37775var NATIVE_WEAK_MAP = __webpack_require__(8536);
37776var global = __webpack_require__(7854);
37777var isObject = __webpack_require__(111);
37778var createNonEnumerableProperty = __webpack_require__(8880);
37779var objectHas = __webpack_require__(6656);
37780var shared = __webpack_require__(5465);
37781var sharedKey = __webpack_require__(6200);
37782var hiddenKeys = __webpack_require__(3501);
37783
37784var WeakMap = global.WeakMap;
37785var set, get, has;
37786
37787var enforce = function (it) {
37788  return has(it) ? get(it) : set(it, {});
37789};
37790
37791var getterFor = function (TYPE) {
37792  return function (it) {
37793    var state;
37794    if (!isObject(it) || (state = get(it)).type !== TYPE) {
37795      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
37796    } return state;
37797  };
37798};
37799
37800if (NATIVE_WEAK_MAP) {
37801  var store = shared.state || (shared.state = new WeakMap());
37802  var wmget = store.get;
37803  var wmhas = store.has;
37804  var wmset = store.set;
37805  set = function (it, metadata) {
37806    metadata.facade = it;
37807    wmset.call(store, it, metadata);
37808    return metadata;
37809  };
37810  get = function (it) {
37811    return wmget.call(store, it) || {};
37812  };
37813  has = function (it) {
37814    return wmhas.call(store, it);
37815  };
37816} else {
37817  var STATE = sharedKey('state');
37818  hiddenKeys[STATE] = true;
37819  set = function (it, metadata) {
37820    metadata.facade = it;
37821    createNonEnumerableProperty(it, STATE, metadata);
37822    return metadata;
37823  };
37824  get = function (it) {
37825    return objectHas(it, STATE) ? it[STATE] : {};
37826  };
37827  has = function (it) {
37828    return objectHas(it, STATE);
37829  };
37830}
37831
37832module.exports = {
37833  set: set,
37834  get: get,
37835  has: has,
37836  enforce: enforce,
37837  getterFor: getterFor
37838};
37839
37840
37841/***/ }),
37842
37843/***/ 7659:
37844/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
37845
37846var wellKnownSymbol = __webpack_require__(5112);
37847var Iterators = __webpack_require__(7497);
37848
37849var ITERATOR = wellKnownSymbol('iterator');
37850var ArrayPrototype = Array.prototype;
37851
37852// check on default Array iterator
37853module.exports = function (it) {
37854  return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
37855};
37856
37857
37858/***/ }),
37859
37860/***/ 3157:
37861/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
37862
37863var classof = __webpack_require__(4326);
37864
37865// `IsArray` abstract operation
37866// https://tc39.es/ecma262/#sec-isarray
37867module.exports = Array.isArray || function isArray(arg) {
37868  return classof(arg) == 'Array';
37869};
37870
37871
37872/***/ }),
37873
37874/***/ 4705:
37875/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
37876
37877var fails = __webpack_require__(7293);
37878
37879var replacement = /#|\.prototype\./;
37880
37881var isForced = function (feature, detection) {
37882  var value = data[normalize(feature)];
37883  return value == POLYFILL ? true
37884    : value == NATIVE ? false
37885    : typeof detection == 'function' ? fails(detection)
37886    : !!detection;
37887};
37888
37889var normalize = isForced.normalize = function (string) {
37890  return String(string).replace(replacement, '.').toLowerCase();
37891};
37892
37893var data = isForced.data = {};
37894var NATIVE = isForced.NATIVE = 'N';
37895var POLYFILL = isForced.POLYFILL = 'P';
37896
37897module.exports = isForced;
37898
37899
37900/***/ }),
37901
37902/***/ 111:
37903/***/ (function(module) {
37904
37905module.exports = function (it) {
37906  return typeof it === 'object' ? it !== null : typeof it === 'function';
37907};
37908
37909
37910/***/ }),
37911
37912/***/ 1913:
37913/***/ (function(module) {
37914
37915module.exports = false;
37916
37917
37918/***/ }),
37919
37920/***/ 7850:
37921/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
37922
37923var isObject = __webpack_require__(111);
37924var classof = __webpack_require__(4326);
37925var wellKnownSymbol = __webpack_require__(5112);
37926
37927var MATCH = wellKnownSymbol('match');
37928
37929// `IsRegExp` abstract operation
37930// https://tc39.es/ecma262/#sec-isregexp
37931module.exports = function (it) {
37932  var isRegExp;
37933  return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');
37934};
37935
37936
37937/***/ }),
37938
37939/***/ 9212:
37940/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
37941
37942var anObject = __webpack_require__(9670);
37943
37944module.exports = function (iterator) {
37945  var returnMethod = iterator['return'];
37946  if (returnMethod !== undefined) {
37947    return anObject(returnMethod.call(iterator)).value;
37948  }
37949};
37950
37951
37952/***/ }),
37953
37954/***/ 3383:
37955/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
37956
37957"use strict";
37958
37959var fails = __webpack_require__(7293);
37960var getPrototypeOf = __webpack_require__(9518);
37961var createNonEnumerableProperty = __webpack_require__(8880);
37962var has = __webpack_require__(6656);
37963var wellKnownSymbol = __webpack_require__(5112);
37964var IS_PURE = __webpack_require__(1913);
37965
37966var ITERATOR = wellKnownSymbol('iterator');
37967var BUGGY_SAFARI_ITERATORS = false;
37968
37969var returnThis = function () { return this; };
37970
37971// `%IteratorPrototype%` object
37972// https://tc39.es/ecma262/#sec-%iteratorprototype%-object
37973var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
37974
37975if ([].keys) {
37976  arrayIterator = [].keys();
37977  // Safari 8 has buggy iterators w/o `next`
37978  if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;
37979  else {
37980    PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));
37981    if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;
37982  }
37983}
37984
37985var NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {
37986  var test = {};
37987  // FF44- legacy iterators case
37988  return IteratorPrototype[ITERATOR].call(test) !== test;
37989});
37990
37991if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};
37992
37993// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
37994if ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !has(IteratorPrototype, ITERATOR)) {
37995  createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);
37996}
37997
37998module.exports = {
37999  IteratorPrototype: IteratorPrototype,
38000  BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
38001};
38002
38003
38004/***/ }),
38005
38006/***/ 7497:
38007/***/ (function(module) {
38008
38009module.exports = {};
38010
38011
38012/***/ }),
38013
38014/***/ 133:
38015/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
38016
38017var fails = __webpack_require__(7293);
38018
38019module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
38020  // Chrome 38 Symbol has incorrect toString conversion
38021  /* global Symbol -- required for testing */
38022  return !String(Symbol());
38023});
38024
38025
38026/***/ }),
38027
38028/***/ 590:
38029/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
38030
38031var fails = __webpack_require__(7293);
38032var wellKnownSymbol = __webpack_require__(5112);
38033var IS_PURE = __webpack_require__(1913);
38034
38035var ITERATOR = wellKnownSymbol('iterator');
38036
38037module.exports = !fails(function () {
38038  var url = new URL('b?a=1&b=2&c=3', 'http://a');
38039  var searchParams = url.searchParams;
38040  var result = '';
38041  url.pathname = 'c%20d';
38042  searchParams.forEach(function (value, key) {
38043    searchParams['delete']('b');
38044    result += key + value;
38045  });
38046  return (IS_PURE && !url.toJSON)
38047    || !searchParams.sort
38048    || url.href !== 'http://a/c%20d?a=1&c=3'
38049    || searchParams.get('c') !== '3'
38050    || String(new URLSearchParams('?a=1')) !== 'a=1'
38051    || !searchParams[ITERATOR]
38052    // throws in Edge
38053    || new URL('https://a@b').username !== 'a'
38054    || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'
38055    // not punycoded in Edge
38056    || new URL('http://тест').host !== 'xn--e1aybc'
38057    // not escaped in Chrome 62-
38058    || new URL('http://a#б').hash !== '#%D0%B1'
38059    // fails in Chrome 66-
38060    || result !== 'a1c3'
38061    // throws in Safari
38062    || new URL('http://x', undefined).host !== 'x';
38063});
38064
38065
38066/***/ }),
38067
38068/***/ 8536:
38069/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
38070
38071var global = __webpack_require__(7854);
38072var inspectSource = __webpack_require__(2788);
38073
38074var WeakMap = global.WeakMap;
38075
38076module.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
38077
38078
38079/***/ }),
38080
38081/***/ 1574:
38082/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
38083
38084"use strict";
38085
38086var DESCRIPTORS = __webpack_require__(9781);
38087var fails = __webpack_require__(7293);
38088var objectKeys = __webpack_require__(1956);
38089var getOwnPropertySymbolsModule = __webpack_require__(5181);
38090var propertyIsEnumerableModule = __webpack_require__(5296);
38091var toObject = __webpack_require__(7908);
38092var IndexedObject = __webpack_require__(8361);
38093
38094var nativeAssign = Object.assign;
38095var defineProperty = Object.defineProperty;
38096
38097// `Object.assign` method
38098// https://tc39.es/ecma262/#sec-object.assign
38099module.exports = !nativeAssign || fails(function () {
38100  // should have correct order of operations (Edge bug)
38101  if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {
38102    enumerable: true,
38103    get: function () {
38104      defineProperty(this, 'b', {
38105        value: 3,
38106        enumerable: false
38107      });
38108    }
38109  }), { b: 2 })).b !== 1) return true;
38110  // should work with symbols and should have deterministic property order (V8 bug)
38111  var A = {};
38112  var B = {};
38113  /* global Symbol -- required for testing */
38114  var symbol = Symbol();
38115  var alphabet = 'abcdefghijklmnopqrst';
38116  A[symbol] = 7;
38117  alphabet.split('').forEach(function (chr) { B[chr] = chr; });
38118  return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;
38119}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`
38120  var T = toObject(target);
38121  var argumentsLength = arguments.length;
38122  var index = 1;
38123  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
38124  var propertyIsEnumerable = propertyIsEnumerableModule.f;
38125  while (argumentsLength > index) {
38126    var S = IndexedObject(arguments[index++]);
38127    var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);
38128    var length = keys.length;
38129    var j = 0;
38130    var key;
38131    while (length > j) {
38132      key = keys[j++];
38133      if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];
38134    }
38135  } return T;
38136} : nativeAssign;
38137
38138
38139/***/ }),
38140
38141/***/ 30:
38142/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
38143
38144var anObject = __webpack_require__(9670);
38145var defineProperties = __webpack_require__(6048);
38146var enumBugKeys = __webpack_require__(748);
38147var hiddenKeys = __webpack_require__(3501);
38148var html = __webpack_require__(490);
38149var documentCreateElement = __webpack_require__(317);
38150var sharedKey = __webpack_require__(6200);
38151
38152var GT = '>';
38153var LT = '<';
38154var PROTOTYPE = 'prototype';
38155var SCRIPT = 'script';
38156var IE_PROTO = sharedKey('IE_PROTO');
38157
38158var EmptyConstructor = function () { /* empty */ };
38159
38160var scriptTag = function (content) {
38161  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
38162};
38163
38164// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
38165var NullProtoObjectViaActiveX = function (activeXDocument) {
38166  activeXDocument.write(scriptTag(''));
38167  activeXDocument.close();
38168  var temp = activeXDocument.parentWindow.Object;
38169  activeXDocument = null; // avoid memory leak
38170  return temp;
38171};
38172
38173// Create object with fake `null` prototype: use iframe Object with cleared prototype
38174var NullProtoObjectViaIFrame = function () {
38175  // Thrash, waste and sodomy: IE GC bug
38176  var iframe = documentCreateElement('iframe');
38177  var JS = 'java' + SCRIPT + ':';
38178  var iframeDocument;
38179  iframe.style.display = 'none';
38180  html.appendChild(iframe);
38181  // https://github.com/zloirock/core-js/issues/475
38182  iframe.src = String(JS);
38183  iframeDocument = iframe.contentWindow.document;
38184  iframeDocument.open();
38185  iframeDocument.write(scriptTag('document.F=Object'));
38186  iframeDocument.close();
38187  return iframeDocument.F;
38188};
38189
38190// Check for document.domain and active x support
38191// No need to use active x approach when document.domain is not set
38192// see https://github.com/es-shims/es5-shim/issues/150
38193// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
38194// avoid IE GC bug
38195var activeXDocument;
38196var NullProtoObject = function () {
38197  try {
38198    /* global ActiveXObject -- old IE */
38199    activeXDocument = document.domain && new ActiveXObject('htmlfile');
38200  } catch (error) { /* ignore */ }
38201  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
38202  var length = enumBugKeys.length;
38203  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
38204  return NullProtoObject();
38205};
38206
38207hiddenKeys[IE_PROTO] = true;
38208
38209// `Object.create` method
38210// https://tc39.es/ecma262/#sec-object.create
38211module.exports = Object.create || function create(O, Properties) {
38212  var result;
38213  if (O !== null) {
38214    EmptyConstructor[PROTOTYPE] = anObject(O);
38215    result = new EmptyConstructor();
38216    EmptyConstructor[PROTOTYPE] = null;
38217    // add "__proto__" for Object.getPrototypeOf polyfill
38218    result[IE_PROTO] = O;
38219  } else result = NullProtoObject();
38220  return Properties === undefined ? result : defineProperties(result, Properties);
38221};
38222
38223
38224/***/ }),
38225
38226/***/ 6048:
38227/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
38228
38229var DESCRIPTORS = __webpack_require__(9781);
38230var definePropertyModule = __webpack_require__(3070);
38231var anObject = __webpack_require__(9670);
38232var objectKeys = __webpack_require__(1956);
38233
38234// `Object.defineProperties` method
38235// https://tc39.es/ecma262/#sec-object.defineproperties
38236module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {
38237  anObject(O);
38238  var keys = objectKeys(Properties);
38239  var length = keys.length;
38240  var index = 0;
38241  var key;
38242  while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);
38243  return O;
38244};
38245
38246
38247/***/ }),
38248
38249/***/ 3070:
38250/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
38251
38252var DESCRIPTORS = __webpack_require__(9781);
38253var IE8_DOM_DEFINE = __webpack_require__(4664);
38254var anObject = __webpack_require__(9670);
38255var toPrimitive = __webpack_require__(7593);
38256
38257var nativeDefineProperty = Object.defineProperty;
38258
38259// `Object.defineProperty` method
38260// https://tc39.es/ecma262/#sec-object.defineproperty
38261exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
38262  anObject(O);
38263  P = toPrimitive(P, true);
38264  anObject(Attributes);
38265  if (IE8_DOM_DEFINE) try {
38266    return nativeDefineProperty(O, P, Attributes);
38267  } catch (error) { /* empty */ }
38268  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
38269  if ('value' in Attributes) O[P] = Attributes.value;
38270  return O;
38271};
38272
38273
38274/***/ }),
38275
38276/***/ 1236:
38277/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
38278
38279var DESCRIPTORS = __webpack_require__(9781);
38280var propertyIsEnumerableModule = __webpack_require__(5296);
38281var createPropertyDescriptor = __webpack_require__(9114);
38282var toIndexedObject = __webpack_require__(5656);
38283var toPrimitive = __webpack_require__(7593);
38284var has = __webpack_require__(6656);
38285var IE8_DOM_DEFINE = __webpack_require__(4664);
38286
38287var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
38288
38289// `Object.getOwnPropertyDescriptor` method
38290// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
38291exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
38292  O = toIndexedObject(O);
38293  P = toPrimitive(P, true);
38294  if (IE8_DOM_DEFINE) try {
38295    return nativeGetOwnPropertyDescriptor(O, P);
38296  } catch (error) { /* empty */ }
38297  if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);
38298};
38299
38300
38301/***/ }),
38302
38303/***/ 8006:
38304/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
38305
38306var internalObjectKeys = __webpack_require__(6324);
38307var enumBugKeys = __webpack_require__(748);
38308
38309var hiddenKeys = enumBugKeys.concat('length', 'prototype');
38310
38311// `Object.getOwnPropertyNames` method
38312// https://tc39.es/ecma262/#sec-object.getownpropertynames
38313exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
38314  return internalObjectKeys(O, hiddenKeys);
38315};
38316
38317
38318/***/ }),
38319
38320/***/ 5181:
38321/***/ (function(__unused_webpack_module, exports) {
38322
38323exports.f = Object.getOwnPropertySymbols;
38324
38325
38326/***/ }),
38327
38328/***/ 9518:
38329/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
38330
38331var has = __webpack_require__(6656);
38332var toObject = __webpack_require__(7908);
38333var sharedKey = __webpack_require__(6200);
38334var CORRECT_PROTOTYPE_GETTER = __webpack_require__(8544);
38335
38336var IE_PROTO = sharedKey('IE_PROTO');
38337var ObjectPrototype = Object.prototype;
38338
38339// `Object.getPrototypeOf` method
38340// https://tc39.es/ecma262/#sec-object.getprototypeof
38341module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {
38342  O = toObject(O);
38343  if (has(O, IE_PROTO)) return O[IE_PROTO];
38344  if (typeof O.constructor == 'function' && O instanceof O.constructor) {
38345    return O.constructor.prototype;
38346  } return O instanceof Object ? ObjectPrototype : null;
38347};
38348
38349
38350/***/ }),
38351
38352/***/ 6324:
38353/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
38354
38355var has = __webpack_require__(6656);
38356var toIndexedObject = __webpack_require__(5656);
38357var indexOf = __webpack_require__(1318).indexOf;
38358var hiddenKeys = __webpack_require__(3501);
38359
38360module.exports = function (object, names) {
38361  var O = toIndexedObject(object);
38362  var i = 0;
38363  var result = [];
38364  var key;
38365  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
38366  // Don't enum bug & hidden keys
38367  while (names.length > i) if (has(O, key = names[i++])) {
38368    ~indexOf(result, key) || result.push(key);
38369  }
38370  return result;
38371};
38372
38373
38374/***/ }),
38375
38376/***/ 1956:
38377/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
38378
38379var internalObjectKeys = __webpack_require__(6324);
38380var enumBugKeys = __webpack_require__(748);
38381
38382// `Object.keys` method
38383// https://tc39.es/ecma262/#sec-object.keys
38384module.exports = Object.keys || function keys(O) {
38385  return internalObjectKeys(O, enumBugKeys);
38386};
38387
38388
38389/***/ }),
38390
38391/***/ 5296:
38392/***/ (function(__unused_webpack_module, exports) {
38393
38394"use strict";
38395
38396var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
38397var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
38398
38399// Nashorn ~ JDK8 bug
38400var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
38401
38402// `Object.prototype.propertyIsEnumerable` method implementation
38403// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
38404exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
38405  var descriptor = getOwnPropertyDescriptor(this, V);
38406  return !!descriptor && descriptor.enumerable;
38407} : nativePropertyIsEnumerable;
38408
38409
38410/***/ }),
38411
38412/***/ 7674:
38413/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
38414
38415/* eslint-disable no-proto -- safe */
38416var anObject = __webpack_require__(9670);
38417var aPossiblePrototype = __webpack_require__(6077);
38418
38419// `Object.setPrototypeOf` method
38420// https://tc39.es/ecma262/#sec-object.setprototypeof
38421// Works with __proto__ only. Old v8 can't work with null proto objects.
38422module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
38423  var CORRECT_SETTER = false;
38424  var test = {};
38425  var setter;
38426  try {
38427    setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
38428    setter.call(test, []);
38429    CORRECT_SETTER = test instanceof Array;
38430  } catch (error) { /* empty */ }
38431  return function setPrototypeOf(O, proto) {
38432    anObject(O);
38433    aPossiblePrototype(proto);
38434    if (CORRECT_SETTER) setter.call(O, proto);
38435    else O.__proto__ = proto;
38436    return O;
38437  };
38438}() : undefined);
38439
38440
38441/***/ }),
38442
38443/***/ 288:
38444/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
38445
38446"use strict";
38447
38448var TO_STRING_TAG_SUPPORT = __webpack_require__(1694);
38449var classof = __webpack_require__(648);
38450
38451// `Object.prototype.toString` method implementation
38452// https://tc39.es/ecma262/#sec-object.prototype.tostring
38453module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {
38454  return '[object ' + classof(this) + ']';
38455};
38456
38457
38458/***/ }),
38459
38460/***/ 3887:
38461/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
38462
38463var getBuiltIn = __webpack_require__(5005);
38464var getOwnPropertyNamesModule = __webpack_require__(8006);
38465var getOwnPropertySymbolsModule = __webpack_require__(5181);
38466var anObject = __webpack_require__(9670);
38467
38468// all object keys, includes non-enumerable and symbols
38469module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
38470  var keys = getOwnPropertyNamesModule.f(anObject(it));
38471  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
38472  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
38473};
38474
38475
38476/***/ }),
38477
38478/***/ 857:
38479/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
38480
38481var global = __webpack_require__(7854);
38482
38483module.exports = global;
38484
38485
38486/***/ }),
38487
38488/***/ 2248:
38489/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
38490
38491var redefine = __webpack_require__(1320);
38492
38493module.exports = function (target, src, options) {
38494  for (var key in src) redefine(target, key, src[key], options);
38495  return target;
38496};
38497
38498
38499/***/ }),
38500
38501/***/ 1320:
38502/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
38503
38504var global = __webpack_require__(7854);
38505var createNonEnumerableProperty = __webpack_require__(8880);
38506var has = __webpack_require__(6656);
38507var setGlobal = __webpack_require__(3505);
38508var inspectSource = __webpack_require__(2788);
38509var InternalStateModule = __webpack_require__(9909);
38510
38511var getInternalState = InternalStateModule.get;
38512var enforceInternalState = InternalStateModule.enforce;
38513var TEMPLATE = String(String).split('String');
38514
38515(module.exports = function (O, key, value, options) {
38516  var unsafe = options ? !!options.unsafe : false;
38517  var simple = options ? !!options.enumerable : false;
38518  var noTargetGet = options ? !!options.noTargetGet : false;
38519  var state;
38520  if (typeof value == 'function') {
38521    if (typeof key == 'string' && !has(value, 'name')) {
38522      createNonEnumerableProperty(value, 'name', key);
38523    }
38524    state = enforceInternalState(value);
38525    if (!state.source) {
38526      state.source = TEMPLATE.join(typeof key == 'string' ? key : '');
38527    }
38528  }
38529  if (O === global) {
38530    if (simple) O[key] = value;
38531    else setGlobal(key, value);
38532    return;
38533  } else if (!unsafe) {
38534    delete O[key];
38535  } else if (!noTargetGet && O[key]) {
38536    simple = true;
38537  }
38538  if (simple) O[key] = value;
38539  else createNonEnumerableProperty(O, key, value);
38540// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
38541})(Function.prototype, 'toString', function toString() {
38542  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
38543});
38544
38545
38546/***/ }),
38547
38548/***/ 7651:
38549/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
38550
38551var classof = __webpack_require__(4326);
38552var regexpExec = __webpack_require__(2261);
38553
38554// `RegExpExec` abstract operation
38555// https://tc39.es/ecma262/#sec-regexpexec
38556module.exports = function (R, S) {
38557  var exec = R.exec;
38558  if (typeof exec === 'function') {
38559    var result = exec.call(R, S);
38560    if (typeof result !== 'object') {
38561      throw TypeError('RegExp exec method returned something other than an Object or null');
38562    }
38563    return result;
38564  }
38565
38566  if (classof(R) !== 'RegExp') {
38567    throw TypeError('RegExp#exec called on incompatible receiver');
38568  }
38569
38570  return regexpExec.call(R, S);
38571};
38572
38573
38574
38575/***/ }),
38576
38577/***/ 2261:
38578/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
38579
38580"use strict";
38581
38582var regexpFlags = __webpack_require__(7066);
38583var stickyHelpers = __webpack_require__(2999);
38584
38585var nativeExec = RegExp.prototype.exec;
38586// This always refers to the native implementation, because the
38587// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
38588// which loads this file before patching the method.
38589var nativeReplace = String.prototype.replace;
38590
38591var patchedExec = nativeExec;
38592
38593var UPDATES_LAST_INDEX_WRONG = (function () {
38594  var re1 = /a/;
38595  var re2 = /b*/g;
38596  nativeExec.call(re1, 'a');
38597  nativeExec.call(re2, 'a');
38598  return re1.lastIndex !== 0 || re2.lastIndex !== 0;
38599})();
38600
38601var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;
38602
38603// nonparticipating capturing group, copied from es5-shim's String#split patch.
38604// eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing
38605var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
38606
38607var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;
38608
38609if (PATCH) {
38610  patchedExec = function exec(str) {
38611    var re = this;
38612    var lastIndex, reCopy, match, i;
38613    var sticky = UNSUPPORTED_Y && re.sticky;
38614    var flags = regexpFlags.call(re);
38615    var source = re.source;
38616    var charsAdded = 0;
38617    var strCopy = str;
38618
38619    if (sticky) {
38620      flags = flags.replace('y', '');
38621      if (flags.indexOf('g') === -1) {
38622        flags += 'g';
38623      }
38624
38625      strCopy = String(str).slice(re.lastIndex);
38626      // Support anchored sticky behavior.
38627      if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
38628        source = '(?: ' + source + ')';
38629        strCopy = ' ' + strCopy;
38630        charsAdded++;
38631      }
38632      // ^(? + rx + ) is needed, in combination with some str slicing, to
38633      // simulate the 'y' flag.
38634      reCopy = new RegExp('^(?:' + source + ')', flags);
38635    }
38636
38637    if (NPCG_INCLUDED) {
38638      reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
38639    }
38640    if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
38641
38642    match = nativeExec.call(sticky ? reCopy : re, strCopy);
38643
38644    if (sticky) {
38645      if (match) {
38646        match.input = match.input.slice(charsAdded);
38647        match[0] = match[0].slice(charsAdded);
38648        match.index = re.lastIndex;
38649        re.lastIndex += match[0].length;
38650      } else re.lastIndex = 0;
38651    } else if (UPDATES_LAST_INDEX_WRONG && match) {
38652      re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
38653    }
38654    if (NPCG_INCLUDED && match && match.length > 1) {
38655      // Fix browsers whose `exec` methods don't consistently return `undefined`
38656      // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
38657      nativeReplace.call(match[0], reCopy, function () {
38658        for (i = 1; i < arguments.length - 2; i++) {
38659          if (arguments[i] === undefined) match[i] = undefined;
38660        }
38661      });
38662    }
38663
38664    return match;
38665  };
38666}
38667
38668module.exports = patchedExec;
38669
38670
38671/***/ }),
38672
38673/***/ 7066:
38674/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
38675
38676"use strict";
38677
38678var anObject = __webpack_require__(9670);
38679
38680// `RegExp.prototype.flags` getter implementation
38681// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
38682module.exports = function () {
38683  var that = anObject(this);
38684  var result = '';
38685  if (that.global) result += 'g';
38686  if (that.ignoreCase) result += 'i';
38687  if (that.multiline) result += 'm';
38688  if (that.dotAll) result += 's';
38689  if (that.unicode) result += 'u';
38690  if (that.sticky) result += 'y';
38691  return result;
38692};
38693
38694
38695/***/ }),
38696
38697/***/ 2999:
38698/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
38699
38700"use strict";
38701
38702
38703var fails = __webpack_require__(7293);
38704
38705// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
38706// so we use an intermediate function.
38707function RE(s, f) {
38708  return RegExp(s, f);
38709}
38710
38711exports.UNSUPPORTED_Y = fails(function () {
38712  // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
38713  var re = RE('a', 'y');
38714  re.lastIndex = 2;
38715  return re.exec('abcd') != null;
38716});
38717
38718exports.BROKEN_CARET = fails(function () {
38719  // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
38720  var re = RE('^r', 'gy');
38721  re.lastIndex = 2;
38722  return re.exec('str') != null;
38723});
38724
38725
38726/***/ }),
38727
38728/***/ 4488:
38729/***/ (function(module) {
38730
38731// `RequireObjectCoercible` abstract operation
38732// https://tc39.es/ecma262/#sec-requireobjectcoercible
38733module.exports = function (it) {
38734  if (it == undefined) throw TypeError("Can't call method on " + it);
38735  return it;
38736};
38737
38738
38739/***/ }),
38740
38741/***/ 3505:
38742/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
38743
38744var global = __webpack_require__(7854);
38745var createNonEnumerableProperty = __webpack_require__(8880);
38746
38747module.exports = function (key, value) {
38748  try {
38749    createNonEnumerableProperty(global, key, value);
38750  } catch (error) {
38751    global[key] = value;
38752  } return value;
38753};
38754
38755
38756/***/ }),
38757
38758/***/ 6340:
38759/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
38760
38761"use strict";
38762
38763var getBuiltIn = __webpack_require__(5005);
38764var definePropertyModule = __webpack_require__(3070);
38765var wellKnownSymbol = __webpack_require__(5112);
38766var DESCRIPTORS = __webpack_require__(9781);
38767
38768var SPECIES = wellKnownSymbol('species');
38769
38770module.exports = function (CONSTRUCTOR_NAME) {
38771  var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
38772  var defineProperty = definePropertyModule.f;
38773
38774  if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {
38775    defineProperty(Constructor, SPECIES, {
38776      configurable: true,
38777      get: function () { return this; }
38778    });
38779  }
38780};
38781
38782
38783/***/ }),
38784
38785/***/ 8003:
38786/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
38787
38788var defineProperty = __webpack_require__(3070).f;
38789var has = __webpack_require__(6656);
38790var wellKnownSymbol = __webpack_require__(5112);
38791
38792var TO_STRING_TAG = wellKnownSymbol('toStringTag');
38793
38794module.exports = function (it, TAG, STATIC) {
38795  if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
38796    defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });
38797  }
38798};
38799
38800
38801/***/ }),
38802
38803/***/ 6200:
38804/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
38805
38806var shared = __webpack_require__(2309);
38807var uid = __webpack_require__(9711);
38808
38809var keys = shared('keys');
38810
38811module.exports = function (key) {
38812  return keys[key] || (keys[key] = uid(key));
38813};
38814
38815
38816/***/ }),
38817
38818/***/ 5465:
38819/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
38820
38821var global = __webpack_require__(7854);
38822var setGlobal = __webpack_require__(3505);
38823
38824var SHARED = '__core-js_shared__';
38825var store = global[SHARED] || setGlobal(SHARED, {});
38826
38827module.exports = store;
38828
38829
38830/***/ }),
38831
38832/***/ 2309:
38833/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
38834
38835var IS_PURE = __webpack_require__(1913);
38836var store = __webpack_require__(5465);
38837
38838(module.exports = function (key, value) {
38839  return store[key] || (store[key] = value !== undefined ? value : {});
38840})('versions', []).push({
38841  version: '3.9.0',
38842  mode: IS_PURE ? 'pure' : 'global',
38843  copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
38844});
38845
38846
38847/***/ }),
38848
38849/***/ 6707:
38850/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
38851
38852var anObject = __webpack_require__(9670);
38853var aFunction = __webpack_require__(3099);
38854var wellKnownSymbol = __webpack_require__(5112);
38855
38856var SPECIES = wellKnownSymbol('species');
38857
38858// `SpeciesConstructor` abstract operation
38859// https://tc39.es/ecma262/#sec-speciesconstructor
38860module.exports = function (O, defaultConstructor) {
38861  var C = anObject(O).constructor;
38862  var S;
38863  return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);
38864};
38865
38866
38867/***/ }),
38868
38869/***/ 8710:
38870/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
38871
38872var toInteger = __webpack_require__(9958);
38873var requireObjectCoercible = __webpack_require__(4488);
38874
38875// `String.prototype.{ codePointAt, at }` methods implementation
38876var createMethod = function (CONVERT_TO_STRING) {
38877  return function ($this, pos) {
38878    var S = String(requireObjectCoercible($this));
38879    var position = toInteger(pos);
38880    var size = S.length;
38881    var first, second;
38882    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
38883    first = S.charCodeAt(position);
38884    return first < 0xD800 || first > 0xDBFF || position + 1 === size
38885      || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
38886        ? CONVERT_TO_STRING ? S.charAt(position) : first
38887        : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
38888  };
38889};
38890
38891module.exports = {
38892  // `String.prototype.codePointAt` method
38893  // https://tc39.es/ecma262/#sec-string.prototype.codepointat
38894  codeAt: createMethod(false),
38895  // `String.prototype.at` method
38896  // https://github.com/mathiasbynens/String.prototype.at
38897  charAt: createMethod(true)
38898};
38899
38900
38901/***/ }),
38902
38903/***/ 3197:
38904/***/ (function(module) {
38905
38906"use strict";
38907
38908// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js
38909var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1
38910var base = 36;
38911var tMin = 1;
38912var tMax = 26;
38913var skew = 38;
38914var damp = 700;
38915var initialBias = 72;
38916var initialN = 128; // 0x80
38917var delimiter = '-'; // '\x2D'
38918var regexNonASCII = /[^\0-\u007E]/; // non-ASCII chars
38919var regexSeparators = /[.\u3002\uFF0E\uFF61]/g; // RFC 3490 separators
38920var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';
38921var baseMinusTMin = base - tMin;
38922var floor = Math.floor;
38923var stringFromCharCode = String.fromCharCode;
38924
38925/**
38926 * Creates an array containing the numeric code points of each Unicode
38927 * character in the string. While JavaScript uses UCS-2 internally,
38928 * this function will convert a pair of surrogate halves (each of which
38929 * UCS-2 exposes as separate characters) into a single code point,
38930 * matching UTF-16.
38931 */
38932var ucs2decode = function (string) {
38933  var output = [];
38934  var counter = 0;
38935  var length = string.length;
38936  while (counter < length) {
38937    var value = string.charCodeAt(counter++);
38938    if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
38939      // It's a high surrogate, and there is a next character.
38940      var extra = string.charCodeAt(counter++);
38941      if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.
38942        output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
38943      } else {
38944        // It's an unmatched surrogate; only append this code unit, in case the
38945        // next code unit is the high surrogate of a surrogate pair.
38946        output.push(value);
38947        counter--;
38948      }
38949    } else {
38950      output.push(value);
38951    }
38952  }
38953  return output;
38954};
38955
38956/**
38957 * Converts a digit/integer into a basic code point.
38958 */
38959var digitToBasic = function (digit) {
38960  //  0..25 map to ASCII a..z or A..Z
38961  // 26..35 map to ASCII 0..9
38962  return digit + 22 + 75 * (digit < 26);
38963};
38964
38965/**
38966 * Bias adaptation function as per section 3.4 of RFC 3492.
38967 * https://tools.ietf.org/html/rfc3492#section-3.4
38968 */
38969var adapt = function (delta, numPoints, firstTime) {
38970  var k = 0;
38971  delta = firstTime ? floor(delta / damp) : delta >> 1;
38972  delta += floor(delta / numPoints);
38973  for (; delta > baseMinusTMin * tMax >> 1; k += base) {
38974    delta = floor(delta / baseMinusTMin);
38975  }
38976  return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
38977};
38978
38979/**
38980 * Converts a string of Unicode symbols (e.g. a domain name label) to a
38981 * Punycode string of ASCII-only symbols.
38982 */
38983// eslint-disable-next-line max-statements -- TODO
38984var encode = function (input) {
38985  var output = [];
38986
38987  // Convert the input in UCS-2 to an array of Unicode code points.
38988  input = ucs2decode(input);
38989
38990  // Cache the length.
38991  var inputLength = input.length;
38992
38993  // Initialize the state.
38994  var n = initialN;
38995  var delta = 0;
38996  var bias = initialBias;
38997  var i, currentValue;
38998
38999  // Handle the basic code points.
39000  for (i = 0; i < input.length; i++) {
39001    currentValue = input[i];
39002    if (currentValue < 0x80) {
39003      output.push(stringFromCharCode(currentValue));
39004    }
39005  }
39006
39007  var basicLength = output.length; // number of basic code points.
39008  var handledCPCount = basicLength; // number of code points that have been handled;
39009
39010  // Finish the basic string with a delimiter unless it's empty.
39011  if (basicLength) {
39012    output.push(delimiter);
39013  }
39014
39015  // Main encoding loop:
39016  while (handledCPCount < inputLength) {
39017    // All non-basic code points < n have been handled already. Find the next larger one:
39018    var m = maxInt;
39019    for (i = 0; i < input.length; i++) {
39020      currentValue = input[i];
39021      if (currentValue >= n && currentValue < m) {
39022        m = currentValue;
39023      }
39024    }
39025
39026    // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow.
39027    var handledCPCountPlusOne = handledCPCount + 1;
39028    if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
39029      throw RangeError(OVERFLOW_ERROR);
39030    }
39031
39032    delta += (m - n) * handledCPCountPlusOne;
39033    n = m;
39034
39035    for (i = 0; i < input.length; i++) {
39036      currentValue = input[i];
39037      if (currentValue < n && ++delta > maxInt) {
39038        throw RangeError(OVERFLOW_ERROR);
39039      }
39040      if (currentValue == n) {
39041        // Represent delta as a generalized variable-length integer.
39042        var q = delta;
39043        for (var k = base; /* no condition */; k += base) {
39044          var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
39045          if (q < t) break;
39046          var qMinusT = q - t;
39047          var baseMinusT = base - t;
39048          output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));
39049          q = floor(qMinusT / baseMinusT);
39050        }
39051
39052        output.push(stringFromCharCode(digitToBasic(q)));
39053        bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
39054        delta = 0;
39055        ++handledCPCount;
39056      }
39057    }
39058
39059    ++delta;
39060    ++n;
39061  }
39062  return output.join('');
39063};
39064
39065module.exports = function (input) {
39066  var encoded = [];
39067  var labels = input.toLowerCase().replace(regexSeparators, '\u002E').split('.');
39068  var i, label;
39069  for (i = 0; i < labels.length; i++) {
39070    label = labels[i];
39071    encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);
39072  }
39073  return encoded.join('.');
39074};
39075
39076
39077/***/ }),
39078
39079/***/ 6091:
39080/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
39081
39082var fails = __webpack_require__(7293);
39083var whitespaces = __webpack_require__(1361);
39084
39085var non = '\u200B\u0085\u180E';
39086
39087// check that a method works with the correct list
39088// of whitespaces and has a correct name
39089module.exports = function (METHOD_NAME) {
39090  return fails(function () {
39091    return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;
39092  });
39093};
39094
39095
39096/***/ }),
39097
39098/***/ 3111:
39099/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
39100
39101var requireObjectCoercible = __webpack_require__(4488);
39102var whitespaces = __webpack_require__(1361);
39103
39104var whitespace = '[' + whitespaces + ']';
39105var ltrim = RegExp('^' + whitespace + whitespace + '*');
39106var rtrim = RegExp(whitespace + whitespace + '*$');
39107
39108// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
39109var createMethod = function (TYPE) {
39110  return function ($this) {
39111    var string = String(requireObjectCoercible($this));
39112    if (TYPE & 1) string = string.replace(ltrim, '');
39113    if (TYPE & 2) string = string.replace(rtrim, '');
39114    return string;
39115  };
39116};
39117
39118module.exports = {
39119  // `String.prototype.{ trimLeft, trimStart }` methods
39120  // https://tc39.es/ecma262/#sec-string.prototype.trimstart
39121  start: createMethod(1),
39122  // `String.prototype.{ trimRight, trimEnd }` methods
39123  // https://tc39.es/ecma262/#sec-string.prototype.trimend
39124  end: createMethod(2),
39125  // `String.prototype.trim` method
39126  // https://tc39.es/ecma262/#sec-string.prototype.trim
39127  trim: createMethod(3)
39128};
39129
39130
39131/***/ }),
39132
39133/***/ 1400:
39134/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
39135
39136var toInteger = __webpack_require__(9958);
39137
39138var max = Math.max;
39139var min = Math.min;
39140
39141// Helper for a popular repeating case of the spec:
39142// Let integer be ? ToInteger(index).
39143// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
39144module.exports = function (index, length) {
39145  var integer = toInteger(index);
39146  return integer < 0 ? max(integer + length, 0) : min(integer, length);
39147};
39148
39149
39150/***/ }),
39151
39152/***/ 7067:
39153/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
39154
39155var toInteger = __webpack_require__(9958);
39156var toLength = __webpack_require__(7466);
39157
39158// `ToIndex` abstract operation
39159// https://tc39.es/ecma262/#sec-toindex
39160module.exports = function (it) {
39161  if (it === undefined) return 0;
39162  var number = toInteger(it);
39163  var length = toLength(number);
39164  if (number !== length) throw RangeError('Wrong length or index');
39165  return length;
39166};
39167
39168
39169/***/ }),
39170
39171/***/ 5656:
39172/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
39173
39174// toObject with fallback for non-array-like ES3 strings
39175var IndexedObject = __webpack_require__(8361);
39176var requireObjectCoercible = __webpack_require__(4488);
39177
39178module.exports = function (it) {
39179  return IndexedObject(requireObjectCoercible(it));
39180};
39181
39182
39183/***/ }),
39184
39185/***/ 9958:
39186/***/ (function(module) {
39187
39188var ceil = Math.ceil;
39189var floor = Math.floor;
39190
39191// `ToInteger` abstract operation
39192// https://tc39.es/ecma262/#sec-tointeger
39193module.exports = function (argument) {
39194  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
39195};
39196
39197
39198/***/ }),
39199
39200/***/ 7466:
39201/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
39202
39203var toInteger = __webpack_require__(9958);
39204
39205var min = Math.min;
39206
39207// `ToLength` abstract operation
39208// https://tc39.es/ecma262/#sec-tolength
39209module.exports = function (argument) {
39210  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
39211};
39212
39213
39214/***/ }),
39215
39216/***/ 7908:
39217/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
39218
39219var requireObjectCoercible = __webpack_require__(4488);
39220
39221// `ToObject` abstract operation
39222// https://tc39.es/ecma262/#sec-toobject
39223module.exports = function (argument) {
39224  return Object(requireObjectCoercible(argument));
39225};
39226
39227
39228/***/ }),
39229
39230/***/ 4590:
39231/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
39232
39233var toPositiveInteger = __webpack_require__(3002);
39234
39235module.exports = function (it, BYTES) {
39236  var offset = toPositiveInteger(it);
39237  if (offset % BYTES) throw RangeError('Wrong offset');
39238  return offset;
39239};
39240
39241
39242/***/ }),
39243
39244/***/ 3002:
39245/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
39246
39247var toInteger = __webpack_require__(9958);
39248
39249module.exports = function (it) {
39250  var result = toInteger(it);
39251  if (result < 0) throw RangeError("The argument can't be less than 0");
39252  return result;
39253};
39254
39255
39256/***/ }),
39257
39258/***/ 7593:
39259/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
39260
39261var isObject = __webpack_require__(111);
39262
39263// `ToPrimitive` abstract operation
39264// https://tc39.es/ecma262/#sec-toprimitive
39265// instead of the ES6 spec version, we didn't implement @@toPrimitive case
39266// and the second argument - flag - preferred type is a string
39267module.exports = function (input, PREFERRED_STRING) {
39268  if (!isObject(input)) return input;
39269  var fn, val;
39270  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
39271  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
39272  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
39273  throw TypeError("Can't convert object to primitive value");
39274};
39275
39276
39277/***/ }),
39278
39279/***/ 1694:
39280/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
39281
39282var wellKnownSymbol = __webpack_require__(5112);
39283
39284var TO_STRING_TAG = wellKnownSymbol('toStringTag');
39285var test = {};
39286
39287test[TO_STRING_TAG] = 'z';
39288
39289module.exports = String(test) === '[object z]';
39290
39291
39292/***/ }),
39293
39294/***/ 9843:
39295/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
39296
39297"use strict";
39298
39299var $ = __webpack_require__(2109);
39300var global = __webpack_require__(7854);
39301var DESCRIPTORS = __webpack_require__(9781);
39302var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(3832);
39303var ArrayBufferViewCore = __webpack_require__(260);
39304var ArrayBufferModule = __webpack_require__(3331);
39305var anInstance = __webpack_require__(5787);
39306var createPropertyDescriptor = __webpack_require__(9114);
39307var createNonEnumerableProperty = __webpack_require__(8880);
39308var toLength = __webpack_require__(7466);
39309var toIndex = __webpack_require__(7067);
39310var toOffset = __webpack_require__(4590);
39311var toPrimitive = __webpack_require__(7593);
39312var has = __webpack_require__(6656);
39313var classof = __webpack_require__(648);
39314var isObject = __webpack_require__(111);
39315var create = __webpack_require__(30);
39316var setPrototypeOf = __webpack_require__(7674);
39317var getOwnPropertyNames = __webpack_require__(8006).f;
39318var typedArrayFrom = __webpack_require__(7321);
39319var forEach = __webpack_require__(2092).forEach;
39320var setSpecies = __webpack_require__(6340);
39321var definePropertyModule = __webpack_require__(3070);
39322var getOwnPropertyDescriptorModule = __webpack_require__(1236);
39323var InternalStateModule = __webpack_require__(9909);
39324var inheritIfRequired = __webpack_require__(9587);
39325
39326var getInternalState = InternalStateModule.get;
39327var setInternalState = InternalStateModule.set;
39328var nativeDefineProperty = definePropertyModule.f;
39329var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
39330var round = Math.round;
39331var RangeError = global.RangeError;
39332var ArrayBuffer = ArrayBufferModule.ArrayBuffer;
39333var DataView = ArrayBufferModule.DataView;
39334var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;
39335var TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;
39336var TypedArray = ArrayBufferViewCore.TypedArray;
39337var TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;
39338var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;
39339var isTypedArray = ArrayBufferViewCore.isTypedArray;
39340var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';
39341var WRONG_LENGTH = 'Wrong length';
39342
39343var fromList = function (C, list) {
39344  var index = 0;
39345  var length = list.length;
39346  var result = new (aTypedArrayConstructor(C))(length);
39347  while (length > index) result[index] = list[index++];
39348  return result;
39349};
39350
39351var addGetter = function (it, key) {
39352  nativeDefineProperty(it, key, { get: function () {
39353    return getInternalState(this)[key];
39354  } });
39355};
39356
39357var isArrayBuffer = function (it) {
39358  var klass;
39359  return it instanceof ArrayBuffer || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';
39360};
39361
39362var isTypedArrayIndex = function (target, key) {
39363  return isTypedArray(target)
39364    && typeof key != 'symbol'
39365    && key in target
39366    && String(+key) == String(key);
39367};
39368
39369var wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {
39370  return isTypedArrayIndex(target, key = toPrimitive(key, true))
39371    ? createPropertyDescriptor(2, target[key])
39372    : nativeGetOwnPropertyDescriptor(target, key);
39373};
39374
39375var wrappedDefineProperty = function defineProperty(target, key, descriptor) {
39376  if (isTypedArrayIndex(target, key = toPrimitive(key, true))
39377    && isObject(descriptor)
39378    && has(descriptor, 'value')
39379    && !has(descriptor, 'get')
39380    && !has(descriptor, 'set')
39381    // TODO: add validation descriptor w/o calling accessors
39382    && !descriptor.configurable
39383    && (!has(descriptor, 'writable') || descriptor.writable)
39384    && (!has(descriptor, 'enumerable') || descriptor.enumerable)
39385  ) {
39386    target[key] = descriptor.value;
39387    return target;
39388  } return nativeDefineProperty(target, key, descriptor);
39389};
39390
39391if (DESCRIPTORS) {
39392  if (!NATIVE_ARRAY_BUFFER_VIEWS) {
39393    getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;
39394    definePropertyModule.f = wrappedDefineProperty;
39395    addGetter(TypedArrayPrototype, 'buffer');
39396    addGetter(TypedArrayPrototype, 'byteOffset');
39397    addGetter(TypedArrayPrototype, 'byteLength');
39398    addGetter(TypedArrayPrototype, 'length');
39399  }
39400
39401  $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {
39402    getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,
39403    defineProperty: wrappedDefineProperty
39404  });
39405
39406  module.exports = function (TYPE, wrapper, CLAMPED) {
39407    var BYTES = TYPE.match(/\d+$/)[0] / 8;
39408    var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';
39409    var GETTER = 'get' + TYPE;
39410    var SETTER = 'set' + TYPE;
39411    var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];
39412    var TypedArrayConstructor = NativeTypedArrayConstructor;
39413    var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;
39414    var exported = {};
39415
39416    var getter = function (that, index) {
39417      var data = getInternalState(that);
39418      return data.view[GETTER](index * BYTES + data.byteOffset, true);
39419    };
39420
39421    var setter = function (that, index, value) {
39422      var data = getInternalState(that);
39423      if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;
39424      data.view[SETTER](index * BYTES + data.byteOffset, value, true);
39425    };
39426
39427    var addElement = function (that, index) {
39428      nativeDefineProperty(that, index, {
39429        get: function () {
39430          return getter(this, index);
39431        },
39432        set: function (value) {
39433          return setter(this, index, value);
39434        },
39435        enumerable: true
39436      });
39437    };
39438
39439    if (!NATIVE_ARRAY_BUFFER_VIEWS) {
39440      TypedArrayConstructor = wrapper(function (that, data, offset, $length) {
39441        anInstance(that, TypedArrayConstructor, CONSTRUCTOR_NAME);
39442        var index = 0;
39443        var byteOffset = 0;
39444        var buffer, byteLength, length;
39445        if (!isObject(data)) {
39446          length = toIndex(data);
39447          byteLength = length * BYTES;
39448          buffer = new ArrayBuffer(byteLength);
39449        } else if (isArrayBuffer(data)) {
39450          buffer = data;
39451          byteOffset = toOffset(offset, BYTES);
39452          var $len = data.byteLength;
39453          if ($length === undefined) {
39454            if ($len % BYTES) throw RangeError(WRONG_LENGTH);
39455            byteLength = $len - byteOffset;
39456            if (byteLength < 0) throw RangeError(WRONG_LENGTH);
39457          } else {
39458            byteLength = toLength($length) * BYTES;
39459            if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);
39460          }
39461          length = byteLength / BYTES;
39462        } else if (isTypedArray(data)) {
39463          return fromList(TypedArrayConstructor, data);
39464        } else {
39465          return typedArrayFrom.call(TypedArrayConstructor, data);
39466        }
39467        setInternalState(that, {
39468          buffer: buffer,
39469          byteOffset: byteOffset,
39470          byteLength: byteLength,
39471          length: length,
39472          view: new DataView(buffer)
39473        });
39474        while (index < length) addElement(that, index++);
39475      });
39476
39477      if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);
39478      TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);
39479    } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {
39480      TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {
39481        anInstance(dummy, TypedArrayConstructor, CONSTRUCTOR_NAME);
39482        return inheritIfRequired(function () {
39483          if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));
39484          if (isArrayBuffer(data)) return $length !== undefined
39485            ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)
39486            : typedArrayOffset !== undefined
39487              ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))
39488              : new NativeTypedArrayConstructor(data);
39489          if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);
39490          return typedArrayFrom.call(TypedArrayConstructor, data);
39491        }(), dummy, TypedArrayConstructor);
39492      });
39493
39494      if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);
39495      forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {
39496        if (!(key in TypedArrayConstructor)) {
39497          createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);
39498        }
39499      });
39500      TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;
39501    }
39502
39503    if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {
39504      createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);
39505    }
39506
39507    if (TYPED_ARRAY_TAG) {
39508      createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);
39509    }
39510
39511    exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;
39512
39513    $({
39514      global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS
39515    }, exported);
39516
39517    if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {
39518      createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);
39519    }
39520
39521    if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {
39522      createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);
39523    }
39524
39525    setSpecies(CONSTRUCTOR_NAME);
39526  };
39527} else module.exports = function () { /* empty */ };
39528
39529
39530/***/ }),
39531
39532/***/ 3832:
39533/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
39534
39535/* eslint-disable no-new -- required for testing */
39536var global = __webpack_require__(7854);
39537var fails = __webpack_require__(7293);
39538var checkCorrectnessOfIteration = __webpack_require__(7072);
39539var NATIVE_ARRAY_BUFFER_VIEWS = __webpack_require__(260).NATIVE_ARRAY_BUFFER_VIEWS;
39540
39541var ArrayBuffer = global.ArrayBuffer;
39542var Int8Array = global.Int8Array;
39543
39544module.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () {
39545  Int8Array(1);
39546}) || !fails(function () {
39547  new Int8Array(-1);
39548}) || !checkCorrectnessOfIteration(function (iterable) {
39549  new Int8Array();
39550  new Int8Array(null);
39551  new Int8Array(1.5);
39552  new Int8Array(iterable);
39553}, true) || fails(function () {
39554  // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill
39555  return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1;
39556});
39557
39558
39559/***/ }),
39560
39561/***/ 3074:
39562/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
39563
39564var aTypedArrayConstructor = __webpack_require__(260).aTypedArrayConstructor;
39565var speciesConstructor = __webpack_require__(6707);
39566
39567module.exports = function (instance, list) {
39568  var C = speciesConstructor(instance, instance.constructor);
39569  var index = 0;
39570  var length = list.length;
39571  var result = new (aTypedArrayConstructor(C))(length);
39572  while (length > index) result[index] = list[index++];
39573  return result;
39574};
39575
39576
39577/***/ }),
39578
39579/***/ 7321:
39580/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
39581
39582var toObject = __webpack_require__(7908);
39583var toLength = __webpack_require__(7466);
39584var getIteratorMethod = __webpack_require__(1246);
39585var isArrayIteratorMethod = __webpack_require__(7659);
39586var bind = __webpack_require__(9974);
39587var aTypedArrayConstructor = __webpack_require__(260).aTypedArrayConstructor;
39588
39589module.exports = function from(source /* , mapfn, thisArg */) {
39590  var O = toObject(source);
39591  var argumentsLength = arguments.length;
39592  var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
39593  var mapping = mapfn !== undefined;
39594  var iteratorMethod = getIteratorMethod(O);
39595  var i, length, result, step, iterator, next;
39596  if (iteratorMethod != undefined && !isArrayIteratorMethod(iteratorMethod)) {
39597    iterator = iteratorMethod.call(O);
39598    next = iterator.next;
39599    O = [];
39600    while (!(step = next.call(iterator)).done) {
39601      O.push(step.value);
39602    }
39603  }
39604  if (mapping && argumentsLength > 2) {
39605    mapfn = bind(mapfn, arguments[2], 2);
39606  }
39607  length = toLength(O.length);
39608  result = new (aTypedArrayConstructor(this))(length);
39609  for (i = 0; length > i; i++) {
39610    result[i] = mapping ? mapfn(O[i], i) : O[i];
39611  }
39612  return result;
39613};
39614
39615
39616/***/ }),
39617
39618/***/ 9711:
39619/***/ (function(module) {
39620
39621var id = 0;
39622var postfix = Math.random();
39623
39624module.exports = function (key) {
39625  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
39626};
39627
39628
39629/***/ }),
39630
39631/***/ 3307:
39632/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
39633
39634var NATIVE_SYMBOL = __webpack_require__(133);
39635
39636module.exports = NATIVE_SYMBOL
39637  /* global Symbol -- safe */
39638  && !Symbol.sham
39639  && typeof Symbol.iterator == 'symbol';
39640
39641
39642/***/ }),
39643
39644/***/ 5112:
39645/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
39646
39647var global = __webpack_require__(7854);
39648var shared = __webpack_require__(2309);
39649var has = __webpack_require__(6656);
39650var uid = __webpack_require__(9711);
39651var NATIVE_SYMBOL = __webpack_require__(133);
39652var USE_SYMBOL_AS_UID = __webpack_require__(3307);
39653
39654var WellKnownSymbolsStore = shared('wks');
39655var Symbol = global.Symbol;
39656var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;
39657
39658module.exports = function (name) {
39659  if (!has(WellKnownSymbolsStore, name)) {
39660    if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];
39661    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
39662  } return WellKnownSymbolsStore[name];
39663};
39664
39665
39666/***/ }),
39667
39668/***/ 1361:
39669/***/ (function(module) {
39670
39671// a string of all valid unicode whitespaces
39672module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' +
39673  '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
39674
39675
39676/***/ }),
39677
39678/***/ 8264:
39679/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
39680
39681"use strict";
39682
39683var $ = __webpack_require__(2109);
39684var global = __webpack_require__(7854);
39685var arrayBufferModule = __webpack_require__(3331);
39686var setSpecies = __webpack_require__(6340);
39687
39688var ARRAY_BUFFER = 'ArrayBuffer';
39689var ArrayBuffer = arrayBufferModule[ARRAY_BUFFER];
39690var NativeArrayBuffer = global[ARRAY_BUFFER];
39691
39692// `ArrayBuffer` constructor
39693// https://tc39.es/ecma262/#sec-arraybuffer-constructor
39694$({ global: true, forced: NativeArrayBuffer !== ArrayBuffer }, {
39695  ArrayBuffer: ArrayBuffer
39696});
39697
39698setSpecies(ARRAY_BUFFER);
39699
39700
39701/***/ }),
39702
39703/***/ 2222:
39704/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
39705
39706"use strict";
39707
39708var $ = __webpack_require__(2109);
39709var fails = __webpack_require__(7293);
39710var isArray = __webpack_require__(3157);
39711var isObject = __webpack_require__(111);
39712var toObject = __webpack_require__(7908);
39713var toLength = __webpack_require__(7466);
39714var createProperty = __webpack_require__(6135);
39715var arraySpeciesCreate = __webpack_require__(5417);
39716var arrayMethodHasSpeciesSupport = __webpack_require__(1194);
39717var wellKnownSymbol = __webpack_require__(5112);
39718var V8_VERSION = __webpack_require__(7392);
39719
39720var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
39721var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
39722var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
39723
39724// We can't use this feature detection in V8 since it causes
39725// deoptimization and serious performance degradation
39726// https://github.com/zloirock/core-js/issues/679
39727var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {
39728  var array = [];
39729  array[IS_CONCAT_SPREADABLE] = false;
39730  return array.concat()[0] !== array;
39731});
39732
39733var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
39734
39735var isConcatSpreadable = function (O) {
39736  if (!isObject(O)) return false;
39737  var spreadable = O[IS_CONCAT_SPREADABLE];
39738  return spreadable !== undefined ? !!spreadable : isArray(O);
39739};
39740
39741var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
39742
39743// `Array.prototype.concat` method
39744// https://tc39.es/ecma262/#sec-array.prototype.concat
39745// with adding support of @@isConcatSpreadable and @@species
39746$({ target: 'Array', proto: true, forced: FORCED }, {
39747  // eslint-disable-next-line no-unused-vars -- required for `.length`
39748  concat: function concat(arg) {
39749    var O = toObject(this);
39750    var A = arraySpeciesCreate(O, 0);
39751    var n = 0;
39752    var i, k, length, len, E;
39753    for (i = -1, length = arguments.length; i < length; i++) {
39754      E = i === -1 ? O : arguments[i];
39755      if (isConcatSpreadable(E)) {
39756        len = toLength(E.length);
39757        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
39758        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
39759      } else {
39760        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
39761        createProperty(A, n++, E);
39762      }
39763    }
39764    A.length = n;
39765    return A;
39766  }
39767});
39768
39769
39770/***/ }),
39771
39772/***/ 7327:
39773/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
39774
39775"use strict";
39776
39777var $ = __webpack_require__(2109);
39778var $filter = __webpack_require__(2092).filter;
39779var arrayMethodHasSpeciesSupport = __webpack_require__(1194);
39780
39781var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');
39782
39783// `Array.prototype.filter` method
39784// https://tc39.es/ecma262/#sec-array.prototype.filter
39785// with adding support of @@species
39786$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
39787  filter: function filter(callbackfn /* , thisArg */) {
39788    return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
39789  }
39790});
39791
39792
39793/***/ }),
39794
39795/***/ 2772:
39796/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
39797
39798"use strict";
39799
39800var $ = __webpack_require__(2109);
39801var $indexOf = __webpack_require__(1318).indexOf;
39802var arrayMethodIsStrict = __webpack_require__(9341);
39803
39804var nativeIndexOf = [].indexOf;
39805
39806var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;
39807var STRICT_METHOD = arrayMethodIsStrict('indexOf');
39808
39809// `Array.prototype.indexOf` method
39810// https://tc39.es/ecma262/#sec-array.prototype.indexof
39811$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD }, {
39812  indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
39813    return NEGATIVE_ZERO
39814      // convert -0 to +0
39815      ? nativeIndexOf.apply(this, arguments) || 0
39816      : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);
39817  }
39818});
39819
39820
39821/***/ }),
39822
39823/***/ 6992:
39824/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
39825
39826"use strict";
39827
39828var toIndexedObject = __webpack_require__(5656);
39829var addToUnscopables = __webpack_require__(1223);
39830var Iterators = __webpack_require__(7497);
39831var InternalStateModule = __webpack_require__(9909);
39832var defineIterator = __webpack_require__(654);
39833
39834var ARRAY_ITERATOR = 'Array Iterator';
39835var setInternalState = InternalStateModule.set;
39836var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);
39837
39838// `Array.prototype.entries` method
39839// https://tc39.es/ecma262/#sec-array.prototype.entries
39840// `Array.prototype.keys` method
39841// https://tc39.es/ecma262/#sec-array.prototype.keys
39842// `Array.prototype.values` method
39843// https://tc39.es/ecma262/#sec-array.prototype.values
39844// `Array.prototype[@@iterator]` method
39845// https://tc39.es/ecma262/#sec-array.prototype-@@iterator
39846// `CreateArrayIterator` internal method
39847// https://tc39.es/ecma262/#sec-createarrayiterator
39848module.exports = defineIterator(Array, 'Array', function (iterated, kind) {
39849  setInternalState(this, {
39850    type: ARRAY_ITERATOR,
39851    target: toIndexedObject(iterated), // target
39852    index: 0,                          // next index
39853    kind: kind                         // kind
39854  });
39855// `%ArrayIteratorPrototype%.next` method
39856// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next
39857}, function () {
39858  var state = getInternalState(this);
39859  var target = state.target;
39860  var kind = state.kind;
39861  var index = state.index++;
39862  if (!target || index >= target.length) {
39863    state.target = undefined;
39864    return { value: undefined, done: true };
39865  }
39866  if (kind == 'keys') return { value: index, done: false };
39867  if (kind == 'values') return { value: target[index], done: false };
39868  return { value: [index, target[index]], done: false };
39869}, 'values');
39870
39871// argumentsList[@@iterator] is %ArrayProto_values%
39872// https://tc39.es/ecma262/#sec-createunmappedargumentsobject
39873// https://tc39.es/ecma262/#sec-createmappedargumentsobject
39874Iterators.Arguments = Iterators.Array;
39875
39876// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
39877addToUnscopables('keys');
39878addToUnscopables('values');
39879addToUnscopables('entries');
39880
39881
39882/***/ }),
39883
39884/***/ 1249:
39885/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
39886
39887"use strict";
39888
39889var $ = __webpack_require__(2109);
39890var $map = __webpack_require__(2092).map;
39891var arrayMethodHasSpeciesSupport = __webpack_require__(1194);
39892
39893var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');
39894
39895// `Array.prototype.map` method
39896// https://tc39.es/ecma262/#sec-array.prototype.map
39897// with adding support of @@species
39898$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
39899  map: function map(callbackfn /* , thisArg */) {
39900    return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
39901  }
39902});
39903
39904
39905/***/ }),
39906
39907/***/ 7042:
39908/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
39909
39910"use strict";
39911
39912var $ = __webpack_require__(2109);
39913var isObject = __webpack_require__(111);
39914var isArray = __webpack_require__(3157);
39915var toAbsoluteIndex = __webpack_require__(1400);
39916var toLength = __webpack_require__(7466);
39917var toIndexedObject = __webpack_require__(5656);
39918var createProperty = __webpack_require__(6135);
39919var wellKnownSymbol = __webpack_require__(5112);
39920var arrayMethodHasSpeciesSupport = __webpack_require__(1194);
39921
39922var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');
39923
39924var SPECIES = wellKnownSymbol('species');
39925var nativeSlice = [].slice;
39926var max = Math.max;
39927
39928// `Array.prototype.slice` method
39929// https://tc39.es/ecma262/#sec-array.prototype.slice
39930// fallback for not array-like ES3 strings and DOM objects
39931$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
39932  slice: function slice(start, end) {
39933    var O = toIndexedObject(this);
39934    var length = toLength(O.length);
39935    var k = toAbsoluteIndex(start, length);
39936    var fin = toAbsoluteIndex(end === undefined ? length : end, length);
39937    // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible
39938    var Constructor, result, n;
39939    if (isArray(O)) {
39940      Constructor = O.constructor;
39941      // cross-realm fallback
39942      if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {
39943        Constructor = undefined;
39944      } else if (isObject(Constructor)) {
39945        Constructor = Constructor[SPECIES];
39946        if (Constructor === null) Constructor = undefined;
39947      }
39948      if (Constructor === Array || Constructor === undefined) {
39949        return nativeSlice.call(O, k, fin);
39950      }
39951    }
39952    result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));
39953    for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);
39954    result.length = n;
39955    return result;
39956  }
39957});
39958
39959
39960/***/ }),
39961
39962/***/ 561:
39963/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
39964
39965"use strict";
39966
39967var $ = __webpack_require__(2109);
39968var toAbsoluteIndex = __webpack_require__(1400);
39969var toInteger = __webpack_require__(9958);
39970var toLength = __webpack_require__(7466);
39971var toObject = __webpack_require__(7908);
39972var arraySpeciesCreate = __webpack_require__(5417);
39973var createProperty = __webpack_require__(6135);
39974var arrayMethodHasSpeciesSupport = __webpack_require__(1194);
39975
39976var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');
39977
39978var max = Math.max;
39979var min = Math.min;
39980var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
39981var MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';
39982
39983// `Array.prototype.splice` method
39984// https://tc39.es/ecma262/#sec-array.prototype.splice
39985// with adding support of @@species
39986$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
39987  splice: function splice(start, deleteCount /* , ...items */) {
39988    var O = toObject(this);
39989    var len = toLength(O.length);
39990    var actualStart = toAbsoluteIndex(start, len);
39991    var argumentsLength = arguments.length;
39992    var insertCount, actualDeleteCount, A, k, from, to;
39993    if (argumentsLength === 0) {
39994      insertCount = actualDeleteCount = 0;
39995    } else if (argumentsLength === 1) {
39996      insertCount = 0;
39997      actualDeleteCount = len - actualStart;
39998    } else {
39999      insertCount = argumentsLength - 2;
40000      actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);
40001    }
40002    if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {
40003      throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);
40004    }
40005    A = arraySpeciesCreate(O, actualDeleteCount);
40006    for (k = 0; k < actualDeleteCount; k++) {
40007      from = actualStart + k;
40008      if (from in O) createProperty(A, k, O[from]);
40009    }
40010    A.length = actualDeleteCount;
40011    if (insertCount < actualDeleteCount) {
40012      for (k = actualStart; k < len - actualDeleteCount; k++) {
40013        from = k + actualDeleteCount;
40014        to = k + insertCount;
40015        if (from in O) O[to] = O[from];
40016        else delete O[to];
40017      }
40018      for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];
40019    } else if (insertCount > actualDeleteCount) {
40020      for (k = len - actualDeleteCount; k > actualStart; k--) {
40021        from = k + actualDeleteCount - 1;
40022        to = k + insertCount - 1;
40023        if (from in O) O[to] = O[from];
40024        else delete O[to];
40025      }
40026    }
40027    for (k = 0; k < insertCount; k++) {
40028      O[k + actualStart] = arguments[k + 2];
40029    }
40030    O.length = len - actualDeleteCount + insertCount;
40031    return A;
40032  }
40033});
40034
40035
40036/***/ }),
40037
40038/***/ 8309:
40039/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
40040
40041var DESCRIPTORS = __webpack_require__(9781);
40042var defineProperty = __webpack_require__(3070).f;
40043
40044var FunctionPrototype = Function.prototype;
40045var FunctionPrototypeToString = FunctionPrototype.toString;
40046var nameRE = /^\s*function ([^ (]*)/;
40047var NAME = 'name';
40048
40049// Function instances `.name` property
40050// https://tc39.es/ecma262/#sec-function-instances-name
40051if (DESCRIPTORS && !(NAME in FunctionPrototype)) {
40052  defineProperty(FunctionPrototype, NAME, {
40053    configurable: true,
40054    get: function () {
40055      try {
40056        return FunctionPrototypeToString.call(this).match(nameRE)[1];
40057      } catch (error) {
40058        return '';
40059      }
40060    }
40061  });
40062}
40063
40064
40065/***/ }),
40066
40067/***/ 489:
40068/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
40069
40070var $ = __webpack_require__(2109);
40071var fails = __webpack_require__(7293);
40072var toObject = __webpack_require__(7908);
40073var nativeGetPrototypeOf = __webpack_require__(9518);
40074var CORRECT_PROTOTYPE_GETTER = __webpack_require__(8544);
40075
40076var FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });
40077
40078// `Object.getPrototypeOf` method
40079// https://tc39.es/ecma262/#sec-object.getprototypeof
40080$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {
40081  getPrototypeOf: function getPrototypeOf(it) {
40082    return nativeGetPrototypeOf(toObject(it));
40083  }
40084});
40085
40086
40087
40088/***/ }),
40089
40090/***/ 1539:
40091/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
40092
40093var TO_STRING_TAG_SUPPORT = __webpack_require__(1694);
40094var redefine = __webpack_require__(1320);
40095var toString = __webpack_require__(288);
40096
40097// `Object.prototype.toString` method
40098// https://tc39.es/ecma262/#sec-object.prototype.tostring
40099if (!TO_STRING_TAG_SUPPORT) {
40100  redefine(Object.prototype, 'toString', toString, { unsafe: true });
40101}
40102
40103
40104/***/ }),
40105
40106/***/ 4916:
40107/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
40108
40109"use strict";
40110
40111var $ = __webpack_require__(2109);
40112var exec = __webpack_require__(2261);
40113
40114// `RegExp.prototype.exec` method
40115// https://tc39.es/ecma262/#sec-regexp.prototype.exec
40116$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {
40117  exec: exec
40118});
40119
40120
40121/***/ }),
40122
40123/***/ 9714:
40124/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
40125
40126"use strict";
40127
40128var redefine = __webpack_require__(1320);
40129var anObject = __webpack_require__(9670);
40130var fails = __webpack_require__(7293);
40131var flags = __webpack_require__(7066);
40132
40133var TO_STRING = 'toString';
40134var RegExpPrototype = RegExp.prototype;
40135var nativeToString = RegExpPrototype[TO_STRING];
40136
40137var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });
40138// FF44- RegExp#toString has a wrong name
40139var INCORRECT_NAME = nativeToString.name != TO_STRING;
40140
40141// `RegExp.prototype.toString` method
40142// https://tc39.es/ecma262/#sec-regexp.prototype.tostring
40143if (NOT_GENERIC || INCORRECT_NAME) {
40144  redefine(RegExp.prototype, TO_STRING, function toString() {
40145    var R = anObject(this);
40146    var p = String(R.source);
40147    var rf = R.flags;
40148    var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);
40149    return '/' + p + '/' + f;
40150  }, { unsafe: true });
40151}
40152
40153
40154/***/ }),
40155
40156/***/ 8783:
40157/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
40158
40159"use strict";
40160
40161var charAt = __webpack_require__(8710).charAt;
40162var InternalStateModule = __webpack_require__(9909);
40163var defineIterator = __webpack_require__(654);
40164
40165var STRING_ITERATOR = 'String Iterator';
40166var setInternalState = InternalStateModule.set;
40167var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);
40168
40169// `String.prototype[@@iterator]` method
40170// https://tc39.es/ecma262/#sec-string.prototype-@@iterator
40171defineIterator(String, 'String', function (iterated) {
40172  setInternalState(this, {
40173    type: STRING_ITERATOR,
40174    string: String(iterated),
40175    index: 0
40176  });
40177// `%StringIteratorPrototype%.next` method
40178// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next
40179}, function next() {
40180  var state = getInternalState(this);
40181  var string = state.string;
40182  var index = state.index;
40183  var point;
40184  if (index >= string.length) return { value: undefined, done: true };
40185  point = charAt(string, index);
40186  state.index += point.length;
40187  return { value: point, done: false };
40188});
40189
40190
40191/***/ }),
40192
40193/***/ 4723:
40194/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
40195
40196"use strict";
40197
40198var fixRegExpWellKnownSymbolLogic = __webpack_require__(7007);
40199var anObject = __webpack_require__(9670);
40200var toLength = __webpack_require__(7466);
40201var requireObjectCoercible = __webpack_require__(4488);
40202var advanceStringIndex = __webpack_require__(1530);
40203var regExpExec = __webpack_require__(7651);
40204
40205// @@match logic
40206fixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {
40207  return [
40208    // `String.prototype.match` method
40209    // https://tc39.es/ecma262/#sec-string.prototype.match
40210    function match(regexp) {
40211      var O = requireObjectCoercible(this);
40212      var matcher = regexp == undefined ? undefined : regexp[MATCH];
40213      return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));
40214    },
40215    // `RegExp.prototype[@@match]` method
40216    // https://tc39.es/ecma262/#sec-regexp.prototype-@@match
40217    function (regexp) {
40218      var res = maybeCallNative(nativeMatch, regexp, this);
40219      if (res.done) return res.value;
40220
40221      var rx = anObject(regexp);
40222      var S = String(this);
40223
40224      if (!rx.global) return regExpExec(rx, S);
40225
40226      var fullUnicode = rx.unicode;
40227      rx.lastIndex = 0;
40228      var A = [];
40229      var n = 0;
40230      var result;
40231      while ((result = regExpExec(rx, S)) !== null) {
40232        var matchStr = String(result[0]);
40233        A[n] = matchStr;
40234        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
40235        n++;
40236      }
40237      return n === 0 ? null : A;
40238    }
40239  ];
40240});
40241
40242
40243/***/ }),
40244
40245/***/ 5306:
40246/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
40247
40248"use strict";
40249
40250var fixRegExpWellKnownSymbolLogic = __webpack_require__(7007);
40251var anObject = __webpack_require__(9670);
40252var toLength = __webpack_require__(7466);
40253var toInteger = __webpack_require__(9958);
40254var requireObjectCoercible = __webpack_require__(4488);
40255var advanceStringIndex = __webpack_require__(1530);
40256var getSubstitution = __webpack_require__(647);
40257var regExpExec = __webpack_require__(7651);
40258
40259var max = Math.max;
40260var min = Math.min;
40261
40262var maybeToString = function (it) {
40263  return it === undefined ? it : String(it);
40264};
40265
40266// @@replace logic
40267fixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {
40268  var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;
40269  var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;
40270  var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';
40271
40272  return [
40273    // `String.prototype.replace` method
40274    // https://tc39.es/ecma262/#sec-string.prototype.replace
40275    function replace(searchValue, replaceValue) {
40276      var O = requireObjectCoercible(this);
40277      var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
40278      return replacer !== undefined
40279        ? replacer.call(searchValue, O, replaceValue)
40280        : nativeReplace.call(String(O), searchValue, replaceValue);
40281    },
40282    // `RegExp.prototype[@@replace]` method
40283    // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace
40284    function (regexp, replaceValue) {
40285      if (
40286        (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||
40287        (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)
40288      ) {
40289        var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
40290        if (res.done) return res.value;
40291      }
40292
40293      var rx = anObject(regexp);
40294      var S = String(this);
40295
40296      var functionalReplace = typeof replaceValue === 'function';
40297      if (!functionalReplace) replaceValue = String(replaceValue);
40298
40299      var global = rx.global;
40300      if (global) {
40301        var fullUnicode = rx.unicode;
40302        rx.lastIndex = 0;
40303      }
40304      var results = [];
40305      while (true) {
40306        var result = regExpExec(rx, S);
40307        if (result === null) break;
40308
40309        results.push(result);
40310        if (!global) break;
40311
40312        var matchStr = String(result[0]);
40313        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
40314      }
40315
40316      var accumulatedResult = '';
40317      var nextSourcePosition = 0;
40318      for (var i = 0; i < results.length; i++) {
40319        result = results[i];
40320
40321        var matched = String(result[0]);
40322        var position = max(min(toInteger(result.index), S.length), 0);
40323        var captures = [];
40324        // NOTE: This is equivalent to
40325        //   captures = result.slice(1).map(maybeToString)
40326        // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
40327        // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
40328        // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
40329        for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
40330        var namedCaptures = result.groups;
40331        if (functionalReplace) {
40332          var replacerArgs = [matched].concat(captures, position, S);
40333          if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
40334          var replacement = String(replaceValue.apply(undefined, replacerArgs));
40335        } else {
40336          replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
40337        }
40338        if (position >= nextSourcePosition) {
40339          accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
40340          nextSourcePosition = position + matched.length;
40341        }
40342      }
40343      return accumulatedResult + S.slice(nextSourcePosition);
40344    }
40345  ];
40346});
40347
40348
40349/***/ }),
40350
40351/***/ 3123:
40352/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
40353
40354"use strict";
40355
40356var fixRegExpWellKnownSymbolLogic = __webpack_require__(7007);
40357var isRegExp = __webpack_require__(7850);
40358var anObject = __webpack_require__(9670);
40359var requireObjectCoercible = __webpack_require__(4488);
40360var speciesConstructor = __webpack_require__(6707);
40361var advanceStringIndex = __webpack_require__(1530);
40362var toLength = __webpack_require__(7466);
40363var callRegExpExec = __webpack_require__(7651);
40364var regexpExec = __webpack_require__(2261);
40365var fails = __webpack_require__(7293);
40366
40367var arrayPush = [].push;
40368var min = Math.min;
40369var MAX_UINT32 = 0xFFFFFFFF;
40370
40371// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError
40372var SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });
40373
40374// @@split logic
40375fixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {
40376  var internalSplit;
40377  if (
40378    'abbc'.split(/(b)*/)[1] == 'c' ||
40379    // eslint-disable-next-line regexp/no-empty-group -- required for testing
40380    'test'.split(/(?:)/, -1).length != 4 ||
40381    'ab'.split(/(?:ab)*/).length != 2 ||
40382    '.'.split(/(.?)(.?)/).length != 4 ||
40383    // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing
40384    '.'.split(/()()/).length > 1 ||
40385    ''.split(/.?/).length
40386  ) {
40387    // based on es5-shim implementation, need to rework it
40388    internalSplit = function (separator, limit) {
40389      var string = String(requireObjectCoercible(this));
40390      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
40391      if (lim === 0) return [];
40392      if (separator === undefined) return [string];
40393      // If `separator` is not a regex, use native split
40394      if (!isRegExp(separator)) {
40395        return nativeSplit.call(string, separator, lim);
40396      }
40397      var output = [];
40398      var flags = (separator.ignoreCase ? 'i' : '') +
40399                  (separator.multiline ? 'm' : '') +
40400                  (separator.unicode ? 'u' : '') +
40401                  (separator.sticky ? 'y' : '');
40402      var lastLastIndex = 0;
40403      // Make `global` and avoid `lastIndex` issues by working with a copy
40404      var separatorCopy = new RegExp(separator.source, flags + 'g');
40405      var match, lastIndex, lastLength;
40406      while (match = regexpExec.call(separatorCopy, string)) {
40407        lastIndex = separatorCopy.lastIndex;
40408        if (lastIndex > lastLastIndex) {
40409          output.push(string.slice(lastLastIndex, match.index));
40410          if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));
40411          lastLength = match[0].length;
40412          lastLastIndex = lastIndex;
40413          if (output.length >= lim) break;
40414        }
40415        if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop
40416      }
40417      if (lastLastIndex === string.length) {
40418        if (lastLength || !separatorCopy.test('')) output.push('');
40419      } else output.push(string.slice(lastLastIndex));
40420      return output.length > lim ? output.slice(0, lim) : output;
40421    };
40422  // Chakra, V8
40423  } else if ('0'.split(undefined, 0).length) {
40424    internalSplit = function (separator, limit) {
40425      return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);
40426    };
40427  } else internalSplit = nativeSplit;
40428
40429  return [
40430    // `String.prototype.split` method
40431    // https://tc39.es/ecma262/#sec-string.prototype.split
40432    function split(separator, limit) {
40433      var O = requireObjectCoercible(this);
40434      var splitter = separator == undefined ? undefined : separator[SPLIT];
40435      return splitter !== undefined
40436        ? splitter.call(separator, O, limit)
40437        : internalSplit.call(String(O), separator, limit);
40438    },
40439    // `RegExp.prototype[@@split]` method
40440    // https://tc39.es/ecma262/#sec-regexp.prototype-@@split
40441    //
40442    // NOTE: This cannot be properly polyfilled in engines that don't support
40443    // the 'y' flag.
40444    function (regexp, limit) {
40445      var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);
40446      if (res.done) return res.value;
40447
40448      var rx = anObject(regexp);
40449      var S = String(this);
40450      var C = speciesConstructor(rx, RegExp);
40451
40452      var unicodeMatching = rx.unicode;
40453      var flags = (rx.ignoreCase ? 'i' : '') +
40454                  (rx.multiline ? 'm' : '') +
40455                  (rx.unicode ? 'u' : '') +
40456                  (SUPPORTS_Y ? 'y' : 'g');
40457
40458      // ^(? + rx + ) is needed, in combination with some S slicing, to
40459      // simulate the 'y' flag.
40460      var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);
40461      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
40462      if (lim === 0) return [];
40463      if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];
40464      var p = 0;
40465      var q = 0;
40466      var A = [];
40467      while (q < S.length) {
40468        splitter.lastIndex = SUPPORTS_Y ? q : 0;
40469        var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));
40470        var e;
40471        if (
40472          z === null ||
40473          (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p
40474        ) {
40475          q = advanceStringIndex(S, q, unicodeMatching);
40476        } else {
40477          A.push(S.slice(p, q));
40478          if (A.length === lim) return A;
40479          for (var i = 1; i <= z.length - 1; i++) {
40480            A.push(z[i]);
40481            if (A.length === lim) return A;
40482          }
40483          q = p = e;
40484        }
40485      }
40486      A.push(S.slice(p));
40487      return A;
40488    }
40489  ];
40490}, !SUPPORTS_Y);
40491
40492
40493/***/ }),
40494
40495/***/ 3210:
40496/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
40497
40498"use strict";
40499
40500var $ = __webpack_require__(2109);
40501var $trim = __webpack_require__(3111).trim;
40502var forcedStringTrimMethod = __webpack_require__(6091);
40503
40504// `String.prototype.trim` method
40505// https://tc39.es/ecma262/#sec-string.prototype.trim
40506$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {
40507  trim: function trim() {
40508    return $trim(this);
40509  }
40510});
40511
40512
40513/***/ }),
40514
40515/***/ 2990:
40516/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
40517
40518"use strict";
40519
40520var ArrayBufferViewCore = __webpack_require__(260);
40521var $copyWithin = __webpack_require__(1048);
40522
40523var aTypedArray = ArrayBufferViewCore.aTypedArray;
40524var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
40525
40526// `%TypedArray%.prototype.copyWithin` method
40527// https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin
40528exportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) {
40529  return $copyWithin.call(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);
40530});
40531
40532
40533/***/ }),
40534
40535/***/ 8927:
40536/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
40537
40538"use strict";
40539
40540var ArrayBufferViewCore = __webpack_require__(260);
40541var $every = __webpack_require__(2092).every;
40542
40543var aTypedArray = ArrayBufferViewCore.aTypedArray;
40544var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
40545
40546// `%TypedArray%.prototype.every` method
40547// https://tc39.es/ecma262/#sec-%typedarray%.prototype.every
40548exportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) {
40549  return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
40550});
40551
40552
40553/***/ }),
40554
40555/***/ 3105:
40556/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
40557
40558"use strict";
40559
40560var ArrayBufferViewCore = __webpack_require__(260);
40561var $fill = __webpack_require__(1285);
40562
40563var aTypedArray = ArrayBufferViewCore.aTypedArray;
40564var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
40565
40566// `%TypedArray%.prototype.fill` method
40567// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill
40568// eslint-disable-next-line no-unused-vars -- required for `.length`
40569exportTypedArrayMethod('fill', function fill(value /* , start, end */) {
40570  return $fill.apply(aTypedArray(this), arguments);
40571});
40572
40573
40574/***/ }),
40575
40576/***/ 5035:
40577/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
40578
40579"use strict";
40580
40581var ArrayBufferViewCore = __webpack_require__(260);
40582var $filter = __webpack_require__(2092).filter;
40583var fromSpeciesAndList = __webpack_require__(3074);
40584
40585var aTypedArray = ArrayBufferViewCore.aTypedArray;
40586var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
40587
40588// `%TypedArray%.prototype.filter` method
40589// https://tc39.es/ecma262/#sec-%typedarray%.prototype.filter
40590exportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) {
40591  var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
40592  return fromSpeciesAndList(this, list);
40593});
40594
40595
40596/***/ }),
40597
40598/***/ 7174:
40599/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
40600
40601"use strict";
40602
40603var ArrayBufferViewCore = __webpack_require__(260);
40604var $findIndex = __webpack_require__(2092).findIndex;
40605
40606var aTypedArray = ArrayBufferViewCore.aTypedArray;
40607var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
40608
40609// `%TypedArray%.prototype.findIndex` method
40610// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex
40611exportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) {
40612  return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
40613});
40614
40615
40616/***/ }),
40617
40618/***/ 4345:
40619/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
40620
40621"use strict";
40622
40623var ArrayBufferViewCore = __webpack_require__(260);
40624var $find = __webpack_require__(2092).find;
40625
40626var aTypedArray = ArrayBufferViewCore.aTypedArray;
40627var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
40628
40629// `%TypedArray%.prototype.find` method
40630// https://tc39.es/ecma262/#sec-%typedarray%.prototype.find
40631exportTypedArrayMethod('find', function find(predicate /* , thisArg */) {
40632  return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
40633});
40634
40635
40636/***/ }),
40637
40638/***/ 2846:
40639/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
40640
40641"use strict";
40642
40643var ArrayBufferViewCore = __webpack_require__(260);
40644var $forEach = __webpack_require__(2092).forEach;
40645
40646var aTypedArray = ArrayBufferViewCore.aTypedArray;
40647var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
40648
40649// `%TypedArray%.prototype.forEach` method
40650// https://tc39.es/ecma262/#sec-%typedarray%.prototype.foreach
40651exportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) {
40652  $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
40653});
40654
40655
40656/***/ }),
40657
40658/***/ 4731:
40659/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
40660
40661"use strict";
40662
40663var ArrayBufferViewCore = __webpack_require__(260);
40664var $includes = __webpack_require__(1318).includes;
40665
40666var aTypedArray = ArrayBufferViewCore.aTypedArray;
40667var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
40668
40669// `%TypedArray%.prototype.includes` method
40670// https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes
40671exportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) {
40672  return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
40673});
40674
40675
40676/***/ }),
40677
40678/***/ 7209:
40679/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
40680
40681"use strict";
40682
40683var ArrayBufferViewCore = __webpack_require__(260);
40684var $indexOf = __webpack_require__(1318).indexOf;
40685
40686var aTypedArray = ArrayBufferViewCore.aTypedArray;
40687var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
40688
40689// `%TypedArray%.prototype.indexOf` method
40690// https://tc39.es/ecma262/#sec-%typedarray%.prototype.indexof
40691exportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) {
40692  return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
40693});
40694
40695
40696/***/ }),
40697
40698/***/ 6319:
40699/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
40700
40701"use strict";
40702
40703var global = __webpack_require__(7854);
40704var ArrayBufferViewCore = __webpack_require__(260);
40705var ArrayIterators = __webpack_require__(6992);
40706var wellKnownSymbol = __webpack_require__(5112);
40707
40708var ITERATOR = wellKnownSymbol('iterator');
40709var Uint8Array = global.Uint8Array;
40710var arrayValues = ArrayIterators.values;
40711var arrayKeys = ArrayIterators.keys;
40712var arrayEntries = ArrayIterators.entries;
40713var aTypedArray = ArrayBufferViewCore.aTypedArray;
40714var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
40715var nativeTypedArrayIterator = Uint8Array && Uint8Array.prototype[ITERATOR];
40716
40717var CORRECT_ITER_NAME = !!nativeTypedArrayIterator
40718  && (nativeTypedArrayIterator.name == 'values' || nativeTypedArrayIterator.name == undefined);
40719
40720var typedArrayValues = function values() {
40721  return arrayValues.call(aTypedArray(this));
40722};
40723
40724// `%TypedArray%.prototype.entries` method
40725// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries
40726exportTypedArrayMethod('entries', function entries() {
40727  return arrayEntries.call(aTypedArray(this));
40728});
40729// `%TypedArray%.prototype.keys` method
40730// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys
40731exportTypedArrayMethod('keys', function keys() {
40732  return arrayKeys.call(aTypedArray(this));
40733});
40734// `%TypedArray%.prototype.values` method
40735// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values
40736exportTypedArrayMethod('values', typedArrayValues, !CORRECT_ITER_NAME);
40737// `%TypedArray%.prototype[@@iterator]` method
40738// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator
40739exportTypedArrayMethod(ITERATOR, typedArrayValues, !CORRECT_ITER_NAME);
40740
40741
40742/***/ }),
40743
40744/***/ 8867:
40745/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
40746
40747"use strict";
40748
40749var ArrayBufferViewCore = __webpack_require__(260);
40750
40751var aTypedArray = ArrayBufferViewCore.aTypedArray;
40752var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
40753var $join = [].join;
40754
40755// `%TypedArray%.prototype.join` method
40756// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join
40757// eslint-disable-next-line no-unused-vars -- required for `.length`
40758exportTypedArrayMethod('join', function join(separator) {
40759  return $join.apply(aTypedArray(this), arguments);
40760});
40761
40762
40763/***/ }),
40764
40765/***/ 7789:
40766/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
40767
40768"use strict";
40769
40770var ArrayBufferViewCore = __webpack_require__(260);
40771var $lastIndexOf = __webpack_require__(6583);
40772
40773var aTypedArray = ArrayBufferViewCore.aTypedArray;
40774var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
40775
40776// `%TypedArray%.prototype.lastIndexOf` method
40777// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof
40778// eslint-disable-next-line no-unused-vars -- required for `.length`
40779exportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {
40780  return $lastIndexOf.apply(aTypedArray(this), arguments);
40781});
40782
40783
40784/***/ }),
40785
40786/***/ 3739:
40787/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
40788
40789"use strict";
40790
40791var ArrayBufferViewCore = __webpack_require__(260);
40792var $map = __webpack_require__(2092).map;
40793var speciesConstructor = __webpack_require__(6707);
40794
40795var aTypedArray = ArrayBufferViewCore.aTypedArray;
40796var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;
40797var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
40798
40799// `%TypedArray%.prototype.map` method
40800// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map
40801exportTypedArrayMethod('map', function map(mapfn /* , thisArg */) {
40802  return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {
40803    return new (aTypedArrayConstructor(speciesConstructor(O, O.constructor)))(length);
40804  });
40805});
40806
40807
40808/***/ }),
40809
40810/***/ 4483:
40811/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
40812
40813"use strict";
40814
40815var ArrayBufferViewCore = __webpack_require__(260);
40816var $reduceRight = __webpack_require__(3671).right;
40817
40818var aTypedArray = ArrayBufferViewCore.aTypedArray;
40819var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
40820
40821// `%TypedArray%.prototype.reduceRicht` method
40822// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright
40823exportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {
40824  return $reduceRight(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);
40825});
40826
40827
40828/***/ }),
40829
40830/***/ 9368:
40831/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
40832
40833"use strict";
40834
40835var ArrayBufferViewCore = __webpack_require__(260);
40836var $reduce = __webpack_require__(3671).left;
40837
40838var aTypedArray = ArrayBufferViewCore.aTypedArray;
40839var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
40840
40841// `%TypedArray%.prototype.reduce` method
40842// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduce
40843exportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) {
40844  return $reduce(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);
40845});
40846
40847
40848/***/ }),
40849
40850/***/ 2056:
40851/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
40852
40853"use strict";
40854
40855var ArrayBufferViewCore = __webpack_require__(260);
40856
40857var aTypedArray = ArrayBufferViewCore.aTypedArray;
40858var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
40859var floor = Math.floor;
40860
40861// `%TypedArray%.prototype.reverse` method
40862// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reverse
40863exportTypedArrayMethod('reverse', function reverse() {
40864  var that = this;
40865  var length = aTypedArray(that).length;
40866  var middle = floor(length / 2);
40867  var index = 0;
40868  var value;
40869  while (index < middle) {
40870    value = that[index];
40871    that[index++] = that[--length];
40872    that[length] = value;
40873  } return that;
40874});
40875
40876
40877/***/ }),
40878
40879/***/ 3462:
40880/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
40881
40882"use strict";
40883
40884var ArrayBufferViewCore = __webpack_require__(260);
40885var toLength = __webpack_require__(7466);
40886var toOffset = __webpack_require__(4590);
40887var toObject = __webpack_require__(7908);
40888var fails = __webpack_require__(7293);
40889
40890var aTypedArray = ArrayBufferViewCore.aTypedArray;
40891var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
40892
40893var FORCED = fails(function () {
40894  /* global Int8Array -- safe */
40895  new Int8Array(1).set({});
40896});
40897
40898// `%TypedArray%.prototype.set` method
40899// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set
40900exportTypedArrayMethod('set', function set(arrayLike /* , offset */) {
40901  aTypedArray(this);
40902  var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);
40903  var length = this.length;
40904  var src = toObject(arrayLike);
40905  var len = toLength(src.length);
40906  var index = 0;
40907  if (len + offset > length) throw RangeError('Wrong length');
40908  while (index < len) this[offset + index] = src[index++];
40909}, FORCED);
40910
40911
40912/***/ }),
40913
40914/***/ 678:
40915/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
40916
40917"use strict";
40918
40919var ArrayBufferViewCore = __webpack_require__(260);
40920var speciesConstructor = __webpack_require__(6707);
40921var fails = __webpack_require__(7293);
40922
40923var aTypedArray = ArrayBufferViewCore.aTypedArray;
40924var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;
40925var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
40926var $slice = [].slice;
40927
40928var FORCED = fails(function () {
40929  /* global Int8Array -- safe */
40930  new Int8Array(1).slice();
40931});
40932
40933// `%TypedArray%.prototype.slice` method
40934// https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice
40935exportTypedArrayMethod('slice', function slice(start, end) {
40936  var list = $slice.call(aTypedArray(this), start, end);
40937  var C = speciesConstructor(this, this.constructor);
40938  var index = 0;
40939  var length = list.length;
40940  var result = new (aTypedArrayConstructor(C))(length);
40941  while (length > index) result[index] = list[index++];
40942  return result;
40943}, FORCED);
40944
40945
40946/***/ }),
40947
40948/***/ 7462:
40949/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
40950
40951"use strict";
40952
40953var ArrayBufferViewCore = __webpack_require__(260);
40954var $some = __webpack_require__(2092).some;
40955
40956var aTypedArray = ArrayBufferViewCore.aTypedArray;
40957var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
40958
40959// `%TypedArray%.prototype.some` method
40960// https://tc39.es/ecma262/#sec-%typedarray%.prototype.some
40961exportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) {
40962  return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
40963});
40964
40965
40966/***/ }),
40967
40968/***/ 3824:
40969/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
40970
40971"use strict";
40972
40973var ArrayBufferViewCore = __webpack_require__(260);
40974
40975var aTypedArray = ArrayBufferViewCore.aTypedArray;
40976var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
40977var $sort = [].sort;
40978
40979// `%TypedArray%.prototype.sort` method
40980// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort
40981exportTypedArrayMethod('sort', function sort(comparefn) {
40982  return $sort.call(aTypedArray(this), comparefn);
40983});
40984
40985
40986/***/ }),
40987
40988/***/ 5021:
40989/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
40990
40991"use strict";
40992
40993var ArrayBufferViewCore = __webpack_require__(260);
40994var toLength = __webpack_require__(7466);
40995var toAbsoluteIndex = __webpack_require__(1400);
40996var speciesConstructor = __webpack_require__(6707);
40997
40998var aTypedArray = ArrayBufferViewCore.aTypedArray;
40999var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
41000
41001// `%TypedArray%.prototype.subarray` method
41002// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray
41003exportTypedArrayMethod('subarray', function subarray(begin, end) {
41004  var O = aTypedArray(this);
41005  var length = O.length;
41006  var beginIndex = toAbsoluteIndex(begin, length);
41007  return new (speciesConstructor(O, O.constructor))(
41008    O.buffer,
41009    O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,
41010    toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)
41011  );
41012});
41013
41014
41015/***/ }),
41016
41017/***/ 2974:
41018/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
41019
41020"use strict";
41021
41022var global = __webpack_require__(7854);
41023var ArrayBufferViewCore = __webpack_require__(260);
41024var fails = __webpack_require__(7293);
41025
41026var Int8Array = global.Int8Array;
41027var aTypedArray = ArrayBufferViewCore.aTypedArray;
41028var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
41029var $toLocaleString = [].toLocaleString;
41030var $slice = [].slice;
41031
41032// iOS Safari 6.x fails here
41033var TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () {
41034  $toLocaleString.call(new Int8Array(1));
41035});
41036
41037var FORCED = fails(function () {
41038  return [1, 2].toLocaleString() != new Int8Array([1, 2]).toLocaleString();
41039}) || !fails(function () {
41040  Int8Array.prototype.toLocaleString.call([1, 2]);
41041});
41042
41043// `%TypedArray%.prototype.toLocaleString` method
41044// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring
41045exportTypedArrayMethod('toLocaleString', function toLocaleString() {
41046  return $toLocaleString.apply(TO_LOCALE_STRING_BUG ? $slice.call(aTypedArray(this)) : aTypedArray(this), arguments);
41047}, FORCED);
41048
41049
41050/***/ }),
41051
41052/***/ 5016:
41053/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
41054
41055"use strict";
41056
41057var exportTypedArrayMethod = __webpack_require__(260).exportTypedArrayMethod;
41058var fails = __webpack_require__(7293);
41059var global = __webpack_require__(7854);
41060
41061var Uint8Array = global.Uint8Array;
41062var Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};
41063var arrayToString = [].toString;
41064var arrayJoin = [].join;
41065
41066if (fails(function () { arrayToString.call({}); })) {
41067  arrayToString = function toString() {
41068    return arrayJoin.call(this);
41069  };
41070}
41071
41072var IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;
41073
41074// `%TypedArray%.prototype.toString` method
41075// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring
41076exportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);
41077
41078
41079/***/ }),
41080
41081/***/ 2472:
41082/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
41083
41084var createTypedArrayConstructor = __webpack_require__(9843);
41085
41086// `Uint8Array` constructor
41087// https://tc39.es/ecma262/#sec-typedarray-objects
41088createTypedArrayConstructor('Uint8', function (init) {
41089  return function Uint8Array(data, byteOffset, length) {
41090    return init(this, data, byteOffset, length);
41091  };
41092});
41093
41094
41095/***/ }),
41096
41097/***/ 4747:
41098/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
41099
41100var global = __webpack_require__(7854);
41101var DOMIterables = __webpack_require__(8324);
41102var forEach = __webpack_require__(8533);
41103var createNonEnumerableProperty = __webpack_require__(8880);
41104
41105for (var COLLECTION_NAME in DOMIterables) {
41106  var Collection = global[COLLECTION_NAME];
41107  var CollectionPrototype = Collection && Collection.prototype;
41108  // some Chrome versions have non-configurable methods on DOMTokenList
41109  if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {
41110    createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);
41111  } catch (error) {
41112    CollectionPrototype.forEach = forEach;
41113  }
41114}
41115
41116
41117/***/ }),
41118
41119/***/ 3948:
41120/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
41121
41122var global = __webpack_require__(7854);
41123var DOMIterables = __webpack_require__(8324);
41124var ArrayIteratorMethods = __webpack_require__(6992);
41125var createNonEnumerableProperty = __webpack_require__(8880);
41126var wellKnownSymbol = __webpack_require__(5112);
41127
41128var ITERATOR = wellKnownSymbol('iterator');
41129var TO_STRING_TAG = wellKnownSymbol('toStringTag');
41130var ArrayValues = ArrayIteratorMethods.values;
41131
41132for (var COLLECTION_NAME in DOMIterables) {
41133  var Collection = global[COLLECTION_NAME];
41134  var CollectionPrototype = Collection && Collection.prototype;
41135  if (CollectionPrototype) {
41136    // some Chrome versions have non-configurable methods on DOMTokenList
41137    if (CollectionPrototype[ITERATOR] !== ArrayValues) try {
41138      createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);
41139    } catch (error) {
41140      CollectionPrototype[ITERATOR] = ArrayValues;
41141    }
41142    if (!CollectionPrototype[TO_STRING_TAG]) {
41143      createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);
41144    }
41145    if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {
41146      // some Chrome versions have non-configurable methods on DOMTokenList
41147      if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {
41148        createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);
41149      } catch (error) {
41150        CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];
41151      }
41152    }
41153  }
41154}
41155
41156
41157/***/ }),
41158
41159/***/ 1637:
41160/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
41161
41162"use strict";
41163
41164// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
41165__webpack_require__(6992);
41166var $ = __webpack_require__(2109);
41167var getBuiltIn = __webpack_require__(5005);
41168var USE_NATIVE_URL = __webpack_require__(590);
41169var redefine = __webpack_require__(1320);
41170var redefineAll = __webpack_require__(2248);
41171var setToStringTag = __webpack_require__(8003);
41172var createIteratorConstructor = __webpack_require__(4994);
41173var InternalStateModule = __webpack_require__(9909);
41174var anInstance = __webpack_require__(5787);
41175var hasOwn = __webpack_require__(6656);
41176var bind = __webpack_require__(9974);
41177var classof = __webpack_require__(648);
41178var anObject = __webpack_require__(9670);
41179var isObject = __webpack_require__(111);
41180var create = __webpack_require__(30);
41181var createPropertyDescriptor = __webpack_require__(9114);
41182var getIterator = __webpack_require__(8554);
41183var getIteratorMethod = __webpack_require__(1246);
41184var wellKnownSymbol = __webpack_require__(5112);
41185
41186var $fetch = getBuiltIn('fetch');
41187var Headers = getBuiltIn('Headers');
41188var ITERATOR = wellKnownSymbol('iterator');
41189var URL_SEARCH_PARAMS = 'URLSearchParams';
41190var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';
41191var setInternalState = InternalStateModule.set;
41192var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);
41193var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);
41194
41195var plus = /\+/g;
41196var sequences = Array(4);
41197
41198var percentSequence = function (bytes) {
41199  return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\da-f]{2}){' + bytes + '})', 'gi'));
41200};
41201
41202var percentDecode = function (sequence) {
41203  try {
41204    return decodeURIComponent(sequence);
41205  } catch (error) {
41206    return sequence;
41207  }
41208};
41209
41210var deserialize = function (it) {
41211  var result = it.replace(plus, ' ');
41212  var bytes = 4;
41213  try {
41214    return decodeURIComponent(result);
41215  } catch (error) {
41216    while (bytes) {
41217      result = result.replace(percentSequence(bytes--), percentDecode);
41218    }
41219    return result;
41220  }
41221};
41222
41223var find = /[!'()~]|%20/g;
41224
41225var replace = {
41226  '!': '%21',
41227  "'": '%27',
41228  '(': '%28',
41229  ')': '%29',
41230  '~': '%7E',
41231  '%20': '+'
41232};
41233
41234var replacer = function (match) {
41235  return replace[match];
41236};
41237
41238var serialize = function (it) {
41239  return encodeURIComponent(it).replace(find, replacer);
41240};
41241
41242var parseSearchParams = function (result, query) {
41243  if (query) {
41244    var attributes = query.split('&');
41245    var index = 0;
41246    var attribute, entry;
41247    while (index < attributes.length) {
41248      attribute = attributes[index++];
41249      if (attribute.length) {
41250        entry = attribute.split('=');
41251        result.push({
41252          key: deserialize(entry.shift()),
41253          value: deserialize(entry.join('='))
41254        });
41255      }
41256    }
41257  }
41258};
41259
41260var updateSearchParams = function (query) {
41261  this.entries.length = 0;
41262  parseSearchParams(this.entries, query);
41263};
41264
41265var validateArgumentsLength = function (passed, required) {
41266  if (passed < required) throw TypeError('Not enough arguments');
41267};
41268
41269var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {
41270  setInternalState(this, {
41271    type: URL_SEARCH_PARAMS_ITERATOR,
41272    iterator: getIterator(getInternalParamsState(params).entries),
41273    kind: kind
41274  });
41275}, 'Iterator', function next() {
41276  var state = getInternalIteratorState(this);
41277  var kind = state.kind;
41278  var step = state.iterator.next();
41279  var entry = step.value;
41280  if (!step.done) {
41281    step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];
41282  } return step;
41283});
41284
41285// `URLSearchParams` constructor
41286// https://url.spec.whatwg.org/#interface-urlsearchparams
41287var URLSearchParamsConstructor = function URLSearchParams(/* init */) {
41288  anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);
41289  var init = arguments.length > 0 ? arguments[0] : undefined;
41290  var that = this;
41291  var entries = [];
41292  var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;
41293
41294  setInternalState(that, {
41295    type: URL_SEARCH_PARAMS,
41296    entries: entries,
41297    updateURL: function () { /* empty */ },
41298    updateSearchParams: updateSearchParams
41299  });
41300
41301  if (init !== undefined) {
41302    if (isObject(init)) {
41303      iteratorMethod = getIteratorMethod(init);
41304      if (typeof iteratorMethod === 'function') {
41305        iterator = iteratorMethod.call(init);
41306        next = iterator.next;
41307        while (!(step = next.call(iterator)).done) {
41308          entryIterator = getIterator(anObject(step.value));
41309          entryNext = entryIterator.next;
41310          if (
41311            (first = entryNext.call(entryIterator)).done ||
41312            (second = entryNext.call(entryIterator)).done ||
41313            !entryNext.call(entryIterator).done
41314          ) throw TypeError('Expected sequence with length 2');
41315          entries.push({ key: first.value + '', value: second.value + '' });
41316        }
41317      } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });
41318    } else {
41319      parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');
41320    }
41321  }
41322};
41323
41324var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;
41325
41326redefineAll(URLSearchParamsPrototype, {
41327  // `URLSearchParams.prototype.append` method
41328  // https://url.spec.whatwg.org/#dom-urlsearchparams-append
41329  append: function append(name, value) {
41330    validateArgumentsLength(arguments.length, 2);
41331    var state = getInternalParamsState(this);
41332    state.entries.push({ key: name + '', value: value + '' });
41333    state.updateURL();
41334  },
41335  // `URLSearchParams.prototype.delete` method
41336  // https://url.spec.whatwg.org/#dom-urlsearchparams-delete
41337  'delete': function (name) {
41338    validateArgumentsLength(arguments.length, 1);
41339    var state = getInternalParamsState(this);
41340    var entries = state.entries;
41341    var key = name + '';
41342    var index = 0;
41343    while (index < entries.length) {
41344      if (entries[index].key === key) entries.splice(index, 1);
41345      else index++;
41346    }
41347    state.updateURL();
41348  },
41349  // `URLSearchParams.prototype.get` method
41350  // https://url.spec.whatwg.org/#dom-urlsearchparams-get
41351  get: function get(name) {
41352    validateArgumentsLength(arguments.length, 1);
41353    var entries = getInternalParamsState(this).entries;
41354    var key = name + '';
41355    var index = 0;
41356    for (; index < entries.length; index++) {
41357      if (entries[index].key === key) return entries[index].value;
41358    }
41359    return null;
41360  },
41361  // `URLSearchParams.prototype.getAll` method
41362  // https://url.spec.whatwg.org/#dom-urlsearchparams-getall
41363  getAll: function getAll(name) {
41364    validateArgumentsLength(arguments.length, 1);
41365    var entries = getInternalParamsState(this).entries;
41366    var key = name + '';
41367    var result = [];
41368    var index = 0;
41369    for (; index < entries.length; index++) {
41370      if (entries[index].key === key) result.push(entries[index].value);
41371    }
41372    return result;
41373  },
41374  // `URLSearchParams.prototype.has` method
41375  // https://url.spec.whatwg.org/#dom-urlsearchparams-has
41376  has: function has(name) {
41377    validateArgumentsLength(arguments.length, 1);
41378    var entries = getInternalParamsState(this).entries;
41379    var key = name + '';
41380    var index = 0;
41381    while (index < entries.length) {
41382      if (entries[index++].key === key) return true;
41383    }
41384    return false;
41385  },
41386  // `URLSearchParams.prototype.set` method
41387  // https://url.spec.whatwg.org/#dom-urlsearchparams-set
41388  set: function set(name, value) {
41389    validateArgumentsLength(arguments.length, 1);
41390    var state = getInternalParamsState(this);
41391    var entries = state.entries;
41392    var found = false;
41393    var key = name + '';
41394    var val = value + '';
41395    var index = 0;
41396    var entry;
41397    for (; index < entries.length; index++) {
41398      entry = entries[index];
41399      if (entry.key === key) {
41400        if (found) entries.splice(index--, 1);
41401        else {
41402          found = true;
41403          entry.value = val;
41404        }
41405      }
41406    }
41407    if (!found) entries.push({ key: key, value: val });
41408    state.updateURL();
41409  },
41410  // `URLSearchParams.prototype.sort` method
41411  // https://url.spec.whatwg.org/#dom-urlsearchparams-sort
41412  sort: function sort() {
41413    var state = getInternalParamsState(this);
41414    var entries = state.entries;
41415    // Array#sort is not stable in some engines
41416    var slice = entries.slice();
41417    var entry, entriesIndex, sliceIndex;
41418    entries.length = 0;
41419    for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {
41420      entry = slice[sliceIndex];
41421      for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {
41422        if (entries[entriesIndex].key > entry.key) {
41423          entries.splice(entriesIndex, 0, entry);
41424          break;
41425        }
41426      }
41427      if (entriesIndex === sliceIndex) entries.push(entry);
41428    }
41429    state.updateURL();
41430  },
41431  // `URLSearchParams.prototype.forEach` method
41432  forEach: function forEach(callback /* , thisArg */) {
41433    var entries = getInternalParamsState(this).entries;
41434    var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);
41435    var index = 0;
41436    var entry;
41437    while (index < entries.length) {
41438      entry = entries[index++];
41439      boundFunction(entry.value, entry.key, this);
41440    }
41441  },
41442  // `URLSearchParams.prototype.keys` method
41443  keys: function keys() {
41444    return new URLSearchParamsIterator(this, 'keys');
41445  },
41446  // `URLSearchParams.prototype.values` method
41447  values: function values() {
41448    return new URLSearchParamsIterator(this, 'values');
41449  },
41450  // `URLSearchParams.prototype.entries` method
41451  entries: function entries() {
41452    return new URLSearchParamsIterator(this, 'entries');
41453  }
41454}, { enumerable: true });
41455
41456// `URLSearchParams.prototype[@@iterator]` method
41457redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);
41458
41459// `URLSearchParams.prototype.toString` method
41460// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior
41461redefine(URLSearchParamsPrototype, 'toString', function toString() {
41462  var entries = getInternalParamsState(this).entries;
41463  var result = [];
41464  var index = 0;
41465  var entry;
41466  while (index < entries.length) {
41467    entry = entries[index++];
41468    result.push(serialize(entry.key) + '=' + serialize(entry.value));
41469  } return result.join('&');
41470}, { enumerable: true });
41471
41472setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);
41473
41474$({ global: true, forced: !USE_NATIVE_URL }, {
41475  URLSearchParams: URLSearchParamsConstructor
41476});
41477
41478// Wrap `fetch` for correct work with polyfilled `URLSearchParams`
41479// https://github.com/zloirock/core-js/issues/674
41480if (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {
41481  $({ global: true, enumerable: true, forced: true }, {
41482    fetch: function fetch(input /* , init */) {
41483      var args = [input];
41484      var init, body, headers;
41485      if (arguments.length > 1) {
41486        init = arguments[1];
41487        if (isObject(init)) {
41488          body = init.body;
41489          if (classof(body) === URL_SEARCH_PARAMS) {
41490            headers = init.headers ? new Headers(init.headers) : new Headers();
41491            if (!headers.has('content-type')) {
41492              headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');
41493            }
41494            init = create(init, {
41495              body: createPropertyDescriptor(0, String(body)),
41496              headers: createPropertyDescriptor(0, headers)
41497            });
41498          }
41499        }
41500        args.push(init);
41501      } return $fetch.apply(this, args);
41502    }
41503  });
41504}
41505
41506module.exports = {
41507  URLSearchParams: URLSearchParamsConstructor,
41508  getState: getInternalParamsState
41509};
41510
41511
41512/***/ }),
41513
41514/***/ 285:
41515/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
41516
41517"use strict";
41518
41519// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
41520__webpack_require__(8783);
41521var $ = __webpack_require__(2109);
41522var DESCRIPTORS = __webpack_require__(9781);
41523var USE_NATIVE_URL = __webpack_require__(590);
41524var global = __webpack_require__(7854);
41525var defineProperties = __webpack_require__(6048);
41526var redefine = __webpack_require__(1320);
41527var anInstance = __webpack_require__(5787);
41528var has = __webpack_require__(6656);
41529var assign = __webpack_require__(1574);
41530var arrayFrom = __webpack_require__(8457);
41531var codeAt = __webpack_require__(8710).codeAt;
41532var toASCII = __webpack_require__(3197);
41533var setToStringTag = __webpack_require__(8003);
41534var URLSearchParamsModule = __webpack_require__(1637);
41535var InternalStateModule = __webpack_require__(9909);
41536
41537var NativeURL = global.URL;
41538var URLSearchParams = URLSearchParamsModule.URLSearchParams;
41539var getInternalSearchParamsState = URLSearchParamsModule.getState;
41540var setInternalState = InternalStateModule.set;
41541var getInternalURLState = InternalStateModule.getterFor('URL');
41542var floor = Math.floor;
41543var pow = Math.pow;
41544
41545var INVALID_AUTHORITY = 'Invalid authority';
41546var INVALID_SCHEME = 'Invalid scheme';
41547var INVALID_HOST = 'Invalid host';
41548var INVALID_PORT = 'Invalid port';
41549
41550var ALPHA = /[A-Za-z]/;
41551var ALPHANUMERIC = /[\d+-.A-Za-z]/;
41552var DIGIT = /\d/;
41553var HEX_START = /^(0x|0X)/;
41554var OCT = /^[0-7]+$/;
41555var DEC = /^\d+$/;
41556var HEX = /^[\dA-Fa-f]+$/;
41557/* eslint-disable no-control-regex -- safe */
41558var FORBIDDEN_HOST_CODE_POINT = /[\u0000\t\u000A\u000D #%/:?@[\\]]/;
41559var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\u0000\t\u000A\u000D #/:?@[\\]]/;
41560var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g;
41561var TAB_AND_NEW_LINE = /[\t\u000A\u000D]/g;
41562/* eslint-enable no-control-regex -- safe */
41563var EOF;
41564
41565var parseHost = function (url, input) {
41566  var result, codePoints, index;
41567  if (input.charAt(0) == '[') {
41568    if (input.charAt(input.length - 1) != ']') return INVALID_HOST;
41569    result = parseIPv6(input.slice(1, -1));
41570    if (!result) return INVALID_HOST;
41571    url.host = result;
41572  // opaque host
41573  } else if (!isSpecial(url)) {
41574    if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;
41575    result = '';
41576    codePoints = arrayFrom(input);
41577    for (index = 0; index < codePoints.length; index++) {
41578      result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);
41579    }
41580    url.host = result;
41581  } else {
41582    input = toASCII(input);
41583    if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;
41584    result = parseIPv4(input);
41585    if (result === null) return INVALID_HOST;
41586    url.host = result;
41587  }
41588};
41589
41590var parseIPv4 = function (input) {
41591  var parts = input.split('.');
41592  var partsLength, numbers, index, part, radix, number, ipv4;
41593  if (parts.length && parts[parts.length - 1] == '') {
41594    parts.pop();
41595  }
41596  partsLength = parts.length;
41597  if (partsLength > 4) return input;
41598  numbers = [];
41599  for (index = 0; index < partsLength; index++) {
41600    part = parts[index];
41601    if (part == '') return input;
41602    radix = 10;
41603    if (part.length > 1 && part.charAt(0) == '0') {
41604      radix = HEX_START.test(part) ? 16 : 8;
41605      part = part.slice(radix == 8 ? 1 : 2);
41606    }
41607    if (part === '') {
41608      number = 0;
41609    } else {
41610      if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;
41611      number = parseInt(part, radix);
41612    }
41613    numbers.push(number);
41614  }
41615  for (index = 0; index < partsLength; index++) {
41616    number = numbers[index];
41617    if (index == partsLength - 1) {
41618      if (number >= pow(256, 5 - partsLength)) return null;
41619    } else if (number > 255) return null;
41620  }
41621  ipv4 = numbers.pop();
41622  for (index = 0; index < numbers.length; index++) {
41623    ipv4 += numbers[index] * pow(256, 3 - index);
41624  }
41625  return ipv4;
41626};
41627
41628// eslint-disable-next-line max-statements -- TODO
41629var parseIPv6 = function (input) {
41630  var address = [0, 0, 0, 0, 0, 0, 0, 0];
41631  var pieceIndex = 0;
41632  var compress = null;
41633  var pointer = 0;
41634  var value, length, numbersSeen, ipv4Piece, number, swaps, swap;
41635
41636  var char = function () {
41637    return input.charAt(pointer);
41638  };
41639
41640  if (char() == ':') {
41641    if (input.charAt(1) != ':') return;
41642    pointer += 2;
41643    pieceIndex++;
41644    compress = pieceIndex;
41645  }
41646  while (char()) {
41647    if (pieceIndex == 8) return;
41648    if (char() == ':') {
41649      if (compress !== null) return;
41650      pointer++;
41651      pieceIndex++;
41652      compress = pieceIndex;
41653      continue;
41654    }
41655    value = length = 0;
41656    while (length < 4 && HEX.test(char())) {
41657      value = value * 16 + parseInt(char(), 16);
41658      pointer++;
41659      length++;
41660    }
41661    if (char() == '.') {
41662      if (length == 0) return;
41663      pointer -= length;
41664      if (pieceIndex > 6) return;
41665      numbersSeen = 0;
41666      while (char()) {
41667        ipv4Piece = null;
41668        if (numbersSeen > 0) {
41669          if (char() == '.' && numbersSeen < 4) pointer++;
41670          else return;
41671        }
41672        if (!DIGIT.test(char())) return;
41673        while (DIGIT.test(char())) {
41674          number = parseInt(char(), 10);
41675          if (ipv4Piece === null) ipv4Piece = number;
41676          else if (ipv4Piece == 0) return;
41677          else ipv4Piece = ipv4Piece * 10 + number;
41678          if (ipv4Piece > 255) return;
41679          pointer++;
41680        }
41681        address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;
41682        numbersSeen++;
41683        if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;
41684      }
41685      if (numbersSeen != 4) return;
41686      break;
41687    } else if (char() == ':') {
41688      pointer++;
41689      if (!char()) return;
41690    } else if (char()) return;
41691    address[pieceIndex++] = value;
41692  }
41693  if (compress !== null) {
41694    swaps = pieceIndex - compress;
41695    pieceIndex = 7;
41696    while (pieceIndex != 0 && swaps > 0) {
41697      swap = address[pieceIndex];
41698      address[pieceIndex--] = address[compress + swaps - 1];
41699      address[compress + --swaps] = swap;
41700    }
41701  } else if (pieceIndex != 8) return;
41702  return address;
41703};
41704
41705var findLongestZeroSequence = function (ipv6) {
41706  var maxIndex = null;
41707  var maxLength = 1;
41708  var currStart = null;
41709  var currLength = 0;
41710  var index = 0;
41711  for (; index < 8; index++) {
41712    if (ipv6[index] !== 0) {
41713      if (currLength > maxLength) {
41714        maxIndex = currStart;
41715        maxLength = currLength;
41716      }
41717      currStart = null;
41718      currLength = 0;
41719    } else {
41720      if (currStart === null) currStart = index;
41721      ++currLength;
41722    }
41723  }
41724  if (currLength > maxLength) {
41725    maxIndex = currStart;
41726    maxLength = currLength;
41727  }
41728  return maxIndex;
41729};
41730
41731var serializeHost = function (host) {
41732  var result, index, compress, ignore0;
41733  // ipv4
41734  if (typeof host == 'number') {
41735    result = [];
41736    for (index = 0; index < 4; index++) {
41737      result.unshift(host % 256);
41738      host = floor(host / 256);
41739    } return result.join('.');
41740  // ipv6
41741  } else if (typeof host == 'object') {
41742    result = '';
41743    compress = findLongestZeroSequence(host);
41744    for (index = 0; index < 8; index++) {
41745      if (ignore0 && host[index] === 0) continue;
41746      if (ignore0) ignore0 = false;
41747      if (compress === index) {
41748        result += index ? ':' : '::';
41749        ignore0 = true;
41750      } else {
41751        result += host[index].toString(16);
41752        if (index < 7) result += ':';
41753      }
41754    }
41755    return '[' + result + ']';
41756  } return host;
41757};
41758
41759var C0ControlPercentEncodeSet = {};
41760var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {
41761  ' ': 1, '"': 1, '<': 1, '>': 1, '`': 1
41762});
41763var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {
41764  '#': 1, '?': 1, '{': 1, '}': 1
41765});
41766var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {
41767  '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\': 1, ']': 1, '^': 1, '|': 1
41768});
41769
41770var percentEncode = function (char, set) {
41771  var code = codeAt(char, 0);
41772  return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);
41773};
41774
41775var specialSchemes = {
41776  ftp: 21,
41777  file: null,
41778  http: 80,
41779  https: 443,
41780  ws: 80,
41781  wss: 443
41782};
41783
41784var isSpecial = function (url) {
41785  return has(specialSchemes, url.scheme);
41786};
41787
41788var includesCredentials = function (url) {
41789  return url.username != '' || url.password != '';
41790};
41791
41792var cannotHaveUsernamePasswordPort = function (url) {
41793  return !url.host || url.cannotBeABaseURL || url.scheme == 'file';
41794};
41795
41796var isWindowsDriveLetter = function (string, normalized) {
41797  var second;
41798  return string.length == 2 && ALPHA.test(string.charAt(0))
41799    && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));
41800};
41801
41802var startsWithWindowsDriveLetter = function (string) {
41803  var third;
41804  return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (
41805    string.length == 2 ||
41806    ((third = string.charAt(2)) === '/' || third === '\\' || third === '?' || third === '#')
41807  );
41808};
41809
41810var shortenURLsPath = function (url) {
41811  var path = url.path;
41812  var pathSize = path.length;
41813  if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {
41814    path.pop();
41815  }
41816};
41817
41818var isSingleDot = function (segment) {
41819  return segment === '.' || segment.toLowerCase() === '%2e';
41820};
41821
41822var isDoubleDot = function (segment) {
41823  segment = segment.toLowerCase();
41824  return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';
41825};
41826
41827// States:
41828var SCHEME_START = {};
41829var SCHEME = {};
41830var NO_SCHEME = {};
41831var SPECIAL_RELATIVE_OR_AUTHORITY = {};
41832var PATH_OR_AUTHORITY = {};
41833var RELATIVE = {};
41834var RELATIVE_SLASH = {};
41835var SPECIAL_AUTHORITY_SLASHES = {};
41836var SPECIAL_AUTHORITY_IGNORE_SLASHES = {};
41837var AUTHORITY = {};
41838var HOST = {};
41839var HOSTNAME = {};
41840var PORT = {};
41841var FILE = {};
41842var FILE_SLASH = {};
41843var FILE_HOST = {};
41844var PATH_START = {};
41845var PATH = {};
41846var CANNOT_BE_A_BASE_URL_PATH = {};
41847var QUERY = {};
41848var FRAGMENT = {};
41849
41850// eslint-disable-next-line max-statements -- TODO
41851var parseURL = function (url, input, stateOverride, base) {
41852  var state = stateOverride || SCHEME_START;
41853  var pointer = 0;
41854  var buffer = '';
41855  var seenAt = false;
vendor: 20,710 bytes, lines 41856-42474
41856  var seenBracket = false;
41857  var seenPasswordToken = false;
41858  var codePoints, char, bufferCodePoints, failure;
41859
41860  if (!stateOverride) {
41861    url.scheme = '';
41862    url.username = '';
41863    url.password = '';
41864    url.host = null;
41865    url.port = null;
41866    url.path = [];
41867    url.query = null;
41868    url.fragment = null;
41869    url.cannotBeABaseURL = false;
41870    input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');
41871  }
41872
41873  input = input.replace(TAB_AND_NEW_LINE, '');
41874
41875  codePoints = arrayFrom(input);
41876
41877  while (pointer <= codePoints.length) {
41878    char = codePoints[pointer];
41879    switch (state) {
41880      case SCHEME_START:
41881        if (char && ALPHA.test(char)) {
41882          buffer += char.toLowerCase();
41883          state = SCHEME;
41884        } else if (!stateOverride) {
41885          state = NO_SCHEME;
41886          continue;
41887        } else return INVALID_SCHEME;
41888        break;
41889
41890      case SCHEME:
41891        if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {
41892          buffer += char.toLowerCase();
41893        } else if (char == ':') {
41894          if (stateOverride && (
41895            (isSpecial(url) != has(specialSchemes, buffer)) ||
41896            (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||
41897            (url.scheme == 'file' && !url.host)
41898          )) return;
41899          url.scheme = buffer;
41900          if (stateOverride) {
41901            if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;
41902            return;
41903          }
41904          buffer = '';
41905          if (url.scheme == 'file') {
41906            state = FILE;
41907          } else if (isSpecial(url) && base && base.scheme == url.scheme) {
41908            state = SPECIAL_RELATIVE_OR_AUTHORITY;
41909          } else if (isSpecial(url)) {
41910            state = SPECIAL_AUTHORITY_SLASHES;
41911          } else if (codePoints[pointer + 1] == '/') {
41912            state = PATH_OR_AUTHORITY;
41913            pointer++;
41914          } else {
41915            url.cannotBeABaseURL = true;
41916            url.path.push('');
41917            state = CANNOT_BE_A_BASE_URL_PATH;
41918          }
41919        } else if (!stateOverride) {
41920          buffer = '';
41921          state = NO_SCHEME;
41922          pointer = 0;
41923          continue;
41924        } else return INVALID_SCHEME;
41925        break;
41926
41927      case NO_SCHEME:
41928        if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME;
41929        if (base.cannotBeABaseURL && char == '#') {
41930          url.scheme = base.scheme;
41931          url.path = base.path.slice();
41932          url.query = base.query;
41933          url.fragment = '';
41934          url.cannotBeABaseURL = true;
41935          state = FRAGMENT;
41936          break;
41937        }
41938        state = base.scheme == 'file' ? FILE : RELATIVE;
41939        continue;
41940
41941      case SPECIAL_RELATIVE_OR_AUTHORITY:
41942        if (char == '/' && codePoints[pointer + 1] == '/') {
41943          state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
41944          pointer++;
41945        } else {
41946          state = RELATIVE;
41947          continue;
41948        } break;
41949
41950      case PATH_OR_AUTHORITY:
41951        if (char == '/') {
41952          state = AUTHORITY;
41953          break;
41954        } else {
41955          state = PATH;
41956          continue;
41957        }
41958
41959      case RELATIVE:
41960        url.scheme = base.scheme;
41961        if (char == EOF) {
41962          url.username = base.username;
41963          url.password = base.password;
41964          url.host = base.host;
41965          url.port = base.port;
41966          url.path = base.path.slice();
41967          url.query = base.query;
41968        } else if (char == '/' || (char == '\\' && isSpecial(url))) {
41969          state = RELATIVE_SLASH;
41970        } else if (char == '?') {
41971          url.username = base.username;
41972          url.password = base.password;
41973          url.host = base.host;
41974          url.port = base.port;
41975          url.path = base.path.slice();
41976          url.query = '';
41977          state = QUERY;
41978        } else if (char == '#') {
41979          url.username = base.username;
41980          url.password = base.password;
41981          url.host = base.host;
41982          url.port = base.port;
41983          url.path = base.path.slice();
41984          url.query = base.query;
41985          url.fragment = '';
41986          state = FRAGMENT;
41987        } else {
41988          url.username = base.username;
41989          url.password = base.password;
41990          url.host = base.host;
41991          url.port = base.port;
41992          url.path = base.path.slice();
41993          url.path.pop();
41994          state = PATH;
41995          continue;
41996        } break;
41997
41998      case RELATIVE_SLASH:
41999        if (isSpecial(url) && (char == '/' || char == '\\')) {
42000          state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
42001        } else if (char == '/') {
42002          state = AUTHORITY;
42003        } else {
42004          url.username = base.username;
42005          url.password = base.password;
42006          url.host = base.host;
42007          url.port = base.port;
42008          state = PATH;
42009          continue;
42010        } break;
42011
42012      case SPECIAL_AUTHORITY_SLASHES:
42013        state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
42014        if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;
42015        pointer++;
42016        break;
42017
42018      case SPECIAL_AUTHORITY_IGNORE_SLASHES:
42019        if (char != '/' && char != '\\') {
42020          state = AUTHORITY;
42021          continue;
42022        } break;
42023
42024      case AUTHORITY:
42025        if (char == '@') {
42026          if (seenAt) buffer = '%40' + buffer;
42027          seenAt = true;
42028          bufferCodePoints = arrayFrom(buffer);
42029          for (var i = 0; i < bufferCodePoints.length; i++) {
42030            var codePoint = bufferCodePoints[i];
42031            if (codePoint == ':' && !seenPasswordToken) {
42032              seenPasswordToken = true;
42033              continue;
42034            }
42035            var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);
42036            if (seenPasswordToken) url.password += encodedCodePoints;
42037            else url.username += encodedCodePoints;
42038          }
42039          buffer = '';
42040        } else if (
42041          char == EOF || char == '/' || char == '?' || char == '#' ||
42042          (char == '\\' && isSpecial(url))
42043        ) {
42044          if (seenAt && buffer == '') return INVALID_AUTHORITY;
42045          pointer -= arrayFrom(buffer).length + 1;
42046          buffer = '';
42047          state = HOST;
42048        } else buffer += char;
42049        break;
42050
42051      case HOST:
42052      case HOSTNAME:
42053        if (stateOverride && url.scheme == 'file') {
42054          state = FILE_HOST;
42055          continue;
42056        } else if (char == ':' && !seenBracket) {
42057          if (buffer == '') return INVALID_HOST;
42058          failure = parseHost(url, buffer);
42059          if (failure) return failure;
42060          buffer = '';
42061          state = PORT;
42062          if (stateOverride == HOSTNAME) return;
42063        } else if (
42064          char == EOF || char == '/' || char == '?' || char == '#' ||
42065          (char == '\\' && isSpecial(url))
42066        ) {
42067          if (isSpecial(url) && buffer == '') return INVALID_HOST;
42068          if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;
42069          failure = parseHost(url, buffer);
42070          if (failure) return failure;
42071          buffer = '';
42072          state = PATH_START;
42073          if (stateOverride) return;
42074          continue;
42075        } else {
42076          if (char == '[') seenBracket = true;
42077          else if (char == ']') seenBracket = false;
42078          buffer += char;
42079        } break;
42080
42081      case PORT:
42082        if (DIGIT.test(char)) {
42083          buffer += char;
42084        } else if (
42085          char == EOF || char == '/' || char == '?' || char == '#' ||
42086          (char == '\\' && isSpecial(url)) ||
42087          stateOverride
42088        ) {
42089          if (buffer != '') {
42090            var port = parseInt(buffer, 10);
42091            if (port > 0xFFFF) return INVALID_PORT;
42092            url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;
42093            buffer = '';
42094          }
42095          if (stateOverride) return;
42096          state = PATH_START;
42097          continue;
42098        } else return INVALID_PORT;
42099        break;
42100
42101      case FILE:
42102        url.scheme = 'file';
42103        if (char == '/' || char == '\\') state = FILE_SLASH;
42104        else if (base && base.scheme == 'file') {
42105          if (char == EOF) {
42106            url.host = base.host;
42107            url.path = base.path.slice();
42108            url.query = base.query;
42109          } else if (char == '?') {
42110            url.host = base.host;
42111            url.path = base.path.slice();
42112            url.query = '';
42113            state = QUERY;
42114          } else if (char == '#') {
42115            url.host = base.host;
42116            url.path = base.path.slice();
42117            url.query = base.query;
42118            url.fragment = '';
42119            state = FRAGMENT;
42120          } else {
42121            if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {
42122              url.host = base.host;
42123              url.path = base.path.slice();
42124              shortenURLsPath(url);
42125            }
42126            state = PATH;
42127            continue;
42128          }
42129        } else {
42130          state = PATH;
42131          continue;
42132        } break;
42133
42134      case FILE_SLASH:
42135        if (char == '/' || char == '\\') {
42136          state = FILE_HOST;
42137          break;
42138        }
42139        if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {
42140          if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);
42141          else url.host = base.host;
42142        }
42143        state = PATH;
42144        continue;
42145
42146      case FILE_HOST:
42147        if (char == EOF || char == '/' || char == '\\' || char == '?' || char == '#') {
42148          if (!stateOverride && isWindowsDriveLetter(buffer)) {
42149            state = PATH;
42150          } else if (buffer == '') {
42151            url.host = '';
42152            if (stateOverride) return;
42153            state = PATH_START;
42154          } else {
42155            failure = parseHost(url, buffer);
42156            if (failure) return failure;
42157            if (url.host == 'localhost') url.host = '';
42158            if (stateOverride) return;
42159            buffer = '';
42160            state = PATH_START;
42161          } continue;
42162        } else buffer += char;
42163        break;
42164
42165      case PATH_START:
42166        if (isSpecial(url)) {
42167          state = PATH;
42168          if (char != '/' && char != '\\') continue;
42169        } else if (!stateOverride && char == '?') {
42170          url.query = '';
42171          state = QUERY;
42172        } else if (!stateOverride && char == '#') {
42173          url.fragment = '';
42174          state = FRAGMENT;
42175        } else if (char != EOF) {
42176          state = PATH;
42177          if (char != '/') continue;
42178        } break;
42179
42180      case PATH:
42181        if (
42182          char == EOF || char == '/' ||
42183          (char == '\\' && isSpecial(url)) ||
42184          (!stateOverride && (char == '?' || char == '#'))
42185        ) {
42186          if (isDoubleDot(buffer)) {
42187            shortenURLsPath(url);
42188            if (char != '/' && !(char == '\\' && isSpecial(url))) {
42189              url.path.push('');
42190            }
42191          } else if (isSingleDot(buffer)) {
42192            if (char != '/' && !(char == '\\' && isSpecial(url))) {
42193              url.path.push('');
42194            }
42195          } else {
42196            if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {
42197              if (url.host) url.host = '';
42198              buffer = buffer.charAt(0) + ':'; // normalize windows drive letter
42199            }
42200            url.path.push(buffer);
42201          }
42202          buffer = '';
42203          if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {
42204            while (url.path.length > 1 && url.path[0] === '') {
42205              url.path.shift();
42206            }
42207          }
42208          if (char == '?') {
42209            url.query = '';
42210            state = QUERY;
42211          } else if (char == '#') {
42212            url.fragment = '';
42213            state = FRAGMENT;
42214          }
42215        } else {
42216          buffer += percentEncode(char, pathPercentEncodeSet);
42217        } break;
42218
42219      case CANNOT_BE_A_BASE_URL_PATH:
42220        if (char == '?') {
42221          url.query = '';
42222          state = QUERY;
42223        } else if (char == '#') {
42224          url.fragment = '';
42225          state = FRAGMENT;
42226        } else if (char != EOF) {
42227          url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);
42228        } break;
42229
42230      case QUERY:
42231        if (!stateOverride && char == '#') {
42232          url.fragment = '';
42233          state = FRAGMENT;
42234        } else if (char != EOF) {
42235          if (char == "'" && isSpecial(url)) url.query += '%27';
42236          else if (char == '#') url.query += '%23';
42237          else url.query += percentEncode(char, C0ControlPercentEncodeSet);
42238        } break;
42239
42240      case FRAGMENT:
42241        if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);
42242        break;
42243    }
42244
42245    pointer++;
42246  }
42247};
42248
42249// `URL` constructor
42250// https://url.spec.whatwg.org/#url-class
42251var URLConstructor = function URL(url /* , base */) {
42252  var that = anInstance(this, URLConstructor, 'URL');
42253  var base = arguments.length > 1 ? arguments[1] : undefined;
42254  var urlString = String(url);
42255  var state = setInternalState(that, { type: 'URL' });
42256  var baseState, failure;
42257  if (base !== undefined) {
42258    if (base instanceof URLConstructor) baseState = getInternalURLState(base);
42259    else {
42260      failure = parseURL(baseState = {}, String(base));
42261      if (failure) throw TypeError(failure);
42262    }
42263  }
42264  failure = parseURL(state, urlString, null, baseState);
42265  if (failure) throw TypeError(failure);
42266  var searchParams = state.searchParams = new URLSearchParams();
42267  var searchParamsState = getInternalSearchParamsState(searchParams);
42268  searchParamsState.updateSearchParams(state.query);
42269  searchParamsState.updateURL = function () {
42270    state.query = String(searchParams) || null;
42271  };
42272  if (!DESCRIPTORS) {
42273    that.href = serializeURL.call(that);
42274    that.origin = getOrigin.call(that);
42275    that.protocol = getProtocol.call(that);
42276    that.username = getUsername.call(that);
42277    that.password = getPassword.call(that);
42278    that.host = getHost.call(that);
42279    that.hostname = getHostname.call(that);
42280    that.port = getPort.call(that);
42281    that.pathname = getPathname.call(that);
42282    that.search = getSearch.call(that);
42283    that.searchParams = getSearchParams.call(that);
42284    that.hash = getHash.call(that);
42285  }
42286};
42287
42288var URLPrototype = URLConstructor.prototype;
42289
42290var serializeURL = function () {
42291  var url = getInternalURLState(this);
42292  var scheme = url.scheme;
42293  var username = url.username;
42294  var password = url.password;
42295  var host = url.host;
42296  var port = url.port;
42297  var path = url.path;
42298  var query = url.query;
42299  var fragment = url.fragment;
42300  var output = scheme + ':';
42301  if (host !== null) {
42302    output += '//';
42303    if (includesCredentials(url)) {
42304      output += username + (password ? ':' + password : '') + '@';
42305    }
42306    output += serializeHost(host);
42307    if (port !== null) output += ':' + port;
42308  } else if (scheme == 'file') output += '//';
42309  output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';
42310  if (query !== null) output += '?' + query;
42311  if (fragment !== null) output += '#' + fragment;
42312  return output;
42313};
42314
42315var getOrigin = function () {
42316  var url = getInternalURLState(this);
42317  var scheme = url.scheme;
42318  var port = url.port;
42319  if (scheme == 'blob') try {
42320    return new URL(scheme.path[0]).origin;
42321  } catch (error) {
42322    return 'null';
42323  }
42324  if (scheme == 'file' || !isSpecial(url)) return 'null';
42325  return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');
42326};
42327
42328var getProtocol = function () {
42329  return getInternalURLState(this).scheme + ':';
42330};
42331
42332var getUsername = function () {
42333  return getInternalURLState(this).username;
42334};
42335
42336var getPassword = function () {
42337  return getInternalURLState(this).password;
42338};
42339
42340var getHost = function () {
42341  var url = getInternalURLState(this);
42342  var host = url.host;
42343  var port = url.port;
42344  return host === null ? ''
42345    : port === null ? serializeHost(host)
42346    : serializeHost(host) + ':' + port;
42347};
42348
42349var getHostname = function () {
42350  var host = getInternalURLState(this).host;
42351  return host === null ? '' : serializeHost(host);
42352};
42353
42354var getPort = function () {
42355  var port = getInternalURLState(this).port;
42356  return port === null ? '' : String(port);
42357};
42358
42359var getPathname = function () {
42360  var url = getInternalURLState(this);
42361  var path = url.path;
42362  return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';
42363};
42364
42365var getSearch = function () {
42366  var query = getInternalURLState(this).query;
42367  return query ? '?' + query : '';
42368};
42369
42370var getSearchParams = function () {
42371  return getInternalURLState(this).searchParams;
42372};
42373
42374var getHash = function () {
42375  var fragment = getInternalURLState(this).fragment;
42376  return fragment ? '#' + fragment : '';
42377};
42378
42379var accessorDescriptor = function (getter, setter) {
42380  return { get: getter, set: setter, configurable: true, enumerable: true };
42381};
42382
42383if (DESCRIPTORS) {
42384  defineProperties(URLPrototype, {
42385    // `URL.prototype.href` accessors pair
42386    // https://url.spec.whatwg.org/#dom-url-href
42387    href: accessorDescriptor(serializeURL, function (href) {
42388      var url = getInternalURLState(this);
42389      var urlString = String(href);
42390      var failure = parseURL(url, urlString);
42391      if (failure) throw TypeError(failure);
42392      getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);
42393    }),
42394    // `URL.prototype.origin` getter
42395    // https://url.spec.whatwg.org/#dom-url-origin
42396    origin: accessorDescriptor(getOrigin),
42397    // `URL.prototype.protocol` accessors pair
42398    // https://url.spec.whatwg.org/#dom-url-protocol
42399    protocol: accessorDescriptor(getProtocol, function (protocol) {
42400      var url = getInternalURLState(this);
42401      parseURL(url, String(protocol) + ':', SCHEME_START);
42402    }),
42403    // `URL.prototype.username` accessors pair
42404    // https://url.spec.whatwg.org/#dom-url-username
42405    username: accessorDescriptor(getUsername, function (username) {
42406      var url = getInternalURLState(this);
42407      var codePoints = arrayFrom(String(username));
42408      if (cannotHaveUsernamePasswordPort(url)) return;
42409      url.username = '';
42410      for (var i = 0; i < codePoints.length; i++) {
42411        url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);
42412      }
42413    }),
42414    // `URL.prototype.password` accessors pair
42415    // https://url.spec.whatwg.org/#dom-url-password
42416    password: accessorDescriptor(getPassword, function (password) {
42417      var url = getInternalURLState(this);
42418      var codePoints = arrayFrom(String(password));
42419      if (cannotHaveUsernamePasswordPort(url)) return;
42420      url.password = '';
42421      for (var i = 0; i < codePoints.length; i++) {
42422        url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);
42423      }
42424    }),
42425    // `URL.prototype.host` accessors pair
42426    // https://url.spec.whatwg.org/#dom-url-host
42427    host: accessorDescriptor(getHost, function (host) {
42428      var url = getInternalURLState(this);
42429      if (url.cannotBeABaseURL) return;
42430      parseURL(url, String(host), HOST);
42431    }),
42432    // `URL.prototype.hostname` accessors pair
42433    // https://url.spec.whatwg.org/#dom-url-hostname
42434    hostname: accessorDescriptor(getHostname, function (hostname) {
42435      var url = getInternalURLState(this);
42436      if (url.cannotBeABaseURL) return;
42437      parseURL(url, String(hostname), HOSTNAME);
42438    }),
42439    // `URL.prototype.port` accessors pair
42440    // https://url.spec.whatwg.org/#dom-url-port
42441    port: accessorDescriptor(getPort, function (port) {
42442      var url = getInternalURLState(this);
42443      if (cannotHaveUsernamePasswordPort(url)) return;
42444      port = String(port);
42445      if (port == '') url.port = null;
42446      else parseURL(url, port, PORT);
42447    }),
42448    // `URL.prototype.pathname` accessors pair
42449    // https://url.spec.whatwg.org/#dom-url-pathname
42450    pathname: accessorDescriptor(getPathname, function (pathname) {
42451      var url = getInternalURLState(this);
42452      if (url.cannotBeABaseURL) return;
42453      url.path = [];
42454      parseURL(url, pathname + '', PATH_START);
42455    }),
42456    // `URL.prototype.search` accessors pair
42457    // https://url.spec.whatwg.org/#dom-url-search
42458    search: accessorDescriptor(getSearch, function (search) {
42459      var url = getInternalURLState(this);
42460      search = String(search);
42461      if (search == '') {
42462        url.query = null;
42463      } else {
42464        if ('?' == search.charAt(0)) search = search.slice(1);
42465        url.query = '';
42466        parseURL(url, search, QUERY);
42467      }
42468      getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);
42469    }),
42470    // `URL.prototype.searchParams` getter
42471    // https://url.spec.whatwg.org/#dom-url-searchparams
42472    searchParams: accessorDescriptor(getSearchParams),
42473    // `URL.prototype.hash` accessors pair
42474    // https://url.spec.whatwg.org/#dom-url-hash
vendor: 13,774 bytes, lines 42475-42739
42475    hash: accessorDescriptor(getHash, function (hash) {
42476      var url = getInternalURLState(this);
42477      hash = String(hash);
42478      if (hash == '') {
42479        url.fragment = null;
42480        return;
42481      }
42482      if ('#' == hash.charAt(0)) hash = hash.slice(1);
42483      url.fragment = '';
42484      parseURL(url, hash, FRAGMENT);
42485    })
42486  });
42487}
42488
42489// `URL.prototype.toJSON` method
42490// https://url.spec.whatwg.org/#dom-url-tojson
42491redefine(URLPrototype, 'toJSON', function toJSON() {
42492  return serializeURL.call(this);
42493}, { enumerable: true });
42494
42495// `URL.prototype.toString` method
42496// https://url.spec.whatwg.org/#URL-stringification-behavior
42497redefine(URLPrototype, 'toString', function toString() {
42498  return serializeURL.call(this);
42499}, { enumerable: true });
42500
42501if (NativeURL) {
42502  var nativeCreateObjectURL = NativeURL.createObjectURL;
42503  var nativeRevokeObjectURL = NativeURL.revokeObjectURL;
42504  // `URL.createObjectURL` method
42505  // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL
42506  // eslint-disable-next-line no-unused-vars -- required for `.length`
42507  if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {
42508    return nativeCreateObjectURL.apply(NativeURL, arguments);
42509  });
42510  // `URL.revokeObjectURL` method
42511  // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL
42512  // eslint-disable-next-line no-unused-vars -- required for `.length`
42513  if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {
42514    return nativeRevokeObjectURL.apply(NativeURL, arguments);
42515  });
42516}
42517
42518setToStringTag(URLConstructor, 'URL');
42519
42520$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {
42521  URL: URLConstructor
42522});
42523
42524
42525/***/ })
42526
42527/******/ 	});
42528/************************************************************************/
42529/******/ 	// The module cache
42530/******/ 	var __webpack_module_cache__ = {};
42531/******/ 	
42532/******/ 	// The require function
42533/******/ 	function __webpack_require__(moduleId) {
42534/******/ 		// Check if module is in cache
42535/******/ 		if(__webpack_module_cache__[moduleId]) {
42536/******/ 			return __webpack_module_cache__[moduleId].exports;
42537/******/ 		}
42538/******/ 		// Create a new module (and put it into the cache)
42539/******/ 		var module = __webpack_module_cache__[moduleId] = {
42540/******/ 			// no module.id needed
42541/******/ 			// no module.loaded needed
42542/******/ 			exports: {}
42543/******/ 		};
42544/******/ 	
42545/******/ 		// Execute the module function
42546/******/ 		__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
42547/******/ 	
42548/******/ 		// Return the exports of the module
42549/******/ 		return module.exports;
42550/******/ 	}
42551/******/ 	
42552/************************************************************************/
42553/******/ 	/* webpack/runtime/define property getters */
42554/******/ 	!function() {
42555/******/ 		// define getter functions for harmony exports
42556/******/ 		__webpack_require__.d = function(exports, definition) {
42557/******/ 			for(var key in definition) {
42558/******/ 				if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
42559/******/ 					Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
42560/******/ 				}
42561/******/ 			}
42562/******/ 		};
42563/******/ 	}();
42564/******/ 	
42565/******/ 	/* webpack/runtime/global */
42566/******/ 	!function() {
42567/******/ 		__webpack_require__.g = (function() {
42568/******/ 			if (typeof globalThis === 'object') return globalThis;
42569/******/ 			try {
42570/******/ 				return this || new Function('return this')();
42571/******/ 			} catch (e) {
42572/******/ 				if (typeof window === 'object') return window;
42573/******/ 			}
42574/******/ 		})();
42575/******/ 	}();
42576/******/ 	
42577/******/ 	/* webpack/runtime/hasOwnProperty shorthand */
42578/******/ 	!function() {
42579/******/ 		__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
42580/******/ 	}();
42581/******/ 	
42582/******/ 	/* webpack/runtime/make namespace object */
42583/******/ 	!function() {
42584/******/ 		// define __esModule on exports
42585/******/ 		__webpack_require__.r = function(exports) {
42586/******/ 			if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
42587/******/ 				Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
42588/******/ 			}
42589/******/ 			Object.defineProperty(exports, '__esModule', { value: true });
42590/******/ 		};
42591/******/ 	}();
42592/******/ 	
42593/************************************************************************/
42594var __webpack_exports__ = {};
42595// This entry need to be wrapped in an IIFE because it need to be in strict mode.
42596!function() {
42597"use strict";
42598// ESM COMPAT FLAG
42599__webpack_require__.r(__webpack_exports__);
42600
42601// EXPORTS
42602__webpack_require__.d(__webpack_exports__, {
42603  "Dropzone": function() { return /* reexport */ Dropzone; },
42604  "default": function() { return /* binding */ dropzone_dist; }
42605});
42606
42607// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.concat.js
42608var es_array_concat = __webpack_require__(2222);
42609// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.filter.js
42610var es_array_filter = __webpack_require__(7327);
42611// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.index-of.js
42612var es_array_index_of = __webpack_require__(2772);
42613// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.iterator.js
42614var es_array_iterator = __webpack_require__(6992);
42615// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.map.js
42616var es_array_map = __webpack_require__(1249);
42617// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.slice.js
42618var es_array_slice = __webpack_require__(7042);
42619// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.splice.js
42620var es_array_splice = __webpack_require__(561);
42621// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array-buffer.constructor.js
42622var es_array_buffer_constructor = __webpack_require__(8264);
42623// EXTERNAL MODULE: ./node_modules/core-js/modules/es.function.name.js
42624var es_function_name = __webpack_require__(8309);
42625// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-prototype-of.js
42626var es_object_get_prototype_of = __webpack_require__(489);
42627// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.to-string.js
42628var es_object_to_string = __webpack_require__(1539);
42629// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.exec.js
42630var es_regexp_exec = __webpack_require__(4916);
42631// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.to-string.js
42632var es_regexp_to_string = __webpack_require__(9714);
42633// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.iterator.js
42634var es_string_iterator = __webpack_require__(8783);
42635// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.match.js
42636var es_string_match = __webpack_require__(4723);
42637// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.replace.js
42638var es_string_replace = __webpack_require__(5306);
42639// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.split.js
42640var es_string_split = __webpack_require__(3123);
42641// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.trim.js
42642var es_string_trim = __webpack_require__(3210);
42643// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.uint8-array.js
42644var es_typed_array_uint8_array = __webpack_require__(2472);
42645// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.copy-within.js
42646var es_typed_array_copy_within = __webpack_require__(2990);
42647// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.every.js
42648var es_typed_array_every = __webpack_require__(8927);
42649// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.fill.js
42650var es_typed_array_fill = __webpack_require__(3105);
42651// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.filter.js
42652var es_typed_array_filter = __webpack_require__(5035);
42653// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.find.js
42654var es_typed_array_find = __webpack_require__(4345);
42655// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.find-index.js
42656var es_typed_array_find_index = __webpack_require__(7174);
42657// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.for-each.js
42658var es_typed_array_for_each = __webpack_require__(2846);
42659// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.includes.js
42660var es_typed_array_includes = __webpack_require__(4731);
42661// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.index-of.js
42662var es_typed_array_index_of = __webpack_require__(7209);
42663// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.iterator.js
42664var es_typed_array_iterator = __webpack_require__(6319);
42665// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.join.js
42666var es_typed_array_join = __webpack_require__(8867);
42667// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.last-index-of.js
42668var es_typed_array_last_index_of = __webpack_require__(7789);
42669// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.map.js
42670var es_typed_array_map = __webpack_require__(3739);
42671// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.reduce.js
42672var es_typed_array_reduce = __webpack_require__(9368);
42673// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.reduce-right.js
42674var es_typed_array_reduce_right = __webpack_require__(4483);
42675// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.reverse.js
42676var es_typed_array_reverse = __webpack_require__(2056);
42677// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.set.js
42678var es_typed_array_set = __webpack_require__(3462);
42679// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.slice.js
42680var es_typed_array_slice = __webpack_require__(678);
42681// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.some.js
42682var es_typed_array_some = __webpack_require__(7462);
42683// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.sort.js
42684var es_typed_array_sort = __webpack_require__(3824);
42685// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.subarray.js
42686var es_typed_array_subarray = __webpack_require__(5021);
42687// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.to-locale-string.js
42688var es_typed_array_to_locale_string = __webpack_require__(2974);
42689// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.to-string.js
42690var es_typed_array_to_string = __webpack_require__(5016);
42691// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.for-each.js
42692var web_dom_collections_for_each = __webpack_require__(4747);
42693// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.iterator.js
42694var web_dom_collections_iterator = __webpack_require__(3948);
42695// EXTERNAL MODULE: ./node_modules/core-js/modules/web.url.js
42696var web_url = __webpack_require__(285);
42697;// CONCATENATED MODULE: ./src/emitter.js
42698
42699
42700function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
42701
42702function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
42703
42704function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
42705
42706function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
42707
42708function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
42709
42710function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
42711
42712// The Emitter class provides the ability to call `.on()` on Dropzone to listen
42713// to events.
42714// It is strongly based on component's emitter class, and I removed the
42715// functionality because of the dependency hell with different frameworks.
42716var Emitter = /*#__PURE__*/function () {
42717  function Emitter() {
42718    _classCallCheck(this, Emitter);
42719  }
42720
42721  _createClass(Emitter, [{
42722    key: "on",
42723    value: // Add an event listener for given event
42724    function on(event, fn) {
42725      this._callbacks = this._callbacks || {}; // Create namespace for this event
42726
42727      if (!this._callbacks[event]) {
42728        this._callbacks[event] = [];
42729      }
42730
42731      this._callbacks[event].push(fn);
42732
42733      return this;
42734    }
42735  }, {
42736    key: "emit",
42737    value: function emit(event) {
42738      this._callbacks = this._callbacks || {};
42739      var callbacks = this._callbacks[event];
42740
42741      for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
42742        args[_key - 1] = arguments[_key];
42743      }
42744
42745      if (callbacks) {
42746        var _iterator = _createForOfIteratorHelper(callbacks, true),
42747            _step;
42748
42749        try {
42750          for (_iterator.s(); !(_step = _iterator.n()).done;) {
42751            var callback = _step.value;
42752            callback.apply(this, args);
42753          }
42754        } catch (err) {
42755          _iterator.e(err);
42756        } finally {
42757          _iterator.f();
42758        }
42759      } // trigger a corresponding DOM event
42760
42761
42762      if (this.element) {
42763        this.element.dispatchEvent(this.makeEvent("dropzone:" + event, {
42764          args: args
42765        }));
42766      }
42767
42768      return this
vendor: 25,544 bytes, lines 42768-43453
42768;
42769    }
42770  }, {
42771    key: "makeEvent",
42772    value: function makeEvent(eventName, detail) {
42773      var params = {
42774        bubbles: true,
42775        cancelable: true,
42776        detail: detail
42777      };
42778
42779      if (typeof window.CustomEvent === "function") {
42780        return new CustomEvent(eventName, params);
42781      } else {
42782        // IE 11 support
42783        // https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent
42784        var evt = document.createEvent("CustomEvent");
42785        evt.initCustomEvent(eventName, params.bubbles, params.cancelable, params.detail);
42786        return evt;
42787      }
42788    } // Remove event listener for given event. If fn is not provided, all event
42789    // listeners for that event will be removed. If neither is provided, all
42790    // event listeners will be removed.
42791
42792  }, {
42793    key: "off",
42794    value: function off(event, fn) {
42795      if (!this._callbacks || arguments.length === 0) {
42796        this._callbacks = {};
42797        return this;
42798      } // specific event
42799
42800
42801      var callbacks = this._callbacks[event];
42802
42803      if (!callbacks) {
42804        return this;
42805      } // remove all handlers
42806
42807
42808      if (arguments.length === 1) {
42809        delete this._callbacks[event];
42810        return this;
42811      } // remove specific handler
42812
42813
42814      for (var i = 0; i < callbacks.length; i++) {
42815        var callback = callbacks[i];
42816
42817        if (callback === fn) {
42818          callbacks.splice(i, 1);
42819          break;
42820        }
42821      }
42822
42823      return this;
42824    }
42825  }]);
42826
42827  return Emitter;
42828}();
42829
42830
42831;// CONCATENATED MODULE: ./src/preview-template.html
42832// Module
42833var code = "<div class=\"dz-preview dz-file-preview\"> <div class=\"dz-image\"><img data-dz-thumbnail/></div> <div class=\"dz-details\"> <div class=\"dz-size\"><span data-dz-size></span></div> <div class=\"dz-filename\"><span data-dz-name></span></div> </div> <div class=\"dz-progress\"> <span class=\"dz-upload\" data-dz-uploadprogress></span> </div> <div class=\"dz-error-message\"><span data-dz-errormessage></span></div> <div class=\"dz-success-mark\"> <svg width=\"54px\" height=\"54px\" viewBox=\"0 0 54 54\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"> <title>Check</title> <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"> <path d=\"M23.5,31.8431458 L17.5852419,25.9283877 C16.0248253,24.3679711 13.4910294,24.366835 11.9289322,25.9289322 C10.3700136,27.4878508 10.3665912,30.0234455 11.9283877,31.5852419 L20.4147581,40.0716123 C20.5133999,40.1702541 20.6159315,40.2626649 20.7218615,40.3488435 C22.2835669,41.8725651 24.794234,41.8626202 26.3461564,40.3106978 L43.3106978,23.3461564 C44.8771021,21.7797521 44.8758057,19.2483887 43.3137085,17.6862915 C41.7547899,16.1273729 39.2176035,16.1255422 37.6538436,17.6893022 L23.5,31.8431458 Z M27,53 C41.3594035,53 53,41.3594035 53,27 C53,12.6405965 41.3594035,1 27,1 C12.6405965,1 1,12.6405965 1,27 C1,41.3594035 12.6405965,53 27,53 Z\" stroke-opacity=\"0.198794158\" stroke=\"#747474\" fill-opacity=\"0.816519475\" fill=\"#FFFFFF\"></path> </g> </svg> </div> <div class=\"dz-error-mark\"> <svg width=\"54px\" height=\"54px\" viewBox=\"0 0 54 54\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"> <title>Error</title> <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"> <g stroke=\"#747474\" stroke-opacity=\"0.198794158\" fill=\"#FFFFFF\" fill-opacity=\"0.816519475\"> <path d=\"M32.6568542,29 L38.3106978,23.3461564 C39.8771021,21.7797521 39.8758057,19.2483887 38.3137085,17.6862915 C36.7547899,16.1273729 34.2176035,16.1255422 32.6538436,17.6893022 L27,23.3431458 L21.3461564,17.6893022 C19.7823965,16.1255422 17.2452101,16.1273729 15.6862915,17.6862915 C14.1241943,19.2483887 14.1228979,21.7797521 15.6893022,23.3461564 L21.3431458,29 L15.6893022,34.6538436 C14.1228979,36.2202479 14.1241943,38.7516113 15.6862915,40.3137085 C17.2452101,41.8726271 19.7823965,41.8744578 21.3461564,40.3106978 L27,34.6568542 L32.6538436,40.3106978 C34.2176035,41.8744578 36.7547899,41.8726271 38.3137085,40.3137085 C39.8758057,38.7516113 39.8771021,36.2202479 38.3106978,34.6538436 L32.6568542,29 Z M27,53 C41.3594035,53 53,41.3594035 53,27 C53,12.6405965 41.3594035,1 27,1 C12.6405965,1 1,12.6405965 1,27 C1,41.3594035 12.6405965,53 27,53 Z\"></path> </g> </g> </svg> </div> </div> ";
42834// Exports
42835/* harmony default export */ var preview_template = (code);
42836;// CONCATENATED MODULE: ./src/options.js
42837
42838
42839
42840
42841
42842function options_createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = options_unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
42843
42844function options_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return options_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return options_arrayLikeToArray(o, minLen); }
42845
42846function options_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
42847
42848
42849
42850var defaultOptions = {
42851  /**
42852   * Has to be specified on elements other than form (or when the form
42853   * doesn't have an `action` attribute). You can also
42854   * provide a function that will be called with `files` and
42855   * must return the url (since `v3.12.0`)
42856   */
42857  url: null,
42858
42859  /**
42860   * Can be changed to `"put"` if necessary. You can also provide a function
42861   * that will be called with `files` and must return the method (since `v3.12.0`).
42862   */
42863  method: "post",
42864
42865  /**
42866   * Will be set on the XHRequest.
42867   */
42868  withCredentials: false,
42869
42870  /**
42871   * The timeout for the XHR requests in milliseconds (since `v4.4.0`).
42872   * If set to null or 0, no timeout is going to be set.
42873   */
42874  timeout: null,
42875
42876  /**
42877   * How many file uploads to process in parallel (See the
42878   * Enqueuing file uploads documentation section for more info)
42879   */
42880  parallelUploads: 2,
42881
42882  /**
42883   * Whether to send multiple files in one request. If
42884   * this it set to true, then the fallback file input element will
42885   * have the `multiple` attribute as well. This option will
42886   * also trigger additional events (like `processingmultiple`). See the events
42887   * documentation section for more information.
42888   */
42889  uploadMultiple: false,
42890
42891  /**
42892   * Whether you want files to be uploaded in chunks to your server. This can't be
42893   * used in combination with `uploadMultiple`.
42894   *
42895   * See [chunksUploaded](#config-chunksUploaded) for the callback to finalise an upload.
42896   */
42897  chunking: false,
42898
42899  /**
42900   * If `chunking` is enabled, this defines whether **every** file should be chunked,
42901   * even if the file size is below chunkSize. This means, that the additional chunk
42902   * form data will be submitted and the `chunksUploaded` callback will be invoked.
42903   */
42904  forceChunking: false,
42905
42906  /**
42907   * If `chunking` is `true`, then this defines the chunk size in bytes.
42908   */
42909  chunkSize: 2000000,
42910
42911  /**
42912   * If `true`, the individual chunks of a file are being uploaded simultaneously.
42913   */
42914  parallelChunkUploads: false,
42915
42916  /**
42917   * Whether a chunk should be retried if it fails.
42918   */
42919  retryChunks: false,
42920
42921  /**
42922   * If `retryChunks` is true, how many times should it be retried.
42923   */
42924  retryChunksLimit: 3,
42925
42926  /**
42927   * The maximum filesize (in bytes) that is allowed to be uploaded.
42928   */
42929  maxFilesize: 256,
42930
42931  /**
42932   * The name of the file param that gets transferred.
42933   * **NOTE**: If you have the option  `uploadMultiple` set to `true`, then
42934   * Dropzone will append `[]` to the name.
42935   */
42936  paramName: "file",
42937
42938  /**
42939   * Whether thumbnails for images should be generated
42940   */
42941  createImageThumbnails: true,
42942
42943  /**
42944   * In MB. When the filename exceeds this limit, the thumbnail will not be generated.
42945   */
42946  maxThumbnailFilesize: 10,
42947
42948  /**
42949   * If `null`, the ratio of the image will be used to calculate it.
42950   */
42951  thumbnailWidth: 120,
42952
42953  /**
42954   * The same as `thumbnailWidth`. If both are null, images will not be resized.
42955   */
42956  thumbnailHeight: 120,
42957
42958  /**
42959   * How the images should be scaled down in case both, `thumbnailWidth` and `thumbnailHeight` are provided.
42960   * Can be either `contain` or `crop`.
42961   */
42962  thumbnailMethod: "crop",
42963
42964  /**
42965   * If set, images will be resized to these dimensions before being **uploaded**.
42966   * If only one, `resizeWidth` **or** `resizeHeight` is provided, the original aspect
42967   * ratio of the file will be preserved.
42968   *
42969   * The `options.transformFile` function uses these options, so if the `transformFile` function
42970   * is overridden, these options don't do anything.
42971   */
42972  resizeWidth: null,
42973
42974  /**
42975   * See `resizeWidth`.
42976   */
42977  resizeHeight: null,
42978
42979  /**
42980   * The mime type of the resized image (before it gets uploaded to the server).
42981   * If `null` the original mime type will be used. To force jpeg, for example, use `image/jpeg`.
42982   * See `resizeWidth` for more information.
42983   */
42984  resizeMimeType: null,
42985
42986  /**
42987   * The quality of the resized images. See `resizeWidth`.
42988   */
42989  resizeQuality: 0.8,
42990
42991  /**
42992   * How the images should be scaled down in case both, `resizeWidth` and `resizeHeight` are provided.
42993   * Can be either `contain` or `crop`.
42994   */
42995  resizeMethod: "contain",
42996
42997  /**
42998   * The base that is used to calculate the **displayed** filesize. You can
42999   * change this to 1024 if you would rather display kibibytes, mebibytes,
43000   * etc... 1024 is technically incorrect, because `1024 bytes` are `1 kibibyte`
43001   * not `1 kilobyte`. You can change this to `1024` if you don't care about
43002   * validity.
43003   */
43004  filesizeBase: 1000,
43005
43006  /**
43007   * If not `null` defines how many files this Dropzone handles. If it exceeds,
43008   * the event `maxfilesexceeded` will be called. The dropzone element gets the
43009   * class `dz-max-files-reached` accordingly so you can provide visual
43010   * feedback.
43011   */
43012  maxFiles: null,
43013
43014  /**
43015   * An optional object to send additional headers to the server. Eg:
43016   * `{ "My-Awesome-Header": "header value" }`
43017   */
43018  headers: null,
43019
43020  /**
43021   * If `true`, the dropzone element itself will be clickable, if `false`
43022   * nothing will be clickable.
43023   *
43024   * You can also pass an HTML element, a CSS selector (for multiple elements)
43025   * or an array of those. In that case, all of those elements will trigger an
43026   * upload when clicked.
43027   */
43028  clickable: true,
43029
43030  /**
43031   * Whether hidden files in directories should be ignored.
43032   */
43033  ignoreHiddenFiles: true,
43034
43035  /**
43036   * The default implementation of `accept` checks the file's mime type or
43037   * extension against this list. This is a comma separated list of mime
43038   * types or file extensions.
43039   *
43040   * Eg.: `image/*,application/pdf,.psd`
43041   *
43042   * If the Dropzone is `clickable` this option will also be used as
43043   * [`accept`](https://developer.mozilla.org/en-US/docs/HTML/Element/input#attr-accept)
43044   * parameter on the hidden file input as well.
43045   */
43046  acceptedFiles: null,
43047
43048  /**
43049   * **Deprecated!**
43050   * Use acceptedFiles instead.
43051   */
43052  acceptedMimeTypes: null,
43053
43054  /**
43055   * If false, files will be added to the queue but the queue will not be
43056   * processed automatically.
43057   * This can be useful if you need some additional user input before sending
43058   * files (or if you want want all files sent at once).
43059   * If you're ready to send the file simply call `myDropzone.processQueue()`.
43060   *
43061   * See the [enqueuing file uploads](#enqueuing-file-uploads) documentation
43062   * section for more information.
43063   */
43064  autoProcessQueue: true,
43065
43066  /**
43067   * If false, files added to the dropzone will not be queued by default.
43068   * You'll have to call `enqueueFile(file)` manually.
43069   */
43070  autoQueue: true,
43071
43072  /**
43073   * If `true`, this will add a link to every file preview to remove or cancel (if
43074   * already uploading) the file. The `dictCancelUpload`, `dictCancelUploadConfirmation`
43075   * and `dictRemoveFile` options are used for the wording.
43076   */
43077  addRemoveLinks: false,
43078
43079  /**
43080   * Defines where to display the file previews – if `null` the
43081   * Dropzone element itself is used. Can be a plain `HTMLElement` or a CSS
43082   * selector. The element should have the `dropzone-previews` class so
43083   * the previews are displayed properly.
43084   */
43085  previewsContainer: null,
43086
43087  /**
43088   * Set this to `true` if you don't want previews to be shown.
43089   */
43090  disablePreviews: false,
43091
43092  /**
43093   * This is the element the hidden input field (which is used when clicking on the
43094   * dropzone to trigger file selection) will be appended to. This might
43095   * be important in case you use frameworks to switch the content of your page.
43096   *
43097   * Can be a selector string, or an element directly.
43098   */
43099  hiddenInputContainer: "body",
43100
43101  /**
43102   * If null, no capture type will be specified
43103   * If camera, mobile devices will skip the file selection and choose camera
43104   * If microphone, mobile devices will skip the file selection and choose the microphone
43105   * If camcorder, mobile devices will skip the file selection and choose the camera in video mode
43106   * On apple devices multiple must be set to false.  AcceptedFiles may need to
43107   * be set to an appropriate mime type (e.g. "image/*", "audio/*", or "video/*").
43108   */
43109  capture: null,
43110
43111  /**
43112   * **Deprecated**. Use `renameFile` instead.
43113   */
43114  renameFilename: null,
43115
43116  /**
43117   * A function that is invoked before the file is uploaded to the server and renames the file.
43118   * This function gets the `File` as argument and can use the `file.name`. The actual name of the
43119   * file that gets used during the upload can be accessed through `file.upload.filename`.
43120   */
43121  renameFile: null,
43122
43123  /**
43124   * If `true` the fallback will be forced. This is very useful to test your server
43125   * implementations first and make sure that everything works as
43126   * expected without dropzone if you experience problems, and to test
43127   * how your fallbacks will look.
43128   */
43129  forceFallback: false,
43130
43131  /**
43132   * The text used before any files are dropped.
43133   */
43134  dictDefaultMessage: "Drop files here to upload",
43135
43136  /**
43137   * The text that replaces the default message text it the browser is not supported.
43138   */
43139  dictFallbackMessage: "Your browser does not support drag'n'drop file uploads.",
43140
43141  /**
43142   * The text that will be added before the fallback form.
43143   * If you provide a  fallback element yourself, or if this option is `null` this will
43144   * be ignored.
43145   */
43146  dictFallbackText: "Please use the fallback form below to upload your files like in the olden days.",
43147
43148  /**
43149   * If the filesize is too big.
43150   * `{{filesize}}` and `{{maxFilesize}}` will be replaced with the respective configuration values.
43151   */
43152  dictFileTooBig: "File is too big ({{filesize}}MiB). Max filesize: {{maxFilesize}}MiB.",
43153
43154  /**
43155   * If the file doesn't match the file type.
43156   */
43157  dictInvalidFileType: "You can't upload files of this type.",
43158
43159  /**
43160   * If the server response was invalid.
43161   * `{{statusCode}}` will be replaced with the servers status code.
43162   */
43163  dictResponseError: "Server responded with {{statusCode}} code.",
43164
43165  /**
43166   * If `addRemoveLinks` is true, the text to be used for the cancel upload link.
43167   */
43168  dictCancelUpload: "Cancel upload",
43169
43170  /**
43171   * The text that is displayed if an upload was manually canceled
43172   */
43173  dictUploadCanceled: "Upload canceled.",
43174
43175  /**
43176   * If `addRemoveLinks` is true, the text to be used for confirmation when cancelling upload.
43177   */
43178  dictCancelUploadConfirmation: "Are you sure you want to cancel this upload?",
43179
43180  /**
43181   * If `addRemoveLinks` is true, the text to be used to remove a file.
43182   */
43183  dictRemoveFile: "Remove file",
43184
43185  /**
43186   * If this is not null, then the user will be prompted before removing a file.
43187   */
43188  dictRemoveFileConfirmation: null,
43189
43190  /**
43191   * Displayed if `maxFiles` is st and exceeded.
43192   * The string `{{maxFiles}}` will be replaced by the configuration value.
43193   */
43194  dictMaxFilesExceeded: "You can not upload any more files.",
43195
43196  /**
43197   * Allows you to translate the different units. Starting with `tb` for terabytes and going down to
43198   * `b` for bytes.
43199   */
43200  dictFileSizeUnits: {
43201    tb: "TB",
43202    gb: "GB",
43203    mb: "MB",
43204    kb: "KB",
43205    b: "b"
43206  },
43207
43208  /**
43209   * Called when dropzone initialized
43210   * You can add event listeners here
43211   */
43212  init: function init() {},
43213
43214  /**
43215   * Can be an **object** of additional parameters to transfer to the server, **or** a `Function`
43216   * that gets invoked with the `files`, `xhr` and, if it's a chunked upload, `chunk` arguments. In case
43217   * of a function, this needs to return a map.
43218   *
43219   * The default implementation does nothing for normal uploads, but adds relevant information for
43220   * chunked uploads.
43221   *
43222   * This is the same as adding hidden input fields in the form element.
43223   */
43224  params: function params(files, xhr, chunk) {
43225    if (chunk) {
43226      return {
43227        dzuuid: chunk.file.upload.uuid,
43228        dzchunkindex: chunk.index,
43229        dztotalfilesize: chunk.file.size,
43230        dzchunksize: this.options.chunkSize,
43231        dztotalchunkcount: chunk.file.upload.totalChunkCount,
43232        dzchunkbyteoffset: chunk.index * this.options.chunkSize
43233      };
43234    }
43235  },
43236
43237  /**
43238   * A function that gets a [file](https://developer.mozilla.org/en-US/docs/DOM/File)
43239   * and a `done` function as parameters.
43240   *
43241   * If the done function is invoked without arguments, the file is "accepted" and will
43242   * be processed. If you pass an error message, the file is rejected, and the error
43243   * message will be displayed.
43244   * This function will not be called if the file is too big or doesn't match the mime types.
43245   */
43246  accept: function accept(file, done) {
43247    return done();
43248  },
43249
43250  /**
43251   * The callback that will be invoked when all chunks have been uploaded for a file.
43252   * It gets the file for which the chunks have been uploaded as the first parameter,
43253   * and the `done` function as second. `done()` needs to be invoked when everything
43254   * needed to finish the upload process is done.
43255   */
43256  chunksUploaded: function chunksUploaded(file, done) {
43257    done();
43258  },
43259
43260  /**
43261   * Gets called when the browser is not supported.
43262   * The default implementation shows the fallback input field and adds
43263   * a text.
43264   */
43265  fallback: function fallback() {
43266    // This code should pass in IE7... :(
43267    var messageElement;
43268    this.element.className = "".concat(this.element.className, " dz-browser-not-supported");
43269
43270    var _iterator = options_createForOfIteratorHelper(this.element.getElementsByTagName("div"), true),
43271        _step;
43272
43273    try {
43274      for (_iterator.s(); !(_step = _iterator.n()).done;) {
43275        var child = _step.value;
43276
43277        if (/(^| )dz-message($| )/.test(child.className)) {
43278          messageElement = child;
43279          child.className = "dz-message"; // Removes the 'dz-default' class
43280
43281          break;
43282        }
43283      }
43284    } catch (err) {
43285      _iterator.e(err);
43286    } finally {
43287      _iterator.f();
43288    }
43289
43290    if (!messageElement) {
43291      messageElement = Dropzone.createElement('<div class="dz-message"><span></span></div>');
43292      this.element.appendChild(messageElement);
43293    }
43294
43295    var span = messageElement.getElementsByTagName("span")[0];
43296
43297    if (span) {
43298      if (span.textContent != null) {
43299        span.textContent = this.options.dictFallbackMessage;
43300      } else if (span.innerText != null) {
43301        span.innerText = this.options.dictFallbackMessage;
43302      }
43303    }
43304
43305    return this.element.appendChild(this.getFallbackForm());
43306  },
43307
43308  /**
43309   * Gets called to calculate the thumbnail dimensions.
43310   *
43311   * It gets `file`, `width` and `height` (both may be `null`) as parameters and must return an object containing:
43312   *
43313   *  - `srcWidth` & `srcHeight` (required)
43314   *  - `trgWidth` & `trgHeight` (required)
43315   *  - `srcX` & `srcY` (optional, default `0`)
43316   *  - `trgX` & `trgY` (optional, default `0`)
43317   *
43318   * Those values are going to be used by `ctx.drawImage()`.
43319   */
43320  resize: function resize(file, width, height, resizeMethod) {
43321    var info = {
43322      srcX: 0,
43323      srcY: 0,
43324      srcWidth: file.width,
43325      srcHeight: file.height
43326    };
43327    var srcRatio = file.width / file.height; // Automatically calculate dimensions if not specified
43328
43329    if (width == null && height == null) {
43330      width = info.srcWidth;
43331      height = info.srcHeight;
43332    } else if (width == null) {
43333      width = height * srcRatio;
43334    } else if (height == null) {
43335      height = width / srcRatio;
43336    } // Make sure images aren't upscaled
43337
43338
43339    width = Math.min(width, info.srcWidth);
43340    height = Math.min(height, info.srcHeight);
43341    var trgRatio = width / height;
43342
43343    if (info.srcWidth > width || info.srcHeight > height) {
43344      // Image is bigger and needs rescaling
43345      if (resizeMethod === "crop") {
43346        if (srcRatio > trgRatio) {
43347          info.srcHeight = file.height;
43348          info.srcWidth = info.srcHeight * trgRatio;
43349        } else {
43350          info.srcWidth = file.width;
43351          info.srcHeight = info.srcWidth / trgRatio;
43352        }
43353      } else if (resizeMethod === "contain") {
43354        // Method 'contain'
43355        if (srcRatio > trgRatio) {
43356          height = width / srcRatio;
43357        } else {
43358          width = height * srcRatio;
43359        }
43360      } else {
43361        throw new Error("Unknown resizeMethod '".concat(resizeMethod, "'"));
43362      }
43363    }
43364
43365    info.srcX = (file.width - info.srcWidth) / 2;
43366    info.srcY = (file.height - info.srcHeight) / 2;
43367    info.trgWidth = width;
43368    info.trgHeight = height;
43369    return info;
43370  },
43371
43372  /**
43373   * Can be used to transform the file (for example, resize an image if necessary).
43374   *
43375   * The default implementation uses `resizeWidth` and `resizeHeight` (if provided) and resizes
43376   * images according to those dimensions.
43377   *
43378   * Gets the `file` as the first parameter, and a `done()` function as the second, that needs
43379   * to be invoked with the file when the transformation is done.
43380   */
43381  transformFile: function transformFile(file, done) {
43382    if ((this.options.resizeWidth || this.options.resizeHeight) && file.type.match(/image.*/)) {
43383      return this.resizeImage(file, this.options.resizeWidth, this.options.resizeHeight, this.options.resizeMethod, done);
43384    } else {
43385      return done(file);
43386    }
43387  },
43388
43389  /**
43390   * A string that contains the template used for each dropped
43391   * file. Change it to fulfill your needs but make sure to properly
43392   * provide all elements.
43393   *
43394   * If you want to use an actual HTML element instead of providing a String
43395   * as a config option, you could create a div with the id `tpl`,
43396   * put the template inside it and provide the element like this:
43397   *
43398   *     document
43399   *       .querySelector('#tpl')
43400   *       .innerHTML
43401   *
43402   */
43403  previewTemplate: preview_template,
43404
43405  /*
43406   Those functions register themselves to the events on init and handle all
43407   the user interface specific stuff. Overwriting them won't break the upload
43408   but can break the way it's displayed.
43409   You can overwrite them if you don't like the default behavior. If you just
43410   want to add an additional event handler, register it on the dropzone object
43411   and don't overwrite those options.
43412   */
43413  // Those are self explanatory and simply concern the DragnDrop.
43414  drop: function drop(e) {
43415    return this.element.classList.remove("dz-drag-hover");
43416  },
43417  dragstart: function dragstart(e) {},
43418  dragend: function dragend(e) {
43419    return this.element.classList.remove("dz-drag-hover");
43420  },
43421  dragenter: function dragenter(e) {
43422    return this.element.classList.add("dz-drag-hover");
43423  },
43424  dragover: function dragover(e) {
43425    return this.element.classList.add("dz-drag-hover");
43426  },
43427  dragleave: function dragleave(e) {
43428    return this.element.classList.remove("dz-drag-hover");
43429  },
43430  paste: function paste(e) {},
43431  // Called whenever there are no files left in the dropzone anymore, and the
43432  // dropzone should be displayed as if in the initial state.
43433  reset: function reset() {
43434    return this.element.classList.remove("dz-started");
43435  },
43436  // Called when a file is added to the queue
43437  // Receives `file`
43438  addedfile: function addedfile(file) {
43439    var _this = this;
43440
43441    if (this.element === this.previewsContainer) {
43442      this.element.classList.add("dz-started");
43443    }
43444
43445    if (this.previewsContainer && !this.options.disablePreviews) {
43446      file.previewElement = Dropzone.createElement(this.options.previewTemplate.trim());
43447      file.previewTemplate = file.previewElement; // Backwards compatibility
43448
43449      this.previewsContainer.appendChild(file.previewElement);
43450
43451      var _iterator2 = options_createForOfIteratorHelper(file.previewElement.querySelectorAll("[data-dz-name]"), true),
43452          _step2;
43453
vendor: 5,964 bytes, lines 43454-43628
43454      try {
43455        for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
43456          var node = _step2.value;
43457          node.textContent = file.name;
43458        }
43459      } catch (err) {
43460        _iterator2.e(err);
43461      } finally {
43462        _iterator2.f();
43463      }
43464
43465      var _iterator3 = options_createForOfIteratorHelper(file.previewElement.querySelectorAll("[data-dz-size]"), true),
43466          _step3;
43467
43468      try {
43469        for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
43470          node = _step3.value;
43471          node.innerHTML = this.filesize(file.size);
43472        }
43473      } catch (err) {
43474        _iterator3.e(err);
43475      } finally {
43476        _iterator3.f();
43477      }
43478
43479      if (this.options.addRemoveLinks) {
43480        file._removeLink = Dropzone.createElement("<a class=\"dz-remove\" href=\"javascript:undefined;\" data-dz-remove>".concat(this.options.dictRemoveFile, "</a>"));
43481        file.previewElement.appendChild(file._removeLink);
43482      }
43483
43484      var removeFileEvent = function removeFileEvent(e) {
43485        e.preventDefault();
43486        e.stopPropagation();
43487
43488        if (file.status === Dropzone.UPLOADING) {
43489          return Dropzone.confirm(_this.options.dictCancelUploadConfirmation, function () {
43490            return _this.removeFile(file);
43491          });
43492        } else {
43493          if (_this.options.dictRemoveFileConfirmation) {
43494            return Dropzone.confirm(_this.options.dictRemoveFileConfirmation, function () {
43495              return _this.removeFile(file);
43496            });
43497          } else {
43498            return _this.removeFile(file);
43499          }
43500        }
43501      };
43502
43503      var _iterator4 = options_createForOfIteratorHelper(file.previewElement.querySelectorAll("[data-dz-remove]"), true),
43504          _step4;
43505
43506      try {
43507        for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
43508          var removeLink = _step4.value;
43509          removeLink.addEventListener("click", removeFileEvent);
43510        }
43511      } catch (err) {
43512        _iterator4.e(err);
43513      } finally {
43514        _iterator4.f();
43515      }
43516    }
43517  },
43518  // Called whenever a file is removed.
43519  removedfile: function removedfile(file) {
43520    if (file.previewElement != null && file.previewElement.parentNode != null) {
43521      file.previewElement.parentNode.removeChild(file.previewElement);
43522    }
43523
43524    return this._updateMaxFilesReachedClass();
43525  },
43526  // Called when a thumbnail has been generated
43527  // Receives `file` and `dataUrl`
43528  thumbnail: function thumbnail(file, dataUrl) {
43529    if (file.previewElement) {
43530      file.previewElement.classList.remove("dz-file-preview");
43531
43532      var _iterator5 = options_createForOfIteratorHelper(file.previewElement.querySelectorAll("[data-dz-thumbnail]"), true),
43533          _step5;
43534
43535      try {
43536        for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
43537          var thumbnailElement = _step5.value;
43538          thumbnailElement.alt = file.name;
43539          thumbnailElement.src = dataUrl;
43540        }
43541      } catch (err) {
43542        _iterator5.e(err);
43543      } finally {
43544        _iterator5.f();
43545      }
43546
43547      return setTimeout(function () {
43548        return file.previewElement.classList.add("dz-image-preview");
43549      }, 1);
43550    }
43551  },
43552  // Called whenever an error occurs
43553  // Receives `file` and `message`
43554  error: function error(file, message) {
43555    if (file.previewElement) {
43556      file.previewElement.classList.add("dz-error");
43557
43558      if (typeof message !== "string" && message.error) {
43559        message = message.error;
43560      }
43561
43562      var _iterator6 = options_createForOfIteratorHelper(file.previewElement.querySelectorAll("[data-dz-errormessage]"), true),
43563          _step6;
43564
43565      try {
43566        for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
43567          var node = _step6.value;
43568          node.textContent = message;
43569        }
43570      } catch (err) {
43571        _iterator6.e(err);
43572      } finally {
43573        _iterator6.f();
43574      }
43575    }
43576  },
43577  errormultiple: function errormultiple() {},
43578  // Called when a file gets processed. Since there is a cue, not all added
43579  // files are processed immediately.
43580  // Receives `file`
43581  processing: function processing(file) {
43582    if (file.previewElement) {
43583      file.previewElement.classList.add("dz-processing");
43584
43585      if (file._removeLink) {
43586        return file._removeLink.innerHTML = this.options.dictCancelUpload;
43587      }
43588    }
43589  },
43590  processingmultiple: function processingmultiple() {},
43591  // Called whenever the upload progress gets updated.
43592  // Receives `file`, `progress` (percentage 0-100) and `bytesSent`.
43593  // To get the total number of bytes of the file, use `file.size`
43594  uploadprogress: function uploadprogress(file, progress, bytesSent) {
43595    if (file.previewElement) {
43596      var _iterator7 = options_createForOfIteratorHelper(file.previewElement.querySelectorAll("[data-dz-uploadprogress]"), true),
43597          _step7;
43598
43599      try {
43600        for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
43601          var node = _step7.value;
43602          node.nodeName === "PROGRESS" ? node.value = progress : node.style.width = "".concat(progress, "%");
43603        }
43604      } catch (err) {
43605        _iterator7.e(err);
43606      } finally {
43607        _iterator7.f();
43608      }
43609    }
43610  },
43611  // Called whenever the total upload progress gets updated.
43612  // Called with totalUploadProgress (0-100), totalBytes and totalBytesSent
43613  totaluploadprogress: function totaluploadprogress() {},
43614  // Called just before the file is sent. Gets the `xhr` object as second
43615  // parameter, so you can modify it (for example to add a CSRF token) and a
43616  // `formData` object to add additional information.
43617  sending: function sending() {},
43618  sendingmultiple: function sendingmultiple() {},
43619  // When the complete upload is finished and successful
43620  // Receives `file`
43621  success: function success(file) {
43622    if (file.previewElement) {
43623      return file.previewElement.classList.add("dz-success");
43624    }
43625  },
43626  successmultiple: function successmultiple() {},
43627  // When the upload is canceled.
43628  canceled: function canceled(file) {
vendor: 9,519 bytes, lines 43629-43842
43629    return this.emit("error", file, this.options.dictUploadCanceled);
43630  },
43631  canceledmultiple: function canceledmultiple() {},
43632  // When the upload is finished, either with success or an error.
43633  // Receives `file`
43634  complete: function complete(file) {
43635    if (file._removeLink) {
43636      file._removeLink.innerHTML = this.options.dictRemoveFile;
43637    }
43638
43639    if (file.previewElement) {
43640      return file.previewElement.classList.add("dz-complete");
43641    }
43642  },
43643  completemultiple: function completemultiple() {},
43644  maxfilesexceeded: function maxfilesexceeded() {},
43645  maxfilesreached: function maxfilesreached() {},
43646  queuecomplete: function queuecomplete() {},
43647  addedfiles: function addedfiles() {}
43648};
43649/* harmony default export */ var src_options = (defaultOptions);
43650;// CONCATENATED MODULE: ./src/dropzone.js
43651function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
43652
43653
43654
43655
43656
43657
43658
43659
43660
43661
43662
43663
43664
43665
43666
43667
43668
43669
43670
43671
43672
43673
43674
43675
43676
43677
43678
43679
43680
43681
43682
43683
43684
43685
43686
43687
43688
43689
43690
43691
43692
43693
43694
43695
43696
43697
43698
43699function dropzone_createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = dropzone_unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
43700
43701function dropzone_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return dropzone_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return dropzone_arrayLikeToArray(o, minLen); }
43702
43703function dropzone_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
43704
43705function dropzone_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
43706
43707function dropzone_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
43708
43709function dropzone_createClass(Constructor, protoProps, staticProps) { if (protoProps) dropzone_defineProperties(Constructor.prototype, protoProps); if (staticProps) dropzone_defineProperties(Constructor, staticProps); return Constructor; }
43710
43711function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
43712
43713function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
43714
43715function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
43716
43717function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
43718
43719function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
43720
43721function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
43722
43723function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
43724
43725
43726
43727
43728var Dropzone = /*#__PURE__*/function (_Emitter) {
43729  _inherits(Dropzone, _Emitter);
43730
43731  var _super = _createSuper(Dropzone);
43732
43733  function Dropzone(el, options) {
43734    var _this;
43735
43736    dropzone_classCallCheck(this, Dropzone);
43737
43738    _this = _super.call(this);
43739    var fallback, left;
43740    _this.element = el; // For backwards compatibility since the version was in the prototype previously
43741
43742    _this.version = Dropzone.version;
43743    _this.clickableElements = [];
43744    _this.listeners = [];
43745    _this.files = []; // All files
43746
43747    if (typeof _this.element === "string") {
43748      _this.element = document.querySelector(_this.element);
43749    } // Not checking if instance of HTMLElement or Element since IE9 is extremely weird.
43750
43751
43752    if (!_this.element || _this.element.nodeType == null) {
43753      throw new Error("Invalid dropzone element.");
43754    }
43755
43756    if (_this.element.dropzone) {
43757      throw new Error("Dropzone already attached.");
43758    } // Now add this dropzone to the instances.
43759
43760
43761    Dropzone.instances.push(_assertThisInitialized(_this)); // Put the dropzone inside the element itself.
43762
43763    _this.element.dropzone = _assertThisInitialized(_this);
43764    var elementOptions = (left = Dropzone.optionsForElement(_this.element)) != null ? left : {};
43765    _this.options = Dropzone.extend({}, src_options, elementOptions, options != null ? options : {});
43766    _this.options.previewTemplate = _this.options.previewTemplate.replace(/\n*/g, ""); // If the browser failed, just call the fallback and leave
43767
43768    if (_this.options.forceFallback || !Dropzone.isBrowserSupported()) {
43769      return _possibleConstructorReturn(_this, _this.options.fallback.call(_assertThisInitialized(_this)));
43770    } // @options.url = @element.getAttribute "action" unless @options.url?
43771
43772
43773    if (_this.options.url == null) {
43774      _this.options.url = _this.element.getAttribute("action");
43775    }
43776
43777    if (!_this.options.url) {
43778      throw new Error("No URL provided.");
43779    }
43780
43781    if (_this.options.acceptedFiles && _this.options.acceptedMimeTypes) {
43782      throw new Error("You can't provide both 'acceptedFiles' and 'acceptedMimeTypes'. 'acceptedMimeTypes' is deprecated.");
43783    }
43784
43785    if (_this.options.uploadMultiple && _this.options.chunking) {
43786      throw new Error("You cannot set both: uploadMultiple and chunking.");
43787    } // Backwards compatibility
43788
43789
43790    if (_this.options.acceptedMimeTypes) {
43791      _this.options.acceptedFiles = _this.options.acceptedMimeTypes;
43792      delete _this.options.acceptedMimeTypes;
43793    } // Backwards compatibility
43794
43795
43796    if (_this.options.renameFilename != null) {
43797      _this.options.renameFile = function (file) {
43798        return _this.options.renameFilename.call(_assertThisInitialized(_this), file.name, file);
43799      };
43800    }
43801
43802    if (typeof _this.options.method === "string") {
43803      _this.options.method = _this.options.method.toUpperCase();
43804    }
43805
43806    if ((fallback = _this.getExistingFallback()) && fallback.parentNode) {
43807      // Remove the fallback
43808      fallback.parentNode.removeChild(fallback);
43809    } // Display previews in the previewsContainer element or the Dropzone element unless explicitly set to false
43810
43811
43812    if (_this.options.previewsContainer !== false) {
43813      if (_this.options.previewsContainer) {
43814        _this.previewsContainer = Dropzone.getElement(_this.options.previewsContainer, "previewsContainer");
43815      } else {
43816        _this.previewsContainer = _this.element;
43817      }
43818    }
43819
43820    if (_this.options.clickable) {
43821      if (_this.options.clickable === true) {
43822        _this.clickableElements = [_this.element];
43823      } else {
43824        _this.clickableElements = Dropzone.getElements(_this.options.clickable, "clickable");
43825      }
43826    }
43827
43828    _this.init();
43829
43830    return _this;
43831  } // Returns all files that have been accepted
43832
43833
43834  dropzone_createClass(Dropzone, [{
43835    key: "getAcceptedFiles",
43836    value: function getAcceptedFiles() {
43837      return this.files.filter(function (file) {
43838        return file.accepted;
43839      }).map(function (file) {
43840        return file;
43841      });
43842    } // Returns all files that have been rejected
vendor: 27,944 bytes, lines 43843-44689
43843    // Not sure when that's going to be useful, but added for completeness.
43844
43845  }, {
43846    key: "getRejectedFiles",
43847    value: function getRejectedFiles() {
43848      return this.files.filter(function (file) {
43849        return !file.accepted;
43850      }).map(function (file) {
43851        return file;
43852      });
43853    }
43854  }, {
43855    key: "getFilesWithStatus",
43856    value: function getFilesWithStatus(status) {
43857      return this.files.filter(function (file) {
43858        return file.status === status;
43859      }).map(function (file) {
43860        return file;
43861      });
43862    } // Returns all files that are in the queue
43863
43864  }, {
43865    key: "getQueuedFiles",
43866    value: function getQueuedFiles() {
43867      return this.getFilesWithStatus(Dropzone.QUEUED);
43868    }
43869  }, {
43870    key: "getUploadingFiles",
43871    value: function getUploadingFiles() {
43872      return this.getFilesWithStatus(Dropzone.UPLOADING);
43873    }
43874  }, {
43875    key: "getAddedFiles",
43876    value: function getAddedFiles() {
43877      return this.getFilesWithStatus(Dropzone.ADDED);
43878    } // Files that are either queued or uploading
43879
43880  }, {
43881    key: "getActiveFiles",
43882    value: function getActiveFiles() {
43883      return this.files.filter(function (file) {
43884        return file.status === Dropzone.UPLOADING || file.status === Dropzone.QUEUED;
43885      }).map(function (file) {
43886        return file;
43887      });
43888    } // The function that gets called when Dropzone is initialized. You
43889    // can (and should) setup event listeners inside this function.
43890
43891  }, {
43892    key: "init",
43893    value: function init() {
43894      var _this2 = this;
43895
43896      // In case it isn't set already
43897      if (this.element.tagName === "form") {
43898        this.element.setAttribute("enctype", "multipart/form-data");
43899      }
43900
43901      if (this.element.classList.contains("dropzone") && !this.element.querySelector(".dz-message")) {
43902        this.element.appendChild(Dropzone.createElement("<div class=\"dz-default dz-message\"><button class=\"dz-button\" type=\"button\">".concat(this.options.dictDefaultMessage, "</button></div>")));
43903      }
43904
43905      if (this.clickableElements.length) {
43906        var setupHiddenFileInput = function setupHiddenFileInput() {
43907          if (_this2.hiddenFileInput) {
43908            _this2.hiddenFileInput.parentNode.removeChild(_this2.hiddenFileInput);
43909          }
43910
43911          _this2.hiddenFileInput = document.createElement("input");
43912
43913          _this2.hiddenFileInput.setAttribute("type", "file");
43914
43915          if (_this2.options.maxFiles === null || _this2.options.maxFiles > 1) {
43916            _this2.hiddenFileInput.setAttribute("multiple", "multiple");
43917          }
43918
43919          _this2.hiddenFileInput.className = "dz-hidden-input";
43920
43921          if (_this2.options.acceptedFiles !== null) {
43922            _this2.hiddenFileInput.setAttribute("accept", _this2.options.acceptedFiles);
43923          }
43924
43925          if (_this2.options.capture !== null) {
43926            _this2.hiddenFileInput.setAttribute("capture", _this2.options.capture);
43927          } // Making sure that no one can "tab" into this field.
43928
43929
43930          _this2.hiddenFileInput.setAttribute("tabindex", "-1"); // Not setting `display="none"` because some browsers don't accept clicks
43931          // on elements that aren't displayed.
43932
43933
43934          _this2.hiddenFileInput.style.visibility = "hidden";
43935          _this2.hiddenFileInput.style.position = "absolute";
43936          _this2.hiddenFileInput.style.top = "0";
43937          _this2.hiddenFileInput.style.left = "0";
43938          _this2.hiddenFileInput.style.height = "0";
43939          _this2.hiddenFileInput.style.width = "0";
43940          Dropzone.getElement(_this2.options.hiddenInputContainer, "hiddenInputContainer").appendChild(_this2.hiddenFileInput);
43941
43942          _this2.hiddenFileInput.addEventListener("change", function () {
43943            var files = _this2.hiddenFileInput.files;
43944
43945            if (files.length) {
43946              var _iterator = dropzone_createForOfIteratorHelper(files, true),
43947                  _step;
43948
43949              try {
43950                for (_iterator.s(); !(_step = _iterator.n()).done;) {
43951                  var file = _step.value;
43952
43953                  _this2.addFile(file);
43954                }
43955              } catch (err) {
43956                _iterator.e(err);
43957              } finally {
43958                _iterator.f();
43959              }
43960            }
43961
43962            _this2.emit("addedfiles", files);
43963
43964            setupHiddenFileInput();
43965          });
43966        };
43967
43968        setupHiddenFileInput();
43969      }
43970
43971      this.URL = window.URL !== null ? window.URL : window.webkitURL; // Setup all event listeners on the Dropzone object itself.
43972      // They're not in @setupEventListeners() because they shouldn't be removed
43973      // again when the dropzone gets disabled.
43974
43975      var _iterator2 = dropzone_createForOfIteratorHelper(this.events, true),
43976          _step2;
43977
43978      try {
43979        for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
43980          var eventName = _step2.value;
43981          this.on(eventName, this.options[eventName]);
43982        }
43983      } catch (err) {
43984        _iterator2.e(err);
43985      } finally {
43986        _iterator2.f();
43987      }
43988
43989      this.on("uploadprogress", function () {
43990        return _this2.updateTotalUploadProgress();
43991      });
43992      this.on("removedfile", function () {
43993        return _this2.updateTotalUploadProgress();
43994      });
43995      this.on("canceled", function (file) {
43996        return _this2.emit("complete", file);
43997      }); // Emit a `queuecomplete` event if all files finished uploading.
43998
43999      this.on("complete", function (file) {
44000        if (_this2.getAddedFiles().length === 0 && _this2.getUploadingFiles().length === 0 && _this2.getQueuedFiles().length === 0) {
44001          // This needs to be deferred so that `queuecomplete` really triggers after `complete`
44002          return setTimeout(function () {
44003            return _this2.emit("queuecomplete");
44004          }, 0);
44005        }
44006      });
44007
44008      var containsFiles = function containsFiles(e) {
44009        if (e.dataTransfer.types) {
44010          // Because e.dataTransfer.types is an Object in
44011          // IE, we need to iterate like this instead of
44012          // using e.dataTransfer.types.some()
44013          for (var i = 0; i < e.dataTransfer.types.length; i++) {
44014            if (e.dataTransfer.types[i] === "Files") return true;
44015          }
44016        }
44017
44018        return false;
44019      };
44020
44021      var noPropagation = function noPropagation(e) {
44022        // If there are no files, we don't want to stop
44023        // propagation so we don't interfere with other
44024        // drag and drop behaviour.
44025        if (!containsFiles(e)) return;
44026        e.stopPropagation();
44027
44028        if (e.preventDefault) {
44029          return e.preventDefault();
44030        } else {
44031          return e.returnValue = false;
44032        }
44033      }; // Create the listeners
44034
44035
44036      this.listeners = [{
44037        element: this.element,
44038        events: {
44039          dragstart: function dragstart(e) {
44040            return _this2.emit("dragstart", e);
44041          },
44042          dragenter: function dragenter(e) {
44043            noPropagation(e);
44044            return _this2.emit("dragenter", e);
44045          },
44046          dragover: function dragover(e) {
44047            // Makes it possible to drag files from chrome's download bar
44048            // http://stackoverflow.com/questions/19526430/drag-and-drop-file-uploads-from-chrome-downloads-bar
44049            // Try is required to prevent bug in Internet Explorer 11 (SCRIPT65535 exception)
44050            var efct;
44051
44052            try {
44053              efct = e.dataTransfer.effectAllowed;
44054            } catch (error) {}
44055
44056            e.dataTransfer.dropEffect = "move" === efct || "linkMove" === efct ? "move" : "copy";
44057            noPropagation(e);
44058            return _this2.emit("dragover", e);
44059          },
44060          dragleave: function dragleave(e) {
44061            return _this2.emit("dragleave", e);
44062          },
44063          drop: function drop(e) {
44064            noPropagation(e);
44065            return _this2.drop(e);
44066          },
44067          dragend: function dragend(e) {
44068            return _this2.emit("dragend", e);
44069          }
44070        } // This is disabled right now, because the browsers don't implement it properly.
44071        // "paste": (e) =>
44072        //   noPropagation e
44073        //   @paste e
44074
44075      }];
44076      this.clickableElements.forEach(function (clickableElement) {
44077        return _this2.listeners.push({
44078          element: clickableElement,
44079          events: {
44080            click: function click(evt) {
44081              // Only the actual dropzone or the message element should trigger file selection
44082              if (clickableElement !== _this2.element || evt.target === _this2.element || Dropzone.elementInside(evt.target, _this2.element.querySelector(".dz-message"))) {
44083                _this2.hiddenFileInput.click(); // Forward the click
44084
44085              }
44086
44087              return true;
44088            }
44089          }
44090        });
44091      });
44092      this.enable();
44093      return this.options.init.call(this);
44094    } // Not fully tested yet
44095
44096  }, {
44097    key: "destroy",
44098    value: function destroy() {
44099      this.disable();
44100      this.removeAllFiles(true);
44101
44102      if (this.hiddenFileInput != null ? this.hiddenFileInput.parentNode : undefined) {
44103        this.hiddenFileInput.parentNode.removeChild(this.hiddenFileInput);
44104        this.hiddenFileInput = null;
44105      }
44106
44107      delete this.element.dropzone;
44108      return Dropzone.instances.splice(Dropzone.instances.indexOf(this), 1);
44109    }
44110  }, {
44111    key: "updateTotalUploadProgress",
44112    value: function updateTotalUploadProgress() {
44113      var totalUploadProgress;
44114      var totalBytesSent = 0;
44115      var totalBytes = 0;
44116      var activeFiles = this.getActiveFiles();
44117
44118      if (activeFiles.length) {
44119        var _iterator3 = dropzone_createForOfIteratorHelper(this.getActiveFiles(), true),
44120            _step3;
44121
44122        try {
44123          for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
44124            var file = _step3.value;
44125            totalBytesSent += file.upload.bytesSent;
44126            totalBytes += file.upload.total;
44127          }
44128        } catch (err) {
44129          _iterator3.e(err);
44130        } finally {
44131          _iterator3.f();
44132        }
44133
44134        totalUploadProgress = 100 * totalBytesSent / totalBytes;
44135      } else {
44136        totalUploadProgress = 100;
44137      }
44138
44139      return this.emit("totaluploadprogress", totalUploadProgress, totalBytes, totalBytesSent);
44140    } // @options.paramName can be a function taking one parameter rather than a string.
44141    // A parameter name for a file is obtained simply by calling this with an index number.
44142
44143  }, {
44144    key: "_getParamName",
44145    value: function _getParamName(n) {
44146      if (typeof this.options.paramName === "function") {
44147        return this.options.paramName(n);
44148      } else {
44149        return "".concat(this.options.paramName).concat(this.options.uploadMultiple ? "[".concat(n, "]") : "");
44150      }
44151    } // If @options.renameFile is a function,
44152    // the function will be used to rename the file.name before appending it to the formData
44153
44154  }, {
44155    key: "_renameFile",
44156    value: function _renameFile(file) {
44157      if (typeof this.options.renameFile !== "function") {
44158        return file.name;
44159      }
44160
44161      return this.options.renameFile(file);
44162    } // Returns a form that can be used as fallback if the browser does not support DragnDrop
44163    //
44164    // If the dropzone is already a form, only the input field and button are returned. Otherwise a complete form element is provided.
44165    // This code has to pass in IE7 :(
44166
44167  }, {
44168    key: "getFallbackForm",
44169    value: function getFallbackForm() {
44170      var existingFallback, form;
44171
44172      if (existingFallback = this.getExistingFallback()) {
44173        return existingFallback;
44174      }
44175
44176      var fieldsString = '<div class="dz-fallback">';
44177
44178      if (this.options.dictFallbackText) {
44179        fieldsString += "<p>".concat(this.options.dictFallbackText, "</p>");
44180      }
44181
44182      fieldsString += "<input type=\"file\" name=\"".concat(this._getParamName(0), "\" ").concat(this.options.uploadMultiple ? 'multiple="multiple"' : undefined, " /><input type=\"submit\" value=\"Upload!\"></div>");
44183      var fields = Dropzone.createElement(fieldsString);
44184
44185      if (this.element.tagName !== "FORM") {
44186        form = Dropzone.createElement("<form action=\"".concat(this.options.url, "\" enctype=\"multipart/form-data\" method=\"").concat(this.options.method, "\"></form>"));
44187        form.appendChild(fields);
44188      } else {
44189        // Make sure that the enctype and method attributes are set properly
44190        this.element.setAttribute("enctype", "multipart/form-data");
44191        this.element.setAttribute("method", this.options.method);
44192      }
44193
44194      return form != null ? form : fields;
44195    } // Returns the fallback elements if they exist already
44196    //
44197    // This code has to pass in IE7 :(
44198
44199  }, {
44200    key: "getExistingFallback",
44201    value: function getExistingFallback() {
44202      var getFallback = function getFallback(elements) {
44203        var _iterator4 = dropzone_createForOfIteratorHelper(elements, true),
44204            _step4;
44205
44206        try {
44207          for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
44208            var el = _step4.value;
44209
44210            if (/(^| )fallback($| )/.test(el.className)) {
44211              return el;
44212            }
44213          }
44214        } catch (err) {
44215          _iterator4.e(err);
44216        } finally {
44217          _iterator4.f();
44218        }
44219      };
44220
44221      for (var _i = 0, _arr = ["div", "form"]; _i < _arr.length; _i++) {
44222        var tagName = _arr[_i];
44223        var fallback;
44224
44225        if (fallback = getFallback(this.element.getElementsByTagName(tagName))) {
44226          return fallback;
44227        }
44228      }
44229    } // Activates all listeners stored in @listeners
44230
44231  }, {
44232    key: "setupEventListeners",
44233    value: function setupEventListeners() {
44234      return this.listeners.map(function (elementListeners) {
44235        return function () {
44236          var result = [];
44237
44238          for (var event in elementListeners.events) {
44239            var listener = elementListeners.events[event];
44240            result.push(elementListeners.element.addEventListener(event, listener, false));
44241          }
44242
44243          return result;
44244        }();
44245      });
44246    } // Deactivates all listeners stored in @listeners
44247
44248  }, {
44249    key: "removeEventListeners",
44250    value: function removeEventListeners() {
44251      return this.listeners.map(function (elementListeners) {
44252        return function () {
44253          var result = [];
44254
44255          for (var event in elementListeners.events) {
44256            var listener = elementListeners.events[event];
44257            result.push(elementListeners.element.removeEventListener(event, listener, false));
44258          }
44259
44260          return result;
44261        }();
44262      });
44263    } // Removes all event listeners and cancels all files in the queue or being processed.
44264
44265  }, {
44266    key: "disable",
44267    value: function disable() {
44268      var _this3 = this;
44269
44270      this.clickableElements.forEach(function (element) {
44271        return element.classList.remove("dz-clickable");
44272      });
44273      this.removeEventListeners();
44274      this.disabled = true;
44275      return this.files.map(function (file) {
44276        return _this3.cancelUpload(file);
44277      });
44278    }
44279  }, {
44280    key: "enable",
44281    value: function enable() {
44282      delete this.disabled;
44283      this.clickableElements.forEach(function (element) {
44284        return element.classList.add("dz-clickable");
44285      });
44286      return this.setupEventListeners();
44287    } // Returns a nicely formatted filesize
44288
44289  }, {
44290    key: "filesize",
44291    value: function filesize(size) {
44292      var selectedSize = 0;
44293      var selectedUnit = "b";
44294
44295      if (size > 0) {
44296        var units = ["tb", "gb", "mb", "kb", "b"];
44297
44298        for (var i = 0; i < units.length; i++) {
44299          var unit = units[i];
44300          var cutoff = Math.pow(this.options.filesizeBase, 4 - i) / 10;
44301
44302          if (size >= cutoff) {
44303            selectedSize = size / Math.pow(this.options.filesizeBase, 4 - i);
44304            selectedUnit = unit;
44305            break;
44306          }
44307        }
44308
44309        selectedSize = Math.round(10 * selectedSize) / 10; // Cutting of digits
44310      }
44311
44312      return "<strong>".concat(selectedSize, "</strong> ").concat(this.options.dictFileSizeUnits[selectedUnit]);
44313    } // Adds or removes the `dz-max-files-reached` class from the form.
44314
44315  }, {
44316    key: "_updateMaxFilesReachedClass",
44317    value: function _updateMaxFilesReachedClass() {
44318      if (this.options.maxFiles != null && this.getAcceptedFiles().length >= this.options.maxFiles) {
44319        if (this.getAcceptedFiles().length === this.options.maxFiles) {
44320          this.emit("maxfilesreached", this.files);
44321        }
44322
44323        return this.element.classList.add("dz-max-files-reached");
44324      } else {
44325        return this.element.classList.remove("dz-max-files-reached");
44326      }
44327    }
44328  }, {
44329    key: "drop",
44330    value: function drop(e) {
44331      if (!e.dataTransfer) {
44332        return;
44333      }
44334
44335      this.emit("drop", e); // Convert the FileList to an Array
44336      // This is necessary for IE11
44337
44338      var files = [];
44339
44340      for (var i = 0; i < e.dataTransfer.files.length; i++) {
44341        files[i] = e.dataTransfer.files[i];
44342      } // Even if it's a folder, files.length will contain the folders.
44343
44344
44345      if (files.length) {
44346        var items = e.dataTransfer.items;
44347
44348        if (items && items.length && items[0].webkitGetAsEntry != null) {
44349          // The browser supports dropping of folders, so handle items instead of files
44350          this._addFilesFromItems(items);
44351        } else {
44352          this.handleFiles(files);
44353        }
44354      }
44355
44356      this.emit("addedfiles", files);
44357    }
44358  }, {
44359    key: "paste",
44360    value: function paste(e) {
44361      if (__guard__(e != null ? e.clipboardData : undefined, function (x) {
44362        return x.items;
44363      }) == null) {
44364        return;
44365      }
44366
44367      this.emit("paste", e);
44368      var items = e.clipboardData.items;
44369
44370      if (items.length) {
44371        return this._addFilesFromItems(items);
44372      }
44373    }
44374  }, {
44375    key: "handleFiles",
44376    value: function handleFiles(files) {
44377      var _iterator5 = dropzone_createForOfIteratorHelper(files, true),
44378          _step5;
44379
44380      try {
44381        for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
44382          var file = _step5.value;
44383          this.addFile(file);
44384        }
44385      } catch (err) {
44386        _iterator5.e(err);
44387      } finally {
44388        _iterator5.f();
44389      }
44390    } // When a folder is dropped (or files are pasted), items must be handled
44391    // instead of files.
44392
44393  }, {
44394    key: "_addFilesFromItems",
44395    value: function _addFilesFromItems(items) {
44396      var _this4 = this;
44397
44398      return function () {
44399        var result = [];
44400
44401        var _iterator6 = dropzone_createForOfIteratorHelper(items, true),
44402            _step6;
44403
44404        try {
44405          for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
44406            var item = _step6.value;
44407            var entry;
44408
44409            if (item.webkitGetAsEntry != null && (entry = item.webkitGetAsEntry())) {
44410              if (entry.isFile) {
44411                result.push(_this4.addFile(item.getAsFile()));
44412              } else if (entry.isDirectory) {
44413                // Append all files from that directory to files
44414                result.push(_this4._addFilesFromDirectory(entry, entry.name));
44415              } else {
44416                result.push(undefined);
44417              }
44418            } else if (item.getAsFile != null) {
44419              if (item.kind == null || item.kind === "file") {
44420                result.push(_this4.addFile(item.getAsFile()));
44421              } else {
44422                result.push(undefined);
44423              }
44424            } else {
44425              result.push(undefined);
44426            }
44427          }
44428        } catch (err) {
44429          _iterator6.e(err);
44430        } finally {
44431          _iterator6.f();
44432        }
44433
44434        return result;
44435      }();
44436    } // Goes through the directory, and adds each file it finds recursively
44437
44438  }, {
44439    key: "_addFilesFromDirectory",
44440    value: function _addFilesFromDirectory(directory, path) {
44441      var _this5 = this;
44442
44443      var dirReader = directory.createReader();
44444
44445      var errorHandler = function errorHandler(error) {
44446        return __guardMethod__(console, "log", function (o) {
44447          return o.log(error);
44448        });
44449      };
44450
44451      var readEntries = function readEntries() {
44452        return dirReader.readEntries(function (entries) {
44453          if (entries.length > 0) {
44454            var _iterator7 = dropzone_createForOfIteratorHelper(entries, true),
44455                _step7;
44456
44457            try {
44458              for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
44459                var entry = _step7.value;
44460
44461                if (entry.isFile) {
44462                  entry.file(function (file) {
44463                    if (_this5.options.ignoreHiddenFiles && file.name.substring(0, 1) === ".") {
44464                      return;
44465                    }
44466
44467                    file.fullPath = "".concat(path, "/").concat(file.name);
44468                    return _this5.addFile(file);
44469                  });
44470                } else if (entry.isDirectory) {
44471                  _this5._addFilesFromDirectory(entry, "".concat(path, "/").concat(entry.name));
44472                }
44473              } // Recursively call readEntries() again, since browser only handle
44474              // the first 100 entries.
44475              // See: https://developer.mozilla.org/en-US/docs/Web/API/DirectoryReader#readEntries
44476
44477            } catch (err) {
44478              _iterator7.e(err);
44479            } finally {
44480              _iterator7.f();
44481            }
44482
44483            readEntries();
44484          }
44485
44486          return null;
44487        }, errorHandler);
44488      };
44489
44490      return readEntries();
44491    } // If `done()` is called without argument the file is accepted
44492    // If you call it with an error message, the file is rejected
44493    // (This allows for asynchronous validation)
44494    //
44495    // This function checks the filesize, and if the file.type passes the
44496    // `acceptedFiles` check.
44497
44498  }, {
44499    key: "accept",
44500    value: function accept(file, done) {
44501      if (this.options.maxFilesize && file.size > this.options.maxFilesize * 1024 * 1024) {
44502        done(this.options.dictFileTooBig.replace("{{filesize}}", Math.round(file.size / 1024 / 10.24) / 100).replace("{{maxFilesize}}", this.options.maxFilesize));
44503      } else if (!Dropzone.isValidFile(file, this.options.acceptedFiles)) {
44504        done(this.options.dictInvalidFileType);
44505      } else if (this.options.maxFiles != null && this.getAcceptedFiles().length >= this.options.maxFiles) {
44506        done(this.options.dictMaxFilesExceeded.replace("{{maxFiles}}", this.options.maxFiles));
44507        this.emit("maxfilesexceeded", file);
44508      } else {
44509        this.options.accept.call(this, file, done);
44510      }
44511    }
44512  }, {
44513    key: "addFile",
44514    value: function addFile(file) {
44515      var _this6 = this;
44516
44517      file.upload = {
44518        uuid: Dropzone.uuidv4(),
44519        progress: 0,
44520        // Setting the total upload size to file.size for the beginning
44521        // It's actual different than the size to be transmitted.
44522        total: file.size,
44523        bytesSent: 0,
44524        filename: this._renameFile(file) // Not setting chunking information here, because the acutal data — and
44525        // thus the chunks — might change if `options.transformFile` is set
44526        // and does something to the data.
44527
44528      };
44529      this.files.push(file);
44530      file.status = Dropzone.ADDED;
44531      this.emit("addedfile", file);
44532
44533      this._enqueueThumbnail(file);
44534
44535      this.accept(file, function (error) {
44536        if (error) {
44537          file.accepted = false;
44538
44539          _this6._errorProcessing([file], error); // Will set the file.status
44540
44541        } else {
44542          file.accepted = true;
44543
44544          if (_this6.options.autoQueue) {
44545            _this6.enqueueFile(file);
44546          } // Will set .accepted = true
44547
44548        }
44549
44550        _this6._updateMaxFilesReachedClass();
44551      });
44552    } // Wrapper for enqueueFile
44553
44554  }, {
44555    key: "enqueueFiles",
44556    value: function enqueueFiles(files) {
44557      var _iterator8 = dropzone_createForOfIteratorHelper(files, true),
44558          _step8;
44559
44560      try {
44561        for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
44562          var file = _step8.value;
44563          this.enqueueFile(file);
44564        }
44565      } catch (err) {
44566        _iterator8.e(err);
44567      } finally {
44568        _iterator8.f();
44569      }
44570
44571      return null;
44572    }
44573  }, {
44574    key: "enqueueFile",
44575    value: function enqueueFile(file) {
44576      var _this7 = this;
44577
44578      if (file.status === Dropzone.ADDED && file.accepted === true) {
44579        file.status = Dropzone.QUEUED;
44580
44581        if (this.options.autoProcessQueue) {
44582          return setTimeout(function () {
44583            return _this7.processQueue();
44584          }, 0); // Deferring the call
44585        }
44586      } else {
44587        throw new Error("This file can't be queued because it has already been processed or was rejected.");
44588      }
44589    }
44590  }, {
44591    key: "_enqueueThumbnail",
44592    value: function _enqueueThumbnail(file) {
44593      var _this8 = this;
44594
44595      if (this.options.createImageThumbnails && file.type.match(/image.*/) && file.size <= this.options.maxThumbnailFilesize * 1024 * 1024) {
44596        this._thumbnailQueue.push(file);
44597
44598        return setTimeout(function () {
44599          return _this8._processThumbnailQueue();
44600        }, 0); // Deferring the call
44601      }
44602    }
44603  }, {
44604    key: "_processThumbnailQueue",
44605    value: function _processThumbnailQueue() {
44606      var _this9 = this;
44607
44608      if (this._processingThumbnail || this._thumbnailQueue.length === 0) {
44609        return;
44610      }
44611
44612      this._processingThumbnail = true;
44613
44614      var file = this._thumbnailQueue.shift();
44615
44616      return this.createThumbnail(file, this.options.thumbnailWidth, this.options.thumbnailHeight, this.options.thumbnailMethod, true, function (dataUrl) {
44617        _this9.emit("thumbnail", file, dataUrl);
44618
44619        _this9._processingThumbnail = false;
44620        return _this9._processThumbnailQueue();
44621      });
44622    } // Can be called by the user to remove a file
44623
44624  }, {
44625    key: "removeFile",
44626    value: function removeFile(file) {
44627      if (file.status === Dropzone.UPLOADING) {
44628        this.cancelUpload(file);
44629      }
44630
44631      this.files = without(this.files, file);
44632      this.emit("removedfile", file);
44633
44634      if (this.files.length === 0) {
44635        return this.emit("reset");
44636      }
44637    } // Removes all files that aren't currently processed from the list
44638
44639  }, {
44640    key: "removeAllFiles",
44641    value: function removeAllFiles(cancelIfNecessary) {
44642      // Create a copy of files since removeFile() changes the @files array.
44643      if (cancelIfNecessary == null) {
44644        cancelIfNecessary = false;
44645      }
44646
44647      var _iterator9 = dropzone_createForOfIteratorHelper(this.files.slice(), true),
44648          _step9;
44649
44650      try {
44651        for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
44652          var file = _step9.value;
44653
44654          if (file.status !== Dropzone.UPLOADING || cancelIfNecessary) {
44655            this.removeFile(file);
44656          }
44657        }
44658      } catch (err) {
44659        _iterator9.e(err);
44660      } finally {
44661        _iterator9.f();
44662      }
44663
44664      return null;
44665    } // Resizes an image before it gets sent to the server. This function is the default behavior of
44666    // `options.transformFile` if `resizeWidth` or `resizeHeight` are set. The callback is invoked with
44667    // the resized blob.
44668
44669  }, {
44670    key: "resizeImage",
44671    value: function resizeImage(file, width, height, resizeMethod, callback) {
44672      var _this10 = this;
44673
44674      return this.createThumbnail(file, width, height, resizeMethod, true, function (dataUrl, canvas) {
44675        if (canvas == null) {
44676          // The image has not been resized
44677          return callback(file);
44678        } else {
44679          var resizeMimeType = _this10.options.resizeMimeType;
44680
44681          if (resizeMimeType == null) {
44682            resizeMimeType = file.type;
44683          }
44684
44685          var resizedDataURL = canvas.toDataURL(resizeMimeType, _this10.options.resizeQuality);
44686
44687          if (resizeMimeType === "image/jpeg" || resizeMimeType === "image/jpg") {
44688            // Now add the original EXIF information
44689            resizedDataURL = 
vendor: 7,233 bytes, lines 44689-44914
44689ExifRestore.restore(file.dataURL, resizedDataURL);
44690          }
44691
44692          return callback(Dropzone.dataURItoBlob(resizedDataURL));
44693        }
44694      });
44695    }
44696  }, {
44697    key: "createThumbnail",
44698    value: function createThumbnail(file, width, height, resizeMethod, fixOrientation, callback) {
44699      var _this11 = this;
44700
44701      var fileReader = new FileReader();
44702
44703      fileReader.onload = function () {
44704        file.dataURL = fileReader.result; // Don't bother creating a thumbnail for SVG images since they're vector
44705
44706        if (file.type === "image/svg+xml") {
44707          if (callback != null) {
44708            callback(fileReader.result);
44709          }
44710
44711          return;
44712        }
44713
44714        _this11.createThumbnailFromUrl(file, width, height, resizeMethod, fixOrientation, callback);
44715      };
44716
44717      fileReader.readAsDataURL(file);
44718    } // `mockFile` needs to have these attributes:
44719    //
44720    //     { name: 'name', size: 12345, imageUrl: '' }
44721    //
44722    // `callback` will be invoked when the image has been downloaded and displayed.
44723    // `crossOrigin` will be added to the `img` tag when accessing the file.
44724
44725  }, {
44726    key: "displayExistingFile",
44727    value: function displayExistingFile(mockFile, imageUrl, callback, crossOrigin) {
44728      var _this12 = this;
44729
44730      var resizeThumbnail = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;
44731      this.emit("addedfile", mockFile);
44732      this.emit("complete", mockFile);
44733
44734      if (!resizeThumbnail) {
44735        this.emit("thumbnail", mockFile, imageUrl);
44736        if (callback) callback();
44737      } else {
44738        var onDone = function onDone(thumbnail) {
44739          _this12.emit("thumbnail", mockFile, thumbnail);
44740
44741          if (callback) callback();
44742        };
44743
44744        mockFile.dataURL = imageUrl;
44745        this.createThumbnailFromUrl(mockFile, this.options.thumbnailWidth, this.options.thumbnailHeight, this.options.thumbnailMethod, this.options.fixOrientation, onDone, crossOrigin);
44746      }
44747    }
44748  }, {
44749    key: "createThumbnailFromUrl",
44750    value: function createThumbnailFromUrl(file, width, height, resizeMethod, fixOrientation, callback, crossOrigin) {
44751      var _this13 = this;
44752
44753      // Not using `new Image` here because of a bug in latest Chrome versions.
44754      // See https://github.com/enyo/dropzone/pull/226
44755      var img = document.createElement("img");
44756
44757      if (crossOrigin) {
44758        img.crossOrigin = crossOrigin;
44759      } // fixOrientation is not needed anymore with browsers handling imageOrientation
44760
44761
44762      fixOrientation = getComputedStyle(document.body)["imageOrientation"] == "from-image" ? false : fixOrientation;
44763
44764      img.onload = function () {
44765        var loadExif = function loadExif(callback) {
44766          return callback(1);
44767        };
44768
44769        if (typeof EXIF !== "undefined" && EXIF !== null && fixOrientation) {
44770          loadExif = function loadExif(callback) {
44771            return EXIF.getData(img, function () {
44772              return callback(EXIF.getTag(this, "Orientation"));
44773            });
44774          };
44775        }
44776
44777        return loadExif(function (orientation) {
44778          file.width = img.width;
44779          file.height = img.height;
44780
44781          var resizeInfo = _this13.options.resize.call(_this13, file, width, height, resizeMethod);
44782
44783          var canvas = document.createElement("canvas");
44784          var ctx = canvas.getContext("2d");
44785          canvas.width = resizeInfo.trgWidth;
44786          canvas.height = resizeInfo.trgHeight;
44787
44788          if (orientation > 4) {
44789            canvas.width = resizeInfo.trgHeight;
44790            canvas.height = resizeInfo.trgWidth;
44791          }
44792
44793          switch (orientation) {
44794            case 2:
44795              // horizontal flip
44796              ctx.translate(canvas.width, 0);
44797              ctx.scale(-1, 1);
44798              break;
44799
44800            case 3:
44801              // 180° rotate left
44802              ctx.translate(canvas.width, canvas.height);
44803              ctx.rotate(Math.PI);
44804              break;
44805
44806            case 4:
44807              // vertical flip
44808              ctx.translate(0, canvas.height);
44809              ctx.scale(1, -1);
44810              break;
44811
44812            case 5:
44813              // vertical flip + 90 rotate right
44814              ctx.rotate(0.5 * Math.PI);
44815              ctx.scale(1, -1);
44816              break;
44817
44818            case 6:
44819              // 90° rotate right
44820              ctx.rotate(0.5 * Math.PI);
44821              ctx.translate(0, -canvas.width);
44822              break;
44823
44824            case 7:
44825              // horizontal flip + 90 rotate right
44826              ctx.rotate(0.5 * Math.PI);
44827              ctx.translate(canvas.height, -canvas.width);
44828              ctx.scale(-1, 1);
44829              break;
44830
44831            case 8:
44832              // 90° rotate left
44833              ctx.rotate(-0.5 * Math.PI);
44834              ctx.translate(-canvas.height, 0);
44835              break;
44836          } // This is a bugfix for iOS' scaling bug.
44837
44838
44839          drawImageIOSFix(ctx, img, resizeInfo.srcX != null ? resizeInfo.srcX : 0, resizeInfo.srcY != null ? resizeInfo.srcY : 0, resizeInfo.srcWidth, resizeInfo.srcHeight, resizeInfo.trgX != null ? resizeInfo.trgX : 0, resizeInfo.trgY != null ? resizeInfo.trgY : 0, resizeInfo.trgWidth, resizeInfo.trgHeight);
44840          var thumbnail = canvas.toDataURL("image/png");
44841
44842          if (callback != null) {
44843            return callback(thumbnail, canvas);
44844          }
44845        });
44846      };
44847
44848      if (callback != null) {
44849        img.onerror = callback;
44850      }
44851
44852      return img.src = file.dataURL;
44853    } // Goes through the queue and processes files if there aren't too many already.
44854
44855  }, {
44856    key: "processQueue",
44857    value: function processQueue() {
44858      var parallelUploads = this.options.parallelUploads;
44859      var processingLength = this.getUploadingFiles().length;
44860      var i = processingLength; // There are already at least as many files uploading than should be
44861
44862      if (processingLength >= parallelUploads) {
44863        return;
44864      }
44865
44866      var queuedFiles = this.getQueuedFiles();
44867
44868      if (!(queuedFiles.length > 0)) {
44869        return;
44870      }
44871
44872      if (this.options.uploadMultiple) {
44873        // The files should be uploaded in one request
44874        return this.processFiles(queuedFiles.slice(0, parallelUploads - processingLength));
44875      } else {
44876        while (i < parallelUploads) {
44877          if (!queuedFiles.length) {
44878            return;
44879          } // Nothing left to process
44880
44881
44882          this.processFile(queuedFiles.shift());
44883          i++;
44884        }
44885      }
44886    } // Wrapper for `processFiles`
44887
44888  }, {
44889    key: "processFile",
44890    value: function processFile(file) {
44891      return this.processFiles([file]);
44892    } // Loads the file, then calls finishedLoading()
44893
44894  }, {
44895    key: "processFiles",
44896    value: function processFiles(files) {
44897      var _iterator10 = dropzone_createForOfIteratorHelper(files, true),
44898          _step10;
44899
44900      try {
44901        for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
44902          var file = _step10.value;
44903          file.processing = true; // Backwards compatibility
44904
44905          file.status = Dropzone.UPLOADING;
44906          this.emit("processing", file);
44907        }
44908      } catch (err) {
44909        _iterator10.e(err);
44910      } finally {
44911        _iterator10.f();
44912      }
44913
44914      if (this.options.uploadMultiple) {
vendor: 20,826 bytes, lines 44915-45529
44915        this.emit("processingmultiple", files);
44916      }
44917
44918      return this.uploadFiles(files);
44919    }
44920  }, {
44921    key: "_getFilesWithXhr",
44922    value: function _getFilesWithXhr(xhr) {
44923      var files;
44924      return files = this.files.filter(function (file) {
44925        return file.xhr === xhr;
44926      }).map(function (file) {
44927        return file;
44928      });
44929    } // Cancels the file upload and sets the status to CANCELED
44930    // **if** the file is actually being uploaded.
44931    // If it's still in the queue, the file is being removed from it and the status
44932    // set to CANCELED.
44933
44934  }, {
44935    key: "cancelUpload",
44936    value: function cancelUpload(file) {
44937      if (file.status === Dropzone.UPLOADING) {
44938        var groupedFiles = this._getFilesWithXhr(file.xhr);
44939
44940        var _iterator11 = dropzone_createForOfIteratorHelper(groupedFiles, true),
44941            _step11;
44942
44943        try {
44944          for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
44945            var groupedFile = _step11.value;
44946            groupedFile.status = Dropzone.CANCELED;
44947          }
44948        } catch (err) {
44949          _iterator11.e(err);
44950        } finally {
44951          _iterator11.f();
44952        }
44953
44954        if (typeof file.xhr !== "undefined") {
44955          file.xhr.abort();
44956        }
44957
44958        var _iterator12 = dropzone_createForOfIteratorHelper(groupedFiles, true),
44959            _step12;
44960
44961        try {
44962          for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {
44963            var _groupedFile = _step12.value;
44964            this.emit("canceled", _groupedFile);
44965          }
44966        } catch (err) {
44967          _iterator12.e(err);
44968        } finally {
44969          _iterator12.f();
44970        }
44971
44972        if (this.options.uploadMultiple) {
44973          this.emit("canceledmultiple", groupedFiles);
44974        }
44975      } else if (file.status === Dropzone.ADDED || file.status === Dropzone.QUEUED) {
44976        file.status = Dropzone.CANCELED;
44977        this.emit("canceled", file);
44978
44979        if (this.options.uploadMultiple) {
44980          this.emit("canceledmultiple", [file]);
44981        }
44982      }
44983
44984      if (this.options.autoProcessQueue) {
44985        return this.processQueue();
44986      }
44987    }
44988  }, {
44989    key: "resolveOption",
44990    value: function resolveOption(option) {
44991      if (typeof option === "function") {
44992        for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
44993          args[_key - 1] = arguments[_key];
44994        }
44995
44996        return option.apply(this, args);
44997      }
44998
44999      return option;
45000    }
45001  }, {
45002    key: "uploadFile",
45003    value: function uploadFile(file) {
45004      return this.uploadFiles([file]);
45005    }
45006  }, {
45007    key: "uploadFiles",
45008    value: function uploadFiles(files) {
45009      var _this14 = this;
45010
45011      this._transformFiles(files, function (transformedFiles) {
45012        if (_this14.options.chunking) {
45013          // Chunking is not allowed to be used with `uploadMultiple` so we know
45014          // that there is only __one__file.
45015          var transformedFile = transformedFiles[0];
45016          files[0].upload.chunked = _this14.options.chunking && (_this14.options.forceChunking || transformedFile.size > _this14.options.chunkSize);
45017          files[0].upload.totalChunkCount = Math.ceil(transformedFile.size / _this14.options.chunkSize);
45018        }
45019
45020        if (files[0].upload.chunked) {
45021          // This file should be sent in chunks!
45022          // If the chunking option is set, we **know** that there can only be **one** file, since
45023          // uploadMultiple is not allowed with this option.
45024          var file = files[0];
45025          var _transformedFile = transformedFiles[0];
45026          var startedChunkCount = 0;
45027          file.upload.chunks = [];
45028
45029          var handleNextChunk = function handleNextChunk() {
45030            var chunkIndex = 0; // Find the next item in file.upload.chunks that is not defined yet.
45031
45032            while (file.upload.chunks[chunkIndex] !== undefined) {
45033              chunkIndex++;
45034            } // This means, that all chunks have already been started.
45035
45036
45037            if (chunkIndex >= file.upload.totalChunkCount) return;
45038            startedChunkCount++;
45039            var start = chunkIndex * _this14.options.chunkSize;
45040            var end = Math.min(start + _this14.options.chunkSize, _transformedFile.size);
45041            var dataBlock = {
45042              name: _this14._getParamName(0),
45043              data: _transformedFile.webkitSlice ? _transformedFile.webkitSlice(start, end) : _transformedFile.slice(start, end),
45044              filename: file.upload.filename,
45045              chunkIndex: chunkIndex
45046            };
45047            file.upload.chunks[chunkIndex] = {
45048              file: file,
45049              index: chunkIndex,
45050              dataBlock: dataBlock,
45051              // In case we want to retry.
45052              status: Dropzone.UPLOADING,
45053              progress: 0,
45054              retries: 0 // The number of times this block has been retried.
45055
45056            };
45057
45058            _this14._uploadData(files, [dataBlock]);
45059          };
45060
45061          file.upload.finishedChunkUpload = function (chunk, response) {
45062            var allFinished = true;
45063            chunk.status = Dropzone.SUCCESS; // Clear the data from the chunk
45064
45065            chunk.dataBlock = null; // Leaving this reference to xhr intact here will cause memory leaks in some browsers
45066
45067            chunk.xhr = null;
45068
45069            for (var i = 0; i < file.upload.totalChunkCount; i++) {
45070              if (file.upload.chunks[i] === undefined) {
45071                return handleNextChunk();
45072              }
45073
45074              if (file.upload.chunks[i].status !== Dropzone.SUCCESS) {
45075                allFinished = false;
45076              }
45077            }
45078
45079            if (allFinished) {
45080              _this14.options.chunksUploaded(file, function () {
45081                _this14._finished(files, response, null);
45082              });
45083            }
45084          };
45085
45086          if (_this14.options.parallelChunkUploads) {
45087            for (var i = 0; i < file.upload.totalChunkCount; i++) {
45088              handleNextChunk();
45089            }
45090          } else {
45091            handleNextChunk();
45092          }
45093        } else {
45094          var dataBlocks = [];
45095
45096          for (var _i2 = 0; _i2 < files.length; _i2++) {
45097            dataBlocks[_i2] = {
45098              name: _this14._getParamName(_i2),
45099              data: transformedFiles[_i2],
45100              filename: files[_i2].upload.filename
45101            };
45102          }
45103
45104          _this14._uploadData(files, dataBlocks);
45105        }
45106      });
45107    } /// Returns the right chunk for given file and xhr
45108
45109  }, {
45110    key: "_getChunk",
45111    value: function _getChunk(file, xhr) {
45112      for (var i = 0; i < file.upload.totalChunkCount; i++) {
45113        if (file.upload.chunks[i] !== undefined && file.upload.chunks[i].xhr === xhr) {
45114          return file.upload.chunks[i];
45115        }
45116      }
45117    } // This function actually uploads the file(s) to the server.
45118    // If dataBlocks contains the actual data to upload (meaning, that this could either be transformed
45119    // files, or individual chunks for chunked upload).
45120
45121  }, {
45122    key: "_uploadData",
45123    value: function _uploadData(files, dataBlocks) {
45124      var _this15 = this;
45125
45126      var xhr = new XMLHttpRequest(); // Put the xhr object in the file objects to be able to reference it later.
45127
45128      var _iterator13 = dropzone_createForOfIteratorHelper(files, true),
45129          _step13;
45130
45131      try {
45132        for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {
45133          var file = _step13.value;
45134          file.xhr = xhr;
45135        }
45136      } catch (err) {
45137        _iterator13.e(err);
45138      } finally {
45139        _iterator13.f();
45140      }
45141
45142      if (files[0].upload.chunked) {
45143        // Put the xhr object in the right chunk object, so it can be associated later, and found with _getChunk
45144        files[0].upload.chunks[dataBlocks[0].chunkIndex].xhr = xhr;
45145      }
45146
45147      var method = this.resolveOption(this.options.method, files);
45148      var url = this.resolveOption(this.options.url, files);
45149      xhr.open(method, url, true); // Setting the timeout after open because of IE11 issue: https://gitlab.com/meno/dropzone/issues/8
45150
45151      var timeout = this.resolveOption(this.options.timeout, files);
45152      if (timeout) xhr.timeout = this.resolveOption(this.options.timeout, files); // Has to be after `.open()`. See https://github.com/enyo/dropzone/issues/179
45153
45154      xhr.withCredentials = !!this.options.withCredentials;
45155
45156      xhr.onload = function (e) {
45157        _this15._finishedUploading(files, xhr, e);
45158      };
45159
45160      xhr.ontimeout = function () {
45161        _this15._handleUploadError(files, xhr, "Request timedout after ".concat(_this15.options.timeout / 1000, " seconds"));
45162      };
45163
45164      xhr.onerror = function () {
45165        _this15._handleUploadError(files, xhr);
45166      }; // Some browsers do not have the .upload property
45167
45168
45169      var progressObj = xhr.upload != null ? xhr.upload : xhr;
45170
45171      progressObj.onprogress = function (e) {
45172        return _this15._updateFilesUploadProgress(files, xhr, e);
45173      };
45174
45175      var headers = {
45176        Accept: "application/json",
45177        "Cache-Control": "no-cache",
45178        "X-Requested-With": "XMLHttpRequest"
45179      };
45180
45181      if (this.options.headers) {
45182        Dropzone.extend(headers, this.options.headers);
45183      }
45184
45185      for (var headerName in headers) {
45186        var headerValue = headers[headerName];
45187
45188        if (headerValue) {
45189          xhr.setRequestHeader(headerName, headerValue);
45190        }
45191      }
45192
45193      var formData = new FormData(); // Adding all @options parameters
45194
45195      if (this.options.params) {
45196        var additionalParams = this.options.params;
45197
45198        if (typeof additionalParams === "function") {
45199          additionalParams = additionalParams.call(this, files, xhr, files[0].upload.chunked ? this._getChunk(files[0], xhr) : null);
45200        }
45201
45202        for (var key in additionalParams) {
45203          var value = additionalParams[key];
45204
45205          if (Array.isArray(value)) {
45206            // The additional parameter contains an array,
45207            // so lets iterate over it to attach each value
45208            // individually.
45209            for (var i = 0; i < value.length; i++) {
45210              formData.append(key, value[i]);
45211            }
45212          } else {
45213            formData.append(key, value);
45214          }
45215        }
45216      } // Let the user add additional data if necessary
45217
45218
45219      var _iterator14 = dropzone_createForOfIteratorHelper(files, true),
45220          _step14;
45221
45222      try {
45223        for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {
45224          var _file = _step14.value;
45225          this.emit("sending", _file, xhr, formData);
45226        }
45227      } catch (err) {
45228        _iterator14.e(err);
45229      } finally {
45230        _iterator14.f();
45231      }
45232
45233      if (this.options.uploadMultiple) {
45234        this.emit("sendingmultiple", files, xhr, formData);
45235      }
45236
45237      this._addFormElementData(formData); // Finally add the files
45238      // Has to be last because some servers (eg: S3) expect the file to be the last parameter
45239
45240
45241      for (var _i3 = 0; _i3 < dataBlocks.length; _i3++) {
45242        var dataBlock = dataBlocks[_i3];
45243        formData.append(dataBlock.name, dataBlock.data, dataBlock.filename);
45244      }
45245
45246      this.submitRequest(xhr, formData, files);
45247    } // Transforms all files with this.options.transformFile and invokes done with the transformed files when done.
45248
45249  }, {
45250    key: "_transformFiles",
45251    value: function _transformFiles(files, done) {
45252      var _this16 = this;
45253
45254      var transformedFiles = []; // Clumsy way of handling asynchronous calls, until I get to add a proper Future library.
45255
45256      var doneCounter = 0;
45257
45258      var _loop = function _loop(i) {
45259        _this16.options.transformFile.call(_this16, files[i], function (transformedFile) {
45260          transformedFiles[i] = transformedFile;
45261
45262          if (++doneCounter === files.length) {
45263            done(transformedFiles);
45264          }
45265        });
45266      };
45267
45268      for (var i = 0; i < files.length; i++) {
45269        _loop(i);
45270      }
45271    } // Takes care of adding other input elements of the form to the AJAX request
45272
45273  }, {
45274    key: "_addFormElementData",
45275    value: function _addFormElementData(formData) {
45276      // Take care of other input elements
45277      if (this.element.tagName === "FORM") {
45278        var _iterator15 = dropzone_createForOfIteratorHelper(this.element.querySelectorAll("input, textarea, select, button"), true),
45279            _step15;
45280
45281        try {
45282          for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {
45283            var input = _step15.value;
45284            var inputName = input.getAttribute("name");
45285            var inputType = input.getAttribute("type");
45286            if (inputType) inputType = inputType.toLowerCase(); // If the input doesn't have a name, we can't use it.
45287
45288            if (typeof inputName === "undefined" || inputName === null) continue;
45289
45290            if (input.tagName === "SELECT" && input.hasAttribute("multiple")) {
45291              // Possibly multiple values
45292              var _iterator16 = dropzone_createForOfIteratorHelper(input.options, true),
45293                  _step16;
45294
45295              try {
45296                for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {
45297                  var option = _step16.value;
45298
45299                  if (option.selected) {
45300                    formData.append(inputName, option.value);
45301                  }
45302                }
45303              } catch (err) {
45304                _iterator16.e(err);
45305              } finally {
45306                _iterator16.f();
45307              }
45308            } else if (!inputType || inputType !== "checkbox" && inputType !== "radio" || input.checked) {
45309              formData.append(inputName, input.value);
45310            }
45311          }
45312        } catch (err) {
45313          _iterator15.e(err);
45314        } finally {
45315          _iterator15.f();
45316        }
45317      }
45318    } // Invoked when there is new progress information about given files.
45319    // If e is not provided, it is assumed that the upload is finished.
45320
45321  }, {
45322    key: "_updateFilesUploadProgress",
45323    value: function _updateFilesUploadProgress(files, xhr, e) {
45324      if (!files[0].upload.chunked) {
45325        // Handle file uploads without chunking
45326        var _iterator17 = dropzone_createForOfIteratorHelper(files, true),
45327            _step17;
45328
45329        try {
45330          for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) {
45331            var file = _step17.value;
45332
45333            if (file.upload.total && file.upload.bytesSent && file.upload.bytesSent == file.upload.total) {
45334              // If both, the `total` and `bytesSent` have already been set, and
45335              // they are equal (meaning progress is at 100%), we can skip this
45336              // file, since an upload progress shouldn't go down.
45337              continue;
45338            }
45339
45340            if (e) {
45341              file.upload.progress = 100 * e.loaded / e.total;
45342              file.upload.total = e.total;
45343              file.upload.bytesSent = e.loaded;
45344            } else {
45345              // No event, so we're at 100%
45346              file.upload.progress = 100;
45347              file.upload.bytesSent = file.upload.total;
45348            }
45349
45350            this.emit("uploadprogress", file, file.upload.progress, file.upload.bytesSent);
45351          }
45352        } catch (err) {
45353          _iterator17.e(err);
45354        } finally {
45355          _iterator17.f();
45356        }
45357      } else {
45358        // Handle chunked file uploads
45359        // Chunked upload is not compatible with uploading multiple files in one
45360        // request, so we know there's only one file.
45361        var _file2 = files[0]; // Since this is a chunked upload, we need to update the appropriate chunk
45362        // progress.
45363
45364        var chunk = this._getChunk(_file2, xhr);
45365
45366        if (e) {
45367          chunk.progress = 100 * e.loaded / e.total;
45368          chunk.total = e.total;
45369          chunk.bytesSent = e.loaded;
45370        } else {
45371          // No event, so we're at 100%
45372          chunk.progress = 100;
45373          chunk.bytesSent = chunk.total;
45374        } // Now tally the *file* upload progress from its individual chunks
45375
45376
45377        _file2.upload.progress = 0;
45378        _file2.upload.total = 0;
45379        _file2.upload.bytesSent = 0;
45380
45381        for (var i = 0; i < _file2.upload.totalChunkCount; i++) {
45382          if (_file2.upload.chunks[i] && typeof _file2.upload.chunks[i].progress !== "undefined") {
45383            _file2.upload.progress += _file2.upload.chunks[i].progress;
45384            _file2.upload.total += _file2.upload.chunks[i].total;
45385            _file2.upload.bytesSent += _file2.upload.chunks[i].bytesSent;
45386          }
45387        } // Since the process is a percentage, we need to divide by the amount of
45388        // chunks we've used.
45389
45390
45391        _file2.upload.progress = _file2.upload.progress / _file2.upload.totalChunkCount;
45392        this.emit("uploadprogress", _file2, _file2.upload.progress, _file2.upload.bytesSent);
45393      }
45394    }
45395  }, {
45396    key: "_finishedUploading",
45397    value: function _finishedUploading(files, xhr, e) {
45398      var response;
45399
45400      if (files[0].status === Dropzone.CANCELED) {
45401        return;
45402      }
45403
45404      if (xhr.readyState !== 4) {
45405        return;
45406      }
45407
45408      if (xhr.responseType !== "arraybuffer" && xhr.responseType !== "blob") {
45409        response = xhr.responseText;
45410
45411        if (xhr.getResponseHeader("content-type") && ~xhr.getResponseHeader("content-type").indexOf("application/json")) {
45412          try {
45413            response = JSON.parse(response);
45414          } catch (error) {
45415            e = error;
45416            response = "Invalid JSON response from server.";
45417          }
45418        }
45419      }
45420
45421      this._updateFilesUploadProgress(files, xhr);
45422
45423      if (!(200 <= xhr.status && xhr.status < 300)) {
45424        this._handleUploadError(files, xhr, response);
45425      } else {
45426        if (files[0].upload.chunked) {
45427          files[0].upload.finishedChunkUpload(this._getChunk(files[0], xhr), response);
45428        } else {
45429          this._finished(files, response, e);
45430        }
45431      }
45432    }
45433  }, {
45434    key: "_handleUploadError",
45435    value: function _handleUploadError(files, xhr, response) {
45436      if (files[0].status === Dropzone.CANCELED) {
45437        return;
45438      }
45439
45440      if (files[0].upload.chunked && this.options.retryChunks) {
45441        var chunk = this._getChunk(files[0], xhr);
45442
45443        if (chunk.retries++ < this.options.retryChunksLimit) {
45444          this._uploadData(files, [chunk.dataBlock]);
45445
45446          return;
45447        } else {
45448          console.warn("Retried this chunk too often. Giving up.");
45449        }
45450      }
45451
45452      this._errorProcessing(files, response || this.options.dictResponseError.replace("{{statusCode}}", xhr.status), xhr);
45453    }
45454  }, {
45455    key: "submitRequest",
45456    value: function submitRequest(xhr, formData, files) {
45457      if (xhr.readyState != 1) {
45458        console.warn("Cannot send this request because the XMLHttpRequest.readyState is not OPENED.");
45459        return;
45460      }
45461
45462      xhr.send(formData);
45463    } // Called internally when processing is finished.
45464    // Individual callbacks have to be called in the appropriate sections.
45465
45466  }, {
45467    key: "_finished",
45468    value: function _finished(files, responseText, e) {
45469      var _iterator18 = dropzone_createForOfIteratorHelper(files, true),
45470          _step18;
45471
45472      try {
45473        for (_iterator18.s(); !(_step18 = _iterator18.n()).done;) {
45474          var file = _step18.value;
45475          file.status = Dropzone.SUCCESS;
45476          this.emit("success", file, responseText, e);
45477          this.emit("complete", file);
45478        }
45479      } catch (err) {
45480        _iterator18.e(err);
45481      } finally {
45482        _iterator18.f();
45483      }
45484
45485      if (this.options.uploadMultiple) {
45486        this.emit("successmultiple", files, responseText, e);
45487        this.emit("completemultiple", files);
45488      }
45489
45490      if (this.options.autoProcessQueue) {
45491        return this.processQueue();
45492      }
45493    } // Called internally when processing is finished.
45494    // Individual callbacks have to be called in the appropriate sections.
45495
45496  }, {
45497    key: "_errorProcessing",
45498    value: function _errorProcessing(files, message, xhr) {
45499      var _iterator19 = dropzone_createForOfIteratorHelper(files, true),
45500          _step19;
45501
45502      try {
45503        for (_iterator19.s(); !(_step19 = _iterator19.n()).done;) {
45504          var file = _step19.value;
45505          file.status = Dropzone.ERROR;
45506          this.emit("error", file, message, xhr);
45507          this.emit("complete", file);
45508        }
45509      } catch (err) {
45510        _iterator19.e(err);
45511      } finally {
45512        _iterator19.f();
45513      }
45514
45515      if (this.options.uploadMultiple) {
45516        this.emit("errormultiple", files, message, xhr);
45517        this.emit("completemultiple", files);
45518      }
45519
45520      if (this.options.autoProcessQueue) {
45521        return this.processQueue();
45522      }
45523    }
45524  }], [{
45525    key: "initClass",
45526    value: function initClass() {
45527      // Exposing the emitter class, mainly for tests
45528      this.prototype.Emitter = Emitter;
45529      /*
45529
45530       This is a list of all available events you can register on a dropzone object.
45531        You can register an event handler like this:
45532        dropzone.on("dragEnter", function() { });
45533        */
45534
45535      this.prototype.events = ["drop", "dragstart", "dragend", "dragenter", "dragover", "dragleave", "addedfile", "addedfiles", "removedfile", "thumbnail", "error", "errormultiple", "processing", "processingmultiple", "uploadprogress", "totaluploadprogress", "sending", "sendingmultiple", "success", "successmultiple", "canceled", "canceledmultiple", "complete", "completemultiple", "reset", "maxfilesexceeded", "maxfilesreached", "queuecomplete"];
45536      this.prototype._thumbnailQueue = [];
45537      this.prototype._processingThumbnail = false;
45538    } // global utility
45539
45540  }, {
45541    key: "extend",
45542    value: function extend(target) {
45543      for (var _len2 = arguments.length, objects = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
45544        objects[_key2 - 1] = arguments[_key2];
45545      }
45546
45547      for (var _i4 = 0, _objects = objects; _i4 < _objects.length; _i4++) {
45548        var object = _objects[_i4];
45549
45550        for (var key in object) {
45551          var val = object[key];
45552          target[key] = val;
45553        }
45554      }
45555
45556      return target;
45557    }
45558  }, {
45559    key: "uuidv4",
45560    value: function uuidv4() {
45561      return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) {
45562        var r = Math.random() * 16 | 0,
45563            v = c === "x" ? r : r & 0x3 | 0x8;
45564        return v.toString(16);
45565      });
45566    }
45567  }]);
45568
45569  return Dropzone;
45570}(Emitter);
45571
45572
45573Dropzone.initClass();
45574Dropzone.version = "5.9.3
vendor: 9,117 bytes, lines 45574-45890
45574"; // This is a map of options for your different dropzones. Add configurations
45575// to this object for your different dropzone elemens.
45576//
45577// Example:
45578//
45579//     Dropzone.options.myDropzoneElementId = { maxFilesize: 1 };
45580//
45581// To disable autoDiscover for a specific element, you can set `false` as an option:
45582//
45583//     Dropzone.options.myDisabledElementId = false;
45584//
45585// And in html:
45586//
45587//     <form action="/upload" id="my-dropzone-element-id" class="dropzone"></form>
45588
45589Dropzone.options = {}; // Returns the options for an element or undefined if none available.
45590
45591Dropzone.optionsForElement = function (element) {
45592  // Get the `Dropzone.options.elementId` for this element if it exists
45593  if (element.getAttribute("id")) {
45594    return Dropzone.options[camelize(element.getAttribute("id"))];
45595  } else {
45596    return undefined;
45597  }
45598}; // Holds a list of all dropzone instances
45599
45600
45601Dropzone.instances = []; // Returns the dropzone for given element if any
45602
45603Dropzone.forElement = function (element) {
45604  if (typeof element === "string") {
45605    element = document.querySelector(element);
45606  }
45607
45608  if ((element != null ? element.dropzone : undefined) == null) {
45609    throw new Error("No Dropzone found for given element. This is probably because you're trying to access it before Dropzone had the time to initialize. Use the `init` option to setup any additional observers on your Dropzone.");
45610  }
45611
45612  return element.dropzone;
45613}; // Set to false if you don't want Dropzone to automatically find and attach to .dropzone elements.
45614
45615
45616Dropzone.autoDiscover = true; // Looks for all .dropzone elements and creates a dropzone for them
45617
45618Dropzone.discover = function () {
45619  var dropzones;
45620
45621  if (document.querySelectorAll) {
45622    dropzones = document.querySelectorAll(".dropzone");
45623  } else {
45624    dropzones = []; // IE :(
45625
45626    var checkElements = function checkElements(elements) {
45627      return function () {
45628        var result = [];
45629
45630        var _iterator20 = dropzone_createForOfIteratorHelper(elements, true),
45631            _step20;
45632
45633        try {
45634          for (_iterator20.s(); !(_step20 = _iterator20.n()).done;) {
45635            var el = _step20.value;
45636
45637            if (/(^| )dropzone($| )/.test(el.className)) {
45638              result.push(dropzones.push(el));
45639            } else {
45640              result.push(undefined);
45641            }
45642          }
45643        } catch (err) {
45644          _iterator20.e(err);
45645        } finally {
45646          _iterator20.f();
45647        }
45648
45649        return result;
45650      }();
45651    };
45652
45653    checkElements(document.getElementsByTagName("div"));
45654    checkElements(document.getElementsByTagName("form"));
45655  }
45656
45657  return function () {
45658    var result = [];
45659
45660    var _iterator21 = dropzone_createForOfIteratorHelper(dropzones, true),
45661        _step21;
45662
45663    try {
45664      for (_iterator21.s(); !(_step21 = _iterator21.n()).done;) {
45665        var dropzone = _step21.value;
45666
45667        // Create a dropzone unless auto discover has been disabled for specific element
45668        if (Dropzone.optionsForElement(dropzone) !== false) {
45669          result.push(new Dropzone(dropzone));
45670        } else {
45671          result.push(undefined);
45672        }
45673      }
45674    } catch (err) {
45675      _iterator21.e(err);
45676    } finally {
45677      _iterator21.f();
45678    }
45679
45680    return result;
45681  }();
45682}; // Some browsers support drag and drog functionality, but not correctly.
45683//
45684// So I created a blocklist of userAgents. Yes, yes. Browser sniffing, I know.
45685// But what to do when browsers *theoretically* support an API, but crash
45686// when using it.
45687//
45688// This is a list of regular expressions tested against navigator.userAgent
45689//
45690// ** It should only be used on browser that *do* support the API, but
45691// incorrectly **
45692
45693
45694Dropzone.blockedBrowsers = [// The mac os and windows phone version of opera 12 seems to have a problem with the File drag'n'drop API.
45695/opera.*(Macintosh|Windows Phone).*version\/12/i]; // Checks if the browser is supported
45696
45697Dropzone.isBrowserSupported = function () {
45698  var capableBrowser = true;
45699
45700  if (window.File && window.FileReader && window.FileList && window.Blob && window.FormData && document.querySelector) {
45701    if (!("classList" in document.createElement("a"))) {
45702      capableBrowser = false;
45703    } else {
45704      if (Dropzone.blacklistedBrowsers !== undefined) {
45705        // Since this has been renamed, this makes sure we don't break older
45706        // configuration.
45707        Dropzone.blockedBrowsers = Dropzone.blacklistedBrowsers;
45708      } // The browser supports the API, but may be blocked.
45709
45710
45711      var _iterator22 = dropzone_createForOfIteratorHelper(Dropzone.blockedBrowsers, true),
45712          _step22;
45713
45714      try {
45715        for (_iterator22.s(); !(_step22 = _iterator22.n()).done;) {
45716          var regex = _step22.value;
45717
45718          if (regex.test(navigator.userAgent)) {
45719            capableBrowser = false;
45720            continue;
45721          }
45722        }
45723      } catch (err) {
45724        _iterator22.e(err);
45725      } finally {
45726        _iterator22.f();
45727      }
45728    }
45729  } else {
45730    capableBrowser = false;
45731  }
45732
45733  return capableBrowser;
45734};
45735
45736Dropzone.dataURItoBlob = function (dataURI) {
45737  // convert base64 to raw binary data held in a string
45738  // doesn't handle URLEncoded DataURIs - see SO answer #6850276 for code that does this
45739  var byteString = atob(dataURI.split(",")[1]); // separate out the mime component
45740
45741  var mimeString = dataURI.split(",")[0].split(":")[1].split(";")[0]; // write the bytes of the string to an ArrayBuffer
45742
45743  var ab = new ArrayBuffer(byteString.length);
45744  var ia = new Uint8Array(ab);
45745
45746  for (var i = 0, end = byteString.length, asc = 0 <= end; asc ? i <= end : i >= end; asc ? i++ : i--) {
45747    ia[i] = byteString.charCodeAt(i);
45748  } // write the ArrayBuffer to a blob
45749
45750
45751  return new Blob([ab], {
45752    type: mimeString
45753  });
45754}; // Returns an array without the rejected item
45755
45756
45757var without = function without(list, rejectedItem) {
45758  return list.filter(function (item) {
45759    return item !== rejectedItem;
45760  }).map(function (item) {
45761    return item;
45762  });
45763}; // abc-def_ghi -> abcDefGhi
45764
45765
45766var camelize = function camelize(str) {
45767  return str.replace(/[\-_](\w)/g, function (match) {
45768    return match.charAt(1).toUpperCase();
45769  });
45770}; // Creates an element from string
45771
45772
45773Dropzone.createElement = function (string) {
45774  var div = document.createElement("div");
45775  div.innerHTML = string;
45776  return div.childNodes[0];
45777}; // Tests if given element is inside (or simply is) the container
45778
45779
45780Dropzone.elementInside = function (element, container) {
45781  if (element === container) {
45782    return true;
45783  } // Coffeescript doesn't support do/while loops
45784
45785
45786  while (element = element.parentNode) {
45787    if (element === container) {
45788      return true;
45789    }
45790  }
45791
45792  return false;
45793};
45794
45795Dropzone.getElement = function (el, name) {
45796  var element;
45797
45798  if (typeof el === "string") {
45799    element = document.querySelector(el);
45800  } else if (el.nodeType != null) {
45801    element = el;
45802  }
45803
45804  if (element == null) {
45805    throw new Error("Invalid `".concat(name, "` option provided. Please provide a CSS selector or a plain HTML element."));
45806  }
45807
45808  return element;
45809};
45810
45811Dropzone.getElements = function (els, name) {
45812  var el, elements;
45813
45814  if (els instanceof Array) {
45815    elements = [];
45816
45817    try {
45818      var _iterator23 = dropzone_createForOfIteratorHelper(els, true),
45819          _step23;
45820
45821      try {
45822        for (_iterator23.s(); !(_step23 = _iterator23.n()).done;) {
45823          el = _step23.value;
45824          elements.push(this.getElement(el, name));
45825        }
45826      } catch (err) {
45827        _iterator23.e(err);
45828      } finally {
45829        _iterator23.f();
45830      }
45831    } catch (e) {
45832      elements = null;
45833    }
45834  } else if (typeof els === "string") {
45835    elements = [];
45836
45837    var _iterator24 = dropzone_createForOfIteratorHelper(document.querySelectorAll(els), true),
45838        _step24;
45839
45840    try {
45841      for (_iterator24.s(); !(_step24 = _iterator24.n()).done;) {
45842        el = _step24.value;
45843        elements.push(el);
45844      }
45845    } catch (err) {
45846      _iterator24.e(err);
45847    } finally {
45848      _iterator24.f();
45849    }
45850  } else if (els.nodeType != null) {
45851    elements = [els];
45852  }
45853
45854  if (elements == null || !elements.length) {
45855    throw new Error("Invalid `".concat(name, "` option provided. Please provide a CSS selector, a plain HTML element or a list of those."));
45856  }
45857
45858  return elements;
45859}; // Asks the user the question and calls accepted or rejected accordingly
45860//
45861// The default implementation just uses `window.confirm` and then calls the
45862// appropriate callback.
45863
45864
45865Dropzone.confirm = function (question, accepted, rejected) {
45866  if (window.confirm(question)) {
45867    return accepted();
45868  } else if (rejected != null) {
45869    return rejected();
45870  }
45871}; // Validates the mime type like this:
45872//
45873// https://developer.mozilla.org/en-US/docs/HTML/Element/input#attr-accept
45874
45875
45876Dropzone.isValidFile = function (file, acceptedFiles) {
45877  if (!acceptedFiles) {
45878    return true;
45879  } // If there are no accepted mime types, it's OK
45880
45881
45882  acceptedFiles = acceptedFiles.split(",");
45883  var mimeType = file.type;
45884  var baseMimeType = mimeType.replace(/\/.*$/, "");
45885
45886  var _iterator25 = dropzone_createForOfIteratorHelper(acceptedFiles, true),
45887      _step25;
45888
45889  try {
45890    for (_iterator25.s();
vendor: 10,317 bytes, lines 45890-46281
45890 !(_step25 = _iterator25.n()).done;) {
45891      var validType = _step25.value;
45892      validType = validType.trim();
45893
45894      if (validType.charAt(0) === ".") {
45895        if (file.name.toLowerCase().indexOf(validType.toLowerCase(), file.name.length - validType.length) !== -1) {
45896          return true;
45897        }
45898      } else if (/\/\*$/.test(validType)) {
45899        // This is something like a image/* mime type
45900        if (baseMimeType === validType.replace(/\/.*$/, "")) {
45901          return true;
45902        }
45903      } else {
45904        if (mimeType === validType) {
45905          return true;
45906        }
45907      }
45908    }
45909  } catch (err) {
45910    _iterator25.e(err);
45911  } finally {
45912    _iterator25.f();
45913  }
45914
45915  return false;
45916}; // Augment jQuery
45917
45918
45919if (typeof jQuery !== "undefined" && jQuery !== null) {
45920  jQuery.fn.dropzone = function (options) {
45921    return this.each(function () {
45922      return new Dropzone(this, options);
45923    });
45924  };
45925} // Dropzone file status codes
45926
45927
45928Dropzone.ADDED = "added";
45929Dropzone.QUEUED = "queued"; // For backwards compatibility. Now, if a file is accepted, it's either queued
45930// or uploading.
45931
45932Dropzone.ACCEPTED = Dropzone.QUEUED;
45933Dropzone.UPLOADING = "uploading";
45934Dropzone.PROCESSING = Dropzone.UPLOADING; // alias
45935
45936Dropzone.CANCELED = "canceled";
45937Dropzone.ERROR = "error";
45938Dropzone.SUCCESS = "success";
45939/*
45940
45941 Bugfix for iOS 6 and 7
45942 Source: http://stackoverflow.com/questions/11929099/html5-canvas-drawimage-ratio-bug-ios
45943 based on the work of https://github.com/stomita/ios-imagefile-megapixel
45944
45945 */
45946// Detecting vertical squash in loaded image.
45947// Fixes a bug which squash image vertically while drawing into canvas for some images.
45948// This is a bug in iOS6 devices. This function from https://github.com/stomita/ios-imagefile-megapixel
45949
45950var detectVerticalSquash = function detectVerticalSquash(img) {
45951  var iw = img.naturalWidth;
45952  var ih = img.naturalHeight;
45953  var canvas = document.createElement("canvas");
45954  canvas.width = 1;
45955  canvas.height = ih;
45956  var ctx = canvas.getContext("2d");
45957  ctx.drawImage(img, 0, 0);
45958
45959  var _ctx$getImageData = ctx.getImageData(1, 0, 1, ih),
45960      data = _ctx$getImageData.data; // search image edge pixel position in case it is squashed vertically.
45961
45962
45963  var sy = 0;
45964  var ey = ih;
45965  var py = ih;
45966
45967  while (py > sy) {
45968    var alpha = data[(py - 1) * 4 + 3];
45969
45970    if (alpha === 0) {
45971      ey = py;
45972    } else {
45973      sy = py;
45974    }
45975
45976    py = ey + sy >> 1;
45977  }
45978
45979  var ratio = py / ih;
45980
45981  if (ratio === 0) {
45982    return 1;
45983  } else {
45984    return ratio;
45985  }
45986}; // A replacement for context.drawImage
45987// (args are for source and destination).
45988
45989
45990var drawImageIOSFix = function drawImageIOSFix(ctx, img, sx, sy, sw, sh, dx, dy, dw, dh) {
45991  var vertSquashRatio = detectVerticalSquash(img);
45992  return ctx.drawImage(img, sx, sy, sw, sh, dx, dy, dw, dh / vertSquashRatio);
45993}; // Based on MinifyJpeg
45994// Source: http://www.perry.cz/files/ExifRestorer.js
45995// http://elicon.blog57.fc2.com/blog-entry-206.html
45996
45997
45998var ExifRestore = /*#__PURE__*/function () {
45999  function ExifRestore() {
46000    dropzone_classCallCheck(this, ExifRestore);
46001  }
46002
46003  dropzone_createClass(ExifRestore, null, [{
46004    key: "initClass",
46005    value: function initClass() {
46006      this.KEY_STR = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
46007    }
46008  }, {
46009    key: "encode64",
46010    value: function encode64(input) {
46011      var output = "";
46012      var chr1 = undefined;
46013      var chr2 = undefined;
46014      var chr3 = "";
46015      var enc1 = undefined;
46016      var enc2 = undefined;
46017      var enc3 = undefined;
46018      var enc4 = "";
46019      var i = 0;
46020
46021      while (true) {
46022        chr1 = input[i++];
46023        chr2 = input[i++];
46024        chr3 = input[i++];
46025        enc1 = chr1 >> 2;
46026        enc2 = (chr1 & 3) << 4 | chr2 >> 4;
46027        enc3 = (chr2 & 15) << 2 | chr3 >> 6;
46028        enc4 = chr3 & 63;
46029
46030        if (isNaN(chr2)) {
46031          enc3 = enc4 = 64;
46032        } else if (isNaN(chr3)) {
46033          enc4 = 64;
46034        }
46035
46036        output = output + this.KEY_STR.charAt(enc1) + this.KEY_STR.charAt(enc2) + this.KEY_STR.charAt(enc3) + this.KEY_STR.charAt(enc4);
46037        chr1 = chr2 = chr3 = "";
46038        enc1 = enc2 = enc3 = enc4 = "";
46039
46040        if (!(i < input.length)) {
46041          break;
46042        }
46043      }
46044
46045      return output;
46046    }
46047  }, {
46048    key: "restore",
46049    value: function restore(origFileBase64, resizedFileBase64) {
46050      if (!origFileBase64.match("data:image/jpeg;base64,")) {
46051        return resizedFileBase64;
46052      }
46053
46054      var rawImage = this.decode64(origFileBase64.replace("data:image/jpeg;base64,", ""));
46055      var segments = this.slice2Segments(rawImage);
46056      var image = this.exifManipulation(resizedFileBase64, segments);
46057      return "data:image/jpeg;base64,".concat(this.encode64(image));
46058    }
46059  }, {
46060    key: "exifManipulation",
46061    value: function exifManipulation(resizedFileBase64, segments) {
46062      var exifArray = this.getExifArray(segments);
46063      var newImageArray = this.insertExif(resizedFileBase64, exifArray);
46064      var aBuffer = new Uint8Array(newImageArray);
46065      return aBuffer;
46066    }
46067  }, {
46068    key: "getExifArray",
46069    value: function getExifArray(segments) {
46070      var seg = undefined;
46071      var x = 0;
46072
46073      while (x < segments.length) {
46074        seg = segments[x];
46075
46076        if (seg[0] === 255 & seg[1] === 225) {
46077          return seg;
46078        }
46079
46080        x++;
46081      }
46082
46083      return [];
46084    }
46085  }, {
46086    key: "insertExif",
46087    value: function insertExif(resizedFileBase64, exifArray) {
46088      var imageData = resizedFileBase64.replace("data:image/jpeg;base64,", "");
46089      var buf = this.decode64(imageData);
46090      var separatePoint = buf.indexOf(255, 3);
46091      var mae = buf.slice(0, separatePoint);
46092      var ato = buf.slice(separatePoint);
46093      var array = mae;
46094      array = array.concat(exifArray);
46095      array = array.concat(ato);
46096      return array;
46097    }
46098  }, {
46099    key: "slice2Segments",
46100    value: function slice2Segments(rawImageArray) {
46101      var head = 0;
46102      var segments = [];
46103
46104      while (true) {
46105        var length;
46106
46107        if (rawImageArray[head] === 255 & rawImageArray[head + 1] === 218) {
46108          break;
46109        }
46110
46111        if (rawImageArray[head] === 255 & rawImageArray[head + 1] === 216) {
46112          head += 2;
46113        } else {
46114          length = rawImageArray[head + 2] * 256 + rawImageArray[head + 3];
46115          var endPoint = head + length + 2;
46116          var seg = rawImageArray.slice(head, endPoint);
46117          segments.push(seg);
46118          head = endPoint;
46119        }
46120
46121        if (head > rawImageArray.length) {
46122          break;
46123        }
46124      }
46125
46126      return segments;
46127    }
46128  }, {
46129    key: "decode64",
46130    value: function decode64(input) {
46131      var output = "";
46132      var chr1 = undefined;
46133      var chr2 = undefined;
46134      var chr3 = "";
46135      var enc1 = undefined;
46136      var enc2 = undefined;
46137      var enc3 = undefined;
46138      var enc4 = "";
46139      var i = 0;
46140      var buf = []; // remove all characters that are not A-Z, a-z, 0-9, +, /, or =
46141
46142      var base64test = /[^A-Za-z0-9\+\/\=]/g;
46143
46144      if (base64test.exec(input)) {
46145        console.warn("There were invalid base64 characters in the input text.\nValid base64 characters are A-Z, a-z, 0-9, '+', '/',and '='\nExpect errors in decoding.");
46146      }
46147
46148      input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
46149
46150      while (true) {
46151        enc1 = this.KEY_STR.indexOf(input.charAt(i++));
46152        enc2 = this.KEY_STR.indexOf(input.charAt(i++));
46153        enc3 = this.KEY_STR.indexOf(input.charAt(i++));
46154        enc4 = this.KEY_STR.indexOf(input.charAt(i++));
46155        chr1 = enc1 << 2 | enc2 >> 4;
46156        chr2 = (enc2 & 15) << 4 | enc3 >> 2;
46157        chr3 = (enc3 & 3) << 6 | enc4;
46158        buf.push(chr1);
46159
46160        if (enc3 !== 64) {
46161          buf.push(chr2);
46162        }
46163
46164        if (enc4 !== 64) {
46165          buf.push(chr3);
46166        }
46167
46168        chr1 = chr2 = chr3 = "";
46169        enc1 = enc2 = enc3 = enc4 = "";
46170
46171        if (!(i < input.length)) {
46172          break;
46173        }
46174      }
46175
46176      return buf;
46177    }
46178  }]);
46179
46180  return ExifRestore;
46181}();
46182
46183ExifRestore.initClass();
46184/*
46185 * contentloaded.js
46186 *
46187 * Author: Diego Perini (diego.perini at gmail.com)
46188 * Summary: cross-browser wrapper for DOMContentLoaded
46189 * Updated: 20101020
46190 * License: MIT
46191 * Version: 1.2
46192 *
46193 * URL:
46194 * http://javascript.nwbox.com/ContentLoaded/
46195 * http://javascript.nwbox.com/ContentLoaded/MIT-LICENSE
46196 */
46197// @win window reference
46198// @fn function reference
46199
46200var contentLoaded = function contentLoaded(win, fn) {
46201  var done = false;
46202  var top = true;
46203  var doc = win.document;
46204  var root = doc.documentElement;
46205  var add = doc.addEventListener ? "addEventListener" : "attachEvent";
46206  var rem = doc.addEventListener ? "removeEventListener" : "detachEvent";
46207  var pre = doc.addEventListener ? "" : "on";
46208
46209  var init = function init(e) {
46210    if (e.type === "readystatechange" && doc.readyState !== "complete") {
46211      return;
46212    }
46213
46214    (e.type === "load" ? win : doc)[rem](pre + e.type, init, false);
46215
46216    if (!done && (done = true)) {
46217      return fn.call(win, e.type || e);
46218    }
46219  };
46220
46221  var poll = function poll() {
46222    try {
46223      root.doScroll("left");
46224    } catch (e) {
46225      setTimeout(poll, 50);
46226      return;
46227    }
46228
46229    return init("poll");
46230  };
46231
46232  if (doc.readyState !== "complete") {
46233    if (doc.createEventObject && root.doScroll) {
46234      try {
46235        top = !win.frameElement;
46236      } catch (error) {}
46237
46238      if (top) {
46239        poll();
46240      }
46241    }
46242
46243    doc[add](pre + "DOMContentLoaded", init, false);
46244    doc[add](pre + "readystatechange", init, false);
46245    return win[add](pre + "load", init, false);
46246  }
46247}; // As a single function to be able to write tests.
46248
46249
46250Dropzone._autoDiscoverFunction = function () {
46251  if (Dropzone.autoDiscover) {
46252    return Dropzone.discover();
46253  }
46254};
46255
46256contentLoaded(window, Dropzone._autoDiscoverFunction);
46257
46258function __guard__(value, transform) {
46259  return typeof value !== "undefined" && value !== null ? transform(value) : undefined;
46260}
46261
46262function __guardMethod__(obj, methodName, transform) {
46263  if (typeof obj !== "undefined" && obj !== null && typeof obj[methodName] === "function") {
46264    return transform(obj, methodName);
46265  } else {
46266    return undefined;
46267  }
46268}
46269
46270
46271;// CONCATENATED MODULE: ./tool/dropzone.dist.js
46272 /// Make Dropzone a global variable.
46273
46274window.Dropzone = Dropzone;
46275/* harmony default export */ var dropzone_dist = (Dropzone);
46276
46277}();
46278/******/ 	return __webpack_exports__;
46279/******/ })()
46280;
46281});
46281
46282"use strict";
46283
46284//
46285// Dropzone Initialization
46286//
46287
46288// Set Defaults
46289Dropzone.autoDiscover = false;
46290Dropzone.prototype.previewTemplate = `\
46291    <div class="dz-preview dz-file-preview">
46292        <div class="dz-image"><img data-dz-thumbnail /></div>
46293        
46294        <div class="dz-details">
46295            <div class="dz-size"><span data-dz-size></span></div>
46296            <div class="dz-filename"><span data-dz-name></span></div>
46297        </div>
46298
46299        <div class="dz-progress"><span class="dz-upload" data-dz-uploadprogress></span></div>
46300
46301        <div class="dz-error-message"><span data-dz-errormessage></span></div>
46302        
46303        <div class="dz-success-mark">
46304            <svg width="54px" height="54px" viewBox="0 0 54 54" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
46305                <title>Check</title>
46306                <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
46307                    <path d="M23.5,31.8431458 L17.5852419,25.9283877 C16.0248253,24.3679711 13.4910294,24.366835 11.9289322,25.9289322 C10.3700136,27.4878508 10.3665912,30.0234455 11.9283877,31.5852419 L20.4147581,40.0716123 C20.5133999,40.1702541 20.6159315,40.2626649 20.7218615,40.3488435 C22.2835669,41.8725651 24.794234,41.8626202 26.3461564,40.3106978 L43.3106978,23.3461564 C44.8771021,21.7797521 44.8758057,19.2483887 43.3137085,17.6862915 C41.7547899,16.1273729 39.2176035,16.1255422 37.6538436,17.6893022 L23.5,31.8431458 Z M27,53 C41.3594035,53 53,41.3594035 53,27 C53,12.6405965 41.3594035,1 27,1 C12.6405965,1 1,12.6405965 1,27 C1,41.3594035 12.6405965,53 27,53 Z" stroke-opacity="0.198794158" stroke="#747474" fill-opacity="0.816519475" fill="#FFFFFF"></path>
46308                </g>
46309            </svg>
46310        </div>
46311
46312        <div class="dz-error-mark">
46313            <svg width="54px" height="54px" viewBox="0 0 54 54" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
46314                <title>Error</title>
46315                <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
46316                    <g stroke="#747474" stroke-opacity="0.198794158" fill="#FFFFFF" fill-opacity="0.816519475">
46317                    <path d="M32.6568542,29 L38.3106978,23.3461564 C39.8771021,21.7797521 39.8758057,19.2483887 38.3137085,17.6862915 C36.7547899,16.1273729 34.2176035,16.1255422 32.6538436,17.6893022 L27,23.3431458 L21.3461564,17.6893022 C19.7823965,16.1255422 17.2452101,16.1273729 15.6862915,17.6862915 C14.1241943,19.2483887 14.1228979,21.7797521 15.6893022,23.3461564 L21.3431458,29 L15.6893022,34.6538436 C14.1228979,36.2202479 14.1241943,38.7516113 15.6862915,40.3137085 C17.2452101,41.8726271 19.7823965,41.8744578 21.3461564,40.3106978 L27,34.6568542 L32.6538436,40.3106978 C34.2176035,41.8744578 36.7547899,41.8726271 38.3137085,40.3137085 C39.8758057,38.7516113 39.8771021,36.2202479 38.3106978,34.6538436 L32.6568542,29 Z M27,53 C41.3594035,53 53,41.3594035 53,27 C53,12.6405965 41.3594035,1 27,1 C12.6405965,1 1,12.6405965 1,27 C1,41.3594035 12.6405965,53 27,53 Z"></path>
46318                    </g>
46319                </g>
46320            </svg>
46321        </div>
46322    </div>\
46323`;
vendor: 69,030 bytes, lines 46324-46325
46324/*! For license information please see quill.js.LICENSE.txt */
46325!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Quill=e():t.Quill=e()}(self,(function(){return function(){var t={9698:function(t,e,n){"use strict";n.d(e,{Ay:function(){return c},Ji:function(){return d},mG:function(){return h},zo:function(){return u}});var r=n(6003),i=n(5232),s=n.n(i),o=n(3036),l=n(4850),a=n(5508);class c extends r.BlockBlot{cache={};delta(){return null==this.cache.delta&&(this.cache.delta=h(this)),this.cache.delta}deleteAt(t,e){super.deleteAt(t,e),this.cache={}}formatAt(t,e,n,i){e<=0||(this.scroll.query(n,r.Scope.BLOCK)?t+e===this.length()&&this.format(n,i):super.formatAt(t,Math.min(e,this.length()-t-1),n,i),this.cache={})}insertAt(t,e,n){if(null!=n)return super.insertAt(t,e,n),void(this.cache={});if(0===e.length)return;const r=e.split("\n"),i=r.shift();i.length>0&&(t<this.length()-1||null==this.children.tail?super.insertAt(Math.min(t,this.length()-1),i):this.children.tail.insertAt(this.children.tail.length(),i),this.cache={});let s=this;r.reduce(((t,e)=>(s=s.split(t,!0),s.insertAt(0,e),e.length)),t+i.length)}insertBefore(t,e){const{head:n}=this.children;super.insertBefore(t,e),n instanceof o.A&&n.remove(),this.cache={}}length(){return null==this.cache.length&&(this.cache.length=super.length()+1),this.cache.length}moveChildren(t,e){super.moveChildren(t,e),this.cache={}}optimize(t){super.optimize(t),this.cache={}}path(t){return super.path(t,!0)}removeChild(t){super.removeChild(t),this.cache={}}split(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e&&(0===t||t>=this.length()-1)){const e=this.clone();return 0===t?(this.parent.insertBefore(e,this),this):(this.parent.insertBefore(e,this.next),e)}const n=super.split(t,e);return this.cache={},n}}c.blotName="block",c.tagName="P",c.defaultChild=o.A,c.allowedChildren=[o.A,l.A,r.EmbedBlot,a.A];class u extends r.EmbedBlot{attach(){super.attach(),this.attributes=new r.AttributorStore(this.domNode)}delta(){return(new(s())).insert(this.value(),{...this.formats(),...this.attributes.values()})}format(t,e){const n=this.scroll.query(t,r.Scope.BLOCK_ATTRIBUTE);null!=n&&this.attributes.attribute(n,e)}formatAt(t,e,n,r){this.format(n,r)}insertAt(t,e,n){if(null!=n)return void super.insertAt(t,e,n);const r=e.split("\n"),i=r.pop(),s=r.map((t=>{const e=this.scroll.create(c.blotName);return e.insertAt(0,t),e})),o=this.split(t);s.forEach((t=>{this.parent.insertBefore(t,o)})),i&&this.parent.insertBefore(this.scroll.create("text",i),o)}}function h(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return t.descendants(r.LeafBlot).reduce(((t,n)=>0===n.length()?t:t.insert(n.value(),d(n,{},e))),new(s())).insert("\n",d(t))}function d(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return null==t?e:("formats"in t&&"function"==typeof t.formats&&(e={...e,...t.formats()},n&&delete e["code-token"]),null==t.parent||"scroll"===t.parent.statics.blotName||t.parent.statics.scope!==t.statics.scope?e:d(t.parent,e,n))}u.scope=r.Scope.BLOCK_BLOT},3036:function(t,e,n){"use strict";var r=n(6003);class i extends r.EmbedBlot{static value(){}optimize(){(this.prev||this.next)&&this.remove()}length(){return 0}value(){return""}}i.blotName="break",i.tagName="BR",e.A=i},580:function(t,e,n){"use strict";var r=n(6003);class i extends r.ContainerBlot{}e.A=i},4541:function(t,e,n){"use strict";var r=n(6003),i=n(5508);class s extends r.EmbedBlot{static blotName="cursor";static className="ql-cursor";static tagName="span";static CONTENTS="\ufeff";static value(){}constructor(t,e,n){super(t,e),this.selection=n,this.textNode=document.createTextNode(s.CONTENTS),this.domNode.appendChild(this.textNode),this.savedLength=0}detach(){null!=this.parent&&this.parent.removeChild(this)}format(t,e){if(0!==this.savedLength)return void super.format(t,e);let n=this,i=0;for(;null!=n&&n.statics.scope!==r.Scope.BLOCK_BLOT;)i+=n.offset(n.parent),n=n.parent;null!=n&&(this.savedLength=s.CONTENTS.length,n.optimize(),n.formatAt(i,s.CONTENTS.length,t,e),this.savedLength=0)}index(t,e){return t===this.textNode?0:super.index(t,e)}length(){return this.savedLength}position(){return[this.textNode,this.textNode.data.length]}remove(){super.remove(),this.parent=null}restore(){if(this.selection.composing||null==this.parent)return null;const t=this.selection.getNativeRange();for(;null!=this.domNode.lastChild&&this.domNode.lastChild!==this.textNode;)this.domNode.parentNode.insertBefore(this.domNode.lastChild,this.domNode);const e=this.prev instanceof i.A?this.prev:null,n=e?e.length():0,r=this.next instanceof i.A?this.next:null,o=r?r.text:"",{textNode:l}=this,a=l.data.split(s.CONTENTS).join("");let c;if(l.data=s.CONTENTS,e)c=e,(a||r)&&(e.insertAt(e.length(),a+o),r&&r.remove());else if(r)c=r,r.insertAt(0,a);else{const t=document.createTextNode(a);c=this.scroll.create(t),this.parent.insertBefore(c,this)}if(this.remove(),t){const i=(t,i)=>e&&t===e.domNode?i:t===l?n+i-1:r&&t===r.domNode?n+a.length+i:null,s=i(t.start.node,t.start.offset),o=i(t.end.node,t.end.offset);if(null!==s&&null!==o)return{startNode:c.domNode,startOffset:s,endNode:c.domNode,endOffset:o}}return null}update(t,e){if(t.some((t=>"characterData"===t.type&&t.target===this.textNode))){const t=this.restore();t&&(e.range=t)}}optimize(t){super.optimize(t);let{parent:e}=this;for(;e;){if("A"===e.domNode.tagName){this.savedLength=s.CONTENTS.length,e.isolate(this.offset(e),this.length()).unwrap(),this.savedLength=0;break}e=e.parent}}value(){return""}}e.A=s},746:function(t,e,n){"use strict";var r=n(6003),i=n(5508);const s="\ufeff";class o extends r.EmbedBlot{constructor(t,e){super(t,e),this.contentNode=document.createElement("span"),this.contentNode.setAttribute("contenteditable","false"),Array.from(this.domNode.childNodes).forEach((t=>{this.contentNode.appendChild(t)})),this.leftGuard=document.createTextNode(s),this.rightGuard=document.createTextNode(s),this.domNode.appendChild(this.leftGuard),this.domNode.appendChild(this.contentNode),this.domNode.appendChild(this.rightGuard)}index(t,e){return t===this.leftGuard?0:t===this.rightGuard?1:super.index(t,e)}restore(t){let e,n=null;const r=t.data.split(s).join("");if(t===this.leftGuard)if(this.prev instanceof i.A){const t=this.prev.length();this.prev.insertAt(t,r),n={startNode:this.prev.domNode,startOffset:t+r.length}}else e=document.createTextNode(r),this.parent.insertBefore(this.scroll.create(e),this),n={startNode:e,startOffset:r.length};else t===this.rightGuard&&(this.next instanceof i.A?(this.next.insertAt(0,r),n={startNode:this.next.domNode,startOffset:r.length}):(e=document.createTextNode(r),this.parent.insertBefore(this.scroll.create(e),this.next),n={startNode:e,startOffset:r.length}));return t.data=s,n}update(t,e){t.forEach((t=>{if("characterData"===t.type&&(t.target===this.leftGuard||t.target===this.rightGuard)){const n=this.restore(t.target);n&&(e.range=n)}}))}}e.A=o},4850:function(t,e,n){"use strict";var r=n(6003),i=n(3036),s=n(5508);class o extends r.InlineBlot{static allowedChildren=[o,i.A,r.EmbedBlot,s.A];static order=["cursor","inline","link","underline","strike","italic","bold","script","code"];static compare(t,e){const n=o.order.indexOf(t),r=o.order.indexOf(e);return n>=0||r>=0?n-r:t===e?0:t<e?-1:1}formatAt(t,e,n,i){if(o.compare(this.statics.blotName,n)<0&&this.scroll.query(n,r.Scope.BLOT)){const r=this.isolate(t,e);i&&r.wrap(n,i)}else super.formatAt(t,e,n,i)}optimize(t){if(super.optimize(t),this.parent instanceof o&&o.compare(this.statics.blotName,this.parent.statics.blotName)>0){const t=this.parent.isolate(this.offset(),this.length());this.moveChildren(t),t.wrap(this)}}}e.A=o},5508:function(t,e,n){"use strict";n.d(e,{A:function(){return i},X:function(){return o}});var r=n(6003);class i extends r.TextBlot{}const s={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function o(t){return t.replace(/[&<>"']/g,(t=>s[t]))}},3729:function(t,e,n){"use strict";n.d(e,{default:function(){return R}});var r=n(6142),i=n(9698),s=n(3036),o=n(580),l=n(4541),a=n(746),c=n(4850),u=n(6003),h=n(5232),d=n.n(h),f=n(5374);function p(t){return t instanceof i.Ay||t instanceof i.zo}function g(t){return"function"==typeof t.updateContent}class m extends u.ScrollBlot{static blotName="scroll";static className="ql-editor";static tagName="DIV";static defaultChild=i.Ay;static allowedChildren=[i.Ay,i.zo,o.A];constructor(t,e,n){let{emitter:r}=n;super(t,e),this.emitter=r,this.batch=!1,this.optimize(),this.enable(),this.domNode.addEventListener("dragstart",(t=>this.handleDragStart(t)))}batchStart(){Array.isArray(this.batch)||(this.batch=[])}batchEnd(){if(!this.batch)return;const t=this.batch;this.batch=!1,this.update(t)}emitMount(t){this.emitter.emit(f.A.events.SCROLL_BLOT_MOUNT,t)}emitUnmount(t){this.emitter.emit(f.A.events.SCROLL_BLOT_UNMOUNT,t)}emitEmbedUpdate(t,e){this.emitter.emit(f.A.events.SCROLL_EMBED_UPDATE,t,e)}deleteAt(t,e){const[n,r]=this.line(t),[o]=this.line(t+e);if(super.deleteAt(t,e),null!=o&&n!==o&&r>0){if(n instanceof i.zo||o instanceof i.zo)return void this.optimize();const t=o.children.head instanceof s.A?null:o.children.head;n.moveChildren(o,t),n.remove()}this.optimize()}enable(){let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.domNode.setAttribute("contenteditable",t?"true":"false")}formatAt(t,e,n,r){super.formatAt(t,e,n,r),this.optimize()}insertAt(t,e,n){if(t>=this.length())if(null==n||null==this.scroll.query(e,u.Scope.BLOCK)){const t=this.scroll.create(this.statics.defaultChild.blotName);this.appendChild(t),null==n&&e.endsWith("\n")?t.insertAt(0,e.slice(0,-1),n):t.insertAt(0,e,n)}else{const t=this.scroll.create(e,n);this.appendChild(t)}else super.insertAt(t,e,n);this.optimize()}insertBefore(t,e){if(t.statics.scope===u.Scope.INLINE_BLOT){const n=this.scroll.create(this.statics.defaultChild.blotName);n.appendChild(t),super.insertBefore(n,e)}else super.insertBefore(t,e)}insertContents(t,e){const n=this.deltaToRenderBlocks(e.concat((new(d())).insert("\n"))),r=n.pop();if(null==r)return;this.batchStart();const s=n.shift();if(s){const e="block"===s.type&&(0===s.delta.length()||!this.descendant(i.zo,t)[0]&&t<this.length()),n="block"===s.type?s.delta:(new(d())).insert({[s.key]:s.value});b(this,t,n);const r="block"===s.type?1:0,o=t+n.length()+r;e&&this.insertAt(o-1,"\n");const l=(0,i.Ji)(this.line(t)[0]),a=h.AttributeMap.diff(l,s.attributes)||{};Object.keys(a).forEach((t=>{this.formatAt(o-1,1,t,a[t])})),t=o}let[o,l]=this.children.find(t);n.length&&(o&&(o=o.split(l),l=0),n.forEach((t=>{if("block"===t.type)b(this.createBlock(t.attributes,o||void 0),0,t.delta);else{const e=this.create(t.key,t.value);this.insertBefore(e,o||void 0),Object.keys(t.attributes).forEach((n=>{e.format(n,t.attributes[n])}))}}))),"block"===r.type&&r.delta.length()&&b(this,o?o.offset(o.scroll)+l:this.length(),r.delta),this.batchEnd(),this.optimize()}isEnabled(){return"true"===this.domNode.getAttribute("contenteditable")}leaf(t){const e=this.path(t).pop();if(!e)return[null,-1];const[n,r]=e;return n instanceof u.LeafBlot?[n,r]:[null,-1]}line(t){return t===this.length()?this.line(t-1):this.descendant(p,t)}lines(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE;const n=(t,e,r)=>{let i=[],s=r;return t.children.forEachAt(e,r,((t,e,r)=>{p(t)?i.push(t):t instanceof u.ContainerBlot&&(i=i.concat(n(t,e,s))),s-=r})),i};return n(this,t,e)}optimize(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.batch||(super.optimize(t,e),t.length>0&&this.emitter.emit(f.A.events.SCROLL_OPTIMIZE,t,e))}path(t){return super.path(t).slice(1)}remove(){}update(t){if(this.batch)return void(Array.isArray(t)&&(this.batch=this.batch.concat(t)));let e=f.A.sources.USER;"string"==typeof t&&(e=t),Array.isArray(t)||(t=this.observer.takeRecords()),(t=t.filter((t=>{let{target:e}=t;const n=this.find(e,!0);return n&&!g(n)}))).length>0&&this.emitter.emit(f.A.events.SCROLL_BEFORE_UPDATE,e,t),super.update(t.concat([])),t.length>0&&this.emitter.emit(f.A.events.SCROLL_UPDATE,e,t)}updateEmbedAt(t,e,n){const[r]=this.descendant((t=>t instanceof i.zo),t);r&&r.statics.blotName===e&&g(r)&&r.updateContent(n)}handleDragStart(t){t.preventDefault()}deltaToRenderBlocks(t){const e=[];let n=new(d());return t.forEach((t=>{const r=t?.insert;if(r)if("string"==typeof r){const i=r.split("\n");i.slice(0,-1).forEach((r=>{n.insert(r,t.attributes),e.push({type:"block",delta:n,attributes:t.attributes??{}}),n=new(d())}));const s=i[i.length-1];s&&n.insert(s,t.attributes)}else{const i=Object.keys(r)[0];if(!i)return;this.query(i,u.Scope.INLINE)?n.push(t):(n.length()&&e.push({type:"block",delta:n,attributes:{}}),n=new(d()),e.push({type:"blockEmbed",key:i,value:r[i],attributes:t.attributes??{}}))}})),n.length()&&e.push({type:"block",delta:n,attributes:{}}),e}createBlock(t,e){let n;const r={};Object.entries(t).forEach((t=>{let[e,i]=t;null!=this.query(e,u.Scope.BLOCK&u.Scope.BLOT)?n=e:r[e]=i}));const i=this.create(n||this.statics.defaultChild.blotName,n?t[n]:void 0);this.insertBefore(i,e||void 0);const s=i.length();return Object.entries(r).forEach((t=>{let[e,n]=t;i.formatAt(0,s,e,n)})),i}}function b(t,e,n){n.reduce(((e,n)=>{const r=h.Op.length(n);let s=n.attributes||{};if(null!=n.insert)if("string"==typeof n.insert){const r=n.insert;t.insertAt(e,r);const[o]=t.descendant(u.LeafBlot,e),l=(0,i.Ji)(o);s=h.AttributeMap.diff(l,s)||{}}else if("object"==typeof n.insert){const r=Object.keys(n.insert)[0];if(null==r)return e;if(t.insertAt(e,r,n.insert[r]),null!=t.scroll.query(r,u.Scope.INLINE)){const[n]=t.descendant(u.LeafBlot,e),r=(0,i.Ji)(n);s=h.AttributeMap.diff(r,s)||{}}}return Object.keys(s).forEach((n=>{t.formatAt(e,r,n,s[n])})),e+r}),e)}var y=m,v=n(5508),A=n(584),x=n(4266);class N extends x.A{static DEFAULTS={delay:1e3,maxStack:100,userOnly:!1};lastRecorded=0;ignoreChange=!1;stack={undo:[],redo:[]};currentRange=null;constructor(t,e){super(t,e),this.quill.on(r.Ay.events.EDITOR_CHANGE,((t,e,n,i)=>{t===r.Ay.events.SELECTION_CHANGE?e&&i!==r.Ay.sources.SILENT&&(this.currentRange=e):t===r.Ay.events.TEXT_CHANGE&&(this.ignoreChange||(this.options.userOnly&&i!==r.Ay.sources.USER?this.transform(e):this.record(e,n)),this.currentRange=w(this.currentRange,e))})),this.quill.keyboard.addBinding({key:"z",shortKey:!0},this.undo.bind(this)),this.quill.keyboard.addBinding({key:["z","Z"],shortKey:!0,shiftKey:!0},this.redo.bind(this)),/Win/i.test(navigator.platform)&&this.quill.keyboard.addBinding({key:"y",shortKey:!0},this.redo.bind(this)),this.quill.root.addEventListener("beforeinput",(t=>{"historyUndo"===t.inputType?(this.undo(),t.preventDefault()):"historyRedo"===t.inputType&&(this.redo(),t.preventDefault())}))}change(t,e){if(0===this.stack[t].length)return;const n=this.stack[t].pop();if(!n)return;const i=this.quill.getContents(),s=n.delta.invert(i);this.stack[e].push({delta:s,range:w(n.range,s)}),this.lastRecorded=0,this.ignoreChange=!0,this.quill.updateContents(n.delta,r.Ay.sources.USER),this.ignoreChange=!1,this.restoreSelection(n)}clear(){this.stack={undo:[],redo:[]}}cutoff(){this.lastRecorded=0}record(t,e){if(0===t.ops.length)return;this.stack.redo=[];let n=t.invert(e),r=this.currentRange;const i=Date.now();if(this.lastRecorded+this.options.delay>i&&this.stack.undo.length>0){const t=this.stack.undo.pop();t&&(n=n.compose(t.delta),r=t.range)}else this.lastRecorded=i;0!==n.length()&&(this.stack.undo.push({delta:n,range:r}),this.stack.undo.length>this.options.maxStack&&this.stack.undo.shift())}redo(){this.change("redo","undo")}transform(t){E(this.stack.undo,t),E(this.stack.redo,t)}undo(){this.change("undo","redo")}restoreSelection(t){if(t.range)this.quill.setSelection(t.range,r.Ay.sources.USER);else{const e=function(t,e){const n=e.reduce(((t,e)=>t+(e.delete||0)),0);let r=e.length()-n;return function(t,e){const n=e.ops[e.ops.length-1];return null!=n&&(null!=n.insert?"string"==typeof n.insert&&n.insert.endsWith("\n"):null!=n.attributes&&Object.keys(n.attributes).some((e=>null!=t.query(e,u.Scope.BLOCK))))}(t,e)&&(r-=1),r}(this.quill.scroll,t.delta);this.quill.setSelection(e,r.Ay.sources.USER)}}}function E(t,e){let n=e;for(let e=t.length-1;e>=0;e-=1){const r=t[e];t[e]={delta:n.transform(r.delta,!0),range:r.range&&w(r.range,n)},n=r.delta.transform(n),0===t[e].delta.length()&&t.splice(e,1)}}function w(t,e){if(!t)return t;const n=e.transformPosition(t.index);return{index:n,length:e.transformPosition(t.index+t.length)-n}}var q=n(8123);class k extends x.A{constructor(t,e){super(t,e),t.root.addEventListener("drop",(e=>{e.preventDefault();let n=null;if(document.caretRangeFromPoint)n=document.caretRangeFromPoint(e.clientX,e.clientY);else if(document.caretPositionFromPoint){const t=document.caretPositionFromPoint(e.clientX,e.clientY);n=document.createRange(),n.setStart(t.offsetNode,t.offset),n.setEnd(t.offsetNode,t.offset)}const r=n&&t.selection.normalizeNative(n);if(r){const n=t.selection.normalizedToRange(r);e.dataTransfer?.files&&this.upload(n,e.dataTransfer.files)}}))}upload(t,e){const n=[];Array.from(e).forEach((t=>{t&&this.options.mimetypes?.includes(t.type)&&n.push(t)})),n.length>0&&this.options.handler.call(this,t,n)}}k.DEFAULTS={mimetypes:["image/png","image/jpeg"],handler(t,e){if(!this.quill.scroll.query("image"))return;const n=e.map((t=>new Promise((e=>{const n=new FileReader;n.onload=()=>{e(n.result)},n.readAsDataURL(t)}))));Promise.all(n).then((e=>{const n=e.reduce(((t,e)=>t.insert({image:e})),(new(d())).retain(t.index).delete(t.length));this.quill.updateContents(n,f.A.sources.USER),this.quill.setSelection(t.index+e.length,f.A.sources.SILENT)}))}};var _=k;const L=["insertText","insertReplacementText"];class S extends x.A{constructor(t,e){super(t,e),t.root.addEventListener("beforeinput",(t=>{this.handleBeforeInput(t)})),/Android/i.test(navigator.userAgent)||t.on(r.Ay.events.COMPOSITION_BEFORE_START,(()=>{this.handleCompositionStart()}))}deleteRange(t){(0,q.Xo)({range:t,quill:this.quill})}replaceText(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(0===t.length)return!1;if(e){const n=this.quill.getFormat(t.index,1);this.deleteRange(t),this.quill.updateContents((new(d())).retain(t.index).insert(e,n),r.Ay.sources.USER)}else this.deleteRange(t);return this.quill.setSelection(t.index+e.length,0,r.Ay.sources.SILENT),!0}handleBeforeInput(t){if(this.quill.composition.isComposing||t.defaultPrevented||!L.includes(t.inputType))return;const e=t.getTargetRanges?t.getTargetRanges()[0]:null;if(!e||!0===e.collapsed)return;const n=function(t){return"string"==typeof t.data?t.data:t.dataTransfer?.types.includes("text/plain")?t.dataTransfer.getData("text/plain"):null}(t);if(null==n)return;const r=this.quill.selection.normalizeNative(e),i=r?this.quill.selection.normalizedToRange(r):null;i&&this.replaceText(i,n)&&t.preventDefault()}handleCompositionStart(){const t=this.quill.getSelection();t&&this.replaceText(t)}}var O=S;const T=/Mac/i.test(navigator.platform);class j extends x.A{isListening=!1;selectionChangeDeadline=0;constructor(t,e){super(t,e),this.handleArrowKeys(),this.handleNavigationShortcuts()}handleArrowKeys(){this.quill.keyboard.addBinding({key:["ArrowLeft","ArrowRight"],offset:0,shiftKey:null,handler(t,e){let{line:n,event:i}=e;if(!(n instanceof u.ParentBlot&&n.uiNode))return!0;const s="rtl"===getComputedStyle(n.domNode).direction;return!!(s&&"ArrowRight"!==i.key||!s&&"ArrowLeft"!==i.key)||(this.quill.setSelection(t.index-1,t.length+(i.shiftKey?1:0),r.Ay.sources.USER),!1)}})}handleNavigationShortcuts(){this.quill.root.addEventListener("keydown",(t=>{!t.defaultPrevented&&(t=>"ArrowLeft"===t.key||"ArrowRight"===t.key||"ArrowUp"===t.key||"ArrowDown"===t.key||"Home"===t.key||!(!T||"a"!==t.key||!0!==t.ctrlKey))(t)&&this.ensureListeningToSelectionChange()}))}ensureListeningToSelectionChange(){this.selectionChangeDeadline=Date.now()+100,this.isListening||(this.isListening=!0,document.addEventListener("selectionchange",(()=>{this.isListening=!1,Date.now()<=this.selectionChangeDeadline&&this.handleSelectionChange()}),{once:!0}))}handleSelectionChange(){const t=document.getSelection();if(!t)return;const e=t.getRangeAt(0);if(!0!==e.collapsed||0!==e.startOffset)return;const n=this.quill.scroll.find(e.startContainer);if(!(n instanceof u.ParentBlot&&n.uiNode))return;const r=document.createRange();r.setStartAfter(n.uiNode),r.setEndAfter(n.uiNode),t.removeAllRanges(),t.addRange(r)}}var C=j;r.Ay.register({"blots/block":i.Ay,"blots/block/embed":i.zo,"blots/break":s.A,"blots/container":o.A,"blots/cursor":l.A,"blots/embed":a.A,"blots/inline":c.A,"blots/scroll":y,"blots/text":v.A,"modules/clipboard":A.Ay,"modules/history":N,"modules/keyboard":q.Ay,"modules/uploader":_,"modules/input":O,"modules/uiNode":C});var R=r.Ay},5374:function(t,e,n){"use strict";n.d(e,{A:function(){return o}});var r=n(8920),i=n(7356);const s=(0,n(6078).A)("quill:events");["selectionchange","mousedown","mouseup","click"].forEach((t=>{document.addEventListener(t,(function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];Array.from(document.querySelectorAll(".ql-container")).forEach((t=>{const n=i.A.get(t);n&&n.emitter&&n.emitter.handleDOM(...e)}))}))}));var o=class extends r{static events={EDITOR_CHANGE:"editor-change",SCROLL_BEFORE_UPDATE:"scroll-before-update",SCROLL_BLOT_MOUNT:"scroll-blot-mount",SCROLL_BLOT_UNMOUNT:"scroll-blot-unmount",SCROLL_OPTIMIZE:"scroll-optimize",SCROLL_UPDATE:"scroll-update",SCROLL_EMBED_UPDATE:"scroll-embed-update",SELECTION_CHANGE:"selection-change",TEXT_CHANGE:"text-change",COMPOSITION_BEFORE_START:"composition-before-start",COMPOSITION_START:"composition-start",COMPOSITION_BEFORE_END:"composition-before-end",COMPOSITION_END:"composition-end"};static sources={API:"api",SILENT:"silent",USER:"user"};constructor(){super(),this.domListeners={},this.on("error",s.error)}emit(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return s.log.call(s,...e),super.emit(...e)}handleDOM(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];(this.domListeners[t.type]||[]).forEach((e=>{let{node:r,handler:i}=e;(t.target===r||r.contains(t.target))&&i(t,...n)}))}listenDOM(t,e,n){this.domListeners[t]||(this.domListeners[t]=[]),this.domListeners[t].push({node:e,handler:n})}}},7356:function(t,e){"use strict";e.A=new WeakMap},6078:function(t,e){"use strict";const n=["error","warn","log","info"];let r="warn";function i(t){if(r&&n.indexOf(t)<=n.indexOf(r)){for(var e=arguments.length,i=new Array(e>1?e-1:0),s=1;s<e;s++)i[s-1]=arguments[s];console[t](...i)}}function s(t){return n.reduce(((e,n)=>(e[n]=i.bind(console,n,t),e)),{})}s.level=t=>{r=t},i.level=s.level,e.A=s},4266:function(t,e){"use strict";e.A=class{static DEFAULTS={};constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.quill=t,this.options=e}}},6142:function(t,e,n){"use strict";n.d(e,{Ay:function(){return I}});var r=n(8347),i=n(6003),s=n(5232),o=n.n(s),l=n(3707),a=n(5123),c=n(9698),u=n(3036),h=n(4541),d=n(5508),f=n(8298);const p=/^[ -~]*$/;function g(t,e,n){if(0===t.length){const[t]=y(n.pop());return e<=0?`</li></${t}>`:`</li></${t}>${g([],e-1,n)}`}const[{child:r,offset:i,length:s,indent:o,type:l},...a]=t,[c,u]=y(l);if(o>e)return n.push(l),o===e+1?`<${c}><li${u}>${m(r,i,s)}${g(a,o,n)}`:`<${c}><li>${g(t,e+1,n)}`;const h=n[n.length-1];if(o===e&&l===h)return`</li><li${u}>${m(r,i,s)}${g(a,o,n)}`;const[d]=y(n.pop());return`</li></${d}>${g(t,e-1,n)}`}function m(t,e,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if("html"in t&&"function"==typeof t.html)return t.html(e,n);if(t instanceof d.A)return(0,d.X)(t.value().slice(e,e+n)).replaceAll(" ","&nbsp;");if(t instanceof i.ParentBlot){if("list-container"===t.statics.blotName){const r=[];return t.children.forEachAt(e,n,((t,e,n)=>{const i="formats"in t&&"function"==typeof t.formats?t.formats():{};r.push({child:t,offset:e,length:n,indent:i.indent||0,type:i.list})})),g(r,-1,[])}const i=[];if(t.children.forEachAt(e,n,((t,e,n)=>{i.push(m(t,e,n))})),r||"list"===t.statics.blotName)return i.join("");const{outerHTML:s,innerHTML:o}=t.domNode,[l,a]=s.split(`>${o}<`);return"<table"===l?`<table style="border: 1px solid #000;">${i.join("")}<${a}`:`${l}>${i.join("")}<${a}`}return t.domNode instanceof Element?t.domNode.outerHTML:""}function b(t,e){return Object.keys(e).reduce(((n,r)=>{if(null==t[r])return n;const i=e[r];return i===t[r]?n[r]=i:Array.isArray(i)?i.indexOf(t[r])<0?n[r]=i.concat([t[r]]):n[r]=i:n[r]=[i,t[r]],n}),{})}function y(t){const e="ordered"===t?"ol":"ul";switch(t){case"checked":return[e,' data-list="checked"'];case"unchecked":return[e,' data-list="unchecked"'];default:return[e,""]}}function v(t){return t.reduce(((t,e)=>{if("string"==typeof e.insert){const n=e.insert.replace(/\r\n/g,"\n").replace(/\r/g,"\n");return t.insert(n,e.attributes)}return t.push(e)}),new(o()))}function A(t,e){let{index:n,length:r}=t;return new f.Q(n+e,r)}var x=class{constructor(t){this.scroll=t,this.delta=this.getDelta()}applyDelta(t){this.scroll.update();let e=this.scroll.length();this.scroll.batchStart();const n=v(t),l=new(o());return function(t){const e=[];return t.forEach((t=>{"string"==typeof t.insert?t.insert.split("\n").forEach(((n,r)=>{r&&e.push({insert:"\n",attributes:t.attributes}),n&&e.push({insert:n,attributes:t.attributes})})):e.push(t)})),e}(n.ops.slice()).reduce(((t,n)=>{const o=s.Op.length(n);let a=n.attributes||{},u=!1,h=!1;if(null!=n.insert){if(l.retain(o),"string"==typeof n.insert){const o=n.insert;h=!o.endsWith("\n")&&(e<=t||!!this.scroll.descendant(c.zo,t)[0]),this.scroll.insertAt(t,o);const[l,u]=this.scroll.line(t);let d=(0,r.A)({},(0,c.Ji)(l));if(l instanceof c.Ay){const[t]=l.descendant(i.LeafBlot,u);t&&(d=(0,r.A)(d,(0,c.Ji)(t)))}a=s.AttributeMap.diff(d,a)||{}}else if("object"==typeof n.insert){const o=Object.keys(n.insert)[0];if(null==o)return t;const l=null!=this.scroll.query(o,i.Scope.INLINE);if(l)(e<=t||this.scroll.descendant(c.zo,t)[0])&&(h=!0);else if(t>0){const[e,n]=this.scroll.descendant(i.LeafBlot,t-1);e instanceof d.A?"\n"!==e.value()[n]&&(u=!0):e instanceof i.EmbedBlot&&e.statics.scope===i.Scope.INLINE_BLOT&&(u=!0)}if(this.scroll.insertAt(t,o,n.insert[o]),l){const[e]=this.scroll.descendant(i.LeafBlot,t);if(e){const t=(0,r.A)({},(0,c.Ji)(e));a=s.AttributeMap.diff(t,a)||{}}}}e+=o}else if(l.push(n),null!==n.retain&&"object"==typeof n.retain){const e=Object.keys(n.retain)[0];if(null==e)return t;this.scroll.updateEmbedAt(t,e,n.retain[e])}Object.keys(a).forEach((e=>{this.scroll.formatAt(t,o,e,a[e])}));const f=u?1:0,p=h?1:0;return e+=f+p,l.retain(f),l.delete(p),t+o+f+p}),0),l.reduce(((t,e)=>"number"==typeof e.delete?(this.scroll.deleteAt(t,e.delete),t):t+s.Op.length(e)),0),this.scroll.batchEnd(),this.scroll.optimize(),this.update(n)}deleteText(t,e){return this.scroll.deleteAt(t,e),this.update((new(o())).retain(t).delete(e))}formatLine(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.scroll.update(),Object.keys(n).forEach((r=>{this.scroll.lines(t,Math.max(e,1)).forEach((t=>{t.format(r,n[r])}))})),this.scroll.optimize();const r=(new(o())).retain(t).retain(e,(0,l.A)(n));return this.update(r)}formatText(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object.keys(n).forEach((r=>{this.scroll.formatAt(t,e,r,n[r])}));const r=(new(o())).retain(t).retain(e,(0,l.A)(n));return this.update(r)}getContents(t,e){return this.delta.slice(t,t+e)}getDelta(){return this.scroll.lines().reduce(((t,e)=>t.concat(e.delta())),new(o()))}getFormat(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=[],r=[];0===e?this.scroll.path(t).forEach((t=>{const[e]=t;e instanceof c.Ay?n.push(e):e instanceof i.LeafBlot&&r.push(e)})):(n=this.scroll.lines(t,e),r=this.scroll.descendants(i.LeafBlot,t,e));const[s,o]=[n,r].map((t=>{const e=t.shift();if(null==e)return{};let n=(0,c.Ji)(e);for(;Object.keys(n).length>0;){const e=t.shift();if(null==e)return n;n=b((0,c.Ji)(e),n)}return n}));return{...s,...o}}getHTML(t,e){const[n,r]=this.scroll.line(t);if(n){const i=n.length();return n.length()>=r+e&&(0!==r||e!==i)?m(n,r,e,!0):m(this.scroll,t,e,!0)}return""}getText(t,e){return this.getContents(t,e).filter((t=>"string"==typeof t.insert)).map((t=>t.insert)).join("")}insertContents(t,e){const n=v(e),r=(new(o())).retain(t).concat(n);return this.scroll.insertContents(t,n),this.update(r)}insertEmbed(t,e,n){return this.scroll.insertAt(t,e,n),this.update((new(o())).retain(t).insert({[e]:n}))}insertText(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e=e.replace(/\r\n/g,"\n").replace(/\r/g,"\n"),this.scroll.insertAt(t,e),Object.keys(n).forEach((r=>{this.scroll.formatAt(t,e.length,r,n[r])})),this.update((new(o())).retain(t).insert(e,(0,l.A)(n)))}isBlank(){if(0===this.scroll.children.length)return!0;if(this.scroll.children.length>1)return!1;const t=this.scroll.children.head;if(t?.statics.blotName!==c.Ay.blotName)return!1;const e=t;return!(e.children.length>1)&&e.children.head instanceof u.A}removeFormat(t,e){const n=this.getText(t,e),[r,i]=this.scroll.line(t+e);let s=0,l=new(o());null!=r&&(s=r.length()-i,l=r.delta().slice(i,i+s-1).insert("\n"));const a=this.getContents(t,e+s).diff((new(o())).insert(n).concat(l)),c=(new(o())).retain(t).concat(a);return this.applyDelta(c)}update(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;const r=this.delta;if(1===e.length&&"characterData"===e[0].type&&e[0].target.data.match(p)&&this.scroll.find(e[0].target)){const i=this.scroll.find(e[0].target),s=(0,c.Ji)(i),l=i.offset(this.scroll),a=e[0].oldValue.replace(h.A.CONTENTS,""),u=(new(o())).insert(a),d=(new(o())).insert(i.value()),f=n&&{oldRange:A(n.oldRange,-l),newRange:A(n.newRange,-l)};t=(new(o())).retain(l).concat(u.diff(d,f)).reduce(((t,e)=>e.insert?t.insert(e.insert,s):t.push(e)),new(o())),this.delta=r.compose(t)}else this.delta=this.getDelta(),t&&(0,a.A)(r.compose(t),this.delta)||(t=r.diff(this.delta,n));return t}},N=n(5374),E=n(7356),w=n(6078),q=n(4266),k=n(746),_=class{isComposing=!1;constructor(t,e){this.scroll=t,this.emitter=e,this.setupListeners()}setupListeners(){this.scroll.domNode.addEventListener("compositionstart",(t=>{this.isComposing||this.handleCompositionStart(t)})),this.scroll.domNode.addEventListener("compositionend",(t=>{this.isComposing&&queueMicrotask((()=>{this.handleCompositionEnd(t)}))}))}handleCompositionStart(t){const e=t.target instanceof Node?this.scroll.find(t.target,!0):null;!e||e instanceof k.A||(this.emitter.emit(N.A.events.COMPOSITION_BEFORE_START,t),this.scroll.batchStart(),this.emitter.emit(N.A.events.COMPOSITION_START,t),this.isComposing=!0)}handleCompositionEnd(t){this.emitter.emit(N.A.events.COMPOSITION_BEFORE_END,t),this.scroll.batchEnd(),this.emitter.emit(N.A.events.COMPOSITION_END,t),this.isComposing=!1}},L=n(9609);const S=t=>{const e=t.getBoundingClientRect(),n="offsetWidth"in t&&Math.abs(e.width)/t.offsetWidth||1,r="offsetHeight"in t&&Math.abs(e.height)/t.offsetHeight||1;return{top:e.top,right:e.left+t.clientWidth*n,bottom:e.top+t.clientHeight*r,left:e.left}},O=t=>{const e=parseInt(t,10);return Number.isNaN(e)?0:e},T=(t,e,n,r,i,s)=>t<n&&e>r?0:t<n?-(n-t+i):e>r?e-t>r-n?t+i-n:e-r+s:0;const j=["block","break","cursor","inline","scroll","text"];const C=(0,w.A)("quill"),R=new i.Registry;i.ParentBlot.uiClass="ql-ui";class I{static DEFAULTS={bounds:null,modules:{clipboard:!0,keyboard:!0,history:!0,uploader:!0},placeholder:"",readOnly:!1,registry:R,theme:"default"};static events=N.A.events;static sources=N.A.sources;static version="2.0.3";static imports={delta:o(),parchment:i,"core/module":q.A,"core/theme":L.A};static debug(t){!0===t&&(t="log"),w.A.level(t)}static find(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return E.A.get(t)||R.find(t,e)}static import(t){return null==this.imports[t]&&C.error(`Cannot import ${t}. Are you sure it was registered?`),this.imports[t]}static register(){if("string"!=typeof(arguments.length<=0?void 0:arguments[0])){const t=arguments.length<=0?void 0:arguments[0],e=!!(arguments.length<=1?void 0:arguments[1]),n="attrName"in t?t.attrName:t.blotName;"string"==typeof n?this.register(`formats/${n}`,t,e):Object.keys(t).forEach((n=>{this.register(n,t[n],e)}))}else{const t=arguments.length<=0?void 0:arguments[0],e=arguments.length<=1?void 0:arguments[1],n=!!(arguments.length<=2?void 0:arguments[2]);null==this.imports[t]||n||C.warn(`Overwriting ${t} with`,e),this.imports[t]=e,(t.startsWith("blots/")||t.startsWith("formats/"))&&e&&"boolean"!=typeof e&&"abstract"!==e.blotName&&R.register(e),"function"==typeof e.register&&e.register(R)}}constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.options=function(t,e){const n=B(t);if(!n)throw new Error("Invalid Quill container");const s=!e.theme||e.theme===I.DEFAULTS.theme?L.A:I.import(`themes/${e.theme}`);if(!s)throw new Error(`Invalid theme ${e.theme}. Did you register it?`);const{modules:o,...l}=I.DEFAULTS,{modules:a,...c}=s.DEFAULTS;let u=M(e.modules);null!=u&&u.toolbar&&u.toolbar.constructor!==Object&&(u={...u,toolbar:{container:u.toolbar}});const h=(0,r.A)({},M(o),M(a),u),d={...l,...U(c),...U(e)};let f=e.registry;return f?e.formats&&C.warn('Ignoring "formats" option because "registry" is specified'):f=e.formats?((t,e,n)=>{const r=new i.Registry;return j.forEach((t=>{const n=e.query(t);n&&r.register(n)})),t.forEach((t=>{let i=e.query(t);i||n.error(`Cannot register "${t}" specified in "formats" config. Are you sure it was registered?`);let s=0;for(;i;)if(r.register(i),i="blotName"in i?i.requiredContainer??null:null,s+=1,s>100){n.error(`Cycle detected in registering blot requiredContainer: "${t}"`);break}})),r})(e.formats,d.registry,C):d.registry,{...d,registry:f,container:n,theme:s,modules:Object.entries(h).reduce(((t,e)=>{let[n,i]=e;if(!i)return t;const s=I.import(`modules/${n}`);return null==s?(C.error(`Cannot load ${n} module. Are you sure you registered it?`),t):{...t,[n]:(0,r.A)({},s.DEFAULTS||{},i)}}),{}),bounds:B(d.bounds)}}(t,e),this.container=this.options.container,null==this.container)return void C.error("Invalid Quill container",t);this.options.debug&&I.debug(this.options.debug);const n=this.container.innerHTML.trim();this.container.classList.add("ql-container"),this.container.innerHTML="",E.A.set(this.container,this),this.root=this.addContainer("ql-editor"),this.root.classList.add("ql-blank"),this.emitter=new N.A;const s=i.ScrollBlot.blotName,l=this.options.registry.query(s);if(!l||!("blotName"in l))throw new Error(`Cannot initialize Quill without "${s}" blot`);if(this.scroll=new l(this.options.registry,this.root,{emitter:this.emitter}),this.editor=new x(this.scroll),this.selection=new f.A(this.scroll,this.emitter),this.composition=new _(this.scroll,this.emitter),this.theme=new this.options.theme(this,this.options),this.keyboard=this.theme.addModule("keyboard"),this.clipboard=this.theme.addModule("clipboard"),this.history=this.theme.addModule("history"),this.uploader=this.theme.addModule("uploader"),this.theme.addModule("input"),this.theme.addModule("uiNode"),this.theme.init(),this.emitter.on(N.A.events.EDITOR_CHANGE,(t=>{t===N.A.events.TEXT_CHANGE&&this.root.classList.toggle("ql-blank",this.editor.isBlank())})),this.emitter.on(N.A.events.SCROLL_UPDATE,((t,e)=>{const n=this.selection.lastRange,[r]=this.selection.getRange(),i=n&&r?{oldRange:n,newRange:r}:void 0;D.call(this,(()=>this.editor.update(null,e,i)),t)})),this.emitter.on(N.A.events.SCROLL_EMBED_UPDATE,((t,e)=>{const n=this.selection.lastRange,[r]=this.selection.getRange(),i=n&&r?{oldRange:n,newRange:r}:void 0;D.call(this,(()=>{const n=(new(o())).retain(t.offset(this)).retain({[t.statics.blotName]:e});return this.editor.update(n,[],i)}),I.sources.USER)})),n){const t=this.clipboard.convert({html:`${n}<p><br></p>`,text:"\n"});this.setContents(t)}this.history.clear(),this.options.placeholder&&this.root.setAttribute("data-placeholder",this.options.placeholder),this.options.readOnly&&this.disable(),this.allowReadOnlyEdits=!1}addContainer(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if("string"==typeof t){const e=t;(t=document.createElement("div")).classList.add(e)}return this.container.insertBefore(t,e),t}blur(){this.selection.setRange(null)}deleteText(t,e,n){return[t,e,,n]=P(t,e,n),D.call(this,(()=>this.editor.deleteText(t,e)),n,t,-1*e)}disable(){this.enable(!1)}editReadOnly(t){this.allowReadOnlyEdits=!0;const e=t();return this.allowReadOnlyEdits=!1,e}enable(){let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.scroll.enable(t),this.container.classList.toggle("ql-disabled",!t)}focus(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.selection.focus(),t.preventScroll||this.scrollSelectionIntoView()}format(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:N.A.sources.API;return D.call(this,(()=>{const n=this.getSelection(!0);let r=new(o());if(null==n)return r;if(this.scroll.query(t,i.Scope.BLOCK))r=this.editor.formatLine(n.index,n.length,{[t]:e});else{if(0===n.length)return this.selection.format(t,e),r;r=this.editor.formatText(n.index,n.length,{[t]:e})}return this.setSelection(n,N.A.sources.SILENT),r}),n)}formatLine(t,e,n,r,i){let s;return[t,e,s,i]=P(t,e,n,r,i),D.call(this,(()=>this.editor.formatLine(t,e,s)),i,t,0)}formatText(t,e,n,r,i){let s;return[t,e,s,i]=P(t,e,n,r,i),D.call(this,(()=>this.editor.formatText(t,e,s)),i,t,0)}getBounds(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=null;if(n="number"==typeof t?this.selection.getBounds(t,e):this.selection.getBounds(t.index,t.length),!n)return null;const r=this.container.getBoundingClientRect();return{bottom:n.bottom-r.top,height:n.height,left:n.left-r.left,right:n.right-r.left,top:n.top-r.top,width:n.width}}getContents(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.getLength()-t;return[t,e]=P(t,e),this.editor.getContents(t,e)}getFormat(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getSelection(!0),e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return"number"==typeof t?this.editor.getFormat(t,e):this.editor.getFormat(t.index,t.length)}getIndex(t){return t.offset(this.scroll)}getLength(){return this.scroll.length()}getLeaf(t){return this.scroll.leaf(t)}getLine(t){return this.scroll.line(t)}getLines(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE;return"number"!=typeof t?this.scroll.lines(t.index,t.length):this.scroll.lines(t,e)}getModule(t){return this.theme.modules[t]}getSelection(){return arguments.length>0&&void 0!==arguments[0]&&arguments[0]&&this.focus(),this.update(),this.selection.getRange()[0]}getSemanticHTML(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1?arguments[1]:void 0;return"number"==typeof t&&(e=e??this.getLength()-t),[t,e]=P(t,e),this.editor.getHTML(t,e)}getText(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1?arguments[1]:void 0;return"number"==typeof t&&(e=e??this.getLength()-t),[t,e]=P(t,e),this.editor.getText(t,e)}hasFocus(){return this.selection.hasFocus()}insertEmbed(t,e,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:I.sources.API;return D.call(this,(()=>this.editor.insertEmbed(t,e,n)),r,t)}insertText(t,e,n,r,i){let s;return[t,,s,i]=P(t,0,n,r,i),D.call(this,(()=>this.editor.insertText(t,e,s)),i,t,e.length)}isEnabled(){return this.scroll.isEnabled()}off(){return this.emitter.off(...arguments)}on(){return this.emitter.on(...arguments)}once(){return this.emitter.once(...arguments)}removeFormat(t,e,n){return[t,e,,n]=P(t,e,n),D.call(this,(()=>this.editor.removeFormat(t,e)),n,t)}scrollRectIntoView(t){((t,e)=>{const n=t.ownerDocument;let r=e,i=t;for(;i;){const t=i===n.body,e=t?{top:0,right:window.visualViewport?.width??n.documentElement.clientWidth,bottom:window.visualViewport?.height??n.documentElement.clientHeight,left:0}:S(i),o=getComputedStyle(i),l=T(r.left,r.right,e.left,e.right,O(o.scrollPaddingLeft),O(o.scrollPaddingRight)),a=T(r.top,r.bottom,e.top,e.bottom,O(o.scrollPaddingTop),O(o.scrollPaddingBottom));if(l||a)if(t)n.defaultView?.scrollBy(l,a);else{const{scrollLeft:t,scrollTop:e}=i;a&&(i.scrollTop+=a),l&&(i.scrollLeft+=l);const n=i.scrollLeft-t,s=i.scrollTop-e;r={left:r.left-n,top:r.top-s,right:r.right-n,bottom:r.bottom-s}}i=t||"fixed"===o.position?null:(s=i).parentElement||s.getRootNode().host||null}var s})(this.root,t)}scrollIntoView(){console.warn("Quill#scrollIntoView() has been deprecated and will be removed in the near future. Please use Quill#scrollSelectionIntoView() instead."),this.scrollSelectionIntoView()}scrollSelectionIntoView(){const t=this.selection.lastRange,e=t&&this.selection.getBounds(t.index,t.length);e&&this.scrollRectIntoView(e)}setContents(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:N.A.sources.API;return D.call(this,(()=>{t=new(o())(t);const e=this.getLength(),n=this.editor.deleteText(0,e),r=this.editor.insertContents(0,t),i=this.editor.deleteText(this.getLength()-1,1);return n.compose(r).compose(i)}),e)}setSelection(t,e,n){null==t?this.selection.setRange(null,e||I.sources.API):([t,e,,n]=P(t,e,n),this.selection.setRange(new f.Q(Math.max(0,t),e),n),n!==N.A.sources.SILENT&&this.scrollSelectionIntoView())}setText(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:N.A.sources.API;const n=(new(o())).insert(t);return this.setContents(n,e)}update(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:N.A.sources.USER;const e=this.scroll.update(t);return this.selection.update(t),e}updateContents(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:N.A.sources.API;return D.call(this,(()=>(t=new(o())(t),this.editor.applyDelta(t))),e,!0)}}function B(t){return"string"==typeof t?document.querySelector(t):t}function M(t){return Object.entries(t??{}).reduce(((t,e)=>{let[n,r]=e;return{...t,[n]:!0===r?{}:r}}),{})}function U(t){return Object.fromEntries(Object.entries(t).filter((t=>void 0!==t[1])))}function D(t,e,n,r){if(!this.isEnabled()&&e===N.A.sources.USER&&!this.allowReadOnlyEdits)return new(o());let i=null==n?null:this.getSelection();const s=this.editor.delta,l=t();if(null!=i&&(!0===n&&(n=i.index),null==r?i=z(i,l,e):0!==r&&(i=z(i,n,r,e)),this.setSelection(i,N.A.sources.SILENT)),l.length()>0){const t=[N.A.events.TEXT_CHANGE,l,s,e];this.emitter.emit(N.A.events.EDITOR_CHANGE,...t),e!==N.A.sources.SILENT&&this.emitter.emit(...t)}return l}function P(t,e,n,r,i){let s={};return"number"==typeof t.index&&"number"==typeof t.length?"number"!=typeof e?(i=r,r=n,n=e,e=t.length,t=t.index):(e=t.length,t=t.index):"number"!=typeof e&&(i=r,r=n,n=e,e=0),"object"==typeof n?(s=n,i=r):"string"==typeof n&&(null!=r?s[n]=r:i=n),[t,e,s,i=i||N.A.sources.API]}function z(t,e,n,r){const i="number"==typeof n?n:0;if(null==t)return null;let s,o;return e&&"function"==typeof e.transformPosition?[s,o]=[t.index,t.index+t.length].map((t=>e.transformPosition(t,r!==N.A.sources.USER))):[s,o]=[t.index,t.index+t.length].map((t=>t<e||t===e&&r===N.A.sources.USER?t:i>=0?t+i:Math.max(e,t+i))),new f.Q(s,o-s)}},8298:function(t,e,n){"use strict";n.d(e,{Q:function(){return a}});var r=n(6003),i=n(5123),s=n(3707),o=n(5374);const l=(0,n(6078).A)("quill:selection");class a{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.index=t,this.length=e}}function c(t,e){try{e.parentNode}catch(t){return!1}return t.contains(e)}e.A=class{constructor(t,e){this.emitter=e,this.scroll=t,this.composing=!1,this.mouseDown=!1,this.root=this.scroll.domNode,this.cursor=this.scroll.create("cursor",this),this.savedRange=new a(0,0),this.lastRange=this.savedRange,this.lastNative=null,this.handleComposition(),this.handleDragging(),this.emitter.listenDOM("selectionchange",document,(()=>{this.mouseDown||this.composing||setTimeout(this.update.bind(this,o.A.sources.USER),1)})),this.emitter.on(o.A.events.SCROLL_BEFORE_UPDATE,(()=>{if(!this.hasFocus())return;const t=this.getNativeRange();null!=t&&t.start.node!==this.cursor.textNode&&this.emitter.once(o.A.events.SCROLL_UPDATE,((e,n)=>{try{this.root.contains(t.start.node)&&this.root.contains(t.end.node)&&this.setNativeRange(t.start.node,t.start.offset,t.end.node,t.end.offset);const r=n.some((t=>"characterData"===t.type||"childList"===t.type||"attributes"===t.type&&t.target===this.root));this.update(r?o.A.sources.SILENT:e)}catch(t){}}))})),this.emitter.on(o.A.events.SCROLL_OPTIMIZE,((t,e)=>{if(e.range){const{startNode:t,startOffset:n,endNode:r,endOffset:i}=e.range;this.setNativeRange(t,n,r,i),this.update(o.A.sources.SILENT)}})),this.update(o.A.sources.SILENT)}handleComposition(){this.emitter.on(o.A.events.COMPOSITION_BEFORE_START,(()=>{this.composing=!0})),this.emitter.on(o.A.events.COMPOSITION_END,(()=>{if(this.composing=!1,this.cursor.parent){const t=this.cursor.restore();if(!t)return;setTimeout((()=>{this.setNativeRange(t.startNode,t.startOffset,t.endNode,t.endOffset)}),1)}}))}handleDragging(){this.emitter.listenDOM("mousedown",document.body,(()=>{this.mouseDown=!0})),this.emitter.listenDOM("mouseup",document.body,(()=>{this.mouseDown=!1,this.update(o.A.sources.USER)}))}focus(){this.hasFocus()||(this.root.focus({preventScroll:!0}),this.setRange(this.savedRange))}format(t,e){this.scroll.update();const n=this.getNativeRange();if(null!=n&&n.native.collapsed&&!this.scroll.query(t,r.Scope.BLOCK)){if(n.start.node!==this.cursor.textNode){const t=this.scroll.find(n.start.node,!1);if(null==t)return;if(t instanceof r.LeafBlot){const e=t.split(n.start.offset);t.parent.insertBefore(this.cursor,e)}else t.insertBefore(this.cursor,n.start.node);this.cursor.attach()}this.cursor.format(t,e),this.scroll.optimize(),this.setNativeRange(this.cursor.textNode,this.cursor.textNode.data.length),this.update()}}getBounds(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const n=this.scroll.length();let r;t=Math.min(t,n-1),e=Math.min(t+e,n-1)-t;let[i,s]=this.scroll.leaf(t);if(null==i)return null;if(e>0&&s===i.length()){const[e]=this.scroll.leaf(t+1);if(e){const[n]=this.scroll.line(t),[r]=this.scroll.line(t+1);n===r&&(i=e,s=0)}}[r,s]=i.position(s,!0);const o=document.createRange();if(e>0)return o.setStart(r,s),[i,s]=this.scroll.leaf(t+e),null==i?null:([r,s]=i.position(s,!0),o.setEnd(r,s),o.getBoundingClientRect());let l,a="left";if(r instanceof Text){if(!r.data.length)return null;s<r.data.length?(o.setStart(r,s),o.setEnd(r,s+1)):(o.setStart(r,s-1),o.setEnd(r,s),a="right"),l=o.getBoundingClientRect()}else{if(!(i.domNode instanceof Element))return null;l=i.domNode.getBoundingClientRect(),s>0&&(a="right")}return{bottom:l.top+l.height,height:l.height,left:l[a],right:l[a],top:l.top,width:0}}getNativeRange(){const t=document.getSelection();if(null==t||t.rangeCount<=0)return null;const e=t.getRangeAt(0);if(null==e)return null;const n=this.normalizeNative(e);return l.info("getNativeRange",n),n}getRange(){const t=this.scroll.domNode;if("isConnected"in t&&!t.isConnected)return[null,null];const e=this.getNativeRange();return null==e?[null,null]:[this.normalizedToRange(e),e]}hasFocus(){return document.activeElement===this.root||null!=document.activeElement&&c(this.root,document.activeElement)}normalizedToRange(t){const e=[[t.start.node,t.start.offset]];t.native.collapsed||e.push([t.end.node,t.end.offset]);const n=e.map((t=>{const[e,n]=t,i=this.scroll.find(e,!0),s=i.offset(this.scroll);return 0===n?s:i instanceof r.LeafBlot?s+i.index(e,n):s+i.length()})),i=Math.min(Math.max(...n),this.scroll.length()-1),s=Math.min(i,...n);return new a(s,i-s)}normalizeNative(t){if(!c(this.root,t.startContainer)||!t.collapsed&&!c(this.root,t.endContainer))return null;const e={start:{node:t.startContainer,offset:t.startOffset},end:{node:t.endContainer,offset:t.endOffset},native:t};return[e.start,e.end].forEach((t=>{let{node:e,offset:n}=t;for(;!(e instanceof Text)&&e.childNodes.length>0;)if(e.childNodes.length>n)e=e.childNodes[n],n=0;else{if(e.childNodes.length!==n)break;e=e.lastChild,n=e instanceof Text?e.data.length:e.childNodes.length>0?e.childNodes.length:e.childNodes.length+1}t.node=e,t.offset=n})),e}rangeToNative(t){const e=this.scroll.length(),n=(t,n)=>{t=Math.min(e-1,t);const[r,i]=this.scroll.leaf(t);return r?r.position(i,n):[null,-1]};return[...n(t.index,!1),...n(t.index+t.length,!0)]}setNativeRange(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:e,i=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(l.info("setNativeRange",t,e,n,r),null!=t&&(null==this.root.parentNode||null==t.parentNode||null==n.parentNode))return;const s=document.getSelection();if(null!=s)if(null!=t){this.hasFocus()||this.root.focus({preventScroll:!0});const{native:o}=this.getNativeRange()||{};if(null==o||i||t!==o.startContainer||e!==o.startOffset||n!==o.endContainer||r!==o.endOffset){t instanceof Element&&"BR"===t.tagName&&(e=Array.from(t.parentNode.childNodes).indexOf(t),t=t.parentNode),n instanceof Element&&"BR"===n.tagName&&(r=Array.from(n.parentNode.childNodes).indexOf(n),n=n.parentNode);const i=document.createRange();i.setStart(t,e),i.setEnd(n,r),s.removeAllRanges(),s.addRange(i)}}else s.removeAllRanges(),this.root.blur()}setRange(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o.A.sources.API;if("string"==typeof e&&(n=e,e=!1),l.info("setRange",t),null!=t){const n=this.rangeToNative(t);this.setNativeRange(...n,e)}else this.setNativeRange(null);this.update(n)}update(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o.A.sources.USER;const e=this.lastRange,[n,r]=this.getRange();if(this.lastRange=n,this.lastNative=r,null!=this.lastRange&&(this.savedRange=this.lastRange),!(0,i.A)(e,this.lastRange)){if(!this.composing&&null!=r&&r.native.collapsed&&r.start.node!==this.cursor.textNode){const t=this.cursor.restore();t&&this.setNativeRange(t.startNode,t.startOffset,t.endNode,t.endOffset)}const n=[o.A.events.SELECTION_CHANGE,(0,s.A)(this.lastRange),(0,s.A)(e),t];this.emitter.emit(o.A.events.EDITOR_CHANGE,...n),t!==o.A.sources.SILENT&&this.emitter.emit(...n)}}}},9609:function(t,e){"use strict";class n{static DEFAULTS={modules:{}};static themes={default:n};modules={};constructor(t,e){this.quill=t,this.options=e}init(){Object.keys(this.options.modules).forEach((t=>{null==this.modules[t]&&this.addModule(t)}))}addModule(t){const e=this.quill.constructor.import(`modules/${t}`);return this.modules[t]=new e(this.quill,this.options.modules[t]||{}),this.modules[t]}}e.A=n},8276:function(t,e,n){"use strict";n.d(e,{Hu:function(){return l},gS:function(){return s},qh:function(){return o}});var r=n(6003);const i={scope:r.Scope.BLOCK,whitelist:["right","center","justify"]},s=new r.Attributor("align","align",i),o=new r.ClassAttributor("align","ql-align",i),l=new r.StyleAttributor("align","text-align",i)},9541:function(t,e,n){"use strict";n.d(e,{l:function(){return s},s:function(){return o}});var r=n(6003),i=n(8638);const s=new r.ClassAttributor("background","ql-bg",{scope:r.Scope.INLINE}),o=new i.a2("background","background-color",{scope:r.Scope.INLINE})},9404:function(t,e,n){"use strict";n.d(e,{Ay:function(){return h},Cy:function(){return d},EJ:function(){return u}});var r=n(9698),i=n(3036),s=n(4541),o=n(4850),l=n(5508),a=n(580),c=n(6142);class u extends a.A{static create(t){const e=super.create(t);return e.setAttribute("spellcheck","false"),e}code(t,e){return this.children.map((t=>t.length()<=1?"":t.domNode.innerText)).join("\n").slice(t,t+e)}html(t,e){return`<pre>\n${(0,l.X)(this.code(t,e))}\n</pre>`}}class h extends r.Ay{static TAB="  ";static register(){c.Ay.register(u)}}class d extends o.A{}d.blotName="code",d.tagName="CODE",h.blotName="code-block",h.className="ql-code-block",h.tagName="DIV",u.blotName="code-block-container",u.className="ql-code-block-container",u.tagName="DIV",u.allowedChildren=[h],h.allowedChildren=[l.A,i.A,s.A],h.requiredContainer=u},8638:function(t,e,n){"use strict";n.d(e,{JM:function(){return o},a2:function(){return i},g3:function(){return s}});var r=n(6003);class i extends r.StyleAttributor{value(t){let e=super.value(t);return e.startsWith("rgb(")?(e=e.replace(/^[^\d]+/,"").replace(/[^\d]+$/,""),`#${e.split(",").map((t=>`00${parseInt(t,10).toString(16)}`.slice(-2))).join("")}`):e}}const s=new r.ClassAttributor("color","ql-color",{scope:r.Scope.INLINE}),o=new i("color","color",{scope:r.Scope.INLINE})},7912:function(t,e,n){"use strict";n.d(e,{Mc:function(){return s},VL:function(){return l},sY:function(){return o}});var r=n(6003);const i={scope:r.Scope.BLOCK,whitelist:["rtl"]},s=new r.Attributor("direction","dir",i),o=new r.ClassAttributor("direction","ql-direction",i),l=new r.StyleAttributor("direction","direction",i)},6772:function(t,e,n){"use strict";n.d(e,{q:function(){return s},z:function(){return l}});var r=n(6003);const i={scope:r.Scope.INLINE,whitelist:["serif","monospace"]},s=new r.ClassAttributor("font","ql-font",i);class o extends r.StyleAttributor{value(t){return super.value(t).replace(/["']/g,"")}}const l=new o("font","font-family",i)},664:function(t,e,n){"use strict";n.d(e,{U:function(){return i},r:function(){return s}});var r=n(6003);const i=new r.ClassAttributor("size","ql-size",{scope:r.Scope.INLINE,whitelist:["small","large","huge"]}),s=new r.StyleAttributor("size","font-size",{scope:r.Scope.INLINE,whitelist:["10px","18px","32px"]})},584:function(t,e,n){"use strict";n.d(e,{Ay:function(){return S},hV:function(){return I}});var r=n(6003),i=n(5232),s=n.n(i),o=n(9698),l=n(6078),a=n(4266),c=n(6142),u=n(8276),h=n(9541),d=n(9404),f=n(8638),p=n(7912),g=n(6772),m=n(664),b=n(8123);const y=/font-weight:\s*normal/,v=["P","OL","UL"],A=t=>t&&v.includes(t.tagName),x=/\bmso-list:[^;]*ignore/i,N=/\bmso-list:[^;]*\bl(\d+)/i,E=/\bmso-list:[^;]*\blevel(\d+)/i,w=[function(t){"urn:schemas-microsoft-com:office:word"===t.documentElement.getAttribute("xmlns:w")&&(t=>{const e=Array.from(t.querySelectorAll("[style*=mso-list]")),n=[],r=[];e.forEach((t=>{(t.getAttribute("style")||"").match(x)?n.push(t):r.push(t)})),n.forEach((t=>t.parentNode?.removeChild(t)));const i=t.documentElement.innerHTML,s=r.map((t=>((t,e)=>{const n=t.getAttribute("style"),r=n?.match(N);if(!r)return null;const i=Number(r[1]),s=n?.match(E),o=s?Number(s[1]):1,l=new RegExp(`@list l${i}:level${o}\\s*\\{[^\\}]*mso-level-number-format:\\s*([\\w-]+)`,"i"),a=e.match(l);return{id:i,indent:o,type:a&&"bullet"===a[1]?"bullet":"ordered",element:t}})(t,i))).filter((t=>t));for(;s.length;){const t=[];let e=s.shift();for(;e;)t.push(e),e=s.length&&s[0]?.element===e.element.nextElementSibling&&s[0].id===e.id?s.shift():null;const n=document.createElement("ul");t.forEach((t=>{const e=document.createElement("li");e.setAttribute("data-list",t.type),t.indent>1&&e.setAttribute("class","ql-indent-"+(t.indent-1)),e.innerHTML=t.element.innerHTML,n.appendChild(e)}));const r=t[0]?.element,{parentNode:i}=r??{};r&&i?.replaceChild(n,r),t.slice(1).forEach((t=>{let{element:e}=t;i?.removeChild(e)}))}})(t)},function(t){t.querySelector('[id^="docs-internal-guid-"]')&&((t=>{Array.from(t.querySelectorAll('b[style*="font-weight"]')).filter((t=>t.getAttribute("style")?.match(y))).forEach((e=>{const n=t.createDocumentFragment();n.append(...e.childNodes),e.parentNode?.replaceChild(n,e)}))})(t),(t=>{Array.from(t.querySelectorAll("br")).filter((t=>A(t.previousElementSibling)&&A(t.nextElementSibling))).forEach((t=>{t.parentNode?.removeChild(t)}))})(t))}];const q=(0,l.A)("quill:clipboard"),k=[[Node.TEXT_NODE,function(t,e,n){let r=t.data;if("O:P"===t.parentElement?.tagName)return e.insert(r.trim());if(!R(t)){if(0===r.trim().length&&r.includes("\n")&&!function(t,e){return t.previousElementSibling&&t.nextElementSibling&&!j(t.previousElementSibling,e)&&!j(t.nextElementSibling,e)}(t,n))return e;r=r.replace(/[^\S\u00a0]/g," "),r=r.replace(/ {2,}/g," "),(null==t.previousSibling&&null!=t.parentElement&&j(t.parentElement,n)||t.previousSibling instanceof Element&&j(t.previousSibling,n))&&(r=r.replace(/^ /,"")),(null==t.nextSibling&&null!=t.parentElement&&j(t.parentElement,n)||t.nextSibling instanceof Element&&j(t.nextSibling,n))&&(r=r.replace(/ $/,"")),r=r.replaceAll(" "," ")}return e.insert(r)}],[Node.TEXT_NODE,M],["br",function(t,e){return T(e,"\n")||e.insert("\n"),e}],[Node.ELEMENT_NODE,M],[Node.ELEMENT_NODE,function(t,e,n){const i=n.query(t);if(null==i)return e;if(i.prototype instanceof r.EmbedBlot){const e={},r=i.value(t);if(null!=r)return e[i.blotName]=r,(new(s())).insert(e,i.formats(t,n))}else if(i.prototype instanceof r.BlockBlot&&!T(e,"\n")&&e.insert("\n"),"blotName"in i&&"formats"in i&&"function"==typeof i.formats)return O(e,i.blotName,i.formats(t,n),n);return e}],[Node.ELEMENT_NODE,function(t,e,n){const i=r.Attributor.keys(t),s=r.ClassAttributor.keys(t),o=r.StyleAttributor.keys(t),l={};return i.concat(s).concat(o).forEach((e=>{let i=n.query(e,r.Scope.ATTRIBUTE);null!=i&&(l[i.attrName]=i.value(t),l[i.attrName])||(i=_[e],null==i||i.attrName!==e&&i.keyName!==e||(l[i.attrName]=i.value(t)||void 0),i=L[e],null==i||i.attrName!==e&&i.keyName!==e||(i=L[e],l[i.attrName]=i.value(t)||void 0))})),Object.entries(l).reduce(((t,e)=>{let[r,i]=e;return O(t,r,i,n)}),e)}],[Node.ELEMENT_NODE,function(t,e,n){const r={},i=t.style||{};return"italic"===i.fontStyle&&(r.italic=!0),"underline"===i.textDecoration&&(r.underline=!0),"line-through"===i.textDecoration&&(r.strike=!0),(i.fontWeight?.startsWith("bold")||parseInt(i.fontWeight,10)>=700)&&(r.bold=!0),e=Object.entries(r).reduce(((t,e)=>{let[r,i]=e;return O(t,r,i,n)}),e),parseFloat(i.textIndent||0)>0?(new(s())).insert("\t").concat(e):e}],["li",function(t,e,n){const r=n.query(t);if(null==r||"list"!==r.blotName||!T(e,"\n"))return e;let i=-1,o=t.parentNode;for(;null!=o;)["OL","UL"].includes(o.tagName)&&(i+=1),o=o.parentNode;return i<=0?e:e.reduce(((t,e)=>e.insert?e.attributes&&"number"==typeof e.attributes.indent?t.push(e):t.insert(e.insert,{indent:i,...e.attributes||{}}):t),new(s()))}],["ol, ul",function(t,e,n){const r=t;let i="OL"===r.tagName?"ordered":"bullet";const s=r.getAttribute("data-checked");return s&&(i="true"===s?"checked":"unchecked"),O(e,"list",i,n)}],["pre",function(t,e,n){const r=n.query("code-block");return O(e,"code-block",!r||!("formats"in r)||"function"!=typeof r.formats||r.formats(t,n),n)}],["tr",function(t,e,n){const r="TABLE"===t.parentElement?.tagName?t.parentElement:t.parentElement?.parentElement;return null!=r?O(e,"table",Array.from(r.querySelectorAll("tr")).indexOf(t)+1,n):e}],["b",B("bold")],["i",B("italic")],["strike",B("strike")],["style",function(){return new(s())}]],_=[u.gS,p.Mc].reduce(((t,e)=>(t[e.keyName]=e,t)),{}),L=[u.Hu,h.s,f.JM,p.VL,g.z,m.r].reduce(((t,e)=>(t[e.keyName]=e,t)),{});class S extends a.A{static DEFAULTS={matchers:[]};constructor(t,e){super(t,e),this.quill.root.addEventListener("copy",(t=>this.onCaptureCopy(t,!1))),this.quill.root.addEventListener("cut",(t=>this.onCaptureCopy(t,!0))),this.quill.root.addEventListener("paste",this.onCapturePaste.bind(this)),this.matchers=[],k.concat(this.options.matchers??[]).forEach((t=>{let[e,n]=t;this.addMatcher(e,n)}))}addMatcher(t,e){this.matchers.push([t,e])}convert(t){let{html:e,text:n}=t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(r[d.Ay.blotName])return(new(s())).insert(n||"",{[d.Ay.blotName]:r[d.Ay.blotName]});if(!e)return(new(s())).insert(n||"",r);const i=this.convertHTML(e);return T(i,"\n")&&(null==i.ops[i.ops.length-1].attributes||r.table)?i.compose((new(s())).retain(i.length()-1).delete(1)):i}normalizeHTML(t){(t=>{t.documentElement&&w.forEach((e=>{e(t)}))})(t)}convertHTML(t){const e=(new DOMParser).parseFromString(t,"text/html");this.normalizeHTML(e);const n=e.body,r=new WeakMap,[i,s]=this.prepareMatching(n,r);return I(this.quill.scroll,n,i,s,r)}dangerouslyPasteHTML(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:c.Ay.sources.API;if("string"==typeof t){const n=this.convert({html:t,text:""});this.quill.setContents(n,e),this.quill.setSelection(0,c.Ay.sources.SILENT)}else{const r=this.convert({html:e,text:""});this.quill.updateContents((new(s())).retain(t).concat(r),n),this.quill.setSelection(t+r.length(),c.Ay.sources.SILENT)}}onCaptureCopy(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(t.defaultPrevented)return;t.preventDefault();const[n]=this.quill.selection.getRange();if(null==n)return;const{html:r,text:i}=this.onCopy(n,e);t.clipboardData?.setData("text/plain",i),t.clipboardData?.setData("text/html",r),e&&(0,b.Xo)({range:n,quill:this.quill})}normalizeURIList(t){return t.split(/\r?\n/).filter((t=>"#"!==t[0])).join("\n")}onCapturePaste(t){if(t.defaultPrevented||!this.quill.isEnabled())return;t.preventDefault();const e=this.quill.getSelection(!0);if(null==e)return;const n=t.clipboardData?.getData("text/html");let r=t.clipboardData?.getData("text/plain");if(!n&&!r){const e=t.clipboardData?.getData("text/uri-list");e&&(r=this.normalizeURIList(e))}const i=Array.from(t.clipboardData?.files||[]);if(!n&&i.length>0)this.quill.uploader.upload(e,i);else{if(n&&i.length>0){const t=(new DOMParser).parseFromString(n,"text/html");if(1===t.body.childElementCount&&"IMG"===t.body.firstElementChild?.tagName)return void this.quill.uploader.upload(e,i)}this.onPaste(e,{html:n,text:r})}}onCopy(t){const e=this.quill.getText(t);return{html:this.quill.getSemanticHTML(t),text:e}}onPaste(t,e){let{text:n,html:r}=e;const i=this.quill.getFormat(t.index),o=this.convert({text:n,html:r},i);q.log("onPaste",o,{text:n,html:r});const l=(new(s())).retain(t.index).delete(t.length).concat(o);this.quill.updateContents(l,c.Ay.sources.USER),this.quill.setSelection(l.length()-t.length,c.Ay.sources.SILENT),this.quill.scrollSelectionIntoView()}prepareMatching(t,e){const n=[],r=[];return this.matchers.forEach((i=>{const[s,o]=i;switch(s){case Node.TEXT_NODE:r.push(o);break;case Node.ELEMENT_NODE:n.push(o);break;default:Array.from(t.querySelectorAll(s)).forEach((t=>{if(e.has(t)){const n=e.get(t);n?.push(o)}else e.set(t,[o])}))}})),[n,r]}}function O(t,e,n,r){return r.query(e)?t.reduce(((t,r)=>{if(!r.insert)return t;if(r.attributes&&r.attributes[e])return t.push(r);const i=n?{[e]:n}:{};return t.insert(r.insert,{...i,...r.attributes})}),new(s())):t}function T(t,e){let n="";for(let r=t.ops.length-1;r>=0&&n.length<e.length;--r){const e=t.ops[r];if("string"!=typeof e.insert)break;n=e.insert+n}return n.slice(-1*e.length)===e}function j(t,e){if(!(t instanceof Element))return!1;const n=e.query(t);return!(n&&n.prototype instanceof r.EmbedBlot)&&["address","article","blockquote","canvas","dd","div","dl","dt","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","iframe","li","main","nav","ol","output","p","pre","section","table","td","tr","ul","video"].includes(t.tagName.toLowerCase())}const C=new WeakMap;function R(t){return null!=t&&(C.has(t)||("PRE"===t.tagName?C.set(t,!0):C.set(t,R(t.parentNode))),C.get(t))}function I(t,e,n,r,i){return e.nodeType===e.TEXT_NODE?r.reduce(((n,r)=>r(e,n,t)),new(s())):e.nodeType===e.ELEMENT_NODE?Array.from(e.childNodes||[]).reduce(((s,o)=>{let l=I(t,o,n,r,i);return o.nodeType===e.ELEMENT_NODE&&(l=n.reduce(((e,n)=>n(o,e,t)),l),l=(i.get(o)||[]).reduce(((e,n)=>n(o,e,t)),l)),s.concat(l)}),new(s())):new(s())}function B(t){return(e,n,r)=>O(n,t,!0,r)}function M(t,e,n){if(!T(e,"\n")){if(j(t,n)&&(t.childNodes.length>0||t instanceof HTMLParagraphElement))return e.insert("\n");if(e.length()>0&&t.nextSibling){let r=t.nextSibling;for(;null!=r;){if(j(r,n))return e.insert("\n");const t=n.query(r);if(t&&t.prototype instanceof o.zo)return e.insert("\n");r=r.firstChild}}}return e}},8123:function(t,e,n){"use strict";n.d(e,{Ay:function(){return f},Xo:function(){return v}});var r=n(5123),i=n(3707),s=n(5232),o=n.n(s),l=n(6003),a=n(6142),c=n(6078),u=n(4266);const h=(0,c.A)("quill:keyboard"),d=/Mac/i.test(navigator.platform)?"metaKey":"ctrlKey";class f extends u.A{static match(t,e){return!["altKey","ctrlKey","metaKey","shiftKey"].some((n=>!!e[n]!==t[n]&&null!==e[n]))&&(e.key===t.key||e.key===t.which)}constructor(t,e){super(t,e),this.bindings={},Object.keys(this.options.bindings).forEach((t=>{this.options.bindings[t]&&this.addBinding(this.options.bindings[t])})),this.addBinding({key:"Enter",shiftKey:null},this.handleEnter),this.addBinding({key:"Enter",metaKey:null,ctrlKey:null,altKey:null},(()=>{})),/Firefox/i.test(navigator.userAgent)?(this.addBinding({key:"Backspace"},{collapsed:!0},this.handleBackspace),this.addBinding({key:"Delete"},{collapsed:!0},this.handleDelete)):(this.addBinding({key:"Backspace"},{collapsed:!0,prefix:/^.?$/},this.handleBackspace),this.addBinding({key:"Delete"},{collapsed:!0,suffix:/^.?$/},this.handleDelete)),this.addBinding({key:"Backspace"},{collapsed:!1},this.handleDeleteRange),this.addBinding({key:"Delete"},{collapsed:!1},this.handleDeleteRange),this.addBinding({key:"Backspace",altKey:null,ctrlKey:null,metaKey:null,shiftKey:null},{collapsed:!0,offset:0},this.handleBackspace),this.listen()}addBinding(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=function(t){if("string"==typeof t||"number"==typeof t)t={key:t};else{if("object"!=typeof t)return null;t=(0,i.A)(t)}return t.shortKey&&(t[d]=t.shortKey,delete t.shortKey),t}(t);null!=r?("function"==typeof e&&(e={handler:e}),"function"==typeof n&&(n={handler:n}),(Array.isArray(r.key)?r.key:[r.key]).forEach((t=>{const i={...r,key:t,...e,...n};this.bindings[i.key]=this.bindings[i.key]||[],this.bindings[i.key].push(i)}))):h.warn("Attempted to add invalid keyboard binding",r)}listen(){this.quill.root.addEventListener("keydown",(t=>{if(t.defaultPrevented||t.isComposing)return;if(229===t.keyCode&&("Enter"===t.key||"Backspace"===t.key))return;const e=(this.bindings[t.key]||[]).concat(this.bindings[t.which]||[]).filter((e=>f.match(t,e)));if(0===e.length)return;const n=a.Ay.find(t.target,!0);if(n&&n.scroll!==this.quill.scroll)return;const i=this.quill.getSelection();if(null==i||!this.quill.hasFocus())return;const[s,o]=this.quill.getLine(i.index),[c,u]=this.quill.getLeaf(i.index),[h,d]=0===i.length?[c,u]:this.quill.getLeaf(i.index+i.length),p=c instanceof l.TextBlot?c.value().slice(0,u):"",g=h instanceof l.TextBlot?h.value().slice(d):"",m={collapsed:0===i.length,empty:0===i.length&&s.length()<=1,format:this.quill.getFormat(i),line:s,offset:o,prefix:p,suffix:g,event:t};e.some((t=>{if(null!=t.collapsed&&t.collapsed!==m.collapsed)return!1;if(null!=t.empty&&t.empty!==m.empty)return!1;if(null!=t.offset&&t.offset!==m.offset)return!1;if(Array.isArray(t.format)){if(t.format.every((t=>null==m.format[t])))return!1}else if("object"==typeof t.format&&!Object.keys(t.format).every((e=>!0===t.format[e]?null!=m.format[e]:!1===t.format[e]?null==m.format[e]:(0,r.A)(t.format[e],m.format[e]))))return!1;return!(null!=t.prefix&&!t.prefix.test(m.prefix)||null!=t.suffix&&!t.suffix.test(m.suffix)||!0===t.handler.call(this,i,m,t))}))&&t.preventDefault()}))}handleBackspace(t,e){const n=/[\uD800-\uDBFF][\uDC00-\uDFFF]$/.test(e.prefix)?2:1;if(0===t.index||this.quill.getLength()<=1)return;let r={};const[i]=this.quill.getLine(t.index);let l=(new(o())).retain(t.index-n).delete(n);if(0===e.offset){const[e]=this.quill.getLine(t.index-1);if(e&&!("block"===e.statics.blotName&&e.length()<=1)){const e=i.formats(),n=this.quill.getFormat(t.index-1,1);if(r=s.AttributeMap.diff(e,n)||{},Object.keys(r).length>0){const e=(new(o())).retain(t.index+i.length()-2).retain(1,r);l=l.compose(e)}}}this.quill.updateContents(l,a.Ay.sources.USER),this.quill.focus()}handleDelete(t,e){const n=/^[\uD800-\uDBFF][\uDC00-\uDFFF]/.test(e.suffix)?2:1;if(t.index>=this.quill.getLength()-n)return;let r={};const[i]=this.quill.getLine(t.index);let l=(new(o())).retain(t.index).delete(n);if(e.offset>=i.length()-1){const[e]=this.quill.getLine(t.index+1);if(e){const n=i.formats(),o=this.quill.getFormat(t.index,1);r=s.AttributeMap.diff(n,o)||{},Object.keys(r).length>0&&(l=l.retain(e.length()-1).retain(1,r))}}this.quill.updateContents(l,a.Ay.sources.USER),this.quill.focus()}handleDeleteRange(t){v({range:t,quill:this.quill}),this.quill.focus()}handleEnter(t,e){const n=Object.keys(e.format).reduce(((t,n)=>(this.quill.scroll.query(n,l.Scope.BLOCK)&&!Array.isArray(e.format[n])&&(t[n]=e.format[n]),t)),{}),r=(new(o())).retain(t.index).delete(t.length).insert("\n",n);this.quill.updateContents(r,a.Ay.sources.USER),this.quill.setSelection(t.index+1,a.Ay.sources.SILENT),this.quill.focus()}}const p={bindings:{bold:b("bold"),italic:b("italic"),underline:b("underline"),indent:{key:"Tab",format:["blockquote","indent","list"],handler(t,e){return!(!e.collapsed||0===e.offset)||(this.quill.format("indent","+1",a.Ay.sources.USER),!1)}}
vendor: 4,614 bytes, line 46325
46325,outdent:{key:"Tab",shiftKey:!0,format:["blockquote","indent","list"],handler(t,e){return!(!e.collapsed||0===e.offset)||(this.quill.format("indent","-1",a.Ay.sources.USER),!1)}},"outdent backspace":{key:"Backspace",collapsed:!0,shiftKey:null,metaKey:null,ctrlKey:null,altKey:null,format:["indent","list"],offset:0,handler(t,e){null!=e.format.indent?this.quill.format("indent","-1",a.Ay.sources.USER):null!=e.format.list&&this.quill.format("list",!1,a.Ay.sources.USER)}},"indent code-block":g(!0),"outdent code-block":g(!1),"remove tab":{key:"Tab",shiftKey:!0,collapsed:!0,prefix:/\t$/,handler(t){this.quill.deleteText(t.index-1,1,a.Ay.sources.USER)}},tab:{key:"Tab",handler(t,e){if(e.format.table)return!0;this.quill.history.cutoff();const n=(new(o())).retain(t.index).delete(t.length).insert("\t");return this.quill.updateContents(n,a.Ay.sources.USER),this.quill.history.cutoff(),this.quill.setSelection(t.index+1,a.Ay.sources.SILENT),!1}},"blockquote empty enter":{key:"Enter",collapsed:!0,format:["blockquote"],empty:!0,handler(){this.quill.format("blockquote",!1,a.Ay.sources.USER)}},"list empty enter":{key:"Enter",collapsed:!0,format:["list"],empty:!0,handler(t,e){const n={list:!1};e.format.indent&&(n.indent=!1),this.quill.formatLine(t.index,t.length,n,a.Ay.sources.USER)}},"checklist enter":{key:"Enter",collapsed:!0,format:{list:"checked"},handler(t){const[e,n]=this.quill.getLine(t.index),r={...e.formats(),list:"checked"},i=(new(o())).retain(t.index).insert("\n",r).retain(e.length()-n-1).retain(1,{list:"unchecked"});this.quill.updateContents(i,a.Ay.sources.USER),this.quill.setSelection(t.index+1,a.Ay.sources.SILENT),this.quill.scrollSelectionIntoView()}},"header enter":{key:"Enter",collapsed:!0,format:["header"],suffix:/^$/,handler(t,e){const[n,r]=this.quill.getLine(t.index),i=(new(o())).retain(t.index).insert("\n",e.format).retain(n.length()-r-1).retain(1,{header:null});this.quill.updateContents(i,a.Ay.sources.USER),this.quill.setSelection(t.index+1,a.Ay.sources.SILENT),this.quill.scrollSelectionIntoView()}},"table backspace":{key:"Backspace",format:["table"],collapsed:!0,offset:0,handler(){}},"table delete":{key:"Delete",format:["table"],collapsed:!0,suffix:/^$/,handler(){}},"table enter":{key:"Enter",shiftKey:null,format:["table"],handler(t){const e=this.quill.getModule("table");if(e){const[n,r,i,s]=e.getTable(t),l=function(t,e,n,r){return null==e.prev&&null==e.next?null==n.prev&&null==n.next?0===r?-1:1:null==n.prev?-1:1:null==e.prev?-1:null==e.next?1:null}(0,r,i,s);if(null==l)return;let c=n.offset();if(l<0){const e=(new(o())).retain(c).insert("\n");this.quill.updateContents(e,a.Ay.sources.USER),this.quill.setSelection(t.index+1,t.length,a.Ay.sources.SILENT)}else if(l>0){c+=n.length();const t=(new(o())).retain(c).insert("\n");this.quill.updateContents(t,a.Ay.sources.USER),this.quill.setSelection(c,a.Ay.sources.USER)}}}},"table tab":{key:"Tab",shiftKey:null,format:["table"],handler(t,e){const{event:n,line:r}=e,i=r.offset(this.quill.scroll);n.shiftKey?this.quill.setSelection(i-1,a.Ay.sources.USER):this.quill.setSelection(i+r.length(),a.Ay.sources.USER)}},"list autofill":{key:" ",shiftKey:null,collapsed:!0,format:{"code-block":!1,blockquote:!1,table:!1},prefix:/^\s*?(\d+\.|-|\*|\[ ?\]|\[x\])$/,handler(t,e){if(null==this.quill.scroll.query("list"))return!0;const{length:n}=e.prefix,[r,i]=this.quill.getLine(t.index);if(i>n)return!0;let s;switch(e.prefix.trim()){case"[]":case"[ ]":s="unchecked";break;case"[x]":s="checked";break;case"-":case"*":s="bullet";break;default:s="ordered"}this.quill.insertText(t.index," ",a.Ay.sources.USER),this.quill.history.cutoff();const l=(new(o())).retain(t.index-i).delete(n+1).retain(r.length()-2-i).retain(1,{list:s});return this.quill.updateContents(l,a.Ay.sources.USER),this.quill.history.cutoff(),this.quill.setSelection(t.index-n,a.Ay.sources.SILENT),!1}},"code exit":{key:"Enter",collapsed:!0,format:["code-block"],prefix:/^$/,suffix:/^\s*$/,handler(t){const[e,n]=this.quill.getLine(t.index);let r=2,i=e;for(;null!=i&&i.length()<=1&&i.formats()["code-block"];)if(i=i.prev,r-=1,r<=0){const r=(new(o())).retain(t.index+e.length()-n-2).retain(1,{"code-block":null}).delete(1);return this.quill.updateContents(r,a.Ay.sources.USER),this.quill.setSelection(t.index-1,a.Ay.sources.SILENT),!1}return!0}},"embed left":m("ArrowLeft",!1),"embed left shift":m("ArrowLeft",!0),"embed right":m("ArrowRight",!1),"embed right shift":m("ArrowRight",!0),"table down":y(!1),"table up":y(!0)}};function g(t){return{key:"Tab",shiftKey:!t,format:{"code-block":!0},handler(e,n){let{event:r}=n;const i=this.quill.scroll.query("code-block"),{TAB:s}=i;
vendor: 110,873 bytes, line 46325
46325if(0===e.length&&!r.shiftKey)return this.quill.insertText(e.index,s,a.Ay.sources.USER),void this.quill.setSelection(e.index+s.length,a.Ay.sources.SILENT);const o=0===e.length?this.quill.getLines(e.index,1):this.quill.getLines(e);let{index:l,length:c}=e;o.forEach(((e,n)=>{t?(e.insertAt(0,s),0===n?l+=s.length:c+=s.length):e.domNode.textContent.startsWith(s)&&(e.deleteAt(0,s.length),0===n?l-=s.length:c-=s.length)})),this.quill.update(a.Ay.sources.USER),this.quill.setSelection(l,c,a.Ay.sources.SILENT)}}}function m(t,e){return{key:t,shiftKey:e,altKey:null,["ArrowLeft"===t?"prefix":"suffix"]:/^$/,handler(n){let{index:r}=n;"ArrowRight"===t&&(r+=n.length+1);const[i]=this.quill.getLeaf(r);return!(i instanceof l.EmbedBlot&&("ArrowLeft"===t?e?this.quill.setSelection(n.index-1,n.length+1,a.Ay.sources.USER):this.quill.setSelection(n.index-1,a.Ay.sources.USER):e?this.quill.setSelection(n.index,n.length+1,a.Ay.sources.USER):this.quill.setSelection(n.index+n.length+1,a.Ay.sources.USER),1))}}}function b(t){return{key:t[0],shortKey:!0,handler(e,n){this.quill.format(t,!n.format[t],a.Ay.sources.USER)}}}function y(t){return{key:t?"ArrowUp":"ArrowDown",collapsed:!0,format:["table"],handler(e,n){const r=t?"prev":"next",i=n.line,s=i.parent[r];if(null!=s){if("table-row"===s.statics.blotName){let t=s.children.head,e=i;for(;null!=e.prev;)e=e.prev,t=t.next;const r=t.offset(this.quill.scroll)+Math.min(n.offset,t.length()-1);this.quill.setSelection(r,0,a.Ay.sources.USER)}}else{const e=i.table()[r];null!=e&&(t?this.quill.setSelection(e.offset(this.quill.scroll)+e.length()-1,0,a.Ay.sources.USER):this.quill.setSelection(e.offset(this.quill.scroll),0,a.Ay.sources.USER))}return!1}}}function v(t){let{quill:e,range:n}=t;const r=e.getLines(n);let i={};if(r.length>1){const t=r[0].formats(),e=r[r.length-1].formats();i=s.AttributeMap.diff(e,t)||{}}e.deleteText(n,a.Ay.sources.USER),Object.keys(i).length>0&&e.formatLine(n.index,1,i,a.Ay.sources.USER),e.setSelection(n.index,a.Ay.sources.SILENT)}f.DEFAULTS=p},8920:function(t){"use strict";var e=Object.prototype.hasOwnProperty,n="~";function r(){}function i(t,e,n){this.fn=t,this.context=e,this.once=n||!1}function s(t,e,r,s,o){if("function"!=typeof r)throw new TypeError("The listener must be a function");var l=new i(r,s||t,o),a=n?n+e:e;return t._events[a]?t._events[a].fn?t._events[a]=[t._events[a],l]:t._events[a].push(l):(t._events[a]=l,t._eventsCount++),t}function o(t,e){0==--t._eventsCount?t._events=new r:delete t._events[e]}function l(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),l.prototype.eventNames=function(){var t,r,i=[];if(0===this._eventsCount)return i;for(r in t=this._events)e.call(t,r)&&i.push(n?r.slice(1):r);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(t)):i},l.prototype.listeners=function(t){var e=n?n+t:t,r=this._events[e];if(!r)return[];if(r.fn)return[r.fn];for(var i=0,s=r.length,o=new Array(s);i<s;i++)o[i]=r[i].fn;return o},l.prototype.listenerCount=function(t){var e=n?n+t:t,r=this._events[e];return r?r.fn?1:r.length:0},l.prototype.emit=function(t,e,r,i,s,o){var l=n?n+t:t;if(!this._events[l])return!1;var a,c,u=this._events[l],h=arguments.length;if(u.fn){switch(u.once&&this.removeListener(t,u.fn,void 0,!0),h){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,e),!0;case 3:return u.fn.call(u.context,e,r),!0;case 4:return u.fn.call(u.context,e,r,i),!0;case 5:return u.fn.call(u.context,e,r,i,s),!0;case 6:return u.fn.call(u.context,e,r,i,s,o),!0}for(c=1,a=new Array(h-1);c<h;c++)a[c-1]=arguments[c];u.fn.apply(u.context,a)}else{var d,f=u.length;for(c=0;c<f;c++)switch(u[c].once&&this.removeListener(t,u[c].fn,void 0,!0),h){case 1:u[c].fn.call(u[c].context);break;case 2:u[c].fn.call(u[c].context,e);break;case 3:u[c].fn.call(u[c].context,e,r);break;case 4:u[c].fn.call(u[c].context,e,r,i);break;default:if(!a)for(d=1,a=new Array(h-1);d<h;d++)a[d-1]=arguments[d];u[c].fn.apply(u[c].context,a)}}return!0},l.prototype.on=function(t,e,n){return s(this,t,e,n,!1)},l.prototype.once=function(t,e,n){return s(this,t,e,n,!0)},l.prototype.removeListener=function(t,e,r,i){var s=n?n+t:t;if(!this._events[s])return this;if(!e)return o(this,s),this;var l=this._events[s];if(l.fn)l.fn!==e||i&&!l.once||r&&l.context!==r||o(this,s);else{for(var a=0,c=[],u=l.length;a<u;a++)(l[a].fn!==e||i&&!l[a].once||r&&l[a].context!==r)&&c.push(l[a]);c.length?this._events[s]=1===c.length?c[0]:c:o(this,s)}return this},l.prototype.removeAllListeners=function(t){var e;return t?(e=n?n+t:t,this._events[e]&&o(this,e)):(this._events=new r,this._eventsCount=0),this},l.prototype.off=l.prototype.removeListener,l.prototype.addListener=l.prototype.on,l.prefixed=n,l.EventEmitter=l,t.exports=l},5090:function(t){var e=-1,n=1,r=0;function i(t,g,m,b,y){if(t===g)return t?[[r,t]]:[];if(null!=m){var A=function(t,e,n){var r="number"==typeof n?{index:n,length:0}:n.oldRange,i="number"==typeof n?null:n.newRange,s=t.length,o=e.length;if(0===r.length&&(null===i||0===i.length)){var l=r.index,a=t.slice(0,l),c=t.slice(l),u=i?i.index:null,h=l+o-s;if((null===u||u===h)&&!(h<0||h>o)){var d=e.slice(0,h);if((g=e.slice(h))===c){var f=Math.min(l,h);if((b=a.slice(0,f))===(A=d.slice(0,f)))return v(b,a.slice(f),d.slice(f),c)}}if(null===u||u===l){var p=l,g=(d=e.slice(0,p),e.slice(p));if(d===a){var m=Math.min(s-p,o-p);if((y=c.slice(c.length-m))===(x=g.slice(g.length-m)))return v(a,c.slice(0,c.length-m),g.slice(0,g.length-m),y)}}}if(r.length>0&&i&&0===i.length){var b=t.slice(0,r.index),y=t.slice(r.index+r.length);if(!(o<(f=b.length)+(m=y.length))){var A=e.slice(0,f),x=e.slice(o-m);if(b===A&&y===x)return v(b,t.slice(f,s-m),e.slice(f,o-m),y)}}return null}(t,g,m);if(A)return A}var x=o(t,g),N=t.substring(0,x);x=a(t=t.substring(x),g=g.substring(x));var E=t.substring(t.length-x),w=function(t,l){var c;if(!t)return[[n,l]];if(!l)return[[e,t]];var u=t.length>l.length?t:l,h=t.length>l.length?l:t,d=u.indexOf(h);if(-1!==d)return c=[[n,u.substring(0,d)],[r,h],[n,u.substring(d+h.length)]],t.length>l.length&&(c[0][0]=c[2][0]=e),c;if(1===h.length)return[[e,t],[n,l]];var f=function(t,e){var n=t.length>e.length?t:e,r=t.length>e.length?e:t;if(n.length<4||2*r.length<n.length)return null;function i(t,e,n){for(var r,i,s,l,c=t.substring(n,n+Math.floor(t.length/4)),u=-1,h="";-1!==(u=e.indexOf(c,u+1));){var d=o(t.substring(n),e.substring(u)),f=a(t.substring(0,n),e.substring(0,u));h.length<f+d&&(h=e.substring(u-f,u)+e.substring(u,u+d),r=t.substring(0,n-f),i=t.substring(n+d),s=e.substring(0,u-f),l=e.substring(u+d))}return 2*h.length>=t.length?[r,i,s,l,h]:null}var s,l,c,u,h,d=i(n,r,Math.ceil(n.length/4)),f=i(n,r,Math.ceil(n.length/2));return d||f?(s=f?d&&d[4].length>f[4].length?d:f:d,t.length>e.length?(l=s[0],c=s[1],u=s[2],h=s[3]):(u=s[0],h=s[1],l=s[2],c=s[3]),[l,c,u,h,s[4]]):null}(t,l);if(f){var p=f[0],g=f[1],m=f[2],b=f[3],y=f[4],v=i(p,m),A=i(g,b);return v.concat([[r,y]],A)}return function(t,r){for(var i=t.length,o=r.length,l=Math.ceil((i+o)/2),a=l,c=2*l,u=new Array(c),h=new Array(c),d=0;d<c;d++)u[d]=-1,h[d]=-1;u[a+1]=0,h[a+1]=0;for(var f=i-o,p=f%2!=0,g=0,m=0,b=0,y=0,v=0;v<l;v++){for(var A=-v+g;A<=v-m;A+=2){for(var x=a+A,N=(_=A===-v||A!==v&&u[x-1]<u[x+1]?u[x+1]:u[x-1]+1)-A;_<i&&N<o&&t.charAt(_)===r.charAt(N);)_++,N++;if(u[x]=_,_>i)m+=2;else if(N>o)g+=2;else if(p&&(q=a+f-A)>=0&&q<c&&-1!==h[q]&&_>=(w=i-h[q]))return s(t,r,_,N)}for(var E=-v+b;E<=v-y;E+=2){for(var w,q=a+E,k=(w=E===-v||E!==v&&h[q-1]<h[q+1]?h[q+1]:h[q-1]+1)-E;w<i&&k<o&&t.charAt(i-w-1)===r.charAt(o-k-1);)w++,k++;if(h[q]=w,w>i)y+=2;else if(k>o)b+=2;else if(!p){var _;if((x=a+f-E)>=0&&x<c&&-1!==u[x])if(N=a+(_=u[x])-x,_>=(w=i-w))return s(t,r,_,N)}}}return[[e,t],[n,r]]}(t,l)}(t=t.substring(0,t.length-x),g=g.substring(0,g.length-x));return N&&w.unshift([r,N]),E&&w.push([r,E]),p(w,y),b&&function(t){for(var i=!1,s=[],o=0,g=null,m=0,b=0,y=0,v=0,A=0;m<t.length;)t[m][0]==r?(s[o++]=m,b=v,y=A,v=0,A=0,g=t[m][1]):(t[m][0]==n?v+=t[m][1].length:A+=t[m][1].length,g&&g.length<=Math.max(b,y)&&g.length<=Math.max(v,A)&&(t.splice(s[o-1],0,[e,g]),t[s[o-1]+1][0]=n,o--,m=--o>0?s[o-1]:-1,b=0,y=0,v=0,A=0,g=null,i=!0)),m++;for(i&&p(t),function(t){function e(t,e){if(!t||!e)return 6;var n=t.charAt(t.length-1),r=e.charAt(0),i=n.match(c),s=r.match(c),o=i&&n.match(u),l=s&&r.match(u),a=o&&n.match(h),p=l&&r.match(h),g=a&&t.match(d),m=p&&e.match(f);return g||m?5:a||p?4:i&&!o&&l?3:o||l?2:i||s?1:0}for(var n=1;n<t.length-1;){if(t[n-1][0]==r&&t[n+1][0]==r){var i=t[n-1][1],s=t[n][1],o=t[n+1][1],l=a(i,s);if(l){var p=s.substring(s.length-l);i=i.substring(0,i.length-l),s=p+s.substring(0,s.length-l),o=p+o}for(var g=i,m=s,b=o,y=e(i,s)+e(s,o);s.charAt(0)===o.charAt(0);){i+=s.charAt(0),s=s.substring(1)+o.charAt(0),o=o.substring(1);var v=e(i,s)+e(s,o);v>=y&&(y=v,g=i,m=s,b=o)}t[n-1][1]!=g&&(g?t[n-1][1]=g:(t.splice(n-1,1),n--),t[n][1]=m,b?t[n+1][1]=b:(t.splice(n+1,1),n--))}n++}}(t),m=1;m<t.length;){if(t[m-1][0]==e&&t[m][0]==n){var x=t[m-1][1],N=t[m][1],E=l(x,N),w=l(N,x);E>=w?(E>=x.length/2||E>=N.length/2)&&(t.splice(m,0,[r,N.substring(0,E)]),t[m-1][1]=x.substring(0,x.length-E),t[m+1][1]=N.substring(E),m++):(w>=x.length/2||w>=N.length/2)&&(t.splice(m,0,[r,x.substring(0,w)]),t[m-1][0]=n,t[m-1][1]=N.substring(0,N.length-w),t[m+1][0]=e,t[m+1][1]=x.substring(w),m++),m++}m++}}(w),w}function s(t,e,n,r){var s=t.substring(0,n),o=e.substring(0,r),l=t.substring(n),a=e.substring(r),c=i(s,o),u=i(l,a);return c.concat(u)}function o(t,e){if(!t||!e||t.charAt(0)!==e.charAt(0))return 0;for(var n=0,r=Math.min(t.length,e.length),i=r,s=0;n<i;)t.substring(s,i)==e.substring(s,i)?s=n=i:r=i,i=Math.floor((r-n)/2+n);return g(t.charCodeAt(i-1))&&i--,i}function l(t,e){var n=t.length,r=e.length;if(0==n||0==r)return 0;n>r?t=t.substring(n-r):n<r&&(e=e.substring(0,n));var i=Math.min(n,r);if(t==e)return i;for(var s=0,o=1;;){var l=t.substring(i-o),a=e.indexOf(l);if(-1==a)return s;o+=a,0!=a&&t.substring(i-o)!=e.substring(0,o)||(s=o,o++)}}function a(t,e){if(!t||!e||t.slice(-1)!==e.slice(-1))return 0;for(var n=0,r=Math.min(t.length,e.length),i=r,s=0;n<i;)t.substring(t.length-i,t.length-s)==e.substring(e.length-i,e.length-s)?s=n=i:r=i,i=Math.floor((r-n)/2+n);return m(t.charCodeAt(t.length-i))&&i--,i}var c=/[^a-zA-Z0-9]/,u=/\s/,h=/[\r\n]/,d=/\n\r?\n$/,f=/^\r?\n\r?\n/;function p(t,i){t.push([r,""]);for(var s,l=0,c=0,u=0,h="",d="";l<t.length;)if(l<t.length-1&&!t[l][1])t.splice(l,1);else switch(t[l][0]){case n:u++,d+=t[l][1],l++;break;case e:c++,h+=t[l][1],l++;break;case r:var f=l-u-c-1;if(i){if(f>=0&&y(t[f][1])){var g=t[f][1].slice(-1);if(t[f][1]=t[f][1].slice(0,-1),h=g+h,d=g+d,!t[f][1]){t.splice(f,1),l--;var m=f-1;t[m]&&t[m][0]===n&&(u++,d=t[m][1]+d,m--),t[m]&&t[m][0]===e&&(c++,h=t[m][1]+h,m--),f=m}}b(t[l][1])&&(g=t[l][1].charAt(0),t[l][1]=t[l][1].slice(1),h+=g,d+=g)}if(l<t.length-1&&!t[l][1]){t.splice(l,1);break}if(h.length>0||d.length>0){h.length>0&&d.length>0&&(0!==(s=o(d,h))&&(f>=0?t[f][1]+=d.substring(0,s):(t.splice(0,0,[r,d.substring(0,s)]),l++),d=d.substring(s),h=h.substring(s)),0!==(s=a(d,h))&&(t[l][1]=d.substring(d.length-s)+t[l][1],d=d.substring(0,d.length-s),h=h.substring(0,h.length-s)));var v=u+c;0===h.length&&0===d.length?(t.splice(l-v,v),l-=v):0===h.length?(t.splice(l-v,v,[n,d]),l=l-v+1):0===d.length?(t.splice(l-v,v,[e,h]),l=l-v+1):(t.splice(l-v,v,[e,h],[n,d]),l=l-v+2)}0!==l&&t[l-1][0]===r?(t[l-1][1]+=t[l][1],t.splice(l,1)):l++,u=0,c=0,h="",d=""}""===t[t.length-1][1]&&t.pop();var A=!1;for(l=1;l<t.length-1;)t[l-1][0]===r&&t[l+1][0]===r&&(t[l][1].substring(t[l][1].length-t[l-1][1].length)===t[l-1][1]?(t[l][1]=t[l-1][1]+t[l][1].substring(0,t[l][1].length-t[l-1][1].length),t[l+1][1]=t[l-1][1]+t[l+1][1],t.splice(l-1,1),A=!0):t[l][1].substring(0,t[l+1][1].length)==t[l+1][1]&&(t[l-1][1]+=t[l+1][1],t[l][1]=t[l][1].substring(t[l+1][1].length)+t[l+1][1],t.splice(l+1,1),A=!0)),l++;A&&p(t,i)}function g(t){return t>=55296&&t<=56319}function m(t){return t>=56320&&t<=57343}function b(t){return m(t.charCodeAt(0))}function y(t){return g(t.charCodeAt(t.length-1))}function v(t,i,s,o){return y(t)||b(o)?null:function(t){for(var e=[],n=0;n<t.length;n++)t[n][1].length>0&&e.push(t[n]);return e}([[r,t],[e,i],[n,s],[r,o]])}function A(t,e,n,r){return i(t,e,n,r,!0)}A.INSERT=n,A.DELETE=e,A.EQUAL=r,t.exports=A},9629:function(t,e,n){t=n.nmd(t);var r="__lodash_hash_undefined__",i=9007199254740991,s="[object Arguments]",o="[object Boolean]",l="[object Date]",a="[object Function]",c="[object GeneratorFunction]",u="[object Map]",h="[object Number]",d="[object Object]",f="[object Promise]",p="[object RegExp]",g="[object Set]",m="[object String]",b="[object Symbol]",y="[object WeakMap]",v="[object ArrayBuffer]",A="[object DataView]",x="[object Float32Array]",N="[object Float64Array]",E="[object Int8Array]",w="[object Int16Array]",q="[object Int32Array]",k="[object Uint8Array]",_="[object Uint8ClampedArray]",L="[object Uint16Array]",S="[object Uint32Array]",O=/\w*$/,T=/^\[object .+?Constructor\]$/,j=/^(?:0|[1-9]\d*)$/,C={};C[s]=C["[object Array]"]=C[v]=C[A]=C[o]=C[l]=C[x]=C[N]=C[E]=C[w]=C[q]=C[u]=C[h]=C[d]=C[p]=C[g]=C[m]=C[b]=C[k]=C[_]=C[L]=C[S]=!0,C["[object Error]"]=C[a]=C[y]=!1;var R="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,I="object"==typeof self&&self&&self.Object===Object&&self,B=R||I||Function("return this")(),M=e&&!e.nodeType&&e,U=M&&t&&!t.nodeType&&t,D=U&&U.exports===M;function P(t,e){return t.set(e[0],e[1]),t}function z(t,e){return t.add(e),t}function F(t,e,n,r){var i=-1,s=t?t.length:0;for(r&&s&&(n=t[++i]);++i<s;)n=e(n,t[i],i,t);return n}function H(t){var e=!1;if(null!=t&&"function"!=typeof t.toString)try{e=!!(t+"")}catch(t){}return e}function $(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}function V(t,e){return function(n){return t(e(n))}}function K(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t})),n}var W,Z=Array.prototype,G=Function.prototype,X=Object.prototype,Q=B["__core-js_shared__"],J=(W=/[^.]+$/.exec(Q&&Q.keys&&Q.keys.IE_PROTO||""))?"Symbol(src)_1."+W:"",Y=G.toString,tt=X.hasOwnProperty,et=X.toString,nt=RegExp("^"+Y.call(tt).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),rt=D?B.Buffer:void 0,it=B.Symbol,st=B.Uint8Array,ot=V(Object.getPrototypeOf,Object),lt=Object.create,at=X.propertyIsEnumerable,ct=Z.splice,ut=Object.getOwnPropertySymbols,ht=rt?rt.isBuffer:void 0,dt=V(Object.keys,Object),ft=Bt(B,"DataView"),pt=Bt(B,"Map"),gt=Bt(B,"Promise"),mt=Bt(B,"Set"),bt=Bt(B,"WeakMap"),yt=Bt(Object,"create"),vt=zt(ft),At=zt(pt),xt=zt(gt),Nt=zt(mt),Et=zt(bt),wt=it?it.prototype:void 0,qt=wt?wt.valueOf:void 0;function kt(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function _t(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function Lt(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function St(t){this.__data__=new _t(t)}function Ot(t,e,n){var r=t[e];tt.call(t,e)&&Ft(r,n)&&(void 0!==n||e in t)||(t[e]=n)}function Tt(t,e){for(var n=t.length;n--;)if(Ft(t[n][0],e))return n;return-1}function jt(t,e,n,r,i,f,y){var T;if(r&&(T=f?r(t,i,f,y):r(t)),void 0!==T)return T;if(!Wt(t))return t;var j=Ht(t);if(j){if(T=function(t){var e=t.length,n=t.constructor(e);return e&&"string"==typeof t[0]&&tt.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),!e)return function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}(t,T)}else{var R=Ut(t),I=R==a||R==c;if(Vt(t))return function(t,e){if(e)return t.slice();var n=new t.constructor(t.length);return t.copy(n),n}(t,e);if(R==d||R==s||I&&!f){if(H(t))return f?t:{};if(T=function(t){return"function"!=typeof t.constructor||Pt(t)?{}:Wt(e=ot(t))?lt(e):{};var e}(I?{}:t),!e)return function(t,e){return Rt(t,Mt(t),e)}(t,function(t,e){return t&&Rt(e,Zt(e),t)}(T,t))}else{if(!C[R])return f?t:{};T=function(t,e,n,r){var i,s=t.constructor;switch(e){case v:return Ct(t);case o:case l:return new s(+t);case A:return function(t,e){var n=e?Ct(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,r);case x:case N:case E:case w:case q:case k:case _:case L:case S:return function(t,e){var n=e?Ct(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}(t,r);case u:return function(t,e,n){return F(e?n($(t),!0):$(t),P,new t.constructor)}(t,r,n);case h:case m:return new s(t);case p:return function(t){var e=new t.constructor(t.source,O.exec(t));return e.lastIndex=t.lastIndex,e}(t);case g:return function(t,e,n){return F(e?n(K(t),!0):K(t),z,new t.constructor)}(t,r,n);case b:return i=t,qt?Object(qt.call(i)):{}}}(t,R,jt,e)}}y||(y=new St);var B=y.get(t);if(B)return B;if(y.set(t,T),!j)var M=n?function(t){return function(t,e,n){var r=e(t);return Ht(t)?r:function(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}(r,n(t))}(t,Zt,Mt)}(t):Zt(t);return function(t,e){for(var n=-1,r=t?t.length:0;++n<r&&!1!==e(t[n],n););}(M||t,(function(i,s){M&&(i=t[s=i]),Ot(T,s,jt(i,e,n,r,s,t,y))})),T}function Ct(t){var e=new t.constructor(t.byteLength);return new st(e).set(new st(t)),e}function Rt(t,e,n,r){n||(n={});for(var i=-1,s=e.length;++i<s;){var o=e[i],l=r?r(n[o],t[o],o,n,t):void 0;Ot(n,o,void 0===l?t[o]:l)}return n}function It(t,e){var n,r,i=t.__data__;return("string"==(r=typeof(n=e))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof e?"string":"hash"]:i.map}function Bt(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return function(t){return!(!Wt(t)||(e=t,J&&J in e))&&(Kt(t)||H(t)?nt:T).test(zt(t));var e}(n)?n:void 0}kt.prototype.clear=function(){this.__data__=yt?yt(null):{}},kt.prototype.delete=function(t){return this.has(t)&&delete this.__data__[t]},kt.prototype.get=function(t){var e=this.__data__;if(yt){var n=e[t];return n===r?void 0:n}return tt.call(e,t)?e[t]:void 0},kt.prototype.has=function(t){var e=this.__data__;return yt?void 0!==e[t]:tt.call(e,t)},kt.prototype.set=function(t,e){return this.__data__[t]=yt&&void 0===e?r:e,this},_t.prototype.clear=function(){this.__data__=[]},_t.prototype.delete=function(t){var e=this.__data__,n=Tt(e,t);return!(n<0||(n==e.length-1?e.pop():ct.call(e,n,1),0))},_t.prototype.get=function(t){var e=this.__data__,n=Tt(e,t);return n<0?void 0:e[n][1]},_t.prototype.has=function(t){return Tt(this.__data__,t)>-1},_t.prototype.set=function(t,e){var n=this.__data__,r=Tt(n,t);return r<0?n.push([t,e]):n[r][1]=e,this},Lt.prototype.clear=function(){this.__data__={hash:new kt,map:new(pt||_t),string:new kt}},Lt.prototype.delete=function(t){return It(this,t).delete(t)},Lt.prototype.get=function(t){return It(this,t).get(t)},Lt.prototype.has=function(t){return It(this,t).has(t)},Lt.prototype.set=function(t,e){return It(this,t).set(t,e),this},St.prototype.clear=function(){this.__data__=new _t},St.prototype.delete=function(t){return this.__data__.delete(t)},St.prototype.get=function(t){return this.__data__.get(t)},St.prototype.has=function(t){return this.__data__.has(t)},St.prototype.set=function(t,e){var n=this.__data__;if(n instanceof _t){var r=n.__data__;if(!pt||r.length<199)return r.push([t,e]),this;n=this.__data__=new Lt(r)}return n.set(t,e),this};var Mt=ut?V(ut,Object):function(){return[]},Ut=function(t){return et.call(t)};function Dt(t,e){return!!(e=null==e?i:e)&&("number"==typeof t||j.test(t))&&t>-1&&t%1==0&&t<e}function Pt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||X)}function zt(t){if(null!=t){try{return Y.call(t)}catch(t){}try{return t+""}catch(t){}}return""}function Ft(t,e){return t===e||t!=t&&e!=e}(ft&&Ut(new ft(new ArrayBuffer(1)))!=A||pt&&Ut(new pt)!=u||gt&&Ut(gt.resolve())!=f||mt&&Ut(new mt)!=g||bt&&Ut(new bt)!=y)&&(Ut=function(t){var e=et.call(t),n=e==d?t.constructor:void 0,r=n?zt(n):void 0;if(r)switch(r){case vt:return A;case At:return u;case xt:return f;case Nt:return g;case Et:return y}return e});var Ht=Array.isArray;function $t(t){return null!=t&&function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=i}(t.length)&&!Kt(t)}var Vt=ht||function(){return!1};function Kt(t){var e=Wt(t)?et.call(t):"";return e==a||e==c}function Wt(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function Zt(t){return $t(t)?function(t,e){var n=Ht(t)||function(t){return function(t){return function(t){return!!t&&"object"==typeof t}(t)&&$t(t)}(t)&&tt.call(t,"callee")&&(!at.call(t,"callee")||et.call(t)==s)}(t)?function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}(t.length,String):[],r=n.length,i=!!r;for(var o in t)!e&&!tt.call(t,o)||i&&("length"==o||Dt(o,r))||n.push(o);return n}(t):function(t){if(!Pt(t))return dt(t);var e=[];for(var n in Object(t))tt.call(t,n)&&"constructor"!=n&&e.push(n);return e}(t)}t.exports=function(t){return jt(t,!0,!0)}},4162:function(t,e,n){t=n.nmd(t);var r="__lodash_hash_undefined__",i=1,s=2,o=9007199254740991,l="[object Arguments]",a="[object Array]",c="[object AsyncFunction]",u="[object Boolean]",h="[object Date]",d="[object Error]",f="[object Function]",p="[object GeneratorFunction]",g="[object Map]",m="[object Number]",b="[object Null]",y="[object Object]",v="[object Promise]",A="[object Proxy]",x="[object RegExp]",N="[object Set]",E="[object String]",w="[object Undefined]",q="[object WeakMap]",k="[object ArrayBuffer]",_="[object DataView]",L=/^\[object .+?Constructor\]$/,S=/^(?:0|[1-9]\d*)$/,O={};O["[object Float32Array]"]=O["[object Float64Array]"]=O["[object Int8Array]"]=O["[object Int16Array]"]=O["[object Int32Array]"]=O["[object Uint8Array]"]=O["[object Uint8ClampedArray]"]=O["[object Uint16Array]"]=O["[object Uint32Array]"]=!0,O[l]=O[a]=O[k]=O[u]=O[_]=O[h]=O[d]=O[f]=O[g]=O[m]=O[y]=O[x]=O[N]=O[E]=O[q]=!1;var T="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,j="object"==typeof self&&self&&self.Object===Object&&self,C=T||j||Function("return this")(),R=e&&!e.nodeType&&e,I=R&&t&&!t.nodeType&&t,B=I&&I.exports===R,M=B&&T.process,U=function(){try{return M&&M.binding&&M.binding("util")}catch(t){}}(),D=U&&U.isTypedArray;function P(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}function z(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}function F(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t})),n}var H,$,V,K=Array.prototype,W=Function.prototype,Z=Object.prototype,G=C["__core-js_shared__"],X=W.toString,Q=Z.hasOwnProperty,J=(H=/[^.]+$/.exec(G&&G.keys&&G.keys.IE_PROTO||""))?"Symbol(src)_1."+H:"",Y=Z.toString,tt=RegExp("^"+X.call(Q).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),et=B?C.Buffer:void 0,nt=C.Symbol,rt=C.Uint8Array,it=Z.propertyIsEnumerable,st=K.splice,ot=nt?nt.toStringTag:void 0,lt=Object.getOwnPropertySymbols,at=et?et.isBuffer:void 0,ct=($=Object.keys,V=Object,function(t){return $(V(t))}),ut=It(C,"DataView"),ht=It(C,"Map"),dt=It(C,"Promise"),ft=It(C,"Set"),pt=It(C,"WeakMap"),gt=It(Object,"create"),mt=Dt(ut),bt=Dt(ht),yt=Dt(dt),vt=Dt(ft),At=Dt(pt),xt=nt?nt.prototype:void 0,Nt=xt?xt.valueOf:void 0;function Et(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function wt(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function qt(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function kt(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new qt;++e<n;)this.add(t[e])}function _t(t){var e=this.__data__=new wt(t);this.size=e.size}function Lt(t,e){for(var n=t.length;n--;)if(Pt(t[n][0],e))return n;return-1}function St(t){return null==t?void 0===t?w:b:ot&&ot in Object(t)?function(t){var e=Q.call(t,ot),n=t[ot];try{t[ot]=void 0;var r=!0}catch(t){}var i=Y.call(t);return r&&(e?t[ot]=n:delete t[ot]),i}(t):function(t){return Y.call(t)}(t)}function Ot(t){return Wt(t)&&St(t)==l}function Tt(t,e,n,r,o){return t===e||(null==t||null==e||!Wt(t)&&!Wt(e)?t!=t&&e!=e:function(t,e,n,r,o,c){var f=Ft(t),p=Ft(e),b=f?a:Mt(t),v=p?a:Mt(e),A=(b=b==l?y:b)==y,w=(v=v==l?y:v)==y,q=b==v;if(q&&Ht(t)){if(!Ht(e))return!1;f=!0,A=!1}if(q&&!A)return c||(c=new _t),f||Zt(t)?jt(t,e,n,r,o,c):function(t,e,n,r,o,l,a){switch(n){case _:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case k:return!(t.byteLength!=e.byteLength||!l(new rt(t),new rt(e)));case u:case h:case m:return Pt(+t,+e);case d:return t.name==e.name&&t.message==e.message;case x:case E:return t==e+"";case g:var c=z;case N:var f=r&i;if(c||(c=F),t.size!=e.size&&!f)return!1;var p=a.get(t);if(p)return p==e;r|=s,a.set(t,e);var b=jt(c(t),c(e),r,o,l,a);return a.delete(t),b;case"[object Symbol]":if(Nt)return Nt.call(t)==Nt.call(e)}return!1}(t,e,b,n,r,o,c);if(!(n&i)){var L=A&&Q.call(t,"__wrapped__"),S=w&&Q.call(e,"__wrapped__");if(L||S){var O=L?t.value():t,T=S?e.value():e;return c||(c=new _t),o(O,T,n,r,c)}}return!!q&&(c||(c=new _t),function(t,e,n,r,s,o){var l=n&i,a=Ct(t),c=a.length;if(c!=Ct(e).length&&!l)return!1;for(var u=c;u--;){var h=a[u];if(!(l?h in e:Q.call(e,h)))return!1}var d=o.get(t);if(d&&o.get(e))return d==e;var f=!0;o.set(t,e),o.set(e,t);for(var p=l;++u<c;){var g=t[h=a[u]],m=e[h];if(r)var b=l?r(m,g,h,e,t,o):r(g,m,h,t,e,o);if(!(void 0===b?g===m||s(g,m,n,r,o):b)){f=!1;break}p||(p="constructor"==h)}if(f&&!p){var y=t.constructor,v=e.constructor;y==v||!("constructor"in t)||!("constructor"in e)||"function"==typeof y&&y instanceof y&&"function"==typeof v&&v instanceof v||(f=!1)}return o.delete(t),o.delete(e),f}(t,e,n,r,o,c))}(t,e,n,r,Tt,o))}function jt(t,e,n,r,o,l){var a=n&i,c=t.length,u=e.length;if(c!=u&&!(a&&u>c))return!1;var h=l.get(t);if(h&&l.get(e))return h==e;var d=-1,f=!0,p=n&s?new kt:void 0;for(l.set(t,e),l.set(e,t);++d<c;){var g=t[d],m=e[d];if(r)var b=a?r(m,g,d,e,t,l):r(g,m,d,t,e,l);if(void 0!==b){if(b)continue;f=!1;break}if(p){if(!P(e,(function(t,e){if(i=e,!p.has(i)&&(g===t||o(g,t,n,r,l)))return p.push(e);var i}))){f=!1;break}}else if(g!==m&&!o(g,m,n,r,l)){f=!1;break}}return l.delete(t),l.delete(e),f}function Ct(t){return function(t,e,n){var r=e(t);return Ft(t)?r:function(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}(r,n(t))}(t,Gt,Bt)}function Rt(t,e){var n,r,i=t.__data__;return("string"==(r=typeof(n=e))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof e?"string":"hash"]:i.map}function It(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return function(t){return!(!Kt(t)||function(t){return!!J&&J in t}(t))&&($t(t)?tt:L).test(Dt(t))}(n)?n:void 0}Et.prototype.clear=function(){this.__data__=gt?gt(null):{},this.size=0},Et.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},Et.prototype.get=function(t){var e=this.__data__;if(gt){var n=e[t];return n===r?void 0:n}return Q.call(e,t)?e[t]:void 0},Et.prototype.has=function(t){var e=this.__data__;return gt?void 0!==e[t]:Q.call(e,t)},Et.prototype.set=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=gt&&void 0===e?r:e,this},wt.prototype.clear=function(){this.__data__=[],this.size=0},wt.prototype.delete=function(t){var e=this.__data__,n=Lt(e,t);return!(n<0||(n==e.length-1?e.pop():st.call(e,n,1),--this.size,0))},wt.prototype.get=function(t){var e=this.__data__,n=Lt(e,t);return n<0?void 0:e[n][1]},wt.prototype.has=function(t){return Lt(this.__data__,t)>-1},wt.prototype.set=function(t,e){var n=this.__data__,r=Lt(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this},qt.prototype.clear=function(){this.size=0,this.__data__={hash:new Et,map:new(ht||wt),string:new Et}},qt.prototype.delete=function(t){var e=Rt(this,t).delete(t);return this.size-=e?1:0,e},qt.prototype.get=function(t){return Rt(this,t).get(t)},qt.prototype.has=function(t){return Rt(this,t).has(t)},qt.prototype.set=function(t,e){var n=Rt(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this},kt.prototype.add=kt.prototype.push=function(t){return this.__data__.set(t,r),this},kt.prototype.has=function(t){return this.__data__.has(t)},_t.prototype.clear=function(){this.__data__=new wt,this.size=0},_t.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},_t.prototype.get=function(t){return this.__data__.get(t)},_t.prototype.has=function(t){return this.__data__.has(t)},_t.prototype.set=function(t,e){var n=this.__data__;if(n instanceof wt){var r=n.__data__;if(!ht||r.length<199)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new qt(r)}return n.set(t,e),this.size=n.size,this};var Bt=lt?function(t){return null==t?[]:(t=Object(t),function(e,n){for(var r=-1,i=null==e?0:e.length,s=0,o=[];++r<i;){var l=e[r];a=l,it.call(t,a)&&(o[s++]=l)}var a;return o}(lt(t)))}:function(){return[]},Mt=St;function Ut(t,e){return!!(e=null==e?o:e)&&("number"==typeof t||S.test(t))&&t>-1&&t%1==0&&t<e}function Dt(t){if(null!=t){try{return X.call(t)}catch(t){}try{return t+""}catch(t){}}return""}function Pt(t,e){return t===e||t!=t&&e!=e}(ut&&Mt(new ut(new ArrayBuffer(1)))!=_||ht&&Mt(new ht)!=g||dt&&Mt(dt.resolve())!=v||ft&&Mt(new ft)!=N||pt&&Mt(new pt)!=q)&&(Mt=function(t){var e=St(t),n=e==y?t.constructor:void 0,r=n?Dt(n):"";if(r)switch(r){case mt:return _;case bt:return g;case yt:return v;case vt:return N;case At:return q}return e});var zt=Ot(function(){return arguments}())?Ot:function(t){return Wt(t)&&Q.call(t,"callee")&&!it.call(t,"callee")},Ft=Array.isArray,Ht=at||function(){return!1};function $t(t){if(!Kt(t))return!1;var e=St(t);return e==f||e==p||e==c||e==A}function Vt(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=o}function Kt(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function Wt(t){return null!=t&&"object"==typeof t}var Zt=D?function(t){return function(e){return t(e)}}(D):function(t){return Wt(t)&&Vt(t.length)&&!!O[St(t)]};function Gt(t){return null!=(e=t)&&Vt(e.length)&&!$t(e)?function(t,e){var n=Ft(t),r=!n&&zt(t),i=!n&&!r&&Ht(t),s=!n&&!r&&!i&&Zt(t),o=n||r||i||s,l=o?function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}(t.length,String):[],a=l.length;for(var c in t)!e&&!Q.call(t,c)||o&&("length"==c||i&&("offset"==c||"parent"==c)||s&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||Ut(c,a))||l.push(c);return l}(t):function(t){if(n=(e=t)&&e.constructor,e!==("function"==typeof n&&n.prototype||Z))return ct(t);var e,n,r=[];for(var i in Object(t))Q.call(t,i)&&"constructor"!=i&&r.push(i);return r}(t);var e}t.exports=function(t,e){return Tt(t,e)}},1270:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=n(9629),i=n(4162);var s;!function(t){t.compose=function(t={},e={},n=!1){"object"!=typeof t&&(t={}),"object"!=typeof e&&(e={});let i=r(e);n||(i=Object.keys(i).reduce(((t,e)=>(null!=i[e]&&(t[e]=i[e]),t)),{}));for(const n in t)void 0!==t[n]&&void 0===e[n]&&(i[n]=t[n]);return Object.keys(i).length>0?i:void 0},t.diff=function(t={},e={}){"object"!=typeof t&&(t={}),"object"!=typeof e&&(e={});const n=Object.keys(t).concat(Object.keys(e)).reduce(((n,r)=>(i(t[r],e[r])||(n[r]=void 0===e[r]?null:e[r]),n)),{});return Object.keys(n).length>0?n:void 0},t.invert=function(t={},e={}){t=t||{};const n=Object.keys(e).reduce(((n,r)=>(e[r]!==t[r]&&void 0!==t[r]&&(n[r]=e[r]),n)),{});return Object.keys(t).reduce(((n,r)=>(t[r]!==e[r]&&void 0===e[r]&&(n[r]=null),n)),n)},t.transform=function(t,e,n=!1){if("object"!=typeof t)return e;if("object"!=typeof e)return;if(!n)return e;const r=Object.keys(e).reduce(((n,r)=>(void 0===t[r]&&(n[r]=e[r]),n)),{});return Object.keys(r).length>0?r:void 0}}(s||(s={})),e.default=s},5232:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AttributeMap=e.OpIterator=e.Op=void 0;const r=n(5090),i=n(9629),s=n(4162),o=n(1270);e.AttributeMap=o.default;const l=n(4123);e.Op=l.default;const a=n(7033);e.OpIterator=a.default;const c=String.fromCharCode(0),u=(t,e)=>{if("object"!=typeof t||null===t)throw new Error("cannot retain a "+typeof t);if("object"!=typeof e||null===e)throw new Error("cannot retain a "+typeof e);const n=Object.keys(t)[0];if(!n||n!==Object.keys(e)[0])throw new Error(`embed types not matched: ${n} != ${Object.keys(e)[0]}`);return[n,t[n],e[n]]};class h{constructor(t){Array.isArray(t)?this.ops=t:null!=t&&Array.isArray(t.ops)?this.ops=t.ops:this.ops=[]}static registerEmbed(t,e){this.handlers[t]=e}static unregisterEmbed(t){delete this.handlers[t]}static getHandler(t){const e=this.handlers[t];if(!e)throw new Error(`no handlers for embed type "${t}"`);return e}insert(t,e){const n={};return"string"==typeof t&&0===t.length?this:(n.insert=t,null!=e&&"object"==typeof e&&Object.keys(e).length>0&&(n.attributes=e),this.push(n))}delete(t){return t<=0?this:this.push({delete:t})}retain(t,e){if("number"==typeof t&&t<=0)return this;const n={retain:t};return null!=e&&"object"==typeof e&&Object.keys(e).length>0&&(n.attributes=e),this.push(n)}push(t){let e=this.ops.length,n=this.ops[e-1];if(t=i(t),"object"==typeof n){if("number"==typeof t.delete&&"number"==typeof n.delete)return this.ops[e-1]={delete:n.delete+t.delete},this;if("number"==typeof n.delete&&null!=t.insert&&(e-=1,n=this.ops[e-1],"object"!=typeof n))return this.ops.unshift(t),this;if(s(t.attributes,n.attributes)){if("string"==typeof t.insert&&"string"==typeof n.insert)return this.ops[e-1]={insert:n.insert+t.insert},"object"==typeof t.attributes&&(this.ops[e-1].attributes=t.attributes),this;if("number"==typeof t.retain&&"number"==typeof n.retain)return this.ops[e-1]={retain:n.retain+t.retain},"object"==typeof t.attributes&&(this.ops[e-1].attributes=t.attributes),this}}return e===this.ops.length?this.ops.push(t):this.ops.splice(e,0,t),this}chop(){const t=this.ops[this.ops.length-1];return t&&"number"==typeof t.retain&&!t.attributes&&this.ops.pop(),this}filter(t){return this.ops.filter(t)}forEach(t){this.ops.forEach(t)}map(t){return this.ops.map(t)}partition(t){const e=[],n=[];return this.forEach((r=>{(t(r)?e:n).push(r)})),[e,n]}reduce(t,e){return this.ops.reduce(t,e)}changeLength(){return this.reduce(((t,e)=>e.insert?t+l.default.length(e):e.delete?t-e.delete:t),0)}length(){return this.reduce(((t,e)=>t+l.default.length(e)),0)}slice(t=0,e=1/0){const n=[],r=new a.default(this.ops);let i=0;for(;i<e&&r.hasNext();){let s;i<t?s=r.next(t-i):(s=r.next(e-i),n.push(s)),i+=l.default.length(s)}return new h(n)}compose(t){const e=new a.default(this.ops),n=new a.default(t.ops),r=[],i=n.peek();if(null!=i&&"number"==typeof i.retain&&null==i.attributes){let t=i.retain;for(;"insert"===e.peekType()&&e.peekLength()<=t;)t-=e.peekLength(),r.push(e.next());i.retain-t>0&&n.next(i.retain-t)}const l=new h(r);for(;e.hasNext()||n.hasNext();)if("insert"===n.peekType())l.push(n.next());else if("delete"===e.peekType())l.push(e.next());else{const t=Math.min(e.peekLength(),n.peekLength()),r=e.next(t),i=n.next(t);if(i.retain){const a={};if("number"==typeof r.retain)a.retain="number"==typeof i.retain?t:i.retain;else if("number"==typeof i.retain)null==r.retain?a.insert=r.insert:a.retain=r.retain;else{const t=null==r.retain?"insert":"retain",[e,n,s]=u(r[t],i.retain),o=h.getHandler(e);a[t]={[e]:o.compose(n,s,"retain"===t)}}const c=o.default.compose(r.attributes,i.attributes,"number"==typeof r.retain);if(c&&(a.attributes=c),l.push(a),!n.hasNext()&&s(l.ops[l.ops.length-1],a)){const t=new h(e.rest());return l.concat(t).chop()}}else"number"==typeof i.delete&&("number"==typeof r.retain||"object"==typeof r.retain&&null!==r.retain)&&l.push(i)}return l.chop()}concat(t){const e=new h(this.ops.slice());return t.ops.length>0&&(e.push(t.ops[0]),e.ops=e.ops.concat(t.ops.slice(1))),e}diff(t,e){if(this.ops===t.ops)return new h;const n=[this,t].map((e=>e.map((n=>{if(null!=n.insert)return"string"==typeof n.insert?n.insert:c;throw new Error("diff() called "+(e===t?"on":"with")+" non-document")})).join(""))),i=new h,l=r(n[0],n[1],e,!0),u=new a.default(this.ops),d=new a.default(t.ops);return l.forEach((t=>{let e=t[1].length;for(;e>0;){let n=0;switch(t[0]){case r.INSERT:n=Math.min(d.peekLength(),e),i.push(d.next(n));break;case r.DELETE:n=Math.min(e,u.peekLength()),u.next(n),i.delete(n);break;case r.EQUAL:n=Math.min(u.peekLength(),d.peekLength(),e);const t=u.next(n),l=d.next(n);s(t.insert,l.insert)?i.retain(n,o.default.diff(t.attributes,l.attributes)):i.push(l).delete(n)}e-=n}})),i.chop()}eachLine(t,e="\n"){const n=new a.default(this.ops);let r=new h,i=0;for(;n.hasNext();){if("insert"!==n.peekType())return;const s=n.peek(),o=l.default.length(s)-n.peekLength(),a="string"==typeof s.insert?s.insert.indexOf(e,o)-o:-1;if(a<0)r.push(n.next());else if(a>0)r.push(n.next(a));else{if(!1===t(r,n.next(1).attributes||{},i))return;i+=1,r=new h}}r.length()>0&&t(r,{},i)}invert(t){const e=new h;return this.reduce(((n,r)=>{if(r.insert)e.delete(l.default.length(r));else{if("number"==typeof r.retain&&null==r.attributes)return e.retain(r.retain),n+r.retain;if(r.delete||"number"==typeof r.retain){const i=r.delete||r.retain;return t.slice(n,n+i).forEach((t=>{r.delete?e.push(t):r.retain&&r.attributes&&e.retain(l.default.length(t),o.default.invert(r.attributes,t.attributes))})),n+i}if("object"==typeof r.retain&&null!==r.retain){const i=t.slice(n,n+1),s=new a.default(i.ops).next(),[l,c,d]=u(r.retain,s.insert),f=h.getHandler(l);return e.retain({[l]:f.invert(c,d)},o.default.invert(r.attributes,s.attributes)),n+1}}return n}),0),e.chop()}transform(t,e=!1){if(e=!!e,"number"==typeof t)return this.transformPosition(t,e);const n=t,r=new a.default(this.ops),i=new a.default(n.ops),s=new h;for(;r.hasNext()||i.hasNext();)if("insert"!==r.peekType()||!e&&"insert"===i.peekType())if("insert"===i.peekType())s.push(i.next());else{const t=Math.min(r.peekLength(),i.peekLength()),n=r.next(t),l=i.next(t);if(n.delete)continue;if(l.delete)s.push(l);else{const r=n.retain,i=l.retain;let a="object"==typeof i&&null!==i?i:t;if("object"==typeof r&&null!==r&&"object"==typeof i&&null!==i){const t=Object.keys(r)[0];if(t===Object.keys(i)[0]){const n=h.getHandler(t);n&&(a={[t]:n.transform(r[t],i[t],e)})}}s.retain(a,o.default.transform(n.attributes,l.attributes,e))}}else s.retain(l.default.length(r.next()));return s.chop()}transformPosition(t,e=!1){e=!!e;const n=new a.default(this.ops);let r=0;for(;n.hasNext()&&r<=t;){const i=n.peekLength(),s=n.peekType();n.next(),"delete"!==s?("insert"===s&&(r<t||!e)&&(t+=i),r+=i):t-=Math.min(i,t-r)}return t}}h.Op=l.default,h.OpIterator=a.default,h.AttributeMap=o.default,h.handlers={},e.default=h,t.exports=h,t.exports.default=h},4123:function(t,e){"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.length=function(t){return"number"==typeof t.delete?t.delete:"number"==typeof t.retain?t.retain:"object"==typeof t.retain&&null!==t.retain?1:"string"==typeof t.insert?t.insert.length:1}}(n||(n={})),e.default=n},7033:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=n(4123);e.default=class{constructor(t){this.ops=t,this.index=0,this.offset=0}hasNext(){return this.peekLength()<1/0}next(t){t||(t=1/0);const e=this.ops[this.index];if(e){const n=this.offset,i=r.default.length(e);if(t>=i-n?(t=i-n,this.index+=1,this.offset=0):this.offset+=t,"number"==typeof e.delete)return{delete:t};{const r={};return e.attributes&&(r.attributes=e.attributes),"number"==typeof e.retain?r.retain=t:"object"==typeof e.retain&&null!==e.retain?r.retain=e.retain:"string"==typeof e.insert?r.insert=e.insert.substr(n,t):r.insert=e.insert,r}}return{retain:1/0}}peek(){return this.ops[this.index]}peekLength(){return this.ops[this.index]?r.default.length(this.ops[this.index])-this.offset:1/0}peekType(){const t=this.ops[this.index];return t?"number"==typeof t.delete?"delete":"number"==typeof t.retain||"object"==typeof t.retain&&null!==t.retain?"retain":"insert":"retain"}rest(){if(this.hasNext()){if(0===this.offset)return this.ops.slice(this.index);{const t=this.offset,e=this.index,n=this.next(),r=this.ops.slice(this.index);return this.offset=t,this.index=e,[n].concat(r)}}return[]}}},8820:function(t,e,n){"use strict";n.d(e,{A:function(){return l}});var r=n(8138),i=function(t,e){for(var n=t.length;n--;)if((0,r.A)(t[n][0],e))return n;return-1},s=Array.prototype.splice;function o(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}o.prototype.clear=function(){this.__data__=[],this.size=0},o.prototype.delete=function(t){var e=this.__data__,n=i(e,t);return!(n<0||(n==e.length-1?e.pop():s.call(e,n,1),--this.size,0))},o.prototype.get=function(t){var e=this.__data__,n=i(e,t);return n<0?void 0:e[n][1]},o.prototype.has=function(t){return i(this.__data__,t)>-1},o.prototype.set=function(t,e){var n=this.__data__,r=i(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this};var l=o},2461:function(t,e,n){"use strict";var r=n(2281),i=n(5507),s=(0,r.A)(i.A,"Map");e.A=s},3558:function(t,e,n){"use strict";n.d(e,{A:function(){return d}});var r=(0,n(2281).A)(Object,"create"),i=Object.prototype.hasOwnProperty,s=Object.prototype.hasOwnProperty;function o(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}o.prototype.clear=function(){this.__data__=r?r(null):{},this.size=0},o.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},o.prototype.get=function(t){var e=this.__data__;if(r){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return i.call(e,t)?e[t]:void 0},o.prototype.has=function(t){var e=this.__data__;return r?void 0!==e[t]:s.call(e,t)},o.prototype.set=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=r&&void 0===e?"__lodash_hash_undefined__":e,this};var l=o,a=n(8820),c=n(2461),u=function(t,e){var n,r,i=t.__data__;return("string"==(r=typeof(n=e))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof e?"string":"hash"]:i.map};function h(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}h.prototype.clear=function(){this.size=0,this.__data__={hash:new l,map:new(c.A||a.A),string:new l}},h.prototype.delete=function(t){var e=u(this,t).delete(t);return this.size-=e?1:0,e},h.prototype.get=function(t){return u(this,t).get(t)},h.prototype.has=function(t){return u(this,t).has(t)},h.prototype.set=function(t,e){var n=u(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this};var d=h},2673:function(t,e,n){"use strict";n.d(e,{A:function(){return l}});var r=n(8820),i=n(2461),s=n(3558);function o(t){var e=this.__data__=new r.A(t);this.size=e.size}o.prototype.clear=function(){this.__data__=new r.A,this.size=0},o.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},o.prototype.get=function(t){return this.__data__.get(t)},o.prototype.has=function(t){return this.__data__.has(t)},o.prototype.set=function(t,e){var n=this.__data__;if(n instanceof r.A){var o=n.__data__;if(!i.A||o.length<199)return o.push([t,e]),this.size=++n.size,this;n=this.__data__=new s.A(o)}return n.set(t,e),this.size=n.size,this};var l=o},439:function(t,e,n){"use strict";var r=n(5507).A.Symbol;e.A=r},7218:function(t,e,n){"use strict";var r=n(5507).A.Uint8Array;e.A=r},6753:function(t,e,n){"use strict";n.d(e,{A:function(){return c}});var r=n(8412),i=n(723),s=n(776),o=n(3767),l=n(5755),a=Object.prototype.hasOwnProperty,c=function(t,e){var n=(0,i.A)(t),c=!n&&(0,r.A)(t),u=!n&&!c&&(0,s.A)(t),h=!n&&!c&&!u&&(0,l.A)(t),d=n||c||u||h,f=d?function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}(t.length,String):[],p=f.length;for(var g in t)!e&&!a.call(t,g)||d&&("length"==g||u&&("offset"==g||"parent"==g)||h&&("buffer"==g||"byteLength"==g||"byteOffset"==g)||(0,o.A)(g,p))||f.push(g);return f}},802:function(t,e){"use strict";e.A=function(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}},6437:function(t,e,n){"use strict";var r=n(6770),i=n(8138),s=Object.prototype.hasOwnProperty;e.A=function(t,e,n){var o=t[e];s.call(t,e)&&(0,i.A)(o,n)&&(void 0!==n||e in t)||(0,r.A)(t,e,n)}},6770:function(t,e,n){"use strict";var r=n(7889);e.A=function(t,e,n){"__proto__"==e&&r.A?(0,r.A)(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}},1381:function(t,e,n){"use strict";var r=n(802),i=n(723);e.A=function(t,e,n){var s=e(t);return(0,i.A)(t)?s:(0,r.A)(s,n(t))}},2159:function(t,e,n){"use strict";n.d(e,{A:function(){return u}});var r=n(439),i=Object.prototype,s=i.hasOwnProperty,o=i.toString,l=r.A?r.A.toStringTag:void 0,a=Object.prototype.toString,c=r.A?r.A.toStringTag:void 0,u=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":c&&c in Object(t)?function(t){var e=s.call(t,l),n=t[l];try{t[l]=void 0;var r=!0}catch(t){}var i=o.call(t);return r&&(e?t[l]=n:delete t[l]),i}(t):function(t){return a.call(t)}(t)}},5771:function(t,e){"use strict";e.A=function(t){return function(e){return t(e)}}},2899:function(t,e,n){"use strict";var r=n(7218);e.A=function(t){var e=new t.constructor(t.byteLength);return new r.A(e).set(new r.A(t)),e}},3812:function(t,e,n){"use strict";var r=n(5507),i="object"==typeof exports&&exports&&!exports.nodeType&&exports,s=i&&"object"==typeof module&&module&&!module.nodeType&&module,o=s&&s.exports===i?r.A.Buffer:void 0,l=o?o.allocUnsafe:void 0;e.A=function(t,e){if(e)return t.slice();var n=t.length,r=l?l(n):new t.constructor(n);return t.copy(r),r}},1827:function(t,e,n){"use strict";var r=n(2899);e.A=function(t,e){var n=e?(0,r.A)(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}},4405:function(t,e){"use strict";e.A=function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}},9601:function(t,e,n){"use strict";var r=n(6437),i=n(6770);e.A=function(t,e,n,s){var o=!n;n||(n={});for(var l=-1,a=e.length;++l<a;){var c=e[l],u=s?s(n[c],t[c],c,n,t):void 0;void 0===u&&(u=t[c]),o?(0,i.A)(n,c,u):(0,r.A)(n,c,u)}return n}},7889:function(t,e,n){"use strict";var r=n(2281),i=function(){try{var t=(0,r.A)(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();e.A=i},9646:function(t,e){"use strict";var n="object"==typeof global&&global&&global.Object===Object&&global;e.A=n},2816:function(t,e,n){"use strict";var r=n(1381),i=n(9844),s=n(3169);e.A=function(t){return(0,r.A)(t,s.A,i.A)}},2281:function(t,e,n){"use strict";n.d(e,{A:function(){return m}});var r,i=n(7572),s=n(5507).A["__core-js_shared__"],o=(r=/[^.]+$/.exec(s&&s.keys&&s.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"",l=n(659),a=n(1543),c=/^\[object .+?Constructor\]$/,u=Function.prototype,h=Object.prototype,d=u.toString,f=h.hasOwnProperty,p=RegExp("^"+d.call(f).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),g=function(t){return!(!(0,l.A)(t)||(e=t,o&&o in e))&&((0,i.A)(t)?p:c).test((0,a.A)(t));var e},m=function(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return g(n)?n:void 0}},8769:function(t,e,n){"use strict";var r=(0,n(2217).A)(Object.getPrototypeOf,Object);e.A=r},9844:function(t,e,n){"use strict";n.d(e,{A:function(){return o}});var r=n(6935),i=Object.prototype.propertyIsEnumerable,s=Object.getOwnPropertySymbols,o=s?function(t){return null==t?[]:(t=Object(t),function(t,e){for(var n=-1,r=null==t?0:t.length,i=0,s=[];++n<r;){var o=t[n];e(o,n,t)&&(s[i++]=o)}return s}(s(t),(function(e){return i.call(t,e)})))}:r.A},7995:function(t,e,n){"use strict";n.d(e,{A:function(){return E}});var r=n(2281),i=n(5507),s=(0,r.A)(i.A,"DataView"),o=n(2461),l=(0,r.A)(i.A,"Promise"),a=(0,r.A)(i.A,"Set"),c=(0,r.A)(i.A,"WeakMap"),u=n(2159),h=n(1543),d="[object Map]",f="[object Promise]",p="[object Set]",g="[object WeakMap]",m="[object DataView]",b=(0,h.A)(s),y=(0,h.A)(o.A),v=(0,h.A)(l),A=(0,h.A)(a),x=(0,h.A)(c),N=u.A;(s&&N(new s(new ArrayBuffer(1)))!=m||o.A&&N(new o.A)!=d||l&&N(l.resolve())!=f||a&&N(new a)!=p||c&&N(new c)!=g)&&(N=function(t){var e=(0,u.A)(t),n="[object Object]"==e?t.constructor:void 0,r=n?(0,h.A)(n):"";if(r)switch(r){case b:return m;case y:return d;case v:return f;case A:return p;case x:return g}return e});var E=N},1683:function(t,e,n){"use strict";n.d(e,{A:function(){return a}});var r=n(659),i=Object.create,s=function(){function t(){}return function(e){if(!(0,r.A)(e))return{};if(i)return i(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}(),o=n(8769),l=n(501),a=function(t){return"function"!=typeof t.constructor||(0,l.A)(t)?{}:s((0,o.A)(t))}},3767:function(t,e){"use strict";var n=/^(?:0|[1-9]\d*)$/;e.A=function(t,e){var r=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==r||"symbol"!=r&&n.test(t))&&t>-1&&t%1==0&&t<e}},501:function(t,e){"use strict";var n=Object.prototype;e.A=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||n)}},8795:function(t,e,n){"use strict";var r=n(9646),i="object"==typeof exports&&exports&&!exports.nodeType&&exports,s=i&&"object"==typeof module&&module&&!module.nodeType&&module,o=s&&s.exports===i&&r.A.process,l=function(){try{return s&&s.require&&s.require("util").types||o&&o.binding&&o.binding("util")}catch(t){}}();e.A=l},2217:function(t,e){"use strict";e.A=function(t,e){return function(n){return t(e(n))}}},5507:function(t,e,n){"use strict";var r=n(9646),i="object"==typeof self&&self&&self.Object===Object&&self,s=r.A||i||Function("return this")();e.A=s},1543:function(t,e){"use strict";var n=Function.prototype.toString;e.A=function(t){if(null!=t){try{return n.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},3707:function(t,e,n){"use strict";n.d(e,{A:function(){return H}});var r=n(2673),i=n(6437),s=n(9601),o=n(3169),l=n(2624),a=n(3812),c=n(4405),u=n(9844),h=n(802),d=n(8769),f=n(6935),p=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)(0,h.A)(e,(0,u.A)(t)),t=(0,d.A)(t);return e}:f.A,g=n(2816),m=n(1381),b=function(t){return(0,m.A)(t,l.A,p)},y=n(7995),v=Object.prototype.hasOwnProperty,A=n(2899),x=/\w*$/,N=n(439),E=N.A?N.A.prototype:void 0,w=E?E.valueOf:void 0,q=n(1827),k=function(t,e,n){var r,i,s,o=t.constructor;switch(e){case"[object ArrayBuffer]":return(0,A.A)(t);case"[object Boolean]":case"[object Date]":return new o(+t);case"[object DataView]":return function(t,e){var n=e?(0,A.A)(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return(0,q.A)(t,n);case"[object Map]":case"[object Set]":return new o;case"[object Number]":case"[object String]":return new o(t);case"[object RegExp]":return(s=new(i=t).constructor(i.source,x.exec(i))).lastIndex=i.lastIndex,s;case"[object Symbol]":return r=t,w?Object(w.call(r)):{}}},_=n(1683),L=n(723),S=n(776),O=n(7948),T=n(5771),j=n(8795),C=j.A&&j.A.isMap,R=C?(0,T.A)(C):function(t){return(0,O.A)(t)&&"[object Map]"==(0,y.A)(t)},I=n(659),B=j.A&&j.A.isSet,M=B?(0,T.A)(B):function(t){return(0,O.A)(t)&&"[object Set]"==(0,y.A)(t)},U="[object Arguments]",D="[object Function]",P="[object Object]",z={};z[U]=z["[object Array]"]=z["[object ArrayBuffer]"]=z["[object DataView]"]=z["[object Boolean]"]=z["[object Date]"]=z["[object Float32Array]"]=z["[object Float64Array]"]=z["[object Int8Array]"]=z["[object Int16Array]"]=z["[object Int32Array]"]=z["[object Map]"]=z["[object Number]"]=z[P]=z["[object RegExp]"]=z["[object Set]"]=z["[object String]"]=z["[object Symbol]"]=z["[object Uint8Array]"]=z["[object Uint8ClampedArray]"]=z["[object Uint16Array]"]=z["[object Uint32Array]"]=!0,z["[object Error]"]=z[D]=z["[object WeakMap]"]=!1;var F=function t(e,n,h,d,f,m){var A,x=1&n,N=2&n,E=4&n;if(h&&(A=f?h(e,d,f,m):h(e)),void 0!==A)return A;if(!(0,I.A)(e))return e;var w=(0,L.A)(e);if(w){if(A=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&v.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(e),!x)return(0,c.A)(e,A)}else{var q=(0,y.A)(e),O=q==D||"[object GeneratorFunction]"==q;if((0,S.A)(e))return(0,a.A)(e,x);if(q==P||q==U||O&&!f){if(A=N||O?{}:(0,_.A)(e),!x)return N?function(t,e){return(0,s.A)(t,p(t),e)}(e,function(t,e){return t&&(0,s.A)(e,(0,l.A)(e),t)}(A,e)):function(t,e){return(0,s.A)(t,(0,u.A)(t),e)}(e,function(t,e){return t&&(0,s.A)(e,(0,o.A)(e),t)}(A,e))}else{if(!z[q])return f?e:{};A=k(e,q,x)}}m||(m=new r.A);var T=m.get(e);if(T)return T;m.set(e,A),M(e)?e.forEach((function(r){A.add(t(r,n,h,r,e,m))})):R(e)&&e.forEach((function(r,i){A.set(i,t(r,n,h,i,e,m))}));var j=E?N?b:g.A:N?l.A:o.A,C=w?void 0:j(e);return function(t,e){for(var n=-1,r=null==t?0:t.length;++n<r&&!1!==e(t[n],n,t););}(C||e,(function(r,s){C&&(r=e[s=r]),(0,i.A)(A,s,t(r,n,h,s,e,m))})),A},H=function(t){return F(t,5)}},8138:function(t,e){"use strict";e.A=function(t,e){return t===e||t!=t&&e!=e}},8412:function(t,e,n){"use strict";n.d(e,{A:function(){return u}});var r=n(2159),i=n(7948),s=function(t){return(0,i.A)(t)&&"[object Arguments]"==(0,r.A)(t)},o=Object.prototype,l=o.hasOwnProperty,a=o.propertyIsEnumerable,c=s(function(){return arguments}())?s:function(t){return(0,i.A)(t)&&l.call(t,"callee")&&!a.call(t,"callee")},u=c},723:function(t,e){"use strict";var n=Array.isArray;e.A=n},3628:function(t,e,n){"use strict";var r=n(7572),i=n(1628);e.A=function(t){return null!=t&&(0,i.A)(t.length)&&!(0,r.A)(t)}},776:function(t,e,n){"use strict";n.d(e,{A:function(){return l}});var r=n(5507),i="object"==typeof exports&&exports&&!exports.nodeType&&exports,s=i&&"object"==typeof module&&module&&!module.nodeType&&module,o=s&&s.exports===i?r.A.Buffer:void 0,l=(o?o.isBuffer:void 0)||function(){return!1}},5123:function(t,e,n){"use strict";n.d(e,{A:function(){return S}});var r=n(2673),i=n(3558);function s(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new i.A;++e<n;)this.add(t[e])}s.prototype.add=s.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},s.prototype.has=function(t){return this.__data__.has(t)};var o=s,l=function(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1},a=function(t,e,n,r,i,s){var a=1&n,c=t.length,u=e.length;if(c!=u&&!(a&&u>c))return!1;var h=s.get(t),d=s.get(e);if(h&&d)return h==e&&d==t;var f=-1,p=!0,g=2&n?new o:void 0;for(s.set(t,e),s.set(e,t);++f<c;){var m=t[f],b=e[f];if(r)var y=a?r(b,m,f,e,t,s):r(m,b,f,t,e,s);if(void 0!==y){if(y)continue;p=!1;break}if(g){if(!l(e,(function(t,e){if(o=e,!g.has(o)&&(m===t||i(m,t,n,r,s)))return g.push(e);var o}))){p=!1;break}}else if(m!==b&&!i(m,b,n,r,s)){p=!1;break}}return s.delete(t),s.delete(e),p},c=n(439),u=n(7218),h=n(8138),d=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n},f=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t})),n},p=c.A?c.A.prototype:void 0,g=p?p.valueOf:void 0,m=n(2816),b=Object.prototype.hasOwnProperty,y=n(7995),v=n(723),A=n(776),x=n(5755),N="[object Arguments]",E="[object Array]",w="[object Object]",q=Object.prototype.hasOwnProperty,k=function(t,e,n,i,s,o){var l=(0,v.A)(t),c=(0,v.A)(e),p=l?E:(0,y.A)(t),k=c?E:(0,y.A)(e),_=(p=p==N?w:p)==w,L=(k=k==N?w:k)==w,S=p==k;if(S&&(0,A.A)(t)){if(!(0,A.A)(e))return!1;l=!0,_=!1}if(S&&!_)return o||(o=new r.A),l||(0,x.A)(t)?a(t,e,n,i,s,o):function(t,e,n,r,i,s,o){switch(n){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!s(new u.A(t),new u.A(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return(0,h.A)(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var l=d;case"[object Set]":var c=1&r;if(l||(l=f),t.size!=e.size&&!c)return!1;var p=o.get(t);if(p)return p==e;r|=2,o.set(t,e);var m=a(l(t),l(e),r,i,s,o);return o.delete(t),m;case"[object Symbol]":if(g)return g.call(t)==g.call(e)}return!1}(t,e,p,n,i,s,o);if(!(1&n)){var O=_&&q.call(t,"__wrapped__"),T=L&&q.call(e,"__wrapped__");if(O||T){var j=O?t.value():t,C=T?e.value():e;return o||(o=new r.A),s(j,C,n,i,o)}}return!!S&&(o||(o=new r.A),function(t,e,n,r,i,s){var o=1&n,l=(0,m.A)(t),a=l.length;if(a!=(0,m.A)(e).length&&!o)return!1;for(var c=a;c--;){var u=l[c];if(!(o?u in e:b.call(e,u)))return!1}var h=s.get(t),d=s.get(e);if(h&&d)return h==e&&d==t;var f=!0;s.set(t,e),s.set(e,t);for(var p=o;++c<a;){var g=t[u=l[c]],y=e[u];if(r)var v=o?r(y,g,u,e,t,s):r(g,y,u,t,e,s);if(!(void 0===v?g===y||i(g,y,n,r,s):v)){f=!1;break}p||(p="constructor"==u)}if(f&&!p){var A=t.constructor,x=e.constructor;A==x||!("constructor"in t)||!("constructor"in e)||"function"==typeof A&&A instanceof A&&"function"==typeof x&&x instanceof x||(f=!1)}return s.delete(t),s.delete(e),f}(t,e,n,i,s,o))},_=n(7948),L=function t(e,n,r,i,s){return e===n||(null==e||null==n||!(0,_.A)(e)&&!(0,_.A)(n)?e!=e&&n!=n:k(e,n,r,i,t,s))},S=function(t,e){return L(t,e)}},7572:function(t,e,n){"use strict";var r=n(2159),i=n(659);e.A=function(t){if(!(0,i.A)(t))return!1;var e=(0,r.A)(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},1628:function(t,e){"use strict";e.A=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},659:function(t,e){"use strict";e.A=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},7948:function(t,e){"use strict";e.A=function(t){return null!=t&&"object"==typeof t}},5755:function(t,e,n){"use strict";n.d(e,{A:function(){return u}});var r=n(2159),i=n(1628),s=n(7948),o={};o["[object Float32Array]"]=o["[object Float64Array]"]=o["[object Int8Array]"]=o["[object Int16Array]"]=o["[object Int32Array]"]=o["[object Uint8Array]"]=o["[object Uint8ClampedArray]"]=o["[object Uint16Array]"]=o["[object Uint32Array]"]=!0,o["[object Arguments]"]=o["[object Array]"]=o["[object ArrayBuffer]"]=o["[object Boolean]"]=o["[object DataView]"]=o["[object Date]"]=o["[object Error]"]=o["[object Function]"]=o["[object Map]"]=o["[object Number]"]=o["[object Object]"]=o["[object RegExp]"]=o["[object Set]"]=o["[object String]"]=o["[object WeakMap]"]=!1;var l=n(5771),a=n(8795),c=a.A&&a.A.isTypedArray,u=c?(0,l.A)(c):function(t){return(0,s.A)(t)&&(0,i.A)(t.length)&&!!o[(0,r.A)(t)]}},3169:function(t,e,n){"use strict";n.d(e,{A:function(){return a}});var r=n(6753),i=n(501),s=(0,n(2217).A)(Object.keys,Object),o=Object.prototype.hasOwnProperty,l=n(3628),a=function(t){return(0,l.A)(t)?(0,r.A)(t):function(t){if(!(0,i.A)(t))return s(t);var e=[];for(var n in Object(t))o.call(t,n)&&"constructor"!=n&&e.push(n);return e}(t)}},2624:function(t,e,n){"use strict";n.d(e,{A:function(){return c}});var r=n(6753),i=n(659),s=n(501),o=Object.prototype.hasOwnProperty,l=function(t){if(!(0,i.A)(t))return function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}(t);var e=(0,s.A)(t),n=[];for(var r in t)("constructor"!=r||!e&&o.call(t,r))&&n.push(r);return n},a=n(3628),c=function(t){return(0,a.A)(t)?(0,r.A)(t,!0):l(t)}},8347:function(t,e,n){"use strict";n.d(e,{A:function(){return $}});var r,i,s,o,l=n(2673),a=n(6770),c=n(8138),u=function(t,e,n){(void 0!==n&&!(0,c.A)(t[e],n)||void 0===n&&!(e in t))&&(0,a.A)(t,e,n)},h=function(t,e,n){for(var r=-1,i=Object(t),s=n(t),o=s.length;o--;){var l=s[++r];if(!1===e(i[l],l,i))break}return t},d=n(3812),f=n(1827),p=n(4405),g=n(1683),m=n(8412),b=n(723),y=n(3628),v=n(7948),A=n(776),x=n(7572),N=n(659),E=n(2159),w=n(8769),q=Function.prototype,k=Object.prototype,_=q.toString,L=k.hasOwnProperty,S=_.call(Object),O=n(5755),T=function(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]},j=n(9601),C=n(2624),R=function(t,e,n,r,i,s,o){var l,a=T(t,n),c=T(e,n),h=o.get(c);if(h)u(t,n,h);else{var q=s?s(a,c,n+"",t,e,o):void 0,k=void 0===q;if(k){var R=(0,b.A)(c),I=!R&&(0,A.A)(c),B=!R&&!I&&(0,O.A)(c);q=c,R||I||B?(0,b.A)(a)?q=a:(l=a,(0,v.A)(l)&&(0,y.A)(l)?q=(0,p.A)(a):I?(k=!1,q=(0,d.A)(c,!0)):B?(k=!1,q=(0,f.A)(c,!0)):q=[]):function(t){if(!(0,v.A)(t)||"[object Object]"!=(0,E.A)(t))return!1;var e=(0,w.A)(t);if(null===e)return!0;var n=L.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&_.call(n)==S}(c)||(0,m.A)(c)?(q=a,(0,m.A)(a)?q=function(t){return(0,j.A)(t,(0,C.A)(t))}(a):(0,N.A)(a)&&!(0,x.A)(a)||(q=(0,g.A)(c))):k=!1}k&&(o.set(c,q),i(q,c,r,s,o),o.delete(c)),u(t,n,q)}},I=function t(e,n,r,i,s){e!==n&&h(n,(function(o,a){if(s||(s=new l.A),(0,N.A)(o))R(e,n,a,r,t,i,s);else{var c=i?i(T(e,a),o,a+"",e,n,s):void 0;void 0===c&&(c=o),u(e,a,c)}}),C.A)},B=function(t){return t},M=Math.max,U=n(7889),D=U.A?function(t,e){return(0,U.A)(t,"toString",{configurable:!0,enumerable:!1,value:(n=e,function(){return n}),writable:!0});var n}:B,P=Date.now,z=(r=D,i=0,s=0,function(){var t=P(),e=16-(t-s);if(s=t,e>0){if(++i>=800)return arguments[0]}else i=0;return r.apply(void 0,arguments)}),F=function(t,e){return z(function(t,e,n){return e=M(void 0===e?t.length-1:e,0),function(){for(var r=arguments,i=-1,s=M(r.length-e,0),o=Array(s);++i<s;)o[i]=r[e+i];i=-1;for(var l=Array(e+1);++i<e;)l[i]=r[i];return l[e]=n(o),function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}(t,this,l)}}(t,e,B),t+"")},H=n(3767),$=(o=function(t,e,n){I(t,e,n)},F((function(t,e){var n=-1,r=e.length,i=r>1?e[r-1]:void 0,s=r>2?e[2]:void 0;for(i=o.length>3&&"function"==typeof i?(r--,i):void 0,s&&function(t,e,n){if(!(0,N.A)(n))return!1;var r=typeof e;return!!("number"==r?(0,y.A)(n)&&(0,H.A)(e,n.length):"string"==r&&e in n)&&(0,c.A)(n[e],t)}(e[0],e[1],s)&&(i=r<3?void 0:i,r=1),t=Object(t);++n<r;){var l=e[n];l&&o(t,l,n)}return t})))},6935:function(t,e){"use strict";e.A=function(){return[]}},6003:function(t,e,n){"use strict";n.r(e),n.d(e,{Attributor:function(){return i},AttributorStore:function(){return d},BlockBlot:function(){return w},ClassAttributor:function(){return c},ContainerBlot:function(){return k},EmbedBlot:function(){return _},InlineBlot:function(){return N},LeafBlot:function(){return m},ParentBlot:function(){return A},Registry:function(){return l},Scope:function(){return r},ScrollBlot:function(){return O},StyleAttributor:function(){return h},TextBlot:function(){return j}});var r=(t=>(t[t.TYPE=3]="TYPE",t[t.LEVEL=12]="LEVEL",t[t.ATTRIBUTE=13]="ATTRIBUTE",t[t.BLOT=14]="BLOT",t[t.INLINE=7]="INLINE",t[t.BLOCK=11]="BLOCK",t[t.BLOCK_BLOT=10]="BLOCK_BLOT",t[t.INLINE_BLOT=6]="INLINE_BLOT",t[t.BLOCK_ATTRIBUTE=9]="BLOCK_ATTRIBUTE",t[t.INLINE_ATTRIBUTE=5]="INLINE_ATTRIBUTE",t[t.ANY=15]="ANY",t))(r||{});class i{constructor(t,e,n={}){this.attrName=t,this.keyName=e;const i=r.TYPE&r.ATTRIBUTE;this.scope=null!=n.scope?n.scope&r.LEVEL|i:r.ATTRIBUTE,null!=n.whitelist&&(this.whitelist=n.whitelist)}static keys(t){return Array.from(t.attributes).map((t=>t.name))}add(t,e){return!!this.canAdd(t,e)&&(t.setAttribute(this.keyName,e),!0)}canAdd(t,e){return null==this.whitelist||("string"==typeof e?this.whitelist.indexOf(e.replace(/["']/g,""))>-1:this.whitelist.indexOf(e)>-1)}remove(t){t.removeAttribute(this.keyName)}value(t){const e=t.getAttribute(this.keyName);return this.canAdd(t,e)&&e?e:""}}class s extends Error{constructor(t){super(t="[Parchment] "+t),this.message=t,this.name=this.constructor.name}}const o=class t{constructor(){this.attributes={},this.classes={},this.tags={},this.types={}}static find(t,e=!1){if(null==t)return null;if(this.blots.has(t))return this.blots.get(t)||null;if(e){let n=null;try{n=t.parentNode}catch{return null}return this.find(n,e)}return null}create(e,n,r){const i=this.query(n);if(null==i)throw new s(`Unable to create ${n} blot`);const o=i,l=n instanceof Node||n.nodeType===Node.TEXT_NODE?n:o.create(r),a=new o(e,l,r);return t.blots.set(a.domNode,a),a}find(e,n=!1){return t.find(e,n)}query(t,e=r.ANY){let n;return"string"==typeof t?n=this.types[t]||this.attributes[t]:t instanceof Text||t.nodeType===Node.TEXT_NODE?n=this.types.text:"number"==typeof t?t&r.LEVEL&r.BLOCK?n=this.types.block:t&r.LEVEL&r.INLINE&&(n=this.types.inline):t instanceof Element&&((t.getAttribute("class")||"").split(/\s+/).some((t=>(n=this.classes[t],!!n))),n=n||this.tags[t.tagName]),null==n?null:"scope"in n&&e&r.LEVEL&n.scope&&e&r.TYPE&n.scope?n:null}register(...t){return t.map((t=>{const e="blotName"in t,n="attrName"in t;if(!e&&!n)throw new s("Invalid definition");if(e&&"abstract"===t.blotName)throw new s("Cannot register abstract class");const r=e?t.blotName:n?t.attrName:void 0;return this.types[r]=t,n?"string"==typeof t.keyName&&(this.attributes[t.keyName]=t):e&&(t.className&&(this.classes[t.className]=t),t.tagName&&(Array.isArray(t.tagName)?t.tagName=t.tagName.map((t=>t.toUpperCase())):t.tagName=t.tagName.toUpperCase(),(Array.isArray(t.tagName)?t.tagName:[t.tagName]).forEach((e=>{(null==this.tags[e]||null==t.className)&&(this.tags[e]=t)})))),t}))}};o.blots=new WeakMap;let l=o;function a(t,e){return(t.getAttribute("class")||"").split(/\s+/).filter((t=>0===t.indexOf(`${e}-`)))}const c=class extends i{static keys(t){return(t.getAttribute("class")||"").split(/\s+/).map((t=>t.split("-").slice(0,-1).join("-")))}add(t,e){return!!this.canAdd(t,e)&&(this.remove(t),t.classList.add(`${this.keyName}-${e}`),!0)}remove(t){a(t,this.keyName).forEach((e=>{t.classList.remove(e)})),0===t.classList.length&&t.removeAttribute("class")}value(t){const e=(a(t,this.keyName)[0]||"").slice(this.keyName.length+1);return this.canAdd(t,e)?e:""}};function u(t){const e=t.split("-"),n=e.slice(1).map((t=>t[0].toUpperCase()+t.slice(1))).join("");return e[0]+n}const h=class extends i{static keys(t){return(t.getAttribute("style")||"").split(";").map((t=>t.split(":")[0].trim()))}add(t,e){return!!this.canAdd(t,e)&&(t.style[u(this.keyName)]=e,!0)}remove(t){t.style[u(this.keyName)]="",t.getAttribute("style")||t.removeAttribute("style")}value(t){const e=t.style[u(this.keyName)];return this.canAdd(t,e)?e:""}},d=class{constructor(t){this.attributes={},this.domNode=t,this.build()}attribute(t,e){e?t.add(this.domNode,e)&&(null!=t.value(this.domNode)?this.attributes[t.attrName]=t:delete this.attributes[t.attrName]):(t.remove(this.domNode),delete this.attributes[t.attrName])}build(){this.attributes={};const t=l.find(this.domNode);if(null==t)return;const e=i.keys(this.domNode),n=c.keys(this.domNode),s=h.keys(this.domNode);e.concat(n).concat(s).forEach((e=>{const n=t.scroll.query(e,r.ATTRIBUTE);n instanceof i&&(this.attributes[n.attrName]=n)}))}copy(t){Object.keys(this.attributes).forEach((e=>{const n=this.attributes[e].value(this.domNode);t.format(e,n)}))}move(t){this.copy(t),Object.keys(this.attributes).forEach((t=>{this.attributes[t].remove(this.domNode)})),this.attributes={}}values(){return Object.keys(this.attributes).reduce(((t,e)=>(t[e]=this.attributes[e].value(this.domNode),t)),{})}},f=class{constructor(t,e){this.scroll=t,this.domNode=e,l.blots.set(e,this),this.prev=null,this.next=null}static create(t){if(null==this.tagName)throw new s("Blot definition missing tagName");let e,n;return Array.isArray(this.tagName)?("string"==typeof t?(n=t.toUpperCase(),parseInt(n,10).toString()===n&&(n=parseInt(n,10))):"number"==typeof t&&(n=t),e="number"==typeof n?document.createElement(this.tagName[n-1]):n&&this.tagName.indexOf(n)>-1?document.createElement(n):document.createElement(this.tagName[0])):e=document.createElement(this.tagName),this.className&&e.classList.add(this.className),e}get statics(){return this.constructor}attach(){}clone(){const t=this.domNode.cloneNode(!1);return this.scroll.create(t)}detach(){null!=this.parent&&this.parent.removeChild(this),l.blots.delete(this.domNode)}deleteAt(t,e){this.isolate(t,e).remove()}formatAt(t,e,n,i){const s=this.isolate(t,e);if(null!=this.scroll.query(n,r.BLOT)&&i)s.wrap(n,i);else if(null!=this.scroll.query(n,r.ATTRIBUTE)){const t=this.scroll.create(this.statics.scope);s.wrap(t),t.format(n,i)}}insertAt(t,e,n){const r=null==n?this.scroll.create("text",e):this.scroll.create(e,n),i=this.split(t);this.parent.insertBefore(r,i||void 0)}isolate(t,e){const n=this.split(t);if(null==n)throw new Error("Attempt to isolate at end");return n.split(e),n}length(){return 1}offset(t=this.parent){return null==this.parent||this===t?0:this.parent.children.offset(this)+this.parent.offset(t)}optimize(t){this.statics.requiredContainer&&!(this.parent instanceof this.statics.requiredContainer)&&this.wrap(this.statics.requiredContainer.blotName)}remove(){null!=this.domNode.parentNode&&this.domNode.parentNode.removeChild(this.domNode),this.detach()}replaceWith(t,e){const n="string"==typeof t?this.scroll.create(t,e):t;return null!=this.parent&&(this.parent.insertBefore(n,this.next||void 0),this.remove()),n}split(t,e){return 0===t?this:this.next}update(t,e){}wrap(t,e){const n="string"==typeof t?this.scroll.create(t,e):t;if(null!=this.parent&&this.parent.insertBefore(n,this.next||void 0),"function"!=typeof n.appendChild)throw new s(`Cannot wrap ${t}`);return n.appendChild(this),n}};f.blotName="abstract";let p=f;const g=class extends p{static value(t){return!0}index(t,e){return this.domNode===t||this.domNode.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY?Math.min(e,1):-1}position(t,e){let n=Array.from(this.parent.domNode.childNodes).indexOf(this.domNode);return t>0&&(n+=1),[this.parent.domNode,n]}value(){return{[this.statics.blotName]:this.statics.value(this.domNode)||!0}}};g.scope=r.INLINE_BLOT;const m=g;class b{constructor(){this.head=null,this.tail=null,this.length=0}append(...t){if(this.insertBefore(t[0],null),t.length>1){const e=t.slice(1);this.append(...e)}}at(t){const e=this.iterator();let n=e();for(;n&&t>0;)t-=1,n=e();return n}contains(t){const e=this.iterator();let n=e();for(;n;){if(n===t)return!0;n=e()}return!1}indexOf(t){const e=this.iterator();let n=e(),r=0;for(;n;){if(n===t)return r;r+=1,n=e()}return-1}insertBefore(t,e){null!=t&&(this.remove(t),t.next=e,null!=e?(t.prev=e.prev,null!=e.prev&&(e.prev.next=t),e.prev=t,e===this.head&&(this.head=t)):null!=this.tail?(this.tail.next=t,t.prev=this.tail,this.tail=t):(t.prev=null,this.head=this.tail=t),this.length+=1)}offset(t){let e=0,n=this.head;for(;null!=n;){if(n===t)return e;e+=n.length(),n=n.next}return-1}remove(t){this.contains(t)&&(null!=t.prev&&(t.prev.next=t.next),null!=t.next&&(t.next.prev=t.prev),t===this.head&&(this.head=t.next),t===this.tail&&(this.tail=t.prev),this.length-=1)}iterator(t=this.head){return()=>{const e=t;return null!=t&&(t=t.next),e}}find(t,e=!1){const n=this.iterator();let r=n();for(;r;){const i=r.length();if(t<i||e&&t===i&&(null==r.next||0!==r.next.length()))return[r,t];t-=i,r=n()}return[null,0]}forEach(t){const e=this.iterator();let n=e();for(;n;)t(n),n=e()}forEachAt(t,e,n){if(e<=0)return;const[r,i]=this.find(t);let s=t-i;const o=this.iterator(r);let l=o();for(;l&&s<t+e;){const r=l.length();t>s?n(l,t-s,Math.min(e,s+r-t)):n(l,0,Math.min(r,t+e-s)),s+=r,l=o()}}map(t){return this.reduce(((e,n)=>(e.push(t(n)),e)),[])}reduce(t,e){const n=this.iterator();let r=n();for(;r;)e=t(e,r),r=n();return e}}function y(t,e){const n=e.find(t);if(n)return n;try{return e.create(t)}catch{const n=e.create(r.INLINE);return Array.from(t.childNodes).forEach((t=>{n.domNode.appendChild(t)})),t.parentNode&&t.parentNode.replaceChild(n.domNode,t),n.attach(),n}}const v=class t extends p{constructor(t,e){super(t,e),this.uiNode=null,this.build()}appendChild(t){this.insertBefore(t)}attach(){super.attach(),this.children.forEach((t=>{t.attach()}))}attachUI(e){null!=this.uiNode&&this.uiNode.remove(),this.uiNode=e,t.uiClass&&this.uiNode.classList.add(t.uiClass),this.uiNode.setAttribute("contenteditable","false"),this.domNode.insertBefore(this.uiNode,this.domNode.firstChild)}build(){this.children=new b,Array.from(this.domNode.childNodes).filter((t=>t!==this.uiNode)).reverse().forEach((t=>{try{const e=y(t,this.scroll);this.insertBefore(e,this.children.head||void 0)}catch(t){if(t instanceof s)return;throw t}}))}deleteAt(t,e){if(0===t&&e===this.length())return this.remove();this.children.forEachAt(t,e,((t,e,n)=>{t.deleteAt(e,n)}))}descendant(e,n=0){const[r,i]=this.children.find(n);return null==e.blotName&&e(r)||null!=e.blotName&&r instanceof e?[r,i]:r instanceof t?r.descendant(e,i):[null,-1]}descendants(e,n=0,r=Number.MAX_VALUE){let i=[],s=r;return this.children.forEachAt(n,r,((n,r,o)=>{(null==e.blotName&&e(n)||null!=e.blotName&&n instanceof e)&&i.push(n),n instanceof t&&(i=i.concat(n.descendants(e,r,s))),s-=o})),i}detach(){this.children.forEach((t=>{t.detach()})),super.detach()}enforceAllowedChildren(){let e=!1;this.children.forEach((n=>{e||this.statics.allowedChildren.some((t=>n instanceof t))||(n.statics.scope===r.BLOCK_BLOT?(null!=n.next&&this.splitAfter(n),null!=n.prev&&this.splitAfter(n.prev),n.parent.unwrap(),e=!0):n instanceof t?n.unwrap():n.remove())}))}formatAt(t,e,n,r){this.children.forEachAt(t,e,((t,e,i)=>{t.formatAt(e,i,n,r)}))}insertAt(t,e,n){const[r,i]=this.children.find(t);if(r)r.insertAt(i,e,n);else{const t=null==n?this.scroll.create("text",e):this.scroll.create(e,n);this.appendChild(t)}}insertBefore(t,e){null!=t.parent&&t.parent.children.remove(t);let n=null;this.children.insertBefore(t,e||null),t.parent=this,null!=e&&(n=e.domNode),(this.domNode.parentNode!==t.domNode||this.domNode.nextSibling!==n)&&this.domNode.insertBefore(t.domNode,n),t.attach()}length(){return this.children.reduce(((t,e)=>t+e.length()),0)}moveChildren(t,e){this.children.forEach((n=>{t.insertBefore(n,e)}))}optimize(t){if(super.optimize(t),this.enforceAllowedChildren(),null!=this.uiNode&&this.uiNode!==this.domNode.firstChild&&this.domNode.insertBefore(this.uiNode,this.domNode.firstChild),0===this.children.length)if(null!=this.statics.defaultChild){const t=this.scroll.create(this.statics.defaultChild.blotName);this.appendChild(t)}else this.remove()}path(e,n=!1){const[r,i]=this.children.find(e,n),s=[[this,e]];return r instanceof t?s.concat(r.path(i,n)):(null!=r&&s.push([r,i]),s)}removeChild(t){this.children.remove(t)}replaceWith(e,n){const r="string"==typeof e?this.scroll.create(e,n):e;return r instanceof t&&this.moveChildren(r),super.replaceWith(r)}split(t,e=!1){if(!e){if(0===t)return this;if(t===this.length())return this.next}const n=this.clone();return this.parent&&this.parent.insertBefore(n,this.next||void 0),this.children.forEachAt(t,this.length(),((t,r,i)=>{const s=t.split(r,e);null!=s&&n.appendChild(s)})),n}splitAfter(t){const e=this.clone();for(;null!=t.next;)e.appendChild(t.next);return this.parent&&this.parent.insertBefore(e,this.next||void 0),e}unwrap(){this.parent&&this.moveChildren(this.parent,this.next||void 0),this.remove()}update(t,e){const n=[],r=[];t.forEach((t=>{t.target===this.domNode&&"childList"===t.type&&(n.push(...t.addedNodes),r.push(...t.removedNodes))})),r.forEach((t=>{if(null!=t.parentNode&&"IFRAME"!==t.tagName&&document.body.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)return;const e=this.scroll.find(t);null!=e&&(null==e.domNode.parentNode||e.domNode.parentNode===this.domNode)&&e.detach()})),n.filter((t=>t.parentNode===this.domNode&&t!==this.uiNode)).sort(((t,e)=>t===e?0:t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING?1:-1)).forEach((t=>{let e=null;null!=t.nextSibling&&(e=this.scroll.find(t.nextSibling));const n=y(t,this.scroll);(n.next!==e||null==n.next)&&(null!=n.parent&&n.parent.removeChild(this),this.insertBefore(n,e||void 0))})),this.enforceAllowedChildren()}};v.uiClass="";const A=v,x=class t extends A{static create(t){return super.create(t)}static formats(e,n){const r=n.query(t.blotName);if(null==r||e.tagName!==r.tagName){if("string"==typeof this.tagName)return!0;if(Array.isArray(this.tagName))return e.tagName.toLowerCase()}}constructor(t,e){super(t,e),this.attributes=new d(this.domNode)}format(e,n){if(e!==this.statics.blotName||n){const t=this.scroll.query(e,r.INLINE);if(null==t)return;t instanceof i?this.attributes.attribute(t,n):n&&(e!==this.statics.blotName||this.formats()[e]!==n)&&this.replaceWith(e,n)}else this.children.forEach((e=>{e instanceof t||(e=e.wrap(t.blotName,!0)),this.attributes.copy(e)})),this.unwrap()}formats(){const t=this.attributes.values(),e=this.statics.formats(this.domNode,this.scroll);return null!=e&&(t[this.statics.blotName]=e),t}formatAt(t,e,n,i){null!=this.formats()[n]||this.scroll.query(n,r.ATTRIBUTE)?this.isolate(t,e).format(n,i):super.formatAt(t,e,n,i)}optimize(e){super.optimize(e);const n=this.formats();if(0===Object.keys(n).length)return this.unwrap();const r=this.next;r instanceof t&&r.prev===this&&function(t,e){if(Object.keys(t).length!==Object.keys(e).length)return!1;for(const n in t)if(t[n]!==e[n])return!1;return!0}(n,r.formats())&&(r.moveChildren(this),r.remove())}replaceWith(t,e){const n=super.replaceWith(t,e);return this.attributes.copy(n),n}update(t,e){super.update(t,e),t.some((t=>t.target===this.domNode&&"attributes"===t.type))&&this.attributes.build()}wrap(e,n){const r=super.wrap(e,n);return r instanceof t&&this.attributes.move(r),r}};x.allowedChildren=[x,m],x.blotName="inline",x.scope=r.INLINE_BLOT,x.tagName="SPAN";const N=x,E=class t extends A{static create(t){return super.create(t)}static formats(e,n){const r=n.query(t.blotName);if(null==r||e.tagName!==r.tagName){if("string"==typeof this.tagName)return!0;if(Array.isArray(this.tagName))return e.tagName.toLowerCase()}}constructor(t,e){super(t,e),this.attributes=new d(this.domNode)}format(e,n){const s=this.scroll.query(e,r.BLOCK);null!=s&&(s instanceof i?this.attributes.attribute(s,n):e!==this.statics.blotName||n?n&&(e!==this.statics.blotName||this.formats()[e]!==n)&&this.replaceWith(e,n):this.replaceWith(t.blotName))}formats(){const t=this.attributes.values(),e=this.statics.formats(this.domNode,this.scroll);return null!=e&&(t[this.statics.blotName]=e),t}formatAt(t,e,n,i){null!=this.scroll.query(n,r.BLOCK)?this.format(n,i):super.formatAt(t,e,n,i)}insertAt(t,e,n){if(null==n||null!=this.scroll.query(e,r.INLINE))super.insertAt(t,e,n);else{const r=this.split(t);if(null==r)throw new Error("Attempt to insertAt after block boundaries");{const t=this.scroll.create(e,n);r.parent.insertBefore(t,r)}}}replaceWith(t,e){const n=super.replaceWith(t,e);return this.attributes.copy(n),n}update(t,e){super.update(t,e),t.some((t=>t.target===this.domNode&&"attributes"===t.type))&&this.attributes.build()}};E.blotName="block",E.scope=r.BLOCK_BLOT,E.tagName="P",E.allowedChildren=[N,E,m];const w=E,q=class extends A{checkMerge(){return null!==this.next&&this.next.statics.blotName===this.statics.blotName}deleteAt(t,e){super.deleteAt(t,e),this.enforceAllowedChildren()}formatAt(t,e,n,r){super.formatAt(t,e,n,r),this.enforceAllowedChildren()}insertAt(t,e,n){super.insertAt(t,e,n),this.enforceAllowedChildren()}optimize(t){super.optimize(t),this.children.length>0&&null!=this.next&&this.checkMerge()&&(this.next.moveChildren(this),this.next.remove())}};q.blotName="container",q.scope=r.BLOCK_BLOT;const k=q,_=class extends m{static formats(t,e){}format(t,e){super.formatAt(0,this.length(),t,e)}formatAt(t,e,n,r){0===t&&e===this.length()?this.format(n,r):super.formatAt(t,e,n,r)}formats(){return this.statics.formats(this.domNode,this.scroll)}},L={attributes:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0},S=class extends A{constructor(t,e){super(null,e),this.registry=t,this.scroll=this,this.build(),this.observer=new MutationObserver((t=>{this.update(t)})),this.observer.observe(this.domNode,L),this.attach()}create(t,e){return this.registry.create(this,t,e)}find(t,e=!1){const n=this.registry.find(t,e);return n?n.scroll===this?n:e?this.find(n.scroll.domNode.parentNode,!0):null:null}query(t,e=r.ANY){return this.registry.query(t,e)}register(...t){return this.registry.register(...t)}build(){null!=this.scroll&&super.build()}detach(){super.detach(),this.observer.disconnect()}deleteAt(t,e){this.update(),0===t&&e===this.length()?this.children.forEach((t=>{t.remove()})):super.deleteAt(t,e)}formatAt(t,e,n,r){this.update(),super.formatAt(t,e,n,r)}insertAt(t,e,n){this.update(),super.insertAt(t,e,n)}optimize(t=[],e={}){super.optimize(e);const n=e.mutationsMap||new WeakMap;let r=Array.from(this.observer.takeRecords());for(;r.length>0;)t.push(r.pop());const i=(t,e=!0)=>{null==t||t===this||null!=t.domNode.parentNode&&(n.has(t.domNode)||n.set(t.domNode,[]),e&&i(t.parent))},s=t=>{n.has(t.domNode)&&(t instanceof A&&t.children.forEach(s),n.delete(t.domNode),t.optimize(e))};let o=t;for(let e=0;o.length>0;e+=1){if(e>=100)throw new Error("[Parchment] Maximum optimize iterations reached");for(o.forEach((t=>{const e=this.find(t.target,!0);null!=e&&(e.domNode===t.target&&("childList"===t.type?(i(this.find(t.previousSibling,!1)),Array.from(t.addedNodes).forEach((t=>{const e=this.find(t,!1);i(e,!1),e instanceof A&&e.children.forEach((t=>{i(t,!1)}))}))):"attributes"===t.type&&i(e.prev)),i(e))})),this.children.forEach(s),o=Array.from(this.observer.takeRecords()),r=o.slice();r.length>0;)t.push(r.pop())}}update(t,e={}){t=t||this.observer.takeRecords();const n=new WeakMap;t.map((t=>{const e=this.find(t.target,!0);return null==e?null:n.has(e.domNode)?(n.get(e.domNode).push(t),null):(n.set(e.domNode,[t]),e)})).forEach((t=>{null!=t&&t!==this&&n.has(t.domNode)&&t.update(n.get(t.domNode)||[],e)})),e.mutationsMap=n,n.has(this.domNode)&&super.update(n.get(this.domNode),e),this.optimize(t,e)}};S.blotName="scroll",S.defaultChild=w,S.allowedChildren=[w,k],S.scope=r.BLOCK_BLOT,S.tagName="DIV";const O=S,T=class t extends m{static create(t){return document.createTextNode(t)}static value(t){return t.data}constructor(t,e){super(t,e),this.text=this.statics.value(this.domNode)}deleteAt(t,e){this.domNode.data=this.text=this.text.slice(0,t)+this.text.slice(t+e)}index(t,e){return this.domNode===t?e:-1}insertAt(t,e,n){null==n?(this.text=this.text.slice(0,t)+e+this.text.slice(t),this.domNode.data=this.text):super.insertAt(t,e,n)}length(){return this.text.length}optimize(e){super.optimize(e),this.text=this.statics.value(this.domNode),0===this.text.length?this.remove():this.next instanceof t&&this.next.prev===this&&(this.insertAt(this.length(),this.next.value()),this.next.remove())}position(t,e=!1){return[this.domNode,t]}split(t,e=!1){if(!e){if(0===t)return this;if(t===this.length())return this.next}const n=this.scroll.create(this.domNode.splitText(t));return this.parent.insertBefore(n,this.next||void 0),this.text=this.statics.value(this.domNode),n}update(t,e){t.some((t=>"characterData"===t.type&&t.target===this.domNode))&&(this.text=this.statics.value(this.domNode))}value(){return this.text}};T.blotName="text",T.scope=r.INLINE_BLOT;const j=T}},e={};function n(r){var i=e[r];if(void 0!==i)return i.exports;var s=e[r]={id:r,loaded:!1,exports:{}};return t[r](s,s.exports,n),s.loaded=!0,s.exports}n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,{a:e}),e},n.d=function(t,e){for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.nmd=function(t){return t.paths=[],t.children||(t.children=[]),t};var r={};return function(){"use strict";n.d(r,{default:function(){return It}});var t=n(3729),e=n(8276),i=n(7912),s=n(6003);class o extends s.ClassAttributor{add(t,e){let n=0;if("+1"===e||"-1"===e){const r=this.value(t)||0;n="+1"===e?r+1:r-1}else"number"==typeof e&&(n=e);return 0===n?(this.remove(t),!0):super.add(t,n.toString())}canAdd(t,e){return super.canAdd(t,e)||super.canAdd(t,parseInt(e,10))}value(t){return parseInt(super.value(t),10)||void 0}}var l=new o("indent","ql-indent",{scope:s.Scope.BLOCK,whitelist:[1,2,3,4,5,6,7,8]}),a=n(9698);class c extends a.Ay{static blotName="blockquote";static tagName="blockquote"}var u=c;class h extends a.Ay{static blotName="header";static tagName=["H1","H2","H3","H4","H5","H6"];static formats(t){return this.tagName.indexOf(t.tagName)+1}}var d=h,f=n(580),p=n(6142);class g extends f.A{}g.blotName="list-container",g.tagName="OL";class m extends a.Ay{static create(t){const e=super.create();return e.setAttribute("data-list",t),e}static formats(t){return t.getAttribute("data-list")||void 0}static register(){p.Ay.register(g)}constructor(t,e){super(t,e);const n=e.ownerDocument.createElement("span"),r=n=>{if(!t.isEnabled())return;const r=this.statics.formats(e,t);"checked"===r?(this.format("list","unchecked"),n.preventDefault()):"unchecked"===r&&(this.format("list","checked"),n.preventDefault())};n.addEventListener("mousedown",r),n.addEventListener("touchstart",r),this.attachUI(n)}format(t,e){t===this.statics.blotName&&e?this.domNode.setAttribute("data-list",e):super.format(t,e)}}m.blotName="list",m.tagName="LI",g.allowedChildren=[m],m.requiredContainer=g;var b=n(9541),y=n(8638),v=n(6772),A=n(664),x=n(4850);class N extends x.A{static blotName="bold";static tagName=["STRONG","B"];static create(){return super.create()}static formats(){return!0}optimize(t){super.optimize(t),this.domNode.tagName!==this.statics.tagName[0]&&this.replaceWith(this.statics.blotName)}}var E=N;class w extends x.A{static blotName="link";static tagName="A";static SANITIZED_URL="about:blank";static PROTOCOL_WHITELIST=["http","https","mailto","tel","sms"];static create(t){const e=super.create(t);return e.setAttribute("href",this.sanitize(t)),e.setAttribute("rel","noopener noreferrer"),e.setAttribute("target","_blank"),e}static formats(t){return t.getAttribute("href")}static sanitize(t){return q(t,this.PROTOCOL_WHITELIST)?t:this.SANITIZED_URL}format(t,e){t===this.statics.blotName&&e?this.domNode.setAttribute("href",this.constructor.sanitize(e)):super.format(t,e)}}function q(t,e){const n=document.createElement("a");n.href=t;const r=n.href.slice(0,n.href.indexOf(":"));return e.indexOf(r)>-1}class k extends x.A{static blotName="script";static tagName=["SUB","SUP"];static create(t){return"super"===t?document.createElement("sup"):"sub"===t?document.createElement("sub"):super.create(t)}static formats(t){return"SUB"===t.tagName?"sub":"SUP"===t.tagName?"super":void 0}}var _=k;class L extends x.A{static blotName="underline";static tagName="U"}var S=L,O=n(746);class T extends O.A{static blotName="formula";static className="ql-formula";static tagName="SPAN";static create(t){if(null==window.katex)throw new Error("Formula module requires KaTeX.");const e=super.create(t);return"string"==typeof t&&(window.katex.render(t,e,{throwOnError:!1,errorColor:"#f00"}),e.setAttribute("data-value",t)),e}static value(t){return t.getAttribute("data-value")}html(){const{formula:t}=this.value();return`<span>${t}</span>`}}var j=T;const C=["alt","height","width"];class R extends s.EmbedBlot{static blotName="image";static tagName="IMG";static create(t){const e=super.create(t);return"string"==typeof t&&e.setAttribute("src",this.sanitize(t)),e}static formats(t){return C.reduce(((e,n)=>(t.hasAttribute(n)&&(e[n]=t.getAttribute(n)),e)),{})}static match(t){return/\.(jpe?g|gif|png)$/.test(t)||/^data:image\/.+;base64/.test(t)}static sanitize(t){return q(t,["http","https","data"])?t:"//:0"}static value(t){return t.getAttribute("src")}format(t,e){C.indexOf(t)>-1?e?this.domNode.setAttribute(t,e):this.domNode.removeAttribute(t):super.format(t,e)}}var I=R;const B=["height","width"];class M extends a.zo{static blotName="video";static className="ql-video";static tagName="IFRAME";static create(t){const e=super.create(t);return e.setAttribute("frameborder","0"),e.setAttribute("allowfullscreen","true"),e.setAttribute("src",this.sanitize(t)),e}static formats(t){return B.reduce(((e,n)=>(t.hasAttribute(n)&&(e[n]=t.getAttribute(n)),e)),{})}static sanitize(t){return w.sanitize(t)}static value(t){return t.getAttribute("src")}format(t,e){B.indexOf(t)>-1?e?this.domNode.setAttribute(t,e):this.domNode.removeAttribute(t):super.format(t,e)}html(){const{video:t}=this.value();return`<a href="${t}">${t}</a>`}}var U=M,D=n(9404),P=n(5232),z=n.n(P),F=n(4266),H=n(3036),$=n(4541),V=n(5508),K=n(584);const W=new s.ClassAttributor("code-token","hljs",{scope:s.Scope.INLINE});class Z extends x.A{static formats(t,e){for(;null!=t&&t!==e.domNode;){if(t.classList&&t.classList.contains(D.Ay.className))return super.formats(t,e);t=t.parentNode}}constructor(t,e,n){super(t,e,n),W.add(this.domNode,n)}format(t,e){t!==Z.blotName?super.format(t,e):e?W.add(this.domNode,e):(W.remove(this.domNode),this.domNode.classList.remove(this.statics.className))}optimize(){super.optimize(...arguments),W.value(this.domNode)||this.unwrap()}}Z.blotName="code-token",Z.className="ql-token";class G extends D.Ay{static create(t){const e=super.create(t);return"string"==typeof t&&e.setAttribute("data-language",t),e}static formats(t){return t.getAttribute("data-language")||"plain"}static register(){}format(t,e){t===this.statics.blotName&&e?this.domNode.setAttribute("data-language",e):super.format(t,e)}replaceWith(t,e){return this.formatAt(0,this.length(),Z.blotName,!1),super.replaceWith(t,e)}}class X extends D.EJ{attach(){super.attach(),this.forceNext=!1,this.scroll.emitMount(this)}format(t,e){t===G.blotName&&(this.forceNext=!0,this.children.forEach((n=>{n.format(t,e)})))}formatAt(t,e,n,r){n===G.blotName&&(this.forceNext=!0),super.formatAt(t,e,n,r)}highlight(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null==this.children.head)return;const n=`${Array.from(this.domNode.childNodes).filter((t=>t!==this.uiNode)).map((t=>t.textContent)).join("\n")}\n`,r=G.formats(this.children.head.domNode);if(e||this.forceNext||this.cachedText!==n){if(n.trim().length>0||null==this.cachedText){const e=this.children.reduce(((t,e)=>t.concat((0,a.mG)(e,!1))),new(z())),i=t(n,r);e.diff(i).reduce(((t,e)=>{let{retain:n,attributes:r}=e;return n?(r&&Object.keys(r).forEach((e=>{[G.blotName,Z.blotName].includes(e)&&this.formatAt(t,n,e,r[e])})),t+n):t}),0)}this.cachedText=n,this.forceNext=!1}}html(t,e){const[n]=this.children.find(t);return`<pre data-language="${n?G.formats(n.domNode):"plain"}">\n${(0,V.X)(this.code(t,e))}\n</pre>`}optimize(t){if(super.optimize(t),null!=this.parent&&null!=this.children.head&&null!=this.uiNode){const t=G.formats(this.children.head.domNode);t!==this.uiNode.value&&(this.uiNode.value=t)}}}X.allowedChildren=[G],G.requiredContainer=X,G.allowedChildren=[Z,$.A,V.A,H.A];class Q extends F.A{static register(){p.Ay.register(Z,!0),p.Ay.register(G,!0),p.Ay.register(X,!0)}constructor(t,e){if(super(t,e),null==this.options.hljs)throw new Error("Syntax module requires highlight.js. Please include the library on the page before Quill.");this.languages=this.options.languages.reduce(((t,e)=>{let{key:n}=e;return t[n]=!0,t}),{}),this.highlightBlot=this.highlightBlot.bind(this),this.initListener(),this.initTimer()}initListener(){this.quill.on(p.Ay.events.SCROLL_BLOT_MOUNT,(t=>{if(!(t instanceof X))return;const e=this.quill.root.ownerDocument.createElement("select");this.options.languages.forEach((t=>{let{key:n,label:r}=t;const i=e.ownerDocument.createElement("option");i.textContent=r,i.setAttribute("value",n),e.appendChild(i)})),e.addEventListener("change",(()=>{t.format(G.blotName,e.value),this.quill.root.focus(),this.highlight(t,!0)})),null==t.uiNode&&(t.attachUI(e),t.children.head&&(e.value=G.formats(t.children.head.domNode)))}))}initTimer(){let t=null;this.quill.on(p.Ay.events.SCROLL_OPTIMIZE,(()=>{t&&clearTimeout(t),t=setTimeout((()=>{this.highlight(),t=null}),this.options.interval)}))}highlight(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.quill.selection.composing)return;this.quill.update(p.Ay.sources.USER);const n=this.quill.getSelection();(null==t?this.quill.scroll.descendants(X):[t]).forEach((t=>{t.highlight(this.highlightBlot,e)})),this.quill.update(p.Ay.sources.SILENT),null!=n&&this.quill.setSelection(n,p.Ay.sources.SILENT)}highlightBlot(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"plain";if(e=this.languages[e]?e:"plain","plain"===e)return(0,V.X)(t).split("\n").reduce(((t,n,r)=>(0!==r&&t.insert("\n",{[D.Ay.blotName]:e}),t.insert(n))),new(z()));const n=this.quill.root.ownerDocument.createElement("div");return n.classList.add(D.Ay.className),n.innerHTML=((t,e,n)=>{if("string"==typeof t.versionString){const r=t.versionString.split(".")[0];if(parseInt(r,10)>=11)return t.highlight(n,{language:e}).value}return t.highlight(e,n).value})(this.options.hljs,e,t),(0,K.hV)(this.quill.scroll,n,[(t,e)=>{const n=W.value(t);return n?e.compose((new(z())).retain(e.length(),{[Z.blotName]:n})):e}],[(t,n)=>t.data.split("\n").reduce(((t,n,r)=>(0!==r&&t.insert("\n",{[D.Ay.blotName]:e}),t.insert(n))),n)],new WeakMap)}}Q.DEFAULTS={hljs:window.hljs,interval:1e3,languages:[{key:"plain",label:"Plain"},{key:"bash",label:"Bash"},{key:"cpp",label:"C++"},{key:"cs",label:"C#"},{key:"css",label:"CSS"},{key:"diff",label:"Diff"},{key:"xml",label:"HTML/XML"},{key:"java",label:"Java"},{key:"javascript",label:"JavaScript"},{key:"markdown",label:"Markdown"},{key:"php",label:"PHP"},{key:"python",label:"Python"},{key:"ruby",label:"Ruby"},{key:"sql",label:"SQL"}]};class J extends a.Ay{static blotName="table";static tagName="TD";static create(t){const e=super.create();return t?e.setAttribute("data-row",t):e.setAttribute("data-row",nt()),e}static formats(t){if(t.hasAttribute("data-row"))return t.getAttribute("data-row")}cellOffset(){return this.parent?this.parent.children.indexOf(this):-1}format(t,e){t===J.blotName&&e?this.domNode.setAttribute("data-row",e):super.format(t,e)}row(){return this.parent}rowOffset(){return this.row()?this.row().rowOffset():-1}table(){return this.row()&&this.row().table()}}class Y extends f.A{static blotName="table-row";static tagName="TR";checkMerge(){if(super.checkMerge()&&null!=this.next.children.head){const t=this.children.head.formats(),e=this.children.tail.formats(),n=this.next.children.head.formats(),r=this.next.children.tail.formats();return t.table===e.table&&t.table===n.table&&t.table===r.table}return!1}optimize(t){super.optimize(t),this.children.forEach((t=>{if(null==t.next)return;const e=t.formats(),n=t.next.formats();if(e.table!==n.table){const e=this.splitAfter(t);e&&e.optimize(),this.prev&&this.prev.optimize()}}))}rowOffset(){return this.parent?this.parent.children.indexOf(this):-1}table(){return this.parent&&this.parent.parent}}class tt extends f.A{static blotName="table-body";static tagName="TBODY"}class et extends f.A{static blotName="table-container";static tagName="TABLE";balanceCells(){const t=this.descendants(Y),e=t.reduce(((t,e)=>Math.max(e.children.length,t)),0);t.forEach((t=>{new Array(e-t.children.length).fill(0).forEach((()=>{let e;null!=t.children.head&&(e=J.formats(t.children.head.domNode));const n=this.scroll.create(J.blotName,e);t.appendChild(n),n.optimize()}))}))}cells(t){return this.rows().map((e=>e.children.at(t)))}deleteColumn(t){const[e]=this.descendant(tt);null!=e&&null!=e.children.head&&e.children.forEach((e=>{const n=e.children.at(t);null!=n&&n.remove()}))}insertColumn(t){const[e]=this.descendant(tt);null!=e&&null!=e.children.head&&e.children.forEach((e=>{const n=e.children.at(t),r=J.formats(e.children.head.domNode),i=this.scroll.create(J.blotName,r);e.insertBefore(i,n)}))}insertRow(t){const[e]=this.descendant(tt);if(null==e||null==e.children.head)return;const n=nt(),r=this.scroll.create(Y.blotName);e.children.head.children.forEach((()=>{const t=this.scroll.create(J.blotName,n);r.appendChild(t)}));const i=e.children.at(t);e.insertBefore(r,i)}rows(){const t=this.children.head;return null==t?[]:t.children.map((t=>t))}}function nt(){return`row-${Math.random().toString(36).slice(2,6)}`}et.allowedChildren=[tt],tt.requiredContainer=et,tt.allowedChildren=[Y],Y.requiredContainer=tt,Y.allowedChildren=[J],J.requiredContainer=Y;class rt extends F.A{static register(){p.Ay.register(J),p.Ay.register(Y),p.Ay.register(tt),p.Ay.register(et)}constructor(){super(...arguments),this.listenBalanceCells()}balanceTables(){this.quill.scroll.descendants(et).forEach((t=>{t.balanceCells()}))}deleteColumn(){const[t,,e]=this.getTable();null!=e&&(t.deleteColumn(e.cellOffset()),this.quill.update(p.Ay.sources.USER))}deleteRow(){const[,t]=this.getTable();null!=t&&(t.remove(),this.quill.update(p.Ay.sources.USER))}deleteTable(){const[t]=this.getTable();if(null==t)return;const e=t.offset();t.remove(),this.quill.update(p.Ay.sources.USER),this.quill.setSelection(e,p.Ay.sources.SILENT)}getTable(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.quill.getSelection();if(null==t)return[null,null,null,-1];const[e,n]=this.quill.getLine(t.index);if(null==e||e.statics.blotName!==J.blotName)return[null,null,null,-1];const r=e.parent;return[r.parent.parent,r,e,n]}insertColumn(t){const e=this.quill.getSelection();if(!e)return;const[n,r,i]=this.getTable(e);if(null==i)return;const s=i.cellOffset();n.insertColumn(s+t),this.quill.update(p.Ay.sources.USER);let o=r.rowOffset();0===t&&(o+=1),this.quill.setSelection(e.index+o,e.length,p.Ay.sources.SILENT)}insertColumnLeft(){this.insertColumn(0)}insertColumnRight(){this.insertColumn(1)}insertRow(t){const e=this.quill.getSelection();if(!e)return;const[n,r,i]=this.getTable(e);if(null==i)return;const s=r.rowOffset();n.insertRow(s+t),this.quill.update(p.Ay.sources.USER),t>0?this.quill.setSelection(e,p.Ay.sources.SILENT):this.quill.setSelection(e.index+r.children.length,e.length,p.Ay.sources.SILENT)}insertRowAbove(){this.insertRow(0)}insertRowBelow(){this.insertRow(1)}insertTable(t,e){const n=this.quill.getSelection();if(null==n)return;const r=new Array(t).fill(0).reduce((t=>{const n=new Array(e).fill("\n").join("");return t.insert(n,{table:nt()})}),(new(z())).retain(n.index));this.quill.updateContents(r,p.Ay.sources.USER),this.quill.setSelection(n.index,p.Ay.sources.SILENT),this.balanceTables()}listenBalanceCells(){this.quill.on(p.Ay.events.SCROLL_OPTIMIZE,(t=>{t.some((t=>!!["TD","TR","TBODY","TABLE"].includes(t.target.tagName)&&(this.quill.once(p.Ay.events.TEXT_CHANGE,((t,e,n)=>{n===p.Ay.sources.USER&&this.balanceTables()})),!0)))}))}}var it=rt;const st=(0,n(6078).A)("quill:toolbar");class ot extends F.A{constructor(t,e){if(super(t,e),Array.isArray(this.options.container)){const e=document.createElement("div");e.setAttribute("role","toolbar"),function(t,e){Array.isArray(e[0])||(e=[e]),e.forEach((e=>{const n=document.createElement("span");n.classList.add("ql-formats"),e.forEach((t=>{if("string"==typeof t)lt(n,t);else{const e=Object.keys(t)[0],r=t[e];Array.isArray(r)?function(t,e,n){const r=document.createElement("select");r.classList.add(`ql-${e}`),n.forEach((t=>{const e=document.createElement("option");!1!==t?e.setAttribute("value",String(t)):e.setAttribute("selected","selected"),r.appendChild(e)})),t.appendChild(r)}(n,e,r):lt(n,e,r)}})),t.appendChild(n)}))}(e,this.options.container),t.container?.parentNode?.insertBefore(e,t.container),this.container=e}else"string"==typeof this.options.container?this.container=document.querySelector(this.options.container):this.container=this.options.container;this.container instanceof HTMLElement?(this.container.classList.add("ql-toolbar"),this.controls=[],this.handlers={},this.options.handlers&&Object.keys(this.options.handlers).forEach((t=>{const e=this.options.handlers?.[t];e&&this.addHandler(t,e)})),Array.from(this.container.querySelectorAll("button, select")).forEach((t=>{this.attach(t)})),this.quill.on(p.Ay.events.EDITOR_CHANGE,(()=>{const[t]=this.quill.selection.getRange();this.update(t)}))):st.error("Container required for toolbar",this.options)}addHandler(t,e){this.handlers[t]=e}attach(t){let e=Array.from(t.classList).find((t=>0===t.indexOf("ql-")));if(!e)return;if(e=e.slice(3),"BUTTON"===t.tagName&&t.setAttribute("type","button"),null==this.handlers[e]&&null==this.quill.scroll.query(e))return void st.warn("ignoring attaching to nonexistent format",e,t);const n="SELECT"===t.tagName?"change":"click";t.addEventListener(n,(n=>{let r;if("SELECT"===t.tagName){if(t.selectedIndex<0)return;const e=t.options[t.selectedIndex];r=!e.hasAttribute("selected")&&(e.value||!1)}else r=!t.classList.contains("ql-active")&&(t.value||!t.hasAttribute("value")),n.preventDefault();this.quill.focus();const[i]=this.quill.selection.getRange();if(null!=this.handlers[e])this.handlers[e].call(this,r);else if(this.quill.scroll.query(e).prototype instanceof s.EmbedBlot){if(r=prompt(`Enter ${e}`),!r)return;this.quill.updateContents((new(z())).retain(i.index).delete(i.length).insert({[e]:r}),p.Ay.sources.USER)}else this.quill.format(e,r,p.Ay.sources.USER);this.update(i)})),this.controls.push([e,t])}update(t){const e=null==t?{}:this.quill.getFormat(t);this.controls.forEach((n=>{const[r,i]=n;if("SELECT"===i.tagName){let n=null;if(null==t)n=null;else if(null==e[r])n=i.querySelector("option[selected]");else if(!Array.isArray(e[r])){let t=e[r];"string"==typeof t&&(t=t.replace(/"/g,'\\"')),n=i.querySelector(`option[value="${t}"]`)}null==n?(i.value="",i.selectedIndex=-1):n.selected=!0}else if(null==t)i.classList.remove("ql-active"),i.setAttribute("aria-pressed","false");else if(i.hasAttribute("value")){const t=e[r],n=t===i.getAttribute("value")||null!=t&&t.toString()===i.getAttribute("value")||null==t&&!i.getAttribute("value");i.classList.toggle("ql-active",n),i.setAttribute("aria-pressed",n.toString())}else{const t=null!=e[r];i.classList.toggle("ql-active",t),i.setAttribute("aria-pressed",t.toString())}}))}}function lt(t,e,n){const r=document.createElement("button");r.setAttribute("type","button"),r.classList.add(`ql-${e}`),r.setAttribute("aria-pressed","false"),null!=n?(r.value=n,r.setAttribute("aria-label",`${e}: ${n}`)):r.setAttribute("aria-label",e),t.appendChild(r)}ot.DEFAULTS={},ot.DEFAULTS={container:null,handlers:{clean(){const t=this.quill.getSelection();if(null!=t)if(0===t.length){const t=this.quill.getFormat();Object.keys(t).forEach((t=>{null!=this.quill.scroll.query(t,s.Scope.INLINE)&&this.quill.format(t,!1,p.Ay.sources.USER)}))}else this.quill.removeFormat(t.index,t.length,p.Ay.sources.USER)},direction(t){const{align:e}=this.quill.getFormat();"rtl"===t&&null==e?this.quill.format("align","right",p.Ay.sources.USER):t||"right"!==e||this.quill.format("align",!1,p.Ay.sources.USER),this.quill.format("direction",t,p.Ay.sources.USER)},indent(t){const e=this.quill.getSelection(),n=this.quill.getFormat(e),r=parseInt(n.indent||0,10);if("+1"===t||"-1"===t){let e="+1"===t?1:-1;"rtl"===n.direction&&(e*=-1),this.quill.format("indent",r+e,p.Ay.sources.USER)}},link(t){!0===t&&(t=prompt("Enter link URL:")),this.quill.format("link",t,p.Ay.sources.USER)},list(t){const e=this.quill.getSelection(),n=this.quill.getFormat(e);"check"===t?"checked"===n.list||"unchecked"===n.list?this.quill.format("list",!1,p.Ay.sources.USER):this.quill.format("list","unchecked",p.Ay.sources.USER):this.quill.format("list",t,p.Ay.sources.USER)}}};const at='<svg viewbox="0 0 18 18"><polyline class="ql-even ql-stroke" points="5 7 3 9 5 11"/><polyline class="ql-even ql-stroke" points="13 7 15 9 13 11"/><line class="ql-stroke" x1="10" x2="8" y1="5" y2="13"/></svg>';var ct={align:{"":'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="3" x2="15" y1="9" y2="9"/><line class="ql-stroke" x1="3" x2="13" y1="14" y2="14"/><line class="ql-stroke" x1="3" x2="9" y1="4" y2="4"/></svg>',center:'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="15" x2="3" y1="9" y2="9"/><line class="ql-stroke" x1="14" x2="4" y1="14" y2="14"/><line class="ql-stroke" x1="12" x2="6" y1="4" y2="4"/></svg>',right:'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="15" x2="3" y1="9" y2="9"/><line class="ql-stroke" x1="15" x2="5" y1="14" y2="14"/><line class="ql-stroke" x1="15" x2="9" y1="4" y2="4"/></svg>',justify:'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="15" x2="3" y1="9" y2="9"/><line class="ql-stroke" x1="15" x2="3" y1="14" y2="14"/><line class="ql-stroke" x1="15" x2="3" y1="4" y2="4"/></svg>'},background:'<svg viewbox="0 0 18 18"><g class="ql-fill ql-color-label"><polygon points="6 6.868 6 6 5 6 5 7 5.942 7 6 6.868"/><rect height="1" width="1" x="4" y="4"/><polygon points="6.817 5 6 5 6 6 6.38 6 6.817 5"/><rect height="1" width="1" x="2" y="6"/><rect height="1" width="1" x="3" y="5"/><rect height="1" width="1" x="4" y="7"/><polygon points="4 11.439 4 11 3 11 3 12 3.755 12 4 11.439"/><rect height="1" width="1" x="2" y="12"/><rect height="1" width="1" x="2" y="9"/><rect height="1" width="1" x="2" y="15"/><polygon points="4.63 10 4 10 4 11 4.192 11 4.63 10"/><rect height="1" width="1" x="3" y="8"/><path d="M10.832,4.2L11,4.582V4H10.708A1.948,1.948,0,0,1,10.832,4.2Z"/><path d="M7,4.582L7.168,4.2A1.929,1.929,0,0,1,7.292,4H7V4.582Z"/><path d="M8,13H7.683l-0.351.8a1.933,1.933,0,0,1-.124.2H8V13Z"/><rect height="1" width="1" x="12" y="2"/><rect height="1" width="1" x="11" y="3"/><path d="M9,3H8V3.282A1.985,1.985,0,0,1,9,3Z"/><rect height="1" width="1" x="2" y="3"/><rect height="1" width="1" x="6" y="2"/><rect height="1" width="1" x="3" y="2"/><rect height="1" width="1" x="5" y="3"/><rect height="1" width="1" x="9" y="2"/><rect height="1" width="1" x="15" y="14"/><polygon points="13.447 10.174 13.469 10.225 13.472 10.232 13.808 11 14 11 14 10 13.37 10 13.447 10.174"/><rect height="1" width="1" x="13" y="7"/><rect height="1" width="1" x="15" y="5"/><rect height="1" width="1" x="14" y="6"/><rect height="1" width="1" x="15" y="8"/><rect height="1" width="1" x="14" y="9"/><path d="M3.775,14H3v1H4V14.314A1.97,1.97,0,0,1,3.775,14Z"/><rect height="1" width="1" x="14" y="3"/><polygon points="12 6.868 12 6 11.62 6 12 6.868"/><rect height="1" width="1" x="15" y="2"/><rect height="1" width="1" x="12" y="5"/><rect height="1" width="1" x="13" y="4"/><polygon points="12.933 9 13 9 13 8 12.495 8 12.933 9"/><rect height="1" width="1" x="9" y="14"/><rect height="1" width="1" x="8" y="15"/><path d="M6,14.926V15H7V14.316A1.993,1.993,0,0,1,6,14.926Z"/><rect height="1" width="1" x="5" y="15"/><path d="M10.668,13.8L10.317,13H10v1h0.792A1.947,1.947,0,0,1,10.668,13.8Z"/><rect height="1" width="1" x="11" y="15"/><path d="M14.332,12.2a1.99,1.99,0,0,1,.166.8H15V12H14.245Z"/><rect height="1" width="1" x="14" y="15"/><rect height="1" width="1" x="15" y="11"/></g><polyline class="ql-stroke" points="5.5 13 9 5 12.5 13"/><line class="ql-stroke" x1="11.63" x2="6.38" y1="11" y2="11"/></svg>',blockquote:'<svg viewbox="0 0 18 18"><rect class="ql-fill ql-stroke" height="3" width="3" x="4" y="5"/><rect class="ql-fill ql-stroke" height="3" width="3" x="11" y="5"/><path class="ql-even ql-fill ql-stroke" d="M7,8c0,4.031-3,5-3,5"/><path class="ql-even ql-fill ql-stroke" d="M14,8c0,4.031-3,5-3,5"/></svg>',bold:'<svg viewbox="0 0 18 18"><path class="ql-stroke" d="M5,4H9.5A2.5,2.5,0,0,1,12,6.5v0A2.5,2.5,0,0,1,9.5,9H5A0,0,0,0,1,5,9V4A0,0,0,0,1,5,4Z"/><path class="ql-stroke" d="M5,9h5.5A2.5,2.5,0,0,1,13,11.5v0A2.5,2.5,0,0,1,10.5,14H5a0,0,0,0,1,0,0V9A0,0,0,0,1,5,9Z"/></svg>',clean:'<svg class="" viewbox="0 0 18 18"><line class="ql-stroke" x1="5" x2="13" y1="3" y2="3"/><line class="ql-stroke" x1="6" x2="9.35" y1="12" y2="3"/><line class="ql-stroke" x1="11" x2="15" y1="11" y2="15"/><line class="ql-stroke" x1="15" x2="11" y1="11" y2="15"/><rect class="ql-fill" height="1" rx="0.5" ry="0.5" width="7" x="2" y="14"/></svg>',code:at,"code-block":at,color:'<svg viewbox="0 0 18 18"><line class="ql-color-label ql-stroke ql-transparent" x1="3" x2="15" y1="15" y2="15"/><polyline class="ql-stroke" points="5.5 11 9 3 12.5 11"/><line class="ql-stroke" x1="11.63" x2="6.38" y1="9" y2="9"/></svg>',direction:{"":'<svg viewbox="0 0 18 18"><polygon class="ql-stroke ql-fill" points="3 11 5 9 3 7 3 11"/><line class="ql-stroke ql-fill" x1="15" x2="11" y1="4" y2="4"/><path class="ql-fill" d="M11,3a3,3,0,0,0,0,6h1V3H11Z"/><rect class="ql-fill" height="11" width="1" x="11" y="4"/><rect class="ql-fill" height="11" width="1" x="13" y="4"/></svg>',rtl:'<svg viewbox="0 0 18 18"><polygon class="ql-stroke ql-fill" points="15 12 13 10 15 8 15 12"/><line class="ql-stroke ql-fill" x1="9" x2="5" y1="4" y2="4"/><path class="ql-fill" d="M5,3A3,3,0,0,0,5,9H6V3H5Z"/><rect class="ql-fill" height="11" width="1" x="5" y="4"/><rect class="ql-fill" height="11" width="1" x="7" y="4"/></svg>'},formula:'<svg viewbox="0 0 18 18"><path class="ql-fill" d="M11.759,2.482a2.561,2.561,0,0,0-3.53.607A7.656,7.656,0,0,0,6.8,6.2C6.109,9.188,5.275,14.677,4.15,14.927a1.545,1.545,0,0,0-1.3-.933A0.922,0.922,0,0,0,2,15.036S1.954,16,4.119,16s3.091-2.691,3.7-5.553c0.177-.826.36-1.726,0.554-2.6L8.775,6.2c0.381-1.421.807-2.521,1.306-2.676a1.014,1.014,0,0,0,1.02.56A0.966,0.966,0,0,0,11.759,2.482Z"/><rect class="ql-fill" height="1.6" rx="0.8" ry="0.8" width="5" x="5.15" y="6.2"/><path class="ql-fill" d="M13.663,12.027a1.662,1.662,0,0,1,.266-0.276q0.193,0.069.456,0.138a2.1,2.1,0,0,0,.535.069,1.075,1.075,0,0,0,.767-0.3,1.044,1.044,0,0,0,.314-0.8,0.84,0.84,0,0,0-.238-0.619,0.8,0.8,0,0,0-.594-0.239,1.154,1.154,0,0,0-.781.3,4.607,4.607,0,0,0-.781,1q-0.091.15-.218,0.346l-0.246.38c-0.068-.288-0.137-0.582-0.212-0.885-0.459-1.847-2.494-.984-2.941-0.8-0.482.2-.353,0.647-0.094,0.529a0.869,0.869,0,0,1,1.281.585c0.217,0.751.377,1.436,0.527,2.038a5.688,5.688,0,0,1-.362.467,2.69,2.69,0,0,1-.264.271q-0.221-.08-0.471-0.147a2.029,2.029,0,0,0-.522-0.066,1.079,1.079,0,0,0-.768.3A1.058,1.058,0,0,0,9,15.131a0.82,0.82,0,0,0,.832.852,1.134,1.134,0,0,0,.787-0.3,5.11,5.11,0,0,0,.776-0.993q0.141-.219.215-0.34c0.046-.076.122-0.194,0.223-0.346a2.786,2.786,0,0,0,.918,1.726,2.582,2.582,0,0,0,2.376-.185c0.317-.181.212-0.565,0-0.494A0.807,0.807,0,0,1,14.176,15a5.159,5.159,0,0,1-.913-2.446l0,0Q13.487,12.24,13.663,12.027Z"/></svg>',header:{1:'<svg viewBox="0 0 18 18"><path class="ql-fill" d="M10,4V14a1,1,0,0,1-2,0V10H3v4a1,1,0,0,1-2,0V4A1,1,0,0,1,3,4V8H8V4a1,1,0,0,1,2,0Zm6.06787,9.209H14.98975V7.59863a.54085.54085,0,0,0-.605-.60547h-.62744a1.01119,1.01119,0,0,0-.748.29688L11.645,8.56641a.5435.5435,0,0,0-.022.8584l.28613.30762a.53861.53861,0,0,0,.84717.0332l.09912-.08789a1.2137,1.2137,0,0,0,.2417-.35254h.02246s-.01123.30859-.01123.60547V13.209H12.041a.54085.54085,0,0,0-.605.60547v.43945a.54085.54085,0,0,0,.605.60547h4.02686a.54085.54085,0,0,0,.605-.60547v-.43945A.54085.54085,0,0,0,16.06787,13.209Z"/></svg>',2:'<svg viewBox="0 0 18 18"><path class="ql-fill" d="M16.73975,13.81445v.43945a.54085.54085,0,0,1-.605.60547H11.855a.58392.58392,0,0,1-.64893-.60547V14.0127c0-2.90527,3.39941-3.42187,3.39941-4.55469a.77675.77675,0,0,0-.84717-.78125,1.17684,1.17684,0,0,0-.83594.38477c-.2749.26367-.561.374-.85791.13184l-.4292-.34082c-.30811-.24219-.38525-.51758-.1543-.81445a2.97155,2.97155,0,0,1,2.45361-1.17676,2.45393,2.45393,0,0,1,2.68408,2.40918c0,2.45312-3.1792,2.92676-3.27832,3.93848h2.79443A.54085.54085,0,0,1,16.73975,13.81445ZM9,3A.99974.99974,0,0,0,8,4V8H3V4A1,1,0,0,0,1,4V14a1,1,0,0,0,2,0V10H8v4a1,1,0,0,0,2,0V4A.99974.99974,0,0,0,9,3Z"/></svg>',3:'<svg viewBox="0 0 18 18"><path class="ql-fill" d="M16.65186,12.30664a2.6742,2.6742,0,0,1-2.915,2.68457,3.96592,3.96592,0,0,1-2.25537-.6709.56007.56007,0,0,1-.13232-.83594L11.64648,13c.209-.34082.48389-.36328.82471-.1543a2.32654,2.32654,0,0,0,1.12256.33008c.71484,0,1.12207-.35156,1.12207-.78125,0-.61523-.61621-.86816-1.46338-.86816
vendor: 5,262 bytes, line 46325
46325H13.2085a.65159.65159,0,0,1-.68213-.41895l-.05518-.10937a.67114.67114,0,0,1,.14307-.78125l.71533-.86914a8.55289,8.55289,0,0,1,.68213-.7373V8.58887a3.93913,3.93913,0,0,1-.748.05469H11.9873a.54085.54085,0,0,1-.605-.60547V7.59863a.54085.54085,0,0,1,.605-.60547h3.75146a.53773.53773,0,0,1,.60547.59375v.17676a1.03723,1.03723,0,0,1-.27539.748L14.74854,10.0293A2.31132,2.31132,0,0,1,16.65186,12.30664ZM9,3A.99974.99974,0,0,0,8,4V8H3V4A1,1,0,0,0,1,4V14a1,1,0,0,0,2,0V10H8v4a1,1,0,0,0,2,0V4A.99974.99974,0,0,0,9,3Z"/></svg>',4:'<svg viewBox="0 0 18 18"><path class="ql-fill" d="M10,4V14a1,1,0,0,1-2,0V10H3v4a1,1,0,0,1-2,0V4A1,1,0,0,1,3,4V8H8V4a1,1,0,0,1,2,0Zm7.05371,7.96582v.38477c0,.39648-.165.60547-.46191.60547h-.47314v1.29785a.54085.54085,0,0,1-.605.60547h-.69336a.54085.54085,0,0,1-.605-.60547V12.95605H11.333a.5412.5412,0,0,1-.60547-.60547v-.15332a1.199,1.199,0,0,1,.22021-.748l2.56348-4.05957a.7819.7819,0,0,1,.72607-.39648h1.27637a.54085.54085,0,0,1,.605.60547v3.7627h.33008A.54055.54055,0,0,1,17.05371,11.96582ZM14.28125,8.7207h-.022a4.18969,4.18969,0,0,1-.38525.81348l-1.188,1.80469v.02246h1.5293V9.60059A7.04058,7.04058,0,0,1,14.28125,8.7207Z"/></svg>',5:'<svg viewBox="0 0 18 18"><path class="ql-fill" d="M16.74023,12.18555a2.75131,2.75131,0,0,1-2.91553,2.80566,3.908,3.908,0,0,1-2.25537-.68164.54809.54809,0,0,1-.13184-.8252L11.73438,13c.209-.34082.48389-.36328.8252-.1543a2.23757,2.23757,0,0,0,1.1001.33008,1.01827,1.01827,0,0,0,1.1001-.96777c0-.61621-.53906-.97949-1.25439-.97949a2.15554,2.15554,0,0,0-.64893.09961,1.15209,1.15209,0,0,1-.814.01074l-.12109-.04395a.64116.64116,0,0,1-.45117-.71484l.231-3.00391a.56666.56666,0,0,1,.62744-.583H15.541a.54085.54085,0,0,1,.605.60547v.43945a.54085.54085,0,0,1-.605.60547H13.41748l-.04395.72559a1.29306,1.29306,0,0,1-.04395.30859h.022a2.39776,2.39776,0,0,1,.57227-.07715A2.53266,2.53266,0,0,1,16.74023,12.18555ZM9,3A.99974.99974,0,0,0,8,4V8H3V4A1,1,0,0,0,1,4V14a1,1,0,0,0,2,0V10H8v4a1,1,0,0,0,2,0V4A.99974.99974,0,0,0,9,3Z"/></svg>',6:'<svg viewBox="0 0 18 18"><path class="ql-fill" d="M14.51758,9.64453a1.85627,1.85627,0,0,0-1.24316.38477H13.252a1.73532,1.73532,0,0,1,1.72754-1.4082,2.66491,2.66491,0,0,1,.5498.06641c.35254.05469.57227.01074.70508-.40723l.16406-.5166a.53393.53393,0,0,0-.373-.75977,4.83723,4.83723,0,0,0-1.17773-.14258c-2.43164,0-3.7627,2.17773-3.7627,4.43359,0,2.47559,1.60645,3.69629,3.19043,3.69629A2.70585,2.70585,0,0,0,16.96,12.19727,2.43861,2.43861,0,0,0,14.51758,9.64453Zm-.23047,3.58691c-.67187,0-1.22168-.81445-1.22168-1.45215,0-.47363.30762-.583.72559-.583.96875,0,1.27734.59375,1.27734,1.12207A.82182.82182,0,0,1,14.28711,13.23145ZM10,4V14a1,1,0,0,1-2,0V10H3v4a1,1,0,0,1-2,0V4A1,1,0,0,1,3,4V8H8V4a1,1,0,0,1,2,0Z"/></svg>'},italic:'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="7" x2="13" y1="4" y2="4"/><line class="ql-stroke" x1="5" x2="11" y1="14" y2="14"/><line class="ql-stroke" x1="8" x2="10" y1="14" y2="4"/></svg>',image:'<svg viewbox="0 0 18 18"><rect class="ql-stroke" height="10" width="12" x="3" y="4"/><circle class="ql-fill" cx="6" cy="7" r="1"/><polyline class="ql-even ql-fill" points="5 12 5 11 7 9 8 10 11 7 13 9 13 12 5 12"/></svg>',indent:{"+1":'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="3" x2="15" y1="14" y2="14"/><line class="ql-stroke" x1="3" x2="15" y1="4" y2="4"/><line class="ql-stroke" x1="9" x2="15" y1="9" y2="9"/><polyline class="ql-fill ql-stroke" points="3 7 3 11 5 9 3 7"/></svg>',"-1":'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="3" x2="15" y1="14" y2="14"/><line class="ql-stroke" x1="3" x2="15" y1="4" y2="4"/><line class="ql-stroke" x1="9" x2="15" y1="9" y2="9"/><polyline class="ql-stroke" points="5 7 5 11 3 9 5 7"/></svg>'},link:'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="7" x2="11" y1="7" y2="11"/><path class="ql-even ql-stroke" d="M8.9,4.577a3.476,3.476,0,0,1,.36,4.679A3.476,3.476,0,0,1,4.577,8.9C3.185,7.5,2.035,6.4,4.217,4.217S7.5,3.185,8.9,4.577Z"/><path class="ql-even ql-stroke" d="M13.423,9.1a3.476,3.476,0,0,0-4.679-.36,3.476,3.476,0,0,0,.36,4.679c1.392,1.392,2.5,2.542,4.679.36S14.815,10.5,13.423,9.1Z"/></svg>',list:{bullet:'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="6" x2="15" y1="4" y2="4"/><line class="ql-stroke" x1="6" x2="15" y1="9" y2="9"/><line class="ql-stroke" x1="6" x2="15" y1="14" y2="14"/><line class="ql-stroke" x1="3" x2="3" y1="4" y2="4"/><line class="ql-stroke" x1="3" x2="3" y1="9" y2="9"/><line class="ql-stroke" x1="3" x2="3" y1="14" y2="14"/></svg>',check:'<svg class="" viewbox="0 0 18 18"><line class="ql-stroke" x1="9" x2="15" y1="4" y2="4"/><polyline class="ql-stroke" points="3 4 4 5 6 3"/><line class="ql-stroke" x1="9" x2="15" y1="14" y2="14"/><polyline class="ql-stroke" points="3 14 4 15 6 13"/><line class="ql-stroke" x1="9" x2="15" y1="9" y2="9"/><polyline class="ql-stroke" points="3 9 4 10 6 8"/></svg>',ordered:'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="7" x2="15" y1="4" y2="4"/><line class="ql-stroke" x1="7" x2="15" y1="9" y2="9"/><line class="ql-stroke" x1="7" x2="15" y1="14" y2="14"/><line class="ql-stroke ql-thin" x1="2.5" x2="4.5" y1="5.5" y2="5.5"/><path class="ql-fill" d="M3.5,6A0.5,0.5,0,0,1,3,5.5V3.085l-0.276.138A0.5,0.5,0,0,1,2.053,3c-0.124-.247-0.023-0.324.224-0.447l1-.5A0.5,0.5,0,0,1,4,2.5v3A0.5,0.5,0,0,1,3.5,6Z"/>
vendor: 19,495 bytes, lines 46325-46326
46325<path class="ql-stroke ql-thin" d="M4.5,10.5h-2c0-.234,1.85-1.076,1.85-2.234A0.959,0.959,0,0,0,2.5,8.156"/><path class="ql-stroke ql-thin" d="M2.5,14.846a0.959,0.959,0,0,0,1.85-.109A0.7,0.7,0,0,0,3.75,14a0.688,0.688,0,0,0,.6-0.736,0.959,0.959,0,0,0-1.85-.109"/></svg>'},script:{sub:'<svg viewbox="0 0 18 18"><path class="ql-fill" d="M15.5,15H13.861a3.858,3.858,0,0,0,1.914-2.975,1.8,1.8,0,0,0-1.6-1.751A1.921,1.921,0,0,0,12.021,11.7a0.50013,0.50013,0,1,0,.957.291h0a0.914,0.914,0,0,1,1.053-.725,0.81,0.81,0,0,1,.744.762c0,1.076-1.16971,1.86982-1.93971,2.43082A1.45639,1.45639,0,0,0,12,15.5a0.5,0.5,0,0,0,.5.5h3A0.5,0.5,0,0,0,15.5,15Z"/><path class="ql-fill" d="M9.65,5.241a1,1,0,0,0-1.409.108L6,7.964,3.759,5.349A1,1,0,0,0,2.192,6.59178Q2.21541,6.6213,2.241,6.649L4.684,9.5,2.241,12.35A1,1,0,0,0,3.71,13.70722q0.02557-.02768.049-0.05722L6,11.036,8.241,13.65a1,1,0,1,0,1.567-1.24277Q9.78459,12.3777,9.759,12.35L7.316,9.5,9.759,6.651A1,1,0,0,0,9.65,5.241Z"/></svg>',super:'<svg viewbox="0 0 18 18"><path class="ql-fill" d="M15.5,7H13.861a4.015,4.015,0,0,0,1.914-2.975,1.8,1.8,0,0,0-1.6-1.751A1.922,1.922,0,0,0,12.021,3.7a0.5,0.5,0,1,0,.957.291,0.917,0.917,0,0,1,1.053-.725,0.81,0.81,0,0,1,.744.762c0,1.077-1.164,1.925-1.934,2.486A1.423,1.423,0,0,0,12,7.5a0.5,0.5,0,0,0,.5.5h3A0.5,0.5,0,0,0,15.5,7Z"/><path class="ql-fill" d="M9.651,5.241a1,1,0,0,0-1.41.108L6,7.964,3.759,5.349a1,1,0,1,0-1.519,1.3L4.683,9.5,2.241,12.35a1,1,0,1,0,1.519,1.3L6,11.036,8.241,13.65a1,1,0,0,0,1.519-1.3L7.317,9.5,9.759,6.651A1,1,0,0,0,9.651,5.241Z"/></svg>'},strike:'<svg viewbox="0 0 18 18"><line class="ql-stroke ql-thin" x1="15.5" x2="2.5" y1="8.5" y2="9.5"/><path class="ql-fill" d="M9.007,8C6.542,7.791,6,7.519,6,6.5,6,5.792,7.283,5,9,5c1.571,0,2.765.679,2.969,1.309a1,1,0,0,0,1.9-.617C13.356,4.106,11.354,3,9,3,6.2,3,4,4.538,4,6.5a3.2,3.2,0,0,0,.5,1.843Z"/><path class="ql-fill" d="M8.984,10C11.457,10.208,12,10.479,12,11.5c0,0.708-1.283,1.5-3,1.5-1.571,0-2.765-.679-2.969-1.309a1,1,0,1,0-1.9.617C4.644,13.894,6.646,15,9,15c2.8,0,5-1.538,5-3.5a3.2,3.2,0,0,0-.5-1.843Z"/></svg>',table:'<svg viewbox="0 0 18 18"><rect class="ql-stroke" height="12" width="12" x="3" y="3"/><rect class="ql-fill" height="2" width="3" x="5" y="5"/><rect class="ql-fill" height="2" width="4" x="9" y="5"/><g class="ql-fill ql-transparent"><rect height="2" width="3" x="5" y="8"/><rect height="2" width="4" x="9" y="8"/><rect height="2" width="3" x="5" y="11"/><rect height="2" width="4" x="9" y="11"/></g></svg>',underline:'<svg viewbox="0 0 18 18"><path class="ql-stroke" d="M5,3V9a4.012,4.012,0,0,0,4,4H9a4.012,4.012,0,0,0,4-4V3"/><rect class="ql-fill" height="1" rx="0.5" ry="0.5" width="12" x="3" y="15"/></svg>',video:'<svg viewbox="0 0 18 18"><rect class="ql-stroke" height="12" width="12" x="3" y="3"/><rect class="ql-fill" height="12" width="1" x="5" y="3"/><rect class="ql-fill" height="12" width="1" x="12" y="3"/><rect class="ql-fill" height="2" width="8" x="5" y="8"/><rect class="ql-fill" height="1" width="3" x="3" y="5"/><rect class="ql-fill" height="1" width="3" x="3" y="7"/><rect class="ql-fill" height="1" width="3" x="3" y="10"/><rect class="ql-fill" height="1" width="3" x="3" y="12"/><rect class="ql-fill" height="1" width="3" x="12" y="5"/><rect class="ql-fill" height="1" width="3" x="12" y="7"/><rect class="ql-fill" height="1" width="3" x="12" y="10"/><rect class="ql-fill" height="1" width="3" x="12" y="12"/></svg>'};let ut=0;function ht(t,e){t.setAttribute(e,`${!("true"===t.getAttribute(e))}`)}var dt=class{constructor(t){this.select=t,this.container=document.createElement("span"),this.buildPicker(),this.select.style.display="none",this.select.parentNode.insertBefore(this.container,this.select),this.label.addEventListener("mousedown",(()=>{this.togglePicker()})),this.label.addEventListener("keydown",(t=>{switch(t.key){case"Enter":this.togglePicker();break;case"Escape":this.escape(),t.preventDefault()}})),this.select.addEventListener("change",this.update.bind(this))}togglePicker(){this.container.classList.toggle("ql-expanded"),ht(this.label,"aria-expanded"),ht(this.options,"aria-hidden")}buildItem(t){const e=document.createElement("span");e.tabIndex="0",e.setAttribute("role","button"),e.classList.add("ql-picker-item");const n=t.getAttribute("value");return n&&e.setAttribute("data-value",n),t.textContent&&e.setAttribute("data-label",t.textContent),e.addEventListener("click",(()=>{this.selectItem(e,!0)})),e.addEventListener("keydown",(t=>{switch(t.key){case"Enter":this.selectItem(e,!0),t.preventDefault();break;case"Escape":this.escape(),t.preventDefault()}})),e}buildLabel(){const t=document.createElement("span");return t.classList.add("ql-picker-label"),t.innerHTML='<svg viewbox="0 0 18 18"><polygon class="ql-stroke" points="7 11 9 13 11 11 7 11"/><polygon class="ql-stroke" points="7 7 9 5 11 7 7 7"/></svg>',t.tabIndex="0",t.setAttribute("role","button"),t.setAttribute("aria-expanded","false"),this.container.appendChild(t),t}buildOptions(){const t=document.createElement("span");t.classList.add("ql-picker-options"),t.setAttribute("aria-hidden","true"),t.tabIndex="-1",t.id=`ql-picker-options-${ut}`,ut+=1,this.label.setAttribute("aria-controls",t.id),this.options=t,Array.from(this.select.options).forEach((e=>{const n=this.buildItem(e);t.appendChild(n),!0===e.selected&&this.selectItem(n)})),this.container.appendChild(t)}buildPicker(){Array.from(this.select.attributes).forEach((t=>{this.container.setAttribute(t.name,t.value)})),this.container.classList.add("ql-picker"),this.label=this.buildLabel(),this.buildOptions()}escape(){this.close(),setTimeout((()=>this.label.focus()),1)}close(){this.container.classList.remove("ql-expanded"),this.label.setAttribute("aria-expanded","false"),this.options.setAttribute("aria-hidden","true")}selectItem(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const n=this.container.querySelector(".ql-selected");t!==n&&(null!=n&&n.classList.remove("ql-selected"),null!=t&&(t.classList.add("ql-selected"),this.select.selectedIndex=Array.from(t.parentNode.children).indexOf(t),t.hasAttribute("data-value")?this.label.setAttribute("data-value",t.getAttribute("data-value")):this.label.removeAttribute("data-value"),t.hasAttribute("data-label")?this.label.setAttribute("data-label",t.getAttribute("data-label")):this.label.removeAttribute("data-label"),e&&(this.select.dispatchEvent(new Event("change")),this.close())))}update(){let t;if(this.select.selectedIndex>-1){const e=this.container.querySelector(".ql-picker-options").children[this.select.selectedIndex];t=this.select.options[this.select.selectedIndex],this.selectItem(e)}else this.selectItem(null);const e=null!=t&&t!==this.select.querySelector("option[selected]");this.label.classList.toggle("ql-active",e)}},ft=class extends dt{constructor(t,e){super(t),this.label.innerHTML=e,this.container.classList.add("ql-color-picker"),Array.from(this.container.querySelectorAll(".ql-picker-item")).slice(0,7).forEach((t=>{t.classList.add("ql-primary")}))}buildItem(t){const e=super.buildItem(t);return e.style.backgroundColor=t.getAttribute("value")||"",e}selectItem(t,e){super.selectItem(t,e);const n=this.label.querySelector(".ql-color-label"),r=t&&t.getAttribute("data-value")||"";n&&("line"===n.tagName?n.style.stroke=r:n.style.fill=r)}},pt=class extends dt{constructor(t,e){super(t),this.container.classList.add("ql-icon-picker"),Array.from(this.container.querySelectorAll(".ql-picker-item")).forEach((t=>{t.innerHTML=e[t.getAttribute("data-value")||""]})),this.defaultItem=this.container.querySelector(".ql-selected"),this.selectItem(this.defaultItem)}selectItem(t,e){super.selectItem(t,e);const n=t||this.defaultItem;if(null!=n){if(this.label.innerHTML===n.innerHTML)return;this.label.innerHTML=n.innerHTML}}},gt=class{constructor(t,e){this.quill=t,this.boundsContainer=e||document.body,this.root=t.addContainer("ql-tooltip"),this.root.innerHTML=this.constructor.TEMPLATE,(t=>{const{overflowY:e}=getComputedStyle(t,null);return"visible"!==e&&"clip"!==e})(this.quill.root)&&this.quill.root.addEventListener("scroll",(()=>{this.root.style.marginTop=-1*this.quill.root.scrollTop+"px"})),this.hide()}hide(){this.root.classList.add("ql-hidden")}position(t){const e=t.left+t.width/2-this.root.offsetWidth/2,n=t.bottom+this.quill.root.scrollTop;this.root.style.left=`${e}px`,this.root.style.top=`${n}px`,this.root.classList.remove("ql-flip");const r=this.boundsContainer.getBoundingClientRect(),i=this.root.getBoundingClientRect();let s=0;if(i.right>r.right&&(s=r.right-i.right,this.root.style.left=`${e+s}px`),i.left<r.left&&(s=r.left-i.left,this.root.style.left=`${e+s}px`),i.bottom>r.bottom){const e=i.bottom-i.top,r=t.bottom-t.top+e;this.root.style.top=n-r+"px",this.root.classList.add("ql-flip")}return s}show(){this.root.classList.remove("ql-editing"),this.root.classList.remove("ql-hidden")}},mt=n(8347),bt=n(5374),yt=n(9609);const vt=[!1,"center","right","justify"],At=["#000000","#e60000","#ff9900","#ffff00","#008a00","#0066cc","#9933ff","#ffffff","#facccc","#ffebcc","#ffffcc","#cce8cc","#cce0f5","#ebd6ff","#bbbbbb","#f06666","#ffc266","#ffff66","#66b966","#66a3e0","#c285ff","#888888","#a10000","#b26b00","#b2b200","#006100","#0047b2","#6b24b2","#444444","#5c0000","#663d00","#666600","#003700","#002966","#3d1466"],xt=[!1,"serif","monospace"],Nt=["1","2","3",!1],Et=["small",!1,"large","huge"];class wt extends yt.A{constructor(t,e){super(t,e);const n=e=>{document.body.contains(t.root)?(null==this.tooltip||this.tooltip.root.contains(e.target)||document.activeElement===this.tooltip.textbox||this.quill.hasFocus()||this.tooltip.hide(),null!=this.pickers&&this.pickers.forEach((t=>{t.container.contains(e.target)||t.close()}))):document.body.removeEventListener("click",n)};t.emitter.listenDOM("click",document.body,n)}addModule(t){const e=super.addModule(t);return"toolbar"===t&&this.extendToolbar(e),e}buildButtons(t,e){Array.from(t).forEach((t=>{(t.getAttribute("class")||"").split(/\s+/).forEach((n=>{if(n.startsWith("ql-")&&(n=n.slice(3),null!=e[n]))if("direction"===n)t.innerHTML=e[n][""]+e[n].rtl;else if("string"==typeof e[n])t.innerHTML=e[n];else{const r=t.value||"";null!=r&&e[n][r]&&(t.innerHTML=e[n][r])}}))}))}buildPickers(t,e){this.pickers=Array.from(t).map((t=>{if(t.classList.contains("ql-align")&&(null==t.querySelector("option")&&kt(t,vt),"object"==typeof e.align))return new pt(t,e.align);if(t.classList.contains("ql-background")||t.classList.contains("ql-color")){const n=t.classList.contains("ql-background")?"background":"color";return null==t.querySelector("option")&&kt(t,At,"background"===n?"#ffffff":"#000000"),new ft(t,e[n])}return null==t.querySelector("option")&&(t.classList.contains("ql-font")?kt(t,xt):t.classList.contains("ql-header")?kt(t,Nt):t.classList.contains("ql-size")&&kt(t,Et)),new dt(t)})),this.quill.on(bt.A.events.EDITOR_CHANGE,(()=>{this.pickers.forEach((t=>{t.update()}))}))}}wt.DEFAULTS=(0,mt.A)({},yt.A.DEFAULTS,{modules:{toolbar:{handlers:{formula(){this.quill.theme.tooltip.edit("formula")},image(){let t=this.container.querySelector("input.ql-image[type=file]");null==t&&(t=document.createElement("input"),t.setAttribute("type","file"),t.setAttribute("accept",this.quill.uploader.options.mimetypes.join(", ")),t.classList.add("ql-image"),t.addEventListener("change",(()=>{const e=this.quill.getSelection(!0);this.quill.uploader.upload(e,t.files),t.value=""})),this.container.appendChild(t)),t.click()},video(){this.quill.theme.tooltip.edit("video")}}}}});class qt extends gt{constructor(t,e){super(t,e),this.textbox=this.root.querySelector('input[type="text"]'),this.listen()}listen(){this.textbox.addEventListener("keydown",(t=>{"Enter"===t.key?(this.save(),t.preventDefault()):"Escape"===t.key&&(this.cancel(),t.preventDefault())}))}cancel(){this.hide(),this.restoreFocus()}edit(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"link",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(this.root.classList.remove("ql-hidden"),this.root.classList.add("ql-editing"),null==this.textbox)return;null!=e?this.textbox.value=e:t!==this.root.getAttribute("data-mode")&&(this.textbox.value="");const n=this.quill.getBounds(this.quill.selection.savedRange);null!=n&&this.position(n),this.textbox.select(),this.textbox.setAttribute("placeholder",this.textbox.getAttribute(`data-${t}`)||""),this.root.setAttribute("data-mode",t)}restoreFocus(){this.quill.focus({preventScroll:!0})}save(){let{value:t}=this.textbox;switch(this.root.getAttribute("data-mode")){case"link":{const{scrollTop:e}=this.quill.root;this.linkRange?(this.quill.formatText(this.linkRange,"link",t,bt.A.sources.USER),delete this.linkRange):(this.restoreFocus(),this.quill.format("link",t,bt.A.sources.USER)),this.quill.root.scrollTop=e;break}case"video":t=function(t){let e=t.match(/^(?:(https?):\/\/)?(?:(?:www|m)\.)?youtube\.com\/watch.*v=([a-zA-Z0-9_-]+)/)||t.match(/^(?:(https?):\/\/)?(?:(?:www|m)\.)?youtu\.be\/([a-zA-Z0-9_-]+)/);return e?`${e[1]||"https"}://www.youtube.com/embed/${e[2]}?showinfo=0`:(e=t.match(/^(?:(https?):\/\/)?(?:www\.)?vimeo\.com\/(\d+)/))?`${e[1]||"https"}://player.vimeo.com/video/${e[2]}/`:t}(t);case"formula":{if(!t)break;const e=this.quill.getSelection(!0);if(null!=e){const n=e.index+e.length;this.quill.insertEmbed(n,this.root.getAttribute("data-mode"),t,bt.A.sources.USER),"formula"===this.root.getAttribute("data-mode")&&this.quill.insertText(n+1," ",bt.A.sources.USER),this.quill.setSelection(n+2,bt.A.sources.USER)}break}}this.textbox.value="",this.hide()}}function kt(t,e){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];e.forEach((e=>{const r=document.createElement("option");e===n?r.setAttribute("selected","selected"):r.setAttribute("value",String(e)),t.appendChild(r)}))}var _t=n(8298);const Lt=[["bold","italic","link"],[{header:1},{header:2},"blockquote"]];class St extends qt{static TEMPLATE=['<span class="ql-tooltip-arrow"></span>','<div class="ql-tooltip-editor">','<input type="text" data-formula="e=mc^2" data-link="https://quilljs.com" data-video="Embed URL">','<a class="ql-close"></a>',"</div>"].join("");constructor(t,e){super(t,e),this.quill.on(bt.A.events.EDITOR_CHANGE,((t,e,n,r)=>{if(t===bt.A.events.SELECTION_CHANGE)if(null!=e&&e.length>0&&r===bt.A.sources.USER){this.show(),this.root.style.left="0px",this.root.style.width="",this.root.style.width=`${this.root.offsetWidth}px`;const t=this.quill.getLines(e.index,e.length);if(1===t.length){const t=this.quill.getBounds(e);null!=t&&this.position(t)}else{const n=t[t.length-1],r=this.quill.getIndex(n),i=Math.min(n.length()-1,e.index+e.length-r),s=this.quill.getBounds(new _t.Q(r,i));null!=s&&this.position(s)}}else document.activeElement!==this.textbox&&this.quill.hasFocus()&&this.hide()}))}listen(){super.listen(),this.root.querySelector(".ql-close").addEventListener("click",(()=>{this.root.classList.remove("ql-editing")})),this.quill.on(bt.A.events.SCROLL_OPTIMIZE,(()=>{setTimeout((()=>{if(this.root.classList.contains("ql-hidden"))return;const t=this.quill.getSelection();if(null!=t){const e=this.quill.getBounds(t);null!=e&&this.position(e)}}),1)}))}cancel(){this.show()}position(t){const e=super.position(t),n=this.root.querySelector(".ql-tooltip-arrow");return n.style.marginLeft="",0!==e&&(n.style.marginLeft=-1*e-n.offsetWidth/2+"px"),e}}class Ot extends wt{constructor(t,e){null!=e.modules.toolbar&&null==e.modules.toolbar.container&&(e.modules.toolbar.container=Lt),super(t,e),this.quill.container.classList.add("ql-bubble")}extendToolbar(t){this.tooltip=new St(this.quill,this.options.bounds),null!=t.container&&(this.tooltip.root.appendChild(t.container),this.buildButtons(t.container.querySelectorAll("button"),ct),this.buildPickers(t.container.querySelectorAll("select"),ct))}}Ot.DEFAULTS=(0,mt.A)({},wt.DEFAULTS,{modules:{toolbar:{handlers:{link(t){t?this.quill.theme.tooltip.edit():this.quill.format("link",!1,p.Ay.sources.USER)}}}}});const Tt=[[{header:["1","2","3",!1]}],["bold","italic","underline","link"],[{list:"ordered"},{list:"bullet"}],["clean"]];class jt extends qt{static TEMPLATE=['<a class="ql-preview" rel="noopener noreferrer" target="_blank" href="about:blank"></a>','<input type="text" data-formula="e=mc^2" data-link="https://quilljs.com" data-video="Embed URL">','<a class="ql-action"></a>','<a class="ql-remove"></a>'].join("");preview=this.root.querySelector("a.ql-preview");listen(){super.listen(),this.root.querySelector("a.ql-action").addEventListener("click",(t=>{this.root.classList.contains("ql-editing")?this.save():this.edit("link",this.preview.textContent),t.preventDefault()})),this.root.querySelector("a.ql-remove").addEventListener("click",(t=>{if(null!=this.linkRange){const t=this.linkRange;this.restoreFocus(),this.quill.formatText(t,"link",!1,bt.A.sources.USER),delete this.linkRange}t.preventDefault(),this.hide()})),this.quill.on(bt.A.events.SELECTION_CHANGE,((t,e,n)=>{if(null!=t){if(0===t.length&&n===bt.A.sources.USER){const[e,n]=this.quill.scroll.descendant(w,t.index);if(null!=e){this.linkRange=new _t.Q(t.index-n,e.length());const r=w.formats(e.domNode);this.preview.textContent=r,this.preview.setAttribute("href",r),this.show();const i=this.quill.getBounds(this.linkRange);return void(null!=i&&this.position(i))}}else delete this.linkRange;this.hide()}}))}show(){super.show(),this.root.removeAttribute("data-mode")}}class Ct extends wt{constructor(t,e){null!=e.modules.toolbar&&null==e.modules.toolbar.container&&(e.modules.toolbar.container=Tt),super(t,e),this.quill.container.classList.add("ql-snow")}extendToolbar(t){null!=t.container&&(t.container.classList.add("ql-snow"),this.buildButtons(t.container.querySelectorAll("button"),ct),this.buildPickers(t.container.querySelectorAll("select"),ct),this.tooltip=new jt(this.quill,this.options.bounds),t.container.querySelector(".ql-link")&&this.quill.keyboard.addBinding({key:"k",shortKey:!0},((e,n)=>{t.handlers.link.call(t,!n.format.link)})))}}Ct.DEFAULTS=(0,mt.A)({},wt.DEFAULTS,{modules:{toolbar:{handlers:{link(t){if(t){const t=this.quill.getSelection();if(null==t||0===t.length)return;let e=this.quill.getText(t);/^\S+@\S+\.\S+$/.test(e)&&0!==e.indexOf("mailto:")&&(e=`mailto:${e}`);const{tooltip:n}=this.quill.theme;n.edit("link",e)}else this.quill.format("link",!1,p.Ay.sources.USER)}}}}});var Rt=Ct;t.default.register({"attributors/attribute/direction":i.Mc,"attributors/class/align":e.qh,"attributors/class/background":b.l,"attributors/class/color":y.g3,"attributors/class/direction":i.sY,"attributors/class/font":v.q,"attributors/class/size":A.U,"attributors/style/align":e.Hu,"attributors/style/background":b.s,"attributors/style/color":y.JM,"attributors/style/direction":i.VL,"attributors/style/font":v.z,"attributors/style/size":A.r},!0),t.default.register({"formats/align":e.qh,"formats/direction":i.sY,"formats/indent":l,"formats/background":b.s,"formats/color":y.JM,"formats/font":v.q,"formats/size":A.U,"formats/blockquote":u,"formats/code-block":D.Ay,"formats/header":d,"formats/list":m,"formats/bold":E,"formats/code":D.Cy,"formats/italic":class extends E{static blotName="italic";static tagName=["EM","I"]},"formats/link":w,"formats/script":_,"formats/strike":class extends E{static blotName="strike";static tagName=["S","STRIKE"]},"formats/underline":S,"formats/formula":j,"formats/image":I,"formats/video":U,"modules/syntax":Q,"modules/table":it,"modules/toolbar":ot,"themes/bubble":Ot,"themes/snow":Rt,"ui/icons":ct,"ui/picker":dt,"ui/icon-picker":pt,"ui/color-picker":ft,"ui/tooltip":gt},!0);var It=t.default}(),r.default}()}));
46326//# sourceMappingURL=quill.js.map
46326
46327/*
46328Tagify v4.35.3 - tags input component
46329By: Yair Even-Or <[email protected]>
46330https://github.com/yairEO/tagify
46331
46332Permission is hereby granted, free of charge, to any person obtaining a copy
46333of this software and associated documentation files (the "Software"), to deal
46334in the Software without restriction, including without limitation the rights
46335to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
46336copies of the Software, and to permit persons to whom the Software is
46337furnished to do so, subject to the following conditions:
46338
46339The above copyright notice and this permission notice shall be included in
46340all copies or substantial portions of the Software.
46341
46342THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
46343IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
46344FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
46345AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
46346LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
46347OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
46348THE SOFTWARE.
46349
46350This Software may not be rebranded and sold as a library under any other name
46351other than "Tagify" (by owner) or as part of another library.
46352*/
46353
46354!function(t){"function"==typeof define&&define.amd?define(t):t()}((function(){"use strict";function t(t,e){e=e||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),n}function e(t,e){return null!=e&&"undefined"!=typeof Symbol&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](t):t instanceof e}var n;"".trim||(String.prototype.trim=function(){return this.replace(/^[\s]+|[\s]+$/g,"")}),window.NodeList&&!NodeList.prototype.forEach&&(NodeList.prototype.forEach=Array.prototype.forEach),Array.prototype.findIndex||Object.defineProperty(Array.prototype,"findIndex",{value:function(t){if(null==this)throw new TypeError('"this" is null or not defined');var e=Object(this),n=e.length>>>0;if("function"!=typeof t)throw new TypeError("predicate must be a function");for(var o=arguments[1],r=0;r<n;){var i=e[r];if(t.call(o,i,r,e))return r;r++}return-1},configurable:!0,writable:!0}),Array.prototype.includes||(Array.prototype.includes=function(t){return!!~this.indexOf(t)}),Array.prototype.some||(Array.prototype.some=function(t,e){if(null==this)throw new TypeError("Array.prototype.some called on null or undefined");if("function"!=typeof t)throw new TypeError;for(var n=Object(this),o=n.length>>>0,r=0;r<o;r++)if(r in n&&t.call(e,n[r],r,n))return!0;return!1}),String.prototype.includes||(String.prototype.includes=function(t,e){return"number"!=typeof e&&(e=0),!(e+t.length>this.length)&&-1!==this.indexOf(t,e)}),"function"!=typeof Object.assign&&Object.defineProperty(Object,"assign",{value:function(t,e){if(null==t)throw new TypeError("Cannot convert undefined or null to object");for(var n=Object(t),o=1;o<arguments.length;o++){var r=arguments[o];if(null!=r)for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[i]=r[i])}return n},writable:!0,configurable:!0}),t.prototype=window.Event.prototype,"function"!=typeof window.CustomEvent&&(window.CustomEvent=t),Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),Element.prototype.closest||(Element.prototype.closest=function(t){var e=this;if(!document.documentElement.contains(e))return null;do{if(e.matches(t))return e;e=e.parentElement||e.parentNode}while(null!==e&&1===e.nodeType);return null}),document.execCommand("AutoUrlDetect",!1,!1),/*! @source http://purl.eligrey.com/github/classList.js/blob/master/classList.js */"document"in self&&((!("classList"in document.createElement("_"))||document.createElementNS&&!("classList"in document.createElementNS("http://www.w3.org/2000/svg","g")))&&function(t){if("Element"in t){var e="classList",n="prototype",o=t.Element[n],r=Object,i=String[n].trim||function(){return this.replace(/^\s+|\s+$/g,"")},c=Array[n].indexOf||function(t){for(var e=0,n=this.length;e<n;e++)if(e in this&&this[e]===t)return e;return-1}
46354,s=function(t,e){this.name=t,this.code=DOMException[t],this.message=e},l=function(t,e){if(""===e)throw new s("SYNTAX_ERR","The token must not be empty.");if(/\s/.test(e))throw new s("INVALID_CHARACTER_ERR","The token must not contain space characters.");return c.call(t,e)},u=function(t){for(var e=i.call(t.getAttribute("class")||""),n=e?e.split(/\s+/):[],o=0,r=n.length;o<r;o++)this.push(n[o]);this._updateClassName=function(){t.setAttribute("class",this.toString())}},a=u[n]=[],f=function(){return new u(this)};if(s[n]=Error[n],a.item=function(t){return this[t]||null},a.contains=function(t){return~l(this,t+"")},a.add=function(){var t,e=arguments,n=0,o=e.length,r=!1;do{~l(this,t=e[n]+"")||(this.push(t),r=!0)}while(++n<o);r&&this._updateClassName()},a.remove=function(){var t,e,n=arguments,o=0,r=n.length,i=!1;do{for(e=l(this,t=n[o]+"");~e;)this.splice(e,1),i=!0,e=l(this,t)}while(++o<r);i&&this._updateClassName()},a.toggle=function(t,e){var n=this.contains(t),o=n?!0!==e&&"remove":!1!==e&&"add";return o&&this[o](t),!0===e||!1===e?e:!n},a.replace=function(t,e){var n=l(t+"");~n&&(this.splice(n,1,e),this._updateClassName())},a.toString=function(){return this.join(" ")},r.defineProperty){var p={get:f,enumerable:!0,configurable:!0};try{r.defineProperty(o,e,p)}catch(t){void 0!==t.number&&-2146823252!==t.number||(p.enumerable=!1,r.defineProperty(o,e,p))}}else r[n].__defineGetter__&&o.__defineGetter__(e,f)}}(self),function(){var t=document.createElement("_");if(t.classList.add("c1","c2"),!t.classList.contains("c2")){var e=function(t){var e=DOMTokenList.prototype[t];DOMTokenList.prototype[t]=function(t){var n,o=arguments.length;for(n=0;n<o;n++)t=arguments[n],e.call(this,t)}};e("add"),e("remove")}if(t.classList.toggle("c3",!1),t.classList.contains("c3")){var n=DOMTokenList.prototype.toggle;DOMTokenList.prototype.toggle=function(t,e){return 1 in arguments&&!this.contains(t)==!e?e:n.call(this,t)}}"replace"in document.createElement("_").classList||(DOMTokenList.prototype.replace=function(t,e){var n=this.toString().split(" "),o=n.indexOf(t+"");~o&&(n=n.slice(o),this.remove.apply(this,n),this.add(e),this.add.apply(this,n.slice(1)))}),t=null}()),globalThis,n=function(){function t(t){var e=this.constructor;return this.then((function(n){return e.resolve(t()).then((function(){return n}))}),(function(n){return e.resolve(t()).then((function(){return e.reject(n)}))}))}function n(t){return new this((function(e,n){if(!t||void 0===t.length)return n(new TypeError((void 0===t?"undefined":(o=t)&&"undefined"!=typeof Symbol&&o.constructor===Symbol?"symbol":typeof o)+" "+t+" is not iterable(cannot read property Symbol(Symbol.iterator))"));var o,r=Array.prototype.slice.call(t);if(0===r.length)return e([]);var i=r.length;function c(t,n){if(n&&("object"==typeof n||"function"==typeof n)){var o=n.then;if("function"==typeof o)return void o.call(n,(function(e){c(t,e)}),(function(n){r[t]={status:"rejected",reason:n},0==--i&&e(r)}))}r[t]={status:"fulfilled",value:n},0==--i&&e(r)}for(var s=0;s<r.length;s++)c(s,r[s])}))}var o=setTimeout;function r(t){return Boolean(t&&void 0!==t.length)}function i(){}function c(t){if(!e(this,c))throw new TypeError("Promises must be constructed via new");if("function"!=typeof t)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],p(t,this)}function s(t,e){for(;3===t._state;)t=t._value;0!==t._state?(t._handled=!0,c._immediateFn((function(){var n=1===t._state?e.onFulfilled:e.onRejected;if(null!==n){var o;try{o=n(t._value)}catch(t){return void u(e.promise,t)}l(e.promise,o)}else(1===t._state?l:u)(e.promise,t._value)}))):t._deferreds.push(e)}function l(t,n){try{if(n===t)throw new TypeError("A promise cannot be resolved with itself.");if(n&&("object"==typeof n||"function"==typeof n)){var o=n.then;if(e(n,c))return t._state=3,t._value=n,void a(t);if("function"==typeof o)return void p((r=o,i=n,function(){r.apply(i,arguments)}),t)}t._state=1,t._value=n,a(t)}catch(e){u(t,e)}var r,i}function u(t,e){t._state=2,t._value=e,a(t)}function a(t){2===t._state&&0===t._deferreds.length&&c._immediateFn((function(){t._handled||c._unhandledRejectionFn(t._value)}));for(var e=0,n=t._deferreds.length;e<n;e++)s(t,t._deferreds[e]);t._deferreds=null}function f(t,e,n){this.onFulfilled="function"==typeof t?t:null,this.onRejected="function"==typeof e?e:null,this.promise=n}function p(t,e){var n=!1;try{t((function(t){n||(n=!0,l(e,t))}),(function(t){n||(n=!0,u(e,t))}))}catch(t){if(n)return;n=!0,u(e,t)}}c.prototype.catch=function(t){return this.then(null,t)},c.prototype.then=function(t,e){var n=new this.constructor(i);return s(this,new f(t,e,n)),n},c.prototype.finally=t,c.all=function(t){return new c((function(e,n){if(!r(t))return n(new TypeError("Promise.all accepts an array"));var o=Array.prototype.slice.call(t);if(0===o.length)return e([]);var i=o.length;function c(t,r){try{if(r&&("object"==typeof r||"function"==typeof r)){var s=r.then;if("function"==typeof s)return void s.call(r,(function(e){c(t,e)}),n)}o[t]=r,0==--i&&e(o)}catch(t){n(t)}}for(var s=0;s<o.length;s++)c(s,o[s])}))},c.allSettled=n,c.resolve=function(t){return t&&"object"==typeof t&&t.constructor===c?t:new c((function(e){e(t)}))}
46354,c.reject=function(t){return new c((function(e,n){n(t)}))},c.race=function(t){return new c((function(e,n){if(!r(t))return n(new TypeError("Promise.race accepts an array"));for(var o=0,i=t.length;o<i;o++)c.resolve(t[o]).then(e,n)}))},c._immediateFn="function"==typeof setImmediate&&function(t){setImmediate(t)}||function(t){o(t,0)},c._unhandledRejectionFn=function(t){"undefined"!=typeof console&&console&&console.warn("Possible Unhandled Promise Rejection:",t)};var d=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw new Error("unable to locate global object")}();"function"!=typeof d.Promise?d.Promise=c:d.Promise.prototype.finally?d.Promise.allSettled||(d.Promise.allSettled=n):d.Promise.prototype.finally=t},"object"==typeof exports&&"undefined"!=typeof module?n():"function"==typeof define&&define.amd?define(n):n()}));
46355//# sourceMappingURL=tagify.polyfills.min.js.map
46356
46357/*
46358Tagify v4.35.3 - tags input component
46359By: Yair Even-Or <[email protected]>
46360https://github.com/yairEO/tagify
46361
46362Permission is hereby granted, free of charge, to any person obtaining a copy
46363of this software and associated documentation files (the "Software"), to deal
46364in the Software without restriction, including without limitation the rights
46365to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
46366copies of the Software, and to permit persons to whom the Software is
46367furnished to do so, subject to the following conditions:
46368
46369The above copyright notice and this permission notice shall be included in
46370all copies or substantial portions of the Software.
46371
46372THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
46373IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
46374FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
46375AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
46376LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
46377OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
46378THE SOFTWARE.
46379
46380This Software may not be rebranded and sold as a library under any other name
46381other than "Tagify" (by owner) or as part of another library.
46382*/
46383
46384!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Tagify=e()}(this,(function(){"use strict";var t="&#8203;";function e(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function i(t){return function(t){if(Array.isArray(t))return e(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,i){if(!t)return;if("string"==typeof t)return e(t,i);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return e(t,i)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var n={isEnabled:function(){var t;return null===(t=window.TAGIFY_DEBUG)||void 0===t||t},log:function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];var s;this.isEnabled()&&(s=console).log.apply(s,["[Tagify]:"].concat(i(e)))},warn:function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];var s;this.isEnabled()&&(s=console).warn.apply(s,["[Tagify]:"].concat(i(e)))}},s=function(t,e,i,n){return t=""+t,e=""+e,n&&(t=t.trim(),e=e.trim()),i?t==e:t.toLowerCase()==e.toLowerCase()},a=function(t,e){return t&&Array.isArray(t)&&t.map((function(t){return o(t,e)}))};function o(t,e){var i,n={};for(i in t)e.indexOf(i)<0&&(n[i]=t[i]);return n}function r(t){return(new DOMParser).parseFromString(t.trim(),"text/html").body.firstElementChild}function l(t,e){for(e=e||"previous";t=t[e+"Sibling"];)if(3==t.nodeType)return t}function d(t){return"string"==typeof t?t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/`|'/g,"&#039;"):t}function c(t){var e=Object.prototype.toString.call(t).split(" ")[1].slice(0,-1);return t===Object(t)&&"Array"!=e&&"Function"!=e&&"RegExp"!=e&&"HTMLUnknownElement"!=e}function u(t,e,i){var n,s;function a(t,e){for(var i in e)if(e.hasOwnProperty(i)){if(c(e[i])){c(t[i])?a(t[i],e[i]):t[i]=Object.assign({},e[i]);continue}if(Array.isArray(e[i])){t[i]=Object.assign([],e[i]);continue}t[i]=e[i]}}return n=t,(null!=(s=Object)&&"undefined"!=typeof Symbol&&s[Symbol.hasInstance]?s[Symbol.hasInstance](n):n instanceof s)||(t={}),a(t,e),i&&a(t,i),t}function g(){var t=[],e={},i=!0,n=!1,s=void 0;try{for(var a,o=arguments[Symbol.iterator]();!(i=(a=o.next()).done);i=!0){var r=a.value,l=!0,d=!1,u=void 0;try{for(var g,h=r[Symbol.iterator]();!(l=(g=h.next()).done);l=!0){var p=g.value;
46384c(p)?e[p.value]||(t.push(p),e[p.value]=1):t.includes(p)||t.push(p)}}catch(t){d=!0,u=t}finally{try{l||null==h.return||h.return()}finally{if(d)throw u}}}}catch(t){n=!0,s=t}finally{try{i||null==o.return||o.return()}finally{if(n)throw s}}return t}function h(t){return String.prototype.normalize?"string"==typeof t?t.normalize("NFD").replace(/[\u0300-\u036f]/g,""):void 0:t}var p=function(){return/(?=.*chrome)(?=.*android)/i.test(navigator.userAgent)};function f(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(t){return(t^crypto.getRandomValues(new Uint8Array(1))[0]&15>>t/4).toString(16)}))}function m(t){var e,i=b.call(this,t),n=null==t||null===(e=t.classList)||void 0===e?void 0:e.contains(this.settings.classNames.tag);return i&&n}function v(t){return b.call(this,t)&&(null==t?void 0:t.closest(this.settings.classNames.tagSelector))}function b(t){var e;return(null==t||null===(e=t.closest)||void 0===e?void 0:e.call(t,this.settings.classNames.namespaceSelector))===this.DOM.scope}function w(t,e){var i=window.getSelection();return e=e||i.getRangeAt(0),"string"==typeof t&&(t=document.createTextNode(t)),e&&(e.deleteContents(),e.insertNode(t)),t}function y(t,e,i){return t?(e&&(t.__tagifyTagData=i?e:u({},t.__tagifyTagData||{},e)),t.__tagifyTagData):(n.warn("tag element doesn't exist",{tagElm:t,data:e}),e)}function T(t){if(t&&t.parentNode){var e=t,i=window.getSelection(),n=i.getRangeAt(0);i.rangeCount&&(n.setStartAfter(e),n.collapse(!0),i.removeAllRanges(),i.addRange(n))}}function O(t,e){t.forEach((function(t){if(y(t.previousSibling)||!t.previousSibling){var i=document.createTextNode("​");t.before(i),e&&T(i)}}))}var D={delimiters:",",pattern:null,tagTextProp:"value",maxTags:1/0,callbacks:{},addTagOnBlur:!0,addTagOn:["blur","tab","enter"],onChangeAfterBlur:!0,duplicates:!1,whitelist:[],blacklist:[],enforceWhitelist:!1,userInput:!0,focusable:!0,focusInputOnRemove:!0,keepInvalidTags:!1,createInvalidTags:!0,mixTagsAllowedAfter:/,|\.|\:|\s/,mixTagsInterpolator:["[[","]]"],backspace:!0,skipInvalid:!1,pasteAsTags:!0,editTags:{clicks:2,keepInvalid:!0},transformTag:function(){},trim:!0,a11y:{focusableTags:!1},mixMode:{insertAfterTag:" "},autoComplete:{enabled:!0,rightKey:!1,tabKey:!1},classNames:{namespace:"tagify",mixMode:"tagify--mix",selectMode:"tagify--select",input:"tagify__input",focus:"tagify--focus",tagNoAnimation:"tagify--noAnim",tagInvalid:"tagify--invalid",tagNotAllowed:"tagify--notAllowed",scopeLoading:"tagify--loading",hasMaxTags:"tagify--hasMaxTags",hasNoTags:"tagify--noTags",empty:"tagify--empty",inputInvalid:"tagify__input--invalid",dropdown:"tagify__dropdown",dropdownWrapper:"tagify__dropdown__wrapper",dropdownHeader:"tagify__dropdown__header",dropdownFooter:"tagify__dropdown__footer",dropdownItem:"tagify__dropdown__item",dropdownItemActive:"tagify__dropdown__item--active",dropdownItemHidden:"tagify__dropdown__item--hidden",dropdownItemSelected:"tagify__dropdown__item--selected",dropdownInital:"tagify__dropdown--initial",tag:"tagify__tag",tagText:"tagify__tag-text",tagX:"tagify__tag__removeBtn",tagLoading:"tagify__tag--loading",tagEditing:"tagify__tag--editable",tagFlash:"tagify__tag--flash",tagHide:"tagify__tag--hide"},dropdown:{classname:"",enabled:2,maxItems:10,searchKeys:["value","searchBy"],fuzzySearch:!0,caseSensitive:!1,accentedSearch:!0,includeSelectedTags:!1,escapeHTML:!0,highlightFirst:!0,closeOnSelect:!0,clearOnSelect:!0,position:"all",appendTarget:null},hooks:{beforeRemoveTag:function(){return Promise.resolve()},beforePaste:function(){return Promise.resolve()},suggestionClick:function(){return Promise.resolve()},beforeKeyDown:function(){return Promise.resolve()}}};function x(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function S(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{},n=Object.keys(i);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(i).filter((function(t){return Object.getOwnPropertyDescriptor(i,t).enumerable})))),n.forEach((function(e){x(t,e,i[e])}))}return t}function I(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}
46384(Object(e)).forEach((function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(e,i))})),t}var M={events:{binding:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=this.dropdown.events.callbacks,i=this.listeners.dropdown=this.listeners.dropdown||{position:this.dropdown.position.bind(this,null),onKeyDown:e.onKeyDown.bind(this),onMouseOver:e.onMouseOver.bind(this),onMouseLeave:e.onMouseLeave.bind(this),onClick:e.onClick.bind(this),onScroll:e.onScroll.bind(this)},n=t?"addEventListener":"removeEventListener";"manual"!=this.settings.dropdown.position&&(document[n]("scroll",i.position,!0),window[n]("resize",i.position),window[n]("keydown",i.onKeyDown)),this.DOM.dropdown[n]("mouseover",i.onMouseOver),this.DOM.dropdown[n]("mouseleave",i.onMouseLeave),this.DOM.dropdown[n]("mousedown",i.onClick),this.DOM.dropdown.content[n]("scroll",i.onScroll)},callbacks:{onKeyDown:function(t){var e=this;if(this.state.hasFocus&&!this.state.composing){var i=this.settings,s=i.dropdown.includeSelectedTags,a=this.DOM.dropdown.querySelector(i.classNames.dropdownItemActiveSelector),o=this.dropdown.getSuggestionDataByNode(a),r="mix"==i.mode,l="select"==i.mode;i.hooks.beforeKeyDown(t,{tagify:this}).then((function(d){switch(t.key){case"ArrowDown":case"ArrowUp":case"Down":case"Up":t.preventDefault();var c=e.dropdown.getAllSuggestionsRefs(),u="ArrowUp"==t.key||"Up"==t.key;a&&(a=e.dropdown.getNextOrPrevOption(a,!u)),a&&a.matches(i.classNames.dropdownItemSelector)||(a=c[u?c.length-1:0]),e.dropdown.highlightOption(a,!0);break;case"PageUp":case"PageDown":var g;t.preventDefault();var h=e.dropdown.getAllSuggestionsRefs(),p=Math.floor(e.DOM.dropdown.content.clientHeight/(null===(g=h[0])||void 0===g?void 0:g.offsetHeight))||1,f="PageUp"===t.key;if(a){var m=h.indexOf(a),v=f?Math.max(0,m-p):Math.min(h.length-1,m+p);a=h[v]}else a=h[0];e.dropdown.highlightOption(a,!0);break;case"Home":case"End":t.preventDefault();var b=e.dropdown.getAllSuggestionsRefs();a=b["Home"===t.key?0:b.length-1],e.dropdown.highlightOption(a,!0);break;case"Escape":case"Esc":e.dropdown.hide();break;case"ArrowRight":if(e.state.actions.ArrowLeft||i.autoComplete.rightKey)return;case"Tab":var w=!i.autoComplete.rightKey||!i.autoComplete.tabKey;if(!r&&!l&&a&&w&&!e.state.editing&&o){t.preventDefault();var y=e.dropdown.getMappedValue(o);return e.state.autoCompleteData=o,e.input.autocomplete.set.call(e,y),!1}return!0;case"Enter":t.preventDefault(),e.state.actions.selectOption=!0,setTimeout((function(){return e.state.actions.selectOption=!1}),100),i.hooks.suggestionClick(t,{tagify:e,tagData:o,suggestionElm:a}).then((function(){if(a){var i=s?a:e.dropdown.getNextOrPrevOption(a,!u);e.dropdown.selectOption(a,t,(function(){if(i){var t=i.getAttribute("value");i=e.dropdown.getSuggestionNodeByValue(t),e.dropdown.highlightOption(i)}}))}else e.dropdown.hide(),r||e.addTags(e.state.inputText.trim(),!0)})).catch((function(t){return n.warn(t)}));break;case"Backspace":if(r||e.state.editing.scope)return;var T=e.input.raw.call(e);""!=T&&8203!=T.charCodeAt(0)||(!0===i.backspace?e.removeTags():"edit"==i.backspace&&setTimeout(e.editTag.bind(e),0))}}))}},onMouseOver:function(t){var e=t.target.closest(this.settings.classNames.dropdownItemSelector);this.dropdown.highlightOption(e)},onMouseLeave:function(t){this.dropdown.highlightOption()},onClick:function(t){var e=this;if(0==t.button&&t.target!=this.DOM.dropdown&&t.target!=this.DOM.dropdown.content){var i=t.target.closest(this.settings.classNames.dropdownItemSelector),s=this.dropdown.getSuggestionDataByNode(i);this.state.actions.selectOption=!0,setTimeout((function(){return e.state.actions.selectOption=!1}),100),this.settings.hooks.suggestionClick(t,{tagify:this,tagData:s,suggestionElm:i}).then((function(){i?e.dropdown.selectOption(i,t):e.dropdown.hide()})).catch((function(t){return n.warn(t)}))}},onScroll:function(t){var e=t.target,i=e.scrollTop/(e.scrollHeight-e.parentNode.clientHeight)*100;this.trigger("dropdown:scroll",{percentage:Math.round(i)})}}},refilter:function(t){t=t||this.state.dropdown.query||"",this.suggestedListItems=this.dropdown.filterListItems(t),this.dropdown.fill(),this.suggestedListItems.length||this.dropdown.hide(),this.trigger("dropdown:updated",this.DOM.dropdown)},getSuggestionDataByNode:function(t){for(var e,i=t&&t.getAttribute("value"),n=this.suggestedListItems.length;n--;){if(c(e=this.suggestedListItems[n])&&e.value==i)return e;if(e==i)return{value:e}}},getSuggestionNodeByValue:function(t){return this.dropdown.getAllSuggestionsRefs().find((function(e){return e.getAttribute("value")===t}))},getNextOrPrevOption:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this.dropdown.getAllSuggestionsRefs(),n=i.findIndex((function(e){return e===t}));return e?i[n+1]:i[n-1]},highlightOption:function(t,e){var i,n=this.settings.classNames.dropdownItemActive;if(this.state.ddItemElm&&(this.state.ddItemElm.classList.remove(n),this.state.ddItemElm.removeAttribute("aria-selected")),!t)return this.state.ddItemData=null,this.state.ddItemElm=null,void this.input.autocomplete.suggest.call(this);i=this.dropdown.getSuggestionDataByNode(t),this.state.ddItemData=i,this.state.ddItemElm=t,t.classList.add(n),t.setAttribute("aria-selected",!0),e&&(t.parentNode.scrollTop=t.clientHeight+t.offsetTop-t.parentNode.clientHeight),this.settings.autoComplete&&(this.input.autocomplete.suggest.call(this,i),this.dropdown.position())}
46384,selectOption:function(t,e,i){var n=this,s=this.settings,a=s.dropdown.includeSelectedTags,o=s.dropdown,r=o.clearOnSelect,l=o.closeOnSelect;if(!t)return this.addTags(this.state.inputText,!0),void(l&&this.dropdown.hide());e=e||{};var d=t.getAttribute("value"),c="noMatch"==d,g="mix"==s.mode,h=this.suggestedListItems.find((function(t){var e;return(null!==(e=t.value)&&void 0!==e?e:t)==d}));if(this.trigger("dropdown:select",{data:h,elm:t,event:e}),h||c){if(this.state.editing){var p=this.normalizeTags([h])[0];h=s.transformTag.call(this,p)||p,this.onEditTagDone(null,u({__isValid:!0},h))}else this[g?"addMixTags":"addTags"]([h||this.input.raw.call(this)],r);(g||this.DOM.input.parentNode)&&(setTimeout((function(){n.DOM.input.focus(),n.toggleFocusClass(!0)})),l&&setTimeout(this.dropdown.hide.bind(this)),a?i&&i():(t.addEventListener("transitionend",(function(){n.dropdown.fillHeaderFooter(),setTimeout((function(){t.remove(),n.dropdown.refilter(),i&&i()}),100)}),{once:!0}),t.classList.add(this.settings.classNames.dropdownItemHidden)))}else l&&setTimeout(this.dropdown.hide.bind(this))},selectAll:function(t){this.suggestedListItems.length=0,this.dropdown.hide(),this.dropdown.filterListItems("");var e=this.dropdown.filterListItems("");return t||(e=this.state.dropdown.suggestions),this.addTags(e,!0),this},filterListItems:function(t,e){var i,n,s,a,o,r,l=function(){var t,l,d=void 0,u=void 0;t=m[T],n=(null!=(l=Object)&&"undefined"!=typeof Symbol&&l[Symbol.hasInstance]?l[Symbol.hasInstance](t):t instanceof l)?m[T]:{value:m[T]};var v,b=!Object.keys(n).some((function(t){return y.includes(t)}))?["value"]:y;g.fuzzySearch&&!e.exact?(a=b.reduce((function(t,e){return t+" "+(n[e]||"")}),"").toLowerCase().trim(),g.accentedSearch&&(a=h(a),r=h(r)),d=0==a.indexOf(r),u=a===r,v=a,s=r.toLowerCase().split(" ").every((function(t){return v.includes(t.toLowerCase())}))):(d=!0,s=b.some((function(t){var i=""+(n[t]||"");return g.accentedSearch&&(i=h(i),r=h(r)),g.caseSensitive||(i=i.toLowerCase()),u=i===r,e.exact?i===r:0==i.indexOf(r)}))),o=!g.includeSelectedTags&&i.isTagDuplicate(c(n)?n.value:n),s&&!o&&(u&&d?f.push(n):"startsWith"==g.sortby&&d?p.unshift(n):p.push(n))},d=this,u=this.settings,g=u.dropdown,p=(e=e||{},[]),f=[],m=u.whitelist,v=g.maxItems>=0?g.maxItems:1/0,b=g.includeSelectedTags,w="function"==typeof g.sortby,y=g.searchKeys,T=0;if(!(t="select"==u.mode&&this.value.length&&this.value[0][u.tagTextProp]==t?"":t)||!y.length){p=b?m:m.filter((function(t){return!d.isTagDuplicate(c(t)?t.value:t)}));var O=w?g.sortby(p,r):p.slice(0,v);return this.state.dropdown.suggestions=O,O}for(r=g.caseSensitive?""+t:(""+t).toLowerCase();T<m.length;T++)i=this,l();this.state.dropdown.suggestions=f.concat(p);O=w?g.sortby(f.concat(p),r):f.concat(p).slice(0,v);return this.state.dropdown.suggestions=O,O},getMappedValue:function(t){var e=this.settings.dropdown.mapValueTo;return e?"function"==typeof e?e(t):t[e]||t.value:t.value},createListHTML:function(t){var e=this;return u([],t).map((function(t,i){"string"!=typeof t&&"number"!=typeof t||(t={value:t});var n=e.dropdown.getMappedValue(t);return n="string"==typeof n&&e.settings.dropdown.escapeHTML?d(n):n,e.settings.templates.dropdownItem.apply(e,[I(S({},t),{mappedValue:n}),e])})).join("")}};function E(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function N(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function A(t){return function(t){if(Array.isArray(t))return E(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return E(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);"Object"===i&&t.constructor&&(i=t.constructor.name);if("Map"===i||"Set"===i)return Array.from(i);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return E(t,e)}(t)||function(){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 _(){for(var t in this.dropdown={},this._dropdown)this.dropdown[t]="function"==typeof this._dropdown[t]?this._dropdown[t].bind(this):this._dropdown[t];this.dropdown.refs(),this.DOM.dropdown.__tagify=this}var C,k,L=(C=function(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{},n=Object.keys(i);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(i).filter((function(t){return Object.getOwnPropertyDescriptor(i,t).enumerable}
46384)))),n.forEach((function(e){N(t,e,i[e])}))}return t}({},M),k=null!=(k={refs:function(){this.DOM.dropdown=this.parseTemplate("dropdown",[this.settings]),this.DOM.dropdown.content=this.DOM.dropdown.querySelector("[data-selector='tagify-suggestions-wrapper']")},getHeaderRef:function(){return this.DOM.dropdown.querySelector("[data-selector='tagify-suggestions-header']")},getFooterRef:function(){return this.DOM.dropdown.querySelector("[data-selector='tagify-suggestions-footer']")},getAllSuggestionsRefs:function(){return A(this.DOM.dropdown.content.querySelectorAll(this.settings.classNames.dropdownItemSelector))},show:function(t){var e,i,n,a=this,o=this.settings,r="mix"==o.mode&&!o.enforceWhitelist,l=!o.whitelist||!o.whitelist.length,d="manual"==o.dropdown.position;if(t=void 0===t?this.state.inputText:t,!(l&&!r&&!o.templates.dropdownItemNoMatch||!1===o.dropdown.enabled||this.state.isLoading||this.settings.readonly)){if(clearTimeout(this.dropdownHide__bindEventsTimeout),this.suggestedListItems=this.dropdown.filterListItems(t),t&&!this.suggestedListItems.length&&(this.trigger("dropdown:noMatch",t),o.templates.dropdownItemNoMatch&&(n=o.templates.dropdownItemNoMatch.call(this,{value:t}))),!n){if(this.suggestedListItems.length)t&&r&&!this.state.editing.scope&&!s(this.suggestedListItems[0].value,t)&&this.suggestedListItems.unshift({value:t});else{if(!t||!r||this.state.editing.scope)return this.input.autocomplete.suggest.call(this),void this.dropdown.hide();this.suggestedListItems=[{value:t}]}i=""+(c(e=this.suggestedListItems[0])?e.value:e),o.autoComplete&&i&&0==i.indexOf(t)&&this.input.autocomplete.suggest.call(this,e)}this.dropdown.fill(n),o.dropdown.highlightFirst&&this.dropdown.highlightOption(this.DOM.dropdown.content.querySelector(o.classNames.dropdownItemSelector)),this.state.dropdown.visible||setTimeout(this.dropdown.events.binding.bind(this)),this.state.dropdown.visible=t||!0,this.state.dropdown.query=t,this.setStateSelection(),d||setTimeout((function(){a.dropdown.position(),a.dropdown.render()})),setTimeout((function(){a.trigger("dropdown:show",a.DOM.dropdown)}))}},hide:function(t){var e=this,i=this.DOM,n=i.scope,s=i.dropdown,a="manual"==this.settings.dropdown.position&&!t;if(s&&document.body.contains(s)&&!a)return window.removeEventListener("resize",this.dropdown.position),this.dropdown.events.binding.call(this,!1),n.setAttribute("aria-expanded",!1),s.parentNode.removeChild(s),setTimeout((function(){e.state.dropdown.visible=!1}),100),this.state.dropdown.query=this.state.ddItemData=this.state.ddItemElm=this.state.selection=null,this.state.tag&&this.state.tag.value.length&&(this.state.flaggedTags[this.state.tag.baseOffset]=this.state.tag),this.trigger("dropdown:hide",s),this},toggle:function(t){this.dropdown[this.state.dropdown.visible&&!t?"hide":"show"]()},getAppendTarget:function(){var t=this.settings.dropdown;return"function"==typeof t.appendTarget?t.appendTarget():t.appendTarget},render:function(){var t,e,i,n=this,s=(t=this.DOM.dropdown,(i=t.cloneNode(!0)).style.cssText="position:fixed; top:-9999px; opacity:0",document.body.appendChild(i),e=i.clientHeight,i.parentNode.removeChild(i),e),a=this.settings,o=this.dropdown.getAppendTarget();return!1===a.dropdown.enabled||(this.DOM.scope.setAttribute("aria-expanded",!0),document.body.contains(this.DOM.dropdown)||(this.DOM.dropdown.classList.add(a.classNames.dropdownInital),this.dropdown.position(s),o.appendChild(this.DOM.dropdown),setTimeout((function(){return n.DOM.dropdown.classList.remove(a.classNames.dropdownInital)})))),this},fill:function(t){t="string"==typeof t?t:this.dropdown.createListHTML(t||this.suggestedListItems);var e,i=this.settings.templates.dropdownContent.call(this,t);this.DOM.dropdown.content.innerHTML=(e=i)?e.replace(/\>[\r\n ]+\</g,"><").split(/>\s+</).join("><").trim():""},fillHeaderFooter:function(){var t=this.dropdown.filterListItems(this.state.dropdown.query),e=this.parseTemplate("dropdownHeader",[t]),i=this.parseTemplate("dropdownFooter",[t]),n=this.dropdown.getHeaderRef(),s=this.dropdown.getFooterRef();e&&(null==n||n.parentNode.replaceChild(e,n)),i&&(null==s||s.parentNode.replaceChild(i,s))},position:function(t){var e=this.settings.dropdown,i=this.dropdown.getAppendTarget();if("manual"!=e.position&&i){var n,s,a,o,r,l,d,c,u,g,h=this.DOM.dropdown,p=e.RTL,f=i===document.body,m=i===this.DOM.scope,v=f?window.pageYOffset:i.scrollTop,b=document.fullscreenElement||document.webkitFullscreenElement||document.documentElement,w=b.clientHeight,y=Math.max(b.clientWidth||0,window.innerWidth||0),T=y>480?e.position:"all",O=this.DOM["input"==T?"input":"scope"];if(t=t||h.clientHeight,this.state.dropdown.visible){if("text"==T?(a=(n=function(){var t=document.getSelection();if(t.rangeCount){var e,i,n=t.getRangeAt(0),s=n.startContainer,a=n.startOffset;if(a>0)return(i=document.createRange()).setStart(s,a-1),i.setEnd(s,a),{left:(e
46384=i.getBoundingClientRect()).right,top:e.top,bottom:e.bottom};if(s.getBoundingClientRect)return s.getBoundingClientRect()}return{left:-9999,top:-9999}}()).bottom,s=n.top,o=n.left,r="auto"):(l=function(t){var e=0,i=0;for(t=t.parentNode;t&&t!=b;)e+=t.offsetTop||0,i+=t.offsetLeft||0,t=t.parentNode;return{top:e,left:i}}(i),n=O.getBoundingClientRect(),s=m?-1:n.top-l.top,a=(m?n.height:n.bottom-l.top)-1,o=m?-1:n.left-l.left,r=n.width+"px"),!f){var D=function(){for(var t=0,i=e.appendTarget.parentNode;i;)t+=i.scrollTop||0,i=i.parentNode;return t}();s+=D,a+=D}var x;s=Math.floor(s),a=Math.ceil(a),c=y-o<120,u=((d=null!==(x=e.placeAbove)&&void 0!==x?x:w-n.bottom<t)?s:a)+v,g=o+(p&&n.width||0)+window.pageXOffset,g="text"==T&&c?"right: 0;":"left: ".concat(g,"px;"),h.style.cssText="".concat(g," top: ").concat(u,"px; min-width: ").concat(r,"; max-width: ").concat(r),h.setAttribute("placement",d?"top":"bottom"),h.setAttribute("position",T)}}}})?k:{},Object.getOwnPropertyDescriptors?Object.defineProperties(C,Object.getOwnPropertyDescriptors(k)):function(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}(Object(k)).forEach((function(t){Object.defineProperty(C,t,Object.getOwnPropertyDescriptor(k,t))})),C),P="@yaireo/tagify/",j={empty:"empty",exceed:"number of tags exceeded",pattern:"pattern mismatch",duplicate:"already exists",notAllowed:"not allowed"},V={wrapper:function(e,i){return'<tags class="'.concat(i.classNames.namespace," ").concat(i.mode?"".concat(i.classNames[i.mode+"Mode"]):""," ").concat(e.className,'"\n                    ').concat(i.readonly?"readonly":"","\n                    ").concat(i.disabled?"disabled":"","\n                    ").concat(i.required?"required":"","\n                    ").concat("select"===i.mode?"spellcheck='false'":"",'\n                    tabIndex="-1">\n                    ').concat(this.settings.templates.input.call(this),"\n                ").concat(t,"\n        </tags>")},input:function(){var e=this.settings,i=e.placeholder||t;return"<span ".concat(!e.readonly&&e.userInput?"contenteditable":"",' data-can-editable tabIndex="0" data-placeholder="').concat(i,'" aria-placeholder="').concat(e.placeholder||"",'"\n                    class="').concat(e.classNames.input,'"\n                    role="textbox"\n                    autocapitalize="false"\n                    autocorrect="off"\n                    aria-autocomplete="both"\n                    aria-multiline="').concat("mix"==e.mode,'"></span>')},tag:function(t,e){var i=e.settings;return'<tag title="'.concat(t.title||t.value,"\"\n                    contenteditable='false'\n                    tabIndex=\"").concat(i.a11y.focusableTags?0:-1,'"\n                    class="').concat(i.classNames.tag," ").concat(t.class||"",'"\n                    ').concat(this.getAttributes(t),">\n            <x title='' tabIndex=\"").concat(i.a11y.focusableTags?0:-1,'" class="').concat(i.classNames.tagX,"\" role='button' aria-label='remove tag'></x>\n            <div>\n                <span ").concat("select"===i.mode&&i.userInput?"contenteditable='true'":"",' autocapitalize="false" autocorrect="off" spellcheck=\'false\' class="').concat(i.classNames.tagText,'">').concat(t[i.tagTextProp]||t.value,"</span>\n            </div>\n        </tag>")},dropdown:function(t){var e=t.dropdown,i="manual"==e.position;return'<div class="'.concat(i?"":t.classNames.dropdown," ").concat(e.classname,'" role="listbox" aria-labelledby="dropdown" dir="').concat(e.RTL?"rtl":"","\">\n                    <div data-selector='tagify-suggestions-wrapper' class=\"").concat(t.classNames.dropdownWrapper,'"></div>\n                </div>')},dropdownContent:function(t){var e=this.settings.templates,i=this.state.dropdown.suggestions;return"\n            ".concat(e.dropdownHeader.call(this,i),"\n            ").concat(t,"\n            ").concat(e.dropdownFooter.call(this,i),"\n        ")},dropdownItem:function(t){return"<div ".concat(this.getAttributes(t),"\n                    class='").concat(this.settings.classNames.dropdownItem," ").concat(this.isTagDuplicate(t.value)?this.settings.classNames.dropdownItemSelected:""," ").concat(t.class||"",'\'\n                    tabindex="0"\n                    role="option">').concat(t.mappedValue||t.value,"</div>")},dropdownHeader:function(t){return"<header data-selector='tagify-suggestions-header' class=\"".concat(this.settings.classNames.dropdownHeader,'"></header>')},dropdownFooter:function(t){var e=t.length-this.settings.dropdown.maxItems;return e>0?"<footer data-selector='tagify-suggestions-footer' class=\"".concat(this.settings.classNames.dropdownFooter,'">\n                ').concat(e," more items. Refine your search.\n            </footer>"):""},dropdownItemNoMatch:null};function R(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function F(t,e){return null!=e&&"undefined"!=typeof Symbol&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](t):t instanceof e}function H(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var i=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=i){var n,s,a=[],o=!0,r=!1;try{for(i=i.call(t);!(o=(n=i.next()).done)&&(a.push(n.value),!e||a.length!==e);o=!0);}catch(t){r=!0,s=t}finally{try{o||null==i.return||i.return()}finally{if(r)throw s}}return a}}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return R(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);"Object"===i&&t.constructor&&(i=t.constructor.name);if("Map"===i||"Set"===i)return Array.from(i);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return R(t,e)}
46384(t,e)||function(){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 B(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function W(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function q(t,e){return null!=e&&"undefined"!=typeof Symbol&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](t):t instanceof e}function U(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}(Object(e)).forEach((function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(e,i))})),t}function K(t){return function(t){if(Array.isArray(t))return B(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return B(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);"Object"===i&&t.constructor&&(i=t.constructor.name);if("Map"===i||"Set"===i)return Array.from(i);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return B(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var z={customBinding:function(){var t=this;this.customEventsList.forEach((function(e){t.on(e,t.settings.callbacks[e])}))},binding:function(){var t,e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],i=this.settings,n=this.events.callbacks,s=e?"addEventListener":"removeEventListener";if(!(this.state.mainEvents&&e||i.disabled||i.readonly)){for(var a in this.state.mainEvents=e,e&&!this.listeners.main&&(this.events.bindGlobal.call(this),this.settings.isJQueryPlugin&&jQuery(this.DOM.originalInput).on("tagify.removeAllTags",this.removeAllTags.bind(this))),t=this.listeners.main=this.listeners.main||{keydown:["input",n.onKeydown.bind(this)],click:["scope",n.onClickScope.bind(this)],dblclick:"select"!=i.mode&&["scope",n.onDoubleClickScope.bind(this)],paste:["input",n.onPaste.bind(this)],drop:["input",n.onDrop.bind(this)],compositionstart:["input",n.onCompositionStart.bind(this)],compositionend:["input",n.onCompositionEnd.bind(this)]})t[a]&&this.DOM[t[a][0]][s](a,t[a][1]);var o=this.listeners.main.inputMutationObserver||new MutationObserver(n.onInputDOMChange.bind(this));o.disconnect(),"mix"==i.mode&&o.observe(this.DOM.input,{childList:!0}),this.events.bindOriginaInputListener.call(this),e&&(this.listeners.main=void 0)}},bindOriginaInputListener:function(t){var e=(t||0)+500;this.listeners.main&&(clearInterval(this.listeners.main.originalInputValueObserverInterval),this.listeners.main.originalInputValueObserverInterval=setInterval(this.events.callbacks.observeOriginalInputValue.bind(this),e))},bindGlobal:function(t){var e,i=this.events.callbacks,n=t?"removeEventListener":"addEventListener";if(this.listeners&&(t||!this.listeners.global)){this.listeners.global=this.listeners.global||[{type:this.isIE?"keydown":"input",target:this.DOM.input,cb:i[this.isIE?"onInputIE":"onInput"].bind(this)},{type:"keydown",target:window,cb:i.onWindowKeyDown.bind(this)},{type:"focusin",target:this.DOM.scope,cb:i.onFocusBlur.bind(this)},{type:"focusout",target:this.DOM.scope,cb:i.onFocusBlur.bind(this)},{type:"click",target:document,cb:i.onClickAnywhere.bind(this),useCapture:!0}];var s=!0,a=!1,o=void 0;try{for(var r,l=this.listeners.global[Symbol.iterator]();!(s=(r=l.next()).done);s=!0)(e=r.value).target[n](e.type,e.cb,!!e.useCapture)}catch(t){a=!0,o=t}finally{try{s||null==l.return||l.return()}finally{if(a)throw o}}t&&(this.listeners.global=void 0)}},unbindGlobal:function(){this.events.bindGlobal.call(this,!0)},callbacks:{onFocusBlur:function(t){var e,i,n=this.settings,s=v.call(this,t.relatedTarget),a=m.call(this,t.target),o=t.target.classList.contains(n.classNames.tagX),r="focusin"==t.type,l="focusout"==t.type;o&&"mix"!=n.mode&&n.focusInputOnRemove&&this.DOM.input.focus(),s&&r&&!a&&!o&&this.toggleFocusClass(this.state.hasFocus=+new Date);var d=t.target?this.trim(this.DOM.input.textContent):"",c=null===(i=this.value)||void 0===i||null===(e=i[0])||void 0===e?void 0:e[n.tagTextProp],u=n.dropdown.enabled>=0,g={relatedTarget:t.relatedTarget},h=this.state.actions.selectOption&&(u||!n.dropdown.closeOnSelect),p=this.state.actions.addNew&&u;if(l){if(t.relatedTarget===this.DOM.scope)return this.dropdown.hide(),void this.DOM.input.focus();this.postUpdate(),n.onChangeAfterBlur&&this.triggerChangeEvent()}if(!(h||p||o))if(this.state.hasFocus=!(!r&&!s)&&+new Date,this.toggleFocusClass(this.state.hasFocus),"mix"!=n.mode){if(r){if(!n.focusable)return;
46384var f=0===n.dropdown.enabled&&!this.state.dropdown.visible,b=this.DOM.scope.querySelector(this.settings.classNames.tagTextSelector);return this.trigger("focus",g),void(f&&!a&&(this.dropdown.show(this.value.length?"":void 0),"select"===n.mode&&this.setRangeAtStartEnd(!1,b)))}if(l){if(this.trigger("blur",g),this.loading(!1),"select"==n.mode){if(this.value.length){var w=this.getTagElms()[0];d=this.trim(w.textContent)}c===d&&(d="")}d&&!this.state.actions.selectOption&&n.addTagOnBlur&&n.addTagOn.includes("blur")&&this.addTags(d,!0)}s||(this.DOM.input.removeAttribute("style"),this.dropdown.hide())}else r?this.trigger("focus",g):l&&(this.trigger("blur",g),this.loading(!1),this.dropdown.hide(),this.state.dropdown.visible=void 0,this.setStateSelection())},onCompositionStart:function(t){this.state.composing=!0},onCompositionEnd:function(t){this.state.composing=!1},onWindowKeyDown:function(t){var e,i=this.settings,n=document.activeElement,s=v.call(this,n)&&this.DOM.scope.contains(n),a=n===this.DOM.input,o=s&&n.hasAttribute("readonly"),r=this.DOM.scope.querySelector(this.settings.classNames.tagTextSelector),l=this.state.dropdown.visible;if(("Tab"===t.key&&l||this.state.hasFocus||s&&!o)&&!a){e=n.nextElementSibling;var d=t.target.classList.contains(i.classNames.tagX);switch(t.key){case"Backspace":i.readonly||this.state.editing||(this.removeTags(n),(e||this.DOM.input).focus());break;case"Enter":if(d)return void this.removeTags(t.target.parentNode);i.a11y.focusableTags&&m.call(this,n)&&setTimeout(this.editTag.bind(this),0,n);break;case"ArrowDown":this.state.dropdown.visible||"mix"==i.mode||this.dropdown.show();break;case"Tab":null==r||r.focus()}}},onKeydown:function(t){var e=this,i=this.settings;if(!this.state.composing&&i.userInput){"select"==i.mode&&i.enforceWhitelist&&this.value.length&&"Tab"!=t.key&&t.preventDefault();var n=this.trim(t.target.textContent);this.trigger("keydown",{event:t}),i.hooks.beforeKeyDown(t,{tagify:this}).then((function(s){if("mix"==i.mode){switch(t.key){case"Left":case"ArrowLeft":e.state.actions.ArrowLeft=!0;break;case"Delete":case"Backspace":if(e.state.editing)return;var a=document.getSelection(),o="Delete"==t.key&&a.anchorOffset==(a.anchorNode.length||0),r=a.anchorNode.previousSibling,d=1==a.anchorNode.nodeType||!a.anchorOffset&&r&&1==r.nodeType&&a.anchorNode.previousSibling;!function(t){var e=document.createElement("div");t.replace(/\&#?[0-9a-z]+;/gi,(function(t){return e.innerHTML=t,e.innerText}))}(e.DOM.input.innerHTML);var c,u,g,h=e.getTagElms(),f=1===a.anchorNode.length&&a.anchorNode.nodeValue==String.fromCharCode(8203);if("edit"==i.backspace&&d)return c=1==a.anchorNode.nodeType?null:a.anchorNode.previousElementSibling,setTimeout(e.editTag.bind(e),0,c),void t.preventDefault();if(p()&&q(d,Element))return g=l(d),d.hasAttribute("readonly")||d.remove(),e.DOM.input.focus(),void setTimeout((function(){T(g),e.DOM.input.click()}));if("BR"==a.anchorNode.nodeName)return;if((o||d)&&1==a.anchorNode.nodeType?u=0==a.anchorOffset?o?h[0]:null:h[Math.min(h.length,a.anchorOffset)-1]:o?u=a.anchorNode.nextElementSibling:q(d,Element)&&(u=d),3==a.anchorNode.nodeType&&!a.anchorNode.nodeValue&&a.anchorNode.previousElementSibling&&t.preventDefault(),(d||o)&&!i.backspace)return void t.preventDefault();if("Range"!=a.type&&!a.anchorOffset&&a.anchorNode==e.DOM.input&&"Delete"!=t.key)return void t.preventDefault();if("Range"!=a.type&&u&&u.hasAttribute("readonly"))return void T(l(u));"Delete"==t.key&&f&&y(a.anchorNode.nextSibling)&&e.removeTags(a.anchorNode.nextSibling);break;case"Enter":t.preventDefault();var m=window.getSelection();m.getRangeAt(0).insertNode(document.createElement("br")),m.collapseToEnd()}return!0}var v="manual"==i.dropdown.position;switch(t.key){case"Backspace":"select"==i.mode&&i.enforceWhitelist&&e.value.length?e.removeTags():e.state.dropdown.visible&&"manual"!=i.dropdown.position||""!=t.target.textContent&&8203!=n.charCodeAt(0)||(!0===i.backspace?e.removeTags():"edit"==i.backspace&&setTimeout(e.editTag.bind(e),0));break;case"Esc":case"Escape":if(e.state.dropdown.visible)return;t.target.blur();break;case"Down":case"ArrowDown":e.state.dropdown.visible||e.dropdown.show();break;case"ArrowRight":var b=e.state.inputSuggestion||e.state.ddItemData;if(b&&i.autoComplete.rightKey)return void e.addTags([b],!0);break;case"Tab":return!0;case"Enter":if(e.state.dropdown.visible&&!v)return;t.preventDefault();var w=e.state.autoCompleteData||n;setTimeout((function(){e.state.dropdown.visible&&!v||e.state.actions.selectOption||!i.addTagOn.includes(t.key.toLowerCase())||(e.addTags([w],!0),e.state.autoCompleteData=null)}))}})).catch((function(t){return t}))}},onInput:function(t){this.postUpdate();var e=this.settings;if("mix"==e.mode)return this.events.callbacks.onMixTagsInput.call(this,t);var i=this.input.normalize.call(this,void 0,{trim:!1}),n=i.length>=e.dropdown.enabled,s={value:i,inputElm:this.DOM.input},a=this.validateTag({value:i});"select"==e.mode&&this.toggleScopeValidation(a),s.isValid=a,this.state.inputText!=i&&(this.input.set.call(this,i,!1),-1!=i.search(e.delimiters)?this.addTags(i)&&this.input.set.call(this):e.dropdown.enabled>=0&&this.dropdown[n?"show":"hide"](i),this.trigger("input",s))},onMixTagsInput:function(t){var e,i,n,s,a,o,r,l,d=this,c=this.settings,g=this.value.length,h=this.getTagElms(),f=document.createDocumentFragment(),m=window.getSelection().getRangeAt(0),v=[].map.call(h,(function(t){return y(t).value}));if("deleteContentBackward"==t.inputType&&p()&&this.events.callbacks.onKeydown.call(this,{target:t.target,key:"Backspace"}
46384),O(this.getTagElms()),this.value.slice().forEach((function(t){t.readonly&&!v.includes(t.value)&&f.appendChild(d.createTagElem(t))})),f.childNodes.length&&(m.insertNode(f),this.setRangeAtStartEnd(!1,f.lastChild)),h.length!=g)return this.value=[].map.call(this.getTagElms(),(function(t){return y(t)})),void this.update({withoutChangeEvent:!0});if(this.hasMaxTags())return!0;if(window.getSelection&&(o=window.getSelection()).rangeCount>0&&3==o.anchorNode.nodeType){if((m=o.getRangeAt(0).cloneRange()).collapse(!0),m.setStart(o.focusNode,0),n=(e=m.toString().slice(0,m.endOffset)).split(c.pattern).length-1,(i=e.match(c.pattern))&&(s=e.slice(e.lastIndexOf(i[i.length-1]))),s){if(this.state.actions.ArrowLeft=!1,this.state.tag={prefix:s.match(c.pattern)[0],value:s.replace(c.pattern,"")},this.state.tag.baseOffset=o.baseOffset-this.state.tag.value.length,l=this.state.tag.value.match(c.delimiters))return this.state.tag.value=this.state.tag.value.replace(c.delimiters,""),this.state.tag.delimiters=l[0],this.addTags(this.state.tag.value,c.dropdown.clearOnSelect),void this.dropdown.hide();a=this.state.tag.value.length>=c.dropdown.enabled;try{r=(r=this.state.flaggedTags[this.state.tag.baseOffset]).prefix==this.state.tag.prefix&&r.value[0]==this.state.tag.value[0],this.state.flaggedTags[this.state.tag.baseOffset]&&!this.state.tag.value&&delete this.state.flaggedTags[this.state.tag.baseOffset]}catch(t){}(r||n<this.state.mixMode.matchedPatternCount)&&(a=!1)}else this.state.flaggedTags={};this.state.mixMode.matchedPatternCount=n}setTimeout((function(){d.update({withoutChangeEvent:!0}),d.trigger("input",u({},d.state.tag,{textContent:d.DOM.input.textContent})),d.state.tag&&d.dropdown[a?"show":"hide"](d.state.tag.value)}),10)},onInputIE:function(t){var e=this;setTimeout((function(){e.events.callbacks.onInput.call(e,t)}))},observeOriginalInputValue:function(){this.DOM.originalInput.parentNode||this.destroy(),this.DOM.originalInput.value!=this.DOM.originalInput.tagifyValue&&this.loadOriginalValues()},onClickAnywhere:function(t){if(t.target!=this.DOM.scope&&!this.DOM.scope.contains(t.target)){this.toggleFocusClass(!1),this.state.hasFocus=!1;var e=t.target.closest(this.settings.classNames.dropdownSelector);(null==e?void 0:e.__tagify)!=this&&this.dropdown.hide()}},onClickScope:function(t){var e=this.settings,i=t.target.closest("."+e.classNames.tag);t.target,this.DOM.scope;var n=+new Date-this.state.hasFocus;if(!t.target.classList.contains(e.classNames.tagX))return i&&!this.state.editing?(this.trigger("click",{tag:i,index:this.getNodeIndex(i),data:y(i),event:t}),void(1!==e.editTags&&1!==e.editTags.clicks&&"select"!=e.mode||this.events.callbacks.onDoubleClickScope.call(this,t))):void(t.target==this.DOM.input&&("mix"==e.mode&&this.fixFirefoxLastTagNoCaret(),n>500||!e.focusable)?this.state.dropdown.visible?this.dropdown.hide():0===e.dropdown.enabled&&"mix"!=e.mode&&this.dropdown.show(this.value.length?"":void 0):"select"!=e.mode||0!==e.dropdown.enabled||this.state.dropdown.visible||(this.events.callbacks.onDoubleClickScope.call(this,U(function(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{},n=Object.keys(i);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(i).filter((function(t){return Object.getOwnPropertyDescriptor(i,t).enumerable})))),n.forEach((function(e){W(t,e,i[e])}))}return t}({},t),{target:this.getTagElms()[0]})),!e.userInput&&this.dropdown.show()));this.removeTags(t.target.parentNode)},onPaste:function(t){var e=this;t.preventDefault();var i,n,s,a=this.settings;if(!a.userInput)return!1;a.readonly||(n=t.clipboardData||window.clipboardData,s=n.getData("Text"),a.hooks.beforePaste(t,{tagify:this,pastedText:s,clipboardData:n}).then((function(a){void 0===a&&(a=s),a&&(e.injectAtCaret(a,window.getSelection().getRangeAt(0)),"mix"==e.settings.mode?e.events.callbacks.onMixTagsInput.call(e,t):e.settings.pasteAsTags?i=e.addTags(e.state.inputText+a,!0):(e.state.inputText=a,e.dropdown.show(a))),e.trigger("paste",{event:t,pastedText:s,clipboardData:n,tagsElems:i})})).catch((function(t){return t})))},onDrop:function(t){t.preventDefault()},onEditTagInput:function(t,e){var i,n=t.closest("."+this.settings.classNames.tag),s=this.getNodeIndex(n),a=y(n),o=this.input.normalize.call(this,t),r=(W(i={},this.settings.tagTextProp,o),W(i,"__tagId",a.__tagId),i),l=this.validateTag(r);this.editTagChangeDetected(u(a,r))||!0!==t.originalIsValid||(l=!0),n.classList.toggle(this.settings.classNames.tagInvalid,!0!==l),a.__isValid=l,n.title=!0===l?a.title||a.value:l,o.length>=this.settings.dropdown.enabled&&(this.state.editing&&(this.state.editing.value=o),this.dropdown.show(o)),this.trigger("edit:input",{tag:n,index:s,data:u({},this.value[s],{newValue:o}),event:e})},onEditTagPaste:function(t,e){var i=(e.clipboardData||window.clipboardData).getData("Text");e.preventDefault();var n=w(i);this.setRangeAtStartEnd(!1,n)},onEditTagClick:function(t,e){this.events.callbacks.onClickScope.call(this,e)},onEditTagFocus:function(t){this.state.editing={scope:t,input:t.querySelector("[contenteditable]")}},onEditTagBlur:function(t,e){var i=m.call(this,e.relatedTarget);if("select"==this.settings.mode&&i&&e.relatedTarget.contains(e.target))this.dropdown.hide();else if(this.state.editing&&(this.state.hasFocus||this.toggleFocusClass(),this.DOM.scope.contains(document.activeElement)||this.trigger("blur",{}),this.DOM.scope.contains(t))){var n,s,a,o=this.settings,r=t.closest("."+o.classNames.tag),l=y(r),d=this.input.normalize.call(this,t),c=(W(n={},o.tagTextProp,d),W(n,"__tagId",l.__tagId),n),g=l.__originalData,h=this.editTagChangeDetected(u(l,c)),p=this.validateTag(c);if(d)if(h){var f;if(s=this.hasMaxTags(),a=u({},g,(W(f={},o.tagTextProp,this.trim(d)),W(f,"__isValid",p),f)),o.transformTag.call(this,a,g),!0!==(p=(!s||!0===g.__isValid)&&this.validateTag(a))){if(this.trigger("invalid",{data:a,tag:r,message:p}),o.editTags.keepInvalid)return;o.keepInvalidTags?a.__isValid=p:a=g}else o.keepInvalidTags&&(delete a.title,delete a["aria-invalid"],delete a.class);this.onEditTagDone(r,a)}else this.onEditTagDone(r,g);else this.onEditTagDone(r)}}
46384,onEditTagkeydown:function(t,e){if(!this.state.composing)switch(this.trigger("edit:keydown",{event:t}),t.key){case"Esc":case"Escape":this.state.editing=!1,!!e.__tagifyTagData.__originalData.value?e.parentNode.replaceChild(e.__tagifyTagData.__originalHTML,e):e.remove();break;case"Enter":case"Tab":t.preventDefault();setTimeout((function(){return t.target.blur()}),0)}},onDoubleClickScope:function(t){var e=t.target.closest("."+this.settings.classNames.tag);if(e){var i,n,s=y(e),a=this.settings;!1!==(null==s?void 0:s.editable)&&(i=e.classList.contains(this.settings.classNames.tagEditing),n=e.hasAttribute("readonly"),a.readonly||i||n||!this.settings.editTags||!a.userInput||(this.events.callbacks.onEditTagFocus.call(this,e),this.editTag(e)),this.toggleFocusClass(!0),"select"!=a.mode&&this.trigger("dblclick",{tag:e,index:this.getNodeIndex(e),data:y(e)}))}},onInputDOMChange:function(t){var e=this;t.forEach((function(t){t.addedNodes.forEach((function(t){if("<div><br></div>"==t.outerHTML)t.replaceWith(document.createElement("br"));else if(1==t.nodeType&&t.querySelector(e.settings.classNames.tagSelector)){var i,n=document.createTextNode("");3==t.childNodes[0].nodeType&&"BR"!=t.previousSibling.nodeName&&(n=document.createTextNode("\n")),(i=t).replaceWith.apply(i,K([n].concat(K(K(t.childNodes).slice(0,-1))))),T(n)}else if(m.call(e,t)){var s;if(3!=(null===(s=t.previousSibling)||void 0===s?void 0:s.nodeType)||t.previousSibling.textContent||t.previousSibling.remove(),t.previousSibling&&"BR"==t.previousSibling.nodeName){t.previousSibling.replaceWith("\n​");for(var a=t.nextSibling,o="";a;)o+=a.textContent,a=a.nextSibling;o.trim()&&T(t.previousSibling)}else t.previousSibling&&!y(t.previousSibling)||t.before("​")}})),t.removedNodes.forEach((function(t){t&&"BR"==t.nodeName&&m.call(e,i)&&(e.removeTags(i),e.fixFirefoxLastTagNoCaret())}))}));var i=this.DOM.input.lastChild;i&&""==i.nodeValue&&i.remove(),i&&"BR"==i.nodeName||this.DOM.input.appendChild(document.createElement("br"))}}};function X(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function J(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function G(t,e){return null!=e&&"undefined"!=typeof Symbol&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](t):t instanceof e}function $(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{},n=Object.keys(i);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(i).filter((function(t){return Object.getOwnPropertyDescriptor(i,t).enumerable})))),n.forEach((function(e){J(t,e,i[e])}))}return t}function Q(t){return function(t){if(Array.isArray(t))return X(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return X(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);"Object"===i&&t.constructor&&(i=t.constructor.name);if("Map"===i||"Set"===i)return Array.from(i);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return X(t,e)}(t)||function(){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 Y(t,e){if(!t){n.warn("input element not found",t);var i=new Proxy(this,{get:function(){return function(){return i}}});return i}if(t.__tagify)return n.warn("input element is already Tagified - Same instance is returned.",t),t.__tagify;var s;u(this,function(t){var e=document.createTextNode(""),i={};function s(t,i,n){n&&i.split(/\s+/g).forEach((function(i){return e[t+"EventListener"].call(e,i,n)}))}return{removeAllCustomListeners:function(){Object.entries(i).forEach((function(t){var e=H(t,2),i=e[0];
46384e[1].forEach((function(t){return s("remove",i,t)}))})),i={}},off:function(t,e){return t&&(e?s("remove",t,e):t.split(/\s+/g).forEach((function(t){var e;null===(e=i[t])||void 0===e||e.forEach((function(e){return s("remove",t,e)})),delete i[t]}))),this},on:function(t,e){return e&&"function"==typeof e&&(t.split(/\s+/g).forEach((function(t){Array.isArray(i[t])?i[t].push(e):i[t]=[e]})),s("add",t,e)),this},trigger:function(i,s,a){var o;if(a=a||{cloneData:!0},i)if(t.settings.isJQueryPlugin)"remove"==i&&(i="removeTag"),jQuery(t.DOM.originalInput).triggerHandler(i,[s]);else{try{var r="object"==typeof s?s:{value:s};if((r=a.cloneData?u({},r):r).tagify=this,s.event&&(r.event=this.cloneEvent(s.event)),F(s,Object))for(var l in s)F(s[l],HTMLElement)&&(r[l]=s[l]);o=new CustomEvent(i,{detail:r})}catch(t){n.warn(t)}e.dispatchEvent(o)}}}}(this)),this.isFirefox=/firefox|fxios/i.test(navigator.userAgent)&&!/seamonkey/i.test(navigator.userAgent),this.isIE=window.document.documentMode,e=e||{},this.getPersistedData=(s=e.id,function(t){var e;if(s){var i,n="/"+t;if(1===(null===(e=localStorage)||void 0===e?void 0:e.getItem(P+s+"/v")))try{i=JSON.parse(localStorage[P+s+n])}catch(t){}return i}}),this.setPersistedData=function(t){var e;return t?(null===(e=localStorage)||void 0===e||e.setItem(P+t+"/v",1),function(e,i){var n,s="/"+i,a=JSON.stringify(e);e&&i&&(null===(n=localStorage)||void 0===n||n.setItem(P+t+s,a),dispatchEvent(new Event("storage")))}):function(){}}(e.id),this.clearPersistedData=function(t){return function(e){var i=P+"/"+t+"/";if(e)localStorage.removeItem(i+e);else for(var n in localStorage)n.includes(i)&&localStorage.removeItem(n)}}(e.id),this.applySettings(t,e),this.state={inputText:"",editing:!1,composing:!1,actions:{},mixMode:{},dropdown:{},flaggedTags:{}},this.value=[],this.listeners={},this.DOM={},this.build(t),_.call(this),this.getCSSVars(),this.loadOriginalValues(),this.events.customBinding.call(this),this.events.binding.call(this),t.autofocus&&this.DOM.input.focus(),t.__tagify=this}return Y.prototype={_dropdown:L,placeCaretAfterNode:T,getSetTagData:y,helpers:{sameStr:s,removeCollectionProp:a,omit:o,isObject:c,parseHTML:r,escapeHTML:d,extend:u,concatWithoutDups:g,getUID:f,isNodeTag:m},customEventsList:["change","add","remove","invalid","input","paste","click","keydown","focus","blur","edit:input","edit:beforeUpdate","edit:updated","edit:start","edit:keydown","dropdown:show","dropdown:hide","dropdown:select","dropdown:updated","dropdown:noMatch","dropdown:scroll"],dataProps:["__isValid","__removed","__originalData","__originalHTML","__tagId"],trim:function(t){return this.settings.trim&&t&&"string"==typeof t?t.trim():t},parseHTML:r,templates:V,parseTemplate:function(t,e){return r((t=this.settings.templates[t]||t).apply(this,e))},set whitelist(t){var e=t&&Array.isArray(t);this.settings.whitelist=e?t:[],this.setPersistedData(e?t:[],"whitelist")},get whitelist(){return this.settings.whitelist},set userInput(t){this.settings.userInput=!!t,this.setContentEditable(!!t)},get userInput(){return this.settings.userInput},generateClassSelectors:function(t){var e=function(e){var i=e;Object.defineProperty(t,i+"Selector",{get:function(){return"."+this[i].split(" ")[0]}})};for(var i in t)e(i)},applySettings:function(t,e){var i,n;D.templates=this.templates;var s=u({},D,"mix"==e.mode?{dropdown:{position:"text"}}:{}),a=this.settings=u({},s,e);if(a.disabled=t.hasAttribute("disabled"),a.readonly=a.readonly||t.hasAttribute("readonly"),a.placeholder=d(t.getAttribute("placeholder")||a.placeholder||""),a.required=t.hasAttribute("required"),this.generateClassSelectors(a.classNames),this.isIE&&(a.autoComplete=!1),["whitelist","blacklist"].forEach((function(e){var i=t.getAttribute("data-"+e);i&&G(i=i.split(a.delimiters),Array)&&(a[e]=i)})),"autoComplete"in e&&!c(e.autoComplete)&&(a.autoComplete=D.autoComplete,a.autoComplete.enabled=e.autoComplete),"mix"==a.mode&&(a.pattern=a.pattern||/@/,a.autoComplete.rightKey=!0,a.delimiters=e.delimiters||null,a.tagTextProp&&!a.dropdown.searchKeys.includes(a.tagTextProp)&&a.dropdown.searchKeys.push(a.tagTextProp)),t.pattern)try{a.pattern=new RegExp(t.pattern)}catch(t){}if(a.delimiters){a._delimiters=a.delimiters;try{a.delimiters=new RegExp(this.settings.delimiters,"g")}catch(t){}}(a.disabled||a.readonly)&&(a.userInput=!1),this.TEXTS=$({},j,a.texts||{}),"select"==a.mode&&(a.dropdown.includeSelectedTags=!0),("select"!=a.mode||(null===(i=e.dropdown)||void 0===i?void 0:i.enabled))&&a.userInput||(a.dropdown.enabled=0),a.disabled&&(a.dropdown.enabled=!1),a.dropdown.appendTarget=(null===(n=e.dropdown)||void 0===n?void 0:n.appendTarget)||document.body,void 0===a.dropdown.includeSelectedTags&&(a.dropdown.includeSelectedTags=a.duplicates);var o=this.getPersistedData("whitelist");Array.isArray(o)&&(this.whitelist=Array.isArray(a.whitelist)?g(a.whitelist,o):o)},getAttributes:function(t){var e,i=this.getCustomAttributes(t),n="";for(e in i)n+=" "+e+(void 0!==t[e]?'="'.concat(i[e],'"'):"");return n},getCustomAttributes:function(t){if(!c(t))return"";var e,i={};for(e in t)"__"!=e.slice(0,2)&&"class"!=e&&t.hasOwnProperty(e)&&void 0!==t[e]&&(i[e]=d(t[e]));return i},setStateSelection:function(){var t=window.getSelection(),e={anchorOffset:t.anchorOffset,anchorNode:t.anchorNode,range:t.getRangeAt&&t.rangeCount&&t.getRangeAt(0)};return this.state.selection=e,e},getCSSVars:function(){var t,e,i,n=getComputedStyle(this.DOM.scope,null);this.CSSVars={tagHideTransition:(t=function(t){if(!t)return{};var e=(t=t.trim().split(" ")[0]).split(/\d+/g).filter((function(t){return t})).pop().trim();return{value:+t.split(e).filter((function(t){return t}))[0].trim(),unit:e}}((i="tag-hide-transition",n.getPropertyValue("--"+i))),e=t.value,"s"==t.unit?1e3*e:e)}},build:function(t){var e=this.DOM,i=t.closest("label");this.settings.mixMode.integrated?(e.originalInput=null,e.scope=t,e.input=t):(e.originalInput=t,e.originalInput_tabIndex=t.tabIndex,e.scope=this.parseTemplate("wrapper",[t,this.settings]),e.input=e.scope.querySelector(this.settings.classNames.inputSelector),t.parentNode.insertBefore(e.scope,t),t.tabIndex=-1),i&&i.setAttribute("for","")},destroy:function(){var t,e,i;this.events.unbindGlobal.call(this),null===(t=this.DOM.scope.parentNode)||void 0===t||t.removeChild(this.DOM.scope),this.DOM.originalInput.tabIndex=this.DOM.originalInput_tabIndex,delete this.DOM.originalInput.__tagify,this.dropdown.hide(!0),this.removeAllCustomListeners(),clearTimeout(this.dropdownHide__bindEventsTimeout),clearInterval(null===(i=this.listeners)||void 0===i||null===(e=i.main)||void 0===e?void 0:e.originalInputValueObserverInterval)},loadOriginalValues:function(t){var e,i=this.settings;if(this.state.blockChangeEvent=!0,void 0===t){var n=this.getPersistedData("value");t=n&&!this.DOM.originalInput.value?n:i.mixMode.integrated?this.DOM.input.textContent:this.DOM.originalInput.value}if(this.removeAllTags(),t)if("mix"==i.mode)this.parseMixTags(t),(e=this.DOM.input.last
46384Child)&&"BR"==e.tagName||this.DOM.input.insertAdjacentHTML("beforeend","<br>");else{try{G(JSON.parse(t),Array)&&(t=JSON.parse(t))}catch(t){}this.addTags(t,!0).forEach((function(t){return t&&t.classList.add(i.classNames.tagNoAnimation)}))}else this.postUpdate();this.state.lastOriginalValueReported=i.mixMode.integrated?"":this.DOM.originalInput.value},cloneEvent:function(t){var e={};for(var i in t)"path"!=i&&(e[i]=t[i]);return e},loading:function(t){return this.state.isLoading=t,this.DOM.scope.classList[t?"add":"remove"](this.settings.classNames.scopeLoading),this},tagLoading:function(t,e){return t&&t.classList[e?"add":"remove"](this.settings.classNames.tagLoading),this},toggleClass:function(t,e){"string"==typeof t&&this.DOM.scope.classList.toggle(t,e)},toggleScopeValidation:function(t){var e=!0===t||void 0===t;!this.settings.required&&t&&t===this.TEXTS.empty&&(e=!0),this.toggleClass(this.settings.classNames.tagInvalid,!e),this.DOM.scope.title=e?"":t},toggleFocusClass:function(t){this.toggleClass(this.settings.classNames.focus,!!t)},setPlaceholder:function(t){var e=this;["data","aria"].forEach((function(i){return e.DOM.input.setAttribute("".concat(i,"-placeholder"),t)}))},triggerChangeEvent:function(){if(!this.settings.mixMode.integrated){var t=this.DOM.originalInput,e=this.state.lastOriginalValueReported!==t.value,i=new CustomEvent("change",{bubbles:!0});e&&(this.state.lastOriginalValueReported=t.value,i.simulated=!0,t._valueTracker&&t._valueTracker.setValue(Math.random()),t.dispatchEvent(i),this.trigger("change",this.state.lastOriginalValueReported),t.value=this.state.lastOriginalValueReported)}},events:z,fixFirefoxLastTagNoCaret:function(){},setRangeAtStartEnd:function(t,e){if(e){t="number"==typeof t?t:!!t,e=e.lastChild||e;var i=document.getSelection();if(G(i.focusNode,Element)&&!this.DOM.input.contains(i.focusNode))return!0;try{i.rangeCount>=1&&["Start","End"].forEach((function(n){return i.getRangeAt(0)["set"+n](e,t||e.length)}))}catch(t){console.warn(t)}}},insertAfterTag:function(t,e){if(e=e||this.settings.mixMode.insertAfterTag,t&&t.parentNode&&e)return e="string"==typeof e?document.createTextNode(e):e,t.parentNode.insertBefore(e,t.nextSibling),e},editTagChangeDetected:function(t){var e=t.__originalData;for(var i in e)if(!this.dataProps.includes(i)&&t[i]!=e[i])return!0;return!1},getTagTextNode:function(t){return t.querySelector(this.settings.classNames.tagTextSelector)},setTagTextNode:function(t,e){this.getTagTextNode(t).innerHTML=d(e)},editTag:function(t,e){var i=this;t=t||this.getLastTag(),e=e||{};var s=this.settings,a=this.getTagTextNode(t),o=this.getNodeIndex(t),r=y(t),l=this.events.callbacks,d=!0,c="select"==s.mode;if(!c&&this.dropdown.hide(),a){if(!G(r,Object)||!("editable"in r)||r.editable)return r=y(t,{__originalData:u({},r),__originalHTML:t.cloneNode(!0)}),y(r.__originalHTML,r.__originalData),a.setAttribute("contenteditable",!0),t.classList.add(s.classNames.tagEditing),this.events.callbacks.onEditTagFocus.call(this,t),a.addEventListener("click",l.onEditTagClick.bind(this,t)),a.addEventListener("blur",l.onEditTagBlur.bind(this,this.getTagTextNode(t))),a.addEventListener("input",l.onEditTagInput.bind(this,a)),a.addEventListener("paste",l.onEditTagPaste.bind(this,a)),a.addEventListener("keydown",(function(e){return l.onEditTagkeydown.call(i,e,t)})),a.addEventListener("compositionstart",l.onCompositionStart.bind(this)),a.addEventListener("compositionend",l.onCompositionEnd.bind(this)),e.skipValidation||(d=this.editTagToggleValidity(t)),a.originalIsValid=d,this.trigger("edit:start",{tag:t,index:o,data:r,isValid:d}),a.focus(),!c&&this.setRangeAtStartEnd(!1,a),0===s.dropdown.enabled&&!c&&this.dropdown.show(),this.state.hasFocus=!0,this}else n.warn("Cannot find element in Tag template: .",s.classNames.tagTextSelector)},editTagToggleValidity:function(t,e){var i;if(e=e||y(t))return(i=!("__isValid"in e)||!0===e.__isValid)||this.removeTagsFromValue(t),this.update(),t.classList.toggle(this.settings.classNames.tagNotAllowed,!i),e.__isValid=i,e.__isValid;n.warn("tag has no data: ",t,e)},onEditTagDone:function(t,e){t=t||this.state.editing.scope,e=e||{};var i,n,s=this.settings,a={tag:t,index:this.getNodeIndex(t),previousData:y(t),data:e};this.trigger("edit:beforeUpdate",a,{cloneData:!1}),this.state.editing=!1,delete e.__originalData,delete e.__originalHTML,t&&t.parentNode&&((void 0!==(n=e[s.tagTextProp])?null===(i=(n+="").trim)||void 0===i?void 0:i.call(n):s.tagTextProp in e?void 0:e.value)?(t=this.replaceTag(t,e),this.editTagToggleValidity(t,e),s.a11y.focusableTags?t.focus():"select"!=s.mode&&T(t)):this.removeTags(t)),this.trigger("edit:updated",a),s.dropdown.closeOnSelect&&this.dropdown.hide(),this.settings.keepInvalidTags&&this.reCheckInvalidTags()},replaceTag:function(t,e){e&&""!==e.value&&void 0!==e.value||(e=t.__tagifyTagData),e.__isValid&&1!=e.__isValid&&u(e,this.getInvalidTagAttrs(e,e.__isValid));var i=this.createTagElem(e);
46384return t.parentNode.replaceChild(i,t),this.updateValueByDOMTags(),i},updateValueByDOMTags:function(){var t=this;this.value.length=0;var e=this.settings.classNames,i=[e.tagNotAllowed.split(" ")[0],e.tagHide];[].forEach.call(this.getTagElms(),(function(e){Q(e.classList).some((function(t){return i.includes(t)}))||t.value.push(y(e))})),this.update(),this.dropdown.refilter()},injectAtCaret:function(t,e){var i;if(e=e||(null===(i=this.state.selection)||void 0===i?void 0:i.range),"string"==typeof t&&(t=document.createTextNode(t)),!e&&t)return this.appendMixTags(t),this;if(!this.DOM.scope.contains(null==e?void 0:e.startContainer))return this;var n=w(t,e);return this.setRangeAtStartEnd(!1,n),this.updateValueByDOMTags(),this.update(),this},input:{set:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this.settings,n=i.dropdown.closeOnSelect;this.state.inputText=t,e&&(this.DOM.input.innerHTML=d(""+t),t&&this.toggleClass(i.classNames.empty,!this.DOM.input.innerHTML)),!t&&n&&this.dropdown.hide.bind(this),this.input.autocomplete.suggest.call(this),this.input.validate.call(this)},raw:function(){return this.DOM.input.textContent},validate:function(){var t=!this.state.inputText||!0===this.validateTag({value:this.state.inputText});return this.DOM.input.classList.toggle(this.settings.classNames.inputInvalid,!t),t},normalize:function(t,e){var i=t||this.DOM.input,n=[];i.childNodes.forEach((function(t){return 3==t.nodeType&&n.push(t.nodeValue)})),n=n.join("\n");try{n=n.replace(/(?:\r\n|\r|\n)/g,this.settings.delimiters.source.charAt(0))}catch(t){}return n=n.replace(/\s/g," "),(null==e?void 0:e.trim)?this.trim(n):n},autocomplete:{suggest:function(t){if(this.settings.autoComplete.enabled){"object"!=typeof(t=t||{value:""})&&(t={value:t});var e=this.dropdown.getMappedValue(t);if("number"!=typeof e){var i=this.state.inputText.toLowerCase(),n=e.substr(0,this.state.inputText.length).toLowerCase(),s=e.substring(this.state.inputText.length);e&&this.state.inputText&&n==i?(this.DOM.input.setAttribute("data-suggest",s),this.state.inputSuggestion=t):(this.DOM.input.removeAttribute("data-suggest"),delete this.state.inputSuggestion)}}},set:function(t){var e=this.DOM.input.getAttribute("data-suggest"),i=t||(e?this.state.inputText+e:null);return!!i&&("mix"==this.settings.mode?this.replaceTextWithNode(document.createTextNode(this.state.tag.prefix+i)):(this.input.set.call(this,i),this.setRangeAtStartEnd(!1,this.DOM.input)),this.input.autocomplete.suggest.call(this),this.dropdown.hide(),!0)}}},getTagIdx:function(t){return this.value.findIndex((function(e){return e.__tagId==(t||{}).__tagId}))},getNodeIndex:function(t){var e=0;if(t)for(;t=t.previousElementSibling;)e++;return e},getTagElms:function(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];var n="."+Q(this.settings.classNames.tag.split(" ")).concat(Q(e)).join(".");return[].slice.call(this.DOM.scope.querySelectorAll(n))},getLastTag:function(){var t=this.settings.classNames,e=this.DOM.scope.querySelectorAll("".concat(t.tagSelector,":not(.").concat(t.tagHide,"):not([readonly])"));return e[e.length-1]},isTagDuplicate:function(t,e,i){var n=0,a=!0,o=!1,r=void 0;try{for(var l,d=this.value[Symbol.iterator]();!(a=(l=d.next()).done);a=!0){var c=l.value;s(this.trim(""+t),c.value,e)&&i!=c.__tagId&&n++}}catch(t){o=!0,r=t}finally{try{a||null==d.return||d.return()}finally{if(o)throw r}}return n},getTagIndexByValue:function(t){var e=this,i=[],n=this.settings.dropdown.caseSensitive;return this.getTagElms().forEach((function(a,o){a.__tagifyTagData&&s(e.trim(a.__tagifyTagData.value),t,n)&&i.push(o)})),i},getTagElmByValue:function(t){var e=this.getTagIndexByValue(t)[0];return this.getTagElms()[e]},flashTag:function(t){var e=this;t&&(t.classList.add(this.settings.classNames.tagFlash),setTimeout((function(){t.classList.remove(e.settings.classNames.tagFlash)}),100))},isTagBlacklisted:function(t){return t=this.trim(t.toLowerCase()),this.settings.blacklist.filter((function(e){return(""+e).toLowerCase()==t})).length},isTagWhitelisted:function(t){return!!this.getWhitelistItem(t)}
46384,getWhitelistItem:function(t,e,i){e=e||"value";var n,a=this.settings;return(i=i||a.whitelist).some((function(i){var o="object"==typeof i?i[e]||i.value:i;if(s(o,t,a.dropdown.caseSensitive,a.trim))return n="object"==typeof i?i:{value:i},!0})),n||"value"!=e||"value"==a.tagTextProp||(n=this.getWhitelistItem(t,a.tagTextProp,i)),n},validateTag:function(t){var e=this.settings,i="value"in t?"value":e.tagTextProp,n=this.trim(t[i]+"");return(t[i]+"").trim()?"mix"!=e.mode&&e.pattern&&G(e.pattern,RegExp)&&!e.pattern.test(n)?this.TEXTS.pattern:!e.duplicates&&this.isTagDuplicate(n,e.dropdown.caseSensitive,t.__tagId)?this.TEXTS.duplicate:this.isTagBlacklisted(n)||e.enforceWhitelist&&!this.isTagWhitelisted(n)?this.TEXTS.notAllowed:!e.validate||e.validate(t):this.TEXTS.empty},getInvalidTagAttrs:function(t,e){return{"aria-invalid":!0,class:"".concat(t.class||""," ").concat(this.settings.classNames.tagNotAllowed).trim(),title:e}},hasMaxTags:function(){return this.value.length>=this.settings.maxTags&&this.TEXTS.exceed},setReadonly:function(t,e){var i=this.settings;this.DOM.scope.contains(document.activeElement)&&document.activeElement.blur(),i[e||"readonly"]=t,this.DOM.scope[(t?"set":"remove")+"Attribute"](e||"readonly",!0),this.settings.userInput=!0,this.setContentEditable(!t),t||(this.events.binding.call(this,!0),this.events.binding.call(this))},setContentEditable:function(t){this.DOM.scope.querySelectorAll("[data-can-editable]").forEach((function(e){e.contentEditable=t,e.tabIndex=t?0:-1}))},setDisabled:function(t){this.setReadonly(t,"disabled")},normalizeTags:function(t){var e=this,i=this.settings,n=i.whitelist,s=i.delimiters,a=i.mode,o=i.tagTextProp,r=[],l=!!n&&G(n[0],Object),d=Array.isArray(t),g=d&&t[0].value,h=function(t){return(t+"").split(s).reduce((function(t,i){var n,s=e.trim(i);return s&&t.push((J(n={},o,s),J(n,"value",s),n)),t}),[])};if("number"==typeof t&&(t=t.toString()),"string"==typeof t){if(!t.trim())return[];t=h(t)}else d&&(t=t.reduce((function(t,i){if(c(i)){var n=u({},i);o in n||(o="value"),n[o]=e.trim(n[o]),(n[o]||0===n[o])&&t.push(n)}else if(null!=i&&""!==i&&void 0!==i){var s;(s=t).push.apply(s,Q(h(i)))}return t}),[]));return l&&!g&&(t.forEach((function(t){var i=r.map((function(t){return t.value})),n=e.dropdown.filterListItems.call(e,t[o],{exact:!0});e.settings.duplicates||(n=n.filter((function(t){return!i.includes(t.value)})));var s=n.length>1?e.getWhitelistItem(t[o],o,n):n[0];s&&G(s,Object)?r.push(s):"mix"!=a&&(null==t.value&&(t.value=t[o]),r.push(t))})),r.length&&(t=r)),t},parseMixTags:function(t){var e=this,i=this.settings,n=i.mixTagsInterpolator,s=i.duplicates,a=i.transformTag,o=i.enforceWhitelist,r=i.maxTags,l=i.tagTextProp,d=[];t=t.split(n[0]).map((function(t,i){var c,u,g,h=t.split(n[1]),p=h[0],f=d.length==r;try{if(p==+p)throw Error;u=JSON.parse(p)}catch(t){u=e.normalizeTags(p)[0]||{value:p}}if(a.call(e,u),f||!(h.length>1)||o&&!e.isTagWhitelisted(u.value)||!s&&e.isTagDuplicate(u.value)){if(t)return i?n[0]+t:t}else u[c=u[l]?l:"value"]=e.trim(u[c]),g=e.createTagElem(u),d.push(u),g.classList.add(e.settings.classNames.tagNoAnimation),h[0]=g.outerHTML,e.value.push(u);return h.join("")})).join(""),this.DOM.input.innerHTML=t,this.DOM.input.appendChild(document.createTextNode("")),this.DOM.input.normalize();var c=this.getTagElms();return c.forEach((function(t,e){return y(t,d[e])})),this.update({withoutChangeEvent:!0}),O(c,this.state.hasFocus),t},replaceTextWithNode:function(t,e){if(this.state.tag||e){e=e||this.state.tag.prefix+this.state.tag.value;var i,n,s=this.state.selection||window.getSelection(),a=s.anchorNode,o=this.state.tag.delimiters?this.state.tag.delimiters.length:0;return a.splitText(s.anchorOffset-o),-1==(i=a.nodeValue.lastIndexOf(e))?!0:(n=a.splitText(i),t&&a.parentNode.replaceChild(t,n),!0)}},prepareNewTagNode:function(t,e){e=e||{};var i=this.settings,n=[],s={},a=Object.assign({},t,{value:t.value+""});if(t=Object.assign({},a),i.transformTag.call(this,t),t.__isValid=this.hasMaxTags()||this.validateTag(t),!0!==t.__isValid){if(e.skipInvalid)return;if(u(s,this.getInvalidTagAttrs(t,t.__isValid),{__preInvalidData:a}),t.__isValid==this.TEXTS.duplicate&&this.flashTag(this.getTagElmByValue(t.value)),!i.createInvalidTags)return void n.push(t.value)}return"readonly"in t&&(t.readonly?s["aria-readonly"]=!0:delete t.readonly),{tagElm:this.createTagElem(t,s),tagData:t,aggregatedInvalidInput:n}},postProcessNewTagNode:function(t,e){var i=this,n=this.settings,s=e.__isValid;s&&!0===s?this.value.push(e):(this.trigger("invalid",{data:e,index:this.value.length,tag:t,message:s}),n.keepInvalidTags||setTimeout((function(){return i.removeTags(t,!0)}),1e3)),this.dropdown.position()},selectTag:function(t,e){var i=this;if(!this.settings.enforceWhitelist||this.isTagWhitelisted(e.value)){this.state.actions.selectOption&&setTimeout((function(){return i.setRangeAtStartEnd(!1,i.DOM.input)}));
46384var n=this.getLastTag();return n?this.replaceTag(n,e):this.appendTag(t),this.value[0]=e,this.update(),this.trigger("add",{tag:t,data:e}),[t]}},addEmptyTag:function(t){var e=u({value:""},t||{}),i=this.createTagElem(e);y(i,e),this.appendTag(i),this.editTag(i,{skipValidation:!0}),this.toggleFocusClass(!0)},addTags:function(t,e,i){var n=this,s=[],a=this.settings,o=[],r=document.createDocumentFragment(),l=[];if(!t||0==t.length)return s;switch(t=this.normalizeTags(t),a.mode){case"mix":return this.addMixTags(t);case"select":e=!1,this.removeAllTags()}return this.DOM.input.removeAttribute("style"),t.forEach((function(t){var e=n.prepareNewTagNode(t,{skipInvalid:i||a.skipInvalid});if(e){var d=e.tagElm;if(t=e.tagData,o=e.aggregatedInvalidInput,s.push(d),"select"==a.mode)return n.selectTag(d,t);r.appendChild(d),n.postProcessNewTagNode(d,t),l.push({tagElm:d,tagData:t})}})),this.appendTag(r),l.forEach((function(t){var e=t.tagElm,i=t.tagData;return n.trigger("add",{tag:e,index:n.getTagIdx(i),data:i})})),this.update(),t.length&&e&&(this.input.set.call(this,a.createInvalidTags?"":o.join(a._delimiters)),this.setRangeAtStartEnd(!1,this.DOM.input)),this.dropdown.refilter(),s},addMixTags:function(t){var e=this;if((t=this.normalizeTags(t))[0].prefix||this.state.tag)return this.prefixedTextToTag(t[0]);var i=document.createDocumentFragment();return t.forEach((function(t){var n=e.prepareNewTagNode(t);i.appendChild(n.tagElm),e.insertAfterTag(n.tagElm),e.postProcessNewTagNode(n.tagElm,n.tagData)})),this.appendMixTags(i),i.children},appendMixTags:function(t){var e=!!this.state.selection;e?this.injectAtCaret(t):(this.DOM.input.focus(),(e=this.setStateSelection()).range.setStart(this.DOM.input,e.range.endOffset),e.range.setEnd(this.DOM.input,e.range.endOffset),this.DOM.input.appendChild(t),this.updateValueByDOMTags(),this.update())},prefixedTextToTag:function(t){var e,i,n,s=this,a=this.settings,o=null===(e=this.state.tag)||void 0===e?void 0:e.delimiters;if(t.prefix=t.prefix||this.state.tag?this.state.tag.prefix:(a.pattern.source||a.pattern)[0],n=this.prepareNewTagNode(t),i=n.tagElm,this.replaceTextWithNode(i)||this.DOM.input.appendChild(i),setTimeout((function(){return i.classList.add(s.settings.classNames.tagNoAnimation)}),300),this.update(),!o){var r=this.insertAfterTag(i)||i;setTimeout(T,0,r)}return this.state.tag=null,this.postProcessNewTagNode(i,n.tagData),i},appendTag:function(t){var e=this.DOM,i=e.input;e.scope.insertBefore(t,i)},createTagElem:function(t,e){t.__tagId=f();var i,n=u({},t,$({value:d(t.value+"")},e));return function(t){for(var e,i=document.createNodeIterator(t,NodeFilter.SHOW_TEXT,null,!1);e=i.nextNode();)e.textContent.trim()||e.parentNode.removeChild(e)}(i=this.parseTemplate("tag",[n,this])),y(i,t),i},reCheckInvalidTags:function(){var t=this,e=this.settings;this.getTagElms(e.classNames.tagNotAllowed).forEach((function(i,n){var s=y(i),a=t.hasMaxTags(),o=t.validateTag(s),r=!0===o&&!a;if("select"==e.mode&&t.toggleScopeValidation(o),r)return s=s.__preInvalidData?s.__preInvalidData:{value:s.value},t.replaceTag(i,s);i.title=a||o}))},removeTags:function(t,e,i){var n,s=this,a=this.settings;if(t=t&&G(t,HTMLElement)?[t]:G(t,Array)?t:t?[t]:[this.getLastTag()].filter((function(t){return t})),n=t.reduce((function(t,e){e&&"string"==typeof e&&(e=s.getTagElmByValue(e));var i=y(e);return e&&i&&!i.readonly&&t.push({node:e,idx:s.getTagIdx(i),data:y(e,{__removed:!0})}),t}),[]),i="number"==typeof i?i:this.CSSVars.tagHideTransition,"select"==a.mode&&(i=0,this.input.set.call(this)),1==n.length&&"select"!=a.mode&&n[0].node.classList.contains(a.classNames.tagNotAllowed)&&(e=!0),n.length)return a.hooks.beforeRemoveTag(n,{tagify:this}).then((function(){var t=function(t){t.node.parentNode&&(t.node.parentNode.removeChild(t.node),e?a.keepInvalidTags&&this.trigger("remove",{tag:t.node,index:t.idx}):(this.dropdown.refilter(),this.dropdown.position(),this.DOM.input.normalize(),a.keepInvalidTags&&this.reCheckInvalidTags(),this.trigger("remove",{tag:t.node,index:t.idx,data:t.data})))};e||(s.removeTagsFromValue(n.map((function(t){return t.node}))),s.update(),"select"==a.mode&&a.userInput&&s.setContentEditable(!0)),i&&i>10&&1==n.length?function(e){e.node.style.width=parseFloat(window.getComputedStyle(e.node).width)+"px",document.body.clientTop,e.node.classList.add(a.classNames.tagHide),setTimeout(t.bind(this),i,e)}
46384.call(s,n[0]):n.forEach(t.bind(s))})).catch((function(t){}))},removeTagsFromDOM:function(){this.getTagElms().forEach((function(t){return t.remove()}))},removeTagsFromValue:function(t){var e=this;(t=Array.isArray(t)?t:[t]).forEach((function(t){var i=y(t),n=e.getTagIdx(i);n>-1&&e.value.splice(n,1)}))},removeAllTags:function(t){var e=this;t=t||{},this.value=[],"mix"==this.settings.mode?this.DOM.input.innerHTML="":this.removeTagsFromDOM(),this.dropdown.refilter(),this.dropdown.position(),this.state.dropdown.visible&&setTimeout((function(){e.DOM.input.focus()})),"select"==this.settings.mode&&(this.input.set.call(this),this.settings.userInput&&this.setContentEditable(!0)),this.update(t,(function(){e.trigger("remove",{})}))},postUpdate:function(){this.state.blockChangeEvent=!1;var t,e,i=this.settings,n=i.classNames,s="mix"==i.mode?i.mixMode.integrated?this.DOM.input.textContent:this.DOM.originalInput.value.trim():this.value.length+this.input.raw.call(this).length;(this.toggleClass(n.hasMaxTags,this.value.length>=i.maxTags),this.toggleClass(n.hasNoTags,!this.value.length),this.toggleClass(n.empty,!s),"select"==i.mode)&&this.toggleScopeValidation(null===(e=this.value)||void 0===e||null===(t=e[0])||void 0===t?void 0:t.__isValid)},setOriginalInputValue:function(t){var e=this.DOM.originalInput;this.settings.mixMode.integrated||(e.value=t,e.tagifyValue=e.value)},update:function(t,e){clearTimeout(this.debouncedUpdateTimeout),this.debouncedUpdateTimeout=setTimeout(function(){this.setPersistedData(i,"value"),this.settings.onChangeAfterBlur&&(t||{}).withoutChangeEvent||this.state.blockChangeEvent||this.triggerChangeEvent();this.postUpdate(),null==e||e()}.bind(this),100),this.events.bindOriginaInputListener.call(this,100);var i=this.getInputValue();this.setOriginalInputValue(i)},getInputValue:function(){var t=this.getCleanValue();return"mix"==this.settings.mode?this.getMixedTagsAsString(t):t.length?this.settings.originalInputValueFormat?this.settings.originalInputValueFormat(t):JSON.stringify(t):""},getCleanValue:function(t){return a(t||this.value,this.dataProps)},getMixedTagsAsString:function(){var t="",e=this,i=this.settings,n=i.originalInputValueFormat||JSON.stringify,s=i.mixTagsInterpolator;return function i(a){a.childNodes.forEach((function(a){if(1==a.nodeType){var r=y(a);if("BR"==a.tagName&&(t+="\r\n"),r&&m.call(e,a)){if(r.__removed)return;t+=s[0]+n(o(r,e.dataProps))+s[1]}else a.getAttribute("style")||["B","I","U"].includes(a.tagName)?t+=a.textContent:"DIV"!=a.tagName&&"P"!=a.tagName||(t+="\r\n",i(a))}else t+=a.textContent}))}(this.DOM.input),t}},Y.prototype.removeTag=Y.prototype.removeTags,Y}));
46385//# sourceMappingURL=tagify.js.map
46386
46387!function(e){e(["jquery"],function(e){return function(){function t(e,t,n){return g({type:O.error,iconClass:m().iconClasses.error,message:e,optionsOverride:n,title:t})}function n(t,n){return t||(t=m()),v=e("#"+t.containerId),v.length?v:(n&&(v=d(t)),v)}function o(e,t,n){return g({type:O.info,iconClass:m().iconClasses.info,message:e,optionsOverride:n,title:t})}function s(e){C=e}function i(e,t,n){return g({type:O.success,iconClass:m().iconClasses.success,message:e,optionsOverride:n,title:t})}function a(e,t,n){return g({type:O.warning,iconClass:m().iconClasses.warning,message:e,optionsOverride:n,title:t})}function r(e,t){var o=m();v||n(o),u(e,o,t)||l(o)}function c(t){var o=m();return v||n(o),t&&0===e(":focus",t).length?void h(t):void(v.children().length&&v.remove())}function l(t){for(var n=v.children(),o=n.length-1;o>=0;o--)u(e(n[o]),t)}function u(t,n,o){var s=!(!o||!o.force)&&o.force;return!(!t||!s&&0!==e(":focus",t).length)&&(t[n.hideMethod]({duration:n.hideDuration,easing:n.hideEasing,complete:function(){h(t)}}),!0)}function d(t){return v=e("<div/>").attr("id",t.containerId).addClass(t.positionClass),v.appendTo(e(t.target)),v}function p(){return{tapToDismiss:!0,toastClass:"toastr",containerId:"toastr-container",debug:!1,showMethod:"fadeIn",showDuration:300,showEasing:"swing",onShown:void 0,hideMethod:"fadeOut",hideDuration:1e3,hideEasing:"swing",onHidden:void 0,closeMethod:!1,closeDuration:!1,closeEasing:!1,
vendor: 6,012 bytes, lines 46387-46395
46387closeOnHover:!0,extendedTimeOut:1e3,iconClasses:{error:"toastr-error",info:"toastr-info",success:"toastr-success",warning:"toastr-warning"},iconClass:"toastr-info",positionClass:"toastr-top-right",timeOut:5e3,titleClass:"toastr-title",messageClass:"toastr-message",escapeHtml:!1,target:"body",closeHtml:'<button type="button">&times;</button>',closeClass:"toastr-close-button",newestOnTop:!0,preventDuplicates:!1,progressBar:!1,progressClass:"toastr-progress",rtl:!1}}function f(e){C&&C(e)}function g(t){function o(e){return null==e&&(e=""),e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function s(){c(),u(),d(),p(),g(),C(),l(),i()}function i(){var e="";switch(t.iconClass){case"toastr-success":case"toastr-info":e="polite";break;default:e="assertive"}I.attr("aria-live",e)}function a(){E.closeOnHover&&I.hover(H,D),!E.onclick&&E.tapToDismiss&&I.click(b),E.closeButton&&j&&j.click(function(e){e.stopPropagation?e.stopPropagation():void 0!==e.cancelBubble&&e.cancelBubble!==!0&&(e.cancelBubble=!0),E.onCloseClick&&E.onCloseClick(e),b(!0)}),E.onclick&&I.click(function(e){E.onclick(e),b()})}function r(){I.hide(),I[E.showMethod]({duration:E.showDuration,easing:E.showEasing,complete:E.onShown}),E.timeOut>0&&(k=setTimeout(b,E.timeOut),F.maxHideTime=parseFloat(E.timeOut),F.hideEta=(new Date).getTime()+F.maxHideTime,E.progressBar&&(F.intervalId=setInterval(x,10)))}function c(){t.iconClass&&I.addClass(E.toastClass).addClass(y)}function l(){E.newestOnTop?v.prepend(I):v.append(I)}function u(){if(t.title){var e=t.title;E.escapeHtml&&(e=o(t.title)),M.append(e).addClass(E.titleClass),I.append(M)}}function d(){if(t.message){var e=t.message;E.escapeHtml&&(e=o(t.message)),B.append(e).addClass(E.messageClass),I.append(B)}}function p(){E.closeButton&&(j.addClass(E.closeClass).attr("role","button"),I.prepend(j))}function g(){E.progressBar&&(q.addClass(E.progressClass),I.prepend(q))}function C(){E.rtl&&I.addClass("rtl")}function O(e,t){if(e.preventDuplicates){if(t.message===w)return!0;w=t.message}return!1}function b(t){var n=t&&E.closeMethod!==!1?E.closeMethod:E.hideMethod,o=t&&E.closeDuration!==!1?E.closeDuration:E.hideDuration,s=t&&E.closeEasing!==!1?E.closeEasing:E.hideEasing;if(!e(":focus",I).length||t)return clearTimeout(F.intervalId),I[n]({duration:o,easing:s,complete:function(){h(I),clearTimeout(k),E.onHidden&&"hidden"!==P.state&&E.onHidden(),P.state="hidden",P.endTime=new Date,f(P)}})}function D(){(E.timeOut>0||E.extendedTimeOut>0)&&(k=setTimeout(b,E.extendedTimeOut),F.maxHideTime=parseFloat(E.extendedTimeOut),F.hideEta=(new Date).getTime()+F.maxHideTime)}function H(){clearTimeout(k),F.hideEta=0,I.stop(!0,!0)[E.showMethod]({duration:E.showDuration,easing:E.showEasing})}function x(){var e=(F.hideEta-(new Date).getTime())/F.maxHideTime*100;q.width(e+"%")}var E=m(),y=t.iconClass||E.iconClass;if("undefined"!=typeof t.optionsOverride&&(E=e.extend(E,t.optionsOverride),y=t.optionsOverride.iconClass||y),!O(E,t)){T++,v=n(E,!0);var k=null,I=e("<div/>"),M=e("<div/>"),B=e("<div/>"),q=e("<div/>"),j=e(E.closeHtml),F={intervalId:null,hideEta:null,maxHideTime:null},P={toastId:T,state:"visible",startTime:new Date,options:E,map:t};return s(),r(),a(),f(P),E.debug&&console&&console.log(P),I}}function m(){return e.extend({},p(),b.options)}function h(e){v||(v=n()),e.is(":visible")||(e.remove(),e=null,0===v.children().length&&(v.remove(),w=void 0))}var v,C,w,T=0,O={error:"error",info:"info",success:"success",warning:"warning"},b={clear:r,remove:c,error:t,getContainer:n,info:o,options:{},subscribe:s,success:i,version:"2.1.4",warning:a};return b}()})}("function"==typeof define&&define.amd?define:function(e,t){"undefined"!=typeof module&&module.exports?module.exports=t(require("jquery")):window.toastr=t(window.jQuery)});
46388//# sourceMappingURL=toastr.js.map
46389
46390/*!
46391 * ApexCharts v4.7.0
46392 * (c) 2018-2025 ApexCharts
46393 * Released under the MIT License.
46394 */
46395!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).ApexCharts=e()}(this,(function(){"use strict";function t(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,a=Array(e);i<e;i++)a[i]=t[i];return a}function e(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){for(var i=0;i<e.length;i++){var a=e[i];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,x(a.key),a)}}function s(t,e,i){return e&&a(t.prototype,e),i&&a(t,i),Object.defineProperty(t,"prototype",{writable:!1}),t}function r(t,e){var i="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!i){if(Array.isArray(t)||(i=m(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var a=0,s=function(){};return{s:s,n:function(){return a>=t.length?{done:!0}:{done:!1,value:t[a++]}},e:function(t){throw t},f:s}}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 r,n=!0,o=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return n=t.done,t},e:function(t){o=!0,r=t},f:function(){try{n||null==i.return||i.return()}finally{if(o)throw r}}}}function n(t){var i=c();return function(){var a,s=l(t);if(i){var r=l(this).constructor;a=Reflect.construct(s,arguments,r)}else a=s.apply(this,arguments);return function(t,i){if(i&&("object"==typeof i||"function"==typeof i))return i;if(void 0!==i)throw new TypeError("Derived constructors may only return object or undefined");return e(t)}(this,a)}}function o(t,e,i){return(e=x(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function l(t){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},l(t)}
46395function h(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&&g(t,e)}function c(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(c=function(){return!!t})()}function d(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function u(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?d(Object(i),!0).forEach((function(e){o(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):d(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}function g(t,e){return g=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},g(t,e)}function p(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var i=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=i){var a,s,r,n,o=[],l=!0,h=!1;try{if(r=(i=i.call(t)).next,0===e){if(Object(i)!==i)return;l=!1}else for(;!(l=(a=r.call(i)).done)&&(o.push(a.value),o.length!==e);l=!0);}catch(t){h=!0,s=t}finally{try{if(!l&&null!=i.return&&(n=i.return(),Object(n)!==n))return}finally{if(h)throw s}}return o}}(t,e)||m(t,e)||function(){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 f(e){return function(e){if(Array.isArray(e))return t(e)}(e)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(e)||m(e)||function(){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 x(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var a=i.call(t,e||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:e+""}function b(t){return b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},b(t)}function m(e,i){if(e){if("string"==typeof e)return t(e,i);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?t(e,i):void 0}}var v=function(){function t(){i(this,t)}return s(t,[{key:"shadeRGBColor",value:function(t,e){var i=e.split(","),a=t<0?0:255,s=t<0?-1*t:t,r=parseInt(i[0].slice(4),10),n=parseInt(i[1],10),o=parseInt(i[2],10);return"rgb("+(Math.round((a-r)*s)+r)+","+(Math.round((a-n)*s)+n)+","+(Math.round((a-o)*s)+o)+")"}},{key:"shadeHexColor",value:function(t,e){var i=parseInt(e.slice(1),16),a=t<0?0:255,s=t<0?-1*t:t,r=i>>16,n=i>>8&255,o=255&i;return"#"+(16777216+65536*(Math.round((a-r)*s)+r)+256*(Math.round((a-n)*s)+n)+(Math.round((a-o)*s)+o)).toString(16).slice(1)}},{key:"shadeColor",value:function(e,i){return t.isColorHex(i)?this.shadeHexColor(e,i):this.shadeRGBColor(e,i)}}],[{key:"bind",value:function(t,e){return function(){return t.apply(e,arguments)}}},{key:"isObject",value:function(t){return t&&"object"===b(t)&&!Array.isArray(t)&&null!=t}},{key:"is",value:function(t,e){return Object.prototype.toString.call(e)==="[object "+t+"]"}},{key:"isSafari",value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:"listToArray",value:function(t){var e,i=[];for(e=0;e<t.length;e++)i[e]=t[e];return i}},{key:"extend",value:function(t,e){var i=this;"function"!=typeof Object.assign&&(Object.assign=function(t){if(null==t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),i=1;i<arguments.length;i++){var a=arguments[i];if(null!=a)for(var s in a)a.hasOwnProperty(s)&&(e[s]=a[s])}return e});var a=Object.assign({},t);return this.isObject(t)&&this.isObject(e)&&Object.keys(e).forEach((function(s){i.isObject(e[s])&&s in t?a[s]=i.extend(t[s],e[s]):Object.assign(a,o({},s,e[s]))})),a}},{key:"extendArray",value:function(e,i){var a=[];return e.map((function(e){a.push(t.extend(i,e))})),e=a}},{key:"monthMod",value:function(t){return t%12}},{key:"clone",value:function(t){var e,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new WeakMap;if(null===t||"object"!==b(t))return t;if(i.has(t))return i.get(t);if(Array.isArray(t)){e=[],i.set(t,e);for(var a=0;a<t.length;a++)e[a]=this.clone(t[a],i)}else if(t instanceof Date)e=new Date(t.getTime());else for(var s in e={},i.set(t,e),t)t.hasOwnProperty(s)&&(e[s]=this.clone(t[s],i));return e}},{key:"log10",value:function(t){return Math.log(t)/Math.LN10}}
vendor: 4,267 bytes, line 46395
46395,{key:"roundToBase10",value:function(t){return Math.pow(10,Math.floor(Math.log10(t)))}},{key:"roundToBase",value:function(t,e){return Math.pow(e,Math.floor(Math.log(t)/Math.log(e)))}},{key:"parseNumber",value:function(t){return null===t?t:parseFloat(t)}},{key:"stripNumber",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return Number.isInteger(t)?t:parseFloat(t.toPrecision(e))}},{key:"randomId",value:function(){return(Math.random()+1).toString(36).substring(4)}},{key:"noExponents",value:function(t){return t.toString().includes("e")?Math.round(t):t}},{key:"elementExists",value:function(t){return!(!t||!t.isConnected)}},{key:"getDimensions",value:function(t){var e=getComputedStyle(t,null),i=t.clientHeight,a=t.clientWidth;return i-=parseFloat(e.paddingTop)+parseFloat(e.paddingBottom),[a-=parseFloat(e.paddingLeft)+parseFloat(e.paddingRight),i]}},{key:"getBoundingClientRect",value:function(t){var e=t.getBoundingClientRect();return{top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:t.clientWidth,height:t.clientHeight,x:e.left,y:e.top}}},{key:"getLargestStringFromArr",value:function(t){return t.reduce((function(t,e){return Array.isArray(e)&&(e=e.reduce((function(t,e){return t.length>e.length?t:e}))),t.length>e.length?t:e}),0)}},{key:"hexToRgba",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"#999999",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.6;"#"!==t.substring(0,1)&&(t="#999999");var i=t.replace("#","");i=i.match(new RegExp("(.{"+i.length/3+"})","g"));for(var a=0;a<i.length;a++)i[a]=parseInt(1===i[a].length?i[a]+i[a]:i[a],16);return void 0!==e&&i.push(e),"rgba("+i.join(",")+")"}},{key:"getOpacityFromRGBA",value:function(t){return parseFloat(t.replace(/^.*,(.+)\)/,"$1"))}},{key:"rgb2hex",value:function(t){return(t=t.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i))&&4===t.length?"#"+("0"+parseInt(t[1],10).toString(16)).slice(-2)+("0"+parseInt(t[2],10).toString(16)).slice(-2)+("0"+parseInt(t[3],10).toString(16)).slice(-2):""}},{key:"isColorHex",value:function(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)|(^#[0-9A-F]{8}$)/i.test(t)}},{key:"getPolygonPos",value:function(t,e){for(var i=[],a=2*Math.PI/e,s=0;s<e;s++){var r={};r.x=t*Math.sin(s*a),r.y=-t*Math.cos(s*a),i.push(r)}return i}},{key:"polarToCartesian",value:function(t,e,i,a){var s=(a-90)*Math.PI/180;return{x:t+i*Math.cos(s),y:e+i*Math.sin(s)}}},{key:"escapeString",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"x",i=t.toString().slice();return i=i.replace(/[` ~!@#$%^&*()|+\=?;:'",.<>{}[\]\\/]/gi,e)}},{key:"negToZero",value:function(t){return t<0?0:t}},{key:"moveIndexInArray",value:function(t,e,i){if(i>=t.length)for(var a=i-t.length+1;a--;)t.push(void 0);return t.splice(i,0,t.splice(e,1)[0]),t}},{key:"extractNumber",value:function(t){return parseFloat(t.replace(/[^\d.]*/g,""))}},{key:"findAncestor",value:function(t,e){for(;(t=t.parentElement)&&!t.classList.contains(e););return t}},{key:"setELstyles",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t.style.key=e[i])}},{key:"preciseAddition",value:function(t,e){var i=(String(t).split(".")[1]||"").length,a=(String(e).split(".")[1]||"").length,s=Math.pow(10,Math.max(i,a));return(Math.round(t*s)+Math.round(e*s))/s}},{key:"isNumber",value:function(t){return!isNaN(t)&&parseFloat(Number(t))===t&&!isNaN(parseInt(t,10))}},{key:"isFloat",value:function(t){return Number(t)===t&&t%1!=0}},{key:"isMsEdge",value:function(){var t=window.navigator.userAgent,e=t.indexOf("Edge/");return e>0&&parseInt(t.substring(e+5,t.indexOf(".",e)),10)}},{key:"getGCD",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:7,a=Math.pow(10,i-Math.floor(Math.log10(Math.max(t,e))));for(t=Math.round(Math.abs(t)*a),e=Math.round(Math.abs(e)*a);e;){var s=e;e=t%e,t=s}return t/a}},{key:"getPrimeFactors",value:function(t){for(var e=[],i=2;t>=2;)t%i==0?(e.push(i),t/=i):i++;return e}},{key:"mod",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:7,a=Math.pow(10,i-Math.floor(Math.log10(Math.max(t,e))));return(t=Math.round(Math.abs(t)*a))%(e=Math.round(Math.abs(e)*a))/a}}]),t}(),y=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}
46395return s(t,[{key:"animateLine",value:function(t,e,i,a){t.attr(e).animate(a).attr(i)}},{key:"animateMarker",value:function(t,e,i,a){t.attr({opacity:0}).animate(e).attr({opacity:1}).after((function(){a()}))}},{key:"animateRect",value:function(t,e,i,a,s){t.attr(e).animate(a).attr(i).after((function(){return s()}))}},{key:"animatePathsGradually",value:function(t){var e=t.el,i=t.realIndex,a=t.j,s=t.fill,r=t.pathFrom,n=t.pathTo,o=t.speed,l=t.delay,h=this.w,c=0;h.config.chart.animations.animateGradually.enabled&&(c=h.config.chart.animations.animateGradually.delay),h.config.chart.animations.dynamicAnimation.enabled&&h.globals.dataChanged&&"bar"!==h.config.chart.type&&(c=0),this.morphSVG(e,i,a,"line"!==h.config.chart.type||h.globals.comboCharts?s:"stroke",r,n,o,l*c)}},{key:"showDelayedElements",value:function(){this.w.globals.delayedElements.forEach((function(t){var e=t.el;e.classList.remove("apexcharts-element-hidden"),e.classList.add("apexcharts-hidden-element-shown")}))}},{key:"animationCompleted",value:function(t){var e=this.w;e.globals.animationEnded||(e.globals.animationEnded=!0,this.showDelayedElements(),"function"==typeof e.config.chart.events.animationEnd&&e.config.chart.events.animationEnd(this.ctx,{el:t,w:e}))}},{key:"morphSVG",value:function(t,e,i,a,s,r,n,o){var l=this,h=this.w;s||(s=t.attr("pathFrom")),r||(r=t.attr("pathTo"));var c=function(t){return"radar"===h.config.chart.type&&(n=1),"M 0 ".concat(h.globals.gridHeight)};(!s||s.indexOf("undefined")>-1||s.indexOf("NaN")>-1)&&(s=c()),(!r.trim()||r.indexOf("undefined")>-1||r.indexOf("NaN")>-1)&&(r=c()),h.globals.shouldAnimate||(n=1),t.plot(s).animate(1,o).plot(s).animate(n,o).plot(r).after((function(){v.isNumber(i)?i===h.globals.series[h.globals.maxValsInArrayIndex].length-2&&h.globals.shouldAnimate&&l.animationCompleted(t):"none"!==a&&h.globals.shouldAnimate&&(!h.globals.comboCharts&&e===h.globals.series.length-1||h.globals.comboCharts)&&l.animationCompleted(t),l.showDelayedElements()}))}}]),t}();const w={},k=[];function A(t,e){if(Array.isArray(t))for(const i of t)A(i,e);else if("object"!=typeof t)S(Object.getOwnPropertyNames(e)),w[t]=Object.assign(w[t]||{},e);else for(const e in t)A(e,t[e])}function C(t){return w[t]||{}}function S(t){k.push(...t)}function L(t,e){let i;const a=t.length,s=[];for(i=0;i<a;i++)s.push(e(t[i]));return s}function M(t){return t%360*Math.PI/180}function P(t){return t.charAt(0).toUpperCase()+t.slice(1)}function I(t,e,i,a){return null!=e&&null!=i||(a=a||t.bbox(),null==e?e=a.width/a.height*i:null==i&&(i=a.height/a.width*e)),{width:e,height:i}}function T(t,e){const i=t.origin;let a=null!=t.ox?t.ox:null!=t.originX?t.originX:"center",s=null!=t.oy?t.oy:null!=t.originY?t.originY:"center";null!=i&&([a,s]=Array.isArray(i)?i:"object"==typeof i?[i.x,i.y]:[i,i]);const r="string"==typeof a,n="string"==typeof s;if(r||n){const{height:t,width:i,x:o,y:l}=e.bbox();r&&(a=a.includes("left")?o:a.includes("right")?o+i:o+i/2),n&&(s=s.includes("top")?l:s.includes("bottom")?l+t:l+t/2)}return[a,s]}const z=new Set(["desc","metadata","title"]),X=t=>z.has(t.nodeName),R=(t,e,i={})=>{const a={...e};for(const t in a)a[t].valueOf()===i[t]&&delete a[t];Object.keys(a).length?t.node.setAttribute("data-svgjs",JSON.stringify(a)):(t.node.removeAttribute("data-svgjs"),t.node.removeAttribute("svgjs:data"))},E="http://www.w3.org/2000/svg",Y="http://www.w3.org/2000/xmlns/",H="http://www.w3.org/1999/xlink",O={window:"undefined"==typeof window?null:window,document:"undefined"==typeof document?null:document};function F(){return O.window}let D=class{};const _={},N="___SYMBOL___ROOT___";function W(t,e=E){return O.document.createElementNS(e,t)}function B(t,e=!1){if(t instanceof D)return t;if("object"==typeof t)return U(t);if(null==t)return new _[N];if("string"==typeof t&&"<"!==t.charAt(0))return U(O.document.querySelector(t));const i=e?O.document.createElement("div"):W("svg");return i.innerHTML=t,t=U(i.firstChild),i.removeChild(i.firstChild),t}function G(t,e){return e&&(e instanceof O.window.Node||e.ownerDocument&&e instanceof e.ownerDocument.defaultView.Node)?e:W(t)}function V(t){if(!t)return null;if(t.instance instanceof D)return t.instance;if("#document-fragment"===t.nodeName)return new _.Fragment(t);
vendor: 21,647 bytes, line 46395
46395let e=P(t.nodeName||"Dom");return"LinearGradient"===e||"RadialGradient"===e?e="Gradient":_[e]||(e="Dom"),new _[e](t)}let U=V;function q(t,e=t.name,i=!1){return _[e]=t,i&&(_[N]=t),S(Object.getOwnPropertyNames(t.prototype)),t}let Z=1e3;function $(t){return"Svgjs"+P(t)+Z++}function J(t){for(let e=t.children.length-1;e>=0;e--)J(t.children[e]);return t.id?(t.id=$(t.nodeName),t):t}function Q(t,e){let i,a;for(a=(t=Array.isArray(t)?t:[t]).length-1;a>=0;a--)for(i in e)t[a].prototype[i]=e[i]}function K(t){return function(...e){const i=e[e.length-1];return!i||i.constructor!==Object||i instanceof Array?t.apply(this,e):t.apply(this,e.slice(0,-1)).attr(i)}}A("Dom",{siblings:function(){return this.parent().children()},position:function(){return this.parent().index(this)},next:function(){return this.siblings()[this.position()+1]},prev:function(){return this.siblings()[this.position()-1]},forward:function(){const t=this.position();return this.parent().add(this.remove(),t+1),this},backward:function(){const t=this.position();return this.parent().add(this.remove(),t?t-1:0),this},front:function(){return this.parent().add(this.remove()),this},back:function(){return this.parent().add(this.remove(),0),this},before:function(t){(t=B(t)).remove();const e=this.position();return this.parent().add(t,e),this},after:function(t){(t=B(t)).remove();const e=this.position();return this.parent().add(t,e+1),this},insertBefore:function(t){return(t=B(t)).before(this),this},insertAfter:function(t){return(t=B(t)).after(this),this}});const tt=/^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i,et=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,it=/rgb\((\d+),(\d+),(\d+)\)/,at=/(#[a-z_][a-z0-9\-_]*)/i,st=/\)\s*,?\s*/,rt=/\s/g,nt=/^#[a-f0-9]{3}$|^#[a-f0-9]{6}$/i,ot=/^rgb\(/,lt=/^(\s+)?$/,ht=/^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,ct=/\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i,dt=/[\s,]+/,ut=/[MLHVCSQTAZ]/i;function gt(t){const e=Math.round(t),i=Math.max(0,Math.min(255,e)).toString(16);return 1===i.length?"0"+i:i}function pt(t,e){for(let i=e.length;i--;)if(null==t[e[i]])return!1;return!0}function ft(t,e,i){return i<0&&(i+=1),i>1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}A("Dom",{classes:function(){const t=this.attr("class");return null==t?[]:t.trim().split(dt)},hasClass:function(t){return-1!==this.classes().indexOf(t)},addClass:function(t){if(!this.hasClass(t)){const e=this.classes();e.push(t),this.attr("class",e.join(" "))}return this},removeClass:function(t){return this.hasClass(t)&&this.attr("class",this.classes().filter((function(e){return e!==t})).join(" ")),this},toggleClass:function(t){return this.hasClass(t)?this.removeClass(t):this.addClass(t)}}),A("Dom",{css:function(t,e){const i={};if(0===arguments.length)return this.node.style.cssText.split(/\s*;\s*/).filter((function(t){return!!t.length})).forEach((function(t){const e=t.split(/\s*:\s*/);i[e[0]]=e[1]})),i;if(arguments.length<2){if(Array.isArray(t)){for(const e of t){const t=e;i[e]=this.node.style.getPropertyValue(t)}return i}if("string"==typeof t)return this.node.style.getPropertyValue(t);if("object"==typeof t)for(const e in t)this.node.style.setProperty(e,null==t[e]||lt.test(t[e])?"":t[e])}return 2===arguments.length&&this.node.style.setProperty(t,null==e||lt.test(e)?"":e),this},show:function(){return this.css("display","")},hide:function(){return this.css("display","none")},visible:function(){return"none"!==this.css("display")}}),A("Dom",{data:function(t,e,i){if(null==t)return this.data(L(function(t,e){let i;const a=t.length,s=[];for(i=0;i<a;i++)e(t[i])&&s.push(t[i]);return s}(this.node.attributes,(t=>0===t.nodeName.indexOf("data-"))),(t=>t.nodeName.slice(5))));if(t instanceof Array){const e={};for(const i of t)e[i]=this.data(i);return e}if("object"==typeof t)for(e in t)this.data(e,t[e]);else if(arguments.length<2)try{return JSON.parse(this.attr("data-"+t))}catch(e){return this.attr("data-"+t)}else this.attr("data-"+t,null===e?null:!0===i||"string"==typeof e||"number"==typeof e?e:JSON.stringify(e));return this}}),A("Dom",{remember:function(t,e){if("object"==typeof arguments[0])for(const e in t)this.remember(e,t[e]);else{if(1===arguments.length)return this.memory()[t];this.memory()[t]=e}return this},forget:function(){if(0===arguments.length)this._memory={};else for(let t=arguments.length-1;t>=0;t--)delete this.memory()[arguments[t]];return this},memory:function(){return this._memory=this._memory||{}}});class xt{constructor(...t){this.init(...t)}static isColor(t){return t&&(t instanceof xt||this.isRgb(t)||this.test(t))}static isRgb(t){return t&&"number"==typeof t.r&&"number"==typeof t.g&&"number"==typeof t.b}static random(t="vibrant",e){const{random:i,round:a,sin:s,PI:r}=Math;if("vibrant"===t){const t=24*i()+57,e=38*i()+45,a=360*i();return new xt(t,e,a,"lch")}if("sine"===t){const t=a(80*s(2*r*(e=null==e?i():e)/.5+.01)+150),n=a(50*s(2*r*e/.5+4.6)+200),o=a(100*s(2*r*e/.5+2.3)+150);return new xt(t,n,o)}if("pastel"===t){const t=8*i()+86,e=17*i()+9,a=360*i();return new xt(t,e,a,"lch")}if("dark"===t){const t=10+10*i(),e=50*i()+86,a=360*i();return new xt(t,e,a,"lch")}if("rgb"===t){const t=255*i(),e=255*i(),a=255*i();return new xt(t,e,a)}if("lab"===t){const t=100*i(),e=256*i()-128,a=256*i()-128;return new xt(t,e,a,"lab")}if("grey"===t){const t=255*i();return new xt(t,t,t)}throw new Error("Unsupported random color mode")}static test(t){return"string"==typeof t&&(nt.test(t)||ot.test(t))}cmyk(){const{_a:t,_b:e,_c:i}=this.rgb(),[a,s,r]=[t,e,i].map((t=>t/255)),n=Math.min(1-a,1-s,1-r);if(1===n)return new xt(0,0,0,1,"cmyk");return new xt((1-a-n)/(1-n),(1-s-n)/(1-n),(1-r-n)/(1-n),n,"cmyk")}hsl(){const{_a:t,_b:e,_c:i}=this.rgb(),[a,s,r]=[t,e,i].map((t=>t/255)),n=Math.max(a,s,r),o=Math.min(a,s,r),l=(n+o)/2,h=n===o,c=n-o;return new xt(360*(h?0:n===a?((s-r)/c+(s<r?6:0))/6:n===s?((r-a)/c+2)/6:n===r?((a-s)/c+4)/6:0),100*(h?0:l>.5?c/(2-n-o):c/(n+o)),100*l,"hsl")}init(t=0,e=0,i=0,a=0,s="rgb"){if(t=t||0,this.space)for(const t in this.space)delete this[this.space[t]];if("number"==typeof t)s="string"==typeof a?a:s,a="string"==typeof a?0:a,Object.assign(this,{_a:t,_b:e,_c:i,_d:a,space:s});else if(t instanceof Array)this.space=e||("string"==typeof t[3]?t[3]:t[4])||"rgb",Object.assign(this,{_a:t[0],_b:t[1],_c:t[2],_d:t[3]||0});else if(t instanceof Object){const i=function(t,e){const i=pt(t,"rgb")?{_a:t.r,_b:t.g,_c:t.b,_d:0,space:"rgb"}:pt(t,"xyz")?{_a:t.x,_b:t.y,_c:t.z,_d:0,space:"xyz"}:pt(t,"hsl")?{_a:t.h,_b:t.s,_c:t.l,_d:0,space:"hsl"}:pt(t,"lab")?{_a:t.l,_b:t.a,_c:t.b,_d:0,space:"lab"}:pt(t,"lch")?{_a:t.l,_b:t.c,_c:t.h,_d:0,space:"lch"}:pt(t,"cmyk")?{_a:t.c,_b:t.m,_c:t.y,_d:t.k,space:"cmyk"}:{_a:0,_b:0,_c:0,space:"rgb"};return i.space=e||i.space,i}(t,e);Object.assign(this,i)}else if("string"==typeof t)if(ot.test(t)){const e=t.replace(rt,""),[i,a,s]=it.exec(e).slice(1,4).map((t=>parseInt(t)));Object.assign(this,{_a:i,_b:a,_c:s,_d:0,space:"rgb"})}else{if(!nt.test(t))throw Error("Unsupported string format, can't construct Color");{const e=t=>parseInt(t,16),[,i,a,s]=et.exec(function(t){return 4===t.length?["#",t.substring(1,2),t.substring(1,2),t.substring(2,3),t.substring(2,3),t.substring(3,4),t.substring(3,4)].join(""):t}(t)).map(e);Object.assign(this,{_a:i,_b:a,_c:s,_d:0,space:"rgb"})}}const{_a:r,_b:n,_c:o,_d:l}=this,h="rgb"===this.space?{r:r,g:n,b:o}:"xyz"===this.space?{x:r,y:n,z:o}:"hsl"===this.space?{h:r,s:n,l:o}:"lab"===this.space?{l:r,a:n,b:o}:"lch"===this.space?{l:r,c:n,h:o}:"cmyk"===this.space?{c:r,m:n,y:o,k:l}:{};Object.assign(this,h)}lab(){const{x:t,y:e,z:i}=this.xyz();return new xt(116*e-16,500*(t-e),200*(e-i),"lab")}lch(){const{l:t,a:e,b:i}=this.lab(),a=Math.sqrt(e**2+i**2);let s=180*Math.atan2(i,e)/Math.PI;s<0&&(s*=-1,s=360-s);return new xt(t,a,s,"lch")}rgb(){if("rgb"===this.space)return this;if("lab"===(t=this.space)||"xyz"===t||"lch"===t){let{x:t,y:e,z:i}=this;if("lab"===this.space||"lch"===this.space){let{l:a,a:s,b:r}=this;if("lch"===this.space){const{c:t,h:e}=this,i=Math.PI/180;s=t*Math.cos(i*e),r=t*Math.sin(i*e)}const n=(a+16)/116,o=s/500+n,l=n-r/200,h=16/116,c=.008856,d=7.787;t=.95047*(o**3>c?o**3:(o-h)/d),e=1*(n**3>c?n**3:(n-h)/d),i=1.08883*(l**3>c?l**3:(l-h)/d)}const a=3.2406*t+-1.5372*e+-.4986*i,s=-.9689*t+1.8758*e+.0415*i,r=.0557*t+-.204*e+1.057*i,n=Math.pow,o=.0031308,l=a>o?1.055*n(a,1/2.4)-.055:12.92*a,h=s>o?1.055*n(s,1/2.4)-.055:12.92*s,c=r>o?1.055*n(r,1/2.4)-.055:12.92*r;return new xt(255*l,255*h,255*c)}if("hsl"===this.space){let{h:t,s:e,l:i}=this;if(t/=360,e/=100,i/=100,0===e){i*=255;return new xt(i,i,i)}const a=i<.5?i*(1+e):i+e-i*e,s=2*i-a,r=255*ft(s,a,t+1/3),n=255*ft(s,a,t),o=255*ft(s,a,t-1/3);return new xt(r,n,o)}if("cmyk"===this.space){const{c:t,m:e,y:i,k:a}=this,s=255*(1-Math.min(1,t*(1-a)+a)),r=255*(1-Math.min(1,e*(1-a)+a)),n=255*(1-Math.min(1,i*(1-a)+a));return new xt(s,r,n)}return this;var t}toArray(){const{_a:t,_b:e,_c:i,_d:a,space:s}=this;return[t,e,i,a,s]}toHex(){const[t,e,i]=this._clamped().map(gt);return`#${t}${e}${i}`}toRgb(){const[t,e,i]=this._clamped();return`rgb(${t},${e},${i})`}toString(){return this.toHex()}xyz(){const{_a:t,_b:e,_c:i}=this.rgb(),[a,s,r]=[t,e,i].map((t=>t/255)),n=a>.04045?Math.pow((a+.055)/1.055,2.4):a/12.92,o=s>.04045?Math.pow((s+.055)/1.055,2.4):s/12.92,l=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92,h=(.4124*n+.3576*o+.1805*l)/.95047,c=(.2126*n+.7152*o+.0722*l)/1,d=(.0193*n+.1192*o+.9505*l)/1.08883,u=h>.008856?Math.pow(h,1/3):7.787*h+16/116,g=c>.008856?Math.pow(c,1/3):7.787*c+16/116,p=d>.008856?Math.pow(d,1/3):7.787*d+16/116;return new xt(u,g,p,"xyz")}_clamped(){const{_a:t,_b:e,_c:i}=this.rgb(),{max:a,min:s,round:r}=Math;return[t,e,i].map((t=>a(0,s(r(t),255))))}}class bt{constructor(...t){this.init(...t)}clone(){return new bt(this)}init(t,e){const i=0,a=0,s=Array.isArray(t)?{x:t[0],y:t[1]}:"object"==typeof t?{x:t.x,y:t.y}:{x:t,y:e};return this.x=null==s.x?i:s.x,this.y=null==s.y?a:s.y,this}toArray(){return[this.x,this.y]}transform(t){return this.clone().transformO(t)}transformO(t){vt.isMatrixLike(t)||(t=new vt(t));const{x:e,y:i}=this;return this.x=t.a*e+t.c*i+t.e,this.y=t.b*e+t.d*i+t.f,this}}function mt(t,e,i){return Math.abs(e-t)<(i||1e-6)}class vt{constructor(...t){this.init(...t)}static formatTransforms(t){const e="both"===t.flip||!0===t.flip,i=t.flip&&(e||"x"===t.flip)?-1:1,a=t.flip&&(e||"y"===t.flip)?-1:1,s=t.skew&&t.skew.length?t.skew[0]:isFinite(t.skew)?t.skew:isFinite(t.skewX)?t.skewX:0,r=t.skew&&t.skew.length?t.skew[1]:isFinite(t.skew)?t.skew:isFinite(t.skewY)?t.skewY:0,n=t.scale&&t.scale.length?t.scale[0]*i:isFinite(t.scale)?t.scale*i:isFinite(t.scaleX)?t.scaleX*i:i,o=t.scale&&t.scale.length?t.scale[1]*a:isFinite(t.scale)?t.scale*a:isFinite(t.scaleY)?t.scaleY*a:a,l=t.shear||0,h=t.rotate||t.theta||0,c=new bt(t.origin||t.around||t.ox||t.originX,t.oy||t.originY),d=c.x,u=c.y,g=new bt(t.position||t.px||t.positionX||NaN,t.py||t.positionY||NaN),p=g.x,f=g.y,x=new bt(t.translate||t.tx||t.translateX,t.ty||t.translateY),b=x.x,m=x.y,v=new bt(t.relative||t.rx||t.relativeX,t.ry||t.relativeY);return{scaleX:n,scaleY:o,skewX:s,skewY:r,shear:l,theta:h,rx:v.x,ry:v.y,tx:b,ty:m,ox:d,oy:u,px:p,py:f}}static fromArray(t){return{a:t[0],b:t[1],c:t[2],d:t[3],e:t[4],f:t[5]}}static isMatrixLike(t){return null!=t.a||null!=t.b||null!=t.c||null!=t.d||null!=t.e||null!=t.f}static matrixMultiply(t,e,i){const a=t.a*e.a+t.c*e.b,s=t.b*e.a+t.d*e.b,r=t.a*e.c+t.c*e.d,n=t.b*e.c+t.d*e.d,o=t.e+t.a*e.e+t.c*e.f,l=t.f+t.b*e.e+t.d*e.f;return i.a=a,i.b=s,i.c=r,i.d=n,i.e=o,i.f=l,i}around(t,e,i){return this.clone().aroundO(t,e,i)}aroundO(t,e,i){const a=t||0,s=e||0;return this.translateO(-a,-s).lmultiplyO(i).translateO(a,s)}clone(){return new vt(this)}decompose(t=0,e=0){const i=this.a,a=this.b,s=this.c,r=this.d,n=this.e,o=this.f,l=i*r-a*s,h=l>0?1:-1,c=h*Math.sqrt(i*i+a*a),d=Math.atan2(h*a,h*i),u=180/Math.PI*d,g=Math.cos(d),p=Math.sin(d),f=(i*s+a*r)/l,x=s*c/(f*i-a)||r*c/(f*a+i);return{scaleX:c,scaleY:x,shear:f,rotate:u,translateX:n-t+t*g*c+e*(f*g*c-p*x),translateY:o-e+t*p*c+e*(f*p*c+g*x),originX:t,originY:e,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f}}equals(t){if(t===this)return!0;const e=new vt(t);return mt(this.a,e.a)&&mt(this.b,e.b)&&mt(this.c,e.c)&&mt(this.d,e.d)&&mt(this.e,e.e)&&mt(this.f,e.f)}flip(t,e){return this.clone().flipO(t,e)}flipO(t,e){return"x"===t?this.scaleO(-1,1,e,0):"y"===t?this.scaleO(1,-1,0,e):this.scaleO(-1,-1,t,e||t)}init(t){const e=vt.fromArray([1,0,0,1,0,0]);return t=t instanceof Gt?t.matrixify():"string"==typeof t?vt.fromArray(t.split(dt).map(parseFloat)):Array.isArray(t)?vt.fromArray(t):"object"==typeof t&&vt.isMatrixLike(t)?t:"object"==typeof t?(new vt).transform(t):6===arguments.length?vt.fromArray([].slice.call(arguments)):e,this.a=null!=t.a?t.a:e.a,this.b=null!=t.b?t.b:e.b,this.c=null!=t.c?t.c:e.c,this.d=null!=t.d?t.d:e.d,this.e=null!=t.e?t.e:e.e,this.f=null!=t.f?t.f:e.f,this}inverse(){return this.clone().inverseO()}inverseO(){const t=this.a,e=this.b,i=this.c,a=this.d,s=this.e,r=this.f,n=t*a-e*i;if(!n)throw new Error("Cannot invert "+this);const o=a/n,l=-e/n,h=-i/n,c=t/n,d=-(o*s+h*r),u=-(l*s+c*r);return this.a=o,this.b=l,this.c=h,this.d=c,this.e=d,this.f=u,this}lmultiply(t){return this.clone().lmultiplyO(t)}lmultiplyO(t){const e=t instanceof vt?t:new vt(t);return vt.matrixMultiply(e,this,this)}multiply(t){return this.clone().multiplyO(t)}multiplyO(t){const e=t instanceof vt?t:new vt(t);return vt.matrixMultiply(this,e,this)}rotate(t,e,i){return this.clone().rotateO(t,e,i)}rotateO(t,e=0,i=0){t=M(t);const a=Math.cos(t),s=Math.sin(t),{a:r,b:n,c:o,d:l,e:h,f:c}=this;return this.a=r*a-n*s,this.b=n*a+r*s,this.c=o*a-l*s,this.d=l*a+o*s,this.e=h*a-c*s+i*s-e*a+e,this.f=c*a+h*s-e*s-i*a+i,this}scale(){return this.clone().scaleO(...arguments)}scaleO(t,e=t,i=0,a=0){3===arguments.length&&(a=i,i=e,e=t);const{a:s,b:r,c:n,d:o,e:l,f:h}=this;return this.a=s*t,this.b=r*e,this.c=n*t,this.d=o*e,this.e=l*t-i*t+i,this.f=h*e-a*e+a,this}shear(t,e,i){return this.clone().shearO(t,e,i)}shearO(t,e=0,i=0){const{a:a,b:s,c:r,d:n,e:o,f:l}=this;return this.a=a+s*t,this.c=r+n*t,this.e=o+l*t-i*t,this}skew(){return this.clone().skewO(...arguments)}skewO(t,e=t,i=0,a=0){3===arguments.length&&(a=i,i=e,e=t),t=M(t),e=M(e);const s=Math.tan(t),r=Math.tan(e),{a:n,b:o,c:l,d:h,e:c,f:d}=this;return this.a=n+o*s,this.b=o+n*r,this.c=l+h*s,this.d=h+l*r,this.e=c+d*s-a*s,this.f=d+c*r-i*r,this}skewX(t,e,i){return this.skew(t,0,e,i)}skewY(t,e,i){return this.skew(0,t,e,i)}toArray(){return[this.a,this.b,this.c,this.d,this.e,this.f]}toString(){return"matrix("+this.a+","+this.b+","+this.c+","+this.d+","+this.e+","+this.f+")"}transform(t){if(vt.isMatrixLike(t)){return new vt(t).multiplyO(this)}const e=vt.formatTransforms(t),{x:i,y:a}=new bt(e.ox,e.oy).transform(this),s=(new vt).translateO(e.rx,e.ry).lmultiplyO(this).translateO(-i,-a).scaleO(e.scaleX,e.scaleY).skewO(e.skewX,e.skewY).shearO(e.shear).rotateO(e.theta).translateO(i,a);if(isFinite(e.px)||isFinite(e.py)){const t=new bt(i,a).transform(s),r=isFinite(e.px)?e.px-t.x:0,n=isFinite(e.py)?e.py-t.y:0;s.translateO(r,n)}return s.translateO(e.tx,e.ty),s}translate(t,e){return this.clone().translateO(t,e)}translateO(t,e){return this.e+=t||0,this.f+=e||0,this}valueOf(){return{a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f}}}function yt(){if(!yt.nodes){const t=B().size(2,0);t.node.style.cssText=["opacity: 0","position: absolute","left: -100%","top: -100%","overflow: hidden"].join(";"),t.attr("focusable","false"),t.attr("aria-hidden","true");const e=t.path().node;yt.nodes={svg:t,path:e}}if(!yt.nodes.svg.node.parentNode){const t=O.document.body||O.document.documentElement;yt.nodes.svg.addTo(t)}return yt.nodes}function wt(t){return!(t.width||t.height||t.x||t.y)}q(vt,"Matrix");class kt{constructor(...t){this.init(...t)}addOffset(){return this.x+=O.window.pageXOffset,this.y+=O.window.pageYOffset,new kt(this)}init(t){return t="string"==typeof t?t.split(dt).map(parseFloat):Array.isArray(t)?t:"object"==typeof t?[null!=t.left?t.left:t.x,null!=t.top?t.top:t.y,t.width,t.height]:4===arguments.length?[].slice.call(arguments):[0,0,0,0],this.x=t[0]||0,this.y=t[1]||0,this.width=this.w=t[2]||0,this.height=this.h=t[3]||0,this.x2=this.x+this.w,this.y2=this.y+this.h,this.cx=this.x+this.w/2,this.cy=this.y+this.h/2,this}isNulled(){return wt(this)}merge(t){const e=Math.min(this.x,t.x),i=Math.min(this.y,t.y),a=Math.max(this.x+this.width,t.x+t.width)-e,s=Math.max(this.y+this.height,t.y+t.height)-i;return new kt(e,i,a,s)}toArray(){return[this.x,this.y,this.width,this.height]}toString(){return this.x+" "+this.y+" "+this.width+" "+this.height}transform(t){t instanceof vt||(t=new vt(t));let e=1/0,i=-1/0,a=1/0,s=-1/0;return[new bt(this.x,this.y),new bt(this.x2,this.y),new bt(this.x,this.y2),new bt(this.x2,this.y2)].forEach((function(r){r=r.transform(t),e=Math.min(e,r.x),i=Math.max(i,r.x),a=Math.min(a,r.y),s=Math.max(s,r.y)})),new kt(e,a,i-e,s-a)}}function At(t,e,i){let a;try{if(a=e(t.node),wt(a)&&((s=t.node)!==O.document&&!(O.document.documentElement.contains||function(t){for(;t.parentNode;)t=t.parentNode;return t===O.document}).call(O.document.documentElement,s)))throw new Error("Element not in the dom")}catch(e){a=i(t)}var s;return a}A({viewbox:{viewbox(t,e,i,a){return null==t?new kt(this.attr("viewBox")):this.attr("viewBox",new kt(t,e,i,a))},zoom(t,e){let{width:i,height:a}=this.attr(["width","height"]);if((i||a)&&"string"!=typeof i&&"string"!=typeof a||(i=this.node.clientWidth,a=this.node.clientHeight),!i||!a)throw new Error("Impossible to get absolute width and height. Please provide an absolute width and height attribute on the zooming element");const s=this.viewbox(),r=i/s.width,n=a/s.height,o=Math.min(r,n);if(null==t)return o;let l=o/t;l===1/0&&(l=Number.MAX_SAFE_INTEGER/100),e=e||new bt(i/2/r+s.x,a/2/n+s.y);const h=new kt(s).transform(new vt({scale:l,origin:e}));return this.viewbox(h)}}}),q(kt,"Box");class Ct extends Array{constructor(t=[],...e){if(super(t,...e),"number"==typeof t)return this;this.length=0,this.push(...t)}}Q([Ct],{each(t,...e){return"function"==typeof t?this.map(((e,i,a)=>t.call(e,e,i,a))):this.map((i=>i[t](...e)))},toArray(){return Array.prototype.concat.apply([],this)}});const St=["toArray","constructor","each"];function Lt(t,e){return new Ct(L((e||O.document).querySelectorAll(t),(function(t){return V(t)})))}Ct.extend=function(t){t=t.reduce(((t,e)=>(St.includes(e)||"_"===e[0]||(e in Array.prototype&&(t["$"+e]=Array.prototype[e]),t[e]=function(...t){return this.each(e,...t)}),t)),{}),Q([Ct],t)};let Mt=0;const Pt={};function It(t){let e=t.getEventHolder();return e===O.window&&(e=Pt),e.events||(e.events={}),e.events}function Tt(t){return t.getEventTarget()}function zt(t,e,i,a,s){const r=i.bind(a||t),n=B(t),o=It(n),l=Tt(n);e=Array.isArray(e)?e:e.split(dt),i._svgjsListenerId||(i._svgjsListenerId=++Mt),e.forEach((function(t){const e=t.split(".")[0],a=t.split(".")[1]||"*";o[e]=o[e]||{},o[e][a]=o[e][a]||{},o[e][a][i._svgjsListenerId]=r,l.addEventListener(e,r,s||!1)}))}function Xt(t,e,i,a){const s=B(t),r=It(s),n=Tt(s);("function"!=typeof i||(i=i._svgjsListenerId))&&(e=Array.isArray(e)?e:(e||"").split(dt)).forEach((function(t){const e=t&&t.split(".")[0],o=t&&t.split(".")[1];let l,h;if(i)r[e]&&r[e][o||"*"]&&(n.removeEventListener(e,r[e][o||"*"][i],a||!1),delete r[e][o||"*"][i]);else if(e&&o){if(r[e]&&r[e][o]){for(h in r[e][o])Xt(n,[e,o].join("."),h);delete r[e][o]}}else if(o)for(t in r)for(l in r[t])o===l&&Xt(n,[t,o].join("."));else if(e){if(r[e]){for(l in r[e])Xt(n,[e,l].join("."));delete r[e]}}else{for(t in r)Xt(n,t);!function(t){let e=t.getEventHolder();e===O.window&&(e=Pt),e.events&&(e.events={})}(s)}}))}class Rt extends D{addEventListener(){}dispatch(t,e,i){return function(t,e,i,a){const s=Tt(t);return e instanceof O.window.Event||(e=new O.window.CustomEvent(e,{detail:i,cancelable:!0,...a})),s.dispatchEvent(e),e}(this,t,e,i)}dispatchEvent(t){const e=this.getEventHolder().events;if(!e)return!0;const i=e[t.type];for(const e in i)for(const a in i[e])i[e][a](t);return!t.defaultPrevented}fire(t,e,i){return this.dispatch(t,e,i),this}getEventHolder(){return this}getEventTarget(){return this}off(t,e,i){return Xt(this,t,e,i),this}on(t,e,i,a){return zt(this,t,e,i,a),this}removeEventListener(){}}function Et(){}q(Rt,"EventTarget");const Yt=400,Ht=">",Ot=0,Ft={"fill-opacity":1,"stroke-opacity":1,"stroke-width":0,"stroke-linejoin":"miter","stroke-linecap":"butt",fill:"#000000",stroke:"#000000",opacity:1,x:0,y:0,cx:0,cy:0,width:0,height:0,r:0,rx:0,ry:0,offset:0,"stop-opacity":1,"stop-color":"#000000","text-anchor":"start"};class Dt extends Array{constructor(...t){super(...t),this.init(...t)}clone(){return new this.constructor(this)}init(t){return"number"==typeof t||(this.length=0,this.push(...this.parse(t))),this}parse(t=[]){return t instanceof Array?t:t.trim().split(dt).map(parseFloat)}toArray(){return Array.prototype.concat.apply([],this)}toSet(){return new Set(this)}toString(){return this.join(" ")}valueOf(){const t=[];return t.push(...this),t}}class _t{constructor(...t){this.init(...t)}convert(t){return new _t(this.value,t)}divide(t){return t=new _t(t),new _t(this/t,this.unit||t.unit)}init(t,e){return e=Array.isArray(t)?t[1]:e,t=Array.isArray(t)?t[0]:t,this.value=0,this.unit=e||"","number"==typeof t?this.value=isNaN(t)?0:isFinite(t)?t:t<0?-34e37:34e37:"string"==typeof t?(e=t.match(tt))&&(this.value=parseFloat(e[1]),"%"===e[5]?this.value/=100:"s"===e[5]&&(this.value*=1e3),this.unit=e[5]):t instanceof _t&&(this.value=t.valueOf(),this.unit=t.unit),this}minus(t){return t=new _t(t),new _t(this-t,this.unit||t.unit)}plus(t){return t=new _t(t),new _t(this+t,this.unit||t.unit)}times(t){return t=new _t(t),new _t(this*t,this.unit||t.unit)}toArray(){return[this.value,this.unit]}toJSON(){return this.toString()}
vendor: 1,300 bytes, line 46395
46395toString(){return("%"===this.unit?~~(1e8*this.value)/1e6:"s"===this.unit?this.value/1e3:this.value)+this.unit}valueOf(){return this.value}}const Nt=new Set(["fill","stroke","color","bgcolor","stop-color","flood-color","lighting-color"]),Wt=[];class Bt extends Rt{constructor(t,e){super(),this.node=t,this.type=t.nodeName,e&&t!==e&&this.attr(e)}add(t,e){return(t=B(t)).removeNamespace&&this.node instanceof O.window.SVGElement&&t.removeNamespace(),null==e?this.node.appendChild(t.node):t.node!==this.node.childNodes[e]&&this.node.insertBefore(t.node,this.node.childNodes[e]),this}addTo(t,e){return B(t).put(this,e)}children(){return new Ct(L(this.node.children,(function(t){return V(t)})))}clear(){for(;this.node.hasChildNodes();)this.node.removeChild(this.node.lastChild);return this}clone(t=!0,e=!0){this.writeDataToDom();let i=this.node.cloneNode(t);return e&&(i=J(i)),new this.constructor(i)}each(t,e){const i=this.children();let a,s;for(a=0,s=i.length;a<s;a++)t.apply(i[a],[a,i]),e&&i[a].each(t,e);return this}element(t,e){return this.put(new Bt(W(t),e))}first(){return V(this.node.firstChild)}get(t){return V(this.node.childNodes[t])}getEventHolder(){return this.node}getEventTarget(){return this.node}has(t){return this.index(t)>=0}html(t,e){return this.xml(t,e,"http://www.w3.org/1999/xhtml")}
vendor: 46,120 bytes, line 46395
46395id(t){return void 0!==t||this.node.id||(this.node.id=$(this.type)),this.attr("id",t)}index(t){return[].slice.call(this.node.childNodes).indexOf(t.node)}last(){return V(this.node.lastChild)}matches(t){const e=this.node,i=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector||null;return i&&i.call(e,t)}parent(t){let e=this;if(!e.node.parentNode)return null;if(e=V(e.node.parentNode),!t)return e;do{if("string"==typeof t?e.matches(t):e instanceof t)return e}while(e=V(e.node.parentNode));return e}put(t,e){return t=B(t),this.add(t,e),t}putIn(t,e){return B(t).add(this,e)}remove(){return this.parent()&&this.parent().removeElement(this),this}removeElement(t){return this.node.removeChild(t.node),this}replace(t){return t=B(t),this.node.parentNode&&this.node.parentNode.replaceChild(t.node,this.node),t}round(t=2,e=null){const i=10**t,a=this.attr(e);for(const t in a)"number"==typeof a[t]&&(a[t]=Math.round(a[t]*i)/i);return this.attr(a),this}svg(t,e){return this.xml(t,e,E)}toString(){return this.id()}words(t){return this.node.textContent=t,this}wrap(t){const e=this.parent();if(!e)return this.addTo(t);const i=e.index(this);return e.put(t,i).put(this)}writeDataToDom(){return this.each((function(){this.writeDataToDom()})),this}xml(t,e,i){if("boolean"==typeof t&&(i=e,e=t,t=null),null==t||"function"==typeof t){e=null==e||e,this.writeDataToDom();let i=this;if(null!=t){if(i=V(i.node.cloneNode(!0)),e){const e=t(i);if(i=e||i,!1===e)return""}i.each((function(){const e=t(this),i=e||this;!1===e?this.remove():e&&this!==i&&this.replace(i)}),!0)}return e?i.node.outerHTML:i.node.innerHTML}e=null!=e&&e;const a=W("wrapper",i),s=O.document.createDocumentFragment();a.innerHTML=t;for(let t=a.children.length;t--;)s.appendChild(a.firstElementChild);const r=this.parent();return e?this.replace(s)&&r:this.add(s)}}Q(Bt,{attr:function(t,e,i){if(null==t){t={},e=this.node.attributes;for(const i of e)t[i.nodeName]=ht.test(i.nodeValue)?parseFloat(i.nodeValue):i.nodeValue;return t}if(t instanceof Array)return t.reduce(((t,e)=>(t[e]=this.attr(e),t)),{});if("object"==typeof t&&t.constructor===Object)for(e in t)this.attr(e,t[e]);else if(null===e)this.node.removeAttribute(t);else{if(null==e)return null==(e=this.node.getAttribute(t))?Ft[t]:ht.test(e)?parseFloat(e):e;"number"==typeof(e=Wt.reduce(((e,i)=>i(t,e,this)),e))?e=new _t(e):Nt.has(t)&&xt.isColor(e)?e=new xt(e):e.constructor===Array&&(e=new Dt(e)),"leading"===t?this.leading&&this.leading(e):"string"==typeof i?this.node.setAttributeNS(i,t,e.toString()):this.node.setAttribute(t,e.toString()),!this.rebuild||"font-size"!==t&&"x"!==t||this.rebuild()}return this},find:function(t){return Lt(t,this.node)},findOne:function(t){return V(this.node.querySelector(t))}}),q(Bt,"Dom");let Gt=class extends Bt{constructor(t,e){super(t,e),this.dom={},this.node.instance=this,(t.hasAttribute("data-svgjs")||t.hasAttribute("svgjs:data"))&&this.setData(JSON.parse(t.getAttribute("data-svgjs"))??JSON.parse(t.getAttribute("svgjs:data"))??{})}center(t,e){return this.cx(t).cy(e)}cx(t){return null==t?this.x()+this.width()/2:this.x(t-this.width()/2)}cy(t){return null==t?this.y()+this.height()/2:this.y(t-this.height()/2)}defs(){const t=this.root();return t&&t.defs()}dmove(t,e){return this.dx(t).dy(e)}dx(t=0){return this.x(new _t(t).plus(this.x()))}dy(t=0){return this.y(new _t(t).plus(this.y()))}getEventHolder(){return this}height(t){return this.attr("height",t)}move(t,e){return this.x(t).y(e)}parents(t=this.root()){const e="string"==typeof t;e||(t=B(t));const i=new Ct;let a=this;for(;(a=a.parent())&&a.node!==O.document&&"#document-fragment"!==a.nodeName&&(i.push(a),e||a.node!==t.node)&&(!e||!a.matches(t));)if(a.node===this.root().node)return null;return i}reference(t){if(!(t=this.attr(t)))return null;const e=(t+"").match(at);return e?B(e[1]):null}root(){const t=this.parent(function(t){return _[t]}(N));return t&&t.root()}setData(t){return this.dom=t,this}size(t,e){const i=I(this,t,e);return this.width(new _t(i.width)).height(new _t(i.height))}width(t){return this.attr("width",t)}writeDataToDom(){return R(this,this.dom),super.writeDataToDom()}x(t){return this.attr("x",t)}y(t){return this.attr("y",t)}};Q(Gt,{bbox:function(){const t=At(this,(t=>t.getBBox()),(t=>{try{const e=t.clone().addTo(yt().svg).show(),i=e.node.getBBox();return e.remove(),i}catch(e){throw new Error(`Getting bbox of element "${t.node.nodeName}" is not possible: ${e.toString()}`)}}));return new kt(t)},rbox:function(t){const e=At(this,(t=>t.getBoundingClientRect()),(t=>{throw new Error(`Getting rbox of element "${t.node.nodeName}" is not possible`)})),i=new kt(e);return t?i.transform(t.screenCTM().inverseO()):i.addOffset()},inside:function(t,e){const i=this.bbox();return t>i.x&&e>i.y&&t<i.x+i.width&&e<i.y+i.height},point:function(t,e){return new bt(t,e).transformO(this.screenCTM().inverseO())},ctm:function(){return new vt(this.node.getCTM())},screenCTM:function(){try{if("function"==typeof this.isRoot&&!this.isRoot()){const t=this.rect(1,1),e=t.node.getScreenCTM();return t.remove(),new vt(e)}return new vt(this.node.getScreenCTM())}catch(t){return console.warn(`Cannot get CTM from SVG node ${this.node.nodeName}. Is the element rendered?`),new vt}}}),q(Gt,"Element");const jt={stroke:["color","width","opacity","linecap","linejoin","miterlimit","dasharray","dashoffset"],fill:["color","opacity","rule"],prefix:function(t,e){return"color"===e?t:t+"-"+e}};["fill","stroke"].forEach((function(t){const e={};let i;e[t]=function(e){if(void 0===e)return this.attr(t);if("string"==typeof e||e instanceof xt||xt.isRgb(e)||e instanceof Gt)this.attr(t,e);else for(i=jt[t].length-1;i>=0;i--)null!=e[jt[t][i]]&&this.attr(jt.prefix(t,jt[t][i]),e[jt[t][i]]);return this},A(["Element","Runner"],e)})),A(["Element","Runner"],{matrix:function(t,e,i,a,s,r){return null==t?new vt(this):this.attr("transform",new vt(t,e,i,a,s,r))},rotate:function(t,e,i){return this.transform({rotate:t,ox:e,oy:i},!0)},skew:function(t,e,i,a){return 1===arguments.length||3===arguments.length?this.transform({skew:t,ox:e,oy:i},!0):this.transform({skew:[t,e],ox:i,oy:a},!0)},shear:function(t,e,i){return this.transform({shear:t,ox:e,oy:i},!0)},scale:function(t,e,i,a){return 1===arguments.length||3===arguments.length?this.transform({scale:t,ox:e,oy:i},!0):this.transform({scale:[t,e],ox:i,oy:a},!0)},translate:function(t,e){return this.transform({translate:[t,e]},!0)},relative:function(t,e){return this.transform({relative:[t,e]},!0)},flip:function(t="both",e="center"){return-1==="xybothtrue".indexOf(t)&&(e=t,t="both"),this.transform({flip:t,origin:e},!0)},opacity:function(t){return this.attr("opacity",t)}}),A("radius",{radius:function(t,e=t){return"radialGradient"===(this._element||this).type?this.attr("r",new _t(t)):this.rx(t).ry(e)}}),A("Path",{length:function(){return this.node.getTotalLength()},pointAt:function(t){return new bt(this.node.getPointAtLength(t))}}),A(["Element","Runner"],{font:function(t,e){if("object"==typeof t){for(e in t)this.font(e,t[e]);return this}return"leading"===t?this.leading(e):"anchor"===t?this.attr("text-anchor",e):"size"===t||"family"===t||"weight"===t||"stretch"===t||"variant"===t||"style"===t?this.attr("font-"+t,e):this.attr(t,e)}});A("Element",["click","dblclick","mousedown","mouseup","mouseover","mouseout","mousemove","mouseenter","mouseleave","touchstart","touchmove","touchleave","touchend","touchcancel","contextmenu","wheel","pointerdown","pointermove","pointerup","pointerleave","pointercancel"].reduce((function(t,e){return t[e]=function(t){return null===t?this.off(e):this.on(e,t),this},t}),{})),A("Element",{untransform:function(){return this.attr("transform",null)},matrixify:function(){const t=(this.attr("transform")||"").split(st).slice(0,-1).map((function(t){const e=t.trim().split("(");return[e[0],e[1].split(dt).map((function(t){return parseFloat(t)}))]})).reverse().reduce((function(t,e){return"matrix"===e[0]?t.lmultiply(vt.fromArray(e[1])):t[e[0]].apply(t,e[1])}),new vt);return t},toParent:function(t,e){if(this===t)return this;if(X(this.node))return this.addTo(t,e);const i=this.screenCTM(),a=t.screenCTM().inverse();return this.addTo(t,e).untransform().transform(a.multiply(i)),this},toRoot:function(t){return this.toParent(this.root(),t)},transform:function(t,e){if(null==t||"string"==typeof t){const e=new vt(this).decompose();return null==t?e:e[t]}vt.isMatrixLike(t)||(t={...t,origin:T(t,this)});const i=new vt(!0===e?this:e||!1).transform(t);return this.attr("transform",i)}});class Vt extends Gt{flatten(){return this.each((function(){if(this instanceof Vt)return this.flatten().ungroup()})),this}ungroup(t=this.parent(),e=t.index(this)){return e=-1===e?t.children().length:e,this.each((function(i,a){return a[a.length-i-1].toParent(t,e)})),this.remove()}}q(Vt,"Container");class Ut extends Vt{constructor(t,e=t){super(G("defs",t),e)}flatten(){return this}ungroup(){return this}}q(Ut,"Defs");class qt extends Gt{}function Zt(t){return this.attr("rx",t)}function $t(t){return this.attr("ry",t)}function Jt(t){return null==t?this.cx()-this.rx():this.cx(t+this.rx())}function Qt(t){return null==t?this.cy()-this.ry():this.cy(t+this.ry())}function Kt(t){return this.attr("cx",t)}function te(t){return this.attr("cy",t)}function ee(t){return null==t?2*this.rx():this.rx(new _t(t).divide(2))}function ie(t){return null==t?2*this.ry():this.ry(new _t(t).divide(2))}q(qt,"Shape");var ae=Object.freeze({__proto__:null,cx:Kt,cy:te,height:ie,rx:Zt,ry:$t,width:ee,x:Jt,y:Qt});class se extends qt{constructor(t,e=t){super(G("ellipse",t),e)}size(t,e){const i=I(this,t,e);return this.rx(new _t(i.width).divide(2)).ry(new _t(i.height).divide(2))}}Q(se,ae),A("Container",{ellipse:K((function(t=0,e=t){return this.put(new se).size(t,e).move(0,0)}))}),q(se,"Ellipse");class re extends Bt{constructor(t=O.document.createDocumentFragment()){super(t)}xml(t,e,i){if("boolean"==typeof t&&(i=e,e=t,t=null),null==t||"function"==typeof t){const t=new Bt(W("wrapper",i));return t.add(this.node.cloneNode(!0)),t.xml(!1,i)}return super.xml(t,!1,i)}}function ne(t,e){return"radialGradient"===(this._element||this).type?this.attr({fx:new _t(t),fy:new _t(e)}):this.attr({x1:new _t(t),y1:new _t(e)})}function oe(t,e){return"radialGradient"===(this._element||this).type?this.attr({cx:new _t(t),cy:new _t(e)}):this.attr({x2:new _t(t),y2:new _t(e)})}q(re,"Fragment");var le=Object.freeze({__proto__:null,from:ne,to:oe});class he extends Vt{constructor(t,e){super(G(t+"Gradient","string"==typeof t?null:t),e)}attr(t,e,i){return"transform"===t&&(t="gradientTransform"),super.attr(t,e,i)}bbox(){return new kt}targets(){return Lt("svg [fill*="+this.id()+"]")}toString(){return this.url()}update(t){return this.clear(),"function"==typeof t&&t.call(this,this),this}url(){return"url(#"+this.id()+")"}}Q(he,le),A({Container:{gradient(...t){return this.defs().gradient(...t)}},Defs:{gradient:K((function(t,e){return this.put(new he(t)).update(e)}))}}),q(he,"Gradient");class ce extends Vt{constructor(t,e=t){super(G("pattern",t),e)}attr(t,e,i){return"transform"===t&&(t="patternTransform"),super.attr(t,e,i)}bbox(){return new kt}targets(){return Lt("svg [fill*="+this.id()+"]")}toString(){return this.url()}update(t){return this.clear(),"function"==typeof t&&t.call(this,this),this}url(){return"url(#"+this.id()+")"}}A({Container:{pattern(...t){return this.defs().pattern(...t)}},Defs:{pattern:K((function(t,e,i){return this.put(new ce).update(i).attr({x:0,y:0,width:t,height:e,patternUnits:"userSpaceOnUse"})}))}}),q(ce,"Pattern");let de=class extends qt{constructor(t,e=t){super(G("image",t),e)}load(t,e){if(!t)return this;const i=new O.window.Image;return zt(i,"load",(function(t){const a=this.parent(ce);0===this.width()&&0===this.height()&&this.size(i.width,i.height),a instanceof ce&&0===a.width()&&0===a.height()&&a.size(this.width(),this.height()),"function"==typeof e&&e.call(this,t)}),this),zt(i,"load error",(function(){Xt(i)})),this.attr("href",i.src=t,H)}};var ue;ue=function(t,e,i){return"fill"!==t&&"stroke"!==t||ct.test(e)&&(e=i.root().defs().image(e)),e instanceof de&&(e=i.root().defs().pattern(0,0,(t=>{t.add(e)}))),e},Wt.push(ue),A({Container:{image:K((function(t,e){return this.put(new de).size(0,0).load(t,e)}))}}),q(de,"Image");class ge extends Dt{bbox(){let t=-1/0,e=-1/0,i=1/0,a=1/0;return this.forEach((function(s){t=Math.max(s[0],t),e=Math.max(s[1],e),i=Math.min(s[0],i),a=Math.min(s[1],a)})),new kt(i,a,t-i,e-a)}move(t,e){const i=this.bbox();if(t-=i.x,e-=i.y,!isNaN(t)&&!isNaN(e))for(let i=this.length-1;i>=0;i--)this[i]=[this[i][0]+t,this[i][1]+e];return this}parse(t=[0,0]){const e=[];(t=t instanceof Array?Array.prototype.concat.apply([],t):t.trim().split(dt).map(parseFloat)).length%2!=0&&t.pop();for(let i=0,a=t.length;i<a;i+=2)e.push([t[i],t[i+1]]);return e}size(t,e){let i;const a=this.bbox();for(i=this.length-1;i>=0;i--)a.width&&(this[i][0]=(this[i][0]-a.x)*t/a.width+a.x),a.height&&(this[i][1]=(this[i][1]-a.y)*e/a.height+a.y);return this}toLine(){return{x1:this[0][0],y1:this[0][1],x2:this[1][0],y2:this[1][1]}}toString(){const t=[];for(let e=0,i=this.length;e<i;e++)t.push(this[e].join(","));return t.join(" ")}transform(t){return this.clone().transformO(t)}transformO(t){vt.isMatrixLike(t)||(t=new vt(t));for(let e=this.length;e--;){const[i,a]=this[e];this[e][0]=t.a*i+t.c*a+t.e,this[e][1]=t.b*i+t.d*a+t.f}return this}}const pe=ge;var fe=Object.freeze({__proto__:null,MorphArray:pe,height:function(t){const e=this.bbox();return null==t?e.height:this.size(e.width,t)},width:function(t){const e=this.bbox();return null==t?e.width:this.size(t,e.height)},x:function(t){return null==t?this.bbox().x:this.move(t,this.bbox().y)},y:function(t){return null==t?this.bbox().y:this.move(this.bbox().x,t)}});let xe=class extends qt{constructor(t,e=t){super(G("line",t),e)}array(){return new ge([[this.attr("x1"),this.attr("y1")],[this.attr("x2"),this.attr("y2")]])}move(t,e){return this.attr(this.array().move(t,e).toLine())}plot(t,e,i,a){return null==t?this.array():(t=void 0!==e?{x1:t,y1:e,x2:i,y2:a}:new ge(t).toLine(),this.attr(t))}size(t,e){const i=I(this,t,e);return this.attr(this.array().size(i.width,i.height).toLine())}};Q(xe,fe),A({Container:{line:K((function(...t){return xe.prototype.plot.apply(this.put(new xe),null!=t[0]?t:[0,0,0,0])}))}}),q(xe,"Line");let be=class extends Vt{constructor(t,e=t){super(G("marker",t),e)}height(t){return this.attr("markerHeight",t)}orient(t){return this.attr("orient",t)}ref(t,e){return this.attr("refX",t).attr("refY",e)}toString(){return"url(#"+this.id()+")"}update(t){return this.clear(),"function"==typeof t&&t.call(this,this),this}width(t){return this.attr("markerWidth",t)}};function me(t,e){return function(i){return null==i?this[t]:(this[t]=i,e&&e.call(this),this)}}A({Container:{marker(...t){return this.defs().marker(...t)}},Defs:{marker:K((function(t,e,i){return this.put(new be).size(t,e).ref(t/2,e/2).viewbox(0,0,t,e).attr("orient","auto").update(i)}))},marker:{marker(t,e,i,a){let s=["marker"];return"all"!==t&&s.push(t),s=s.join("-"),t=arguments[1]instanceof be?arguments[1]:this.defs().marker(e,i,a),this.attr(s,t)}}}),q(be,"Marker");const ve={"-":function(t){return t},"<>":function(t){return-Math.cos(t*Math.PI)/2+.5},">":function(t){return Math.sin(t*Math.PI/2)},"<":function(t){return 1-Math.cos(t*Math.PI/2)},bezier:function(t,e,i,a){return function(s){return s<0?t>0?e/t*s:i>0?a/i*s:0:s>1?i<1?(1-a)/(1-i)*s+(a-i)/(1-i):t<1?(1-e)/(1-t)*s+(e-t)/(1-t):1:3*s*(1-s)**2*e+3*s**2*(1-s)*a+s**3}},steps:function(t,e="end"){e=e.split("-").reverse()[0];let i=t;return"none"===e?--i:"both"===e&&++i,(a,s=!1)=>{let r=Math.floor(a*t);const n=a*r%1==0;return"start"!==e&&"both"!==e||++r,s&&n&&--r,a>=0&&r<0&&(r=0),a<=1&&r>i&&(r=i),r/i}}};class ye{done(){return!1}}class we extends ye{constructor(t=Ht){super(),this.ease=ve[t]||t}step(t,e,i){return"number"!=typeof t?i<1?t:e:t+(e-t)*this.ease(i)}}class ke extends ye{constructor(t){super(),this.stepper=t}done(t){return t.done}step(t,e,i,a){return this.stepper(t,e,i,a)}}function Ae(){const t=(this._duration||500)/1e3,e=this._overshoot||0,i=Math.PI,a=Math.log(e/100+1e-10),s=-a/Math.sqrt(i*i+a*a),r=3.9/(s*t);this.d=2*s*r,this.k=r*r}Q(class extends ke{constructor(t=500,e=0){super(),this.duration(t).overshoot(e)}step(t,e,i,a){if("string"==typeof t)return t;if(a.done=i===1/0,i===1/0)return e;if(0===i)return t;i>100&&(i=16),i/=1e3;const s=a.velocity||0,r=-this.d*s-this.k*(t-e),n=t+s*i+r*i*i/2;return a.velocity=s+r*i,a.done=Math.abs(e-n)+Math.abs(s)<.002,a.done?e:n}},{duration:me("_duration",Ae),overshoot:me("_overshoot",Ae)});Q(class extends ke{constructor(t=.1,e=.01,i=0,a=1e3){super(),this.p(t).i(e).d(i).windup(a)}step(t,e,i,a){if("string"==typeof t)return t;if(a.done=i===1/0,i===1/0)return e;if(0===i)return t;const s=e-t;let r=(a.integral||0)+s*i;const n=(s-(a.error||0))/i,o=this._windup;return!1!==o&&(r=Math.max(-o,Math.min(r,o))),a.error=s,a.integral=r,a.done=Math.abs(s)<.001,a.done?e:t+(this.P*s+this.I*r+this.D*n)}},{windup:me("_windup"),p:me("P"),i:me("I"),d:me("D")});const Ce={M:2,L:2,H:1,V:1,C:6,S:4,Q:4,T:2,A:7,Z:0},Se={M:function(t,e,i){return e.x=i.x=t[0],e.y=i.y=t[1],["M",e.x,e.y]},L:function(t,e){return e.x=t[0],e.y=t[1],["L",t[0],t[1]]},H:function(t,e){return e.x=t[0],["H",t[0]]},V:function(t,e){return e.y=t[0],["V",t[0]]},C:function(t,e){return e.x=t[4],e.y=t[5],["C",t[0],t[1],t[2],t[3],t[4],t[5]]},S:function(t,e){return e.x=t[2],e.y=t[3],["S",t[0],t[1],t[2],t[3]]},Q:function(t,e){return e.x=t[2],e.y=t[3],["Q",t[0],t[1],t[2],t[3]]},T:function(t,e){return e.x=t[0],e.y=t[1],["T",t[0],t[1]]},Z:function(t,e,i){return e.x=i.x,e.y=i.y,["Z"]},A:function(t,e){return e.x=t[5],e.y=t[6],["A",t[0],t[1],t[2],t[3],t[4],t[5],t[6]]}},Le="mlhvqtcsaz".split("");for(let t=0,e=Le.length;t<e;++t)Se[Le[t]]=function(t){return function(e,i,a){if("H"===t)e[0]=e[0]+i.x;else if("V"===t)e[0]=e[0]+i.y;else if("A"===t)e[5]=e[5]+i.x,e[6]=e[6]+i.y;else for(let t=0,a=e.length;t<a;++t)e[t]=e[t]+(t%2?i.y:i.x);return Se[t](e,i,a)}}(Le[t].toUpperCase());function Me(t){return t.segment.length&&t.segment.length-1===Ce[t.segment[0].toUpperCase()]}function Pe(t,e){t.inNumber&&Ie(t,!1);const i=ut.test(e);if(i)t.segment=[e];else{const e=t.lastCommand,i=e.toLowerCase(),a=e===i;t.segment=["m"===i?a?"l":"L":e]}return t.inSegment=!0,t.lastCommand=t.segment[0],i}function Ie(t,e){if(!t.inNumber)throw new Error("Parser Error");t.number&&t.segment.push(parseFloat(t.number)),t.inNumber=e,t.number="",t.pointSeen=!1,t.hasExponent=!1,Me(t)&&Te(t)}function Te(t){t.inSegment=!1,t.absolute&&(t.segment=function(t){const e=t.segment[0];return Se[e](t.segment.slice(1),t.p,t.p0)}(t)),t.segments.push(t.segment)}function ze(t){if(!t.segment.length)return!1;const e="A"===t.segment[0].toUpperCase(),i=t.segment.length;return e&&(4===i||5===i)}function Xe(t){return"E"===t.lastToken.toUpperCase()}const Re=new Set([" ",",","\t","\n","\r","\f"]);class Ee extends Dt{bbox(){return yt().path.setAttribute("d",this.toString()),new kt(yt.nodes.path.getBBox())}move(t,e){const i=this.bbox();if(t-=i.x,e-=i.y,!isNaN(t)&&!isNaN(e))for(let i,a=this.length-1;a>=0;a--)i=this[a][0],"M"===i||"L"===i||"T"===i?(this[a][1]+=t,this[a][2]+=e):"H"===i?this[a][1]+=t:"V"===i?this[a][1]+=e:"C"===i||"S"===i||"Q"===i?(this[a][1]+=t,this[a][2]+=e,this[a][3]+=t,this[a][4]+=e,"C"===i&&(this[a][5]+=t,this[a][6]+=e)):"A"===i&&(this[a][6]+=t,this[a][7]+=e);return this}parse(t="M0 0"){return Array.isArray(t)&&(t=Array.prototype.concat.apply([],t).toString()),function(t,e=!0){let i=0,a="";const s={segment:[],inNumber:!1,number:"",lastToken:"",inSegment:!1,segments:[],pointSeen:!1,hasExponent:!1,absolute:e,p0:new bt,p:new bt};for(;s.lastToken=a,a=t.charAt(i++);)if(s.inSegment||!Pe(s,a))if("."!==a)if(isNaN(parseInt(a)))if(Re.has(a))s.inNumber&&Ie(s,!1);else if("-"!==a&&"+"!==a)if("E"!==a.toUpperCase()){if(ut.test(a)){if(s.inNumber)Ie(s,!1);else{if(!Me(s))throw new Error("parser Error");Te(s)}--i}}else s.number+=a,s.hasExponent=!0;else{if(s.inNumber&&!Xe(s)){Ie(s,!1),--i;continue}s.number+=a,s.inNumber=!0}else{if("0"===s.number||ze(s)){s.inNumber=!0,s.number=a,Ie(s,!0);continue}s.inNumber=!0,s.number+=a}else{if(s.pointSeen||s.hasExponent){Ie(s,!1),--i;continue}s.inNumber=!0,s.pointSeen=!0,s.number+=a}return s.inNumber&&Ie(s,!1),s.inSegment&&Me(s)&&Te(s),s.segments}(t)}size(t,e){const i=this.bbox();let a,s;for(i.width=0===i.width?1:i.width,i.height=0===i.height?1:i.height,a=this.length-1;a>=0;a--)s=this[a][0],"M"===s||"L"===s||"T"===s?(this[a][1]=(this[a][1]-i.x)*t/i.width+i.x,this[a][2]=(this[a][2]-i.y)*e/i.height+i.y):"H"===s?this[a][1]=(this[a][1]-i.x)*t/i.width+i.x:"V"===s?this[a][1]=(this[a][1]-i.y)*e/i.height+i.y:"C"===s||"S"===s||"Q"===s?(this[a][1]=(this[a][1]-i.x)*t/i.width+i.x,this[a][2]=(this[a][2]-i.y)*e/i.height+i.y,this[a][3]=(this[a][3]-i.x)*t/i.width+i.x,this[a][4]=(this[a][4]-i.y)*e/i.height+i.y,"C"===s&&(this[a][5]=(this[a][5]-i.x)*t/i.width+i.x,this[a][6]=(this[a][6]-i.y)*e/i.height+i.y)):"A"===s&&(this[a][1]=this[a][1]*t/i.width,this[a][2]=this[a][2]*e/i.height,this[a][6]=(this[a][6]-i.x)*t/i.width+i.x,this[a][7]=(this[a][7]-i.y)*e/i.height+i.y);return this}toString(){return function(t){let e="";for(let i=0,a=t.length;i<a;i++)e+=t[i][0],null!=t[i][1]&&(e+=t[i][1],null!=t[i][2]&&(e+=" ",e+=t[i][2],null!=t[i][3]&&(e+=" ",e+=t[i][3],e+=" ",e+=t[i][4],null!=t[i][5]&&(e+=" ",e+=t[i][5],e+=" ",e+=t[i][6],null!=t[i][7]&&(e+=" ",e+=t[i][7])))));return e+" "}(this)}}const Ye=t=>{const e=typeof t;return"number"===e?_t:"string"===e?xt.isColor(t)?xt:dt.test(t)?ut.test(t)?Ee:Dt:tt.test(t)?_t:Oe:Ne.indexOf(t.constructor)>-1?t.constructor:Array.isArray(t)?Dt:"object"===e?_e:Oe};class He{constructor(t){this._stepper=t||new we("-"),this._from=null,this._to=null,this._type=null,this._context=null,this._morphObj=null}at(t){return this._morphObj.morph(this._from,this._to,t,this._stepper,this._context)}done(){return this._context.map(this._stepper.done).reduce((function(t,e){return t&&e}),!0)}from(t){return null==t?this._from:(this._from=this._set(t),this)}stepper(t){return null==t?this._stepper:(this._stepper=t,this)}to(t){return null==t?this._to:(this._to=this._set(t),this)}type(t){return null==t?this._type:(this._type=t,this)}_set(t){this._type||this.type(Ye(t));let e=new this._type(t);return this._type===xt&&(e=this._to?e[this._to[4]]():this._from?e[this._from[4]]():e),this._type===_e&&(e=this._to?e.align(this._to):this._from?e.align(this._from):e),e=e.toConsumable(),this._morphObj=this._morphObj||new this._type,this._context=this._context||Array.apply(null,Array(e.length)).map(Object).map((function(t){return t.done=!0,t})),e}}class Oe{constructor(...t){this.init(...t)}init(t){return t=Array.isArray(t)?t[0]:t,this.value=t,this}toArray(){return[this.value]}valueOf(){return this.value}}class Fe{constructor(...t){this.init(...t)}init(t){return Array.isArray(t)&&(t={scaleX:t[0],scaleY:t[1],shear:t[2],rotate:t[3],translateX:t[4],translateY:t[5],originX:t[6],originY:t[7]}),Object.assign(this,Fe.defaults,t),this}toArray(){const t=this;return[t.scaleX,t.scaleY,t.shear,t.rotate,t.translateX,t.translateY,t.originX,t.originY]}}Fe.defaults={scaleX:1,scaleY:1,shear:0,rotate:0,translateX:0,translateY:0,originX:0,originY:0};const De=(t,e)=>t[0]<e[0]?-1:t[0]>e[0]?1:0;class _e{constructor(...t){this.init(...t)}align(t){const e=this.values;for(let i=0,a=e.length;i<a;++i){if(e[i+1]===t[i+1]){if(e[i+1]===xt&&t[i+7]!==e[i+7]){const e=t[i+7],a=new xt(this.values.splice(i+3,5))[e]().toArray();this.values.splice(i+3,0,...a)}i+=e[i+2]+2;continue}if(!t[i+1])return this;const a=(new t[i+1]).toArray(),s=e[i+2]+3;e.splice(i,s,t[i],t[i+1],t[i+2],...a),i+=e[i+2]+2}return this}init(t){if(this.values=[],Array.isArray(t))return void(this.values=t.slice());t=t||{};const e=[];for(const i in t){const a=Ye(t[i]),s=new a(t[i]).toArray();e.push([i,a,s.length,...s])}return e.sort(De),this.values=e.reduce(((t,e)=>t.concat(e)),[]),this}toArray(){return this.values}valueOf(){const t={},e=this.values;for(;e.length;){const i=e.shift(),a=e.shift(),s=e.shift(),r=e.splice(0,s);t[i]=new a(r)}return t}}const Ne=[Oe,Fe,_e];class We extends qt{constructor(t,e=t){super(G("path",t),e)}array(){return this._array||(this._array=new Ee(this.attr("d")))}clear(){return delete this._array,this}height(t){return null==t?this.bbox().height:this.size(this.bbox().width,t)}move(t,e){return this.attr("d",this.array().move(t,e))}plot(t){return null==t?this.array():this.clear().attr("d","string"==typeof t?t:this._array=new Ee(t))}size(t,e){const i=I(this,t,e);return this.attr("d",this.array().size(i.width,i.height))}width(t){return null==t?this.bbox().width:this.size(t,this.bbox().height)}x(t){return null==t?this.bbox().x:this.move(t,this.bbox().y)}y(t){return null==t?this.bbox().y:this.move(this.bbox().x,t)}}We.prototype.MorphArray=Ee,A({Container:{path:K((function(t){return this.put(new We).plot(t||new Ee)}))}}),q(We,"Path");var Be=Object.freeze({__proto__:null,array:function(){return this._array||(this._array=new ge(this.attr("points")))},clear:function(){return delete this._array,this},move:function(t,e){return this.attr("points",this.array().move(t,e))},plot:function(t){return null==t?this.array():this.clear().attr("points","string"==typeof t?t:this._array=new ge(t))},size:function(t,e){const i=I(this,t,e);return this.attr("points",this.array().size(i.width,i.height))}});class Ge extends qt{constructor(t,e=t){super(G("polygon",t),e)}}A({Container:{polygon:K((function(t){return this.put(new Ge).plot(t||new ge)}))}}),Q(Ge,fe),Q(Ge,Be),q(Ge,"Polygon");class je extends qt{constructor(t,e=t){super(G("polyline",t),e)}}A({Container:{polyline:K((function(t){return this.put(new je).plot(t||new ge)}))}}),Q(je,fe),Q(je,Be),q(je,"Polyline");class Ve extends qt{constructor(t,e=t){super(G("rect",t),e)}}Q(Ve,{rx:Zt,ry:$t}),A({Container:{rect:K((function(t,e){return this.put(new Ve).size(t,e)}))}}),q(Ve,"Rect");class Ue{constructor(){this._first=null,this._last=null}first(){return this._first&&this._first.value}last(){return this._last&&this._last.value}push(t){const e=void 0!==t.next?t:{value:t,next:null,prev:null};return this._last?(e.prev=this._last,this._last.next=e,this._last=e):(this._last=e,this._first=e),e}remove(t){t.prev&&(t.prev.next=t.next),t.next&&(t.next.prev=t.prev),t===this._last&&(this._last=t.prev),t===this._first&&(this._first=t.next),t.prev=null,t.next=null}shift(){const t=this._first;return t?(this._first=t.next,this._first&&(this._first.prev=null),this._last=this._first?this._last:null,t.value):null}}const qe={nextDraw:null,frames:new Ue,timeouts:new Ue,immediates:new Ue,timer:()=>O.window.performance||O.window.Date,transforms:[],frame(t){const e=qe.frames.push({run:t});return null===qe.nextDraw&&(qe.nextDraw=O.window.requestAnimationFrame(qe._draw)),e},timeout(t,e){e=e||0;const i=qe.timer().now()+e,a=qe.timeouts.push({run:t,time:i});return null===qe.nextDraw&&(qe.nextDraw=O.window.requestAnimationFrame(qe._draw)),a},immediate(t){const e=qe.immediates.push(t);return null===qe.nextDraw&&(qe.nextDraw=O.window.requestAnimationFrame(qe._draw)),e},cancelFrame(t){null!=t&&qe.frames.remove(t)},clearTimeout(t){null!=t&&qe.timeouts.remove(t)},cancelImmediate(t){null!=t&&qe.immediates.remove(t)},_draw(t){let e=null;const i=qe.timeouts.last();for(;(e=qe.timeouts.shift())&&(t>=e.time?e.run():qe.timeouts.push(e),e!==i););let a=null;const s=qe.frames.last();for(;a!==s&&(a=qe.frames.shift());)a.run(t);let r=null;for(;r=qe.immediates.shift();)r();qe.nextDraw=qe.timeouts.first()||qe.frames.first()?O.window.requestAnimationFrame(qe._draw):null}},Ze=function(t){const e=t.start,i=t.runner.duration();return{start:e,duration:i,end:e+i,runner:t.runner}},$e=function(){const t=O.window;return(t.performance||t.Date).now()};class Je extends Rt{constructor(t=$e){super(),this._timeSource=t,this.terminate()}active(){return!!this._nextFrame}finish(){return this.time(this.getEndTimeOfTimeline()+1),this.pause()}getEndTime(){const t=this.getLastRunnerInfo(),e=t?t.runner.duration():0;return(t?t.start:this._time)+e}getEndTimeOfTimeline(){const t=this._runners.map((t=>t.start+t.runner.duration()));return Math.max(0,...t)}getLastRunnerInfo(){return this.getRunnerInfoById(this._lastRunnerId)}getRunnerInfoById(t){return this._runners[this._runnerIds.indexOf(t)]||null}pause(){return this._paused=!0,this._continue()}persist(t){return null==t?this._persist:(this._persist=t,this)}play(){return this._paused=!1,this.updateTime()._continue()}reverse(t){const e=this.speed();if(null==t)return this.speed(-e);const i=Math.abs(e);return this.speed(t?-i:i)}schedule(t,e,i){if(null==t)return this._runners.map(Ze);let a=0;const s=this.getEndTime();if(e=e||0,null==i||"last"===i||"after"===i)a=s;else if("absolute"===i||"start"===i)a=e,e=0;else if("now"===i)a=this._time;else if("relative"===i){const i=this.getRunnerInfoById(t.id);i&&(a=i.start+e,e=0)}else{if("with-last"!==i)throw new Error('Invalid value for the "when" parameter');{const t=this.getLastRunnerInfo();a=t?t.start:this._time}}t.unschedule(),t.timeline(this);const r=t.persist(),n={persist:null===r?this._persist:r,start:a+e,runner:t};return this._lastRunnerId=t.id,this._runners.push(n),this._runners.sort(((t,e)=>t.start-e.start)),this._runnerIds=this._runners.map((t=>t.runner.id)),this.updateTime()._continue(),this}seek(t){return this.time(this._time+t)}source(t){return null==t?this._timeSource:(this._timeSource=t,this)}speed(t){return null==t?this._speed:(this._speed=t,this)}stop(){return this.time(0),this.pause()}time(t){return null==t?this._time:(this._time=t,this._continue(!0))}unschedule(t){const e=this._runnerIds.indexOf(t.id);return e<0||(this._runners.splice(e,1),this._runnerIds.splice(e,1),t.timeline(null)),this}updateTime(){return this.active()||(this._lastSourceTime=this._timeSource()),this}_continue(t=!1){return qe.cancelFrame(this._nextFrame),this._nextFrame=null,t?this._stepImmediate():(this._paused||(this._nextFrame=qe.frame(this._step)),this)}_stepFn(t=!1){const e=this._timeSource();let i=e-this._lastSourceTime;t&&(i=0);const a=this._speed*i+(this._time-this._lastStepTime);this._lastSourceTime=e,t||(this._time+=a,this._time=this._time<0?0:this._time),this._lastStepTime=this._time,this.fire("time",this._time);for(let t=this._runners.length;t--;){const e=this._runners[t],i=e.runner;this._time-e.start<=0&&i.reset()}let s=!1;for(let t=0,e=this._runners.length;t<e;t++){const i=this._runners[t],r=i.runner;let n=a;const o=this._time-i.start;if(o<=0){s=!0;continue}if(o<n&&(n=o),!r.active())continue;if(r.step(n).done){if(!0!==i.persist){r.duration()-r.time()+this._time+i.persist<this._time&&(r.unschedule(),--t,--e)}}else s=!0}return s&&!(this._speed<0&&0===this._time)||this._runnerIds.length&&this._speed<0&&this._time>0?this._continue():(this.pause(),this.fire("finished")),this}terminate(){this._startTime=0,this._speed=1,this._persist=0,this._nextFrame=null,this._paused=!0,this._runners=[],this._runnerIds=[],this._lastRunnerId=-1,this._time=0,this._lastSourceTime=0,this._lastStepTime=0,this._step=this._stepFn.bind(this,!1),this._stepImmediate=this._stepFn.bind(this,!0)}}A({Element:{timeline:function(t){return null==t?(this._timeline=this._timeline||new Je,this._timeline):(this._timeline=t,this)}}});class Qe extends Rt{constructor(t){super(),this.id=Qe.id++,t="function"==typeof(t=null==t?Yt:t)?new ke(t):t,this._element=null,this._timeline=null,this.done=!1,this._queue=[],this._duration="number"==typeof t&&t,this._isDeclarative=t instanceof ke,this._stepper=this._isDeclarative?t:new we,this._history={},this.enabled=!0,this._time=0,this._lastTime=0,this._reseted=!0,this.transforms=new vt,this.transformId=1,this._haveReversed=!1,this._reverse=!1,this._loopsDone=0,this._swing=!1,this._wait=0,this._times=1,this._frameId=null,this._persist=!!this._isDeclarative||null}static sanitise(t,e,i){let a=1,s=!1,r=0;return e=e??Ot,i=i||"last","object"!=typeof(t=t??Yt)||t instanceof ye||(e=t.delay??e,i=t.when??i,s=t.swing||s,a=t.times??a,r=t.wait??r,t=t.duration??Yt),{duration:t,delay:e,swing:s,times:a,wait:r,when:i}}active(t){return null==t?this.enabled:(this.enabled=t,this)}addTransform(t){return this.transforms.lmultiplyO(t),this}after(t){return this.on("finished",t)}animate(t,e,i){const a=Qe.sanitise(t,e,i),s=new Qe(a.duration);return this._timeline&&s.timeline(this._timeline),this._element&&s.element(this._element),s.loop(a).schedule(a.delay,a.when)}clearTransform(){return this.transforms=new vt,this}clearTransformsFromQueue(){this.done&&this._timeline&&this._timeline._runnerIds.includes(this.id)||(this._queue=this._queue.filter((t=>!t.isTransform)))}delay(t){return this.animate(0,t)}duration(){return this._times*(this._wait+this._duration)-this._wait}during(t){return this.queue(null,t)}ease(t){return this._stepper=new we(t),this}element(t){return null==t?this._element:(this._element=t,t._prepareRunner(),this)}finish(){return this.step(1/0)}loop(t,e,i){return"object"==typeof t&&(e=t.swing,i=t.wait,t=t.times),this._times=t||1/0,this._swing=e||!1,this._wait=i||0,!0===this._times&&(this._times=1/0),this}loops(t){const e=this._duration+this._wait;if(null==t){const t=Math.floor(this._time/e),i=(this._time-t*e)/this._duration;return Math.min(t+i,this._times)}const i=t%1,a=e*Math.floor(t)+this._duration*i;return this.time(a)}persist(t){return null==t?this._persist:(this._persist=t,this)}position(t){const e=this._time,i=this._duration,a=this._wait,s=this._times,r=this._swing,n=this._reverse;let o;if(null==t){const t=function(t){const e=r*Math.floor(t%(2*(a+i))/(a+i)),s=e&&!n||!e&&n,o=Math.pow(-1,s)*(t%(a+i))/i+s;return Math.max(Math.min(o,1),0)},l=s*(a+i)-a;return o=e<=0?Math.round(t(1e-5)):e<l?t(e):Math.round(t(l-1e-5)),o}const l=Math.floor(this.loops()),h=r&&l%2==0;return o=l+(h&&!n||n&&h?t:1-t),this.loops(o)}progress(t){return null==t?Math.min(1,this._time/this.duration()):this.time(t*this.duration())}queue(t,e,i,a){this._queue.push({initialiser:t||Et,runner:e||Et,retarget:i,isTransform:a,initialised:!1,finished:!1});return this.timeline()&&this.timeline()._continue(),this}reset(){return this._reseted||(this.time(0),this._reseted=!0),this}reverse(t){return this._reverse=null==t?!this._reverse:t,this}schedule(t,e,i){if(t instanceof Je||(i=e,e=t,t=this.timeline()),!t)throw Error("Runner cannot be scheduled without timeline");return t.schedule(this,e,i),this}step(t){if(!this.enabled)return this;t=null==t?16:t,this._time+=t;const e=this.position(),i=this._lastPosition!==e&&this._time>=0;this._lastPosition=e;const a=this.duration(),s=this._lastTime<=0&&this._time>0,r=this._lastTime<a&&this._time>=a;this._lastTime=this._time,s&&this.fire("start",this);const n=this._isDeclarative;this.done=!n&&!r&&this._time>=a,this._reseted=!1;let o=!1;return(i||n)&&(this._initialise(i),this.transforms=new vt,o=this._run(n?t:e),this.fire("step",this)),this.done=this.done||o&&n,r&&this.fire("finished",this),this}time(t){if(null==t)return this._time;const e=t-this._time;return this.step(e),this}timeline(t){return void 0===t?this._timeline:(this._timeline=t,this)}unschedule(){const t=this.timeline();return t&&t.unschedule(this),this}_initialise(t){if(t||this._isDeclarative)for(let e=0,i=this._queue.length;e<i;++e){const i=this._queue[e],a=this._isDeclarative||!i.initialised&&t;t=!i.finished,a&&t&&(i.initialiser.call(this),i.initialised=!0)}}_rememberMorpher(t,e){if(this._history[t]={morpher:e,caller:this._queue[this._queue.length-1]},this._isDeclarative){const t=this.timeline();t&&t.play()}}_run(t){let e=!0;for(let i=0,a=this._queue.length;i<a;++i){const a=this._queue[i],s=a.runner.call(this,t);a.finished=a.finished||!0===s,e=e&&a.finished}return e}_tryRetarget(t,e,i){if(this._history[t]){if(!this._history[t].caller.initialised){const e=this._queue.indexOf(this._history[t].caller);return this._queue.splice(e,1),!1}this._history[t].caller.retarget?this._history[t].caller.retarget.call(this,e,i):this._history[t].morpher.to(e),this._history[t].caller.finished=!1;const a=this.timeline();return a&&a.play(),!0}return!1}}Qe.id=0;class Ke{constructor(t=new vt,e=-1,i=!0){this.transforms=t,this.id=e,this.done=i}clearTransformsFromQueue(){}}Q([Qe,Ke],{mergeWith(t){return new Ke(t.transforms.lmultiply(this.transforms),t.id)}});const ti=(t,e)=>t.lmultiplyO(e),ei=t=>t.transforms;function ii(){const t=this._transformationRunners.runners.map(ei).reduce(ti,new vt);this.transform(t),this._transformationRunners.merge(),1===this._transformationRunners.length()&&(this._frameId=null)}class ai{constructor(){this.runners=[],this.ids=[]}add(t){if(this.runners.includes(t))return;const e=t.id+1;return this.runners.push(t),this.ids.push(e),this}clearBefore(t){const e=this.ids.indexOf(t+1)||1;return this.ids.splice(0,e,0),this.runners.splice(0,e,new Ke).forEach((t=>t.clearTransformsFromQueue())),this}edit(t,e){const i=this.ids.indexOf(t+1);return this.ids.splice(i,1,t+1),this.runners.splice(i,1,e),this}getByID(t){return this.runners[this.ids.indexOf(t+1)]}length(){return this.ids.length}merge(){let t=null;for(let e=0;e<this.runners.length;++e){const i=this.runners[e];if(t&&i.done&&t.done&&(!i._timeline||!i._timeline._runnerIds.includes(i.id))&&(!t._timeline||!t._timeline._runnerIds.includes(t.id))){this.remove(i.id);const a=i.mergeWith(t);this.edit(t.id,a),t=a,--e}else t=i}return this}remove(t){const e=this.ids.indexOf(t+1);return this.ids.splice(e,1),this.runners.splice(e,1),this}}A({Element:{animate(t,e,i){const a=Qe.sanitise(t,e,i),s=this.timeline();return new Qe(a.duration).loop(a).element(this).timeline(s.play()).schedule(a.delay,a.when)},delay(t,e){return this.animate(0,t,e)},_clearTransformRunnersBefore(t){this._transformationRunners.clearBefore(t.id)},_currentTransform(t){return this._transformationRunners.runners.filter((e=>e.id<=t.id)).map(ei).reduce(ti,new vt)},_addRunner(t){this._transformationRunners.add(t),qe.cancelImmediate(this._frameId),this._frameId=qe.immediate(ii.bind(this))},_prepareRunner(){null==this._frameId&&(this._transformationRunners=(new ai).add(new Ke(new vt(this))))}}});Q(Qe,{attr(t,e){return this.styleAttr("attr",t,e)},css(t,e){return this.styleAttr("css",t,e)},styleAttr(t,e,i){if("string"==typeof e)return this.styleAttr(t,{[e]:i});let a=e;if(this._tryRetarget(t,a))return this;let s=new He(this._stepper).to(a),r=Object.keys(a);return this.queue((function(){s=s.from(this.element()[t](r))}),(function(e){return this.element()[t](s.at(e).valueOf()),s.done()}),(function(e){const i=Object.keys(e),n=(o=r,i.filter((t=>!o.includes(t))));var o;if(n.length){const e=this.element()[t](n),i=new _e(s.from()).valueOf();Object.assign(i,e),s.from(i)}const l=new _e(s.to()).valueOf();Object.assign(l,e),s.to(l),r=i,a=e})),this._rememberMorpher(t,s),this},zoom(t,e){if(this._tryRetarget("zoom",t,e))return this;let i=new He(this._stepper).to(new _t(t));return this.queue((function(){i=i.from(this.element().zoom())}),(function(t){return this.element().zoom(i.at(t),e),i.done()}),(function(t,a){e=a,i.to(t)})),this._rememberMorpher("zoom",i),this},transform(t,e,i){if(e=t.relative||e,this._isDeclarative&&!e&&this._tryRetarget("transform",t))return this;const a=vt.isMatrixLike(t);i=null!=t.affine?t.affine:null!=i?i:!a;const s=new He(this._stepper).type(i?Fe:vt);let r,n,o,l,h;return this.queue((function(){n=n||this.element(),r=r||T(t,n),h=new vt(e?void 0:n),n._addRunner(this),e||n._clearTransformRunnersBefore(this)}),(function(c){e||this.clearTransform();const{x:d,y:u}=new bt(r).transform(n._currentTransform(this));let g=new vt({...t,origin:[d,u]}),p=this._isDeclarative&&o?o:h;if(i){g=g.decompose(d,u),p=p.decompose(d,u);const t=g.rotate,e=p.rotate,i=[t-360,t,t+360],a=i.map((t=>Math.abs(t-e))),s=Math.min(...a),r=a.indexOf(s);g.rotate=i[r]}e&&(a||(g.rotate=t.rotate||0),this._isDeclarative&&l&&(p.rotate=l)),s.from(p),s.to(g);const f=s.at(c);return l=f.rotate,o=new vt(f),this.addTransform(o),n._addRunner(this),s.done()}),(function(e){(e.origin||"center").toString()!==(t.origin||"center").toString()&&(r=T(e,n)),t={...e,origin:r}}),!0),this._isDeclarative&&this._rememberMorpher("transform",s),this},x(t){return this._queueNumber("x",t)},y(t){return this._queueNumber("y",t)},ax(t){return this._queueNumber("ax",t)},ay(t){return this._queueNumber("ay",t)},dx(t=0){return this._queueNumberDelta("x",t)},dy(t=0){return this._queueNumberDelta("y",t)},dmove(t,e){return this.dx(t).dy(e)},_queueNumberDelta(t,e){if(e=new _t(e),this._tryRetarget(t,e))return this;const i=new He(this._stepper).to(e);let a=null;return this.queue((function(){a=this.element()[t](),i.from(a),i.to(a+e)}),(function(e){return this.element()[t](i.at(e)),i.done()}),(function(t){i.to(a+new _t(t))})),this._rememberMorpher(t,i),this},_queueObject(t,e){if(this._tryRetarget(t,e))return this;const i=new He(this._stepper).to(e);return this.queue((function(){i.from(this.element()[t]())}),(function(e){return this.element()[t](i.at(e)),i.done()})),this._rememberMorpher(t,i),this},_queueNumber(t,e){return this._queueObject(t,new _t(e))},cx(t){return this._queueNumber("cx",t)},cy(t){return this._queueNumber("cy",t)},move(t,e){return this.x(t).y(e)},amove(t,e){return this.ax(t).ay(e)},center(t,e){return this.cx(t).cy(e)},size(t,e){let i;return t&&e||(i=this._element.bbox()),t||(t=i.width/i.height*e),e||(e=i.height/i.width*t),this.width(t).height(e)},width(t){return this._queueNumber("width",t)},height(t){return this._queueNumber("height",t)},plot(t,e,i,a){if(4===arguments.length)return this.plot([t,e,i,a]);if(this._tryRetarget("plot",t))return this;const s=new He(this._stepper).type(this._element.MorphArray).to(t);return this.queue((function(){s.from(this._element.array())}),(function(t){return this._element.plot(s.at(t)),s.done()})),this._rememberMorpher("plot",s),this},leading(t){return this._queueNumber("leading",t)},viewbox(t,e,i,a){return this._queueObject("viewbox",new kt(t,e,i,a))},update(t){return"object"!=typeof t?this.update({offset:arguments[0],color:arguments[1],opacity:arguments[2]}):(null!=t.opacity&&this.attr("stop-opacity",t.opacity),null!=t.color&&this.attr("stop-color",t.color),null!=t.offset&&this.attr("offset",t.offset),this)}}),Q(Qe,{rx:Zt,ry:$t,from:ne,to:oe}),q(Qe,"Runner");class si extends Vt{constructor(t,e=t){super(G("svg",t),e),this.namespace()}defs(){return this.isRoot()?V(this.node.querySelector("defs"))||this.put(new Ut):this.root().defs()}isRoot(){return!this.node.parentNode||!(this.node.parentNode instanceof O.window.SVGElement)&&"#document-fragment"!==this.node.parentNode.nodeName}namespace(){return this.isRoot()?this.attr({xmlns:E,version:"1.1"}).attr("xmlns:xlink",H,Y):this.root().namespace()}removeNamespace(){return this.attr({xmlns:null,version:null}).attr("xmlns:xlink",null,Y).attr("xmlns:svgjs",null,Y)}root(){return this.isRoot()?this:super.root()}}A({Container:{nested:K((function(){return this.put(new si)}))}}),q(si,"Svg",!0);let ri=class extends Vt{constructor(t,e=t){super(G("symbol",t),e)}};A({Container:{symbol:K((function(){return this.put(new ri)}))}}),q(ri,"Symbol");var ni=Object.freeze({__proto__:null,amove:function(t,e){return this.ax(t).ay(e)},ax:function(t){return this.attr("x",t)},ay:function(t){return this.attr("y",t)},build:function(t){return this._build=!!t,this},center:function(t,e,i=this.bbox()){return this.cx(t,i).cy(e,i)},cx:function(t,e=this.bbox()){return null==t?e.cx:this.attr("x",this.attr("x")+t-e.cx)},cy:function(t,e=this.bbox()){return null==t?e.cy:this.attr("y",this.attr("y")+t-e.cy)},length:function(){return this.node.getComputedTextLength()},move:function(t,e,i=this.bbox()){return this.x(t,i).y(e,i)},plain:function(t){return!1===this._build&&this.clear(),this.node.appendChild(O.document.createTextNode(t)),this},x:function(t,e=this.bbox()){return null==t?e.x:this.attr("x",this.attr("x")+t-e.x)},y:function(t,e=this.bbox()){return null==t?e.y:this.attr("y",this.attr("y")+t-e.y)}});class oi extends qt{constructor(t,e=t){super(G("text",t),e),this.dom.leading=this.dom.leading??new _t(1.3),this._rebuild=!0,this._build=!1}leading(t){return null==t?this.dom.leading:(this.dom.leading=new _t(t),this.rebuild())}rebuild(t){if("boolean"==typeof t&&(this._rebuild=t),this._rebuild){const t=this;let e=0;const i=this.dom.leading;this.each((function(a){if(X(this.node))return;const s=O.window.getComputedStyle(this.node).getPropertyValue("font-size"),r=i*new _t(s);this.dom.newLined&&(this.attr("x",t.attr("x")),"\n"===this.text()?e+=r:(this.attr("dy",a?r+e:0),e=0))})),this.fire("rebuild")}return this}setData(t){return this.dom=t,this.dom.leading=new _t(t.leading||1.3),this}writeDataToDom(){return R(this,this.dom,{leading:1.3}),this}text(t){if(void 0===t){const e=this.node.childNodes;let i=0;t="";for(let a=0,s=e.length;a<s;++a)"textPath"===e[a].nodeName||X(e[a])?0===a&&(i=a+1):(a!==i&&3!==e[a].nodeType&&!0===V(e[a]).dom.newLined&&(t+="\n"),t+=e[a].textContent);return t}if(this.clear().build(!0),"function"==typeof t)t.call(this,this);else for(let e=0,i=(t=(t+"").split("\n")).length;e<i;e++)this.newLine(t[e]);return this.build(!1).rebuild()}}Q(oi,ni),A({Container:{text:K((function(t=""){return this.put(new oi).text(t)})),plain:K((function(t=""){return this.put(new oi).plain(t)}))}}),q(oi,"Text");class li extends qt{constructor(t,e=t){super(G("tspan",t),e),this._build=!1}dx(t){return this.attr("dx",t)}dy(t){return this.attr("dy",t)}newLine(){this.dom.newLined=!0;const t=this.parent();if(!(t instanceof oi))return this;const e=t.index(this),i=O.window.getComputedStyle(this.node).getPropertyValue("font-size"),a=t.dom.leading*new _t(i);return this.dy(e?a:0).attr("x",t.x())}text(t){return null==t?this.node.textContent+(this.dom.newLined?"\n":""):("function"==typeof t?(this.clear().build(!0),t.call(this,this),this.build(!1)):this.plain(t),this)}}Q(li,ni),A({Tspan:{tspan:K((function(t=""){const e=new li;return this._build||this.clear(),this.put(e).text(t)}))},Text:{newLine:function(t=""){return this.tspan(t).newLine()}}}),q(li,"Tspan");class hi extends qt{constructor(t,e=t){super(G("circle",t),e)}radius(t){return this.attr("r",t)}rx(t){return this.attr("r",t)}ry(t){return this.rx(t)}size(t){return this.radius(new _t(t).divide(2))}}Q(hi,{x:Jt,y:Qt,cx:Kt,cy:te,width:ee,height:ie}),A({Container:{circle:K((function(t=0){return this.put(new hi).size(t).move(0,0)}
vendor: 1,362 bytes, line 46395
46395))}}),q(hi,"Circle");class ci extends Vt{constructor(t,e=t){super(G("clipPath",t),e)}remove(){return this.targets().forEach((function(t){t.unclip()})),super.remove()}targets(){return Lt("svg [clip-path*="+this.id()+"]")}}A({Container:{clip:K((function(){return this.defs().put(new ci)}))},Element:{clipper(){return this.reference("clip-path")},clipWith(t){const e=t instanceof ci?t:this.parent().clip().add(t);return this.attr("clip-path","url(#"+e.id()+")")},unclip(){return this.attr("clip-path",null)}}}),q(ci,"ClipPath");class di extends Gt{constructor(t,e=t){super(G("foreignObject",t),e)}}A({Container:{foreignObject:K((function(t,e){return this.put(new di).size(t,e)}))}}),q(di,"ForeignObject");var ui=Object.freeze({__proto__:null,dmove:function(t,e){return this.children().forEach((i=>{let a;try{a=i.node instanceof F().SVGSVGElement?new kt(i.attr(["x","y","width","height"])):i.bbox()}catch(t){return}const s=new vt(i),r=s.translate(t,e).transform(s.inverse()),n=new bt(a.x,a.y).transform(r);i.move(n.x,n.y)})),this},dx:function(t){return this.dmove(t,0)},dy:function(t){return this.dmove(0,t)},height:function(t,e=this.bbox()){return null==t?e.height:this.size(e.width,t,e)},move:function(t=0,e=0,i=this.bbox()){const a=t-i.x,s=e-i.y;return this.dmove(a,s)},size:function(t,e,i=this.bbox()){const a=I(this,t,e,i),s=a.width/i.width,r=a.height/i.height;
vendor: 4,286 bytes, line 46395
46395return this.children().forEach((t=>{const e=new bt(i).transform(new vt(t).inverse());t.scale(s,r,e.x,e.y)})),this},width:function(t,e=this.bbox()){return null==t?e.width:this.size(t,e.height,e)},x:function(t,e=this.bbox()){return null==t?e.x:this.move(t,e.y,e)},y:function(t,e=this.bbox()){return null==t?e.y:this.move(e.x,t,e)}});class gi extends Vt{constructor(t,e=t){super(G("g",t),e)}}Q(gi,ui),A({Container:{group:K((function(){return this.put(new gi)}))}}),q(gi,"G");class pi extends Vt{constructor(t,e=t){super(G("a",t),e)}target(t){return this.attr("target",t)}to(t){return this.attr("href",t,H)}}Q(pi,ui),A({Container:{link:K((function(t){return this.put(new pi).to(t)}))},Element:{unlink(){const t=this.linker();if(!t)return this;const e=t.parent();if(!e)return this.remove();const i=e.index(t);return e.add(this,i),t.remove(),this},linkTo(t){let e=this.linker();return e||(e=new pi,this.wrap(e)),"function"==typeof t?t.call(e,e):e.to(t),this},linker(){const t=this.parent();return t&&"a"===t.node.nodeName.toLowerCase()?t:null}}}),q(pi,"A");class fi extends Vt{constructor(t,e=t){super(G("mask",t),e)}remove(){return this.targets().forEach((function(t){t.unmask()})),super.remove()}targets(){return Lt("svg [mask*="+this.id()+"]")}}A({Container:{mask:K((function(){return this.defs().put(new fi)}))},Element:{masker(){return this.reference("mask")},maskWith(t){const e=t instanceof fi?t:this.parent().mask().add(t);return this.attr("mask","url(#"+e.id()+")")},unmask(){return this.attr("mask",null)}}}),q(fi,"Mask");class xi extends Gt{constructor(t,e=t){super(G("stop",t),e)}update(t){return("number"==typeof t||t instanceof _t)&&(t={offset:arguments[0],color:arguments[1],opacity:arguments[2]}),null!=t.opacity&&this.attr("stop-opacity",t.opacity),null!=t.color&&this.attr("stop-color",t.color),null!=t.offset&&this.attr("offset",new _t(t.offset)),this}}A({Gradient:{stop:function(t,e,i){return this.put(new xi).update(t,e,i)}}}),q(xi,"Stop");class bi extends Gt{constructor(t,e=t){super(G("style",t),e)}addText(t=""){return this.node.textContent+=t,this}font(t,e,i={}){return this.rule("@font-face",{fontFamily:t,src:e,...i})}rule(t,e){return this.addText(function(t,e){if(!t)return"";if(!e)return t;let i=t+"{";for(const t in e)i+=t.replace(/([A-Z])/g,(function(t,e){return"-"+e.toLowerCase()}))+":"+e[t]+";";return i+="}",i}(t,e))}}A("Dom",{style(t,e){return this.put(new bi).rule(t,e)},fontface(t,e,i){return this.put(new bi).font(t,e,i)}}),q(bi,"Style");class mi extends oi{constructor(t,e=t){super(G("textPath",t),e)}array(){const t=this.track();return t?t.array():null}plot(t){const e=this.track();let i=null;return e&&(i=e.plot(t)),null==t?i:this}track(){return this.reference("href")}}A({Container:{textPath:K((function(t,e){return t instanceof oi||(t=this.text(t)),t.path(e)}))},Text:{path:K((function(t,e=!0){const i=new mi;let a;if(t instanceof We||(t=this.defs().path(t)),i.attr("href","#"+t,H),e)for(;a=this.node.firstChild;)i.node.appendChild(a);return this.put(i)})),textPath(){return this.findOne("textPath")}},Path:{text:K((function(t){return t instanceof oi||(t=(new oi).addTo(this.parent()).text(t)),t.path(this)})),targets(){return Lt("svg textPath").filter((t=>(t.attr("href")||"").includes(this.id())))}}}),mi.prototype.MorphArray=Ee,q(mi,"TextPath");class vi extends qt{constructor(t,e=t){super(G("use",t),e)}use(t,e){return this.attr("href",(e||"")+"#"+t,H)}}A({Container:{use:K((function(t,e){return this.put(new vi).use(t,e)}))}}),q(vi,"Use");const yi=B;Q([si,ri,de,ce,be],C("viewbox")),Q([xe,je,Ge,We],C("marker")),Q(oi,C("Text")),Q(We,C("Path")),Q(Ut,C("Defs")),Q([oi,li],C("Tspan")),Q([Ve,se,he,Qe],C("radius")),Q(Rt,C("EventTarget")),Q(Bt,C("Dom")),Q(Gt,C("Element")),Q(qt,C("Shape")),Q([Vt,re],C("Container")),Q(he,C("Gradient")),Q(Qe,C("Runner")),Ct.extend([...new Set(k)]),function(t=[]){Ne.push(...[].concat(t))}([_t,xt,kt,vt,Dt,ge,Ee,bt]),Q(Ne,{to(t){return(new He).type(this.constructor).from(this.toArray()).to(t)},fromArray(t){return this.init(t),this},toConsumable(){return this.toArray()},morph(t,e,i,a,s){return this.fromArray(t.map((function(t,r){return a.step(t,e[r],i,s[r],s)})))}});class wi extends Gt{constructor(t){super(G("filter",t),t),this.$source="SourceGraphic",this.$sourceAlpha="SourceAlpha",this.$background="Backgroun
46395dImage",this.$backgroundAlpha="BackgroundAlpha",this.$fill="FillPaint",this.$stroke="StrokePaint",this.$autoSetIn=!0}put(t,e){return!(t=super.put(t,e)).attr("in")&&this.$autoSetIn&&t.attr("in",this.$source),t.attr("result")||t.attr("result",t.id()),t}remove(){return this.targets().each("unfilter"),super.remove()}targets(){return Lt('svg [filter*="'+this.id()+'"]')}toString(){return"url(#"+this.id()+")"}}class ki extends Gt{constructor(t,e){super(t,e),this.result(this.id())}in(t){if(null==t){const t=this.attr("in");return this.parent()&&this.parent().find(`[result="${t}"]`)[0]||t}return this.attr("in",t)}result(t){return this.attr("result",t)}toString(){return this.result()}}const Ai=t=>function(...e){for(let i=t.length;i--;)null!=e[i]&&this.attr(t[i],e[i])},Ci={blend:Ai(["in","in2","mode"]),colorMatrix:Ai(["type","values"]),composite:Ai(["in","in2","operator"]),convolveMatrix:function(t){t=new Dt(t).toString(),this.attr({order:Math.sqrt(t.split(" ").length),kernelMatrix:t})},diffuseLighting:Ai(["surfaceScale","lightingColor","diffuseConstant","kernelUnitLength"]),displacementMap:Ai(["in","in2","scale","xChannelSelector","yChannelSelector"]),dropShadow:Ai(["in","dx","dy","stdDeviation"]),flood:Ai(["flood-color","flood-opacity"]),gaussianBlur:function(t=0,e=t){this.attr("stdDeviation",t+" "+e)},image:function(t){this.attr("href",t,H)},morphology:Ai(["operator","radius"]),offset:Ai(["dx","dy"]),specularLighting:Ai(["surfaceScale","lightingColor","diffuseConstant","specularExponent","kernelUnitLength"]),tile:Ai([]),turbulence:Ai(["baseFrequency","numOctaves","seed","stitchTiles","type"])};["blend","colorMatrix","componentTransfer","composite","convolveMatrix","diffuseLighting","displacementMap","dropShadow","flood","gaussianBlur","image","merge","morphology","offset","specularLighting","tile","turbulence"].forEach((t=>{const e=P(t),i=Ci[t];wi[e+"Effect"]=class extends ki{constructor(t){super(G("fe"+e,t),t)}update(t){return i.apply(this,t),this}},wi.prototype[t]=K((function(t,...i){const a=new wi[e+"Effect"];return null==t?this.put(a):("function"==typeof t?t.call(a,a):i.unshift(t),this.put(a).update(i))}))})),Q(wi,{merge(t){const e=this.put(new wi.MergeEffect);if("function"==typeof t)return t.call(e,e),e;return(t instanceof Array?t:[...arguments]).forEach((t=>{t instanceof wi.MergeNode?e.put(t):e.mergeNode(t)})),e},componentTransfer(t={}){const e=this.put(new wi.ComponentTransferEffect);if("function"==typeof t)return t.call(e,e),e;if(!(t.r||t.g||t.b||t.a)){t={r:t,g:t,b:t,a:t}}for(const i in t)e.add(new(wi["Func"+i.toUpperCase()])(t[i]));return e}});["distantLight","pointLight","spotLight","mergeNode","FuncR","FuncG","FuncB","FuncA"].forEach((t=>{const e=P(t);wi[e]=class extends ki{constructor(t){super(G("fe"+e,t),t)}}}));["funcR","funcG","funcB","funcA"].forEach((function(t){const e=wi[P(t)],i=K((function(){return this.put(new e)}));wi.ComponentTransferEffect.prototype[t]=i}));["distantLight","pointLight","spotLight"].forEach((t=>{const e=wi[P(t)],i=K((function(){return this.put(new e)}));wi.DiffuseLightingEffect.prototype[t]=i,wi.SpecularLightingEffect.prototype[t]=i})),Q(wi.MergeEffect,{mergeNode(t){return this.put(new wi.MergeNode).attr("in",t)}}),Q(Ut,{filter:function(t){const e=this.put(new wi);return"function"==typeof t&&t.call(e,e),e}}),Q(Vt,{filter:function(t){return this.defs().filter(t)}}),Q(Gt,{filterWith:function(t){const e=t instanceof wi?t:this.defs().filter(t);return this.attr("filter",e)},unfilter:function(t){return this.attr("filter",null)},filterer(){return this.reference("filter")}});const Si={blend:function(t,e){return this.parent()&&this.parent().blend(this,t,e)},colorMatrix:function(t,e){return this.parent()&&this.parent().colorMatrix(t,e).in(this)},componentTransfer:function(t){return this.parent()&&this.parent().componentTransfer(t).in(this)},composite:function(t,e){return this.parent()&&this.parent().composite(this,t,e)},convolveMatrix:function(t){return this.parent()&&this.parent().convolveMatrix(t).in(this)},diffuseLighting:function(t,e,i,a){return this.parent()&&this.parent().diffuseLighting(t,i,a).in(this)}
46395,displacementMap:function(t,e,i,a){return this.parent()&&this.parent().displacementMap(this,t,e,i,a)},dropShadow:function(t,e,i){return this.parent()&&this.parent().dropShadow(this,t,e,i).in(this)},flood:function(t,e){return this.parent()&&this.parent().flood(t,e)},gaussianBlur:function(t,e){return this.parent()&&this.parent().gaussianBlur(t,e).in(this)},image:function(t){return this.parent()&&this.parent().image(t)},merge:function(t){return t=t instanceof Array?t:[...t],this.parent()&&this.parent().merge(this,...t)},morphology:function(t,e){return this.parent()&&this.parent().morphology(t,e).in(this)},offset:function(t,e){return this.parent()&&this.parent().offset(t,e).in(this)},specularLighting:function(t,e,i,a,s){return this.parent()&&this.parent().specularLighting(t,i,a,s).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(t,e,i,a,s){return this.parent()&&this.parent().turbulence(t,e,i,a,s).in(this)}};Q(ki,Si),Q(wi.MergeEffect,{in:function(t){return t instanceof wi.MergeNode?this.add(t,0):this.add((new wi.MergeNode).in(t),0),this}}),Q([wi.CompositeEffect,wi.BlendEffect,wi.DisplacementMapEffect],{in2:function(t){if(null==t){const t=this.attr("in2");return this.parent()&&this.parent().find(`[result="${t}"]`)[0]||t}return this.attr("in2",t)}}),wi.filter={sepiatone:[.343,.669,.119,0,0,.249,.626,.13,0,0,.172,.334,.111,0,0,0,0,0,1,0]};var Li=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"getDefaultFilter",value:function(t,e){var i=this.w;t.unfilter(!0),(new wi).size("120%","180%","-5%","-40%"),i.config.chart.dropShadow.enabled&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:"applyFilter",value:function(t,e,i){var a,s=this,r=this.w;if(t.unfilter(!0),"none"!==i){var n,o,l=r.config.chart.dropShadow,h="lighten"===i?2:.3;if(t.filterWith((function(t){t.colorMatrix({type:"matrix",values:"\n          ".concat(h," 0 0 0 0\n          0 ").concat(h," 0 0 0\n          0 0 ").concat(h," 0 0\n          0 0 0 1 0\n        "),in:"SourceGraphic",result:"brightness"}),l.enabled&&s.addShadow(t,e,l,"brightness")})),!l.noUserSpaceOnUse)null===(n=t.filterer())||void 0===n||null===(o=n.node)||void 0===o||o.setAttribute("filterUnits","userSpaceOnUse");this._scaleFilterSize(null===(a=t.filterer())||void 0===a?void 0:a.node)}else this.getDefaultFilter(t,e)}},{key:"addShadow",value:function(t,e,i,a){var s,r=this.w,n=i.blur,o=i.top,l=i.left,h=i.color,c=i.opacity;if(h=Array.isArray(h)?h[e]:h,(null===(s=r.config.chart.dropShadow.enabledOnSeries)||void 0===s?void 0:s.length)>0&&-1===r.config.chart.dropShadow.enabledOnSeries.indexOf(e))return t;t.offset({in:a,dx:l,dy:o,result:"offset"}),t.gaussianBlur({in:"offset",stdDeviation:n,result:"blur"}),t.flood({"flood-color":h,"flood-opacity":c,result:"flood"}),t.composite({in:"flood",in2:"blur",operator:"in",result:"shadow"}),t.merge(["shadow",a])}},{key:"dropShadow",value:function(t,e){var i,a,s,r,n,o=this,l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,h=this.w;if(t.unfilter(!0),v.isMsEdge()&&"radialBar"===h.config.chart.type)return t;if((null===(i=h.config.chart.dropShadow.enabledOnSeries)||void 0===i?void 0:i.length)>0&&-1===(null===(s=h.config.chart.dropShadow.enabledOnSeries)||void 0===s?void 0:s.indexOf(l)))return t;(t.filterWith((function(t){o.addShadow(t,l,e,"SourceGraphic")})),e.noUserSpaceOnUse)||(null===(r=t.filterer())||void 0===r||null===(n=r.node)||void 0===n||n.setAttribute("filterUnits","userSpaceOnUse"));return this._scaleFilterSize(null===(a=t.filterer())||void 0===a?void 0:a.node),t}},{key:"setSelectionFilter",value:function(t,e,i){var a=this.w;if(void 0!==a.globals.selectedDataPoints[e]&&a.globals.selectedDataPoints[e].indexOf(i)>-1){t.node.setAttribute("selected",!0);var s=a.config.states.active.filter;"none"!==s&&this.applyFilter(t,e,s.type)}}},{key:"_scaleFilterSize",value:function(t){if(t){!function(e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}({width:"200%",height:"200%",x:"-50%",y:"-50%"})}}}]),t}(),Mi=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}
vendor: 8,362 bytes, line 46395
46395return s(t,[{key:"roundPathCorners",value:function(t,e){function i(t,e,i){var s=e.x-t.x,r=e.y-t.y,n=Math.sqrt(s*s+r*r);return a(t,e,Math.min(1,i/n))}function a(t,e,i){return{x:t.x+(e.x-t.x)*i,y:t.y+(e.y-t.y)*i}}function s(t,e){t.length>2&&(t[t.length-2]=e.x,t[t.length-1]=e.y)}function r(t){return{x:parseFloat(t[t.length-2]),y:parseFloat(t[t.length-1])}}t.indexOf("NaN")>-1&&(t="");var n=t.split(/[,\s]/).reduce((function(t,e){var i=e.match(/^([a-zA-Z])(.+)/);return i?(t.push(i[1]),t.push(i[2])):t.push(e),t}),[]).reduce((function(t,e){return parseFloat(e)==e&&t.length?t[t.length-1].push(e):t.push([e]),t}),[]),o=[];if(n.length>1){var l=r(n[0]),h=null;"Z"==n[n.length-1][0]&&n[0].length>2&&(h=["L",l.x,l.y],n[n.length-1]=h),o.push(n[0]);for(var c=1;c<n.length;c++){var d=o[o.length-1],u=n[c],g=u==h?n[1]:n[c+1];if(g&&d&&d.length>2&&"L"==u[0]&&g.length>2&&"L"==g[0]){var p,f,x=r(d),b=r(u),m=r(g);p=i(b,x,e),f=i(b,m,e),s(u,p),u.origPoint=b,o.push(u);var v=a(p,b,.5),y=a(b,f,.5),w=["C",v.x,v.y,y.x,y.y,f.x,f.y];w.origPoint=b,o.push(w)}else o.push(u)}if(h){var k=r(o[o.length-1]);o.push(["Z"]),s(o[0],k)}}else o=n;return o.reduce((function(t,e){return t+e.join(" ")+" "}),"")}},{key:"drawLine",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"#a8a8a8",r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,o=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"butt";return this.w.globals.dom.Paper.line().attr({x1:t,y1:e,x2:i,y2:a,stroke:s,"stroke-dasharray":r,"stroke-width":n,"stroke-linecap":o})}},{key:"drawRect",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"#fefefe",n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1,o=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,h=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,c=this.w.globals.dom.Paper.rect();return c.attr({x:t,y:e,width:i>0?i:0,height:a>0?a:0,rx:s,ry:s,opacity:n,"stroke-width":null!==o?o:0,stroke:null!==l?l:"none","stroke-dasharray":h}),c.node.setAttribute("fill",r),c}},{key:"drawPolygon",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"#e1e1e1",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"none";return this.w.globals.dom.Paper.polygon(t).attr({fill:a,stroke:e,"stroke-width":i})}},{key:"drawCircle",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t<0&&(t=0);var i=this.w.globals.dom.Paper.circle(2*t);return null!==e&&i.attr(e),i}},{key:"drawPath",value:function(t){var e=t.d,i=void 0===e?"":e,a=t.stroke,s=void 0===a?"#a8a8a8":a,r=t.strokeWidth,n=void 0===r?1:r,o=t.fill,l=t.fillOpacity,h=void 0===l?1:l,c=t.strokeOpacity,d=void 0===c?1:c,u=t.classes,g=t.strokeLinecap,p=void 0===g?null:g,f=t.strokeDashArray,x=void 0===f?0:f,b=this.w;return null===p&&(p=b.config.stroke.lineCap),(i.indexOf("undefined")>-1||i.indexOf("NaN")>-1)&&(i="M 0 ".concat(b.globals.gridHeight)),b.globals.dom.Paper.path(i).attr({fill:o,"fill-opacity":h,stroke:s,"stroke-opacity":d,"stroke-linecap":p,"stroke-width":n,"stroke-dasharray":x,class:u})}},{key:"group",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w.globals.dom.Paper.group();return null!==t&&e.attr(t),e}},{key:"move",value:function(t,e){var i=["M",t,e].join(" ");return i}},{key:"line",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=null;return null===i?a=[" L",t,e].join(" "):"H"===i?a=[" H",t].join(" "):"V"===i&&(a=[" V",e].join(" ")),a}},{key:"curve",value:function(t,e,i,a,s,r){var n=["C",t,e,i,a,s,r].join(" ");return n}},{key:"quadraticCurve",value:function(t,e,i,a){return["Q",t,e,i,a].join(" ")}},{key:"arc",value:function(t,e,i,a,s,r,n){var o="A";arguments.length>7&&void 0!==arguments[7]&&arguments[7]&&(o="a");var l=[o,t,e,i,a,s,r,n].join(" ");return l}},{key:"renderPaths",value:function(t){var e,i=t.j,a=t.realIndex,s=t.pathFrom,r=t.pathTo,n=t.stroke,o=t.strokeWidth,l=t.strokeLinecap,h=t.fill,c=t.animationDelay,d=t.initialSpeed,g=t.dataChangeSpeed,p=t.className,f=t.chartType,x=t.shouldClipToGrid,b=void 0===x||x,m=t.bindEventsOnPaths,v=void 0===m||m,w=t.drawShadow,k=void 0===w||w,A=this.w,C=new Li(this.ctx),S=new y(this.ctx),L=this.w.config.chart.animations.enabled,M=L&&this.w.config.chart.animations.dynamicAnimation.enabled;if(s&&s.startsWith("M 0 0")&&r){var P=r.match(/^M\s+[\d.-]+\s+[\d.-]+/);P&&(s=s.replace(/^M\s+0\s+0/,P[0]))}var I=!!(L&&!A.globals.resized||M&&A.globals.dataChanged&&A.globals.shouldAnimate);I?e=s:(e=r,A.globals.animationEnded=!0);var T=A.config.stroke.dashArray,z=0;z=Array.isArray(T)?T[a]:A.config.stroke.dashArray;var X=this.drawPath({d:e,stroke:n,strokeWidth:o,fill:h,fillOpacity:1,classes:p,strokeLinecap:l,strokeDashArray:z});X.attr("index",a),b&&("bar"===f&&!A.globals.isHorizontal||A.globals.comboCharts?X.attr({"clip-path":"url(#gridRectBarMask".concat(A.globals.cuid,")")}):X.attr({"clip-path":"url(#gridRectMask".concat(A.globals.cuid,")")})),A.config.chart.dropShadow.enabled&&k&&C.dropShadow(X,A.config.chart.dropShadow,a),v&&(X.node.addEventListener("mouseenter",this.pathMouseEnter.bind(this,X)),X.node.addEventListener("mouseleave",this.pathMouseLeave.bind(this,X)),X.node.addEventListener("mousedown",this.pathMouseDown.bind(this,X))),X.attr({pathTo:r,pathFrom:s});var R={el:X,j:i,realIndex:a,pathFrom:s,pathTo:r,fill:h,strokeWidth:o,delay:c};return!L||A.globals.resized||A.globals.dataChanged?!A.globals.resized&&A.globals.dataChanged||S.showDelayedElements():S.animatePathsGradually(u(u({},R),{},{speed:d})),A.globals.dataChanged&&M&&I&&S.animatePathsGradually(u(u({},R),{},{speed:g})),X}},{key:"drawPattern",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"#a8a8a8",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;return this.w.globals.dom.Paper.pattern(e,i,(function(r){"horizontalLines"===t?r.line(0,0,i,0).stroke({color:a,width:s+1}):"verticalLines"===t?r.line(0,0,0,e).stroke({color:a,width:s+1}):"slantedLines"===t?r.line(0,0,e,i).stroke({color:a,width:s}):"squares"===t?r.rect(e,i).fill("none").stroke({color:a,width:s}):"circles"===t&&r.circle(e).fill("none").stroke({color:a,width:s})}))}},{key:"drawGradient",value:function(t,e,i,a,s){var r,n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:[],h=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,c=this.w;e.length<9&&0===e.indexOf("#")&&(e=v.hexToRgba(e,a)),i.length<9&&0===i.indexOf("#")&&(i=v.hexToRgba(i,s));var d=0,u=1,g=1,p=null;null!==o&&(d=void 0!==o[0]?o[0]/100:0,u=void 0!==o[1]?o[1]/100:1,g=void 0!==o[2]?o[2]/100:1,p=void 0!==o[3]?o[3]/100:null);var f=!("donut"!==c.config.chart.type&&"pie"!==c.config.chart.type&&"polarArea"!==c.config.chart.type&&"bubble"!==c.config.chart.type);if(r=l&&0!==l.length?c.globals.dom.Paper.gradient(f?"radial":"linear",(function(t){(Array.isArray(l[h])?l[h]:l).forEach((function(e){t.stop(e.offset/100,e.color,e.opacity)}))})):c.globals.dom.Paper.gradient(f?"radial":"linear",(function(t){t.stop(d,e,a),t.stop(u,i,s),t.stop(g,i,s),null!==p&&t.stop(p,e,a)})),f){var x=c.globals.gridWidth/2,b=c.globals.gridHeight/2;"bubble"!==c.config.chart.type?r.attr({gradientUnits:"userSpaceOnUse",cx:x,cy:b,r:n}):r.attr({cx:.5,cy:.5,r:.8,fx:.2,fy:.2})}else"vertical"===t?r.from(0,0).to(0,1):"diagonal"===t?r.from(0,0).to(1,1):"horizontal"===t?r.from(0,1).to(1,1):"diagonal2"===t&&r.from(1,0).to(0,1);return r}},{key:"getTextBasedOnMaxWidth",value:function(t){var e=t.text,i=t.maxWidth,a=t.fontSize,s=t.fontFamily,r=this.getTextRects(e,a,s),n=r.width/e.length,o=Math.floor(i/n);return i<r.width?e.slice(0,o-3)+"...":e}},{key:"drawText",value:function(t){var e=this,i=t.x,a=t.y,s=t.text,r=t.textAnchor,n=t.fontSize,o=t.fontFamily,l=t.fontWeight,h=t.foreColor,c=t.o
46395pacity,d=t.maxWidth,g=t.cssClass,p=void 0===g?"":g,f=t.isPlainText,x=void 0===f||f,b=t.dominantBaseline,m=void 0===b?"auto":b,v=this.w;void 0===s&&(s="");var y=s;r||(r="start"),h&&h.length||(h=v.config.chart.foreColor),o=o||v.config.chart.fontFamily,l=l||"regular";var w,k={maxWidth:d,fontSize:n=n||"11px",fontFamily:o};return Array.isArray(s)?w=v.globals.dom.Paper.text((function(t){for(var i=0;i<s.length;i++)y=s[i],d&&(y=e.getTextBasedOnMaxWidth(u({text:s[i]},k))),0===i?t.tspan(y):t.tspan(y).newLine()})):(d&&(y=this.getTextBasedOnMaxWidth(u({text:s},k))),w=x?v.globals.dom.Paper.plain(s):v.globals.dom.Paper.text((function(t){return t.tspan(y)}))),w.attr({x:i,y:a,"text-anchor":r,"dominant-baseline":m,"font-size":n,"font-family":o,"font-weight":l,fill:h,class:"apexcharts-text "+p}),w.node.style.fontFamily=o,w.node.style.opacity=c,w}},{key:"getMarkerPath",value:function(t,e,i,a){var s="";switch(i){case"cross":s="M ".concat(t-(a/=1.4)," ").concat(e-a," L ").concat(t+a," ").concat(e+a,"  M ").concat(t-a," ").concat(e+a," L ").concat(t+a," ").concat(e-a);break;case"plus":s="M ".concat(t-(a/=1.12)," ").concat(e," L ").concat(t+a," ").concat(e,"  M ").concat(t," ").concat(e-a," L ").concat(t," ").concat(e+a);break;case"star":case"sparkle":var r=5;a*=1.15,"sparkle"===i&&(a/=1.1,r=4);for(var n=Math.PI/r,o=0;o<=2*r;o++){var l=o*n,h=o%2==0?a:a/2;s+=(0===o?"M":"L")+(t+h*Math.sin(l))+","+(e-h*Math.cos(l))}s+="Z";break;case"triangle":s="M ".concat(t," ").concat(e-a," \n             L ").concat(t+a," ").concat(e+a," \n             L ").concat(t-a," ").concat(e+a," \n             Z");break;case"square":case"rect":s="M ".concat(t-(a/=1.125)," ").concat(e-a," \n           L ").concat(t+a," ").concat(e-a," \n           L ").concat(t+a," ").concat(e+a," \n           L ").concat(t-a," ").concat(e+a," \n           Z");break;case"diamond":a*=1.05,s="M ".concat(t," ").concat(e-a," \n             L ").concat(t+a," ").concat(e," \n             L ").concat(t," ").concat(e+a," \n             L ").concat(t-a," ").concat(e," \n            Z");break;case"line":s="M ".concat(t-(a/=1.1)," ").concat(e," \n           L ").concat(t+a," ").concat(e);break;default:a*=2,s="M ".concat(t,", ").concat(e," \n           m -").concat(a/2,", 0 \n           a ").concat(a/2,",").concat(a/2," 0 1,0 ").concat(a,",0 \n           a ").concat(a/2,",").concat(a/2," 0 1,0 -").concat(a,",0")}return s}},{key:"drawMarkerShape",value:function(t,e,i,a,s){var r=this.drawPath({d:this.getMarkerPath(t,e,i,a,s),stroke:s.pointStrokeColor,strokeDashArray:s.pointStrokeDashArray,strokeWidth:s.pointStrokeWidth,fill:s.pointFillColor,fillOpacity:s.pointFillOpacity,strokeOpacity:s.pointStrokeOpacity});return r.attr({cx:t,cy:e,shape:s.shape,class:s.class?s.class:""}),r}},{key:"drawMarker",value:function(t,e,i){t=t||0;var a=i.pSize||0;return v.isNumber(e)||(a=0,e=0),this.drawMarkerShape(t,e,null==i?void 0:i.shape,a,u(u({},i),"line"===i.shape||"plus"===i.shape||"cross"===i.shape?{pointStrokeColor:i.pointFillColor,pointStrokeOpacity:i.pointFillOpacity}:{}))}},{key:"pathMouseEnter",value:function(t,e){var i=this.w,a=new Li(this.ctx),s=parseInt(t.node.getAttribute("index"),10),r=parseInt(t.node.getAttribute("j"),10);if("function"==typeof i.config.chart.events.dataPointMouseEnter&&i.config.chart.events.dataPointMouseEnter(e,this.ctx,{seriesIndex:s,dataPointIndex:r,w:i}),this.ctx.events.fireEvent("dataPointMouseEnter",[e,this.ctx,{seriesIndex:s,dataPointIndex:r,w:i}]),("none"===i.config.states.active.filter.type||"true"!==t.node.getAttribute("selected"))&&"none"!==i.config.states.hover.filter.type&&!i.globals.isTouchDevice){var n=i.config.states.hover.filter;a.applyFilter(t,s,n.type)}}},{key:"pathMouseLeave",value:function(t,e){var i=this.w,a=new Li(this.ctx),s=parseInt(t.node.getAttribute("index"),10),r=parseInt(t.node.getAttribute("j"),10);"function"==typeof i.config.chart.events.dataPointMouseLeave&&i.config.chart.events.dataPointMouseLeave(e,this.ctx,{seriesIndex:s,dataPointIndex:r,w:i}),this.ctx.events.fireEvent("dataPointMouseLeave",[e,this.ctx,{seriesIndex:s,dataPointIndex:r,w:i}]),"none"!==i.config.states.active.filter.type&&"true"===t.node.getAttribute("selected")||"none"!==i.config.states.hover.f
vendor: 4,134 bytes, line 46395
46395ilter.type&&a.getDefaultFilter(t,s)}},{key:"pathMouseDown",value:function(t,e){var i=this.w,a=new Li(this.ctx),s=parseInt(t.node.getAttribute("index"),10),r=parseInt(t.node.getAttribute("j"),10),n="false";if("true"===t.node.getAttribute("selected")){if(t.node.setAttribute("selected","false"),i.globals.selectedDataPoints[s].indexOf(r)>-1){var o=i.globals.selectedDataPoints[s].indexOf(r);i.globals.selectedDataPoints[s].splice(o,1)}}else{if(!i.config.states.active.allowMultipleDataPointsSelection&&i.globals.selectedDataPoints.length>0){i.globals.selectedDataPoints=[];var l=i.globals.dom.Paper.find(".apexcharts-series path:not(.apexcharts-decoration-element)"),h=i.globals.dom.Paper.find(".apexcharts-series circle:not(.apexcharts-decoration-element), .apexcharts-series rect:not(.apexcharts-decoration-element)"),c=function(t){Array.prototype.forEach.call(t,(function(t){t.node.setAttribute("selected","false"),a.getDefaultFilter(t,s)}))};c(l),c(h)}t.node.setAttribute("selected","true"),n="true",void 0===i.globals.selectedDataPoints[s]&&(i.globals.selectedDataPoints[s]=[]),i.globals.selectedDataPoints[s].push(r)}if("true"===n){var d=i.config.states.active.filter;if("none"!==d)a.applyFilter(t,s,d.type);else if("none"!==i.config.states.hover.filter&&!i.globals.isTouchDevice){var u=i.config.states.hover.filter;a.applyFilter(t,s,u.type)}}else if("none"!==i.config.states.active.filter.type)if("none"===i.config.states.hover.filter.type||i.globals.isTouchDevice)a.getDefaultFilter(t,s);else{u=i.config.states.hover.filter;a.applyFilter(t,s,u.type)}"function"==typeof i.config.chart.events.dataPointSelection&&i.config.chart.events.dataPointSelection(e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}),e&&this.ctx.events.fireEvent("dataPointSelection",[e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}])}},{key:"rotateAroundCenter",value:function(t){var e={};return t&&"function"==typeof t.getBBox&&(e=t.getBBox()),{x:e.x+e.width/2,y:e.y+e.height/2}}},{key:"getTextRects",value:function(t,e,i,a){var s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=this.w,n=this.drawText({x:-200,y:-200,text:t,textAnchor:"start",fontSize:e,fontFamily:i,foreColor:"#fff",opacity:0});a&&n.attr("transform",a),r.globals.dom.Paper.add(n);var o=n.bbox();return s||(o=n.node.getBoundingClientRect()),n.remove(),{width:o.width,height:o.height}}},{key:"placeTextWithEllipsis",value:function(t,e,i){if("function"==typeof t.getComputedTextLength&&(t.textContent=e,e.length>0&&t.getComputedTextLength()>=i/1.1)){for(var a=e.length-3;a>0;a-=3)if(t.getSubStringLength(0,a)<=i/1.1)return void(t.textContent=e.substring(0,a)+"...");t.textContent="."}}}],[{key:"setAttrs",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}}]),t}(),Pi=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"getStackedSeriesTotals",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=this.w,i=[];if(0===e.globals.series.length)return i;for(var a=0;a<e.globals.series[e.globals.maxValsInArrayIndex].length;a++){for(var s=0,r=0;r<e.globals.series.length;r++)void 0!==e.globals.series[r][a]&&-1===t.indexOf(r)&&(s+=e.globals.series[r][a]);i.push(s)}return i}},{key:"getSeriesTotalByIndex",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return null===t?this.w.config.series.reduce((function(t,e){return t+e}),0):this.w.globals.series[t].reduce((function(t,e){return t+e}),0)}},{key:"getStackedSeriesTotalsByGroups",value:function(){var t=this,e=this.w,i=[];return e.globals.seriesGroups.forEach((function(a){var s=[];e.config.series.forEach((function(t,i){a.indexOf(e.globals.seriesNames[i])>-1&&s.push(i)}));var r=e.globals.series.map((function(t,e){return-1===s.indexOf(e)?e:-1})).filter((function(t){return-1!==t}));i.push(t.getStackedSeriesTotals(r))})),i}},{key:"setSeriesYAxisMappings",value:function(){var t=this.w.globals,e=this.w.config,i=[],a=[],s=[],r=t.series.length>e.yaxis.length||e.yaxis.some((function(t){return Array.isArray(t.seriesName)}));
vendor: 4,233 bytes, line 46395
46395e.series.forEach((function(t,e){s.push(e),a.push(null)})),e.yaxis.forEach((function(t,e){i[e]=[]}));var n=[];e.yaxis.forEach((function(t,a){var o=!1;if(t.seriesName){var l=[];Array.isArray(t.seriesName)?l=t.seriesName:l.push(t.seriesName),l.forEach((function(t){e.series.forEach((function(e,n){if(e.name===t){var l=n;a===n||r?!r||s.indexOf(n)>-1?i[a].push([a,n]):console.warn("Series '"+e.name+"' referenced more than once in what looks like the new style. That is, when using either seriesName: [], or when there are more series than yaxes."):(i[n].push([n,a]),l=a),o=!0,-1!==(l=s.indexOf(l))&&s.splice(l,1)}}))}))}o||n.push(a)})),i=i.map((function(t,e){var i=[];return t.forEach((function(t){a[t[1]]=t[0],i.push(t[1])})),i}));for(var o=e.yaxis.length-1,l=0;l<n.length&&(o=n[l],i[o]=[],s);l++){var h=s[0];s.shift(),i[o].push(h),a[h]=o}s.forEach((function(t){i[o].push(t),a[t]=o})),t.seriesYAxisMap=i.map((function(t){return t})),t.seriesYAxisReverseMap=a.map((function(t){return t})),t.seriesYAxisMap.forEach((function(t,i){t.forEach((function(t){e.series[t]&&void 0===e.series[t].group&&(e.series[t].group="apexcharts-axis-".concat(i.toString()))}))}))}},{key:"isSeriesNull",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return 0===(null===t?this.w.config.series.filter((function(t){return null!==t})):this.w.config.series[t].data.filter((function(t){return null!==t}))).length}},{key:"seriesHaveSameValues",value:function(t){return this.w.globals.series[t].every((function(t,e,i){return t===i[0]}))}},{key:"getCategoryLabels",value:function(t){var e=this.w,i=t.slice();return e.config.xaxis.convertedCatToNumeric&&(i=t.map((function(t,i){return e.config.xaxis.labels.formatter(t-e.globals.minX+1)}))),i}},{key:"getLargestSeries",value:function(){var t=this.w;t.globals.maxValsInArrayIndex=t.globals.series.map((function(t){return t.length})).indexOf(Math.max.apply(Math,t.globals.series.map((function(t){return t.length}))))}},{key:"getLargestMarkerSize",value:function(){var t=this.w,e=0;return t.globals.markers.size.forEach((function(t){e=Math.max(e,t)})),t.config.markers.discrete&&t.config.markers.discrete.length&&t.config.markers.discrete.forEach((function(t){e=Math.max(e,t.size)})),e>0&&(t.config.markers.hover.size>0?e=t.config.markers.hover.size:e+=t.config.markers.hover.sizeOffset),t.globals.markers.largestSize=e,e}},{key:"getSeriesTotals",value:function(){var t=this.w;t.globals.seriesTotals=t.globals.series.map((function(t,e){var i=0;if(Array.isArray(t))for(var a=0;a<t.length;a++)i+=t[a];else i+=t;return i}))}},{key:"getSeriesTotalsXRange",value:function(t,e){var i=this.w;return i.globals.series.map((function(a,s){for(var r=0,n=0;n<a.length;n++)i.globals.seriesX[s][n]>t&&i.globals.seriesX[s][n]<e&&(r+=a[n]);return r}))}},{key:"getPercentSeries",value:function(){var t=this.w;t.globals.seriesPercent=t.globals.series.map((function(e,i){var a=[];if(Array.isArray(e))for(var s=0;s<e.length;s++){var r=t.globals.stackedSeriesTotals[s],n=0;r&&(n=100*e[s]/r),a.push(n)}else{var o=100*e/t.globals.seriesTotals.reduce((function(t,e){return t+e}),0);a.push(o)}return a}))}},{key:"getCalculatedRatios",value:function(){var t,e,i,a=this,s=this.w,r=s.globals,n=[],o=0,l=[],h=.1,c=0;if(r.yRange=[],r.isMultipleYAxis)for(var d=0;d<r.minYArr.length;d++)r.yRange.push(Math.abs(r.minYArr[d]-r.maxYArr[d])),l.push(0);else r.yRange.push(Math.abs(r.minY-r.maxY));r.xRange=Math.abs(r.maxX-r.minX),r.zRange=Math.abs(r.maxZ-r.minZ);for(var u=0;u<r.yRange.length;u++)n.push(r.yRange[u]/r.gridHeight);if(e=r.xRange/r.gridWidth,t=r.yRange/r.gridWidth,i=r.xRange/r.gridHeight,(o=r.zRange/r.gridHeight*16)||(o=1),r.minY!==Number.MIN_VALUE&&0!==Math.abs(r.minY)&&(r.hasNegs=!0),s.globals.seriesYAxisReverseMap.length>0){var g=function(t,e){var i=s.config.yaxis[s.globals.seriesYAxisReverseMap[e]],r=t<0?-1:1;return t=Math.abs(t),i.logarithmic&&(t=a.getBaseLog(i.logBase,t)),-r*t/n[e]};if(r.isMultipleYAxis){l=[];for(var p=0;p<n.length;p++)l.push(g(r.minYArr[p],p))}else(l=[]).push(g(r.minY,0)),r.minY!==Number.MIN_VALUE&&0!==Math.abs(r.minY)&&(h=-r.minY/t,c=r.minX/e)}else(l=[]).push(0),h=0,c=0;return{yRatio:n,invertedYRatio:t,zRatio:o,xRatio:e,invertedXRatio:i,baseLineInvertedY:h,baseLineY:l,base
46395LineX:c}}},{key:"getLogSeries",value:function(t){var e=this,i=this.w;return i.globals.seriesLog=t.map((function(t,a){var s=i.globals.seriesYAxisReverseMap[a];return i.config.yaxis[s]&&i.config.yaxis[s].logarithmic?t.map((function(t){return null===t?null:e.getLogVal(i.config.yaxis[s].logBase,t,a)})):t})),i.globals.invalidLogScale?t:i.globals.seriesLog}},{key:"getLogValAtSeriesIndex",value:function(t,e){if(null===t)return null;var i=this.w,a=i.globals.seriesYAxisReverseMap[e];return i.config.yaxis[a]&&i.config.yaxis[a].logarithmic?this.getLogVal(i.config.yaxis[a].logBase,t,e):t}},{key:"getBaseLog",value:function(t,e){return Math.log(e)/Math.log(t)}},{key:"getLogVal",value:function(t,e,i){if(e<=0)return 0;var a=this.w,s=0===a.globals.minYArr[i]?-1:this.getBaseLog(t,a.globals.minYArr[i]),r=(0===a.globals.maxYArr[i]?0:this.getBaseLog(t,a.globals.maxYArr[i]))-s;return e<1?e/r:(this.getBaseLog(t,e)-s)/r}},{key:"getLogYRatios",value:function(t){var e=this,i=this.w,a=this.w.globals;return a.yLogRatio=t.slice(),a.logYRange=a.yRange.map((function(t,s){var r=i.globals.seriesYAxisReverseMap[s];if(i.config.yaxis[r]&&e.w.config.yaxis[r].logarithmic){var n,o=-Number.MAX_VALUE,l=Number.MIN_VALUE;return a.seriesLog.forEach((function(t,e){t.forEach((function(t){i.config.yaxis[e]&&i.config.yaxis[e].logarithmic&&(o=Math.max(t,o),l=Math.min(t,l))}))})),n=Math.pow(a.yRange[s],Math.abs(l-o)/a.yRange[s]),a.yLogRatio[s]=n/a.gridHeight,n}})),a.invalidLogScale?t.slice():a.yLogRatio}},{key:"drawSeriesByGroup",value:function(t,e,i,a){var s=this.w,r=[];return t.series.length>0&&e.forEach((function(e){var n=[],o=[];t.i.forEach((function(i,a){s.config.series[i].group===e&&(n.push(t.series[a]),o.push(i))})),n.length>0&&r.push(a.draw(n,i,o))})),r}}],[{key:"checkComboSeries",value:function(t,e){var i=!1,a=0,s=0;return void 0===e&&(e="line"),t.length&&void 0!==t[0].type&&t.forEach((function(t){"bar"!==t.type&&"column"!==t.type&&"candlestick"!==t.type&&"boxPlot"!==t.type||a++,void 0!==t.type&&t.type!==e&&s++})),s>0&&(i=!0),{comboBarCount:a,comboCharts:i}}},{key:"extendArrayProps",value:function(t,e,i){var a,s,r,n,o,l;(null!==(a=e)&&void 0!==a&&a.yaxis&&(e=t.extendYAxis(e,i)),null!==(s=e)&&void 0!==s&&s.annotations)&&(e.annotations.yaxis&&(e=t.extendYAxisAnnotations(e)),null!==(r=e)&&void 0!==r&&null!==(n=r.annotations)&&void 0!==n&&n.xaxis&&(e=t.extendXAxisAnnotations(e)),null!==(o=e)&&void 0!==o&&null!==(l=o.annotations)&&void 0!==l&&l.points&&(e=t.extendPointAnnotations(e)));return e}}]),t}(),Ii=function(){function t(e){i(this,t),this.w=e.w,this.annoCtx=e}return s(t,[{key:"setOrientations",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.w;if("vertical"===t.label.orientation){var a=null!==e?e:0,s=i.globals.dom.baseEl.querySelector(".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='".concat(a,"']"));if(null!==s){var r=s.getBoundingClientRect();s.setAttribute("x",parseFloat(s.getAttribute("x"))-r.height+4);var n="top"===t.label.position?r.width:-r.width;s.setAttribute("y",parseFloat(s.getAttribute("y"))+n);var o=this.annoCtx.graphics.rotateAroundCenter(s),l=o.x,h=o.y;s.setAttribute("transform","rotate(-90 ".concat(l," ").concat(h,")"))}}}},{key:"addBackgroundToAnno",value:function(t,e){var i=this.w;if(!t||!e.label.text||!String(e.label.text).trim())return null;var a=i.globals.dom.baseEl.querySelector(".apexcharts-grid").getBoundingClientRect(),s=t.getBoundingClientRect(),r=e.label.style.padding,n=r.left,o=r.right,l=r.top,h=r.bottom;if("vertical"===e.label.orientation){var c=[n,o,l,h];l=c[0],h=c[1],n=c[2],o=c[3]}var d=s.left-a.left-n,u=s.top-a.top-l,g=this.annoCtx.graphics.drawRect(d-i.globals.barPadForNumericAxis,u,s.width+n+o,s.height+l+h,e.label.borderRadius,e.label.style.background,1,e.label.borderWidth,e.label.borderColor,0);return e.id&&g.node.classList.add(e.id),g}},{key:"annotationsBackground",value:function(){var t=this,e=this.w,i=function(i,a,s){var r=e.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations .apexcharts-").concat(s,"-annotation-label[rel='").concat(a,"']"));
vendor: 6,369 bytes, line 46395
46395if(r){var n=r.parentNode,o=t.addBackgroundToAnno(r,i);o&&(n.insertBefore(o.node,r),i.label.mouseEnter&&o.node.addEventListener("mouseenter",i.label.mouseEnter.bind(t,i)),i.label.mouseLeave&&o.node.addEventListener("mouseleave",i.label.mouseLeave.bind(t,i)),i.label.click&&o.node.addEventListener("click",i.label.click.bind(t,i)))}};e.config.annotations.xaxis.forEach((function(t,e){return i(t,e,"xaxis")})),e.config.annotations.yaxis.forEach((function(t,e){return i(t,e,"yaxis")})),e.config.annotations.points.forEach((function(t,e){return i(t,e,"point")}))}},{key:"getY1Y2",value:function(t,e){var i,a=this.w,s="y1"===t?e.y:e.y2,r=!1;if(this.annoCtx.invertAxis){var n=a.config.xaxis.convertedCatToNumeric?a.globals.categoryLabels:a.globals.labels,o=n.indexOf(s),l=a.globals.dom.baseEl.querySelector(".apexcharts-yaxis-texts-g text:nth-child(".concat(o+1,")"));i=l?parseFloat(l.getAttribute("y")):(a.globals.gridHeight/n.length-1)*(o+1)-a.globals.barHeight,void 0!==e.seriesIndex&&a.globals.barHeight&&(i-=a.globals.barHeight/2*(a.globals.series.length-1)-a.globals.barHeight*e.seriesIndex)}else{var h,c=a.globals.seriesYAxisMap[e.yAxisIndex][0],d=a.config.yaxis[e.yAxisIndex].logarithmic?new Pi(this.annoCtx.ctx).getLogVal(a.config.yaxis[e.yAxisIndex].logBase,s,c)/a.globals.yLogRatio[c]:(s-a.globals.minYArr[c])/(a.globals.yRange[c]/a.globals.gridHeight);i=a.globals.gridHeight-Math.min(Math.max(d,0),a.globals.gridHeight),r=d>a.globals.gridHeight||d<0,!e.marker||void 0!==e.y&&null!==e.y||(i=0),null!==(h=a.config.yaxis[e.yAxisIndex])&&void 0!==h&&h.reversed&&(i=d)}return"string"==typeof s&&s.includes("px")&&(i=parseFloat(s)),{yP:i,clipped:r}}},{key:"getX1X2",value:function(t,e){var i=this.w,a="x1"===t?e.x:e.x2,s=this.annoCtx.invertAxis?i.globals.minY:i.globals.minX,r=this.annoCtx.invertAxis?i.globals.maxY:i.globals.maxX,n=this.annoCtx.invertAxis?i.globals.yRange[0]:i.globals.xRange,o=!1,l=this.annoCtx.inversedReversedAxis?(r-a)/(n/i.globals.gridWidth):(a-s)/(n/i.globals.gridWidth);return"category"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||i.config.chart.sparkline.enabled||(l=this.getStringX(a)),"string"==typeof a&&a.includes("px")&&(l=parseFloat(a)),null==a&&e.marker&&(l=i.globals.gridWidth),void 0!==e.seriesIndex&&i.globals.barWidth&&!this.annoCtx.invertAxis&&(l-=i.globals.barWidth/2*(i.globals.series.length-1)-i.globals.barWidth*e.seriesIndex),"number"!=typeof l&&(l=0,o=!0),parseFloat(l.toFixed(10))>parseFloat(i.globals.gridWidth.toFixed(10))?(l=i.globals.gridWidth,o=!0):l<0&&(l=0,o=!0),{x:l,clipped:o}}},{key:"getStringX",value:function(t){var e=this.w,i=t;e.config.xaxis.convertedCatToNumeric&&e.globals.categoryLabels.length&&(t=e.globals.categoryLabels.indexOf(t)+1);var a=e.globals.labels.map((function(t){return Array.isArray(t)?t.join(" "):t})).indexOf(t),s=e.globals.dom.baseEl.querySelector(".apexcharts-xaxis-texts-g text:nth-child(".concat(a+1,")"));return s&&(i=parseFloat(s.getAttribute("x"))),i}}]),t}(),Ti=function(){function t(e){i(this,t),this.w=e.w,this.annoCtx=e,this.invertAxis=this.annoCtx.invertAxis,this.helpers=new Ii(this.annoCtx)}return s(t,[{key:"addXaxisAnnotation",value:function(t,e,i){var a,s=this.w,r=this.helpers.getX1X2("x1",t),n=r.x,o=r.clipped,l=!0,h=t.label.text,c=t.strokeDashArray;if(v.isNumber(n)){if(null===t.x2||void 0===t.x2){if(!o){var d=this.annoCtx.graphics.drawLine(n+t.offsetX,0+t.offsetY,n+t.offsetX,s.globals.gridHeight+t.offsetY,t.borderColor,c,t.borderWidth);e.appendChild(d.node),t.id&&d.node.classList.add(t.id)}}else{var u=this.helpers.getX1X2("x2",t);if(a=u.x,l=u.clipped,a<n){var g=n;n=a,a=g}var p=this.annoCtx.graphics.drawRect(n+t.offsetX,0+t.offsetY,a-n,s.globals.gridHeight+t.offsetY,0,t.fillColor,t.opacity,1,t.borderColor,c);p.node.classList.add("apexcharts-annotation-rect"),p.attr("clip-path","url(#gridRectMask".concat(s.globals.cuid,")")),e.appendChild(p.node),t.id&&p.node.classList.add(t.id)}if(!o||!l){var f=this.annoCtx.graphics.getTextRects(h,parseFloat(t.label.style.fontSize)),x="top"===t.label.position?4:"center"===t.label.position?s.globals.gridHeight/2+("vertical"===t.label.orientation?f.width/2:0):s.globals.gridHeight,b=this.annoCtx.graphics.drawText({x:n+t.label.offsetX,y:x+t.label.offsetY-("vertical"===t.label.orientation?"top"===t.label.position?f.width/2-12:-f.width/2:0),text:h,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:"apexcharts-xaxis-annotation-label ".concat(t.label.style.cssClass," ").concat(t.id?t.id:"")});b.attr({rel:i}),e.appendChild(b.node),this.annoCtx.helpers.setOrientations(t,i)}}}},{key:"drawXAxisAnnotations",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-xaxis-annotations"});return e.config.annotations.xaxis.map((function(e,a){t.addXaxisAnnotation(e,i.node,a)})),i}}]),t}(),zi=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.months31=[1,3,5,7,8,10,12],this.months30=[2,4,6,9,11],this.daysCntOfYear=[0,31,59,90,120,151,181,212,243,273,304,334]}return s(t,[{key:"isValidDate",value:function(t){return"number"!=typeof t&&!isNaN(this.parseDate(t))}},{key:"getTimeStamp",value:function(t){return Date.parse(t)?this.w.config.xaxis.labels.datetimeUTC?new Date(new Date(t).toISOString().substr(0,25)).getTime():new Date(t).getTime():t}},{key:"getDate",value:function(t){return this.w.config.xaxis.labels.datetimeUTC?new Date(new Date(t).toUTCString()):new Date(t)}},{key:"parseDate",value:function(t){var e=Date.parse(t);if(!isNaN(e))return this.getTimeStamp(t);var i=Date.parse(t.replace(/-/g,"/").replace(/[a-z]+/gi," "));return i=this.getTimeStamp(i)}},{key:"parseDateWithTimezone",value:function(t){return Date.parse(t.replace(/-/g,"/").replace(/[a-z]+/gi," "))}},{key:"formatDate",value:function(t,e){var i=this.w.globals.locale,a=this.w.config.xaxis.labels.datetimeUTC,s=["\0"].concat(f(i.months)),r=["\x01"].concat(f(i.shortMonths)),n=["\x02"].concat(f(i.days)),o=["\x03"].concat(f(i.shortDays));function l(t,e){var i=t+"";for(e=e||2;i.length<e;)i="0"+i;return i}var h=a?t.getUTCFullYear():t.getFullYear();e=(e=(e=e.replace(/(^|[^\\])yyyy+/g,"$1"+h)).replace(/(^|[^\\])yy/g,"$1"+h.toString().substr(2,2))).replace(/(^|[^\\])y/g,"$1"+h);var c=(a?t.getUTCMonth():t.getMonth())+1;
vendor: 6,952 bytes, line 46395
46395e=(e=(e=(e=e.replace(/(^|[^\\])MMMM+/g,"$1"+s[0])).replace(/(^|[^\\])MMM/g,"$1"+r[0])).replace(/(^|[^\\])MM/g,"$1"+l(c))).replace(/(^|[^\\])M/g,"$1"+c);var d=a?t.getUTCDate():t.getDate();e=(e=(e=(e=e.replace(/(^|[^\\])dddd+/g,"$1"+n[0])).replace(/(^|[^\\])ddd/g,"$1"+o[0])).replace(/(^|[^\\])dd/g,"$1"+l(d))).replace(/(^|[^\\])d/g,"$1"+d);var u=a?t.getUTCHours():t.getHours(),g=u>12?u-12:0===u?12:u;e=(e=(e=(e=e.replace(/(^|[^\\])HH+/g,"$1"+l(u))).replace(/(^|[^\\])H/g,"$1"+u)).replace(/(^|[^\\])hh+/g,"$1"+l(g))).replace(/(^|[^\\])h/g,"$1"+g);var p=a?t.getUTCMinutes():t.getMinutes();e=(e=e.replace(/(^|[^\\])mm+/g,"$1"+l(p))).replace(/(^|[^\\])m/g,"$1"+p);var x=a?t.getUTCSeconds():t.getSeconds();e=(e=e.replace(/(^|[^\\])ss+/g,"$1"+l(x))).replace(/(^|[^\\])s/g,"$1"+x);var b=a?t.getUTCMilliseconds():t.getMilliseconds();e=e.replace(/(^|[^\\])fff+/g,"$1"+l(b,3)),b=Math.round(b/10),e=e.replace(/(^|[^\\])ff/g,"$1"+l(b)),b=Math.round(b/10);var m=u<12?"AM":"PM";e=(e=(e=e.replace(/(^|[^\\])f/g,"$1"+b)).replace(/(^|[^\\])TT+/g,"$1"+m)).replace(/(^|[^\\])T/g,"$1"+m.charAt(0));var v=m.toLowerCase();e=(e=e.replace(/(^|[^\\])tt+/g,"$1"+v)).replace(/(^|[^\\])t/g,"$1"+v.charAt(0));var y=-t.getTimezoneOffset(),w=a||!y?"Z":y>0?"+":"-";if(!a){var k=(y=Math.abs(y))%60;w+=l(Math.floor(y/60))+":"+l(k)}e=e.replace(/(^|[^\\])K/g,"$1"+w);var A=(a?t.getUTCDay():t.getDay())+1;return e=(e=(e=(e=(e=e.replace(new RegExp(n[0],"g"),n[A])).replace(new RegExp(o[0],"g"),o[A])).replace(new RegExp(s[0],"g"),s[c])).replace(new RegExp(r[0],"g"),r[c])).replace(/\\(.)/g,"$1")}},{key:"getTimeUnitsfromTimestamp",value:function(t,e,i){var a=this.w;void 0!==a.config.xaxis.min&&(t=a.config.xaxis.min),void 0!==a.config.xaxis.max&&(e=a.config.xaxis.max);var s=this.getDate(t),r=this.getDate(e),n=this.formatDate(s,"yyyy MM dd HH mm ss fff").split(" "),o=this.formatDate(r,"yyyy MM dd HH mm ss fff").split(" ");return{minMillisecond:parseInt(n[6],10),maxMillisecond:parseInt(o[6],10),minSecond:parseInt(n[5],10),maxSecond:parseInt(o[5],10),minMinute:parseInt(n[4],10),maxMinute:parseInt(o[4],10),minHour:parseInt(n[3],10),maxHour:parseInt(o[3],10),minDate:parseInt(n[2],10),maxDate:parseInt(o[2],10),minMonth:parseInt(n[1],10)-1,maxMonth:parseInt(o[1],10)-1,minYear:parseInt(n[0],10),maxYear:parseInt(o[0],10)}}},{key:"isLeapYear",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:"calculcateLastDaysOfMonth",value:function(t,e,i){return this.determineDaysOfMonths(t,e)-i}},{key:"determineDaysOfYear",value:function(t){var e=365;return this.isLeapYear(t)&&(e=366),e}},{key:"determineRemainingDaysOfYear",value:function(t,e,i){var a=this.daysCntOfYear[e]+i;return e>1&&this.isLeapYear()&&a++,a}},{key:"determineDaysOfMonths",value:function(t,e){var i=30;switch(t=v.monthMod(t),!0){case this.months30.indexOf(t)>-1:2===t&&(i=this.isLeapYear(e)?29:28);break;case this.months31.indexOf(t)>-1:default:i=31}return i}}]),t}(),Xi=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.tooltipKeyFormat="dd MMM"}return s(t,[{key:"xLabelFormat",value:function(t,e,i,a){var s=this.w;if("datetime"===s.config.xaxis.type&&void 0===s.config.xaxis.labels.formatter&&void 0===s.config.tooltip.x.formatter){var r=new zi(this.ctx);return r.formatDate(r.getDate(e),s.config.tooltip.x.format)}return t(e,i,a)}},{key:"defaultGeneralFormatter",value:function(t){return Array.isArray(t)?t.map((function(t){return t})):t}},{key:"defaultYFormatter",value:function(t,e,i){var a=this.w;if(v.isNumber(t))if(0!==a.globals.yValueDecimal)t=t.toFixed(void 0!==e.decimalsInFloat?e.decimalsInFloat:a.globals.yValueDecimal);else{var s=t.toFixed(0);t=t==s?s:t.toFixed(1)}return t}},{key:"setLabelFormatters",value:function(){var t=this,e=this.w;return e.globals.xaxisTooltipFormatter=function(e){return t.defaultGeneralFormatter(e)},e.globals.ttKeyFormatter=function(e){return t.defaultGeneralFormatter(e)},e.globals.ttZFormatter=function(t){return t},e.globals.legendFormatter=function(e){return t.defaultGeneralFormatter(e)},void 0!==e.config.xaxis.labels.formatter?e.globals.xLabelFormatter=e.config.xaxis.labels.formatter:e.globals.xLabelFormatter=function(t){if(v.isNumber(t)){if(!e.config.xaxis.convertedCatToNumeric&&"numeric"===e.config.xaxis.type){if(v.isNumber(e.config.xaxis.decimalsInFloat))return t.toFixed(e.config.xaxis.decimalsInFloat);var i=e.globals.maxX-e.globals.minX;return i>0&&i<100?t.toFixed(1):t.toFixed(0)}if(e.globals.isBarHorizontal)if(e.globals.maxY-e.globals.minYArr<4)return t.toFixed(1);return t.toFixed(0)}return t},"function"==typeof e.config.tooltip.x.formatter?e.globals.ttKeyFormatter=e.config.tooltip.x.formatter:e.globals.ttKeyFormatter=e.globals.xLabelFormatter,"function"==typeof e.config.xaxis.tooltip.formatter&&(e.globals.xaxisTooltipFormatter=e.config.xaxis.tooltip.formatter),(Array.isArray(e.config.tooltip.y)||void 0!==e.config.tooltip.y.formatter)&&(e.globals.ttVal=e.config.tooltip.y),void 0!==e.config.tooltip.z.formatter&&(e.globals.ttZFormatter=e.config.tooltip.z.formatter),void 0!==e.config.legend.formatter&&(e.globals.legendFormatter=e.config.legend.formatter),e.config.yaxis.forEach((function(i,a){void 0!==i.labels.formatter?e.globals.yLabelFormatters[a]=i.labels.formatter:e.globals.yLabelFormatters[a]=function(s){return e.globals.xyCharts?Array.isArray(s)?s.map((function(e){return t.defaultYFormatter(e,i,a)})):t.defaultYFormatter(s,i,a):s}})),e.globals}},{key:"heatmapLabelFormatters",value:function(){var t=this.w;if("heatmap"===t.config.chart.type){t.globals.yAxisScale[0].result=t.globals.seriesNames.slice();var e=t.globals.seriesNames.reduce((function(t,e){return t.length>e.length?t:e}),0);t.globals.yAxisScale[0].niceMax=e,t.globals.yAxisScale[0].niceMin=e}}}]),t}(),Ri=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"getLabel",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"12px",n=!(arguments.length>6&&void 0!==arguments[6])||arguments[6],o=this.w,l=void 0===t[a]?"":t[a],h=l,c=o.globals.xLabelFormatter,d=o.config.xaxis.labels.formatter,u=!1,g=new Xi(this.ctx),p=l;n&&(h=g.xLabelFormat(c,l,p,{i:a,dateFormatter:new zi(this.ctx).formatDate,w:o}),void 0!==d&&(h=d(l,t[a],{i:a,dateFormatter:new zi(this.ctx).formatDate,w:o})));var f,x;e.length>0?(f=e[a].unit,x=null,e.forEach((function(t){"month"===t.unit?x="year":"day"===t.unit?x="month":"hour"===t.unit?x="day":"minute"===t.unit&&(x="hour")})),u=x===f,i=e[a].position,h=e[a].value):"datetime"===o.config.xaxis.type&&void 0===d&&(h=""),void 0===h&&(h=""),h=Array.isArray(h)?h:h.toString();var b=new Mi(this.ctx),m={};m=o.globals.rotateXLabels&&n?b.getTextRects(h,parseInt(r,10),null,"rotate(".concat(o.config.xaxis.labels.rotate," 0 0)"),!1):b.getTextRects(h,parseInt(r,10));var v=!o.config.xaxis.labels.showDuplicates&&this.ctx.timeScale;return!Array.isArray(h)&&("NaN"===String(h)||s.indexOf(h)>=0&&v)&&(h=""),{x:i,text:h,textRect:m,isBold:u}}}
vendor: 17,003 bytes, line 46395
46395,{key:"checkLabelBasedOnTickamount",value:function(t,e,i){var a=this.w,s=a.config.xaxis.tickAmount;return"dataPoints"===s&&(s=Math.round(a.globals.gridWidth/120)),s>i||t%Math.round(i/(s+1))==0||(e.text=""),e}},{key:"checkForOverflowingLabels",value:function(t,e,i,a,s){var r=this.w;if(0===t&&r.globals.skipFirstTimelinelabel&&(e.text=""),t===i-1&&r.globals.skipLastTimelinelabel&&(e.text=""),r.config.xaxis.labels.hideOverlappingLabels&&a.length>0){var n=s[s.length-1];e.x<n.textRect.width/(r.globals.rotateXLabels?Math.abs(r.config.xaxis.labels.rotate)/12:1.01)+n.x&&(e.text="")}return e}},{key:"checkForReversedLabels",value:function(t,e){var i=this.w;return i.config.yaxis[t]&&i.config.yaxis[t].reversed&&e.reverse(),e}},{key:"yAxisAllSeriesCollapsed",value:function(t){var e=this.w.globals;return!e.seriesYAxisMap[t].some((function(t){return-1===e.collapsedSeriesIndices.indexOf(t)}))}},{key:"translateYAxisIndex",value:function(t){var e=this.w,i=e.globals,a=e.config.yaxis;return i.series.length>a.length||a.some((function(t){return Array.isArray(t.seriesName)}))?t:i.seriesYAxisReverseMap[t]}},{key:"isYAxisHidden",value:function(t){var e=this.w,i=e.config.yaxis[t];if(!i.show||this.yAxisAllSeriesCollapsed(t))return!0;if(!i.showForNullSeries){var a=e.globals.seriesYAxisMap[t],s=new Pi(this.ctx);return a.every((function(t){return s.isSeriesNull(t)}))}return!1}},{key:"getYAxisForeColor",value:function(t,e){var i=this.w;return Array.isArray(t)&&i.globals.yAxisScale[e]&&this.ctx.theme.pushExtraColors(t,i.globals.yAxisScale[e].result.length,!1),t}},{key:"drawYAxisTicks",value:function(t,e,i,a,s,r,n){var o=this.w,l=new Mi(this.ctx),h=o.globals.translateY+o.config.yaxis[s].labels.offsetY;if(o.globals.isBarHorizontal?h=0:"heatmap"===o.config.chart.type&&(h+=r/2),a.show&&e>0){!0===o.config.yaxis[s].opposite&&(t+=a.width);for(var c=e;c>=0;c--){var d=l.drawLine(t+i.offsetX-a.width+a.offsetX,h+a.offsetY,t+i.offsetX+a.offsetX,h+a.offsetY,a.color);n.add(d),h+=r}}}}]),t}(),Ei=function(){function t(e){i(this,t),this.w=e.w,this.annoCtx=e,this.helpers=new Ii(this.annoCtx),this.axesUtils=new Ri(this.annoCtx)}return s(t,[{key:"addYaxisAnnotation",value:function(t,e,i){var a,s=this.w,r=t.strokeDashArray,n=this.helpers.getY1Y2("y1",t),o=n.yP,l=n.clipped,h=!0,c=!1,d=t.label.text;if(null===t.y2||void 0===t.y2){if(!l){c=!0;var u=this.annoCtx.graphics.drawLine(0+t.offsetX,o+t.offsetY,this._getYAxisAnnotationWidth(t),o+t.offsetY,t.borderColor,r,t.borderWidth);e.appendChild(u.node),t.id&&u.node.classList.add(t.id)}}else{if(a=(n=this.helpers.getY1Y2("y2",t)).yP,h=n.clipped,a>o){var g=o;o=a,a=g}if(!l||!h){c=!0;var p=this.annoCtx.graphics.drawRect(0+t.offsetX,a+t.offsetY,this._getYAxisAnnotationWidth(t),o-a,0,t.fillColor,t.opacity,1,t.borderColor,r);p.node.classList.add("apexcharts-annotation-rect"),p.attr("clip-path","url(#gridRectMask".concat(s.globals.cuid,")")),e.appendChild(p.node),t.id&&p.node.classList.add(t.id)}}if(c){var f="right"===t.label.position?s.globals.gridWidth:"center"===t.label.position?s.globals.gridWidth/2:0,x=this.annoCtx.graphics.drawText({x:f+t.label.offsetX,y:(null!=a?a:o)+t.label.offsetY-3,text:d,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:"apexcharts-yaxis-annotation-label ".concat(t.label.style.cssClass," ").concat(t.id?t.id:"")});x.attr({rel:i}),e.appendChild(x.node)}}},{key:"_getYAxisAnnotationWidth",value:function(t){var e=this.w;e.globals.gridWidth;return(t.width.indexOf("%")>-1?e.globals.gridWidth*parseInt(t.width,10)/100:parseInt(t.width,10))+t.offsetX}},{key:"drawYAxisAnnotations",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-yaxis-annotations"});return e.config.annotations.yaxis.forEach((function(e,a){e.yAxisIndex=t.axesUtils.translateYAxisIndex(e.yAxisIndex),t.axesUtils.isYAxisHidden(e.yAxisIndex)&&t.axesUtils.yAxisAllSeriesCollapsed(e.yAxisIndex)||t.addYaxisAnnotation(e,i.node,a)})),i}}]),t}(),Yi=function(){function t(e){i(this,t),this.w=e.w,this.annoCtx=e,this.helpers=new Ii(this.annoCtx)}return s(t,[{key:"addPointAnnotation",value:function(t,e,i){if(!(this.w.globals.collapsedSeriesIndices.indexOf(t.seriesIndex)>-1)){var a=this.helpers.getX1X2("x1",t),s=a.x,r=a.clipped,n=(a=this.helpers.getY1Y2("y1",t)).yP,o=a.clipped;if(v.isNumber(s)&&!o&&!r){var l={pSize:t.marker.size,pointStrokeWidth:t.marker.strokeWidth,pointFillColor:t.marker.fillColor,pointStrokeColor:t.marker.strokeColor,shape:t.marker.shape,pRadius:t.marker.radius,class:"apexcharts-point-annotation-marker ".concat(t.marker.cssClass," ").concat(t.id?t.id:"")},h=this.annoCtx.graphics.drawMarker(s+t.marker.offsetX,n+t.marker.offsetY,l);e.appendChild(h.node);var c=t.label.text?t.label.text:"",d=this.annoCtx.graphics.drawText({x:s+t.label.offsetX,y:n+t.label.offsetY-t.marker.size-parseFloat(t.label.style.fontSize)/1.6,text:c,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:"apexcharts-point-annotation-label ".concat(t.label.style.cssClass," ").concat(t.id?t.id:"")});if(d.attr({rel:i}),e.appendChild(d.node),t.customSVG.SVG){var u=this.annoCtx.graphics.group({class:"apexcharts-point-annotations-custom-svg "+t.customSVG.cssClass});u.attr({transform:"translate(".concat(s+t.customSVG.offsetX,", ").concat(n+t.customSVG.offsetY,")")}),u.node.innerHTML=t.customSVG.SVG,e.appendChild(u.node)}if(t.image.path){var g=t.image.width?t.image.width:20,p=t.image.height?t.image.height:20;h=this.annoCtx.addImage({x:s+t.image.offsetX-g/2,y:n+t.image.offsetY-p/2,width:g,height:p,path:t.image.path,appendTo:".apexcharts-point-annotations"})}t.mouseEnter&&h.node.addEventListener("mouseenter",t.mouseEnter.bind(this,t)),t.mouseLeave&&h.node.addEventListener("mouseleave",t.mouseLeave.bind(this,t)),t.click&&h.node.addEventListener("click",t.click.bind(this,t))}}}},{key:"drawPointAnnotations",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-point-annotations"});return e.config.annotations.points.map((function(e,a){t.addPointAnnotation(e,i.node,a)})),i}}]),t}();var Hi={name:"en",options:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],toolbar:{exportToSVG:"Download SVG",exportToPNG:"Download PNG",exportToCSV:"Download CSV",menu:"Menu",selection:"Selection",selectionZoom:"Selection Zoom",zoomIn:"Zoom In",zoomOut:"Zoom Out",pan:"Panning",reset:"Reset Zoom"}}},Oi=function(){function t(){i(this,t),this.yAxis={show:!0,showAlways:!1,showForNullSeries:!0,seriesName:void 0,opposite:!1,reversed:!1,logarithmic:!1,logBase:10,tickAmount:void 0,stepSize:void 0,forceNiceScale:!1,max:void 0,min:void 0,floating:!1,decimalsInFloat:void 0,labels:{show:!0,showDuplicates:!1,minWidth:0,maxWidth:160,offsetX:0,offsetY:0,align:void 0,rotate:0,padding:20,style:{colors:[],fontSize:"11px",fontWeight:400,fontFamily:void 0,cssClass:""},formatter:void 0},axisBorder:{show:!1,color:"#e0e0e0",width:1,offsetX:0,offsetY:0},axisTicks:{show:!1,color:"#e0e0e0",width:6,offsetX:0,offsetY:0},title:{text:void 0,rotate:-90,offsetY:0,offsetX:0,style:{color:void 0,fontSize:"11px",fontWeight:900,fontFamily:void 0,cssClass:""}},tooltip:{enabled:!1,offsetX:0},crosshairs:{show:!0,position:"front",stroke:{color:"#b6b6b6",width:1,dashArray:0}}},this.pointAnnotation={id:void 0,x:0,y:null,yAxisIndex:0,seriesIndex:void 0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,marker:{size:4,fillColor:"#fff",strokeWidth:2,strokeColor:"#333",shape:"circle",offsetX:0,offsetY:0,cssClass:""},label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"middle",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}},customSVG:{SVG:void 0,cssClass:void 0,offsetX:0,offsetY:0},image:{path:void 0,width:20,height:20,offsetX:0,offsetY:0}},this.yAxisAnnotation={id:void 0,y:0,y2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,width:"100%",yAxisIndex:0,label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"end",position:"right",offsetX:0,offsetY:-3,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.xAxisAnnotation={id:void 0,x:0,x2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"middle",orientation:"vertical",position:"top",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.text={x:0,y:0,text:"",textAnchor:"start",foreColor:void 0,fontSize:"13px",fontFamily:void 0,fontWeight:400,appendTo:".apexcharts-annotations",backgroundColor:"transparent",borderColor:"#c2c2c2",borderRadius:0,borderWidth:0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2}}return s(t,[{key:"init",value:function(){return{annotations:{yaxis:[this.yAxisAnnotation],xaxis:[this.xAxisAnnotation],points:[this.pointAnnotation],texts:[],images:[],shapes:[]},chart:{animations:{enabled:!0,speed:800,animateGradually:{delay:150,enabled:!0},dynamicAnimation:{enabled:!0,speed:350}},background:"",locales:[Hi],defaultLocale:"en",dropShadow:{enabled:!1,enabledOnSeries:void 0,top:2,left:2,blur:4,color:"#000",opacity:.7},events:{animationEnd:void 0,beforeMount:void 0,mounted:void 0,updated:void 0,click:void 0,mouseMove:void 0,mouseLeave:void 0,xAxisLabelClick:void 0,legendClick:void 0,markerClick:void 0,selection:void 0,dataPointSelection:void 0,dataPointMouseEnter:void 0,dataPointMouseLeave:void 0,beforeZoom:void 0,beforeResetZoom:void 0,zoomed:void 0,scrolled:void 0,brushScrolled:void 0},foreColor:"#373d3f",fontFamily:"Helvetica, Arial, sans-serif",height:"auto",parentHeightOffset:15,redrawOnParentResize:!0,redrawOnWindowResize:!0,id:void 0,group:void 0,nonce:void 0,offsetX:0,offsetY:0,selection:{enabled:!1,type:"x",fill:{color:"#24292e",opacity:.1},stroke:{width:1,color:"#24292e",opacity:.4,dashArray:3},xaxis:{min:void 0,max:void 0},yaxis:{min:void 0,max:void 0}},sparkline:{enabled:!1},brush:{enabled:!1,autoScaleYaxis:!0,target:void 0,targets:void 0},stacked:!1,stackOnlyBar:!0,stackType:"normal",toolbar:{show:!0,offsetX:0,offsetY:0,tools:{download:!0,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!0,reset:!0,customIcons:[]},export:{csv:{filename:void 0,columnDelimiter:",",headerCategory:"category",headerValue:"value",categoryFormatter:void 0,valueFormatter:void 0},png:{filename:void 0},svg:{filename:void 0},scale:void 0,width:void 0},autoSelected:"zoom"},type:"line",width:"100%",zoom:{enabled:!0,type:"x",autoScaleYaxis:!1,allowMouseWheelZoom:!0,zoomedArea:{fill:{color:"#90CAF9",opacity:.4},stroke:{color:"#0D47A1",opacity:.4,width:1}}}},plotOptions:{line:{isSlopeChart:!1,colors:{threshold:0,colorAboveThreshold:void 0,colorBelowThreshold:void 0}},area:{fillTo:"origin"},bar:{horizontal:!1,columnWidth:"70%",barHeight:"70%",distributed:!1,borderRadius:0,borderRadiusApplication:"around",borderRadiusWhenStacked:"last",rangeBarOverlap:!0,rangeBarGroupRows:!1,hideZeroBarsWhenGrouped:!1,isDumbbell:!1,dumbbellColors:void 0,isFunnel:!1,isFunnel3d:!0,colors:{ranges:[],backgroundBarColors:[],backgroundBarOpacity:1,backgroundBarRadius:0},dataLabels:{position:"top",maxItems:100,hideOverflowingLabels:!0,orientation:"horizontal",total:{enabled:!1,formatter:void 0,offsetX:0,offsetY:0,style:{color:"#373d3f",fontSize:"12px",fontFamily:void 0,fontWeight:600}}}},bubble:{zScaling:!0,minBubbleRadius:void 0,maxBubbleRadius:void 0},candlestick:{colors:{upward:"#00B746",downward:"#EF403C"},wick:{useFillColor:!0}},boxPlot:{colors:{upper:"#00E396",lower:"#008FFB"}},heatmap:{radius:2,enableShades:!0,shadeIntensity:.5,reverseNegativeShade:!1,distributed:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},treemap:{enableShades:!0,shadeIntensity:.5,distributed:!1,reverseNegativeShade:!1,useFillColorAsStroke:!1,borderRadius:4,dataLabels:{format:"scale"},colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0},seriesTitle:{show:!0,offsetY:1,offsetX:1,borderColor:"#000",borderWidth:1,borderRadius:2,style:{background:"rgba(0, 0, 0, 0.6)",color:"#fff",fontSize:"12px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:6,right:6,top:2,bottom:2}}}},radialBar:{inverseOrder:!1,startAngle:0,endAngle:360,offsetX:0,offsetY:0,hollow:{margin:5,size:"50%",background:"transparent",image:void 0,imageWidth:150,imageHeight:150,imageOffsetX:0,imageOffsetY:0,imageClipped:!0,position:"front",dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},track:{show:!0,startAngle:void 0,endAngle:void 0,background:"#f2f2f2",strokeWidth:"97%",opacity:1,margin:5,dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},dataLabels:{show:!0,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:0,formatter:function(t){return t}},value:{show:!0,fontSize:"14px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:16,formatter:function(t){return t+"%"}},total:{show:!1,label:"Total",fontSize:"16px",fontWeight:600,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)/t.globals.series.length+"%"}}},barLabels:{enabled:!1,offsetX:0,offsetY:0,useSeriesColors:!0,fontFamily:void 0,fontWeight:600,fontSize:"16px",formatter:function(t){return t},onClick:void 0}},pie:{customScale:1,offsetX:0,offsetY:0,startAngle:0,endAngle:360,expandOnClick:!0,dataLabels:{offset:0,minAngleToShowLabel:10},donut:{size:"65%",background:"transparent",labels:{show:!1,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:-10,formatter:function(t){return t}},value:{show:!0,fontSize:"20px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:10,formatter:function(t){return t}},total:{show:!1,showAlways:!1,label:"Total",fontSize:"16px",fontWeight:400,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)}}}}},polarArea:{rings:{strokeWidth:1,strokeColor:"#e8e8e8"},spokes:{strokeWidth:1,connectorColors:"#e8e8e8"}},radar:{size:void 0,offsetX:0,offsetY:0,polygons:{strokeWidth:1,strokeColors:"#e8e8e8",connectorColors:"#e8e8e8",fill:{colors:void 0}}}},colors:void 0,dataLabels:{enabled:!0,enabledOnSeries:void 0,formatter:function(t){return null!==t?t:""},textAnchor:"middle",distributed:!1,offsetX:0,offsetY:0,style:{fontSize:"12px",fontFamily:void 0,fontWeight:600,colors:void 0},background:{enabled:!0,foreColor:"#fff",backgroundColor:void 0,borderRadius:2,padding:4,opacity:.9,borderWidth:1,borderColor:"#fff",dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.8}},dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.8}},fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]},image:{src:[],width:void 0,height:void 0},pattern:{style:"squares",width:6,height:6,strokeWidth:2}},forecastDataPoints:{count:0,fillOpacity:.5,strokeWidth:void 0,dashArray:4},grid:{show:!0,borderColor:"#e0e0e0",strokeDashArray:0,position:"back",xaxis:{lines:{show:!1}},yaxis:{lines:{show:!0}},row:{colors:void 0,opacity:.5},column:{colors:void 0,opacity:.5},padding:{top:0,right:10,bottom:0,left:12}},labels:[],legend:{show:!0,showForSingleSeries:!1,showForNullSeries:!0,showForZeroSeries:!0,floating:!1,position:"bottom",horizontalAlign:"center",inverseOrder:!1,fontSize:"12px",fontFamily:void 0,fontWeight:400,width:void 0,height:void 0,formatter:void 0,tooltipHoverFormatter:void 0,offsetX:-20,offsetY:4,customLegendItems:[],clusterGroupedSeries:!0,clusterGroupedSeriesOrientation:"vertical",labels:{colors:void 0,useSeriesColors:!1},markers:{size:7,fillColors:void 0,strokeWidth:1,shape:void 0,offsetX:0,offsetY:0,customHTML:void 0,onClick:void 0},itemMargin:{horizontal:5,vertical:4},onItemClick:{toggleDataSeries:!0},onItemHover:{highlightDataSeries:!0}},markers:{discrete:[],size:0,colors:void 0,strokeColors:"#fff",strokeWidth:2,strokeOpacity:.9,strokeDashArray:0,fillOpacity:1,shape:"circle",offsetX:0,offsetY:0,showNullDataPoints:!0,onClick:void 0,onDblClick:void 0,hover:{size:void 0,sizeOffset:3}}
vendor: 27,244 bytes, line 46395
46395,noData:{text:void 0,align:"center",verticalAlign:"middle",offsetX:0,offsetY:0,style:{color:void 0,fontSize:"14px",fontFamily:void 0}},responsive:[],series:void 0,states:{hover:{filter:{type:"lighten"}},active:{allowMultipleDataPointsSelection:!1,filter:{type:"darken"}}},title:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:0,floating:!1,style:{fontSize:"14px",fontWeight:900,fontFamily:void 0,color:void 0}},subtitle:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:30,floating:!1,style:{fontSize:"12px",fontWeight:400,fontFamily:void 0,color:void 0}},stroke:{show:!0,curve:"smooth",lineCap:"butt",width:2,colors:void 0,dashArray:0,fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]}}},tooltip:{enabled:!0,enabledOnSeries:void 0,shared:!0,hideEmptySeries:!1,followCursor:!1,intersect:!1,inverseOrder:!1,custom:void 0,fillSeriesColor:!1,theme:"light",cssClass:"",style:{fontSize:"12px",fontFamily:void 0},onDatasetHover:{highlightDataSeries:!1},x:{show:!0,format:"dd MMM",formatter:void 0},y:{formatter:void 0,title:{formatter:function(t){return t?t+": ":""}}},z:{formatter:void 0,title:"Size: "},marker:{show:!0,fillColors:void 0},items:{display:"flex"},fixed:{enabled:!1,position:"topRight",offsetX:0,offsetY:0}},xaxis:{type:"category",categories:[],convertedCatToNumeric:!1,offsetX:0,offsetY:0,overwriteCategories:void 0,labels:{show:!0,rotate:-45,rotateAlways:!1,hideOverlappingLabels:!0,trim:!1,minHeight:void 0,maxHeight:120,showDuplicates:!0,style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""},offsetX:0,offsetY:0,format:void 0,formatter:void 0,datetimeUTC:!0,datetimeFormatter:{year:"yyyy",month:"MMM 'yy",day:"dd MMM",hour:"HH:mm",minute:"HH:mm:ss",second:"HH:mm:ss"}},group:{groups:[],style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""}},axisBorder:{show:!0,color:"#e0e0e0",width:"100%",height:1,offsetX:0,offsetY:0},axisTicks:{show:!0,color:"#e0e0e0",height:6,offsetX:0,offsetY:0},stepSize:void 0,tickAmount:void 0,tickPlacement:"on",min:void 0,max:void 0,range:void 0,floating:!1,decimalsInFloat:void 0,position:"bottom",title:{text:void 0,offsetX:0,offsetY:0,style:{color:void 0,fontSize:"12px",fontWeight:900,fontFamily:void 0,cssClass:""}},crosshairs:{show:!0,width:1,position:"back",opacity:.9,stroke:{color:"#b6b6b6",width:1,dashArray:3},fill:{type:"solid",color:"#B1B9C4",gradient:{colorFrom:"#D8E3F0",colorTo:"#BED1E6",stops:[0,100],opacityFrom:.4,opacityTo:.5}},dropShadow:{enabled:!1,left:0,top:0,blur:1,opacity:.8}},tooltip:{enabled:!0,offsetY:0,formatter:void 0,style:{fontSize:"12px",fontFamily:void 0}}},yaxis:this.yAxis,theme:{mode:"",palette:"palette1",monochrome:{enabled:!1,color:"#008FFB",shadeTo:"light",shadeIntensity:.65}}}}}]),t}(),Fi=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.graphics=new Mi(this.ctx),this.w.globals.isBarHorizontal&&(this.invertAxis=!0),this.helpers=new Ii(this),this.xAxisAnnotations=new Ti(this),this.yAxisAnnotations=new Ei(this),this.pointsAnnotations=new Yi(this),this.w.globals.isBarHorizontal&&this.w.config.yaxis[0].reversed&&(this.inversedReversedAxis=!0),this.xDivision=this.w.globals.gridWidth/this.w.globals.dataPoints}return s(t,[{key:"drawAxesAnnotations",value:function(){var t=this.w;if(t.globals.axisCharts&&t.globals.dataPoints){for(var e=this.yAxisAnnotations.drawYAxisAnnotations(),i=this.xAxisAnnotations.drawXAxisAnnotations(),a=this.pointsAnnotations.drawPointAnnotations(),s=t.config.chart.animations.enabled,r=[e,i,a],n=[i.node,e.node,a.node],o=0;o<3;o++)t.globals.dom.elGraphical.add(r[o]),!s||t.globals.resized||t.globals.dataChanged||"scatter"!==t.config.chart.type&&"bubble"!==t.config.chart.type&&t.globals.dataPoints>1&&n[o].classList.add("apexcharts-element-hidden"),t.globals.delayedElements.push({el:n[o],index:0});this.helpers.annotationsBackground()}}},{key:"drawImageAnnos",value:function(){var t=this;this.w.config.annotations.images.map((function(e,i){t.addImage(e,i)}))}},{key:"drawTextAnnos",value:function(){var t=this;this.w.config.annotations.texts.map((function(e,i){t.addText(e,i)}))}},{key:"addXaxisAnnotation",value:function(t,e,i){this.xAxisAnnotations.addXaxisAnnotation(t,e,i)}},{key:"addYaxisAnnotation",value:function(t,e,i){this.yAxisAnnotations.addYaxisAnnotation(t,e,i)}},{key:"addPointAnnotation",value:function(t,e,i){this.pointsAnnotations.addPointAnnotation(t,e,i)}},{key:"addText",value:function(t,e){var i=t.x,a=t.y,s=t.text,r=t.textAnchor,n=t.foreColor,o=t.fontSize,l=t.fontFamily,h=t.fontWeight,c=t.cssClass,d=t.backgroundColor,u=t.borderWidth,g=t.strokeDashArray,p=t.borderRadius,f=t.borderColor,x=t.appendTo,b=void 0===x?".apexcharts-svg":x,m=t.paddingLeft,v=void 0===m?4:m,y=t.paddingRight,w=void 0===y?4:y,k=t.paddingBottom,A=void 0===k?2:k,C=t.paddingTop,S=void 0===C?2:C,L=this.w,M=this.graphics.drawText({x:i,y:a,text:s,textAnchor:r||"start",fontSize:o||"12px",fontWeight:h||"regular",fontFamily:l||L.config.chart.fontFamily,foreColor:n||L.config.chart.foreColor,cssClass:c}),P=L.globals.dom.baseEl.querySelector(b);P&&P.appendChild(M.node);var I=M.bbox();if(s){var T=this.graphics.drawRect(I.x-v,I.y-S,I.width+v+w,I.height+A+S,p,d||"transparent",1,u,f,g);P.insertBefore(T.node,M.node)}}},{key:"addImage",value:function(t,e){var i=this.w,a=t.path,s=t.x,r=void 0===s?0:s,n=t.y,o=void 0===n?0:n,l=t.width,h=void 0===l?20:l,c=t.height,d=void 0===c?20:c,u=t.appendTo,g=void 0===u?".apexcharts-svg":u,p=i.globals.dom.Paper.image(a);p.size(h,d).move(r,o);var f=i.globals.dom.baseEl.querySelector(g);return f&&f.appendChild(p.node),p}},{key:"addXaxisAnnotationExternal",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"xaxis",contextMethod:i.addXaxisAnnotation}),i}},{key:"addYaxisAnnotationExternal",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"yaxis",contextMethod:i.addYaxisAnnotation}),i}},{key:"addPointAnnotationExternal",value:function(t,e,i){return void 0===this.invertAxis&&(this.invertAxis=i.w.globals.isBarHorizontal),this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"point",contextMethod:i.addPointAnnotation}),i}},{key:"addAnnotationExternal",value:function(t){var e=t.params,i=t.pushToMemory,a=t.context,s=t.type,r=t.contextMethod,n=a,o=n.w,l=o.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations")),h=l.childNodes.length+1,c=new Oi,d=Object.assign({},"xaxis"===s?c.xAxisAnnotation:"yaxis"===s?c.yAxisAnnotation:c.pointAnnotation),u=v.extend(d,e);switch(s){case"xaxis":this.addXaxisAnnotation(u,l,h);break;case"yaxis":this.addYaxisAnnotation(u,l,h);break;case"point":this.addPointAnnotation(u,l,h)}var g=o.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations .apexcharts-").concat(s,"-annotation-label[rel='").concat(h,"']")),p=this.helpers.addBackgroundToAnno(g,u);return p&&l.insertBefore(p.node,g),i&&o.globals.memory.methodsToExec.push({context:n,id:u.id?u.id:v.randomId(),method:r,label:"addAnnotation",params:e}),a}},{key:"clearAnnotations",value:function(t){for(var e=t.w,i=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations"),a=e.globals.memory.methodsToExec.length-1;a>=0;a--)"addText"!==e.globals.memory.methodsToExec[a].label&&"addAnnotation"!==e.globals.memory.methodsToExec[a].label||e.globals.memory.methodsToExec.splice(a,1);i=v.listToArray(i),Array.prototype.forEach.call(i,(function(t){for(;t.firstChild;)t.removeChild(t.firstChild)}))}},{key:"removeAnnotation",value:function(t,e){var i=t.w,a=i.globals.dom.baseEl.querySelectorAll(".".concat(e));a&&(i.globals.memory.methodsToExec.map((function(t,a){t.id===e&&i.globals.memory.methodsToExec.splice(a,1)})),Object.keys(i.config.annotations).forEach((function(t){var a=i.config.annotations[t];Array.isArray(a)&&(i.config.annotations[t]=a.filter((function(t){return t.id!==e})))})),Array.prototype.forEach.call(a,(function(t){t.parentElement.removeChild(t)})))}}]),t}(),Di=function(t){var e,i=t.isTimeline,a=t.ctx,s=t.seriesIndex,r=t.dataPointIndex,n=t.y1,o=t.y2,l=t.w,h=l.globals.seriesRangeStart[s][r],c=l.globals.seriesRangeEnd[s][r],d=l.globals.labels[r],u=l.config.series[s].name?l.config.series[s].name:"",g=l.globals.ttKeyFormatter,p=l.config.tooltip.y.title.formatter,f={w:l,seriesIndex:s,dataPointIndex:r,start:h,end:c};("function"==typeof p&&(u=p(u,f)),null!==(e=l.config.series[s].data[r])&&void 0!==e&&e.x&&(d=l.config.series[s].data[r].x),i)||"datetime"===l.config.xaxis.type&&(d=new Xi(a).xLabelFormat(l.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new zi(a).formatDate,w:l}));"function"==typeof g&&(d=g(d,f)),Number.isFinite(n)&&Number.isFinite(o)&&(h=n,c=o);var x="",b="",m=l.globals.colors[s];if(void 0===l.config.tooltip.x.formatter)if("datetime"===l.config.xaxis.type){var v=new zi(a);x=v.formatDate(v.getDate(h),l.config.tooltip.x.format),b=v.formatDate(v.getDate(c),l.config.tooltip.x.format)}else x=h,b=c;else x=l.config.tooltip.x.formatter(h),b=l.config.tooltip.x.formatter(c);return{start:h,end:c,startVal:x,endVal:b,ylabel:d,color:m,seriesName:u}},_i=function(t){var e=t.color,i=t.seriesName,a=t.ylabel,s=t.start,r=t.end,n=t.seriesIndex,o=t.dataPointIndex,l=t.ctx.tooltip.tooltipLabels.getFormatters(n);s=l.yLbFormatter(s),r=l.yLbFormatter(r);var h=l.yLbFormatter(t.w.globals.series[n][o]),c='<span class="value start-value">\n  '.concat(s,'\n  </span> <span class="separator">-</span> <span class="value end-value">\n  ').concat(r,"\n  </span>");return'<div class="apexcharts-tooltip-rangebar"><div> <span class="series-name" style="color: '+e+'">'+(i||"")+'</span></div><div> <span class="category">'+a+": </span> "+(t.w.globals.comboCharts?"rangeArea"===t.w.config.series[n].type||"rangeBar"===t.w.config.series[n].type?c:"<span>".concat(h,"</span>"):c)+" </div></div>"},Ni=function(){function t(e){i(this,t),this.opts=e}return s(t,[{key:"hideYAxis",value:function(){this.opts.yaxis[0].show=!1,this.opts.yaxis[0].title.text="",this.opts.yaxis[0].axisBorder.show=!1,this.opts.yaxis[0].axisTicks.show=!1,this.opts.yaxis[0].floating=!0}},{key:"line",value:function(){return{dataLabels:{enabled:!1},stroke:{width:5,curve:"straight"},markers:{size:0,hover:{sizeOffset:6}},xaxis:{crosshairs:{width:1}}}}},{key:"sparkline",value:function(t){this.hideYAxis();return v.extend(t,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:"slope",value:function(){return this.hideYAxis(),{chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!0,formatter:function(t,e){var i=e.w.config.series[e.seriesIndex].name;return null!==t?i+": "+t:""},background:{enabled:!1},offsetX:-5},grid:{xaxis:{lines:{show:!0}},yaxis:{lines:{show:!1}}},xaxis:{position:"top",labels:{style:{fontSize:14,fontWeight:900}},tooltip:{enabled:!1},crosshairs:{show:!1}},markers:{size:8,hover:{sizeOffset:1}},legend:{show:!1},tooltip:{shared:!1,intersect:!0,followCursor:!0},stroke:{width:5,curve:"straight"}}}},{key:"bar",value:function(){return{chart:{stacked:!1},plotOptions:{bar:{dataLabels:{position:"center"}}},dataLabels:{style:{colors:["#fff"]},background:{enabled:!1}},stroke:{width:0,lineCap:"square"},fill:{opacity:.85},legend:{markers:{shape:"square"}},tooltip:{shared:!1,intersect:!0},xaxis:{tooltip:{enabled:!1},tickPlacement:"between",crosshairs:{width:"barWidth",position:"back",fill:{type:"gradient"},dropShadow:{enabled:!1},stroke:{width:0}}}}}},{key:"funnel",value:function(){return this.hideYAxis(),u(u({},this.bar()),{},{chart:{animations:{speed:800,animateGradually:{enabled:!1}}},plotOptions:{bar:{horizontal:!0,borderRadiusApplication:"around",borderRadius:0,dataLabels:{position:"center"}}},grid:{show:!1,padding:{left:0,right:0}},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}}})}},{key:"candlestick",value:function(){var t=this;return{stroke:{width:1},fill:{opacity:1},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,["Open","High","","Low","Close"],"candlestick")}},states:{active:{filter:{type:"none"}}},xaxis:{crosshairs:{width:1}}}}},{key:"boxPlot",value:function(){var t=this;return{chart:{animations:{dynamicAnimation:{enabled:!1}}},stroke:{width:1,colors:["#24292e"]},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,["Minimum","Q1","Median","Q3","Maximum"],"boxPlot")}},markers:{size:7,strokeWidth:1,strokeColors:"#111"},xaxis:{crosshairs:{width:1}}}}},{key:"rangeBar",value:function(){return{chart:{animations:{animateGradually:!1}},stroke:{width:0,lineCap:"square"},plotOptions:{bar:{borderRadius:0,dataLabels:{position:"center"}}},dataLabels:{enabled:!1,formatter:function(t,e){e.ctx;var i=e.seriesIndex,a=e.dataPointIndex,s=e.w,r=function(){var t=s.globals.seriesRangeStart[i][a];return s.globals.seriesRangeEnd[i][a]-t};return s.globals.comboCharts?"rangeBar"===s.config.series[i].type||"rangeArea"===s.config.series[i].type?r():t:r()},background:{enabled:!1},style:{colors:["#fff"]}},markers:{size:10},tooltip:{shared:!1,followCursor:!0,custom:function(t){return t.w.config.plotOptions&&t.w.config.plotOptions.bar&&t.w.config.plotOptions.bar.horizontal?function(t){var e=Di(u(u({},t),{},{isTimeline:!0})),i=e.color,a=e.seriesName,s=e.ylabel,r=e.startVal,n=e.endVal;return _i(u(u({},t),{},{color:i,seriesName:a,ylabel:s,start:r,end:n}))}(t):function(t){var e=Di(t),i=e.color,a=e.seriesName,s=e.ylabel,r=e.start,n=e.end;return _i(u(u({},t),{},{color:i,seriesName:a,ylabel:s,start:r,end:n}))}(t)}},xaxis:{tickPlacement:"between",tooltip:{enabled:!1},crosshairs:{stroke:{width:0}}}}}},{key:"dumbbell",value:function(t){var e,i;return null!==(e=t.plotOptions.bar)&&void 0!==e&&e.barHeight||(t.plotOptions.bar.barHeight=2),null!==(i=t.plotOptions.bar)&&void 0!==i&&i.columnWidth||(t.plotOptions.bar.columnWidth=2),t}},{key:"area",value:function(){return{stroke:{width:4,fill:{type:"solid",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}}},fill:{type:"gradient",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:"rangeArea",value:function(){return{stroke:{curve:"straight",width:0},fill:{type:"solid",opacity:.6},markers:{size:0},states:{hover:{filter:{type:"none"}},active:{filter:{type:"none"}}},tooltip:{intersect:!1,shared:!0,followCursor:!0,custom:function(t){return function(t){var e=Di(t),i=e.color,a=e.seriesName,s=e.ylabel,r=e.start,n=e.end;return _i(u(u({},t),{},{color:i,seriesName:a,ylabel:s,start:r,end:n}))}(t)}}}}},{key:"brush",value:function(t){return v.extend(t,{chart:{toolbar:{autoSelected:"selection",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:"stacked100",value:function(t){t.dataLabels=t.dataLabels||{},t.dataLabels.formatter=t.dataLabels.formatter||void 0;var e=t.dataLabels.formatter;return t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})),"bar"===t.chart.type&&(t.dataLabels.formatter=e||function(t){return"number"==typeof t&&t?t.toFixed(0)+"%":t}),t}},{key:"stackedBars",value:function(){var t=this.bar();return u(u({},t),{},{plotOptions:u(u({},t.plotOptions),{},{bar:u(u({},t.plotOptions.bar),{},{borderRadiusApplication:"end",borderRadiusWhenStacked:"last"})})})}},{key:"convertCatToNumeric",value:function(t){return t.xaxis.convertedCatToNumeric=!0,t}},{key:"convertCatToNumericXaxis",value:function(t,e,i){t.xaxis.type="numeric",t.xaxis.labels=t.xaxis.labels||{},t.xaxis.labels.formatter=t.xaxis.labels.formatter||function(t){return v.isNumber(t)?Math.floor(t):t};var a=t.xaxis.labels.formatter,s=t.xaxis.categories&&t.xaxis.categories.length?t.xaxis.categories:t.labels;return i&&i.length&&(s=i.map((function(t){return Array.isArray(t)?t:String(t)}))),s&&s.length&&(t.xaxis.labels.formatter=function(t){return v.isNumber(t)?a(s[Math.floor(t)-1]):a(t)}),t.xaxis.categories=[],t.labels=[],t.xaxis.tickAmount=t.xaxis.tickAmount||"dataPoints",t}},{key:"bubble",value:function(){return{dataLabels:{style:{colors:["#fff"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:"solid",gradient:{shade:"light",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:"scatter",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:1,hover:{sizeOffset:2}}}}},{key:"heatmap",value:function(){return{chart:{stacked:!1},fill:{opacity:1},dataLabels:{style:{colors:["#fff"]}},stroke:{colors:["#fff"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:"top",markers:{shape:"square"}},grid:{padding:{right:20}}}}},{key:"treemap",value:function(){return{chart:{zoom:{enabled:!1}},dataLabels:{style:{fontSize:14,fontWeight:600,colors:["#fff"]}},stroke:{show:!0,width:2,colors:["#fff"]},legend:{show:!1},fill:{opacity:1,gradient:{stops:[0,100]}},tooltip:{followCursor:!0,x:{show:!1}},grid:{padding:{left:0,right:0}},xaxis:{crosshairs:{show:!1},tooltip:{enabled:!1}}}}},{key:"pie",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",stops:[0,100]}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:"donut",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",shadeIntensity:.35,stops:[80,100],opacityFrom:1,opacityTo:1}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:"polarArea",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},enabled:!1},stroke:{show:!0,width:2},fill:{opacity:.7},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:"radar",value:function(){return this.opts.yaxis[0].labels.offsetY=this.opts.yaxis[0].labels.offsetY?this.opts.yaxis[0].labels.offsetY:6,{dataLabels:{enabled:!1,style:{fontSize:"11px"}},stroke:{width:2},markers:{size:5,strokeWidth:1,strokeOpacity:1},fill:{opacity:.2},tooltip:{shared:!1,intersect:!0,followCursor:!0},grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},xaxis:{labels:{formatter:function(t){return t},style:{colors:["#a8a8a8"],fontSize:"11px"}},tooltip:{enabled:!1},crosshairs:{show:!1}}}}},{key:"radialBar",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:"dark",shadeIntensity:.4,inverseColors:!1,type:"diagonal2",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},legend:{show:!1,position:"right"},tooltip:{enabled:!1,fillSeriesColor:!0},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:"_getBoxTooltip",value:function(t,e,i,a,s){var r=t.globals.seriesCandleO[e][i],n=t.globals.seriesCandleH[e][i],o=t.globals.seriesCandleM[e][i],l=t.globals.seriesCandleL[e][i],h=t.globals.seriesCandleC[e][i];return t.config.series[e].type&&t.config.series[e].type!==s?'<div class="apexcharts-custom-tooltip">\n          '.concat(t.config.series[e].name?t.config.series[e].name:"series-"+(e+1),": <strong>").concat(t.globals.series[e][i],"</strong>\n        </div>"):'<div class="apexcharts-tooltip-box apexcharts-tooltip-'.concat(t.config.chart.type,'">')+"<div>".concat(a[0],': <span class="value">')+r+"</span></div>"+"<div>".concat(a[1],': <span class="value">')+n+"</span></div>"+(o?"<div>".concat(a[2],': <span class="value">')+o+"</span></div>":"")+"<div>".concat(a[3],': <span class="value">')+l+"</span></div>"+"<div>".concat(a[4],': <span class="value">')+h+"</span></div></div>"}}]),t}(),Wi=function(){function t(e){i(this,t),this.opts=e}return s(t,[{key:"init",value:function(t){var e=t.responsiveOverride,i=this.opts,a=new Oi,s=new Ni(i);this.chartType=i.chart.type,i=this.extendYAxis(i),i=this.extendAnnotations(i);var r=a.init(),n={};if(i&&"object"===b(i)){var o,l,h,c,d,u,g,p,f,x,m={};m=-1!==["line","area","bar","candlestick","boxPlot","rangeBar","rangeArea","bubble","scatter","heatmap","treemap","pie","polarArea","donut","radar","radialBar"].indexOf(i.chart.type)?s[i.chart.type]():s.line(),null!==(o=i.plotOptions)&&void 0!==o&&null!==(l=o.bar)&&void 0!==l&&l.isFunnel&&(m=s.funnel()),i.chart.stacked&&"bar"===i.chart.type&&(m=s.stackedBars()),null!==(h=i.chart.brush)&&void 0!==h&&h.enabled&&(m=s.brush(m)),null!==(c=i.plotOptions)&&void 0!==c&&null!==(d=c.line)&&void 0!==d&&d.isSlopeChart&&(m=s.slope()),i.chart.stacked&&"100%"===i.chart.stackType&&(i=s.stacked100(i)),null!==(u=i.plotOptions)&&void 0!==u&&null!==(g=u.bar)&&void 0!==g&&g.isDumbbell&&(i=s.dumbbell(i)),this.checkForDarkTheme(window.Apex),this.checkForDarkTheme(i),i.xaxis=i.xaxis||window.Apex.xaxis||{},e||(i.xaxis.convertedCatToNumeric=!1),(null!==(p=(i=this.checkForCatToNumericXAxis(this.chartType,m,i)).chart.sparkline)&&void 0!==p&&p.enabled||null!==(f=window.Apex.chart)&&void 0!==f&&null!==(x=f.sparkline)&&void 0!==x&&x.enabled)&&(m=s.sparkline(m)),n=v.extend(r,m)}var y=v.extend(n,window.Apex);return r=v.extend(y,i),r=this.handleUserInputErrors(r)}},{key:"checkForCatToNumericXAxis",value:function(t,e,i){var a,s,r=new Ni(i),n=("bar"===t||"boxPlot"===t)&&(null===(a=i.plotOptions)||void 0===a||null===(s=a.bar)||void 0===s?void 0:s.horizontal),o="pie"===t||"polarArea"===t||"donut"===t||"radar"===t||"radialBar"===t||"heatmap"===t,l="datetime"!==i.xaxis.type&&"numeric"!==i.xaxis.type,h=i.xaxis.tickPlacement?i.xaxis.tickPlacement:e.xaxis&&e.xaxis.tickPlacement;return n||o||!l||"between"===h||(i=r.convertCatToNumeric(i)),i}},{key:"extendYAxis",value:function(t,e){var i=new Oi;(void 0===t.yaxis||!t.yaxis||Array.isArray(t.yaxis)&&0===t.yaxis.length)&&(t.yaxis={}),t.yaxis.constructor!==Array&&window.Apex.yaxis&&window.Apex.yaxis.constructor!==Array&&(t.yaxis=v.extend(t.yaxis,window.Apex.yaxis)),t.yaxis.constructor!==Array?t.yaxis=[v.extend(i.yAxis,t.yaxis)]:t.yaxis=v.extendArray(t.yaxis,i.yAxis);var a=!1;t.yaxis.forEach((function(t){t.logarithmic&&(a=!0)}));var s=t.series;return e&&!s&&(s=e.config.series),a&&s.length!==t.yaxis.length&&s.length&&(t.yaxis=s.map((function(e,a){if(e.name||(s[a].name="series-".concat(a+1)),t.yaxis[a])return t.yaxis[a].seriesName=s[a].name,t.yaxis[a];var r=v.extend(i.yAxis,t.yaxis[0]);return r.show=!1,r}))),a&&s.length>1&&s.length!==t.yaxis.length&&console.warn("A multi-series logarithmic chart should have equal number of series and y-axes"),t}},{key:"extendAnnotations",value:function(t){return void 0===t.annotations&&(t.annotations={},t.annotations.yaxis=[],t.annotations.xaxis=[],t.annotations.points=[]),t=this.extendYAxisAnnotations(t),t=this.extendXAxisAnnotations(t),t=this.extendPointAnnotations(t)}},{key:"extendYAxisAnnotations",value:function(t){var e=new Oi;return t.annotations.yaxis=v.extendArray(void 0!==t.annotations.yaxis?t.annotations.yaxis:[],e.yAxisAnnotation),t}},{key:"extendXAxisAnnotations",value:function(t){var e=new Oi;return t.annotations.xaxis=v.extendArray(void 0!==t.annotations.xaxis?t.annotations.xaxis:[],e.xAxisAnnotation),t}},{key:"extendPointAnnotations",value:function(t){var e=new Oi;return t.annotations.points=v.extendArray(void 0!==t.annotations.points?t.annotations.points:[],e.pointAnnotation),t}},{key:"checkForDarkTheme",value:function(t){t.theme&&"dark"===t.theme.mode&&(t.tooltip||(t.tooltip={}),"light"!==t.tooltip.theme&&(t.tooltip.theme="dark"),t.chart.foreColor||(t.chart.foreColor="#f6f7f8"),t.theme.palette||(t.theme.palette="palette4"))}},{key:"handleUserInputErrors",value:function(t){var e=t;if(e.tooltip.shared&&e.tooltip.intersect)throw new Error("tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.");if("bar"===e.chart.type&&e.plotOptions.bar.horizontal){if(e.yaxis.length>1)throw new Error("Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false");e.yaxis[0].reversed&&(e.yaxis[0].opposite=!0),e.xaxis.tooltip.enabled=!1,e.yaxis[0].tooltip.enabled=!1,e.chart.zoom.enabled=!1}return"bar"!==e.chart.type&&"rangeBar"!==e.chart.type||e.tooltip.shared&&"barWidth"===e.xaxis.crosshairs.width&&e.series.length>1&&(e.xaxis.crosshairs.width="tickWidth"),"candlestick"!==e.chart.type&&"boxPlot"!==e.chart.type||e.yaxis[0].reversed&&(console.warn("Reversed y-axis in ".concat(e.chart.type," chart is not supported.")),e.yaxis[0].reversed=!1),e}}]),t}(),Bi=function(){function t(){i(this,t)}return s(t,[{key:"initGlobalVars",value:function(t){t.series=[],t.seriesCandleO=[],t.seriesCandleH=[],t.seriesCandleM=[],t.seriesCandleL=[],t.seriesCandleC=[],t.seriesRangeStart=[],t.seriesRangeEnd=[],t.seriesRange=[],t.seriesPercent=[],t.seriesGoals=[],t.seriesX=[],t.seriesZ=[],t.seriesNames=[],t.seriesTotals=[],t.seriesLog=[],t.seriesColors=[],t.stackedSeriesTotals=[],t.seriesXvalues=[],t.seriesYvalues=[],t.labels=[],t.hasXaxisGroups=!1,t.groups=[],t.barGroups=[],t.lineGroups=[],t.areaGroups=[],t.hasSeriesGroups=!1,t.seriesGroups=[],t.categoryLabels=[],t.timescaleLabels=[],t.noLabelsProvided=!1,t.resizeTimer=null,t.selectionResizeTimer=null,t.lastWheelExecution=0,t.delayedElements=[],t.pointsArray=[],t.dataLabelsRects=[],t.isXNumeric=!1,t.skipLastTimelinelabel=!1,t.skipFirstTimelinelabel=!1,t.isDataXYZ=!1,t.isMultiLineX=!1,t.isMultipleYAxis=!1,t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE,t.minYArr=[],t.maxYArr=[],t.maxX=-Number.MAX_VALUE,t.minX=Number.MAX_VALUE,t.initialMaxX=-Number.MAX_VALUE,t.initialMinX=Number.MAX_VALUE,t.maxDate=0,t.minDate=Number.MAX_VALUE,t.minZ=Number.MAX_VALUE,t.maxZ=-Number.MAX_VALUE,t.minXDiff=Number.MAX_VALUE,t.yAxisScale=[],t.xAxisScale=null,t.xAxisTicksPositions=[],t.yLabelsCoords=[],t.yTitleCoords=[],t.barPadForNumericAxis=0,t.padHorizontal=0,t.xRange=0,t.yRange=[],t.zRange=0,t.dataPoints=0,t.xTickAmount=0,t.multiAxisTickAmount=0}},{key:"globalVars",value:function(t){return{chartID:null,cuid:null,events:{beforeMount:[],mounted:[],updated:[],clicked:[],selection:[],dataPointSelection:[],zoomed:[],scrolled:[]},colors:[],clientX:null,clientY:null,fill:{colors:[]},stroke:{colors:[]},dataLabels:{style:{colors:[]}},radarPolygons:{fill:{colors:[]}},markers:{colors:[],size:t.markers.size,largestSize:0},animationEnded:!1,isTouchDevice:"ontouchstart"in window||navigator.msMaxTouchPoints,isDirty:!1,isExecCalled:!1,initialConfig:null,initialSeries:[],lastXAxis:[],lastYAxis:[],columnSeries:null,labels:[],timescaleLabels:[],noLabelsProvi
46395ded:!1,allSeriesCollapsed:!1,collapsedSeries:[],collapsedSeriesIndices:[],ancillaryCollapsedSeries:[],ancillaryCollapsedSeriesIndices:[],risingSeries:[],dataFormatXNumeric:!1,capturedSeriesIndex:-1,capturedDataPointIndex:-1,selectedDataPoints:[],invalidLogScale:!1,ignoreYAxisIndexes:[],maxValsInArrayIndex:0,radialSize:0,selection:void 0,zoomEnabled:"zoom"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.zoom&&t.chart.zoom.enabled,panEnabled:"pan"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.pan,selectionEnabled:"selection"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.selection,yaxis:null,mousedown:!1,lastClientPosition:{},visibleXRange:void 0,yValueDecimal:0,total:0,SVGNS:"http://www.w3.org/2000/svg",svgWidth:0,svgHeight:0,noData:!1,locale:{},dom:{},memory:{methodsToExec:[]},shouldAnimate:!0,skipLastTimelinelabel:!1,skipFirstTimelinelabel:!1,delayedElements:[],axisCharts:!0,isDataXYZ:!1,isSlopeChart:t.plotOptions.line.isSlopeChart,resized:!1,resizeTimer:null,comboCharts:!1,dataChanged:!1,previousPaths:[],allSeriesHasEqualX:!0,pointsArray:[],dataLabelsRects:[],lastDrawnDataLabelsIndexes:[],hasNullValues:!1,zoomed:!1,gridWidth:0,gridHeight:0,rotateXLabels:!1,defaultLabels:!1,xLabelFormatter:void 0,yLabelFormatters:[],xaxisTooltipFormatter:void 0,ttKeyFormatter:void 0,ttVal:void 0,ttZFormatter:void 0,LINE_HEIGHT_RATIO:1.618,xAxisLabelsHeight:0,xAxisGroupLabelsHeight:0,xAxisLabelsWidth:0,yAxisLabelsWidth:0,scaleX:1,scaleY:1,translateX:0,translateY:0,translateYAxisX:[],yAxisWidths:[],translateXAxisY:0,translateXAxisX:0,tooltip:null,niceScaleAllowedMagMsd:[[1,1,2,5,5,5,10,10,10,10,10],[1,1,2,5,5,5,10,10,10,10,10]],niceScaleDefaultTicks:[1,2,4,4,6,6,6,6,6,6,6,6,6,6,6,6,6,6,12,12,12,12,12,12,12,12,12,24],seriesYAxisMap:[],seriesYAxisReverseMap:[]}}},{key:"init",value:function(t){var e=this.globalVars(t);return this.initGlobalVars(e),e.initialConfig=v.extend({},t),e.initialSeries=v.clone(t.series),e.lastXAxis=v.clone(e.initialConfig.xaxis),e.lastYAxis=v.clone(e.initialConfig.yaxis),e}}]),t}(),Gi=function(){function t(e){i(this,t),this.opts=e}return s(t,[{key:"init",value:function(){var t=new Wi(this.opts).init({responsiveOverride:!1});return{config:t,globals:(new Bi).init(t)}}}]),t}(),ji=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.opts=null,this.seriesIndex=0,this.patternIDs=[]}return s(t,[{key:"clippedImgArea",value:function(t){var e=this.w,i=e.config,a=parseInt(e.globals.gridWidth,10),s=parseInt(e.globals.gridHeight,10),r=a>s?a:s,n=t.image,o=0,l=0;void 0===t.width&&void 0===t.height?void 0!==i.fill.image.width&&void 0!==i.fill.image.height?(o=i.fill.image.width+1,l=i.fill.image.height):(o=r+1,l=r):(o=t.width,l=t.height);var h=document.createElementNS(e.globals.SVGNS,"pattern");Mi.setAttrs(h,{id:t.patternID,patternUnits:t.patternUnits?t.patternUnits:"userSpaceOnUse",width:o+"px",height:l+"px"});var c=document.createElementNS(e.globals.SVGNS,"image");h.appendChild(c),c.setAttributeNS(window.SVG.xlink,"href",n),Mi.setAttrs(c,{x:0,y:0,preserveAspectRatio:"none",width:o+"px",height:l+"px"}),c.style.opacity=t.opacity,e.globals.dom.elDefs.node.appendChild(h)}},{key:"getSeriesIndex",value:function(t){var e=this.w,i=e.config.chart.type;return("bar"===i||"rangeBar"===i)&&e.config.plotOptions.bar.distributed||"heatmap"===i||"treemap"===i?this.seriesIndex=t.seriesNumber:this.seriesIndex=t.seriesNumber%e.globals.series.length,this.seriesIndex}},{key:"computeColorStops",value:function(t,e){var i,a=this.w,s=null,n=null,o=r(t);try{for(o.s();!(i=o.n()).done;){var l=i.value;l>=e.threshold?(null===s||l>s)&&(s=l):(null===n||l<n)&&(n=l)}}catch(t){o.e(t)}finally{o.f()}null===s&&(s=e.threshold),null===n&&(n=e.threshold);var h=s-e.threshold+(e.threshold-n);0===h&&(h=1);var c=100-(e.threshold-n)/h*100;return[{offset:c=Math.max(0,Math.min(c,100)),color:e.colorAboveThreshold,opacity:a.config.fill.opacity},{offset:0,color:e.colorBelowThreshold,opacity:a.config.fill.opacity}]}},{key:"fillPath",value:function(t){var e,i,a,s=this.w;this.opts=t;var r,n,o,l=this.w.config;this.seriesIndex=this.getSeriesIndex(t);var h=l.plotOptions.line.colors.colorAboveThreshold&&l.plotOptions.line.colors.colorBelowThreshold,c=this.getFillColors()[this.seriesIndex];void 0!==s.globals.seriesColors[this.seriesIndex]&&(c=s.globals.seriesColors[this.seriesIndex]),"function"==typeof c&&(c=c({seriesIndex:this.seriesIndex,dataPointIndex:t.dataPointIndex,value:t.value,w:s}));var d,u,g,p=t.fillType?t.fillType:this.getFillType(this.seriesIndex),x=Array.isArray(l.fill.opacity)?l.fill.opacity[this.seriesIndex]:l.fill.opacity,b="gradient"===p||h;(t.color&&(c=t.color),null!==(e=s.config.series[this.seriesIndex])&&void 0!==e&&null!==(i=e.data)&&void 0!==i&&null!==(a=i[t.dataPointIndex])&&void 0!==a&&a.fillColor)&&(c=null===(d=s.config.series[this.seriesIndex])||void 0===d||null===(u=d.data)||void 0===u||null===(g=u[t.dataPointIndex])||void 0===g?void 0:g.fillColor);c||(c="#fff",console.warn("undefined color - ApexCharts"));var m=c;if(-1===c.indexOf("rgb")?-1===c.indexOf("#")?m=c:c.length<9&&(m=v.hexToRgba(c,x)):c.indexOf("rgba")>-1?x=v.getOpacityFromRGBA(c):m=v.hexToRgba(v.rgb2hex(c),x),t.opacity&&(x=t.opacity),"pattern"===p&&
vendor: 13,418 bytes, line 46395
46395(n=this.handlePatternFill({fillConfig:t.fillConfig,patternFill:n,fillColor:c,fillOpacity:x,defaultColor:m})),b){var y=f(l.fill.gradient.colorStops)||[],w=l.fill.gradient.type;h&&(y[this.seriesIndex]=this.computeColorStops(s.globals.series[this.seriesIndex],l.plotOptions.line.colors),w="vertical"),o=this.handleGradientFill({type:w,fillConfig:t.fillConfig,fillColor:c,fillOpacity:x,colorStops:y,i:this.seriesIndex})}if("image"===p){var k=l.fill.image.src,A=t.patternID?t.patternID:"",C="pattern".concat(s.globals.cuid).concat(t.seriesNumber+1).concat(A);-1===this.patternIDs.indexOf(C)&&(this.clippedImgArea({opacity:x,image:Array.isArray(k)?t.seriesNumber<k.length?k[t.seriesNumber]:k[0]:k,width:t.width?t.width:void 0,height:t.height?t.height:void 0,patternUnits:t.patternUnits,patternID:C}),this.patternIDs.push(C)),r="url(#".concat(C,")")}else r=b?o:"pattern"===p?n:m;return t.solid&&(r=m),r}},{key:"getFillType",value:function(t){var e=this.w;return Array.isArray(e.config.fill.type)?e.config.fill.type[t]:e.config.fill.type}},{key:"getFillColors",value:function(){var t=this.w,e=t.config,i=this.opts,a=[];return t.globals.comboCharts?"line"===t.config.series[this.seriesIndex].type?Array.isArray(t.globals.stroke.colors)?a=t.globals.stroke.colors:a.push(t.globals.stroke.colors):Array.isArray(t.globals.fill.colors)?a=t.globals.fill.colors:a.push(t.globals.fill.colors):"line"===e.chart.type?Array.isArray(t.globals.stroke.colors)?a=t.globals.stroke.colors:a.push(t.globals.stroke.colors):Array.isArray(t.globals.fill.colors)?a=t.globals.fill.colors:a.push(t.globals.fill.colors),void 0!==i.fillColors&&(a=[],Array.isArray(i.fillColors)?a=i.fillColors.slice():a.push(i.fillColors)),a}},{key:"handlePatternFill",value:function(t){var e=t.fillConfig,i=t.patternFill,a=t.fillColor,s=t.fillOpacity,r=t.defaultColor,n=this.w.config.fill;e&&(n=e);var o=this.opts,l=new Mi(this.ctx),h=Array.isArray(n.pattern.strokeWidth)?n.pattern.strokeWidth[this.seriesIndex]:n.pattern.strokeWidth,c=a;Array.isArray(n.pattern.style)?i=void 0!==n.pattern.style[o.seriesNumber]?l.drawPattern(n.pattern.style[o.seriesNumber],n.pattern.width,n.pattern.height,c,h,s):r:i=l.drawPattern(n.pattern.style,n.pattern.width,n.pattern.height,c,h,s);return i}},{key:"handleGradientFill",value:function(t){var e=t.type,i=t.fillColor,a=t.fillOpacity,s=t.fillConfig,r=t.colorStops,n=t.i,o=this.w.config.fill;s&&(o=u(u({},o),s));var l=this.opts,h=new Mi(this.ctx),c=new v;e=e||o.gradient.type;var d,g=i,p=void 0===o.gradient.opacityFrom?a:Array.isArray(o.gradient.opacityFrom)?o.gradient.opacityFrom[n]:o.gradient.opacityFrom;g.indexOf("rgba")>-1&&(p=v.getOpacityFromRGBA(g));var f=void 0===o.gradient.opacityTo?a:Array.isArray(o.gradient.opacityTo)?o.gradient.opacityTo[n]:o.gradient.opacityTo;if(void 0===o.gradient.gradientToColors||0===o.gradient.gradientToColors.length)d="dark"===o.gradient.shade?c.shadeColor(-1*parseFloat(o.gradient.shadeIntensity),i.indexOf("rgb")>-1?v.rgb2hex(i):i):c.shadeColor(parseFloat(o.gradient.shadeIntensity),i.indexOf("rgb")>-1?v.rgb2hex(i):i);else if(o.gradient.gradientToColors[l.seriesNumber]){var x=o.gradient.gradientToColors[l.seriesNumber];d=x,x.indexOf("rgba")>-1&&(f=v.getOpacityFromRGBA(x))}else d=i;if(o.gradient.gradientFrom&&(g=o.gradient.gradientFrom),o.gradient.gradientTo&&(d=o.gradient.gradientTo),o.gradient.inverseColors){var b=g;g=d,d=b}return g.indexOf("rgb")>-1&&(g=v.rgb2hex(g)),d.indexOf("rgb")>-1&&(d=v.rgb2hex(d)),h.drawGradient(e,g,d,p,f,l.size,o.gradient.stops,r,n)}}]),t}(),Vi=function(){function t(e,a){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"setGlobalMarkerSize",value:function(){var t=this.w;if(t.globals.markers.size=Array.isArray(t.config.markers.size)?t.config.markers.size:[t.config.markers.size],t.globals.markers.size.length>0){if(t.globals.markers.size.length<t.globals.series.length+1)for(var e=0;e<=t.globals.series.length;e++)void 0===t.globals.markers.size[e]&&t.globals.markers.size.push(t.globals.markers.size[0])}else t.globals.markers.size=t.config.series.map((function(e){return t.config.markers.size}))}},{key:"plotChartMarkers",value:function(t){var e=t.pointsPos,i=t.seriesIndex,a=t.j,s=t.pSize,r=t.alwaysDrawMarker,n=void 0!==r&&r,o=t.isVirtualPoint,l=void 0!==o&&o,h=this.w,c=i,d=e,u=null,g=new Mi(this.ctx),p=h.config.markers.discrete&&h.config.markers.discrete.length;if(Array.isArray(d.x))for(var f=0;f<d.x.length;f++){var x=void 0,b=a,m=!v.isNumber(d.y[f]);0===h.globals.markers.largestSize&&h.globals.hasNullValues&&null!==h.globals.series[c][a+1]&&!l&&(m=!0),1===a&&0===f&&(b=0),1===a&&1===f&&(b=1);var y="apexcharts-marker";if("line"!==h.config.chart.type&&"area"!==h.config.chart.type||h.globals.comboCharts||h.config.tooltip.intersect||(y+=" no-pointer-events"),(Array.isArray(h.config.markers.size)?h.globals.markers.size[i]>0:h.config.markers.size>0)||n||p){m||(y+=" w".concat(v.randomId()));var w=this.getMarkerConfig({cssClass:y,seriesIndex:i,dataPointIndex:b});if(h.config.series[c].data[b]&&(h.config.series[c].data[b].fillColor&&(w.pointFillColor=h.config.series[c].data[b].fillColor),h.config.series[c].data[b].strokeColor&&(w.pointStrokeColor=h.config.series[c].data[b].strokeColor)),void 0!==s&&(w.pSize=s),(d.x[f]<-h.globals.markers.largestSize||d.x[f]>h.globals.gridWidth+h.globals.markers.largestSize||d.y[f]<-h.globals.markers.largestSize||d.y[f]>h.globals.gridHeight+h.globals.markers.largestSize)&&(w.pSize=0),!m)(h.globals.markers.size[i]>0||n||p)&&!u&&(u=g.group({class:n||p?"":"apexcharts-series-markers"})).attr("clip-path","url(#gridRectMarkerMask".concat(h.globals.cuid,")")),(x=g.drawMarker(d.x[f],d.y[f],w)).attr("rel",b),x.attr("j",b),x.attr("index",i),x.node.setAttribute("default-marker-size",w.pSize),new Li(this.ctx).setSelectionFilter(x,i,b),this.addEvents(x),u&&u.add(x)}else void 0===h.globals.pointsArray[i]&&(h.globals.pointsArray[i]=[]),h.globals.pointsArray[i].push([d.x[f],d.y[f]])}return u}},{key:"getMarkerConfig",value:function(t){var e=t.cssClass,i=t.seriesIndex,a=t.dataPointIndex,s=void 0===a?null:a,r=t.radius,n=void 0===r?null:r,o=t.size,l=void 0===o?null:o,h=t.strokeWidth,c=void 0===h?null:h,d=this.w,u=this.getMarkerStyle(i),g=null===l?d.globals.markers.size[i]:l,p=d.config.markers;return null!==s&&p.discrete.length&&p.discrete.map((function(t){t.seriesIndex===i&&t.dataPointIndex===s&&(u.pointStrokeColor=t.strokeColor,u.pointFillColor=t.fillColor,g=t.size,u.pointShape=t.shape)})),{pSize:null===n?g:n,pRadius:null!==n?n:p.radius,pointStrokeWidth:null!==c?c:Array.isArray(p.strokeWidth)?p.strokeWidth[i]:p.strokeWidth,pointStrokeColor:u.pointStrokeColor,pointFillColor:u.pointFillColor,shape:u.pointShape||(Array.isArray(p.shape)?p.shape[i]:p.shape),class:e,pointStrokeOpacity:Array.isArray(p.strokeOpacity)?p.strokeOpacity[i]:p.strokeOpacity,pointStrokeDashArray:Array.isArray(p.strokeDashArray)?p.strokeDashArray[i]:p.strokeDashArray,pointFillOpacity:Array.isArray(p.fillOpacity)?p.fillOpacity[i]:p.fillOpacity,seriesIndex:i}}},{key:"addEvents",value:function(t){var e=this.w,i=new Mi(this.ctx);t.node.addEventListener("mouseenter",i.pathMouseEnter.bind(this.ctx,t)),t.node.addEventListener("mouseleave",i.pathMouseLeave.bind(this.ctx,t)),t.node.addEventListener("mousedown",i.pathMouseDown.bind(this.ctx,t)),t.node.addEventListener("click",e.config.markers.onClick),t.node.addEventListener("dblclick",e.config.markers.onDblClick),t.node.addEventListener("touchstart",i.pathMouseDown.bind(this.ctx,t),{passive:!0})}},{key:"getMarkerStyle",value:function(t){var e=this.w,i=e.globals.markers.colors,a=e.config.markers.strokeColor||e.config.markers.strokeColors;return{pointStrokeColor:Array.isArray(a)?a[t]:a,pointFillColor:Array.isArray(i)?i[t]:i}}}]),t}(),Ui=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.initialAnim=this.w.config.chart.animations.enabled}return s(t,[{key:"draw",value:function(t,e,i){var a=this.w,s=new Mi(this.ctx),r=i.realIndex,n=i.pointsPos,o=i.zRatio,l=i.elParent,h=s.group({class:"apexcharts-series-markers apexcharts-series-".concat(a.config.chart.type)});if(h.attr("clip-path","url(#gridRectMarkerMask".concat(a.globals.cuid,")")),Array.isArray(n.x))for(var c=0;c<n.x.length;c++){var d=e+1,u=!0;0===e&&0===c&&(d=0),0===e&&1===c&&(d=1);var g=a.globals.markers.size[r];if(o!==1/0){var p=a.config.plotOptions.bubble;g=a.globals.seriesZ[r][d],p.zScaling&&(g/=o),p.minBubbleRadius&&g<p.minBubbleRadius&&(g=p.minBubbleRadius),p.maxBubbleRadius&&g>p.maxBubbleRadius&&(g=p.maxBubbleRadius)}var f=n.x[c],x=n.y[c];if(g=g||0,null!==x&&void 0!==a.globals.series[r][d]||(u=!1),u){var b=this.drawPoint(f,x,g,r,d,e);h.add(b)}l.add(h)}}},{key:"drawPoint",value:function(t,e,i,a,s,r){var n=this.w,o=a,l=new y(this.ctx),h=new Li(this.ctx),c=new ji(this.ctx),d=new Vi(this.ctx),u=new Mi(this.ctx),g=d.getMarkerConfig({cssClass:"apexcharts-marker",seriesIndex:o,dataPointIndex:s,radius:"bubble"===n.config.chart.type||n.globals.comboCharts&&n.config.series[a]&&"bubble"===n.config.series[a].type?i:null}),p=c.fillPath({seriesNumber:a,dataPointIndex:s,color:g.pointFillColor,patternUnits:"objectBoundingBox",value:n.globals.series[a][r]}),f=u.drawMarker(t,e,g);if(n.config.series[o].data[s]&&n.config.series[o].data[s].fillColor&&(p=n.config.series[o].data[s].fillColor),f.attr({fill:p}),n.config.chart.dropShadow.enabled){var x=n.config.chart.dropShadow;h.dropShadow(f,x,a)}if(!this.initialAnim||n.globals.dataChanged||n.globals.resized)n.globals.animationEnded=!0;else{var b=n.config.chart.animations.speed;l.animateMarker(f,b,n.globals.easing,(function(){window.setTimeout((function(){l.animationCompleted(f)}),100)}))}return f.attr({rel:s,j:s,index:a,"default-marker-size":g.pSize}),h.setSelectionFilter(f,a,s),d.addEvents(f),f.node.classList.add("apexcharts-marker"),f}},{key:"centerTextInBubble",value:function(t){var e=this.w;return{y:t+=parseInt(e.config.dataLabels.style.fontSize,10)/4}}}]),t}(),qi=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"dataLabelsCorrection",value:function(t,e,i,a,s,r,n){var o=this.w,l=!1,h=new Mi(this.ctx).getTextRects(i,n),c=h.width,d=h.height;e<0&&(e=0),e>o.globals.gridHeight+d&&(e=o.globals.gridHeight+d/2),void 0===o.globals.dataLabelsRects[a]&&(o.globals.dataLabelsRects[a]=[]),o.globals.dataLabelsRects[a].push({x:t,y:e,width:c,height:d});var u=o.globals.dataLabelsRects[a].length-2,g=void 0!==o.globals.lastDrawnDataLabelsIndexes[a]?o.globals.lastDrawnDataLabelsIndexes[a][o.globals.lastDrawnDataLabelsIndexes[a].length-1]:0;if(void 0!==o.globals.dataLabelsRects[a][u]){var p=o.globals.dataLabelsRects[a][g];(t>p.x+p.width||e>p.y+p.height||e+d<p.y||t+c<p.x)&&(l=!0)}return(0===s||r)&&(l=!0),{x:t,y:e,textRects:h,drawnextLabel:l}}},{key:"drawDataLabel",value:function(t){var e=this,i=t.type,a=t.pos,s=t.i,r=t.j,n=t.isRangeStart,o=t.strokeWidth,l=void 0===o?2:o,h=this.w,c=new Mi(this.ctx),d=h.config.dataLabels,u=0,g=0,p=r,f=null;if(-1!==h.globals.collapsedSeriesIndices.indexOf(s)||!d.enabled||!Array.isArray(a.x))return f;f=c.group({class:"apexcharts-data-labels"});for(var x=0;x<a.x.length;x++)if(u=a.x[x]+d.offsetX,g=a.y[x]+d.offsetY+l,!isNaN(u)){1===r&&0===x&&(p=0),1===r&&1===x&&(p=1);var b=h.globals.series[s][p];"rangeArea"===i&&(b=n?h.globals.seriesRangeStart[s][p]:h.globals.seriesRangeEnd[s][p]);var m="",v=function(t){return h.config.dataLabels.formatter(t,{ctx:e.ctx,seriesIndex:s,dataPointIndex:p,w:h})};if("bubble"===h.config.chart.type)m=v(b=h.globals.seriesZ[s][p]),g=a.y[x],g=new Ui(this.ctx).centerTextInBubble(g,s,p).y;else void 0!==b&&(m=v(b));var y=h.config.dataLabels.textAnchor;h.globals.isSlopeChart&&(y=0===p?"end":p===h.config.series[s].data.length-1?"start":"middle"),this.plotDataLabelsText({x:u,y:g,text:m,i:s,j:p,parent:f,offsetCorrection:!0,dataLabelsConfig:h.config.dataLabels,textAnchor:y})}return f}},{key:"plotDataLabelsText",value:function(t){var e=this.w,i=new Mi(this.ctx),a=t.x,s=t.y,r=t.i,n=t.j,o=t.text,l=t.textAnchor,h=t.fontSize,c=t.parent,d=t.dataLabelsConfig,u=t.color,g=t.alwaysDrawDataLabel,p=t.offsetCorrection,f=t.className,x=null;if(Array.isArray(e.config.dataLabels.enabledOnSeries)&&e.config.dataLabels.enabledOnSeries.indexOf(r)<0)return x;var b={x:a,y:s,drawnextLabel:!0,textRects:null};p&&(b=this.dataLabelsCorrection(a,s,o,r,n,g,parseInt(d.style.fontSize,10))),e.globals.zoomed||(a=b.x,s=b.y),b.textRects&&(a<-20-b.textRects.width||a>e.globals.gridWidth+b.textRects.width+30)&&(o="");var m=e.globals.dataLabels.style.colors[r];(("bar"===e.config.chart.type||"rangeBar"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||e.config.dataLabels.distributed)&&(m=e.globals.dataLabels.style.colors[n]),"function"==typeof m&&(m=m({series:e.globals.series,seriesIndex:r,dataPointIndex:n,w:e})),u&&(m=u);var v=d.offsetX,y=d.offsetY;if("bar"!==e.config.chart.type&&"rangeBar"!==e.config.chart.type||(v=0,y=0),e.globals.isSlopeChart&&(0!==n&&(v=-2*d.offsetX+5),0!==n&&n!==e.config.series[r].data.length-1&&(v=0)),b.drawnextLabel){if((x=i.drawText({width:100,height:parseInt(d.style.fontSize,10),x:a+v,y:s+y,foreColor:m,textAnchor:l||d.textAnchor,text:o,fontSize:h||d.style.fontSize,fontFamily:d.style.fontFamily,fontWeight:d.style.fontWeight||"normal"})).attr({class:f||"apexcharts-datalabel",cx:a,cy:s}),d.dropShadow.enabled){var w=d.dropShadow;new Li(this.ctx).dropShadow(x,w)}c.add(x),void 0===e.globals.lastDrawnDataLabelsIndexes[r]&&(e.globals.lastDrawnDataLabelsIndexes[r]=[]),e.globals.lastDrawnDataLabelsIndexes[r].push(n)}return x}}
vendor: 4,829 bytes, line 46395
46395,{key:"addBackgroundToDataLabel",value:function(t,e){var i=this.w,a=i.config.dataLabels.background,s=a.padding,r=a.padding/2,n=e.width,o=e.height,l=new Mi(this.ctx).drawRect(e.x-s,e.y-r/2,n+2*s,o+r,a.borderRadius,"transparent"!==i.config.chart.background&&i.config.chart.background?i.config.chart.background:"#fff",a.opacity,a.borderWidth,a.borderColor);a.dropShadow.enabled&&new Li(this.ctx).dropShadow(l,a.dropShadow);return l}},{key:"dataLabelsBackground",value:function(){var t=this.w;if("bubble"!==t.config.chart.type)for(var e=t.globals.dom.baseEl.querySelectorAll(".apexcharts-datalabels text"),i=0;i<e.length;i++){var a=e[i],s=a.getBBox(),r=null;if(s.width&&s.height&&(r=this.addBackgroundToDataLabel(a,s)),r){a.parentNode.insertBefore(r.node,a);var n=t.config.dataLabels.background.backgroundColor||a.getAttribute("fill");t.config.chart.animations.enabled&&!t.globals.resized&&!t.globals.dataChanged?r.animate().attr({fill:n}):r.attr({fill:n}),a.setAttribute("fill",t.config.dataLabels.background.foreColor)}}}},{key:"bringForward",value:function(){for(var t=this.w,e=t.globals.dom.baseEl.querySelectorAll(".apexcharts-datalabels"),i=t.globals.dom.baseEl.querySelector(".apexcharts-plot-series:last-child"),a=0;a<e.length;a++)i&&i.insertBefore(e[a],i.nextSibling)}}]),t}(),Zi=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.legendInactiveClass="legend-mouseover-inactive"}return s(t,[{key:"getAllSeriesEls",value:function(){return this.w.globals.dom.baseEl.getElementsByClassName("apexcharts-series")}},{key:"getSeriesByName",value:function(t){return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner .apexcharts-series[seriesName='".concat(v.escapeString(t),"']"))}},{key:"isSeriesHidden",value:function(t){var e=this.getSeriesByName(t),i=parseInt(e.getAttribute("data:realIndex"),10);return{isHidden:e.classList.contains("apexcharts-series-collapsed"),realIndex:i}}},{key:"addCollapsedClassToSeries",value:function(t,e){var i=this.w;function a(i){for(var a=0;a<i.length;a++)i[a].index===e&&t.node.classList.add("apexcharts-series-collapsed")}a(i.globals.collapsedSeries),a(i.globals.ancillaryCollapsedSeries)}},{key:"toggleSeries",value:function(t){var e=this.isSeriesHidden(t);return this.ctx.legend.legendHelpers.toggleDataSeries(e.realIndex,e.isHidden),e.isHidden}},{key:"showSeries",value:function(t){var e=this.isSeriesHidden(t);e.isHidden&&this.ctx.legend.legendHelpers.toggleDataSeries(e.realIndex,!0)}},{key:"hideSeries",value:function(t){var e=this.isSeriesHidden(t);e.isHidden||this.ctx.legend.legendHelpers.toggleDataSeries(e.realIndex,!1)}},{key:"resetSeries",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w,s=v.clone(a.globals.initialSeries);a.globals.previousPaths=[],i?(a.globals.collapsedSeries=[],a.globals.ancillaryCollapsedSeries=[],a.globals.collapsedSeriesIndices=[],a.globals.ancillaryCollapsedSeriesIndices=[]):s=this.emptyCollapsedSeries(s),a.config.series=s,t&&(e&&(a.globals.zoomed=!1,this.ctx.updateHelpers.revertDefaultAxisMinMax()),this.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled))}},{key:"emptyCollapsedSeries",value:function(t){for(var e=this.w,i=0;i<t.length;i++)e.globals.collapsedSeriesIndices.indexOf(i)>-1&&(t[i].data=[]);return t}},{key:"highlightSeries",value:function(t){var e=this.w,i=this.getSeriesByName(t),a=parseInt(null==i?void 0:i.getAttribute("data:realIndex"),10),s=e.globals.dom.baseEl.querySelectorAll(".apexcharts-series, .apexcharts-datalabels, .apexcharts-yaxis"),r=null,n=null,o=null;if(e.globals.axisCharts||"radialBar"===e.config.chart.type)if(e.globals.axisCharts){r=e.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(a,"']")),n=e.globals.dom.baseEl.querySelector(".apexcharts-datalabels[data\\:realIndex='".concat(a,"']"));var l=e.globals.seriesYAxisReverseMap[a];o=e.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(l,"']"))}else r=e.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(a+1,"']"));else r=e.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(a+1,"'] path"));for(var h=0;h<s.length;h++)s[h].classList.add(this.legendInactiveClass);if(r)e.globals.axisCharts||r.parentNode.classList.remove(this.legendInactiveClass),r.classList.remove(this.legendInactiveClass),null!==n&&n.classList.remove(this.legendInactiveClass),null!==o&&o.classList.remove(this.legendInactiveClass);else for(var c=0;c<s.length;c++)s[c].classList.remove(this.legendInactiveClass)}},{key:"toggleSeriesOnHover",value:function(t,e){var i=this.w;e||(e=t.target);var a=i.globals.dom.baseEl.querySelectorAll(".apexcharts-series, .apexcharts-datalabels, .apexcharts-yaxis");
vendor: 7,934 bytes, line 46395
46395if("mousemove"===t.type){var s=parseInt(e.getAttribute("rel"),10)-1;this.highlightSeries(i.globals.seriesNames[s])}else if("mouseout"===t.type)for(var r=0;r<a.length;r++)a[r].classList.remove(this.legendInactiveClass)}},{key:"highlightRangeInSeries",value:function(t,e){var i=this,a=this.w,s=a.globals.dom.baseEl.getElementsByClassName("apexcharts-heatmap-rect"),r=function(t){for(var e=0;e<s.length;e++)s[e].classList[t](i.legendInactiveClass)};if("mousemove"===t.type){var n=parseInt(e.getAttribute("rel"),10)-1;r("add");var o=a.config.plotOptions.heatmap.colorScale.ranges;!function(t,e){for(var a=0;a<s.length;a++){var r=Number(s[a].getAttribute("val"));r>=t.from&&(r<t.to||t.to===e&&r===e)&&s[a].classList.remove(i.legendInactiveClass)}}(o[n],o.reduce((function(t,e){return Math.max(t,e.to)}),0))}else"mouseout"===t.type&&r("remove")}},{key:"getActiveConfigSeriesIndex",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"asc",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=this.w,a=0;if(i.config.series.length>1)for(var s=i.config.series.map((function(t,a){return t.data&&t.data.length>0&&-1===i.globals.collapsedSeriesIndices.indexOf(a)&&(!i.globals.comboCharts||0===e.length||e.length&&e.indexOf(i.config.series[a].type)>-1)?a:-1})),r="asc"===t?0:s.length-1;"asc"===t?r<s.length:r>=0;"asc"===t?r++:r--)if(-1!==s[r]){a=s[r];break}return a}},{key:"getBarSeriesIndices",value:function(){return this.w.globals.comboCharts?this.w.config.series.map((function(t,e){return"bar"===t.type||"column"===t.type?e:-1})).filter((function(t){return-1!==t})):this.w.config.series.map((function(t,e){return e}))}},{key:"getPreviousPaths",value:function(){var t=this.w;function e(e,i,a){for(var s=e[i].childNodes,r={type:a,paths:[],realIndex:e[i].getAttribute("data:realIndex")},n=0;n<s.length;n++)if(s[n].hasAttribute("pathTo")){var o=s[n].getAttribute("pathTo");r.paths.push({d:o})}t.globals.previousPaths.push(r)}t.globals.previousPaths=[];["line","area","bar","rangebar","rangeArea","candlestick","radar"].forEach((function(i){for(var a,s=(a=i,t.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(a,"-series .apexcharts-series"))),r=0;r<s.length;r++)e(s,r,i)}));var i=t.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(t.config.chart.type," .apexcharts-series"));if(i.length>0)for(var a=function(e){for(var i=t.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(t.config.chart.type," .apexcharts-series[data\\:realIndex='").concat(e,"'] rect")),a=[],s=function(t){var e=function(e){return i[t].getAttribute(e)},s={x:parseFloat(e("x")),y:parseFloat(e("y")),width:parseFloat(e("width")),height:parseFloat(e("height"))};a.push({rect:s,color:i[t].getAttribute("color")})},r=0;r<i.length;r++)s(r);t.globals.previousPaths.push(a)},s=0;s<i.length;s++)a(s);t.globals.axisCharts||(t.globals.previousPaths=t.globals.series)}},{key:"clearPreviousPaths",value:function(){var t=this.w;t.globals.previousPaths=[],t.globals.allSeriesCollapsed=!1}},{key:"handleNoData",value:function(){var t=this.w,e=t.config.noData,i=new Mi(this.ctx),a=t.globals.svgWidth/2,s=t.globals.svgHeight/2,r="middle";if(t.globals.noData=!0,t.globals.animationEnded=!0,"left"===e.align?(a=10,r="start"):"right"===e.align&&(a=t.globals.svgWidth-10,r="end"),"top"===e.verticalAlign?s=50:"bottom"===e.verticalAlign&&(s=t.globals.svgHeight-50),a+=e.offsetX,s=s+parseInt(e.style.fontSize,10)+2+e.offsetY,void 0!==e.text&&""!==e.text){var n=i.drawText({x:a,y:s,text:e.text,textAnchor:r,fontSize:e.style.fontSize,fontFamily:e.style.fontFamily,foreColor:e.style.color,opacity:1,class:"apexcharts-text-nodata"});t.globals.dom.Paper.add(n)}}},{key:"setNullSeriesToZeroValues",value:function(t){for(var e=this.w,i=0;i<t.length;i++)if(0===t[i].length)for(var a=0;a<t[e.globals.maxValsInArrayIndex].length;a++)t[i].push(0);return t}},{key:"hasAllSeriesEqualX",value:function(){for(var t=!0,e=this.w,i=this.filteredSeriesX(),a=0;a<i.length-1;a++)if(i[a][0]!==i[a+1][0]){t=!1;break}return e.globals.allSeriesHasEqualX=t,t}},{key:"filteredSeriesX",value:function(){var t=this.w.globals.seriesX.map((function(t){return t.length>0?t:[]}));return t}}]),t}(),$i=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.twoDSeries=[],this.threeDSeries=[],this.twoDSeriesX=[],this.seriesGoals=[],this.coreUtils=new Pi(this.ctx)}return s(t,[{key:"isMultiFormat",value:function(){return this.isFormatXY()||this.isFormat2DArray()}},{key:"isFormatXY",value:function(){var t=this.w.config.series.slice(),e=new Zi(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&null!==t[this.activeSeriesIndex].data[0]&&void 0!==t[this.activeSeriesIndex].data[0].x&&null!==t[this.activeSeriesIndex].data[0])return!0}},{key:"isFormat2DArray",value:function(){var t=this.w.config.series.slice(),e=new Zi(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&void 0!==t[this.activeSeriesIndex].data[0]&&null!==t[this.activeSeriesIndex].data[0]&&t[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:"handleFormat2DArray",value:function(t,e){for(var i=this.w.config,a=this.w.globals,s="boxPlot"===i.chart.type||"boxPlot"===i.series[e].type,r=0;r<t[e].data.length;r++)if(void 0!==t[e].data[r][1]&&(Array.isArray(t[e].data[r][1])&&4===t[e].data[r][1].length&&!s?this.twoDSeries.push(v.parseNumber(t[e].data[r][1][3])):t[e].data[r].length>=5?this.twoDSeries.push(v.parseNumber(t[e].data[r][4])):this.twoDSeries.push(v.parseNumber(t[e].data[r][1])),a.dataFormatXNumeric=!0),"datetime"===i.xaxis.type){var n=new Date(t[e].data[r][0]);n=new Date(n).getTime(),this.twoDSeriesX.push(n)}else this.twoDSeriesX.push(t[e].data[r][0]);for(var o=0;o<t[e].data.length;o++)void 0!==t[e].data[o][2]&&(this.threeDSeries.push(t[e].data[o][2]),a.isDataXYZ=!0)}},{key:"handleFormatXY",value:function(t,e){var i=this.w.config,a=this.w.globals,s=new zi(this.ctx),r=e;a.collapsedSeriesIndices.indexOf(e)>-1&&(r=this.activeSeriesIndex);for(var n=0;n<t[e].data.length;n++)void 0!==t[e].data[n].y&&(Array.isArray(t[e].data[n].y)?this.twoDSeries.push(v.parseNumber(t[e].data[n].y[t[e].data[n].y.length-1])):this.twoDSeries.push(v.parseNumber(t[e].data[n].y))),void 0!==t[e].data[n].goals&&Array.isArray(t[e].data[n].goals)?(void 0===this.seriesGoals[e]&&(this.seriesGoals[e]=[]),this.seriesGoals[e].push(t[e].data[n].goals)):(void 0===this.seriesGoals[e]&&(this.seriesGoals[e]=[]),this.seriesGoals[e].push(null));for(var o=0;o<t[r].data.length;o++){var l="string"==typeof t[r].data[o].x,h=Array.isArray(t[r].data[o].x),c=!h&&!!s.isValidDate(t[r].data[o].x);if(l||c)if(l||i.xaxis.convertedCatToNumeric){var d=a.isBarHorizontal&&a.isRangeData;"datetime"!==i.xaxis.type||d?(this.fallbackToCategory=!0,this.twoDSeriesX.push(t[r].data[o].x),isNaN(t[r].data[o].x)||"category"===this.w.config.xaxis.type||"string"==typeof t[r].data[o].x||(a.isXNumeric=!0)):this.twoDSeriesX.push(s.parseDate(t[r].data[o].x))}else"datetime"===i.xaxis.type?this.twoDSeriesX.push(s.parseDate(t[r].data[o].x.toString())):(a.dataFormatXNumeric=!0,a.isXNumeric=!0,this.twoDSeriesX.push(parseFloat(t[r].data[o].x)));else h?(this.fallbackToCategory=!0,this.twoDSeriesX.push(t[r].data[o].x)):(a.isXNumeric=!0,a.dataFormatXNumeric=!0,this.twoDSeriesX.push(t[r].data[o].x))}if(t[e].data[0]&&void 0!==t[e].data[0].z){for(var u=0;u<t[e].data.length;u++)this.threeDSeries.push(t[e].data[u].z);a.isDataXYZ=!0}}},{key:"handleRangeData",value:function(t,e){var i=this.w.globals,a={};return this.isFormat2DArray()?a=this.handleRangeDataFormat("array",t,e):this.isFormatXY()&&(a=this.handleRangeDataFormat("xy",t,e)),i.seriesRangeStart[e]=void 0===a.start?[]:a.start,i.seriesRangeEnd[e]=void 0===a.end?[]:a.end,i.seriesRange[e]=a.rangeUniques,i.seriesRange.forEach((function(t,e){t&&t.forEach((function(t,e){t.y.forEac
vendor: 4,554 bytes, line 46395
46395h((function(e,i){for(var a=0;a<t.y.length;a++)if(i!==a){var s=e.y1,r=e.y2,n=t.y[a].y1;s<=t.y[a].y2&&n<=r&&(t.overlaps.indexOf(e.rangeName)<0&&t.overlaps.push(e.rangeName),t.overlaps.indexOf(t.y[a].rangeName)<0&&t.overlaps.push(t.y[a].rangeName))}}))}))})),a}},{key:"handleCandleStickBoxData",value:function(t,e){var i=this.w.globals,a={};return this.isFormat2DArray()?a=this.handleCandleStickBoxDataFormat("array",t,e):this.isFormatXY()&&(a=this.handleCandleStickBoxDataFormat("xy",t,e)),i.seriesCandleO[e]=a.o,i.seriesCandleH[e]=a.h,i.seriesCandleM[e]=a.m,i.seriesCandleL[e]=a.l,i.seriesCandleC[e]=a.c,a}},{key:"handleRangeDataFormat",value:function(t,e,i){var a=[],s=[],r=e[i].data.filter((function(t,e,i){return e===i.findIndex((function(e){return e.x===t.x}))})).map((function(t,e){return{x:t.x,overlaps:[],y:[]}}));if("array"===t)for(var n=0;n<e[i].data.length;n++)Array.isArray(e[i].data[n])?(a.push(e[i].data[n][1][0]),s.push(e[i].data[n][1][1])):(a.push(e[i].data[n]),s.push(e[i].data[n]));else if("xy"===t)for(var o=function(t){var n=Array.isArray(e[i].data[t].y),o=v.randomId(),l=e[i].data[t].x,h={y1:n?e[i].data[t].y[0]:e[i].data[t].y,y2:n?e[i].data[t].y[1]:e[i].data[t].y,rangeName:o};e[i].data[t].rangeName=o;var c=r.findIndex((function(t){return t.x===l}));r[c].y.push(h),a.push(h.y1),s.push(h.y2)},l=0;l<e[i].data.length;l++)o(l);return{start:a,end:s,rangeUniques:r}}},{key:"handleCandleStickBoxDataFormat",value:function(t,e,i){var a=this.w,s="boxPlot"===a.config.chart.type||"boxPlot"===a.config.series[i].type,r=[],n=[],o=[],l=[],h=[];if("array"===t)if(s&&6===e[i].data[0].length||!s&&5===e[i].data[0].length)for(var c=0;c<e[i].data.length;c++)r.push(e[i].data[c][1]),n.push(e[i].data[c][2]),s?(o.push(e[i].data[c][3]),l.push(e[i].data[c][4]),h.push(e[i].data[c][5])):(l.push(e[i].data[c][3]),h.push(e[i].data[c][4]));else for(var d=0;d<e[i].data.length;d++)Array.isArray(e[i].data[d][1])&&(r.push(e[i].data[d][1][0]),n.push(e[i].data[d][1][1]),s?(o.push(e[i].data[d][1][2]),l.push(e[i].data[d][1][3]),h.push(e[i].data[d][1][4])):(l.push(e[i].data[d][1][2]),h.push(e[i].data[d][1][3])));else if("xy"===t)for(var u=0;u<e[i].data.length;u++)Array.isArray(e[i].data[u].y)&&(r.push(e[i].data[u].y[0]),n.push(e[i].data[u].y[1]),s?(o.push(e[i].data[u].y[2]),l.push(e[i].data[u].y[3]),h.push(e[i].data[u].y[4])):(l.push(e[i].data[u].y[2]),h.push(e[i].data[u].y[3])));return{o:r,h:n,m:o,l:l,c:h}}},{key:"parseDataAxisCharts",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.ctx,a=this.w.config,s=this.w.globals,r=new zi(i),n=a.labels.length>0?a.labels.slice():a.xaxis.categories.slice();s.isRangeBar="rangeBar"===a.chart.type&&s.isBarHorizontal,s.hasXaxisGroups="category"===a.xaxis.type&&a.xaxis.group.groups.length>0,s.hasXaxisGroups&&(s.groups=a.xaxis.group.groups),t.forEach((function(t,e){void 0!==t.name?s.seriesNames.push(t.name):s.seriesNames.push("series-"+parseInt(e+1,10))})),this.coreUtils.setSeriesYAxisMappings();var o=[],l=f(new Set(a.series.map((function(t){return t.group}))));a.series.forEach((function(t,e){var i=l.indexOf(t.group);o[i]||(o[i]=[]),o[i].push(s.seriesNames[e])})),s.seriesGroups=o;for(var h=function(){for(var t=0;t<n.length;t++)if("string"==typeof n[t]){if(!r.isValidDate(n[t]))throw new Error("You have provided invalid Date format. Please provide a valid JavaScript Date");e.twoDSeriesX.push(r.parseDate(n[t]))}else e.twoDSeriesX.push(n[t])},c=0;c<t.length;c++){if(this.twoDSeries=[],this.twoDSeriesX=[],this.threeDSeries=[],void 0===t[c].data)return void console.error("It is a possibility that you may have not included 'data' property in series.");if("rangeBar"!==a.chart.type&&"rangeArea"!==a.chart.type&&"rangeBar"!==t[c].type&&"rangeArea"!==t[c].type||(s.isRangeData=!0,this.handleRangeData(t,c)),this.isMultiFormat())this.isFormat2DArray()?this.handleFormat2DArray(t,c):this.isFormatXY()&&this.handleFormatXY(t,c),"candlestick"!==a.chart.type&&"candlestick"!==t[c].type&&"boxPlot"!==a.chart.type&&"boxPlot"!==t[c].type||this.handleCandleStickBoxData(t,c),s.series.push(this.twoDSeries),s.labels.push(this.twoDSeriesX),s.seriesX.push(this.twoDSeriesX),s.seriesGoals=this.seriesGoals,c!==this.activeSeriesIndex||this.fallbackToCategory||(s.isXNumeric=!0);else{"datetime"===a.xaxis.type?(s.isXNumeric=!0,h(),s.seriesX.push(this.twoDSeriesX)):"numeric"===a.xaxis.type&&(s.isXNumeric=!0,n.length>0&&(this.twoDSeriesX=n,s.seriesX.push(this.twoDSeriesX))),s.labels.push(this.twoDSeriesX);var d=t[c].data.map((function(t){return v.parseNumber(t)}));s.series.push(d)}
vendor: 5,264 bytes, line 46395
46395s.seriesZ.push(this.threeDSeries),void 0!==t[c].color?s.seriesColors.push(t[c].color):s.seriesColors.push(void 0)}return this.w}},{key:"parseDataNonAxisCharts",value:function(t){var e=this.w.globals,i=this.w.config;e.series=t.slice(),e.seriesNames=i.labels.slice();for(var a=0;a<e.series.length;a++)void 0===e.seriesNames[a]&&e.seriesNames.push("series-"+(a+1));return this.w}},{key:"handleExternalLabelsData",value:function(t){var e=this.w.config,i=this.w.globals;if(e.xaxis.categories.length>0)i.labels=e.xaxis.categories;else if(e.labels.length>0)i.labels=e.labels.slice();else if(this.fallbackToCategory){if(i.labels=i.labels[0],i.seriesRange.length&&(i.seriesRange.map((function(t){t.forEach((function(t){i.labels.indexOf(t.x)<0&&t.x&&i.labels.push(t.x)}))})),i.labels=Array.from(new Set(i.labels.map(JSON.stringify)),JSON.parse)),e.xaxis.convertedCatToNumeric)new Ni(e).convertCatToNumericXaxis(e,this.ctx,i.seriesX[0]),this._generateExternalLabels(t)}else this._generateExternalLabels(t)}},{key:"_generateExternalLabels",value:function(t){var e=this.w.globals,i=this.w.config,a=[];if(e.axisCharts){if(e.series.length>0)if(this.isFormatXY())for(var s=i.series.map((function(t,e){return t.data.filter((function(t,e,i){return i.findIndex((function(e){return e.x===t.x}))===e}))})),r=s.reduce((function(t,e,i,a){return a[t].length>e.length?t:i}),0),n=0;n<s[r].length;n++)a.push(n+1);else for(var o=0;o<e.series[e.maxValsInArrayIndex].length;o++)a.push(o+1);e.seriesX=[];for(var l=0;l<t.length;l++)e.seriesX.push(a);this.w.globals.isBarHorizontal||(e.isXNumeric=!0)}if(0===a.length){a=e.axisCharts?[]:e.series.map((function(t,e){return e+1}));for(var h=0;h<t.length;h++)e.seriesX.push(a)}e.labels=a,i.xaxis.convertedCatToNumeric&&(e.categoryLabels=a.map((function(t){return i.xaxis.labels.formatter(t)}))),e.noLabelsProvided=!0}},{key:"parseData",value:function(t){var e=this.w,i=e.config,a=e.globals;if(this.excludeCollapsedSeriesInYAxis(),this.fallbackToCategory=!1,this.ctx.core.resetGlobals(),this.ctx.core.isMultipleY(),a.axisCharts?(this.parseDataAxisCharts(t),this.coreUtils.getLargestSeries()):this.parseDataNonAxisCharts(t),i.chart.stacked){var s=new Zi(this.ctx);a.series=s.setNullSeriesToZeroValues(a.series)}this.coreUtils.getSeriesTotals(),a.axisCharts&&(a.stackedSeriesTotals=this.coreUtils.getStackedSeriesTotals(),a.stackedSeriesTotalsByGroups=this.coreUtils.getStackedSeriesTotalsByGroups()),this.coreUtils.getPercentSeries(),a.dataFormatXNumeric||a.isXNumeric&&("numeric"!==i.xaxis.type||0!==i.labels.length||0!==i.xaxis.categories.length)||this.handleExternalLabelsData(t);for(var r=this.coreUtils.getCategoryLabels(a.labels),n=0;n<r.length;n++)if(Array.isArray(r[n])){a.isMultiLineX=!0;break}}},{key:"excludeCollapsedSeriesInYAxis",value:function(){var t=this.w,e=[];t.globals.seriesYAxisMap.forEach((function(i,a){var s=0;i.forEach((function(e){-1!==t.globals.collapsedSeriesIndices.indexOf(e)&&s++})),s>0&&s==i.length&&e.push(a)})),t.globals.ignoreYAxisIndexes=e.map((function(t){return t}))}}]),t}(),Ji=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"svgStringToNode",value:function(t){return(new DOMParser).parseFromString(t,"image/svg+xml").documentElement}},{key:"scaleSvgNode",value:function(t,e){var i=parseFloat(t.getAttributeNS(null,"width")),a=parseFloat(t.getAttributeNS(null,"height"));t.setAttributeNS(null,"width",i*e),t.setAttributeNS(null,"height",a*e),t.setAttributeNS(null,"viewBox","0 0 "+i+" "+a)}},{key:"getSvgString",value:function(t){var e=this;return new Promise((function(i){var a=e.w,s=t||a.config.chart.toolbar.export.scale||a.config.chart.toolbar.export.width/a.globals.svgWidth;s||(s=1);var r=a.globals.svgWidth*s,n=a.globals.svgHeight*s,o=a.globals.dom.elWrap.cloneNode(!0);o.style.width=r+"px",o.style.height=n+"px";var l=(new XMLSerializer).serializeToString(o),h='\n        <svg xmlns="http://www.w3.org/2000/svg"\n          version="1.1"\n          xmlns:xlink="http://www.w3.org/1999/xlink"\n          class="apexcharts-svg"\n          xmlns:data="ApexChartsNS"\n          transform="translate(0, 0)"\n          width="'.concat(a.globals.svgWidth,'px" height="').concat(a.globals.svgHeight,'px">\n          <foreignObject width="100%" height="100%">\n            <div xmlns="http://www.w3.org/1999/xhtml" style="width:').concat(r,"px; height:").concat(n,'px;">\n            <style type="text/css">\n              .apexcharts-tooltip, .apexcharts-toolbar, .apexcharts-xaxistooltip, .apexcharts-yaxistooltip, .apexcharts-xcrosshairs, .apexcharts-ycrosshairs, .apexcharts-zoom-rect, .apexcharts-selection-rect {\n                display: none;\n              }\n            </style>\n              ').concat(l,"\n            </div>\n          </foreignObject>\n        </svg>\n      "),c=e.svgStringToNode(h);1!==s&&e.scaleSvgNode(c,s),e.convertImagesToBase64(c).then((function(){h=(new XMLSerializer).serializeToString(c),i(h.replace(/&nbsp;/g,"&#160;"))}))}))}},{key:"convertImagesToBase64",value:function(t){var e=this,i=t.getElementsByTagName("image"),a=Array.from(i).map((function(t){var i=t.getAttributeNS("http://www.w3.org/1999/xlink","href");return i&&!i.startsWith("data:")?e.getBase64FromUrl(i).then((function(e){t.setAttributeNS("http://www.w3.org/1999/xlink","href",e)}
46395)).catch((function(t){console.error("Error converting image to base64:",t)})):Promise.resolve()}));return Promise.all(a)}},{key:"getBase64FromUrl",value:function(t){return new Promise((function(e,i){var a=new Image;a.crossOrigin="Anonymous",a.onload=function(){var t=document.createElement("canvas");t.width=a.width,t.height=a.height,t.getContext("2d").drawImage(a,0,0),e(t.toDataURL())},a.onerror=i,a.src=t}))}},{key:"svgUrl",value:function(){var t=this;return new Promise((function(e){t.getSvgString().then((function(t){var i=new Blob([t],{type:"image/svg+xml;charset=utf-8"});e(URL.createObjectURL(i))}))}))}},{key:"dataURI",value:function(t){var e=this;return new Promise((function(i){var a=e.w,s=t?t.scale||t.width/a.globals.svgWidth:1,r=document.createElement("canvas");r.width=a.globals.svgWidth*s,r.height=parseInt(a.globals.dom.elWrap.style.height,10)*s;var n="transparent"!==a.config.chart.background&&a.config.chart.background?a.config.chart.background:"#fff",o=r.getContext("2d");o.fillStyle=n,o.fillRect(0,0,r.width*s,r.height*s),e.getSvgString(s).then((function(t){var e="data:image/svg+xml,"+encodeURIComponent(t),a=new Image;a.crossOrigin="anonymous",a.onload=function(){if(o.drawImage(a,0,0),r.msToBlob){var t=r.msToBlob();i({blob:t})}else{var e=r.toDataURL("image/png");i({imgURI:e})}},a.src=e}))}))}},{key:"exportToSVG",value:function(){var t=this;this.svgUrl().then((function(e){t.triggerDownload(e,t.w.config.chart.toolbar.export.svg.filename,".svg")}))}},{key:"exportToPng",value:function(){var t=this,e=this.w.config.chart.toolbar.export.scale,i=this.w.config.chart.toolbar.export.width,a=e?{scale:e}:i?{width:i}:void 0;this.dataURI(a).then((function(e){var i=e.imgURI,a=e.blob;a?navigator.msSaveOrOpenBlob(a,t.w.globals.chartID+".png"):t.triggerDownload(i,t.w.config.chart.toolbar.export.png.filename,".png")}))}},{key:"exportToCSV",value:function(t){var e=this,i=t.series,a=t.fileName,s=t.columnDelimiter,r=void 0===s?",":s,n=t.lineDelimiter,o=void 0===n?"\n":n,l=this.w;i||(i=l.config.series);var h=[],c=[],d="",u=l.globals.series.map((function(t,e){return-1===l.globals.collapsedSeriesIndices.indexOf(e)?t:[]})),g=function(t){return"function"==typeof l.config.chart.toolbar.export.csv.categoryFormatter?l.config.chart.toolbar.export.csv.categoryFormatter(t):"datetime"===l.config.xaxis.type&&String(t).length>=10?new Date(t).toDateString():v.isNumber(t)?t:t.split(r).join("")},p=function(t){return"function"==typeof l.config.chart.toolbar.export.csv.valueFormatter?l.config.chart.toolbar.export.csv.valueFormatter(t):t},x=Math.max.apply(Math,f(i.map((function(t){return t.data?t.data.length:0})))),b=new $i(this.ctx),m=new Ri(this.ctx),y=function(t){var i="";if(l.globals.axisCharts){if("category"===l.config.xaxis.type||l.config.xaxis.convertedCatToNumeric)if(l.globals.isBarHorizontal){var a=l.globals.yLabelFormatters[0],s=new Zi(e.ctx).getActiveConfigSeriesIndex();i=a(l.globals.labels[t],{seriesIndex:s,dataPointIndex:t,w:l})}else i=m.getLabel(l.globals.labels,l.globals.timescaleLabels,0,t).text;"datetime"===l.config.xaxis.type&&(l.config.xaxis.categories.length?i=l.config.xaxis.categories[t]:l.config.labels.length&&(i=l.config.labels[t]))}else i=l.config.labels[t];return null===i?"nullvalue":(Array.isArray(i)&&(i=i.join(" ")),v.isNumber(i)?i:i.split(r).join(""))},w=function(t,e){if(h.length&&0===e&&c.push(h.join(r)),t.data){t.data=t.data.length&&t.data||f(Array(x)).map((function(){return""}));for(var a=0;a<t.data.length;a++){h=[];var s=y(a);if("nullvalue"!==s){if(s||(b.isFormatXY()?s=i[e].data[a].x:b.isFormat2DArray()&&(s=i[e].data[a]?i[e].data[a][0]:"")),0===e){h.push(g(s));for(var n=0;n<l.globals.series.length;n++){var o,d=b.isFormatXY()?null===(o=i[n].data[a])||void 0===o?void 0:o.y:u[n][a];h.push(p(d))}}("candlestick"===l.config.chart.type||t.type&&"candlestick"===t.type)&&(h.pop(),h.push(l.globals.seriesCandleO[e][a]),h.push(l.globals.seriesCandleH[e][a]),h.push(l.globals.seriesCandleL[e][a]),h.push(l.globals.seriesCandleC[e][a])),("boxPlot"===l.config.chart.type||t.type&&"boxPlot"===t.type)&&(h.pop(),h.push(l.globals.seriesCandleO[e][a]),h.push(l.globals.seriesCandleH[e][a]),h.push(l.globals.seriesCandleM[e][a]),h.push(l.globals.seriesCandleL[e][a]),h.push(l.globals.seriesCandleC[e][a])),"rangeBar"===l.config.chart.type&&(h.pop(),h.push(l.globals.seriesRangeStart[e][a]),h.push(l.globals.seriesRangeEnd[e][a])),h.length&&c.push(h.join(r))}}}};h.push(l.config.chart.toolbar.export.csv.headerCategory),"boxPlot"===l.config.chart.type?(h.push("minimum"),h.push("q1"),h.push("median"),h.push("q3"),h.push("maximum")):"candlestick"===l.config.chart.type?(h.push("open"),h.push("high"),h.push("low"),h.push("close")):"rangeBar"===l.config.chart.type?(h.push("minimum"),h.push("maximum")):i.map((function(t,e){var i=(t.name?t.name:"series-".concat(e))+"";l.globals.axisCharts&&h.push(i.split(r).join("")?i.split(r).join(""):"series-".concat(e))})),l.globals.axisCharts||(h.push(l.config.chart.toolbar.export.csv.headerValue),c.push(h.join(r))),l.globals.allSeriesHasEqualX||
vendor: 4,149 bytes, line 46395
46395!l.globals.axisCharts||l.config.xaxis.categories.length||l.config.labels.length?i.map((function(t,e){l.globals.axisCharts?w(t,e):((h=[]).push(g(l.globals.labels[e])),h.push(p(u[e])),c.push(h.join(r)))})):function(){var t=new Set,e={};i.forEach((function(a,s){null==a||a.data.forEach((function(a){var r,n;if(b.isFormatXY())r=a.x,n=a.y;else{if(!b.isFormat2DArray())return;r=a[0],n=a[1]}e[r]||(e[r]=Array(i.length).fill("")),e[r][s]=p(n),t.add(r)}))})),h.length&&c.push(h.join(r)),Array.from(t).sort().forEach((function(t){c.push([g(t),e[t].join(r)])}))}(),d+=c.join(o),this.triggerDownload("data:text/csv; charset=utf-8,"+encodeURIComponent("\ufeff"+d),a||l.config.chart.toolbar.export.csv.filename,".csv")}},{key:"triggerDownload",value:function(t,e,i){var a=document.createElement("a");a.href=t,a.download=(e||this.w.globals.chartID)+i,document.body.appendChild(a),a.click(),document.body.removeChild(a)}}]),t}(),Qi=function(){function t(e,a){i(this,t),this.ctx=e,this.elgrid=a,this.w=e.w;var s=this.w;this.axesUtils=new Ri(e),this.xaxisLabels=s.globals.labels.slice(),s.globals.timescaleLabels.length>0&&!s.globals.isBarHorizontal&&(this.xaxisLabels=s.globals.timescaleLabels.slice()),s.config.xaxis.overwriteCategories&&(this.xaxisLabels=s.config.xaxis.overwriteCategories),this.drawnLabels=[],this.drawnLabelsRects=[],"top"===s.config.xaxis.position?this.offY=0:this.offY=s.globals.gridHeight,this.offY=this.offY+s.config.xaxis.axisBorder.offsetY,this.isCategoryBarHorizontal="bar"===s.config.chart.type&&s.config.plotOptions.bar.horizontal,this.xaxisFontSize=s.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=s.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=s.config.xaxis.labels.style.colors,this.xaxisBorderWidth=s.config.xaxis.axisBorder.width,this.isCategoryBarHorizontal&&(this.xaxisBorderWidth=s.config.yaxis[0].axisBorder.width.toString()),this.xaxisBorderWidth.indexOf("%")>-1?this.xaxisBorderWidth=s.globals.gridWidth*parseInt(this.xaxisBorderWidth,10)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth,10),this.xaxisBorderHeight=s.config.xaxis.axisBorder.height,this.yaxis=s.config.yaxis[0]}return s(t,[{key:"drawXaxis",value:function(){var t=this.w,e=new Mi(this.ctx),i=e.group({class:"apexcharts-xaxis",transform:"translate(".concat(t.config.xaxis.offsetX,", ").concat(t.config.xaxis.offsetY,")")}),a=e.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(t.globals.translateXAxisX,", ").concat(t.globals.translateXAxisY,")")});i.add(a);for(var s=[],r=0;r<this.xaxisLabels.length;r++)s.push(this.xaxisLabels[r]);if(this.drawXAxisLabelAndGroup(!0,e,a,s,t.globals.isXNumeric,(function(t,e){return e})),t.globals.hasXaxisGroups){var n=t.globals.groups;s=[];for(var o=0;o<n.length;o++)s.push(n[o].title);var l={};t.config.xaxis.group.style&&(l.xaxisFontSize=t.config.xaxis.group.style.fontSize,l.xaxisFontFamily=t.config.xaxis.group.style.fontFamily,l.xaxisForeColors=t.config.xaxis.group.style.colors,l.fontWeight=t.config.xaxis.group.style.fontWeight,l.cssClass=t.config.xaxis.group.style.cssClass),this.drawXAxisLabelAndGroup(!1,e,a,s,!1,(function(t,e){return n[t].cols*e}),l)}if(void 0!==t.config.xaxis.title.text){var h=e.group({class:"apexcharts-xaxis-title"}),c=e.drawText({x:t.globals.gridWidth/2+t.config.xaxis.title.offsetX,y:this.offY+parseFloat(this.xaxisFontSize)+("bottom"===t.config.xaxis.position?t.globals.xAxisLabelsHeight:-t.globals.xAxisLabelsHeight-10)+t.config.xaxis.title.offsetY,text:t.config.xaxis.title.text,textAnchor:"middle",fontSize:t.config.xaxis.title.style.fontSize,fontFamily:t.config.xaxis.title.style.fontFamily,fontWeight:t.config.xaxis.title.style.fontWeight,foreColor:t.config.xaxis.title.style.color,cssClass:"apexcharts-xaxis-title-text "+t.config.xaxis.title.style.cssClass});h.add(c),i.add(h)}if(t.config.xaxis.axisBorder.show){var d=t.globals.barPadForNumericAxis,u=e.drawLine(t.globals.padHorizontal+t.config.xaxis.axisBorder.offsetX-d,this.offY,this.xaxisBorderWidth+d,this.offY,t.config.xaxis.axisBorder.color,0,this.xaxisBorderHeight);this.elgrid&&this.elgrid.elGridBorders&&t.config.grid.show?this.elgrid.elGridBorders.add(u):i.add(u)}return i}}
vendor: 5,137 bytes, line 46395
46395,{key:"drawXAxisLabelAndGroup",value:function(t,e,i,a,s,r){var n,o=this,l=arguments.length>6&&void 0!==arguments[6]?arguments[6]:{},h=[],c=[],d=this.w,u=l.xaxisFontSize||this.xaxisFontSize,g=l.xaxisFontFamily||this.xaxisFontFamily,p=l.xaxisForeColors||this.xaxisForeColors,f=l.fontWeight||d.config.xaxis.labels.style.fontWeight,x=l.cssClass||d.config.xaxis.labels.style.cssClass,b=d.globals.padHorizontal,m=a.length,v="category"===d.config.xaxis.type?d.globals.dataPoints:m;if(0===v&&m>v&&(v=m),s){var y=Math.max(Number(d.config.xaxis.tickAmount)||1,v>1?v-1:v);n=d.globals.gridWidth/Math.min(y,m-1),b=b+r(0,n)/2+d.config.xaxis.labels.offsetX}else n=d.globals.gridWidth/v,b=b+r(0,n)+d.config.xaxis.labels.offsetX;for(var w=function(s){var l=b-r(s,n)/2+d.config.xaxis.labels.offsetX;0===s&&1===m&&n/2===b&&1===v&&(l=d.globals.gridWidth/2);var y=o.axesUtils.getLabel(a,d.globals.timescaleLabels,l,s,h,u,t),w=28;d.globals.rotateXLabels&&t&&(w=22),d.config.xaxis.title.text&&"top"===d.config.xaxis.position&&(w+=parseFloat(d.config.xaxis.title.style.fontSize)+2),t||(w=w+parseFloat(u)+(d.globals.xAxisLabelsHeight-d.globals.xAxisGroupLabelsHeight)+(d.globals.rotateXLabels?10:0)),y=void 0!==d.config.xaxis.tickAmount&&"dataPoints"!==d.config.xaxis.tickAmount&&"datetime"!==d.config.xaxis.type?o.axesUtils.checkLabelBasedOnTickamount(s,y,m):o.axesUtils.checkForOverflowingLabels(s,y,m,h,c);if(d.config.xaxis.labels.show){var k=e.drawText({x:y.x,y:o.offY+d.config.xaxis.labels.offsetY+w-("top"===d.config.xaxis.position?d.globals.xAxisHeight+d.config.xaxis.axisTicks.height-2:0),text:y.text,textAnchor:"middle",fontWeight:y.isBold?600:f,fontSize:u,fontFamily:g,foreColor:Array.isArray(p)?t&&d.config.xaxis.convertedCatToNumeric?p[d.globals.minX+s-1]:p[s]:p,isPlainText:!1,cssClass:(t?"apexcharts-xaxis-label ":"apexcharts-xaxis-group-label ")+x});if(i.add(k),k.on("click",(function(t){if("function"==typeof d.config.chart.events.xAxisLabelClick){var e=Object.assign({},d,{labelIndex:s});d.config.chart.events.xAxisLabelClick(t,o.ctx,e)}})),t){var A=document.createElementNS(d.globals.SVGNS,"title");A.textContent=Array.isArray(y.text)?y.text.join(" "):y.text,k.node.appendChild(A),""!==y.text&&(h.push(y.text),c.push(y))}}s<m-1&&(b+=r(s+1,n))},k=0;k<=m-1;k++)w(k)}},{key:"drawXaxisInversed",value:function(t){var e,i,a=this,s=this.w,r=new Mi(this.ctx),n=s.config.yaxis[0].opposite?s.globals.translateYAxisX[t]:0,o=r.group({class:"apexcharts-yaxis apexcharts-xaxis-inversed",rel:t}),l=r.group({class:"apexcharts-yaxis-texts-g apexcharts-xaxis-inversed-texts-g",transform:"translate("+n+", 0)"});o.add(l);var h=[];if(s.config.yaxis[t].show)for(var c=0;c<this.xaxisLabels.length;c++)h.push(this.xaxisLabels[c]);e=s.globals.gridHeight/h.length,i=-e/2.2;var d=s.globals.yLabelFormatters[0],u=s.config.yaxis[0].labels;if(u.show)for(var g=function(n){var o=void 0===h[n]?"":h[n];o=d(o,{seriesIndex:t,dataPointIndex:n,w:s});var c=a.axesUtils.getYAxisForeColor(u.style.colors,t),g=0;Array.isArray(o)&&(g=o.length/2*parseInt(u.style.fontSize,10));var p=u.offsetX-15,f="end";a.yaxis.opposite&&(f="start"),"left"===s.config.yaxis[0].labels.align?(p=u.offsetX,f="start"):"center"===s.config.yaxis[0].labels.align?(p=u.offsetX,f="middle"):"right"===s.config.yaxis[0].labels.align&&(f="end");var x=r.drawText({x:p,y:i+e+u.offsetY-g,text:o,textAnchor:f,foreColor:Array.isArray(c)?c[n]:c,fontSize:u.style.fontSize,fontFamily:u.style.fontFamily,fontWeight:u.style.fontWeight,isPlainText:!1,cssClass:"apexcharts-yaxis-label "+u.style.cssClass,maxWidth:u.maxWidth});l.add(x),x.on("click",(function(t){if("function"==typeof s.config.chart.events.xAxisLabelClick){var e=Object.assign({},s,{labelIndex:n});s.config.chart.events.xAxisLabelClick(t,a.ctx,e)}}));var b=document.createElementNS(s.globals.SVGNS,"title");if(b.textContent=Array.isArray(o)?o.join(" "):o,x.node.appendChild(b),0!==s.config.yaxis[t].labels.rotate){var m=r.rotateAroundCenter(x.node);x.node.setAttribute("transform","rotate(".concat(s.config.yaxis[t].labels.rotate," 0 ").concat(m.y,")"))}i+=e},p=0;p<=h.length-1;p++)g(p);if(void 0!==s.config.yaxis[0].title.text){var f=r.group({class:"apexcharts-yaxis-title apexcharts-xaxis-title-inversed",transform:"translate("+n+", 0)"}),x=r.drawText({x:s.config.yaxis[0].title.offsetX,y:s.globals.gridHeight/2+s.config.yaxis[0].title.offsetY,text:s.config.yaxis[0].title.text,textAnchor:"middle",foreColor:s.config.yaxis[0].title.style.color,fontSize:s.config.yaxis[0].title.style.fontSize,fontWeight:s.config.yaxis[0].title.style.fontWeight,fontFamily:s.config.yaxis[0].title.style.fontFamily,cssClass:"apexcharts-yaxis-title-text "+s.config.yaxis[0].title.style.cssClass});f.add(x),o.add(f)}var b=0;this.isCategoryBarHorizontal&&s.config.yaxis[0].opposite&&(b=s.globals.gridWidth);var m=s.config.xaxis.axisBorder;if(m.show){var v=r.drawLine(s.globals.padHorizontal+m.offsetX+b,1+m.offsetY,s.globals.padHorizontal+m.offsetX+b,s.globals.gridHeight+m.offsetY,m.color,0);this.elgrid&&this.elgrid.elGridBorders&&s.config.grid.show?this.elgrid.elGridBorders.add(v):o.add(v)}return s.config.yaxis[0].axisTicks.show&&this.axesUtils.drawYAxisTicks(b,h.length,s.c
vendor: 4,413 bytes, line 46395
46395onfig.yaxis[0].axisBorder,s.config.yaxis[0].axisTicks,0,e,o),o}},{key:"drawXaxisTicks",value:function(t,e,i){var a=this.w,s=t;if(!(t<0||t-2>a.globals.gridWidth)){var r=this.offY+a.config.xaxis.axisTicks.offsetY;if(e=e+r+a.config.xaxis.axisTicks.height,"top"===a.config.xaxis.position&&(e=r-a.config.xaxis.axisTicks.height),a.config.xaxis.axisTicks.show){var n=new Mi(this.ctx).drawLine(t+a.config.xaxis.axisTicks.offsetX,r+a.config.xaxis.offsetY,s+a.config.xaxis.axisTicks.offsetX,e+a.config.xaxis.offsetY,a.config.xaxis.axisTicks.color);i.add(n),n.node.classList.add("apexcharts-xaxis-tick")}}}},{key:"getXAxisTicksPositions",value:function(){var t=this.w,e=[],i=this.xaxisLabels.length,a=t.globals.padHorizontal;if(t.globals.timescaleLabels.length>0)for(var s=0;s<i;s++)a=this.xaxisLabels[s].position,e.push(a);else for(var r=i,n=0;n<r;n++){var o=r;t.globals.isXNumeric&&"bar"!==t.config.chart.type&&(o-=1),a+=t.globals.gridWidth/o,e.push(a)}return e}},{key:"xAxisLabelCorrections",value:function(){var t=this.w,e=new Mi(this.ctx),i=t.globals.dom.baseEl.querySelector(".apexcharts-xaxis-texts-g"),a=t.globals.dom.baseEl.querySelectorAll(".apexcharts-xaxis-texts-g text:not(.apexcharts-xaxis-group-label)"),s=t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis-inversed text"),r=t.globals.dom.baseEl.querySelectorAll(".apexcharts-xaxis-inversed-texts-g text tspan");if(t.globals.rotateXLabels||t.config.xaxis.labels.rotateAlways)for(var n=0;n<a.length;n++){var o=e.rotateAroundCenter(a[n]);o.y=o.y-1,o.x=o.x+1,a[n].setAttribute("transform","rotate(".concat(t.config.xaxis.labels.rotate," ").concat(o.x," ").concat(o.y,")")),a[n].setAttribute("text-anchor","end");i.setAttribute("transform","translate(0, ".concat(-10,")"));var l=a[n].childNodes;t.config.xaxis.labels.trim&&Array.prototype.forEach.call(l,(function(i){e.placeTextWithEllipsis(i,i.textContent,t.globals.xAxisLabelsHeight-("bottom"===t.config.legend.position?20:10))}))}else!function(){for(var i=t.globals.gridWidth/(t.globals.labels.length+1),s=0;s<a.length;s++){var r=a[s].childNodes;t.config.xaxis.labels.trim&&"datetime"!==t.config.xaxis.type&&Array.prototype.forEach.call(r,(function(t){e.placeTextWithEllipsis(t,t.textContent,i)}))}}();if(s.length>0){var h=s[s.length-1].getBBox(),c=s[0].getBBox();h.x<-20&&s[s.length-1].parentNode.removeChild(s[s.length-1]),c.x+c.width>t.globals.gridWidth&&!t.globals.isBarHorizontal&&s[0].parentNode.removeChild(s[0]);for(var d=0;d<r.length;d++)e.placeTextWithEllipsis(r[d],r[d].textContent,t.config.yaxis[0].labels.maxWidth-(t.config.yaxis[0].title.text?2*parseFloat(t.config.yaxis[0].title.style.fontSize):0)-15)}}}]),t}(),Ki=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w;var a=this.w;this.xaxisLabels=a.globals.labels.slice(),this.axesUtils=new Ri(e),this.isRangeBar=a.globals.seriesRange.length&&a.globals.isBarHorizontal,a.globals.timescaleLabels.length>0&&(this.xaxisLabels=a.globals.timescaleLabels.slice())}return s(t,[{key:"drawGridArea",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=new Mi(this.ctx);t||(t=i.group({class:"apexcharts-grid"}));var a=i.drawLine(e.globals.padHorizontal,1,e.globals.padHorizontal,e.globals.gridHeight,"transparent"),s=i.drawLine(e.globals.padHorizontal,e.globals.gridHeight,e.globals.gridWidth,e.globals.gridHeight,"transparent");return t.add(s),t.add(a),t}},{key:"drawGrid",value:function(){if(this.w.globals.axisCharts){var t=this.renderGrid();return this.drawGridArea(t.el),t}return null}},{key:"createGridMask",value:function(){var t=this.w,e=t.globals,i=new Mi(this.ctx),a=Array.isArray(t.config.stroke.width)?Math.max.apply(Math,f(t.config.stroke.width)):t.config.stroke.width,s=function(t){var i=document.createElementNS(e.SVGNS,"clipPath");return i.setAttribute("id",t),i};e.dom.elGridRectMask=s("gridRectMask".concat(e.cuid)),e.dom.elGridRectBarMask=s("gridRectBarMask".concat(e.cuid)),e.dom.elGridRectMarkerMask=s("gridRectMarkerMask".concat(e.cuid)),e.dom.elForecastMask=s("forecastMask".concat(e.cuid)),e.dom.elNonForecastMask=s("nonForecastMask".concat(e.cuid));var r=0,n=0;(["bar","rangeBar","candlestick","boxPlot"].includes(t.config.chart.type)||t.globals.comboBarCount>0)&&t.globals.isXNumeric&&!t.globals.isBarHorizontal&&(r=Math.max(t.config.grid.padding.left,e.barPadForNumericAxis),n=Math.max(t.config.grid.padding.right,e.barPadForNumericAxis)),e.dom.elGridRect=i.drawRect(-a/2-2,-a
vendor: 4,198 bytes, line 46395
46395/2-2,e.gridWidth+a+4,e.gridHeight+a+4,0,"#fff"),e.dom.elGridRectBar=i.drawRect(-a/2-r-2,-a/2-2,e.gridWidth+a+n+r+4,e.gridHeight+a+4,0,"#fff");var o=t.globals.markers.largestSize;e.dom.elGridRectMarker=i.drawRect(-o,-o,e.gridWidth+2*o,e.gridHeight+2*o,0,"#fff"),e.dom.elGridRectMask.appendChild(e.dom.elGridRect.node),e.dom.elGridRectBarMask.appendChild(e.dom.elGridRectBar.node),e.dom.elGridRectMarkerMask.appendChild(e.dom.elGridRectMarker.node);var l=e.dom.baseEl.querySelector("defs");l.appendChild(e.dom.elGridRectMask),l.appendChild(e.dom.elGridRectBarMask),l.appendChild(e.dom.elGridRectMarkerMask),l.appendChild(e.dom.elForecastMask),l.appendChild(e.dom.elNonForecastMask)}},{key:"_drawGridLines",value:function(t){var e=t.i,i=t.x1,a=t.y1,s=t.x2,r=t.y2,n=t.xCount,o=t.parent,l=this.w;if(!(0===e&&l.globals.skipFirstTimelinelabel||e===n-1&&l.globals.skipLastTimelinelabel&&!l.config.xaxis.labels.formatter||"radar"===l.config.chart.type)){l.config.grid.xaxis.lines.show&&this._drawGridLine({i:e,x1:i,y1:a,x2:s,y2:r,xCount:n,parent:o});var h=0;if(l.globals.hasXaxisGroups&&"between"===l.config.xaxis.tickPlacement){var c=l.globals.groups;if(c){for(var d=0,u=0;d<e&&u<c.length;u++)d+=c[u].cols;d===e&&(h=.6*l.globals.xAxisLabelsHeight)}}new Qi(this.ctx).drawXaxisTicks(i,h,l.globals.dom.elGraphical)}}},{key:"_drawGridLine",value:function(t){var e=t.i,i=t.x1,a=t.y1,s=t.x2,r=t.y2,n=t.xCount,o=t.parent,l=this.w,h=o.node.classList.contains("apexcharts-gridlines-horizontal"),c=l.globals.barPadForNumericAxis,d=0===a&&0===r||0===i&&0===s||a===l.globals.gridHeight&&r===l.globals.gridHeight||l.globals.isBarHorizontal&&(0===e||e===n-1),u=new Mi(this).drawLine(i-(h?c:0),a,s+(h?c:0),r,l.config.grid.borderColor,l.config.grid.strokeDashArray);u.node.classList.add("apexcharts-gridline"),d&&l.config.grid.show?this.elGridBorders.add(u):o.add(u)}},{key:"_drawGridBandRect",value:function(t){var e=t.c,i=t.x1,a=t.y1,s=t.x2,r=t.y2,n=t.type,o=this.w,l=new Mi(this.ctx),h=o.globals.barPadForNumericAxis,c=o.config.grid[n].colors[e],d=l.drawRect(i-("row"===n?h:0),a,s+("row"===n?2*h:0),r,0,c,o.config.grid[n].opacity);this.elg.add(d),d.attr("clip-path","url(#gridRectMask".concat(o.globals.cuid,")")),d.node.classList.add("apexcharts-grid-".concat(n))}},{key:"_drawXYLines",value:function(t){var e=this,i=t.xCount,a=t.tickAmount,s=this.w;if(s.config.grid.xaxis.lines.show||s.config.xaxis.axisTicks.show){var r,n=s.globals.padHorizontal,o=s.globals.gridHeight;s.globals.timescaleLabels.length?function(t){for(var a=t.xC,s=t.x1,r=t.y1,n=t.x2,o=t.y2,l=0;l<a;l++)s=e.xaxisLabels[l].position,n=e.xaxisLabels[l].position,e._drawGridLines({i:l,x1:s,y1:r,x2:n,y2:o,xCount:i,parent:e.elgridLinesV})}({xC:i,x1:n,y1:0,x2:r,y2:o}):(s.globals.isXNumeric&&(i=s.globals.xAxisScale.result.length),function(t){for(var a=t.xC,r=t.x1,n=t.y1,o=t.x2,l=t.y2,h=0;h<a+(s.globals.isXNumeric?0:1);h++)0===h&&1===a&&1===s.globals.dataPoints&&(o=r=s.globals.gridWidth/2),e._drawGridLines({i:h,x1:r,y1:n,x2:o,y2:l,xCount:i,parent:e.elgridLinesV}),o=r+=s.globals.gridWidth/(s.globals.isXNumeric?a-1:a)}({xC:i,x1:n,y1:0,x2:r,y2:o}))}if(s.config.grid.yaxis.lines.show){var l=0,h=0,c=s.globals.gridWidth,d=a+1;this.isRangeBar&&(d=s.globals.labels.length);for(var u=0;u<d+(this.isRangeBar?1:0);u++)this._drawGridLine({i:u,xCount:d+(this.isRangeBar?1:0),x1:0,y1:l,x2:c,y2:h,parent:this.elgridLinesH}),h=l+=s.globals.gridHeight/(this.isRangeBar?d:a)}}},{key:"_drawInvertedXYLines",value:function(t){var e=t.xCount,i=this.w;if(i.config.grid.xaxis.lines.show||i.config.xaxis.axisTicks.show)for(var a,s=i.globals.padHorizontal,r=i.globals.gridHeight,n=0;n<e+1;n++){i.config.grid.xaxis.lines.show&&this._drawGridLine({i:n,xCount:e+1,x1:s,y1:0,x2:a,y2:r,parent:this.elgridLinesV}),new Qi(this.ctx).drawXaxisTicks(s,0,i.globals.dom.elGraphical),a=s+=i.globals.gridWidth/e}if(i.config.grid.yaxis.lines.show)for(var o=0,l=0,h=i.globals.gridWidth,c=0;c<i.globals.dataPoints+1;c++)this._drawGridLine({i:c,xCount:i.globals.dataPoints+1,x1:0,y1:o,x2:h,y2:l,parent:this.elgridLinesH}),l=o+=i.globals.gridHeight/i.globals.dataPoints}},{key:"renderGrid",value:function(){var t=this.w,e=t.globals,i=new Mi(this.ctx);this.elg=i.group({class:"apexcharts-grid"}
46395),this.elgridLinesH=i.group({class:"apexcharts-gridlines-horizontal"}),this.elgridLinesV=i.group({class:"apexcharts-gridlines-vertical"}),this.elGridBorders=i.group({class:"apexcharts-grid-borders"}),this.elg.add(this.elgridLinesH),this.elg.add(this.elgridLinesV),t.config.grid.show||(this.elgridLinesV.hide(),this.elgridLinesH.hide(),this.elGridBorders.hide());for(var a=0;a<e.seriesYAxisMap.length&&e.ignoreYAxisIndexes.includes(a);)a++;a===e.seriesYAxisMap.length&&(a=0);var s,r=e.yAxisScale[a].result.length-1;if(!e.isBarHorizontal||this.isRangeBar){var n,o,l;if(s=this.xaxisLabels.length,this.isRangeBar)r=e.labels.length,t.config.xaxis.tickAmount&&t.config.xaxis.labels.formatter&&(s=t.config.xaxis.tickAmount),(null===(n=e.yAxisScale)||void 0===n||null===(o=n[a])||void 0===o||null===(l=o.result)||void 0===l?void 0:l.length)>0&&"datetime"!==t.config.xaxis.type&&(s=e.yAxisScale[a].result.length-1);this._drawXYLines({xCount:s,tickAmount:r})}else s=r,r=e.xTickAmount,this._drawInvertedXYLines({xCount:s,tickAmount:r});return this.drawGridBands(s,r),{el:this.elg,elGridBorders:this.elGridBorders,xAxisTickWidth:e.gridWidth/s}}},{key:"drawGridBands",value:function(t,e){var i,a,s=this,r=this.w;if((null===(i=r.config.grid.row.colors)||void 0===i?void 0:i.length)>0&&function(t,i,a,n,o,l){for(var h=0,c=0;h<i;h++,c++)c>=r.config.grid[t].colors.length&&(c=0),s._drawGridBandRect({c:c,x1:a,y1:n,x2:o,y2:l,type:t}),n+=r.globals.gridHeight/e}("row",e,0,0,r.globals.gridWidth,r.globals.gridHeight/e),(null===(a=r.config.grid.column.colors)||void 0===a?void 0:a.length)>0){var n=r.globals.isBarHorizontal||"on"!==r.config.xaxis.tickPlacement||"category"!==r.config.xaxis.type&&!r.config.xaxis.convertedCatToNumeric?t:t-1;r.globals.isXNumeric&&(n=r.globals.xAxisScale.result.length-1);for(var o=r.globals.padHorizontal,l=r.globals.padHorizontal+r.globals.gridWidth/n,h=r.globals.gridHeight,c=0,d=0;c<t;c++,d++){var u;if(d>=r.config.grid.column.colors.length&&(d=0),"datetime"===r.config.xaxis.type)o=this.xaxisLabels[c].position,l=((null===(u=this.xaxisLabels[c+1])||void 0===u?void 0:u.position)||r.globals.gridWidth)-this.xaxisLabels[c].position;this._drawGridBandRect({c:d,x1:o,y1:0,x2:l,y2:h,type:"column"}),o+=r.globals.gridWidth/n}}}}]),t}(),ta=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.coreUtils=new Pi(this.ctx)}return s(t,[{key:"niceScale",value:function(t,e){var i,a,s,r,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=1e-11,l=this.w,h=l.globals;h.isBarHorizontal?(i=l.config.xaxis,a=Math.max((h.svgWidth-100)/25,2)):(i=l.config.yaxis[n],a=Math.max((h.svgHeight-100)/15,2)),v.isNumber(a)||(a=10),s=void 0!==i.min&&null!==i.min,r=void 0!==i.max&&null!==i.min;var c=void 0!==i.stepSize&&null!==i.stepSize,d=void 0!==i.tickAmount&&null!==i.tickAmount,u=d?i.tickAmount:h.niceScaleDefaultTicks[Math.min(Math.round(a/2),h.niceScaleDefaultTicks.length-1)];if(h.isMultipleYAxis&&!d&&h.multiAxisTickAmount>0&&(u=h.multiAxisTickAmount,d=!0),u="dataPoints"===u?h.dataPoints-1:Math.abs(Math.round(u)),(t===Number.MIN_VALUE&&0===e||!v.isNumber(t)&&!v.isNumber(e)||t===Number.MIN_VALUE&&e===-Number.MAX_VALUE)&&(t=v.isNumber(i.min)?i.min:0,e=v.isNumber(i.max)?i.max:t+u,h.allSeriesCollapsed=!1),t>e){console.warn("axis.min cannot be greater than axis.max: swapping min and max");var g=e;e=t,t=g}else t===e&&(t=0===t?0:t-1,e=0===e?2:e+1);var p=[];u<1&&(u=1);var f=u,x=Math.abs(e-t);!s&&t>0&&t/x<.15&&(t=0,s=!0),!r&&e<0&&-e/x<.15&&(e=0,r=!0);var b=(x=Math.abs(e-t))/f,m=b,y=Math.floor(Math.log10(m)),w=Math.pow(10,y),k=Math.ceil(m/w);if(b=m=(k=h.niceScaleAllowedMagMsd[0===h.yValueDecimal?0:1][k])*w,h.isBarHorizontal&&i.stepSize&&"datetime"!==i.type?(b=i.stepSize,c=!0):c&&(b=i.stepSize),c&&i.forceNiceScale){var A=Math.floor(Math.log10(b));b*=Math.pow(10,y-A)}if(s&&r){var C=x/f;if(d)if(c)if(0!=v.mod(x,b)){var S=v.getGCD(b,C);b=C/S<10?S:C}else 0==v.mod(b,C)?b=C:(C=b,d=!1);else b=C;else if(c)0==v.mod(x,b)?C=b:b=C;else if(0==v.mod(x,b))C=b;else{C=x/(f=Math.ceil(x/b));var L=v.getGCD(x,b);x/L<a&&(C=L),b=C}f=Math.round(x/b)}else{if(s||r){if(r)if(d)t=e-b*f;else{var M=t;t=b*Math.floor(t/b),Math.abs(e-t)/v.getGCD(x,b)>a&&(t=e-b*u,t+=b*Math.floor((M-t)/b))}else if(s)if(d)e=t+b*f;else{var P=e;e=b*Math.ceil(e/b),Math.abs(e-t)/v.getGCD(x,b)>a&&(e=t+b*u,e+=b*Math.ceil((P-e)/b))}}else if(h.isMultipleYAxis&&d){var I=b*Math.floor(t/b),T=I+b*f;T<e&&(b*=2),T=e,e=(t=I)+b*f,x=Math.abs(e-t),t>0&&t<Math.abs(T-e)&&(t=0,e=b*f),e<0&&-e<Math.abs(I-t)&&(e=0,t=-b*f)}else t=b*Math.floor(t/b),e=b*Math.ceil(e/b);x=Math.abs(e-t),b=v.getGCD(x,b),f=Math.round(x/b)}
vendor: 4,268 bytes, line 46395
46395if(d||s||r||(f=Math.ceil((x-o)/(b+o)))>16&&v.getPrimeFactors(f).length<2&&f++,!d&&i.forceNiceScale&&0===h.yValueDecimal&&f>x&&(f=x,b=Math.round(x/f)),f>a&&(!d&&!c||i.forceNiceScale)){var z=v.getPrimeFactors(f),X=z.length-1,R=f;t:for(var E=0;E<X;E++)for(var Y=0;Y<=X-E;Y++){for(var H=Math.min(Y+E,X),O=R,F=1,D=Y;D<=H;D++)F*=z[D];if((O/=F)<a){R=O;break t}}b=R===f?x:x/R,f=Math.round(x/b)}h.isMultipleYAxis&&0==h.multiAxisTickAmount&&h.ignoreYAxisIndexes.indexOf(n)<0&&(h.multiAxisTickAmount=f);var _=t-b,N=b*o;do{_+=b,p.push(v.stripNumber(_,7))}while(e-_>N);return{result:p,niceMin:p[0],niceMax:p[p.length-1]}}},{key:"linearScale",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:void 0,r=Math.abs(e-t),n=[];if(t===e)return{result:n=[t],niceMin:n[0],niceMax:n[n.length-1]};"dataPoints"===(i=this._adjustTicksForSmallRange(i,a,r))&&(i=this.w.globals.dataPoints-1),s||(s=r/i),s=Math.round(100*(s+Number.EPSILON))/100,i===Number.MAX_VALUE&&(i=5,s=1);for(var o=t;i>=0;)n.push(o),o=v.preciseAddition(o,s),i-=1;return{result:n,niceMin:n[0],niceMax:n[n.length-1]}}},{key:"logarithmicScaleNice",value:function(t,e,i){e<=0&&(e=Math.max(t,i)),t<=0&&(t=Math.min(e,i));for(var a=[],s=Math.ceil(Math.log(e)/Math.log(i)+1),r=Math.floor(Math.log(t)/Math.log(i));r<s;r++)a.push(Math.pow(i,r));return{result:a,niceMin:a[0],niceMax:a[a.length-1]}}},{key:"logarithmicScale",value:function(t,e,i){e<=0&&(e=Math.max(t,i)),t<=0&&(t=Math.min(e,i));for(var a=[],s=Math.log(e)/Math.log(i),r=Math.log(t)/Math.log(i),n=s-r,o=Math.round(n),l=n/o,h=0,c=r;h<o;h++,c+=l)a.push(Math.pow(i,c));return a.push(Math.pow(i,s)),{result:a,niceMin:t,niceMax:e}}},{key:"_adjustTicksForSmallRange",value:function(t,e,i){var a=t;if(void 0!==e&&this.w.config.yaxis[e].labels.formatter&&void 0===this.w.config.yaxis[e].tickAmount){var s=Number(this.w.config.yaxis[e].labels.formatter(1));v.isNumber(s)&&0===this.w.globals.yValueDecimal&&(a=Math.ceil(i))}return a<t?a:t}},{key:"setYScaleForIndex",value:function(t,e,i){var a=this.w.globals,s=this.w.config,r=a.isBarHorizontal?s.xaxis:s.yaxis[t];void 0===a.yAxisScale[t]&&(a.yAxisScale[t]=[]);var n=Math.abs(i-e);r.logarithmic&&n<=5&&(a.invalidLogScale=!0),r.logarithmic&&n>5?(a.allSeriesCollapsed=!1,a.yAxisScale[t]=r.forceNiceScale?this.logarithmicScaleNice(e,i,r.logBase):this.logarithmicScale(e,i,r.logBase)):i!==-Number.MAX_VALUE&&v.isNumber(i)&&e!==Number.MAX_VALUE&&v.isNumber(e)?(a.allSeriesCollapsed=!1,a.yAxisScale[t]=this.niceScale(e,i,t)):a.yAxisScale[t]=this.niceScale(Number.MIN_VALUE,0,t)}},{key:"setXScale",value:function(t,e){var i=this.w,a=i.globals;if(e!==-Number.MAX_VALUE&&v.isNumber(e)){var s=a.xTickAmount;a.xAxisScale=this.linearScale(t,e,s,0,i.config.xaxis.stepSize)}else a.xAxisScale=this.linearScale(0,10,10);return a.xAxisScale}},{key:"scaleMultipleYAxes",value:function(){var t=this,e=this.w.config,i=this.w.globals;this.coreUtils.setSeriesYAxisMappings();var a=i.seriesYAxisMap,s=i.minYArr,r=i.maxYArr;i.allSeriesCollapsed=!0,i.barGroups=[],a.forEach((function(a,n){var o=[];a.forEach((function(t){var i,a=null===(i=e.series[t])||void 0===i?void 0:i.group;o.indexOf(a)<0&&o.push(a)})),a.length>0?function(){var l,h,c=Number.MAX_VALUE,d=-Number.MAX_VALUE,u=c,g=d;if(e.chart.stacked)!function(){var t=new Array(i.dataPoints).fill(0),s=[],r=[],p=[];o.forEach((function(){s.push(t.map((function(){return Number.MIN_VALUE}))),r.push(t.map((function(){return Number.MIN_VALUE}))),p.push(t.map((function(){return Number.MIN_VALUE})))}));for(var f=function(t){!l&&e.series[a[t]].type&&(l=e.series[a[t]].type);var c=a[t];h=e.series[c].group?e.series[c].group:"axis-".concat(n),!(i.collapsedSeriesIndices.indexOf(c)<0&&i.ancillaryCollapsedSeriesIndices.indexOf(c)<0)||(i.allSeriesCollapsed=!1,o.forEach((function(t,a){if(e.series[c].group===t)for(var n=0;n<i.series[c].length;n++){var o=i.series[c][n];o>=0?r[a][n]+=o:p[a][n]+=o,s[a][n]+=o,u=Math.min(u,o),g=Math.max(g,o)}}))),"bar"!==l&&"column"!==l||i.barGroups.push(h)},x=0;x<a.length;x++)f(x);l||(l=e.chart.type),"bar"===l||"column"===l?o.forEach((function(t,e){c=Math.min(c,Math.min.apply(null,p[e])),d=Math.max(d,Math.max.apply(null,r[e]))}
46395)):(o.forEach((function(t,e){u=Math.min(u,Math.min.apply(null,s[e])),g=Math.max(g,Math.max.apply(null,s[e]))})),c=u,d=g),c===Number.MIN_VALUE&&d===Number.MIN_VALUE&&(d=-Number.MAX_VALUE)}();else for(var p=0;p<a.length;p++){var f=a[p];c=Math.min(c,s[f]),d=Math.max(d,r[f]),!(i.collapsedSeriesIndices.indexOf(f)<0&&i.ancillaryCollapsedSeriesIndices.indexOf(f)<0)||(i.allSeriesCollapsed=!1)}void 0!==e.yaxis[n].min&&(c="function"==typeof e.yaxis[n].min?e.yaxis[n].min(c):e.yaxis[n].min),void 0!==e.yaxis[n].max&&(d="function"==typeof e.yaxis[n].max?e.yaxis[n].max(d):e.yaxis[n].max),i.barGroups=i.barGroups.filter((function(t,e,i){return i.indexOf(t)===e})),t.setYScaleForIndex(n,c,d),a.forEach((function(t){s[t]=i.yAxisScale[n].niceMin,r[t]=i.yAxisScale[n].niceMax}))}():t.setYScaleForIndex(n,0,-Number.MAX_VALUE)}))}}]),t}(),ea=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.scales=new ta(e)}return s(t,[{key:"init",value:function(){this.setYRange(),this.setXRange(),this.setZRange()}},{key:"getMinYMaxY",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-Number.MAX_VALUE,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w.config,r=this.w.globals,n=-Number.MAX_VALUE,o=Number.MIN_VALUE;null===a&&(a=t+1);var l=r.series,h=l,c=l;"candlestick"===s.chart.type?(h=r.seriesCandleL,c=r.seriesCandleH):"boxPlot"===s.chart.type?(h=r.seriesCandleO,c=r.seriesCandleC):r.isRangeData&&(h=r.seriesRangeStart,c=r.seriesRangeEnd);var d=!1;if(r.seriesX.length>=a){var u,g=null===(u=r.brushSource)||void 0===u?void 0:u.w.config.chart.brush;(s.chart.zoom.enabled&&s.chart.zoom.autoScaleYaxis||null!=g&&g.enabled&&null!=g&&g.autoScaleYaxis)&&(d=!0)}for(var p=t;p<a;p++){r.dataPoints=Math.max(r.dataPoints,l[p].length);var f=s.series[p].type;r.categoryLabels.length&&(r.dataPoints=r.categoryLabels.filter((function(t){return void 0!==t})).length),r.labels.length&&"datetime"!==s.xaxis.type&&0!==r.series.reduce((function(t,e){return t+e.length}),0)&&(r.dataPoints=Math.max(r.dataPoints,r.labels.length));var x=0,b=l[p].length-1;if(d){if(s.xaxis.min)for(;x<b&&r.seriesX[p][x]<s.xaxis.min;x++);if(s.xaxis.max)for(;b>x&&r.seriesX[p][b]>s.xaxis.max;b--);}for(var m=x;m<=b&&m<r.series[p].length;m++){var y=l[p][m];if(null!==y&&v.isNumber(y)){var w,k,A,C;switch(void 0!==(null===(w=c[p])||void 0===w?void 0:w[m])&&(n=Math.max(n,c[p][m]),e=Math.min(e,c[p][m])),void 0!==(null===(k=h[p])||void 0===k?void 0:k[m])&&(e=Math.min(e,h[p][m]),i=Math.max(i,h[p][m])),f){case"candlestick":void 0!==r.seriesCandleC[p][m]&&(n=Math.max(n,r.seriesCandleH[p][m]),e=Math.min(e,r.seriesCandleL[p][m]));break;case"boxPlot":void 0!==r.seriesCandleC[p][m]&&(n=Math.max(n,r.seriesCandleC[p][m]),e=Math.min(e,r.seriesCandleO[p][m]))}f&&"candlestick"!==f&&"boxPlot"!==f&&"rangeArea"!==f&&"rangeBar"!==f&&(n=Math.max(n,r.series[p][m]),e=Math.min(e,r.series[p][m])),r.seriesGoals[p]&&r.seriesGoals[p][m]&&Array.isArray(r.seriesGoals[p][m])&&r.seriesGoals[p][m].forEach((function(t){n=Math.max(n,t.value),e=Math.min(e,t.value)})),i=n,y=v.noExponents(y),v.isFloat(y)&&(r.yValueDecimal=Math.max(r.yValueDecimal,y.toString().split(".")[1].length)),o>(null===(A=h[p])||void 0===A?void 0:A[m])&&(null===(C=h[p])||void 0===C?void 0:C[m])<0&&(o=h[p][m])}else r.hasNullValues=!0}"bar"!==f&&"column"!==f||(o<0&&n<0&&(n=0,i=Math.max(i,0)),o===Number.MIN_VALUE&&(o=0,e=Math.min(e,0)))}return"rangeBar"===s.chart.type&&r.seriesRangeStart.length&&r.isBarHorizontal&&(
46395o=e),"bar"===s.chart.type&&(o<0&&n<0&&(n=0),o===Number.MIN_VALUE&&(o=0)),{minY:o,maxY:n,lowestY:e,highestY:i}}},{key:"setYRange",value:function(){var t=this.w.globals,e=this.w.config;t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE;var i,a=Number.MAX_VALUE;if(t.isMultipleYAxis){a=Number.MAX_VALUE;for(var s=0;s<t.series.length;s++)i=this.getMinYMaxY(s),t.minYArr[s]=i.lowestY,t.maxYArr[s]=i.highestY,a=Math.min(a,i.lowestY)}if(i=this.getMinYMaxY(0,a,null,t.series.length),"bar"===e.chart.type?(t.minY=i.minY,t.maxY=i.maxY):(t.minY=i.lowestY,t.maxY=i.highestY),a=i.lowestY,e.chart.stacked&&this._setStackedMinMax(),"line"===e.chart.type||"area"===e.chart.type||"scatter"===e.chart.type||"candlestick"===e.chart.type||"boxPlot"===e.chart.type||"rangeBar"===e.chart.type&&!t.isBarHorizontal?t.minY===Number.MIN_VALUE&&a!==-Number.MAX_VALUE&&a!==t.maxY&&(t.minY=a):t.minY=t.minY!==Number.MIN_VALUE?Math.min(i.minY,t.minY):i.minY,e.yaxis.forEach((function(e,i){void 0!==e.max&&("number"==typeof e.max?t.maxYArr[i]=e.max:"function"==typeof e.max&&(t.maxYArr[i]=e.max(t.isMultipleYAxis?t.maxYArr[i]:t.maxY)),t.maxY=t.maxYArr[i]),void 0!==e.min&&("number"==typeof e.min?t.minYArr[i]=e.min:"function"==typeof e.min&&(t.minYArr[i]=e.min(t.isMultipleYAxis?t.minYArr[i]===Number.MIN_VALUE?0:t.minYArr[i]:t.minY)),t.minY=t.minYArr[i])})),t.isBarHorizontal){["min","max"].forEach((function(i){void 0!==e.xaxis[i]&&"number"==typeof e.xaxis[i]&&("min"===i?t.minY=e.xaxis[i]:t.maxY=e.xaxis[i])}))}return t.isMultipleYAxis?(this.scales.scaleMultipleYAxes(),t.minY=a):(this.scales.setYScaleForIndex(0,t.minY,t.maxY),t.minY=t.yAxisScale[0].niceMin,t.maxY=t.yAxisScale[0].niceMax,t.minYArr[0]=t.minY,t.maxYArr[0]=t.maxY),t.barGroups=[],t.lineGroups=[],t.areaGroups=[],e.series.forEach((function(i){switch(i.type||e.chart.type){case"bar":case"column":t.barGroups.push(i.group);break;case"line":t.lineGroups.push(i.group);break;case"area":t.areaGroups.push(i.group)}})),t.barGroups=t.barGroups.filter((function(t,e,i){return i.indexOf(t)===e})),t.lineGroups=t.lineGroups.filter((function(t,e,i){return i.indexOf(t)===e})),t.areaGroups=t.areaGroups.filter((function(t,e,i){return i.indexOf(t)===e})),{minY:t.minY,maxY:t.maxY,minYArr:t.minYArr,maxYArr:t.maxYArr,yAxisScale:t.yAxisScale}}},{key:"setXRange",value:function(){var t=this.w.globals,e=this.w.config,i="numeric"===e.xaxis.type||"datetime"===e.xaxis.type||"category"===e.xaxis.type&&!t.noLabelsProvided||t.noLabelsProvided||t.isXNumeric;if(t.isXNumeric&&function(){for(var e=0;e<t.series.length;e++)if(t.labels[e])for(var i=0;i<t.labels[e].length;i++)null!==t.labels[e][i]&&v.isNumber(t.labels[e][i])&&(t.maxX=Math.max(t.maxX,t.labels[e][i]),t.initialMaxX=Math.max(t.maxX,t.labels[e][i]),t.minX=Math.min(t.minX,t.labels[e][i]),t.initialMinX=Math.min(t.minX,t.labels[e][i]))}(),t.noLabelsProvided&&0===e.xaxis.categories.length&&(t.maxX=t.labels[t.labels.length-1],t.initialMaxX=t.labels[t.labels.length-1],t.minX=1,t.initialMinX=1),t.isXNumeric||t.noLabelsProvided||t.dataFormatXNumeric){var a=10;if(void 0===e.xaxis.tickAmount)a=Math.round(t.svgWidth/150),"numeric"===e.xaxis.type&&t.dataPoints<30&&(a=t.dataPoints-1),a>t.dataPoints&&0!==t.dataPoints&&(a=t.dataPoints-1);else if("dataPoints"===e.xaxis.tickAmount){if(t.series.length>1&&(a=t.series[t.maxValsInArrayIndex].length-1),t.isXNumeric){var s=Math.round(t.maxX-t.minX);s<30&&(a=s-1)}}else a=e.xaxis.tickAmount;if(t.xTickAmount=a,void 0!==e.xaxis.max&&"number"==typeof e.xaxis.max&&(t.maxX=e.xaxis.max),void 0!==e.xaxis.min&&"number"==typeof e.xaxis.min&&(t.minX=e.xaxis.min),void 0!==e.xaxis.range&&(t.minX=t.maxX-e.xaxis.range),t.minX!==Number.MAX_VALUE&&t.maxX!==-Number.MAX_VALUE)if(e.xaxis.convertedCatToNumeric&&!t.dataFormatXNumeric){for(var r=[],n=t.minX-1;n<t.maxX;n++)r.push(n+1);t.xAxisScale={result:r,niceMin:r[0],niceMax:r[r.length-1]}}else t.xAxisScale=this.scales.setXScale(t.minX,t.maxX);else t.xAxisScale=this.scales.linearScale(0,a,a,0,e.xaxis.stepSize),t.noLabelsProvided&&t.labels.length>0&&(t.xAxisScale=this.scales.linearScale(1,t.labels.length,a-1,0,e.xaxis.stepSize),t.seriesX=t.labels.slice());i&&(t.labels=t.xAxisScale.result.slice())}return t.isBarHorizontal&&t.labels.length&&(t.xTickAmount=t.labels.length),this._handleSingleDataPoint(),this._getMinXDiff(),{minX:t.minX,maxX:t.maxX}}},{key:"setZRange",value:function(){var t=this.w.globals;if(t.isDataXYZ)for(var e=0;e<t.series.length;e++)if(void 0!==t.seriesZ[e])for(var i=0;i<t.seriesZ[e].length;i++)null!==t.seriesZ[e][i]&&v.isNumber(t.seriesZ[e][i])&&(t.maxZ=Math.max(t.maxZ,t.seriesZ[e][i]),t.minZ=Math.min(t.minZ,t.seriesZ[e][i]))}},{key:"_handleSingleDataPoint",value:function(){var t=this.w.globals,e=this.w.config;if(t.minX===t.maxX){var i=new zi(this.ctx);if("datetime"===e.xaxis.type){var a=i.getDate(t.minX);
vendor: 8,922 bytes, line 46395
46395e.xaxis.labels.datetimeUTC?a.setUTCDate(a.getUTCDate()-2):a.setDate(a.getDate()-2),t.minX=new Date(a).getTime();var s=i.getDate(t.maxX);e.xaxis.labels.datetimeUTC?s.setUTCDate(s.getUTCDate()+2):s.setDate(s.getDate()+2),t.maxX=new Date(s).getTime()}else("numeric"===e.xaxis.type||"category"===e.xaxis.type&&!t.noLabelsProvided)&&(t.minX=t.minX-2,t.initialMinX=t.minX,t.maxX=t.maxX+2,t.initialMaxX=t.maxX)}}},{key:"_getMinXDiff",value:function(){var t=this.w.globals;t.isXNumeric&&t.seriesX.forEach((function(e,i){if(e.length){1===e.length&&e.push(t.seriesX[t.maxValsInArrayIndex][t.seriesX[t.maxValsInArrayIndex].length-1]);var a=e.slice();a.sort((function(t,e){return t-e})),a.forEach((function(e,i){if(i>0){var s=e-a[i-1];s>0&&(t.minXDiff=Math.min(s,t.minXDiff))}})),1!==t.dataPoints&&t.minXDiff!==Number.MAX_VALUE||(t.minXDiff=.5)}}))}},{key:"_setStackedMinMax",value:function(){var t=this,e=this.w.globals;if(e.series.length){var i=e.seriesGroups;i.length||(i=[this.w.globals.seriesNames.map((function(t){return t}))]);var a={},s={};i.forEach((function(i){a[i]=[],s[i]=[],t.w.config.series.map((function(t,a){return i.indexOf(e.seriesNames[a])>-1?a:null})).filter((function(t){return null!==t})).forEach((function(r){for(var n=0;n<e.series[e.maxValsInArrayIndex].length;n++){var o,l,h,c;void 0===a[i][n]&&(a[i][n]=0,s[i][n]=0),(t.w.config.chart.stacked&&!e.comboCharts||t.w.config.chart.stacked&&e.comboCharts&&(!t.w.config.chart.stackOnlyBar||"bar"===(null===(o=t.w.config.series)||void 0===o||null===(l=o[r])||void 0===l?void 0:l.type)||"column"===(null===(h=t.w.config.series)||void 0===h||null===(c=h[r])||void 0===c?void 0:c.type)))&&null!==e.series[r][n]&&v.isNumber(e.series[r][n])&&(e.series[r][n]>0?a[i][n]+=parseFloat(e.series[r][n])+1e-4:s[i][n]+=parseFloat(e.series[r][n]))}}))})),Object.entries(a).forEach((function(t){var i=p(t,1)[0];a[i].forEach((function(t,r){e.maxY=Math.max(e.maxY,a[i][r]),e.minY=Math.min(e.minY,s[i][r])}))}))}}}]),t}(),ia=function(){function t(e,a){i(this,t),this.ctx=e,this.elgrid=a,this.w=e.w;var s=this.w;this.xaxisFontSize=s.config.xaxis.labels.style.fontSize,this.axisFontFamily=s.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=s.config.xaxis.labels.style.colors,this.isCategoryBarHorizontal="bar"===s.config.chart.type&&s.config.plotOptions.bar.horizontal,this.xAxisoffX="bottom"===s.config.xaxis.position?s.globals.gridHeight:0,this.drawnLabels=[],this.axesUtils=new Ri(e)}return s(t,[{key:"drawYaxis",value:function(t){var e=this.w,i=new Mi(this.ctx),a=e.config.yaxis[t].labels.style,s=a.fontSize,r=a.fontFamily,n=a.fontWeight,o=i.group({class:"apexcharts-yaxis",rel:t,transform:"translate(".concat(e.globals.translateYAxisX[t],", 0)")});if(this.axesUtils.isYAxisHidden(t))return o;var l=i.group({class:"apexcharts-yaxis-texts-g"});o.add(l);var h=e.globals.yAxisScale[t].result.length-1,c=e.globals.gridHeight/h,d=e.globals.yLabelFormatters[t],u=this.axesUtils.checkForReversedLabels(t,e.globals.yAxisScale[t].result.slice());if(e.config.yaxis[t].labels.show){var g=e.globals.translateY+e.config.yaxis[t].labels.offsetY;e.globals.isBarHorizontal?g=0:"heatmap"===e.config.chart.type&&(g-=c/2),g+=parseInt(s,10)/3;for(var p=h;p>=0;p--){var f=d(u[p],p,e),x=e.config.yaxis[t].labels.padding;e.config.yaxis[t].opposite&&0!==e.config.yaxis.length&&(x*=-1);var b=this.getTextAnchor(e.config.yaxis[t].labels.align,e.config.yaxis[t].opposite),m=this.axesUtils.getYAxisForeColor(a.colors,t),y=Array.isArray(m)?m[p]:m,w=v.listToArray(e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(t,"'] .apexcharts-yaxis-label tspan"))).map((function(t){return t.textContent})),k=i.drawText({x:x,y:g,text:w.includes(f)&&!e.config.yaxis[t].labels.showDuplicates?"":f,textAnchor:b,fontSize:s,fontFamily:r,fontWeight:n,maxWidth:e.config.yaxis[t].labels.maxWidth,foreColor:y,isPlainText:!1,cssClass:"apexcharts-yaxis-label ".concat(a.cssClass)});l.add(k),this.addTooltip(k,f),0!==e.config.yaxis[t].labels.rotate&&this.rotateLabel(i,k,firstLabel,e.config.yaxis[t].labels.rotate),g+=c}}return this.addYAxisTitle(i,o,t),this.addAxisBorder(i,o,t,h,c),o}},{key:"getTextAnchor",value:function(t,e){return"left"===t?"start":"center"===t?"middle":"right"===t?"end":e?"start":"end"}},{key:"addTooltip",value:function(t,e){var i=document.createElementNS(this.w.globals.SVGNS,"title");i.textContent=Array.isArray(e)?e.join(" "):e,t.node.appendChild(i)}},{key:"rotateLabel",value:function(t,e,i,a){var s=t.rotateAroundCenter(i.node),r=t.rotateAroundCenter(e.node);e.node.setAttribute("transform","rotate(".concat(a," ").concat(s.x," ").concat(r.y,")"))}},{key:"addYAxisTitle",value:function(t,e,i){var a=this.w;if(void 0!==a.config.yaxis[i].title.text){var s=t.group({class:"apexcharts-yaxis-title"}),r=a.config.yaxis[i].opposite?a.globals.translateYAxisX[i]:0,n=t.drawText({x:r,y:a.globals.gridHeight/2+a.globals.translateY+a.config.yaxis[i].title.offsetY,text:a.config.yaxis[i].title.text,textAnchor:"end",foreColor:a.config.yaxis[i].title.style.color,fontSize:a.config.yaxis[i].title.style.fontSize,fontWeight:a.config.yaxis[i].title.style.fontWeight,fontFamily:a.config.yaxis[i].title.style.fontFamily,cssClass:"apexcharts-yaxis-title-text ".concat(a.config.yaxis[i].title.style.cssClass)});s.add(n),e.add(s)}}},{key:"addAxisBorder",value:function(t,e,i,a,s){var r=this.w,n=r.config.yaxis[i].axisBorder,o=31+n.offsetX;if(r.config.yaxis[i].opposite&&(o=-31-n.offsetX),n.show){var l=t.drawLine(o,r.globals.translateY+n.offsetY-2,o,r.globals.gridHeight+r.globals.translateY+n.offsetY+2,n.color,0,n.width);e.add(l)}r.config.yaxis[i].axisTicks.show&&this.axesUtils.drawYAxisTicks(o,a,n,r.config.yaxis[i].axisTicks,i,s,e)}},{key:"drawYaxisInversed",value:function(t){var e=this.w,i=new Mi(this.ctx),a=i.group({class:"apexcharts-xaxis apexcharts-yaxis-inversed"}),s=i.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(e.globals.translateXAxisX,", ").concat(e.globals.translateXAxisY,")")});a.add(s);var r=e.globals.yAxisScale[t].result.length-1,n=e.globals.gridWidth/r+.1,o=n+e.config.xaxis.labels.offsetX,l=e.globals.xLabelFormatter,h=this.axesUtils.checkForReversedLabels(t,e.globals.yAxisScale[t].result.slice()),c=e.globals.timescaleLabels;if(c.length>0&&(this.xaxisLabels=c.slice(),r=(h=c.slice()).length),e.config.xaxis.labels.show)for(var d=c.length?0:r;c.length?d<c.length:d>=0;c.length?d++:d--){var u=l(h[d],d,e),g=e.globals.gridWidth+e.globals.padHorizontal-(o-n+e.config.xaxis.labels.offsetX);if(c.length){var p=this.axesUtils.getLabel(h,c,g,d,this.drawnLabels,this.xaxisFontSize);g=p.x,u=p.text,this.drawnLabels.push(p.text),0===d&&e.globals.skipFirstTimelinelabel&&(u=""),d===h.length-1&&e.globals.skipLastTimelinelabel&&(u="")}var f=i.drawText({x:g,y:this.xAxisoffX+e.config.xaxis.labels.offsetY+30-("top"===e.config.xaxis.position?e.globals.xAxisHeight+e.config.xaxis.axisTicks.height-2:0),text:u,textAnchor:"middle",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[t]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,fontWeight:e.config.xaxis.labels.style.fontWeight,isPlainText:!1,cssClass:"apexcharts-xaxis-label ".concat(e.config.xaxis.labels.style.cssClass)});s.add(f),f.tspan(u),this.addTooltip(f,u),o+=n}return this.inversedYAxisTitleText(a),this.inversedYAxisBorder(a),a}},{key:"inversedYAxisBorder",value:function(t){var e=this.w,i=new Mi(this.ctx),a=e.config.xaxis.axisBorder;if(a.show){var s=0;"bar"===e.config.chart.type&&e.globals.isXNumeric&&(s-=15);var r=i.drawLine(e.globals.padHorizontal+s+a.offsetX,this.xAxisoffX,e.globals.gridWidth,this.xAxisoffX,a.color,0,a.height);this.elgrid&&this.elgrid.elGridBorders&&e.config.grid.show?this.elgrid.elGridBorders.add(r):t.add(r)}}},{key:"inversedYAxisTitleText",value:function(t){var e=this.w,i=new Mi(this.ctx);if(void 0!==e.config.xaxis.title.text){var a=i.group({class:"apexcharts-xaxis-title apexcharts-yaxis-title-inversed"}),s=i.drawText({x:e.globals.gridWidth/2+e.config.xaxis.title.offsetX,y:this.xAxisoffX+parseFloat(this.xaxisFontSize)+parseFloat(e.config.xaxis.title.style.fontSize)+e.config.xaxis.title.offsetY+20,text:e.config.xaxis.title.text,textAnchor:"middle",fontSize:e.config.xaxis.title.style.fontSize,fontFamily:e.config.xaxis.title.style.fontFamily,fontWeight:e.config.xaxis.title.style.fontWeight,foreColor:e.config.xaxis.title.style.color,cssClass:"apexcharts-xaxis-title-text ".concat(e.config.xaxis.title.style.cssClass)});a.add(s),t.add(a)}}},{key:"yAxisTitleRotate",value:function(t,e){var i=this.w,a=new Mi(this.ctx),s=i.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(t,"'] .apexcharts-yaxis-texts-g")),r=s?s.getBoundingClientRect():{width:0,height:0},n=i.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(t,"'] .apexcharts-yaxis-title text")),o=n?n.getBoundingClientRect():{width:0,height:0};if(n){var l=this.xPaddingForYAxisTitle(t,r,o,e);n.setAttribute("x",l.xPos-(e?10:0));
vendor: 6,789 bytes, line 46395
46395var h=a.rotateAroundCenter(n);n.setAttribute("transform","rotate(".concat(e?-1*i.config.yaxis[t].title.rotate:i.config.yaxis[t].title.rotate," ").concat(h.x," ").concat(h.y,")"))}}},{key:"xPaddingForYAxisTitle",value:function(t,e,i,a){var s=this.w,r=0,n=10;return void 0===s.config.yaxis[t].title.text||t<0?{xPos:r,padd:0}:(a?r=e.width+s.config.yaxis[t].title.offsetX+i.width/2+n/2:(r=-1*e.width+s.config.yaxis[t].title.offsetX+n/2+i.width/2,s.globals.isBarHorizontal&&(n=25,r=-1*e.width-s.config.yaxis[t].title.offsetX-n)),{xPos:r,padd:n})}},{key:"setYAxisXPosition",value:function(t,e){var i=this.w,a=0,s=0,r=18,n=1;i.config.yaxis.length>1&&(this.multipleYs=!0),i.config.yaxis.forEach((function(o,l){var h=i.globals.ignoreYAxisIndexes.includes(l)||!o.show||o.floating||0===t[l].width,c=t[l].width+e[l].width;o.opposite?i.globals.isBarHorizontal?(s=i.globals.gridWidth+i.globals.translateX-1,i.globals.translateYAxisX[l]=s-o.labels.offsetX):(s=i.globals.gridWidth+i.globals.translateX+n,h||(n+=c+20),i.globals.translateYAxisX[l]=s-o.labels.offsetX+20):(a=i.globals.translateX-r,h||(r+=c+20),i.globals.translateYAxisX[l]=a+o.labels.offsetX)}))}},{key:"setYAxisTextAlignments",value:function(){var t=this.w;v.listToArray(t.globals.dom.baseEl.getElementsByClassName("apexcharts-yaxis")).forEach((function(e,i){var a=t.config.yaxis[i];if(a&&!a.floating&&void 0!==a.labels.align){var s=t.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-texts-g")),r=v.listToArray(t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-label"))),n=s.getBoundingClientRect();r.forEach((function(t){t.setAttribute("text-anchor",a.labels.align)})),"left"!==a.labels.align||a.opposite?"center"===a.labels.align?s.setAttribute("transform","translate(".concat(n.width/2*(a.opposite?1:-1),", 0)")):"right"===a.labels.align&&a.opposite&&s.setAttribute("transform","translate(".concat(n.width,", 0)")):s.setAttribute("transform","translate(-".concat(n.width,", 0)"))}}))}}]),t}(),aa=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.documentEvent=v.bind(this.documentEvent,this)}return s(t,[{key:"addEventListener",value:function(t,e){var i=this.w;i.globals.events.hasOwnProperty(t)?i.globals.events[t].push(e):i.globals.events[t]=[e]}},{key:"removeEventListener",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){var a=i.globals.events[t].indexOf(e);-1!==a&&i.globals.events[t].splice(a,1)}}},{key:"fireEvent",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){e&&e.length||(e=[]);for(var a=i.globals.events[t],s=a.length,r=0;r<s;r++)a[r].apply(null,e)}}},{key:"setupEventHandlers",value:function(){var t=this,e=this.w,i=this.ctx,a=e.globals.dom.baseEl.querySelector(e.globals.chartClass);this.ctx.eventList.forEach((function(t){a.addEventListener(t,(function(t){var a=null===t.target.getAttribute("i")&&-1!==e.globals.capturedSeriesIndex?e.globals.capturedSeriesIndex:t.target.getAttribute("i"),s=null===t.target.getAttribute("j")&&-1!==e.globals.capturedDataPointIndex?e.globals.capturedDataPointIndex:t.target.getAttribute("j"),r=Object.assign({},e,{seriesIndex:e.globals.axisCharts?a:0,dataPointIndex:s});"mousemove"===t.type||"touchmove"===t.type?"function"==typeof e.config.chart.events.mouseMove&&e.config.chart.events.mouseMove(t,i,r):"mouseleave"===t.type||"touchleave"===t.type?"function"==typeof e.config.chart.events.mouseLeave&&e.config.chart.events.mouseLeave(t,i,r):("mouseup"===t.type&&1===t.which||"touchend"===t.type)&&("function"==typeof e.config.chart.events.click&&e.config.chart.events.click(t,i,r),i.ctx.events.fireEvent("click",[t,i,r]))}),{capture:!1,passive:!0})})),this.ctx.eventList.forEach((function(i){e.globals.dom.baseEl.addEventListener(i,t.documentEvent,{passive:!0})})),this.ctx.core.setupBrushHandler()}},{key:"documentEvent",value:function(t){var e=this.w,i=t.target.className;if("click"===t.type){var a=e.globals.dom.baseEl.querySelector(".apexcharts-menu");a&&a.classList.contains("apexcharts-menu-open")&&"apexcharts-menu-icon"!==i&&a.classList.remove("apexcharts-menu-open")}e.globals.clientX="touchmove"===t.type?t.touches[0].clientX:t.clientX,e.globals.clientY="touchmove"===t.type?t.touches[0].clientY:t.clientY}}]),t}(),sa=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"setCurrentLocaleValues",value:function(t){var e=this.w.config.chart.locales;window.Apex.chart&&window.Apex.chart.locales&&window.Apex.chart.locales.length>0&&(e=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=e.filter((function(e){return e.name===t}))[0];if(!i)throw new Error("Wrong locale name provided. Please make sure you set the correct locale name in options");var a=v.extend(Hi,i);this.w.globals.locale=a.options}}]),t}(),ra=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"drawAxis",value:function(t,e){var i,a,s=this,r=this.w.globals,n=this.w.config,o=new Qi(this.ctx,e),l=new ia(this.ctx,e);r.axisCharts&&"radar"!==t&&(r.isBarHorizontal?(a=l.drawYaxisInversed(0),i=o.drawXaxisInversed(0),r.dom.elGraphical.add(i),r.dom.elGraphical.add(a)):(i=o.drawXaxis(),r.dom.elGraphical.add(i),n.yaxis.map((function(t,e){if(-1===r.ignoreYAxisIndexes.indexOf(e)&&(a=l.drawYaxis(e),r.dom.Paper.add(a),"back"===s.w.config.grid.position)){var i=r.dom.Paper.children()[1];i.remove(),r.dom.Paper.add(i)}}))))}}]),t}(),na=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"drawXCrosshairs",value:function(){var t=this.w,e=new Mi(this.ctx),i=new Li(this.ctx),a=t.config.xaxis.crosshairs.fill.gradient,s=t.config.xaxis.crosshairs.dropShadow,r=t.config.xaxis.crosshairs.fill.type,n=a.colorFrom,o=a.colorTo,l=a.opacityFrom,h=a.opacityTo,c=a.stops,d=s.enabled,u=s.left,g=s.top,p=s.blur,f=s.color,x=s.opacity,b=t.config.xaxis.crosshairs.fill.color;if(t.config.xaxis.crosshairs.show){"gradient"===r&&(b=e.drawGradient("vertical",n,o,l,h,null,c,null));var m=e.drawRect();1===t.config.xaxis.crosshairs.width&&(m=e.drawLine());var y=t.globals.gridHeight;(!v.isNumber(y)||y<0)&&(y=0);var w=t.config.xaxis.crosshairs.width;(!v.isNumber(w)||w<0)&&(w=0),m.attr({class:"apexcharts-xcrosshairs",x:0,y:0,y2:y,width:w,height:y,fill:b,filter:"none","fill-opacity":t.config.xaxis.crosshairs.opacity,stroke:t.config.xaxis.crosshairs.stroke.color,"stroke-width":t.config.xaxis.crosshairs.stroke.width,"stroke-dasharray":t.config.xaxis.crosshairs.stroke.dashArray}),d&&(m=i.dropShadow(m,{left:u,top:g,blur:p,color:f,opacity:x})),t.globals.dom.elGraphical.add(m)}}},{key:"drawYCrosshairs",value:function(){var t=this.w,e=new Mi(this.ctx),i=t.config.yaxis[0].crosshairs,a=t.globals.barPadForNumericAxis;if(t.config.yaxis[0].crosshairs.show){var s=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,
vendor: 5,299 bytes, line 46395
46395i.stroke.dashArray,i.stroke.width);s.attr({class:"apexcharts-ycrosshairs"}),t.globals.dom.elGraphical.add(s)}var r=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,0,0);r.attr({class:"apexcharts-ycrosshairs-hidden"}),t.globals.dom.elGraphical.add(r)}}]),t}(),oa=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"checkResponsiveConfig",value:function(t){var e=this,i=this.w,a=i.config;if(0!==a.responsive.length){var s=a.responsive.slice();s.sort((function(t,e){return t.breakpoint>e.breakpoint?1:e.breakpoint>t.breakpoint?-1:0})).reverse();var r=new Wi({}),n=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=s[0].breakpoint,n=window.innerWidth>0?window.innerWidth:screen.width;if(n>a){var o=v.clone(i.globals.initialConfig);o.series=v.clone(i.config.series);var l=Pi.extendArrayProps(r,o,i);t=v.extend(l,t),t=v.extend(i.config,t),e.overrideResponsiveOptions(t)}else for(var h=0;h<s.length;h++)n<s[h].breakpoint&&(t=Pi.extendArrayProps(r,s[h].options,i),t=v.extend(i.config,t),e.overrideResponsiveOptions(t))};if(t){var o=Pi.extendArrayProps(r,t,i);o=v.extend(i.config,o),n(o=v.extend(o,t))}else n({})}}},{key:"overrideResponsiveOptions",value:function(t){var e=new Wi(t).init({responsiveOverride:!0});this.w.config=e}}]),t}(),la=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.colors=[],this.isColorFn=!1,this.isHeatmapDistributed=this.checkHeatmapDistributed(),this.isBarDistributed=this.checkBarDistributed()}return s(t,[{key:"checkHeatmapDistributed",value:function(){var t=this.w.config,e=t.chart,i=t.plotOptions;return"treemap"===e.type&&i.treemap&&i.treemap.distributed||"heatmap"===e.type&&i.heatmap&&i.heatmap.distributed}},{key:"checkBarDistributed",value:function(){var t=this.w.config,e=t.chart,i=t.plotOptions;return i.bar&&i.bar.distributed&&("bar"===e.type||"rangeBar"===e.type)}},{key:"init",value:function(){this.setDefaultColors()}},{key:"setDefaultColors",value:function(){var t=this.w,e=new v;t.globals.dom.elWrap.classList.add("apexcharts-theme-".concat(t.config.theme.mode||"light"));var i=f(t.config.colors||t.config.fill.colors||[]);t.globals.colors=this.getColors(i),this.applySeriesColors(t.globals.seriesColors,t.globals.colors),t.config.theme.monochrome.enabled&&(t.globals.colors=this.getMonochromeColors(t.config.theme.monochrome,t.globals.series,e));var a=t.globals.colors.slice();this.pushExtraColors(t.globals.colors),this.applyColorTypes(["fill","stroke"],a),this.applyDataLabelsColors(a),this.applyRadarPolygonsColors(),this.applyMarkersColors(a)}},{key:"getColors",value:function(t){var e=this,i=this.w;return t&&0!==t.length?Array.isArray(t)&&t.length>0&&"function"==typeof t[0]?(this.isColorFn=!0,i.config.series.map((function(a,s){var r=t[s]||t[0];return"function"==typeof r?r({value:i.globals.axisCharts?i.globals.series[s][0]||0:i.globals.series[s],seriesIndex:s,dataPointIndex:s,w:e.w}):r}))):t:this.predefined()}},{key:"applySeriesColors",value:function(t,e){t.forEach((function(t,i){t&&(e[i]=t)}))}},{key:"getMonochromeColors",value:function(t,e,i){var a=t.color,s=t.shadeIntensity,r=t.shadeTo,n=this.isBarDistributed||this.isHeatmapDistributed?e[0].length*e.length:e.length,o=1/(n/s),l=0;return Array.from({length:n},(function(){var t="dark"===r?i.shadeColor(-1*l,a):i.shadeColor(l,a);return l+=o,t}))}},{key:"applyColorTypes",value:function(t,e){var i=this,a=this.w;t.forEach((function(t){a.globals[t].colors=void 0===a.config[t].colors?i.isColorFn?a.config.colors:e:a.config[t].colors.slice(),i.pushExtraColors(a.globals[t].colors)}))}},{key:"applyDataLabelsColors",value:function(t){var e=this.w;e.globals.dataLabels.style.colors=void 0===e.config.dataLabels.style.colors?t:e.config.dataLabels.style.colors.slice(),this.pushExtraColors(e.globals.dataLabels.style.colors,50)}},{key:"applyRadarPolygonsColors",value:function(){var t=this.w;t.globals.radarPolygons.fill.colors=void 0===t.config.plotOptions.radar.polygons.fill.colors?["dark"===t.config.theme.mode?"#343A3F":"none"]:t.config.plotOptions.radar.polygons.fill.colors.slice(),this.pushExtraColors(t.globals.radarPolygons.fill.colors,20)}},{key:"applyMarkersColors",value:function(t){var e=this.w;e.globals.markers.colors=void 0===e.config.markers.colors?t:e.config.markers.colors.slice(),this.pushExtraColors(e.globals.markers.colors)}},{key:"pushExtraColors",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=e||a.globals.series.length;if(null===i&&(i=this.isBarDistributed||this.isHeatmapDistributed||"heatmap"===a.config.chart.type&&a.config.plotOptions.heatmap&&a.config.plotOptions.heatmap.colorScale.inverse),i&&a.globals.series.length&&(s=a.globals.series[a.globals.maxValsInArrayIndex].length*a.globals.series.length),t.length<s)for(var r=s-t.length,n=0;n<r;n++)t.push(t[n])}},{key:"updateThemeOptions",value:function(t){t.chart=t.chart||{},t.tooltip=t.tooltip||{};var e=t.theme.mode,i="dark"===e?"palette4":"light"===e?"palette1":t.theme.palette||"palette1",a="dark"===e?"#f6f7f8":"light"===e?"#373d3f":t.chart.foreColor||"#373d3f";return t.tooltip.theme=e||"light",t.chart.foreColor=a,t.theme.palette=i,t}},{key:"predefined",value:function(){var t={palette1:["#008FFB","#00E396","#FEB019","#FF4560","#775DD0"],palette2:["#3f51b5","#03a9f4","#4caf50","#f9ce1d","#F
46395F9800"],palette3:["#33b2df","#546E7A","#d4526e","#13d8aa","#A5978B"],palette4:["#4ecdc4","#c7f464","#81D4FA","#fd6a6a","#546E7A"],palette5:["#2b908f","#f9a3a4","#90ee7e","#fa4443","#69d2e7"],palette6:["#449DD1","#F86624","#EA3546","#662E9B","#C5D86D"],palette7:["#D7263D","#1B998B","#2E294E","#F46036","#E2C044"],palette8:["#662E9B","#F86624","#F9C80E","#EA3546","#43BCCD"],palette9:["#5C4742","#A5978B","#8D5B4C","#5A2A27","#C4BBAF"],palette10:["#A300D6","#7D02EB","#5653FE","#2983FF","#00B1F2"],default:["#008FFB","#00E396","#FEB019","#FF4560","#775DD0"]};return t[this.w.config.theme.palette]||t.default}}]),t}(),ha=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"draw",value:function(){this.drawTitleSubtitle("title"),this.drawTitleSubtitle("subtitle")}},{key:"drawTitleSubtitle",value:function(t){var e=this.w,i="title"===t?e.config.title:e.config.subtitle,a=e.globals.svgWidth/2,s=i.offsetY,r="middle";if("left"===i.align?(a=10,r="start"):"right"===i.align&&(a=e.globals.svgWidth-10,r="end"),a+=i.offsetX,s=s+parseInt(i.style.fontSize,10)+i.margin/2,void 0!==i.text){var n=new Mi(this.ctx).drawText({x:a,y:s,text:i.text,textAnchor:r,fontSize:i.style.fontSize,fontFamily:i.style.fontFamily,fontWeight:i.style.fontWeight,foreColor:i.style.color,opacity:1});n.node.setAttribute("class","apexcharts-".concat(t,"-text")),e.globals.dom.Paper.add(n)}}}]),t}(),ca=function(){function t(e){i(this,t),this.w=e.w,this.dCtx=e}return s(t,[{key:"getTitleSubtitleCoords",value:function(t){var e=this.w,i=0,a=0,s="title"===t?e.config.title.floating:e.config.subtitle.floating,r=e.globals.dom.baseEl.querySelector(".apexcharts-".concat(t,"-text"));if(null!==r&&!s){var n=r.getBoundingClientRect();i=n.width,a=e.globals.axisCharts?n.height+5:n.height}return{width:i,height:a}}},{key:"getLegendsRect",value:function(){var t=this.w,e=t.globals.dom.elLegendWrap;t.config.legend.height||"top"!==t.config.legend.position&&"bottom"!==t.config.legend.position||(e.style.maxHeight=t.globals.svgHeight/2+"px");var i=Object.assign({},v.getBoundingClientRect(e));return null!==e&&!t.config.legend.floating&&t.config.legend.show?this.dCtx.lgRect={x:i.x,y:i.y,height:i.height,width:0===i.height?0:i.width}:this.dCtx.lgRect={x:0,y:0,height:0,width:0},"left"!==t.config.legend.position&&"right"!==t.config.legend.position||1.5*this.dCtx.lgRect.width>t.globals.svgWidth&&(this.dCtx.lgRect.width=t.globals.svgWidth/1.5),this.dCtx.lgRect}},{key:"getDatalabelsRect",value:function(){var t=this,e=this.w,i=[];e.config.series.forEach((function(s,r){s.data.forEach((function(s,n){var o;o=e.globals.series[r][n],a=e.config.dataLabels.formatter(o,{ctx:t.dCtx.ctx,seriesIndex:r,dataPointIndex:n,w:e}),i.push(a)}))}));var a=v.getLargestStringFromArr(i),s=new Mi(this.dCtx.ctx),r=e.config.dataLabels.style,n=s.getTextRects(a,parseInt(r.fontSize),r.fontFamily);return{width:1.05*n.width,height:n.height}}},{key:"getLargestStringFromMultiArr",value:function(t,e){var i=t;if(this.w.globals.isMultiLineX){var a=e.map((function(t,e){return Array.isArray(t)?t.length:1})),s=Math.max.apply(Math,f(a));i=e[a.indexOf(s)]}return i}}]),t}(),da=function(){function t(e){i(this,t),this.w=e.w,this.dCtx=e}return s(t,[{key:"getxAxisLabelsCoords",value:function(){var t,e=this.w,i=e.globals.labels.slice();if(e.config.xaxis.convertedCatToNumeric&&0===i.length&&(i=e.globals.categoryLabels),e.globals.timescaleLabels.length>0){var a=this.getxAxisTimeScaleLabelsCoords();t={width:a.width,height:a.height},e.globals.rotateXLabels=!1}else{this.dCtx.lgWidthForSideLegends="left"!==e.config.legend.position&&"right"!==e.config.legend.position||e.config.legend.floating?0:this.dCtx.lgRect.width;var s=e.globals.xLabelFormatter,r=v.getLargestStringFromArr(i),n=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,i);e.globals.isBarHorizontal&&(n=r=e.globals.yAxisScale[0].result.reduce((function(t,e){return t.length>e.length?t:e}),0));var o=new Xi(this.dCtx.ctx),l=r;r=o.xLabelFormat(s,r,l,{i:void 0,dateFormatter:new zi(this.dCtx.ctx).formatDate,w:e}),n=o.xLabelFormat(s,n,l,{i:void 0,dateFormatter:new zi(this.dCtx.ctx).formatDate,w:e}),(e.config.xaxis.convertedCatToNumeric&&void 0===r||""===String(r).trim())&&(n=r="1");var h=new Mi(this.dCtx.ctx),c=h.getTextRects(r,e.config.xaxis.labels.style.fontSize),d=c;if(r!==n&&(d=h.getTextRects(n,e.config.xaxis.labels.style.fontSize)),(t={width:c.width>=d.width?c.width:d.width,height:c.height>=d.height?c.height:d.height}).width*i.length>
vendor: 4,570 bytes, line 46395
46395e.globals.svgWidth-this.dCtx.lgWidthForSideLegends-this.dCtx.yAxisWidth-this.dCtx.gridPad.left-this.dCtx.gridPad.right&&0!==e.config.xaxis.labels.rotate||e.config.xaxis.labels.rotateAlways){if(!e.globals.isBarHorizontal){e.globals.rotateXLabels=!0;var u=function(t){return h.getTextRects(t,e.config.xaxis.labels.style.fontSize,e.config.xaxis.labels.style.fontFamily,"rotate(".concat(e.config.xaxis.labels.rotate," 0 0)"),!1)};c=u(r),r!==n&&(d=u(n)),t.height=(c.height>d.height?c.height:d.height)/1.5,t.width=c.width>d.width?c.width:d.width}}else e.globals.rotateXLabels=!1}return e.config.xaxis.labels.show||(t={width:0,height:0}),{width:t.width,height:t.height}}},{key:"getxAxisGroupLabelsCoords",value:function(){var t,e=this.w;if(!e.globals.hasXaxisGroups)return{width:0,height:0};var i,a=(null===(t=e.config.xaxis.group.style)||void 0===t?void 0:t.fontSize)||e.config.xaxis.labels.style.fontSize,s=e.globals.groups.map((function(t){return t.title})),r=v.getLargestStringFromArr(s),n=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,s),o=new Mi(this.dCtx.ctx),l=o.getTextRects(r,a),h=l;return r!==n&&(h=o.getTextRects(n,a)),i={width:l.width>=h.width?l.width:h.width,height:l.height>=h.height?l.height:h.height},e.config.xaxis.labels.show||(i={width:0,height:0}),{width:i.width,height:i.height}}},{key:"getxAxisTitleCoords",value:function(){var t=this.w,e=0,i=0;if(void 0!==t.config.xaxis.title.text){var a=new Mi(this.dCtx.ctx).getTextRects(t.config.xaxis.title.text,t.config.xaxis.title.style.fontSize);e=a.width,i=a.height}return{width:e,height:i}}},{key:"getxAxisTimeScaleLabelsCoords",value:function(){var t,e=this.w;this.dCtx.timescaleLabels=e.globals.timescaleLabels.slice();var i=this.dCtx.timescaleLabels.map((function(t){return t.value})),a=i.reduce((function(t,e){return void 0===t?(console.error("You have possibly supplied invalid Date format. Please supply a valid JavaScript Date"),0):t.length>e.length?t:e}),0);return 1.05*(t=new Mi(this.dCtx.ctx).getTextRects(a,e.config.xaxis.labels.style.fontSize)).width*i.length>e.globals.gridWidth&&0!==e.config.xaxis.labels.rotate&&(e.globals.overlappingXLabels=!0),t}},{key:"additionalPaddingXLabels",value:function(t){var e=this,i=this.w,a=i.globals,s=i.config,r=s.xaxis.type,n=t.width;a.skipLastTimelinelabel=!1,a.skipFirstTimelinelabel=!1;var o=i.config.yaxis[0].opposite&&i.globals.isBarHorizontal,l=function(t,o){s.yaxis.length>1&&function(t){return-1!==a.collapsedSeriesIndices.indexOf(t)}(o)||function(t){if(e.dCtx.timescaleLabels&&e.dCtx.timescaleLabels.length){var o=e.dCtx.timescaleLabels[0],l=e.dCtx.timescaleLabels[e.dCtx.timescaleLabels.length-1].position+n/1.75-e.dCtx.yAxisWidthRight,h=o.position-n/1.75+e.dCtx.yAxisWidthLeft,c="right"===i.config.legend.position&&e.dCtx.lgRect.width>0?e.dCtx.lgRect.width:0;l>a.svgWidth-a.translateX-c&&(a.skipLastTimelinelabel=!0),h<-(t.show&&!t.floating||"bar"!==s.chart.type&&"candlestick"!==s.chart.type&&"rangeBar"!==s.chart.type&&"boxPlot"!==s.chart.type?10:n/1.75)&&(a.skipFirstTimelinelabel=!0)}else"datetime"===r?e.dCtx.gridPad.right<n&&!a.rotateXLabels&&(a.skipLastTimelinelabel=!0):"datetime"!==r&&e.dCtx.gridPad.right<n/2-e.dCtx.yAxisWidthRight&&!a.rotateXLabels&&!i.config.xaxis.labels.trim&&(e.dCtx.xPadRight=n/2+1)}(t)};s.yaxis.forEach((function(t,i){o?(e.dCtx.gridPad.left<n&&(e.dCtx.xPadLeft=n/2+1),e.dCtx.xPadRight=n/2+1):l(t,i)}))}}]),t}(),ua=function(){function t(e){i(this,t),this.w=e.w,this.dCtx=e}return s(t,[{key:"getyAxisLabelsCoords",value:function(){var t=this,e=this.w,i=[],a=10,s=new Ri(this.dCtx.ctx);return e.config.yaxis.map((function(r,n){var o={seriesIndex:n,dataPointIndex:-1,w:e},l=e.globals.yAxisScale[n],h=0;if(!s.isYAxisHidden(n)&&r.labels.show&&void 0!==r.labels.minWidth&&(h=r.labels.minWidth),!s.isYAxisHidden(n)&&r.labels.show&&l.result.length){var c=e.globals.yLabelFormatters[n],d=l.niceMin===Number.MIN_VALUE?0:l.niceMin,u=l.result.reduce((function(t,e){var i,a;return(null===(i=String(c(t,o)))||void 0===i?void 0:i.length)>(null===(a=String(c(e,o)))||void 0===a?void 0:a.length)?t:e}),d),g=u=c(u,o);if(void 0!==u&&0!==u.length||(u=l.niceMax),e.globals.isBarHorizontal){a=0;var p=e.globals.labels.slice();u=v.getLargestStringFromArr(p),u=c(u,{seriesIndex:n,dataPointIndex:-1,w:e}),g=t.dCtx.dimHelpers.getLargestStringFromMultiArr(u,p)}var f=new Mi(t.dCtx.ctx),x="rotate(".concat(r.labels.rotate," 0 0)"),b=f.getTextRects(u,r.labels.style.fontSize,r.labels.style.fontFamily,x,!1),m=b;u!==g&&(m=f.getTextRects(g,r.labels.style.fontSize,r.labels.style.fontFamily,x,!1)),i.push({width:(h>m.width||h>b.width?h:m.width>
vendor: 8,192 bytes, line 46395
46395b.width?m.width:b.width)+a,height:m.height>b.height?m.height:b.height})}else i.push({width:0,height:0})})),i}},{key:"getyAxisTitleCoords",value:function(){var t=this,e=this.w,i=[];return e.config.yaxis.map((function(e,a){if(e.show&&void 0!==e.title.text){var s=new Mi(t.dCtx.ctx),r="rotate(".concat(e.title.rotate," 0 0)"),n=s.getTextRects(e.title.text,e.title.style.fontSize,e.title.style.fontFamily,r,!1);i.push({width:n.width,height:n.height})}else i.push({width:0,height:0})})),i}},{key:"getTotalYAxisWidth",value:function(){var t=this.w,e=0,i=0,a=0,s=t.globals.yAxisScale.length>1?10:0,r=new Ri(this.dCtx.ctx),n=function(n,o){var l=t.config.yaxis[o].floating,h=0;n.width>0&&!l?(h=n.width+s,function(e){return t.globals.ignoreYAxisIndexes.indexOf(e)>-1}(o)&&(h=h-n.width-s)):h=l||r.isYAxisHidden(o)?0:5,t.config.yaxis[o].opposite?a+=h:i+=h,e+=h};return t.globals.yLabelsCoords.map((function(t,e){n(t,e)})),t.globals.yTitleCoords.map((function(t,e){n(t,e)})),t.globals.isBarHorizontal&&!t.config.yaxis[0].floating&&(e=t.globals.yLabelsCoords[0].width+t.globals.yTitleCoords[0].width+15),this.dCtx.yAxisWidthLeft=i,this.dCtx.yAxisWidthRight=a,e}}]),t}(),ga=function(){function t(e){i(this,t),this.w=e.w,this.dCtx=e}return s(t,[{key:"gridPadForColumnsInNumericAxis",value:function(t){var e=this.w,i=e.config,a=e.globals;if(a.noData||a.collapsedSeries.length+a.ancillaryCollapsedSeries.length===i.series.length)return 0;var s=function(t){return["bar","rangeBar","candlestick","boxPlot"].includes(t)},r=i.chart.type,n=0,o=s(r)?i.series.length:1;a.comboBarCount>0&&(o=a.comboBarCount),a.collapsedSeries.forEach((function(t){s(t.type)&&(o-=1)})),i.chart.stacked&&(o=1);var l=s(r)||a.comboBarCount>0,h=Math.abs(a.initialMaxX-a.initialMinX);if(l&&a.isXNumeric&&!a.isBarHorizontal&&o>0&&0!==h){h<=3&&(h=a.dataPoints);var c=h/t,d=a.minXDiff&&a.minXDiff/c>0?a.minXDiff/c:0;d>t/2&&(d/=2),(n=d*parseInt(i.plotOptions.bar.columnWidth,10)/100)<1&&(n=1),a.barPadForNumericAxis=n}return n}},{key:"gridPadFortitleSubtitle",value:function(){var t=this,e=this.w,i=e.globals,a=this.dCtx.isSparkline||!i.axisCharts?0:10;["title","subtitle"].forEach((function(s){void 0!==e.config[s].text?a+=e.config[s].margin:a+=t.dCtx.isSparkline||!i.axisCharts?0:5})),!e.config.legend.show||"bottom"!==e.config.legend.position||e.config.legend.floating||i.axisCharts||(a+=10);var s=this.dCtx.dimHelpers.getTitleSubtitleCoords("title"),r=this.dCtx.dimHelpers.getTitleSubtitleCoords("subtitle");i.gridHeight-=s.height+r.height+a,i.translateY+=s.height+r.height+a}},{key:"setGridXPosForDualYAxis",value:function(t,e){var i=this.w,a=new Ri(this.dCtx.ctx);i.config.yaxis.forEach((function(s,r){-1!==i.globals.ignoreYAxisIndexes.indexOf(r)||s.floating||a.isYAxisHidden(r)||(s.opposite&&(i.globals.translateX-=e[r].width+t[r].width+parseInt(s.labels.style.fontSize,10)/1.2+12),i.globals.translateX<2&&(i.globals.translateX=2))}))}}]),t}(),pa=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.lgRect={},this.yAxisWidth=0,this.yAxisWidthLeft=0,this.yAxisWidthRight=0,this.xAxisHeight=0,this.isSparkline=this.w.config.chart.sparkline.enabled,this.dimHelpers=new ca(this),this.dimYAxis=new ua(this),this.dimXAxis=new da(this),this.dimGrid=new ga(this),this.lgWidthForSideLegends=0,this.gridPad=this.w.config.grid.padding,this.xPadRight=0,this.xPadLeft=0}return s(t,[{key:"plotCoords",value:function(){var t=this,e=this.w,i=e.globals;this.lgRect=this.dimHelpers.getLegendsRect(),this.datalabelsCoords={width:0,height:0};var a=Array.isArray(e.config.stroke.width)?Math.max.apply(Math,f(e.config.stroke.width)):e.config.stroke.width;this.isSparkline&&((e.config.markers.discrete.length>0||e.config.markers.size>0)&&Object.entries(this.gridPad).forEach((function(e){var i=p(e,2),a=i[0],s=i[1];t.gridPad[a]=Math.max(s,t.w.globals.markers.largestSize/1.5)})),this.gridPad.top=Math.max(a/2,this.gridPad.top),this.gridPad.bottom=Math.max(a/2,this.gridPad.bottom)),i.axisCharts?this.setDimensionsForAxisCharts():this.setDimensionsForNonAxisCharts(),this.dimGrid.gridPadFortitleSubtitle(),i.gridHeight=i.gridHeight-this.gridPad.top-this.gridPad.bottom,i.gridWidth=i.gridWidth-this.gridPad.left-this.gridPad.right-this.xPadRight-this.xPadLeft;var s=this.dimGrid.gridPadForColumnsInNumericAxis(i.gridWidth);i.gridWidth=i.gridWidth-2*s,i.translateX=i.translateX+this.gridPad.left+this.xPadLeft+(s>0?s:0),i.translateY=i.translateY+this.gridPad.top}},{key:"setDimensionsForAxisCharts",value:function(){var t=this,e=this.w,i=e.globals,a=this.dimYAxis.getyAxisLabelsCoords(),s=this.dimYAxis.getyAxisTitleCoords();i.isSlopeChart&&(this.datalabelsCoords=this.dimHelpers.getDatalabelsRect()),e.globals.yLabelsCoords=[],e.globals.yTitleCoords=[],e.config.yaxis.map((function(t,i){e.globals.yLabelsCoords.push({width:a[i].width,index:i}),e.globals.yTitleCoords.push({width:s[i].width,index:i})})),this.yAxisWidth=this.dimYAxis.getTotalYAxisWidth();var r=this.dimXAxis.getxAxisLabelsCoords(),n=this.dimXAxis.getxAxisGroupLabelsCoords(),o=this.dimXAxis.getxAxisTitleCoords();this.conditionalChecksForAxisCoords(r,o,n),i.translateXAxisY=e.globals.rotateXLabels?this.xAxisHeight/8:-4,i.translateXAxisX=e.globals.rotateXLabels&&e.globals.isXNumeric&&e.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,e.globals.isBarHorizontal&&(i.rotateXLabels=!1,i.translateXAxisY=parseInt(e.config.xaxis.labels.style.fontSize,10)/1.5*-1),i.translateXAxisY=i.translateXAxisY+e.config.xaxis.labels.offsetY,i.translateXAxisX=i.translateXAxisX+e.config.xaxis.labels.offsetX;var l=this.yAxisWidth,h=this.xAxisHeight;i.xAxisLabelsHeight=this.xAxisHeight-o.height,i.xAxisGroupLabelsHeight=i.xAxisLabelsHeight-r.height,i.xAxisLabelsWidth=this.xAxisWidth,i.xAxisHeight=this.xAxisHeight;var c=10;("radar"===e.config.chart.type||this.isSparkline)&&(l=0,h=0),this.isSparkline&&(this.lgRect={height:0,width:0}),(this.isSparkline||"treemap"===e.config.chart.type)&&(l=0,h=0,c=0),this.isSparkline||"treemap"===e.config.chart.type||this.dimXAxis.additionalPaddingXLabels(r);var d=function(){i.translateX=l+t.datalabelsCoords.width,i.gridHeight=i.svgHeight-t.lgRect.height-h-(t.isSparkline||"treemap"===e.config.chart.type?0:e.globals.rotateXLabels?10:15),i.gridWidth=i.svgWidth-l-2*t.datalabelsCoords.width};switch("top"===e.config.xaxis.position&&(c=i.xAxisHeight-e.config.xaxis.axisTicks.height-5),e.config.legend.position){case"bottom":i.translateY=c,d();break;case"top":i.translateY=this.lgRect.height+c,d();break;case"left":i.translateY=c,i.translateX=this.lgRect.width+l+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-2*this.datalabelsCoords.width;break;case"right":i.translateY=c,i.translateX=l+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-2*this.datalabelsCoords.width-5;break;default:throw new Error("Legend position not supported")}this.dimGrid.setGridXPosForDualYAxis(s,a),new ia(this.ctx).setYAxisXPosition(a,s)}},{key:"setDimensionsForNonAxisCharts",value:function(){var t=this.w,e=t.globals,i=t.config,a=0;t.config.legend.show&&!t.config.legend.floating&&(a=20);var s="pie"===i.chart.type||"polarArea"===i.chart.type||"donut"===i.chart.type?"pie":"radialBar",r=i.plotOptions[s].offsetY,n=i.plotOptions[s].offsetX;if(!i.legend.show||i.legend.floating){e.gridHeight=e.svgHeight;var o=e.dom.elWrap.getBoundingClientRect().width;return e.gridWidth=Math.min(o,e.gridHeight),e.translateY=r,void(e.translateX=n+(e.svgWidth-e.gridWidth)/2)}switch(i.legend.position){case"bottom":e.gridHeight=e.svgHeight-this.lgRect.height,e.gridWidth=e.svgWidth,e.translateY=r-10,e.translateX=n+(e.svgWidth-e.gridWidth)/2;break;case"top":e.gridHeight=e.svgHeight-this.lgRect.height,e.gridWidth=e.svgWidth,e.translateY=this.lgRect.height+r+10,e.translateX=n+(e.svgWidth-e.gridWidth)/2;break;case"left":e.gridWidth=e.svgWidth-this.lgRect.width-a,e.gridHeight="auto"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=n+this.lgRect.width+a;break;case"right":e.gridWidth=e.svgWidth-this.lgRect.width-a-5,e.gridHeight="auto"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=n+10;break;default:throw new Error("Legend position not supported")}}}
vendor: 4,787 bytes, line 46395
46395,{key:"conditionalChecksForAxisCoords",value:function(t,e,i){var a=this.w,s=a.globals.hasXaxisGroups?2:1,r=i.height+t.height+e.height,n=a.globals.isMultiLineX?1.2:a.globals.LINE_HEIGHT_RATIO,o=a.globals.rotateXLabels?22:10,l=a.globals.rotateXLabels&&"bottom"===a.config.legend.position?10:0;this.xAxisHeight=r*n+s*o+l,this.xAxisWidth=t.width,this.xAxisHeight-e.height>a.config.xaxis.labels.maxHeight&&(this.xAxisHeight=a.config.xaxis.labels.maxHeight),a.config.xaxis.labels.minHeight&&this.xAxisHeight<a.config.xaxis.labels.minHeight&&(this.xAxisHeight=a.config.xaxis.labels.minHeight),a.config.xaxis.floating&&(this.xAxisHeight=0);var h=0,c=0;a.config.yaxis.forEach((function(t){h+=t.labels.minWidth,c+=t.labels.maxWidth})),this.yAxisWidth<h&&(this.yAxisWidth=h),this.yAxisWidth>c&&(this.yAxisWidth=c)}}]),t}(),fa=function(){function t(e){i(this,t),this.w=e.w,this.lgCtx=e}return s(t,[{key:"getLegendStyles",value:function(){var t,e,i,a=document.createElement("style");a.setAttribute("type","text/css");var s=(null===(t=this.lgCtx.ctx)||void 0===t||null===(e=t.opts)||void 0===e||null===(i=e.chart)||void 0===i?void 0:i.nonce)||this.w.config.chart.nonce;s&&a.setAttribute("nonce",s);var r=document.createTextNode("\n      .apexcharts-flip-y {\n        transform: scaleY(-1) translateY(-100%);\n        transform-origin: top;\n        transform-box: fill-box;\n      }\n      .apexcharts-flip-x {\n        transform: scaleX(-1);\n        transform-origin: center;\n        transform-box: fill-box;\n      }\n      .apexcharts-legend {\n        display: flex;\n        overflow: auto;\n        padding: 0 10px;\n      }\n      .apexcharts-legend.apexcharts-legend-group-horizontal {\n        flex-direction: column;\n      }\n      .apexcharts-legend-group {\n        display: flex;\n      }\n      .apexcharts-legend-group-vertical {\n        flex-direction: column-reverse;\n      }\n      .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top {\n        flex-wrap: wrap\n      }\n      .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\n        flex-direction: column;\n        bottom: 0;\n      }\n      .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\n        justify-content: flex-start;\n        align-items: flex-start;\n      }\n      .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center {\n        justify-content: center;\n        align-items: center;\n      }\n      .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right {\n        justify-content: flex-end;\n        align-items: flex-end;\n      }\n      .apexcharts-legend-series {\n        cursor: pointer;\n        line-height: normal;\n        display: flex;\n        align-items: center;\n      }\n      .apexcharts-legend-text {\n        position: relative;\n        font-size: 14px;\n      }\n      .apexcharts-legend-text *, .apexcharts-legend-marker * {\n        pointer-events: none;\n      }\n      .apexcharts-legend-marker {\n        position: relative;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        cursor: pointer;\n        margin-right: 1px;\n      }\n\n      .apexcharts-legend-series.apexcharts-no-click {\n        cursor: auto;\n      }\n      .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series {\n        display: none !important;\n      }\n      .apexcharts-inactive-legend {\n        opacity: 0.45;\n      }\n\n    ");return a.appendChild(r),a}},{key:"getLegendDimensions",value:function(){var t=this.w.globals.dom.baseEl.querySelector(".apexcharts-legend").getBoundingClientRect(),e=t.width;return{clwh:t.height,clww:e}}},{key:"appendToForeignObject",value:function(){this.w.globals.dom.elLegendForeign.appendChild(this.getLegendStyles())}},{key:"toggleDataSeries",value:function(t,e){var i=this,a=this.w;if(a.globals.axisCharts||"radialBar"===a.config.chart.type){a.globals.resized=!0;var s=null,r=null;if(a.globals.risingSeries=[],a.globals.axisCharts?(s=a.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(t,"']")),r=parseInt(s.getAttribute("data:realIndex"),10)):(s=a.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(t+1,"']")),r=parseInt(s.getAttribute("rel"),10)-1),e)[{cs:a.globals.collapsedSeries,csi:a.globals.collapsedSeriesIndices},{cs:a.globals.ancillaryCollapsedSeries,csi:a.globals.ancillaryCollapsedSeriesIndices}
vendor: 4,716 bytes, line 46395
46395].forEach((function(t){i.riseCollapsedSeries(t.cs,t.csi,r)}));else this.hideSeries({seriesEl:s,realIndex:r})}else{var n=a.globals.dom.Paper.findOne(" .apexcharts-series[rel='".concat(t+1,"'] path")),o=a.config.chart.type;if("pie"===o||"polarArea"===o||"donut"===o){var l=a.config.plotOptions.pie.donut.labels;new Mi(this.lgCtx.ctx).pathMouseDown(n,null),this.lgCtx.ctx.pie.printDataLabelsInner(n.node,l)}n.fire("click")}}},{key:"getSeriesAfterCollapsing",value:function(t){var e=t.realIndex,i=this.w,a=i.globals,s=v.clone(i.config.series);if(a.axisCharts){var r=i.config.yaxis[a.seriesYAxisReverseMap[e]],n={index:e,data:s[e].data.slice(),type:s[e].type||i.config.chart.type};if(r&&r.show&&r.showAlways)a.ancillaryCollapsedSeriesIndices.indexOf(e)<0&&(a.ancillaryCollapsedSeries.push(n),a.ancillaryCollapsedSeriesIndices.push(e));else if(a.collapsedSeriesIndices.indexOf(e)<0){a.collapsedSeries.push(n),a.collapsedSeriesIndices.push(e);var o=a.risingSeries.indexOf(e);a.risingSeries.splice(o,1)}}else a.collapsedSeries.push({index:e,data:s[e]}),a.collapsedSeriesIndices.push(e);return a.allSeriesCollapsed=a.collapsedSeries.length+a.ancillaryCollapsedSeries.length===i.config.series.length,this._getSeriesBasedOnCollapsedState(s)}},{key:"hideSeries",value:function(t){for(var e=t.seriesEl,i=t.realIndex,a=this.w,s=this.getSeriesAfterCollapsing({realIndex:i}),r=e.childNodes,n=0;n<r.length;n++)r[n].classList.contains("apexcharts-series-markers-wrap")&&(r[n].classList.contains("apexcharts-hide")?r[n].classList.remove("apexcharts-hide"):r[n].classList.add("apexcharts-hide"));this.lgCtx.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled)}},{key:"riseCollapsedSeries",value:function(t,e,i){var a=this.w,s=v.clone(a.config.series);if(t.length>0){for(var r=0;r<t.length;r++)t[r].index===i&&(a.globals.axisCharts?s[i].data=t[r].data.slice():s[i]=t[r].data,"number"!=typeof s[i]&&(s[i].hidden=!1),t.splice(r,1),e.splice(r,1),a.globals.risingSeries.push(i));s=this._getSeriesBasedOnCollapsedState(s),this.lgCtx.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled)}}},{key:"_getSeriesBasedOnCollapsedState",value:function(t){var e=this.w,i=0;return e.globals.axisCharts?t.forEach((function(a,s){e.globals.collapsedSeriesIndices.indexOf(s)<0&&e.globals.ancillaryCollapsedSeriesIndices.indexOf(s)<0||(t[s].data=[],i++)})):t.forEach((function(a,s){!e.globals.collapsedSeriesIndices.indexOf(s)<0&&(t[s]=0,i++)})),e.globals.allSeriesCollapsed=i===t.length,t}}]),t}(),xa=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.onLegendClick=this.onLegendClick.bind(this),this.onLegendHovered=this.onLegendHovered.bind(this),this.isBarsDistributed="bar"===this.w.config.chart.type&&this.w.config.plotOptions.bar.distributed&&1===this.w.config.series.length,this.legendHelpers=new fa(this)}return s(t,[{key:"init",value:function(){var t=this.w,e=t.globals,i=t.config,a=i.legend.showForSingleSeries&&1===e.series.length||this.isBarsDistributed||e.series.length>1;if(this.legendHelpers.appendToForeignObject(),(a||!e.axisCharts)&&i.legend.show){for(;e.dom.elLegendWrap.firstChild;)e.dom.elLegendWrap.removeChild(e.dom.elLegendWrap.firstChild);this.drawLegends(),"bottom"===i.legend.position||"top"===i.legend.position?this.legendAlignHorizontal():"right"!==i.legend.position&&"left"!==i.legend.position||this.legendAlignVertical()}}},{key:"createLegendMarker",value:function(t){var e=t.i,i=t.fillcolor,a=this.w,s=document.createElement("span");s.classList.add("apexcharts-legend-marker");var r=a.config.legend.markers.shape||a.config.markers.shape,n=r;Array.isArray(r)&&(n=r[e]);var o=Array.isArray(a.config.legend.markers.size)?parseFloat(a.config.legend.markers.size[e]):parseFloat(a.config.legend.markers.size),l=Array.isArray(a.config.legend.markers.offsetX)?parseFloat(a.config.legend.markers.offsetX[e]):parseFloat(a.config.legend.markers.offsetX),h=Array.isArray(a.config.legend.markers.offsetY)?parseFloat(a.config.legend.markers.offsetY[e]):parseFloat(a.config.legend.markers.offsetY),c=Array.isArray(a.config.legend.markers.strokeWidth)?parseFloat(a.config.legend.markers.strokeWidth[e]):parseFloat(a.config.legend.markers.strokeWidth),d=s.style;if(d.height=2*(o+c)+"px",d.width=2*(o+c)+"px",d.left=l+"px",d.top=h+"px",a.config.legend.markers.customHTML)d.background="transparent",d.color=i[e],Array.isArray(a.config.legend.markers.customHTML)?a.config.legend.markers.customHTML[e]&&(s.innerHTML=a.config.legend.markers.customHTML[e]()):s.innerHTML=a.config.legend.markers.customHTML();else{var g=new Vi(this.ctx).getMarkerConfig({cssClass:"apexcharts-legend-marker apexcharts-marker apexcharts-marker-".concat(n),seriesIndex:e,strokeWidth:c,size:o}
vendor: 10,837 bytes, line 46395
46395),p=window.SVG().addTo(s).size("100%","100%"),f=new Mi(this.ctx).drawMarker(0,0,u(u({},g),{},{pointFillColor:Array.isArray(i)?i[e]:g.pointFillColor,shape:n}));a.globals.dom.Paper.find(".apexcharts-legend-marker.apexcharts-marker").forEach((function(t){t.node.classList.contains("apexcharts-marker-triangle")?t.node.style.transform="translate(50%, 45%)":t.node.style.transform="translate(50%, 50%)"})),p.add(f)}return s}},{key:"drawLegends",value:function(){var t=this,e=this,i=this.w,a=i.config.legend.fontFamily,s=i.globals.seriesNames,r=i.config.legend.markers.fillColors?i.config.legend.markers.fillColors.slice():i.globals.colors.slice();if("heatmap"===i.config.chart.type){var n=i.config.plotOptions.heatmap.colorScale.ranges;s=n.map((function(t){return t.name?t.name:t.from+" - "+t.to})),r=n.map((function(t){return t.color}))}else this.isBarsDistributed&&(s=i.globals.labels.slice());i.config.legend.customLegendItems.length&&(s=i.config.legend.customLegendItems);var o=i.globals.legendFormatter,l=i.config.legend.inverseOrder,h=[];i.globals.seriesGroups.length>1&&i.config.legend.clusterGroupedSeries&&i.globals.seriesGroups.forEach((function(t,e){h[e]=document.createElement("div"),h[e].classList.add("apexcharts-legend-group","apexcharts-legend-group-".concat(e)),"horizontal"===i.config.legend.clusterGroupedSeriesOrientation?i.globals.dom.elLegendWrap.classList.add("apexcharts-legend-group-horizontal"):h[e].classList.add("apexcharts-legend-group-vertical")}));for(var c=function(e){var n,l=o(s[e],{seriesIndex:e,w:i}),c=!1,d=!1;if(i.globals.collapsedSeries.length>0)for(var u=0;u<i.globals.collapsedSeries.length;u++)i.globals.collapsedSeries[u].index===e&&(c=!0);if(i.globals.ancillaryCollapsedSeriesIndices.length>0)for(var g=0;g<i.globals.ancillaryCollapsedSeriesIndices.length;g++)i.globals.ancillaryCollapsedSeriesIndices[g]===e&&(d=!0);var p=t.createLegendMarker({i:e,fillcolor:r});Mi.setAttrs(p,{rel:e+1,"data:collapsed":c||d}),(c||d)&&p.classList.add("apexcharts-inactive-legend");var f=document.createElement("div"),x=document.createElement("span");x.classList.add("apexcharts-legend-text"),x.innerHTML=Array.isArray(l)?l.join(" "):l;var b=i.config.legend.labels.useSeriesColors?i.globals.colors[e]:Array.isArray(i.config.legend.labels.colors)?null===(n=i.config.legend.labels.colors)||void 0===n?void 0:n[e]:i.config.legend.labels.colors;b||(b=i.config.chart.foreColor),x.style.color=b,x.style.fontSize=parseFloat(i.config.legend.fontSize)+"px",x.style.fontWeight=i.config.legend.fontWeight,x.style.fontFamily=a||i.config.chart.fontFamily,Mi.setAttrs(x,{rel:e+1,i:e,"data:default-text":encodeURIComponent(l),"data:collapsed":c||d}),f.appendChild(p),f.appendChild(x);var m=new Pi(t.ctx);i.config.legend.showForZeroSeries||0===m.getSeriesTotalByIndex(e)&&m.seriesHaveSameValues(e)&&!m.isSeriesNull(e)&&-1===i.globals.collapsedSeriesIndices.indexOf(e)&&-1===i.globals.ancillaryCollapsedSeriesIndices.indexOf(e)&&f.classList.add("apexcharts-hidden-zero-series");i.config.legend.showForNullSeries||m.isSeriesNull(e)&&-1===i.globals.collapsedSeriesIndices.indexOf(e)&&-1===i.globals.ancillaryCollapsedSeriesIndices.indexOf(e)&&f.classList.add("apexcharts-hidden-null-series"),h.length?i.globals.seriesGroups.forEach((function(t,a){var s;t.includes(null===(s=i.config.series[e])||void 0===s?void 0:s.name)&&(i.globals.dom.elLegendWrap.appendChild(h[a]),h[a].appendChild(f))})):i.globals.dom.elLegendWrap.appendChild(f),i.globals.dom.elLegendWrap.classList.add("apexcharts-align-".concat(i.config.legend.horizontalAlign)),i.globals.dom.elLegendWrap.classList.add("apx-legend-position-"+i.config.legend.position),f.classList.add("apexcharts-legend-series"),f.style.margin="".concat(i.config.legend.itemMargin.vertical,"px ").concat(i.config.legend.itemMargin.horizontal,"px"),i.globals.dom.elLegendWrap.style.width=i.config.legend.width?i.config.legend.width+"px":"",i.globals.dom.elLegendWrap.style.height=i.config.legend.height?i.config.legend.height+"px":"",Mi.setAttrs(f,{rel:e+1,seriesName:v.escapeString(s[e]),"data:collapsed":c||d}),(c||d)&&f.classList.add("apexcharts-inactive-legend"),i.config.legend.onItemClick.toggleDataSeries||f.classList.add("apexcharts-no-click")},d=l?s.length-1:0;l?d>=0:d<=s.length-1;l?d--:d++)c(d);i.globals.dom.elWrap.addEventListener("click",e.onLegendClick,!0),i.config.legend.onItemHover.highlightDataSeries&&0===i.config.legend.customLegendItems.length&&(i.globals.dom.elWrap.addEventListener("mousemove",e.onLegendHovered,!0),i.globals.dom.elWrap.addEventListener("mouseout",e.onLegendHovered,!0))}},{key:"setLegendWrapXY",value:function(t,e){var i=this.w,a=i.globals.dom.elLegendWrap,s=a.clientHeight,r=0,n=0;if("bottom"===i.config.legend.position)n=i.globals.svgHeight-Math.min(s,i.globals.svgHeight/2)-5;else if("top"===i.config.legend.position){var o=new pa(this.ctx),l=o.dimHelpers.getTitleSubtitleCoords("title").height,h=o.dimHelpers.getTitleSubtitleCoords("subtitle").height;n=(l>0?l-10:0)+(h>0?h-10:0)}a.style.position="absolute",r=r+t+i.config.legend.offsetX,n=n+e+i.config.legend.offsetY,a.style.left=r+"px",a.style.top=n+"px","right"===i.config.legend.position&&(a.style.left="auto",a.style.right=25+i.config.legend.offsetX+"px");["width","height"].forEach((function(t){a.style[t]&&(a.style[t]=parseInt(i.config.legend[t],10)+"px")}))}},{key:"legendAlignHorizontal",value:function(){var t=this.w;t.globals.dom.elLegendWrap.style.right=0;var e=new pa(this.ctx),i=e.dimHelpers.getTitleSubtitleCoords("title"),a=e.dimHelpers.getTitleSubtitleCoords("subtitle"),s=0;"top"===t.config.legend.position&&(s=i.height+a.height+t.config.title.margin+t.config.subtitle.margin-10),this.setLegendWrapXY(20,s)}},{key:"legendAlignVertical",value:function(){var t=this.w,e=this.legendHelpers.getLegendDimensions(),i=0;"left"===t.config.legend.position&&(i=20),"right"===t.config.legend.position&&(i=t.globals.svgWidth-e.clww-10),this.setLegendWrapXY(i,20)}},{key:"onLegendHovered",value:function(t){var e=this.w,i=t.target.classList.contains("apexcharts-legend-series")||t.target.classList.contains("apexcharts-legend-text")||t.target.classList.contains("apexcharts-legend-marker");if("heatmap"===e.config.chart.type||this.isBarsDistributed){if(i){var a=parseInt(t.target.getAttribute("rel"),10)-1;this.ctx.events.fireEvent("legendHover",[this.ctx,a,this.w]),new Zi(this.ctx).highlightRangeInSeries(t,t.target)}}else!t.target.classList.contains("apexcharts-inactive-legend")&&i&&new Zi(this.ctx).toggleSeriesOnHover(t,t.target)}},{key:"onLegendClick",value:function(t){var e=this.w;if(!e.config.legend.customLegendItems.length&&(t.target.classList.contains("apexcharts-legend-series")||t.target.classList.contains("apexcharts-legend-text")||t.target.classList.contains("apexcharts-legend-marker"))){var i=parseInt(t.target.getAttribute("rel"),10)-1,a="true"===t.target.getAttribute("data:collapsed"),s=this.w.config.chart.events.legendClick;"function"==typeof s&&s(this.ctx,i,this.w),this.ctx.events.fireEvent("legendClick",[this.ctx,i,this.w]);var r=this.w.config.legend.markers.onClick;"function"==typeof r&&t.target.classList.contains("apexcharts-legend-marker")&&(r(this.ctx,i,this.w),this.ctx.events.fireEvent("legendMarkerClick",[this.ctx,i,this.w])),"treemap"!==e.config.chart.type&&"heatmap"!==e.config.chart.type&&!this.isBarsDistributed&&e.config.legend.onItemClick.toggleDataSeries&&this.legendHelpers.toggleDataSeries(i,a)}}}]),t}(),ba=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w;var a=this.w;this.ev=this.w.config.chart.events,this.selectedClass="apexcharts-selected",this.localeValues=this.w.globals.locale.toolbar,this.minX=a.globals.minX,this.maxX=a.globals.maxX}return s(t,[{key:"createToolbar",value:function(){var t=this,e=this.w,i=function(){return document.createElement("div")},a=i();if(a.setAttribute("class","apexcharts-toolbar"),a.style.top=e.config.chart.toolbar.offsetY+"px",a.style.right=3-e.config.chart.toolbar.offsetX+"px",e.globals.dom.elWrap.appendChild(a),this.elZoom=i(),this.elZoomIn=i(),this.elZoomOut=i(),this.elPan=i(),this.elSelection=i(),this.elZoomReset=i(),this.elMenuIcon=i(),this.elMenu=i(),this.elCustomIcons=[],this.t=e.config.chart.toolbar.tools,Array.isArray(this.t.customIcons))for(var s=0;s<this.t.customIcons.length;s++)this.elCustomIcons.push(i());var r=[],n=function(i,a,s){var n=i.toLowerCase();t.t[n]&&e.config.chart.zoom.enabled&&r.push({el:a,icon:"string"==typeof t.t[n]?t.t[n]:s,title:t.localeValues[i],class:"apexcharts-".concat(n,"-icon")})};n("zoomIn",this.elZoomIn,'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n    <path d="M0 0h24v24H0z" fill="none"/>\n    <path d="M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4V7zm-1-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/>\n</svg>\n'),n("zoomOut",this.elZoomOut,'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n    <path d="M0 0h24v24H0z" fill="none"/>\n    <path d="M7 11v2h10v-2H7zm5-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/>\n</svg>\n');var o=function(i){t.t[i]&&e.config.chart[i].enabled&&r.push({el:"zoom"===i?t.elZoom:t.elSelection,icon:"string"==typeof t.t[i]?t.t[i]:"zoom"===i?'<svg xmlns="http://www.w3.org/2000/svg" fill="#000000" height="24" viewBox="0 0 24 24" width="24">\n    <path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/>\n    <path d="M0 0h24v24H0V0z" fill="none"/>\n    <path d="M12 10h-2v2H9v-2H7V9h2V7h1v2h2v1z"/>\n</svg>':'<svg fill="#6E8192" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">\n    <path d="M0 0h24v24H0z" fill="none"/>\n    <path d="M3 5h2V3c-1.1 0-2 .9-2 2zm0 8h2v-2H3v2zm4 8h2v-2H7v2zM3 9h2V7H3v2zm10-6h-2v2h2V3zm6 0v2h2c0-1.1-.9-2-2-2zM5 21v-2H3c0 1.1.9 2 2 2zm-2-4h2v-2H3v2zM9 3H7v2h2V3zm2 18h2v-2h-2v2zm8-8h2v-2h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2zm0-12h2V7h-2v2zm0 8h2v-2h-2v2zm-4 4h2v-2h-2v2zm0-16h2V3h-2v2z"/>\n</svg>',title:t.localeValues["zoom"===i?"selectionZoom":"selection"],class:e.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-".concat(i,"-icon")})};o("zoom"),o("selection"),this.t.pan&&e.config.chart.zoom.enabled&&r.push({el:this.elPan,icon:"string"==typeof this.t.pan?this.t.pan:'<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="#000000" height="24" viewBox="0 0 24 24" width="24">\n    <defs>\n        <path d="M0 0h24v24H0z" id="a"/>\n    </defs>\n    <clipPath id="b">\n        <use overflow="visible" xlink:href="#a"/>\n    </clipPath>\n    <path clip-path="url(#b)" d="M23 5.5V20c0 2.2-1.8 4-4 4h-7.3c-1.08 
463950-2.1-.43-2.85-1.19L1 14.83s1.26-1.23 1.3-1.25c.22-.19.49-.29.79-.29.22 0 .42.06.6.16.04.01 4.31 2.46 4.31 2.46V4c0-.83.67-1.5 1.5-1.5S11 3.17 11 4v7h1V1.5c0-.83.67-1.5 1.5-1.5S15 .67 15 1.5V11h1V2.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5V11h1V5.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5z"/>\n</svg>',title:this.localeValues.pan,class:e.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-pan-icon"}),n("reset",this.elZoomReset,'<svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">\n    <path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"/>\n    <path d="M0 0h24v24H0z" fill="none"/>\n</svg>'),this.t.download&&r.push({el:this.elMenuIcon,icon:"string"==typeof this.t.download?this.t.download:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0V0z"/><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg>',title:this.localeValues.menu,class:"apexcharts-menu-icon"});for(var l=0;l<this.elCustomIcons.length;l++)r.push({el:this.elCustomIcons[l],icon:this.t.customIcons[l].icon,title:this.t.customIcons[l].title,index:this.t.customIcons[l].index,class:"apexcharts-toolbar-custom-icon "+this.t.customIcons[l].class});r.forEach((function(t,e){t.index&&v.moveIndexInArray(r,e,t.index)}));for(var h=0;h<r.length;h++)Mi.setAttrs(r[h].el,{class:r[h].class,title:r[h].title}),r[h].el.innerHTML=r[h].icon,a.appendChild(r[h].el);this._createHamburgerMenu(a),e.globals.zoomEnabled?this.elZoom.classList.add(this.selectedClass):e.globals.panEnabled?this.elPan.classList.add(this.selectedClass):e.globals.selectionEnabled&&this.elSelection.classList.add(this.selectedClass),this.addToolbarEventListeners()}},{key:"_createHamburgerMenu",value:function(t){this.elMenuItems=[],t.appendChild(this.elMenu),Mi.setAttrs(this.elMenu,{class:"apexcharts-menu"});for(var e=[{name:"exportSVG",title:this.localeValues.exportToSVG},{name:"exportPNG",title:this.localeValues.exportToPNG},{name:"exportCSV",title:this.localeValues.exportToCSV}],i=0;i<e.length;i++)this.elMenuItems.push(document.createElement("div")),this.elMenuItems[i].innerHTML=e[i].title,Mi.setAttrs(this.elMenuItems[i],{class:"apexcharts-menu-item ".concat(e[i].name),title:e[i].title}),this.elMenu.appendChild(this.elMenuItems[i])}},{key:"addToolbarEventListeners",value:function(){var t=this;this.elZoomReset.addEventListener("click",this.handleZoomReset.bind(this)),this.elSelection.addEventListener("click",this.toggleZoomSelection.bind(this,"selection")),this.elZoom.addEventListener("click",this.toggleZoomSelection.bind(this,"zoom")),this.elZoomIn.addEventListener("click",this.handleZoomIn.bind(this)),this.elZoomOut.addEventListener("click",this.handleZoomOut.bind(this)),this.elPan.addEventListener("click",this.togglePanning.bind(this)),this.elMenuIcon.addEventListener("click",this.toggleMenu.bind(this)),this.elMenuItems.forEach((function(e){e.classList.contains("exportSVG")?e.addEventListener("click",t.handleDownload.bind(t,"svg")):e.classList.contains("exportPNG")?e.addEventListener("click",t.handleDownload.bind(t,"png")):e.classList.contains("exportCSV")&&e.addEventListener("click",t.handleDownload.bind(t,"csv"))}));for(var e=0;e<this.t.customIcons.length;e++)this.elCustomIcons[e].addEventListener("click",this.t.customIcons[e].click.bind(this,this.ctx,this.ctx.w))}},{key:"toggleZoomSelection",value:function(t){this.ctx.getSyncedCharts().forEach((function(e){e.ctx.toolbar.toggleOtherControls();var i="selection"===t?e.ctx.toolbar.elSelection:e.ctx.toolbar.elZoom,a="selection"===t?"selectionEnabled":"zoomEnabled";e.w.globals[a]=!e.w.globals[a],i.classList.contains(e.ctx.toolbar.selectedClass)?i.classList.remove(e.ctx.toolbar.selectedClass):i.classList.add(e.ctx.toolbar.selectedClass)}))}},{key:"getToolbarIconsReference",value:function(){var t=this.w;this.elZoom||(this.elZoom=t.globals.dom.baseEl.querySelector(".apexcharts-zoom-icon")),this.elPan||(this.elPan=t.globals.dom.baseEl.querySelector(".apexcharts-pan-icon")),this.elSelection||(this.elSelection=t.globals.dom.baseEl.querySelector(".apexcharts-selection-icon"))}},{key:"enableZoomPanFromToolbar",value:function(t){this.toggleOtherControls(),"pan"===t?this.w.globals.panEnabled=!0:this.w.globals.zoomEnabled=!0;var e="pan"===t?this.elPan:this.elZoom,i="pan"===t?this.elZoom:this.elPan;e&&e.classList.add(this.selectedClass),i&&i.classList.remove(this.selectedClass)}},{key:"togglePanning",value:function(){this.ctx.getSyncedCharts().forEac
vendor: 5,411 bytes, line 46395
46395h((function(t){t.ctx.toolbar.toggleOtherControls(),t.w.globals.panEnabled=!t.w.globals.panEnabled,t.ctx.toolbar.elPan.classList.contains(t.ctx.toolbar.selectedClass)?t.ctx.toolbar.elPan.classList.remove(t.ctx.toolbar.selectedClass):t.ctx.toolbar.elPan.classList.add(t.ctx.toolbar.selectedClass)}))}},{key:"toggleOtherControls",value:function(){var t=this,e=this.w;e.globals.panEnabled=!1,e.globals.zoomEnabled=!1,e.globals.selectionEnabled=!1,this.getToolbarIconsReference(),[this.elPan,this.elSelection,this.elZoom].forEach((function(e){e&&e.classList.remove(t.selectedClass)}))}},{key:"handleZoomIn",value:function(){var t=this.w;t.globals.isRangeBar&&(this.minX=t.globals.minY,this.maxX=t.globals.maxY);var e=(this.minX+this.maxX)/2,i=(this.minX+e)/2,a=(this.maxX+e)/2,s=this._getNewMinXMaxX(i,a);t.globals.disableZoomIn||this.zoomUpdateOptions(s.minX,s.maxX)}},{key:"handleZoomOut",value:function(){var t=this.w;if(t.globals.isRangeBar&&(this.minX=t.globals.minY,this.maxX=t.globals.maxY),!("datetime"===t.config.xaxis.type&&new Date(this.minX).getUTCFullYear()<1e3)){var e=(this.minX+this.maxX)/2,i=this.minX-(e-this.minX),a=this.maxX-(e-this.maxX),s=this._getNewMinXMaxX(i,a);t.globals.disableZoomOut||this.zoomUpdateOptions(s.minX,s.maxX)}}},{key:"_getNewMinXMaxX",value:function(t,e){var i=this.w.config.xaxis.convertedCatToNumeric;return{minX:i?Math.floor(t):t,maxX:i?Math.floor(e):e}}},{key:"zoomUpdateOptions",value:function(t,e){var i=this.w;if(void 0!==t||void 0!==e){if(!(i.config.xaxis.convertedCatToNumeric&&(t<1&&(t=1,e=i.globals.dataPoints),e-t<2))){var a={min:t,max:e},s=this.getBeforeZoomRange(a);s&&(a=s.xaxis);var r={xaxis:a},n=v.clone(i.globals.initialConfig.yaxis);i.config.chart.group||(r.yaxis=n),this.w.globals.zoomed=!0,this.ctx.updateHelpers._updateOptions(r,!1,this.w.config.chart.animations.dynamicAnimation.enabled),this.zoomCallback(a,n)}}else this.handleZoomReset()}},{key:"zoomCallback",value:function(t,e){"function"==typeof this.ev.zoomed&&(this.ev.zoomed(this.ctx,{xaxis:t,yaxis:e}),this.ctx.events.fireEvent("zoomed",{xaxis:t,yaxis:e}))}},{key:"getBeforeZoomRange",value:function(t,e){var i=null;return"function"==typeof this.ev.beforeZoom&&(i=this.ev.beforeZoom(this,{xaxis:t,yaxis:e})),i}},{key:"toggleMenu",value:function(){var t=this;window.setTimeout((function(){t.elMenu.classList.contains("apexcharts-menu-open")?t.elMenu.classList.remove("apexcharts-menu-open"):t.elMenu.classList.add("apexcharts-menu-open")}),0)}},{key:"handleDownload",value:function(t){var e=this.w,i=new Ji(this.ctx);switch(t){case"svg":i.exportToSVG(this.ctx);break;case"png":i.exportToPng(this.ctx);break;case"csv":i.exportToCSV({series:e.config.series,columnDelimiter:e.config.chart.toolbar.export.csv.columnDelimiter})}}},{key:"handleZoomReset",value:function(t){this.ctx.getSyncedCharts().forEach((function(t){var e=t.w;if(e.globals.lastXAxis.min=e.globals.initialConfig.xaxis.min,e.globals.lastXAxis.max=e.globals.initialConfig.xaxis.max,t.updateHelpers.revertDefaultAxisMinMax(),"function"==typeof e.config.chart.events.beforeResetZoom){var i=e.config.chart.events.beforeResetZoom(t,e);i&&t.updateHelpers.revertDefaultAxisMinMax(i)}"function"==typeof e.config.chart.events.zoomed&&t.ctx.toolbar.zoomCallback({min:e.config.xaxis.min,max:e.config.xaxis.max}),e.globals.zoomed=!1;var a=t.ctx.series.emptyCollapsedSeries(v.clone(e.globals.initialSeries));t.updateHelpers._updateSeries(a,e.config.chart.animations.dynamicAnimation.enabled)}))}},{key:"destroy",value:function(){this.elZoom=null,this.elZoomIn=null,this.elZoomOut=null,this.elPan=null,this.elSelection=null,this.elZoomReset=null,this.elMenuIcon=null}}]),t}(),ma=function(t){h(a,t);var e=n(a);function a(t){var s;return i(this,a),(s=e.call(this,t)).ctx=t,s.w=t.w,s.dragged=!1,s.graphics=new Mi(s.ctx),s.eventList=["mousedown","mouseleave","mousemove","touchstart","touchmove","mouseup","touchend","wheel"],s.clientX=0,s.clientY=0,s.startX=0,s.endX=0,s.dragX=0,s.startY=0,s.endY=0,s.dragY=0,s.moveDirection="none",s.debounceTimer=null,s.debounceDelay=100,s.wheelDelay=400,s}return s(a,[{key:"init",value:function(t){var e=this,i=t.xyRatios,a=this.w,s=this;this.xyRatios=i,this.zoomRect=this.graphics.drawRect(0,0,0,0),this.selectionRect=this.graphics.drawRect(0,0,0,0),this.gridRect=a.globals.dom.baseEl.querySelector(".apexcharts-grid"),this.constraints=new kt(0,0,a.globals.gridWidth,a.globals.gridHeight),this.zoomRect.node.classList.add("apexcharts-zoom-rect"),this.selectionRect.node.classList.add("apexcharts-selection-rect"),a.globals.dom.Paper.add(this.zoomRect),a.globals.dom.Paper.add(this.selectionRect),"x"===a.config.chart.selection.type?this.slDraggableRect=this.selectionRect.draggable({minX:0,minY:0,maxX:a.globals.gridWidth,maxY:a.globals.gridHeight}).on("dragmove.namespace",this.selectionDragging.bind(this,"dragging")):"y"===a.config.chart.selection.type?this.slDraggableRect=this.selectionRect.draggable({minX:0,maxX:a.globals.gridWidth}).on("dragmove.namespace",this.selectionDragging.bind(this,"dragging")):this.slDraggableRect=this.selectionRect.draggable().on("dragmove.namespace",this.selectionDragging.bind(this,"dragging")),this.preselectedSelection(),this.hoverArea=a.globals.dom.baseEl.querySelector("".concat(a.globals.chartClass," .apexcharts-svg")),this.hoverArea.classList.add("apexcharts-zoomable"),this.eventList.forEach((function(t){e.hoverArea.addEventListener(t,s.svgMouseEvents.bind(s,i),{
vendor: 10,452 bytes, line 46395
46395capture:!1,passive:!0})})),a.config.chart.zoom.enabled&&a.config.chart.zoom.allowMouseWheelZoom&&this.hoverArea.addEventListener("wheel",s.mouseWheelEvent.bind(s),{capture:!1,passive:!1})}},{key:"destroy",value:function(){this.slDraggableRect&&(this.slDraggableRect.draggable(!1),this.slDraggableRect.off(),this.selectionRect.off()),this.selectionRect=null,this.zoomRect=null,this.gridRect=null}},{key:"svgMouseEvents",value:function(t,e){var i=this.w,a=this.ctx.toolbar,s=i.globals.zoomEnabled?i.config.chart.zoom.type:i.config.chart.selection.type,r=i.config.chart.toolbar.autoSelected;if(e.shiftKey?(this.shiftWasPressed=!0,a.enableZoomPanFromToolbar("pan"===r?"zoom":"pan")):this.shiftWasPressed&&(a.enableZoomPanFromToolbar(r),this.shiftWasPressed=!1),e.target){var n,o=e.target.classList;if(e.target.parentNode&&null!==e.target.parentNode&&(n=e.target.parentNode.classList),!(o.contains("apexcharts-legend-marker")||o.contains("apexcharts-legend-text")||n&&n.contains("apexcharts-toolbar"))){if(this.clientX="touchmove"===e.type||"touchstart"===e.type?e.touches[0].clientX:"touchend"===e.type?e.changedTouches[0].clientX:e.clientX,this.clientY="touchmove"===e.type||"touchstart"===e.type?e.touches[0].clientY:"touchend"===e.type?e.changedTouches[0].clientY:e.clientY,"mousedown"===e.type&&1===e.which||"touchstart"===e.type){var l=this.gridRect.getBoundingClientRect();this.startX=this.clientX-l.left-i.globals.barPadForNumericAxis,this.startY=this.clientY-l.top,this.dragged=!1,this.w.globals.mousedown=!0}("mousemove"===e.type&&1===e.which||"touchmove"===e.type)&&(this.dragged=!0,i.globals.panEnabled?(i.globals.selection=null,this.w.globals.mousedown&&this.panDragging({context:this,zoomtype:s,xyRatios:t})):(this.w.globals.mousedown&&i.globals.zoomEnabled||this.w.globals.mousedown&&i.globals.selectionEnabled)&&(this.selection=this.selectionDrawing({context:this,zoomtype:s}))),"mouseup"!==e.type&&"touchend"!==e.type&&"mouseleave"!==e.type||this.handleMouseUp({zoomtype:s}),this.makeSelectionRectDraggable()}}}},{key:"handleMouseUp",value:function(t){var e,i=t.zoomtype,a=t.isResized,s=this.w,r=null===(e=this.gridRect)||void 0===e?void 0:e.getBoundingClientRect();r&&(this.w.globals.mousedown||a)&&(this.endX=this.clientX-r.left-s.globals.barPadForNumericAxis,this.endY=this.clientY-r.top,this.dragX=Math.abs(this.endX-this.startX),this.dragY=Math.abs(this.endY-this.startY),(s.globals.zoomEnabled||s.globals.selectionEnabled)&&this.selectionDrawn({context:this,zoomtype:i})),s.globals.zoomEnabled&&this.hideSelectionRect(this.selectionRect),this.dragged=!1,this.w.globals.mousedown=!1}},{key:"mouseWheelEvent",value:function(t){var e=this,i=this.w;t.preventDefault();var a=Date.now();a-i.globals.lastWheelExecution>this.wheelDelay&&(this.executeMouseWheelZoom(t),i.globals.lastWheelExecution=a),this.debounceTimer&&clearTimeout(this.debounceTimer),this.debounceTimer=setTimeout((function(){a-i.globals.lastWheelExecution>e.wheelDelay&&(e.executeMouseWheelZoom(t),i.globals.lastWheelExecution=a)}),this.debounceDelay)}},{key:"executeMouseWheelZoom",value:function(t){var e,i=this.w;this.minX=i.globals.isRangeBar?i.globals.minY:i.globals.minX,this.maxX=i.globals.isRangeBar?i.globals.maxY:i.globals.maxX;var a=null===(e=this.gridRect)||void 0===e?void 0:e.getBoundingClientRect();if(a){var s,r,n,o=(t.clientX-a.left)/a.width,l=this.minX,h=this.maxX,c=h-l;if(t.deltaY<0){var d=l+o*c;r=d-(s=.5*c)/2,n=d+s/2}else r=l-(s=1.5*c)/2,n=h+s/2;if(!i.globals.isRangeBar){r=Math.max(r,i.globals.initialMinX),n=Math.min(n,i.globals.initialMaxX);var u=.01*(i.globals.initialMaxX-i.globals.initialMinX);if(n-r<u){var g=(r+n)/2;r=g-u/2,n=g+u/2}}var p=this._getNewMinXMaxX(r,n);isNaN(p.minX)||isNaN(p.maxX)||this.zoomUpdateOptions(p.minX,p.maxX)}}},{key:"makeSelectionRectDraggable",value:function(){var t=this,e=this.w;if(this.selectionRect){var i=this.selectionRect.node.getBoundingClientRect();i.width>0&&i.height>0&&(this.selectionRect.select(!1).resize(!1),this.selectionRect.select({createRot:function(){},updateRot:function(){},createHandle:function(t,e,i,a,s){return"l"===s||"r"===s?t.circle(8).css({"stroke-width":1,stroke:"#333",fill:"#fff"}):t.circle(0)},updateHandle:function(t,e){return t.center(e[0],e[1])}}).resize().on("resize",(function(){var i=e.globals.zoomEnabled?e.config.chart.zoom.type:e.config.chart.selection.type;t.handleMouseUp({zoomtype:i,isResized:!0})})))}}},{key:"preselectedSelection",value:function(){var t=this.w,e=this.xyRatios;if(!t.globals.zoomEnabled)if(void 0!==t.globals.selection&&null!==t.globals.selection)this.drawSelectionRect(u(u({},t.globals.selection),{},{translateX:t.globals.translateX,translateY:t.globals.translateY}));else if(void 0!==t.config.chart.selection.xaxis.min&&void 0!==t.config.chart.selection.xaxis.max){var i=(t.config.chart.selection.xaxis.min-t.globals.minX)/e.xRatio,a=t.globals.gridWidth-(t.globals.maxX-t.config.chart.selection.xaxis.max)/e.xRatio-i;t.globals.isRangeBar&&(i=(t.config.chart.selection.xaxis.min-t.globals.yAxisScale[0].niceMin)/e.invertedYRatio,a=(t.config.chart.selection.xaxis.max-t.config.chart.selection.xaxis.min)/e.invertedYRatio);var s={x:i,y:0,width:a,height:t.globals.gridHeight,translateX:t.globals.translateX,translateY:t.globals.translateY,selectionEnabled:!0};this.drawSelectionRect(s),this.makeSelectionRectDraggable(),"function"==typeof t.config.chart.events.selection&&t.config.chart.events.selection(this.ctx,{xaxis:{min:t.config.chart.selection.xaxis.min,max:t.config.chart.selection.xaxis.max},yaxis:{}})}}},{key:"drawSelectionRect",value:function(t){var e=t.x,i=t.y,a=t.width,s=t.height,r=t.translateX,n=void 0===r?0:r,o=t.translateY,l=void 0===o?0:o,h=this.w,c=this.zoomRect,d=this.selectionRect;if(this.dragged||null!==h.globals.selection){var u={transform:"translate("+n+", "+l+")"};h.globals.zoomEnabled&&this.dragged&&(a<0&&(a=1),c.attr({x:e,y:i,width:a,height:s,fill:h.config.chart.zoom.zoomedArea.fill.color,"fill-opacity":h.config.chart.zoom.zoomedArea.fill.opacity,stroke:h.config.chart.zoom.zoomedArea.stroke.color,"stroke-width":h.config.chart.zoom.zoomedArea.stroke.width,"stroke-opacity":h.config.chart.zoom.zoomedArea.stroke.opacity}),Mi.setAttrs(c.node,u)),h.globals.selectionEnabled&&(d.attr({x:e,y:i,width:a>0?a:0,height:s>0?s:0,fill:h.config.chart.selection.fill.color,"fill-opacity":h.config.chart.selection.fill.opacity,stroke:h.config.chart.selection.stroke.color,"stroke-width":h.config.chart.selection.stroke.width,"stroke-dasharray":h.config.chart.selection.stroke.dashArray,"stroke-opacity":h.config.chart.selection.stroke.opacity}),Mi.setAttrs(d.node,u))}}},{key:"hideSelectionRect",value:function(t){t&&t.attr({x:0,y:0,width:0,height:0})}},{key:"selectionDrawing",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.gridRect.getBoundingClientRect(),n=s.startX-1,o=s.startY,l=!1,h=!1,c=s.clientX-r.left-a.globals.barPadForNumericAxis,d=s.clientY-r.top,g=c-n,p=d-o,f={translateX:a.globals.translateX,translateY:a.globals.translateY};return Math.abs(g+n)>a.globals.gridWidth?g=a.globals.gridWidth-n:c<0&&(g=n),n>c&&(l=!0,g=Math.abs(g)),o>d&&(h=!0,p=Math.abs(p)),f=u(u({},f="x"===i?{x:l?n-g:n,y:0,width:g,height:a.globals.gridHeight}:"y"===i?{x:0,y:h?o-p:o,width:a.globals.gridWidth,height:p}:{x:l?n-g:n,y:h?o-p:o,width:g,height:p}),{},{translateX:a.globals.translateX,translateY:a.globals.translateY}),s.drawSelectionRect(f),s.selectionDragging("resizing"),f}},{key:"selectionDragging",value:function(t,e){var i=this,a=this.w;if(e){e.preventDefault();var s=e.detail,r=s.handler,n=s.box,o=n.x,l=n.y;o<this.constraints.x&&(o=this.constraints.x),l<this.constraints.y&&(l=this.constraints.y),n.x2>this.constraints.x2&&(o=this.constraints.x2-n.w),n.y2>this.constraints.y2&&(l=this.constraints.y2-n.h),r.move(o,l);var h=this.xyRatios,c=this.selectionRect,d=0;"resizing"===t&&(d=30);var u=function(t){return parseFloat(c.node.getAttribute(t))},g={x:u("x"),y:u("y"),width:u("width"),height:u("height")};a.globals.selection=g,"function"==typeof a.config.chart.events.selection&&a.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout((function(){var t,e,s,r,n=i.gridRect.getBoundingClientRect(),o=c.node.getBoundingClientRect();a.globals.isRangeBar?(t=a.globals.yAxisScale[0].niceMin+(o.left-n.left)*h.invertedYRatio,e=a.globals.yAxisScale[0].niceMin+(o.right-n.left)*h.invertedYRatio,s=0,r=1):(t=a.globals.xAxisScale.niceMin+(o.left-n.left)*h.xRatio,e=a.globals.xAxisScale.niceMin+(o.right-n.left)*h.xRatio,s=a.globals.yAxisScale[0].niceMin+(n.bottom-o.bottom)*h.yRatio[0],r=a.globals.yAxisScale[0].niceMax-(o.top-n.top)*h.yRatio[0]);var l={xaxis:{min:t,max:e},yaxis:{min:s,max:r}};a.config.chart.events.selection(i.ctx,l),a.config.chart.brush.enabled&&void 0!==a.config.chart.events.brushScrolled&&a.config.chart.events.brushScrolled(i.ctx,l)}),d))}}},{key:"selectionDrawn",value:function(t){var e,i,a=t.context,s=t.zoomtype,r=this.w,n=a,o=this.xyRatios,l=this.ctx.toolbar,h=r.globals.zoomEnabled?n.zoomRect.node.getBoundingClientRect():n.selectionRect.node.getBoundingClientRect(),c=n.gridRect.getBoundingClientRect(),d=h.left-c.left-r.globals.barPadForNumericAxis,u=h.right-c.left-r.globals.barPadForNumericAxis,g=h.top-c.top,p=h.bottom-c.top;r.globals.isRangeBar?(e=r.globals.yAxisScale[0].niceMin+d*o.invertedYRatio,i=r.globals.yAxisScale[0].niceMin+u*o.invertedYRatio):(e=r.globals.xAxisScale.niceMin+d*o.xRatio,i=r.globals.xAxisScale.niceMin+u*o.xRatio);var f=[],x=[];if(r.config.yaxis.forEach((function(t,e){var i=r.globals.seriesYAxisMap[e][0],a=r.globals.yAxisScale[e].niceMax-o.yRatio[i]*g,s=r.globals.yAxisScale[e].niceMax-o.yRatio[i]*p;f.push(a),x.push(s)})),n.dragged&&(n.dragX>10||n.dragY>10)&&e!==i)if(r.globals.zoomEnabled){var b=v.clone(r.globals.initialConfig.yaxis),m=v.clone(r.globals.initialConfig.xaxis);if(r.globals.zoomed=!0,r.config.xaxis.convertedCatToNumeric&&(e=Math.floor(e),i=Math.floor(i),e<1&&(e=1,i=r.globals.dataPoints),i-e<2&&(i=e+1)),"xy"!==s&&"x"!==s||(m={min:e,max:i}),"xy"!==s&&"y"!==s||b.forEach((function(t,e){b[e].min=x[e],b[e].max=f[e]})),l){var y=l.getBeforeZoomRange(m,b);y&&(m=y.xaxis?y.xaxis:m,b=y.yaxis?y.yaxis:b)}var w={xaxis:m};r.config.chart.group||(w.yaxis=b),n.ctx.updateHelpers._updateOptions(w,!1,n.w.config.chart.animations.dynamicAnimation.enabled),"function"==typeof r.config.chart.events.zoomed&&l.zoomCallback(m,b)}else if(r.globals.selectionEnabled){var k,A=null;k={min:e,max:i}
vendor: 5,446 bytes, line 46395
46395,"xy"!==s&&"y"!==s||(A=v.clone(r.config.yaxis)).forEach((function(t,e){A[e].min=x[e],A[e].max=f[e]})),r.globals.selection=n.selection,"function"==typeof r.config.chart.events.selection&&r.config.chart.events.selection(n.ctx,{xaxis:k,yaxis:A})}}},{key:"panDragging",value:function(t){var e=t.context,i=this.w,a=e;if(void 0!==i.globals.lastClientPosition.x){var s=i.globals.lastClientPosition.x-a.clientX,r=i.globals.lastClientPosition.y-a.clientY;Math.abs(s)>Math.abs(r)&&s>0?this.moveDirection="left":Math.abs(s)>Math.abs(r)&&s<0?this.moveDirection="right":Math.abs(r)>Math.abs(s)&&r>0?this.moveDirection="up":Math.abs(r)>Math.abs(s)&&r<0&&(this.moveDirection="down")}i.globals.lastClientPosition={x:a.clientX,y:a.clientY};var n=i.globals.isRangeBar?i.globals.minY:i.globals.minX,o=i.globals.isRangeBar?i.globals.maxY:i.globals.maxX;a.panScrolled(n,o)}},{key:"panScrolled",value:function(t,e){var i=this.w,a=this.xyRatios,s=v.clone(i.globals.initialConfig.yaxis),r=a.xRatio,n=i.globals.minX,o=i.globals.maxX;i.globals.isRangeBar&&(r=a.invertedYRatio,n=i.globals.minY,o=i.globals.maxY),"left"===this.moveDirection?(t=n+i.globals.gridWidth/15*r,e=o+i.globals.gridWidth/15*r):"right"===this.moveDirection&&(t=n-i.globals.gridWidth/15*r,e=o-i.globals.gridWidth/15*r),i.globals.isRangeBar||(t<i.globals.initialMinX||e>i.globals.initialMaxX)&&(t=n,e=o);var l={xaxis:{min:t,max:e}};i.config.chart.group||(l.yaxis=s),this.updateScrolledChart(l,t,e)}},{key:"updateScrolledChart",value:function(t,e,i){var a=this.w;if(this.ctx.updateHelpers._updateOptions(t,!1,!1),"function"==typeof a.config.chart.events.scrolled){var s={xaxis:{min:e,max:i}};a.config.chart.events.scrolled(this.ctx,s),this.ctx.events.fireEvent("scrolled",s)}}}]),a}(ba),va=function(){function t(e){i(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx}return s(t,[{key:"getNearestValues",value:function(t){var e=t.hoverArea,i=t.elGrid,a=t.clientX,s=t.clientY,r=this.w,n=i.getBoundingClientRect(),o=n.width,l=n.height,h=o/(r.globals.dataPoints-1),c=l/r.globals.dataPoints,d=this.hasBars();!r.globals.comboCharts&&!d||r.config.xaxis.convertedCatToNumeric||(h=o/r.globals.dataPoints);var u=a-n.left-r.globals.barPadForNumericAxis,g=s-n.top;u<0||g<0||u>o||g>l?(e.classList.remove("hovering-zoom"),e.classList.remove("hovering-pan")):r.globals.zoomEnabled?(e.classList.remove("hovering-pan"),e.classList.add("hovering-zoom")):r.globals.panEnabled&&(e.classList.remove("hovering-zoom"),e.classList.add("hovering-pan"));var p=Math.round(u/h),f=Math.floor(g/c);d&&!r.config.xaxis.convertedCatToNumeric&&(p=Math.ceil(u/h),p-=1);var x=null,b=null,m=r.globals.seriesXvalues.map((function(t){return t.filter((function(t){return v.isNumber(t)}))})),y=r.globals.seriesYvalues.map((function(t){return t.filter((function(t){return v.isNumber(t)}))}));if(r.globals.isXNumeric){var w=this.ttCtx.getElGrid().getBoundingClientRect(),k=u*(w.width/o),A=g*(w.height/l);x=(b=this.closestInMultiArray(k,A,m,y)).index,p=b.j,null!==x&&r.globals.hasNullValues&&(m=r.globals.seriesXvalues[x],p=(b=this.closestInArray(k,m)).j)}return r.globals.capturedSeriesIndex=null===x?-1:x,(!p||p<1)&&(p=0),r.globals.isBarHorizontal?r.globals.capturedDataPointIndex=f:r.globals.capturedDataPointIndex=p,{capturedSeries:x,j:r.globals.isBarHorizontal?f:p,hoverX:u,hoverY:g}}},{key:"getFirstActiveXArray",value:function(t){for(var e=this.w,i=0,a=t.map((function(t,e){return t.length>0?e:-1})),s=0;s<a.length;s++)if(-1!==a[s]&&-1===e.globals.collapsedSeriesIndices.indexOf(s)&&-1===e.globals.ancillaryCollapsedSeriesIndices.indexOf(s)){i=a[s];break}return i}},{key:"closestInMultiArray",value:function(t,e,i,a){for(var s,r=this.w,n=1/0,o=null,l=null,h=0;h<i.length;h++)if(s=h,-1===r.globals.collapsedSeriesIndices.indexOf(s)&&-1===r.globals.ancillaryCollapsedSeriesIndices.indexOf(s))for(var c=i[h],d=a[h],u=Math.min(c.length,d.length),g=0;g<u;g++){var p=t-c[g],f=Math.sqrt(p*p);if(!r.globals.allSeriesHasEqualX){var x=e-d[g];f=Math.sqrt(p*p+x*x)}f<n&&(n=f,o=h,l=g)}return{index:o,j:l}}},{key:"closestInArray",value:function(t,e){for(var i=e[0],a=null,s=Math.abs(t-i),r=0;r<e.length;r++){var n=Math.abs(t-e[r]);n<s&&(s=n,a=r)}return{j:a}}},{key:"isXoverlap",value:function(t){var e=[],i=this.w.globals.seriesX.filter((function(t){return void 0!==t[0]}));if(i.length>0)for(var a=0;a<i.length-1;a++)void 0!==i[a][t]&&void 0!==i[a+1][t]&&i[a][t]!==i[a+1][t]&&e.push("unEqual");return 0===e.length}},{key:"isInitialSeriesSameLen",value:function(){for(var t=!0,e=this.w.globals.initialSeries,i=0;i<e.length-1;i++)if(e[i].data.length!==e[i+1].data.length){t=!1;break}return t}},{key:"getBarsHeight",value:function(t){return f(t).reduce((function(t,e){return t+e.getBBox().height}),0)}},{key:"getElMarkers",value:function(t){return"number"==typeof t?this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series[data\\:realIndex='".concat(t,"'] .apexcharts-series-markers-wrap > *")):this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers-wrap > *")}},{key:"getAllMarkers",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],i=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers-wrap");i=f(i),e&&(i=i.filter((function(e){var i=Number(e.getAttribute("data:realIndex"));return-1===t.w.globals.collapsedSeriesIndices.indexOf(i)}))),i.sort((function(t,e){var i=Number(t.getAttribute("data:realIndex")),a=Number(e.getAttribute("data:realIndex"));return a<i?1:a>i?-1:0}));var a=[];
vendor: 2,319 bytes, line 46395
46395return i.forEach((function(t){a.push(t.querySelector(".apexcharts-marker"))})),a}},{key:"hasMarkers",value:function(t){return this.getElMarkers(t).length>0}},{key:"getPathFromPoint",value:function(t,e){var i=Number(t.getAttribute("cx")),a=Number(t.getAttribute("cy")),s=t.getAttribute("shape");return new Mi(this.ctx).getMarkerPath(i,a,s,e)}},{key:"getElBars",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-bar-series,  .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series")}},{key:"hasBars",value:function(){return this.getElBars().length>0}},{key:"getHoverMarkerSize",value:function(t){var e=this.w,i=e.config.markers.hover.size;return void 0===i&&(i=e.globals.markers.size[t]+e.config.markers.hover.sizeOffset),i}},{key:"toggleAllTooltipSeriesGroups",value:function(t){var e=this.w,i=this.ttCtx;0===i.allTooltipSeriesGroups.length&&(i.allTooltipSeriesGroups=e.globals.dom.baseEl.querySelectorAll(".apexcharts-tooltip-series-group"));for(var a=i.allTooltipSeriesGroups,s=0;s<a.length;s++)"enable"===t?(a[s].classList.add("apexcharts-active"),a[s].style.display=e.config.tooltip.items.display):(a[s].classList.remove("apexcharts-active"),a[s].style.display="none")}}]),t}(),ya=function(){function t(e){i(this,t),this.w=e.w,this.ctx=e.ctx,this.ttCtx=e,this.tooltipUtil=new va(e)}return s(t,[{key:"drawSeriesTexts",value:function(t){var e=t.shared,i=void 0===e||e,a=t.ttItems,s=t.i,r=void 0===s?0:s,n=t.j,o=void 0===n?null:n,l=t.y1,h=t.y2,c=t.e,d=this.w;void 0!==d.config.tooltip.custom?this.handleCustomTooltip({i:r,j:o,y1:l,y2:h,w:d}):this.toggleActiveInactiveSeries(i,r);var u=this.getValuesToPrint({i:r,j:o});this.printLabels({i:r,j:o,values:u,ttItems:a,shared:i,e:c});var g=this.ttCtx.getElTooltip();this.ttCtx.tooltipRect.ttWidth=g.getBoundingClientRect().width,this.ttCtx.tooltipRect.ttHeight=g.getBoundingClientRect().height}},{key:"printLabels",value:function(t){var e,i=this,a=t.i,s=t.j,r=t.values,n=t.ttItems,o=t.shared,l=t.e,h=this.w,c=[],d=function(t){return h.globals.seriesGoals[t]&&h.globals.seriesGoals[t][s]&&Array.isArray(h.globals.seriesGoals[t][s])},g=r.xVal,p=r.zVal,f=r.xAxisTTVal,x="",b=h.globals.colors[a];null!==s&&h.config.plotOptions.bar.distributed&&(b=h.globals.colors[s]);for(var m=function(t,r){var m=i.getFormatters(a);
vendor: 4,321 bytes, line 46395
46395x=i.getSeriesName({fn:m.yLbTitleFormatter,index:a,seriesIndex:a,j:s}),"treemap"===h.config.chart.type&&(x=m.yLbTitleFormatter(String(h.config.series[a].data[s].x),{series:h.globals.series,seriesIndex:a,dataPointIndex:s,w:h}));var v=h.config.tooltip.inverseOrder?r:t;if(h.globals.axisCharts){var y=function(t){var e,i,a,r;return h.globals.isRangeData?m.yLbFormatter(null===(e=h.globals.seriesRangeStart)||void 0===e||null===(i=e[t])||void 0===i?void 0:i[s],{series:h.globals.seriesRangeStart,seriesIndex:t,dataPointIndex:s,w:h})+" - "+m.yLbFormatter(null===(a=h.globals.seriesRangeEnd)||void 0===a||null===(r=a[t])||void 0===r?void 0:r[s],{series:h.globals.seriesRangeEnd,seriesIndex:t,dataPointIndex:s,w:h}):m.yLbFormatter(h.globals.series[t][s],{series:h.globals.series,seriesIndex:t,dataPointIndex:s,w:h})};if(o)m=i.getFormatters(v),x=i.getSeriesName({fn:m.yLbTitleFormatter,index:v,seriesIndex:a,j:s}),b=h.globals.colors[v],e=y(v),d(v)&&(c=h.globals.seriesGoals[v][s].map((function(t){return{attrs:t,val:m.yLbFormatter(t.value,{seriesIndex:v,dataPointIndex:s,w:h})}})));else{var w,k=null==l||null===(w=l.target)||void 0===w?void 0:w.getAttribute("fill");k&&(-1!==k.indexOf("url")?-1!==k.indexOf("Pattern")&&(b=h.globals.dom.baseEl.querySelector(k.substr(4).slice(0,-1)).childNodes[0].getAttribute("stroke")):b=k),e=y(a),d(a)&&Array.isArray(h.globals.seriesGoals[a][s])&&(c=h.globals.seriesGoals[a][s].map((function(t){return{attrs:t,val:m.yLbFormatter(t.value,{seriesIndex:a,dataPointIndex:s,w:h})}})))}}null===s&&(e=m.yLbFormatter(h.globals.series[a],u(u({},h),{},{seriesIndex:a,dataPointIndex:a}))),i.DOMHandling({i:a,t:v,j:s,ttItems:n,values:{val:e,goalVals:c,xVal:g,xAxisTTVal:f,zVal:p},seriesName:x,shared:o,pColor:b})},v=0,y=h.globals.series.length-1;v<h.globals.series.length;v++,y--)m(v,y)}},{key:"getFormatters",value:function(t){var e,i=this.w,a=i.globals.yLabelFormatters[t];return void 0!==i.globals.ttVal?Array.isArray(i.globals.ttVal)?(a=i.globals.ttVal[t]&&i.globals.ttVal[t].formatter,e=i.globals.ttVal[t]&&i.globals.ttVal[t].title&&i.globals.ttVal[t].title.formatter):(a=i.globals.ttVal.formatter,"function"==typeof i.globals.ttVal.title.formatter&&(e=i.globals.ttVal.title.formatter)):e=i.config.tooltip.y.title.formatter,"function"!=typeof a&&(a=i.globals.yLabelFormatters[0]?i.globals.yLabelFormatters[0]:function(t){return t}),"function"!=typeof e&&(e=function(t){return t?t+": ":""}),{yLbFormatter:a,yLbTitleFormatter:e}}},{key:"getSeriesName",value:function(t){var e=t.fn,i=t.index,a=t.seriesIndex,s=t.j,r=this.w;return e(String(r.globals.seriesNames[i]),{series:r.globals.series,seriesIndex:a,dataPointIndex:s,w:r})}},{key:"DOMHandling",value:function(t){t.i;var e=t.t,i=t.j,a=t.ttItems,s=t.values,r=t.seriesName,n=t.shared,o=t.pColor,l=this.w,h=this.ttCtx,c=s.val,d=s.goalVals,u=s.xVal,g=s.xAxisTTVal,p=s.zVal,f=null;f=a[e].children,l.config.tooltip.fillSeriesColor&&(a[e].style.backgroundColor=o,f[0].style.display="none"),h.showTooltipTitle&&(null===h.tooltipTitle&&(h.tooltipTitle=l.globals.dom.baseEl.querySelector(".apexcharts-tooltip-title")),h.tooltipTitle.innerHTML=u),h.isXAxisTooltipEnabled&&(h.xaxisTooltipText.innerHTML=""!==g?g:u);var x=a[e].querySelector(".apexcharts-tooltip-text-y-label");x&&(x.innerHTML=r||"");var b=a[e].querySelector(".apexcharts-tooltip-text-y-value");b&&(b.innerHTML=void 0!==c?c:""),f[0]&&f[0].classList.contains("apexcharts-tooltip-marker")&&(l.config.tooltip.marker.fillColors&&Array.isArray(l.config.tooltip.marker.fillColors)&&(o=l.config.tooltip.marker.fillColors[e]),l.config.tooltip.fillSeriesColor?f[0].style.backgroundColor=o:f[0].style.color=o),l.config.tooltip.marker.show||(f[0].style.display="none");var m=a[e].querySelector(".apexcharts-tooltip-text-goals-label"),v=a[e].querySelector(".apexcharts-tooltip-text-goals-value");if(d.length&&l.globals.seriesGoals[e]){var y=function(){var t="<div>",e="<div>";d.forEach((function(i,a){t+=' <div style="display: flex"><span class="apexcharts-tooltip-marker" style="background-color: '.concat(i.attrs.strokeColor,'; height: 3px; border-radius: 0; top: 5px;"></span> ').concat(i.attrs.name,"</div>"),e+="<div>".concat(i.val,"</div>")})),m.innerHTML=t+"</div>",v.innerHTML=e+"</div>"};n?l.globals.seriesGoals[e][i]&&Array.isArray(l.globals.seriesGoals[e][i])?y():(m.innerHTML="",v.innerHTML=""):y()}
vendor: 13,733 bytes, line 46395
46395else m.innerHTML="",v.innerHTML="";null!==p&&(a[e].querySelector(".apexcharts-tooltip-text-z-label").innerHTML=l.config.tooltip.z.title,a[e].querySelector(".apexcharts-tooltip-text-z-value").innerHTML=void 0!==p?p:"");if(n&&f[0]){if(l.config.tooltip.hideEmptySeries){var w=a[e].querySelector(".apexcharts-tooltip-marker"),k=a[e].querySelector(".apexcharts-tooltip-text");0==parseFloat(c)?(w.style.display="none",k.style.display="none"):(w.style.display="block",k.style.display="block")}null==c||l.globals.ancillaryCollapsedSeriesIndices.indexOf(e)>-1||l.globals.collapsedSeriesIndices.indexOf(e)>-1||Array.isArray(h.tConfig.enabledOnSeries)&&-1===h.tConfig.enabledOnSeries.indexOf(e)?f[0].parentNode.style.display="none":f[0].parentNode.style.display=l.config.tooltip.items.display}else Array.isArray(h.tConfig.enabledOnSeries)&&-1===h.tConfig.enabledOnSeries.indexOf(e)&&(f[0].parentNode.style.display="none")}},{key:"toggleActiveInactiveSeries",value:function(t,e){var i=this.w;if(t)this.tooltipUtil.toggleAllTooltipSeriesGroups("enable");else{this.tooltipUtil.toggleAllTooltipSeriesGroups("disable");var a=i.globals.dom.baseEl.querySelector(".apexcharts-tooltip-series-group-".concat(e));a&&(a.classList.add("apexcharts-active"),a.style.display=i.config.tooltip.items.display)}}},{key:"getValuesToPrint",value:function(t){var e=t.i,i=t.j,a=this.w,s=this.ctx.series.filteredSeriesX(),r="",n="",o=null,l=null,h={series:a.globals.series,seriesIndex:e,dataPointIndex:i,w:a},c=a.globals.ttZFormatter;null===i?l=a.globals.series[e]:a.globals.isXNumeric&&"treemap"!==a.config.chart.type?(r=s[e][i],0===s[e].length&&(r=s[this.tooltipUtil.getFirstActiveXArray(s)][i])):r=new $i(this.ctx).isFormatXY()?void 0!==a.config.series[e].data[i]?a.config.series[e].data[i].x:"":void 0!==a.globals.labels[i]?a.globals.labels[i]:"";var d=r;a.globals.isXNumeric&&"datetime"===a.config.xaxis.type?r=new Xi(this.ctx).xLabelFormat(a.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new zi(this.ctx).formatDate,w:this.w}):r=a.globals.isBarHorizontal?a.globals.yLabelFormatters[0](d,h):a.globals.xLabelFormatter(d,h);return void 0!==a.config.tooltip.x.formatter&&(r=a.globals.ttKeyFormatter(d,h)),a.globals.seriesZ.length>0&&a.globals.seriesZ[e].length>0&&(o=c(a.globals.seriesZ[e][i],a)),n="function"==typeof a.config.xaxis.tooltip.formatter?a.globals.xaxisTooltipFormatter(d,h):r,{val:Array.isArray(l)?l.join(" "):l,xVal:Array.isArray(r)?r.join(" "):r,xAxisTTVal:Array.isArray(n)?n.join(" "):n,zVal:o}}},{key:"handleCustomTooltip",value:function(t){var e=t.i,i=t.j,a=t.y1,s=t.y2,r=t.w,n=this.ttCtx.getElTooltip(),o=r.config.tooltip.custom;Array.isArray(o)&&o[e]&&(o=o[e]);var l=o({ctx:this.ctx,series:r.globals.series,seriesIndex:e,dataPointIndex:i,y1:a,y2:s,w:r});"string"==typeof l||"number"==typeof l?n.innerHTML=l:(l instanceof Element||"string"==typeof l.nodeName)&&(n.innerHTML="",n.appendChild(l.cloneNode(!0)))}}]),t}(),wa=function(){function t(e){i(this,t),this.ttCtx=e,this.ctx=e.ctx,this.w=e.w}return s(t,[{key:"moveXCrosshairs",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.ttCtx,a=this.w,s=i.getElXCrosshairs(),r=t-i.xcrosshairsWidth/2,n=a.globals.labels.slice().length;if(null!==e&&(r=a.globals.gridWidth/n*e),null===s||a.globals.isBarHorizontal||(s.setAttribute("x",r),s.setAttribute("x1",r),s.setAttribute("x2",r),s.setAttribute("y2",a.globals.gridHeight),s.classList.add("apexcharts-active")),r<0&&(r=0),r>a.globals.gridWidth&&(r=a.globals.gridWidth),i.isXAxisTooltipEnabled){var o=r;"tickWidth"!==a.config.xaxis.crosshairs.width&&"barWidth"!==a.config.xaxis.crosshairs.width||(o=r+i.xcrosshairsWidth/2),this.moveXAxisTooltip(o)}}},{key:"moveYCrosshairs",value:function(t){var e=this.ttCtx;null!==e.ycrosshairs&&Mi.setAttrs(e.ycrosshairs,{y1:t,y2:t}),null!==e.ycrosshairsHidden&&Mi.setAttrs(e.ycrosshairsHidden,{y1:t,y2:t})}},{key:"moveXAxisTooltip",value:function(t){var e=this.w,i=this.ttCtx;if(null!==i.xaxisTooltip&&0!==i.xcrosshairsWidth){i.xaxisTooltip.classList.add("apexcharts-active");var a=i.xaxisOffY+e.config.xaxis.tooltip.offsetY+e.globals.translateY+1+e.config.xaxis.offsetY;if(t-=i.xaxisTooltip.getBoundingClientRect().width/2,!isNaN(t)){t+=e.globals.translateX;var s;s=new Mi(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=s.width+"px",i.xaxisTooltip.style.left=t+"px",i.xaxisTooltip.style.top=a+"px"}}}},{key:"moveYAxisTooltip",value:function(t){var e=this.w,i=this.ttCtx;null===i.yaxisTTEls&&(i.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxistooltip"));var a=parseInt(i.ycrosshairsHidden.getAttribute("y1"),10),s=e.globals.translateY+a,r=i.yaxisTTEls[t].getBoundingClientRect(),n=r.height,o=e.globals.translateYAxisX[t]-2;e.config.yaxis[t].opposite&&(o-=r.width),s-=n/2,-1===e.globals.ignoreYAxisIndexes.indexOf(t)&&s>0&&s<e.globals.gridHeight?(i.yaxisTTEls[t].classList.add("apexcharts-active"),i.yaxisTTEls[t].style.top=s+"px",i.yaxisTTEls[t].style.left=o+e.config.yaxis[t].tooltip.offsetX+"px"):i.yaxisTTEls[t].classList.remove("apexcharts-active")}},{key:"moveTooltip",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=this.ttCtx,r=s.getElTooltip(),n=s.tooltipRect,o=null!==i?parseFloat(i):1,l=parseFloat(t)+o+5,h=parseFloat(e)+o/2;if(l>a.globals.gridWidth/2&&(l=l-n.ttWidth-o-10),l>a.globals.gridWidth-n.ttWidth-10&&(l=a.globals.gridWidth-n.ttWidth),l<-20&&(l=-20),a.config.tooltip.followCursor){var c=s.getElGrid().getBoundingClientRect();(l=s.e.clientX-c.left)>a.globals.gridWidth/2&&(l-=s.tooltipRect.ttWidth),(h=s.e.clientY+a.globals.translateY-c.top)>a.globals.gridHeight/2&&(h-=s.tooltipRect.ttHeight)}else a.globals.isBarHorizontal||n.ttHeight/2+h>a.globals.gridHeight&&(h=a.globals.gridHeight-n.ttHeight+a.globals.translateY);isNaN(l)||(l+=a.globals.translateX,r.style.left=l+"px",r.style.top=h+"px")}},{key:"moveMarkers",value:function(t,e){var i=this.w,a=this.ttCtx;if(i.globals.markers.size[t]>0)for(var s=i.globals.dom.baseEl.querySelectorAll(" .apexcharts-series[data\\:realIndex='".concat(t,"'] .apexcharts-marker")),r=0;r<s.length;r++)parseInt(s[r].getAttribute("rel"),10)===e&&(a.marker.resetPointsSize(),a.marker.enlargeCurrentPoint(e,s[r]));else a.marker.resetPointsSize(),this.moveDynamicPointOnHover(e,t)}},{key:"moveDynamicPointOnHover",value:function(t,e){var i,a,s,r,n=this.w,o=this.ttCtx,l=new Mi(this.ctx),h=n.globals.pointsArray,c=o.tooltipUtil.getHoverMarkerSize(e),d=n.config.series[e].type;if(!d||"column"!==d&&"candlestick"!==d&&"boxPlot"!==d){s=null===(i=h[e][t])||void 0===i?void 0:i[0],r=(null===(a=h[e][t])||void 0===a?void 0:a[1])||0;var u=n.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(e,"'] .apexcharts-series-markers path"));if(u&&r<n.globals.gridHeight&&r>0){var g=u.getAttribute("shape"),p=l.getMarkerPath(s,r,g,1.5*c);u.setAttribute("d",p)}this.moveXCrosshairs(s),o.fixedTooltip||this.moveTooltip(s,r,c)}}},{key:"moveDynamicPointsOnHover",value:function(t){var e,i=this.ttCtx,a=i.w,s=0,r=0,n=a.globals.pointsArray,o=new Zi(this.ctx),l=new Mi(this.ctx);e=o.getActiveConfigSeriesIndex("asc",["line","area","scatter","bubble"]);var h=i.tooltipUtil.getHoverMarkerSize(e);if(n[e]&&(s=n[e][t][0],r=n[e][t][1]),!isNaN(s)){var c=i.tooltipUtil.getAllMarkers();if(c.length)for(var d=0;d<a.globals.series.length;d++){var u=n[d];if(a.globals.comboCharts&&void 0===u&&c.splice(d,0,null),u&&u.length){var g=n[d][t][1],p=void 0;c[d].setAttribute("cx",s);var f=c[d].getAttribute("shape");if("rangeArea"===a.config.chart.type&&!a.globals.comboCharts){var x=t+a.globals.series[d].length;p=n[d][x][1],g-=Math.abs(g-p)/2}if(null!==g&&!isNaN(g)&&g<a.globals.gridHeight+h&&g+h>0){var b=l.getMarkerPath(s,g,f,h);c[d].setAttribute("d",b)}else c[d].setAttribute("d","")}}this.moveXCrosshairs(s),i.fixedTooltip||this.moveTooltip(s,r||a.globals.gridHeight,h)}}},{key:"moveStickyTooltipOverBars",value:function(t,e){var i=this.w,a=this.ttCtx,s=i.globals.columnSeries?i.globals.columnSeries.length:i.globals.series.length;i.config.chart.stacked&&(s=i.globals.barGroups.length);var r=s>=2&&s%2==0?Math.floor(s/2):Math.floor(s/2)+1;i.globals.isBarHorizontal&&(r=new Zi(this.ctx).getActiveConfigSeriesIndex("desc")+1);var n=i.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[rel='".concat(r,"'] path[j='").concat(t,"'], .apexcharts-candlestick-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(t,"'], .apexcharts-boxPlot-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(t,"'], .apexcharts-rangebar-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(t,"']"));n||"number"!=typeof e||(n=i.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[data\\:realIndex='".concat(e,"'] path[j='").concat(t,"'],\n        .apexcharts-candlestick-series .apexcharts-series[data\\:realIndex='").concat(e,"'] path[j='").concat(t,"'],\n        .apexcharts-boxPlot-series .apexcharts-series[data\\:realIndex='").concat(e,"'] path[j='").concat(t,"'],\n        .apexcharts-rangebar-series .apexcharts-series[data\\:realIndex='").concat(e,"'] path[j='").concat(t,"']")));var o=n?parseFloat(n.getAttribute("cx")):0,l=n?parseFloat(n.getAttribute("cy")):0,h=n?parseFloat(n.getAttribute("barWidth")):0,c=a.getElGrid().getBoundingClientRect(),d=n&&(n.classList.contains("apexcharts-candlestick-area")||n.classList.contains("apexcharts-boxPlot-area"));i.globals.isXNumeric?(n&&!d&&(o-=s%2!=0?h/2:0),n&&d&&(o-=h/2)):i.globals.isBarHorizontal||(o=a.xAxisTicksPositions[t-1]+a.dataPointsDividedWidth/2,isNaN(o)&&(o=a.xAxisTicksPositions[t]-a.dataPointsDividedWidth/2)),i.globals.isBarHorizontal?l-=a.tooltipRect.ttHeight:i.config.tooltip.followCursor?l=a.e.clientY-c.top-a.tooltipRect.ttHeight/2:l+a.tooltipRect.ttHeight+15>i.globals.gridHeight&&(l=i.globals.gridHeight),i.globals.isBarHorizontal||this.moveXCrosshairs(o),a.fixedTooltip||this.moveTooltip(o,l||i.globals.gridHeight)}}]),t}(),ka=function(){function t(e){i(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx,this.tooltipPosition=new wa(e)}return s(t,[{key:"drawDynamicPoints",value:function(){var t=this.w,e=new Mi(this.ctx),i=new Vi(this.ctx),a=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series");a=f(a),t.config.chart.stacked&&a.sort((function(t,e){return parseFloat(t.getAttribute("data:realIndex"))-parseFloat(e.getAttribute("data:realIndex"))}));for(var s=0;s<a.length;s++){var r=a[s].querySelector(".apexcharts-series-markers-wrap");if(null!==r){var n=void 0,o="apexcharts-marker w".concat((Math.random()+1).toString(36).substring(4));"line"!==t.config.chart.type&&"area"!==t.config.chart.type||t.globals.comboCharts||t.config.tooltip.intersect||(o+=" no-pointer-events");var l=i.getMarkerConfig({cssClass:o,seriesIndex:Number(r.getAttribute("data:realIndex"))});(n=e.drawMarker(0,0,l)).node.setAttribute("default-marker-size",0);var h=document.createElementNS(t.globals.SVGNS,"g");h.classList.add("apexcharts-series-markers"),h.appendChild(n.node),r.appendChild(h)}}}},{key:"enlargeCurrentPoint",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w;"bubble"!==s.config.chart.type&&this.newPointSize(t,e);var r=e.getAttribute("cx"),n=e.getAttribute("cy");if(null!==i&&null!==a&&(r=i,n=a),this.tooltipPosition.moveXCrosshairs(r),!this.fixedTooltip){if("radar"===s.config.chart.type){var o=this.ttCtx.getElGrid().getBoundingClientRect();r=this.ttCtx.e.clientX-o.left}this.tooltipPosition.moveTooltip(r,n,s.config.markers.hover.size)}}},{key:"enlargePoints",value:function(t){for(var e=this.w,i=this,a=this.ttCtx,s=t,r=e.globals.dom.baseEl.querySelectorAll(".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"),n=e.config.markers.hover.size,o=0;o<r.length;o++){var l=r[o].getAttribute("rel"),h=r[o].getAttribute("index");if(void 0===n&&(n=e.globals.markers.size[h]+e.config.markers.hover.sizeOffset),s===parseInt(l,10)){i.newPointSize(s,r[o]);var c=r[o].getAttribute("cx"),d=r[o].getAttribute("cy");i.tooltipPosition.moveXCrosshairs(c),a.fixedTooltip||i.tooltipPosition.moveTooltip(c,d,n)}else i.oldPointSize(r[o])}}},{key:"newPointSize",value:function(t,e){var i=this.w,a=i.config.markers.hover.size,s=0===t?e.parentNode.firstChild:e.parentNode.lastChild;if("0"!==s.getAttribute("default-marker-size")){var r=parseInt(s.getAttribute("index"),10);void 0===a&&(a=i.globals.markers.size[r]+i.config.markers.hover.sizeOffset),a<0&&(a=0);var n=this.ttCtx.tooltipUtil.getPathFromPoint(e,a);e.setAttribute("d",n)}}},{key:"oldPointSize",value:function(t){var e=parseFloat(t.getAttribute("default-marker-size")),i=this.ttCtx.tooltipUtil.getPathFromPoint(t,e);t.setAttribute("d",i)}},{key:"resetPointsSize",value:function(){for(var t=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"),e=0;e<t.length;e++){var i=parseFloat(t[e].getAttribute("default-marker-size"));if(v.isNumber(i)&&i>0){var a=this.ttCtx.tooltipUtil.getPathFromPoint(t[e],i);t[e].setAttribute("d",a)}else t[e].setAttribute("d","M0,0")}}}]),t}(),Aa=function(){function t(e){i(this,t),this.w=e.w;var a=this.w;this.ttCtx=e,this.isVerticalGroupedRangeBar=!a.globals.isBarHorizontal&&"rangeBar"===a.config.chart.type&&a.config.plotOptions.bar.rangeBarGroupRows}return s(t,[{key:"getAttr",value:function(t,e){return parseFloat(t.target.getAttribute(e))}},{key:"handleHeatTreeTooltip",value:function(t){var e=t.e,i=t.opt,a=t.x,s=t.y,r=t.type,n=this.ttCtx,o=this.w;if(e.target.classList.contains("apexcharts-".concat(r,"-rect"))){var l=this.getAttr(e,"i"),h=this.getAttr(e,"j"),c=this.getAttr(e,"cx"),d=this.getAttr(e,"cy"),u=this.getAttr(e,"
46395width"),g=this.getAttr(e,"height");if(n.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:l,j:h,shared:!1,e:e}),o.globals.capturedSeriesIndex=l,o.globals.capturedDataPointIndex=h,a=c+n.tooltipRect.ttWidth/2+u,s=d+n.tooltipRect.ttHeight/2-g/2,n.tooltipPosition.moveXCrosshairs(c+u/2),a>o.globals.gridWidth/2&&(a=c-n.tooltipRect.ttWidth/2+u),n.w.config.tooltip.followCursor){var p=o.globals.dom.elWrap.getBoundingClientRect();a=o.globals.clientX-p.left-(a>o.globals.gridWidth/2?n.tooltipRect.ttWidth:0),s=o.globals.clientY-p.top-(s>o.globals.gridHeight/2?n.tooltipRect.ttHeight:0)}}return{x:a,y:s}}},{key:"handleMarkerTooltip",value:function(t){var e,i,a=t.e,s=t.opt,r=t.x,n=t.y,o=this.w,l=this.ttCtx;if(a.target.classList.contains("apexcharts-marker")){var h=parseInt(s.paths.getAttribute("cx"),10),c=parseInt(s.paths.getAttribute("cy"),10),d=parseFloat(s.paths.getAttribute("val"));if(i=parseInt(s.paths.getAttribute("rel"),10),e=parseInt(s.paths.parentNode.parentNode.parentNode.getAttribute("rel"),10)-1,l.intersect){var u=v.findAncestor(s.paths,"apexcharts-series");u&&(e=parseInt(u.getAttribute("data:realIndex"),10))}if(l.tooltipLabels.drawSeriesTexts({ttItems:s.ttItems,i:e,j:i,shared:!l.showOnIntersect&&o.config.tooltip.shared,e:a}),"mouseup"===a.type&&l.markerClick(a,e,i),o.globals.capturedSeriesIndex=e,o.globals.capturedDataPointIndex=i,r=h,n=c+o.globals.translateY-1.4*l.tooltipRect.ttHeight,l.w.config.tooltip.followCursor){var g=l.getElGrid().getBoundingClientRect();n=l.e.clientY+o.globals.translateY-g.top}d<0&&(n=c),l.marker.enlargeCurrentPoint(i,s.paths,r,n)}return{x:r,y:n}}},{key:"handleBarTooltip",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,n=this.ttCtx,o=n.getElTooltip(),l=0,h=0,c=0,d=this.getBarTooltipXY({e:a,opt:s});if(null!==d.j||0!==d.barHeight||0!==d.barWidth){e=d.i;var u=d.j;if(r.globals.capturedSeriesIndex=e,r.globals.capturedDataPointIndex=u,r.globals.isBarHorizontal&&n.tooltipUtil.hasBars()||!r.config.tooltip.shared?(h=d.x,c=d.y,i=Array.isArray(r.config.stroke.width)?r.config.stroke.width[e]:r.config.stroke.width,l=h):r.globals.comboCharts||r.config.tooltip.shared||(l/=2),isNaN(c)&&(c=r.globals.svgHeight-n.tooltipRect.ttHeight),parseInt(s.paths.parentNode.getAttribute("data:realIndex"),10),h+n.tooltipRect.ttWidth>r.globals.gridWidth?h-=n.tooltipRect.ttWidth:h<0&&(h=0),n.w.config.tooltip.followCursor){var g=n.getElGrid().getBoundingClientRect();c=n.e.clientY-g.top}null===n.tooltip&&(n.tooltip=r.globals.dom.baseEl.querySelector(".apexcharts-tooltip")),r.config.tooltip.shared||(r.globals.comboBarCount>0?n.tooltipPosition.moveXCrosshairs(l+i/2):n.tooltipPosition.moveXCrosshairs(l)),!n.fixedTooltip&&(!r.config.tooltip.shared||r.globals.isBarHorizontal&&n.tooltipUtil.hasBars())&&(c=c+r.globals.translateY-n.tooltipRect.ttHeight/2,o.style.left=h+r.globals.translateX+"px",o.style.top=c+"px")}}},{key:"getBarTooltipXY",value:function(t){var e=this,i=t.e,a=t.opt,s=this.w,r=null,n=this.ttCtx,o=0,l=0,h=0,c=0,d=0,u=i.target.classList;if(u.contains("apexcharts-bar-area")||u.contains("apexcharts-candlestick-area")||u.contains("apexcharts-boxPlot-area")||u.contains("apexcharts-rangebar-area")){var g=i.target,p=g.getBoundingClientRect(),f=a.elGrid.getBoundingClientRect(),x=p.height;d=p.height;var b=p.width,m=parseInt(g.getAttribute("cx"),10),v=parseInt(g.getAttribute("cy"),10);c=parseFloat(g.getAttribute("barWidth"));var y="touchmove"===i.type?i.touches[0].clientX:i.clientX;r=parseInt(g.getAttribute("j"),10),o=parseInt(g.parentNode.getAttribute("rel"),10)-1;var w=g.getAttribute("data-range-y1"),k=g.getAttribute("data-range-y2");s.globals.comboCharts&&(o=parseInt(g.parentNode.getAttribute("data:realIndex"),10));var A=function(t){return s.globals.isXNumeric?m-b/2:e.isVerticalGroupedRangeBar?m+b/2:m-n.dataPointsDividedWidth+b/2},C=function(){return v-n.dataPointsDividedHeight+x/2-n.tooltipRect.ttHeight/2};n.tooltipLabels.drawSeriesTexts({ttItems:a.ttItems,i:o,j:r,y1:w?parseInt(w,10):null,y2:k?parseInt(k,10):null,shared:!n.showOnIntersect&&s.config.tooltip.shared,e:i}),s.config.tooltip.followCursor?s.globals.isBarHorizontal?(l=y-f.left+15,h=C()):(l=A(),h=i.clientY-f.top-n.tooltipRect.ttHeight/2-15):s.globals.isBarHorizontal?((l=m)<n.xyRatios.baseLineInvertedY&&(l=m-n.tooltipRect.ttWidth),h=C()):(l=A(),h=v)}return{x:l,y:h,barHeight:d,barWidth:c,i:o,j:r}}}]),t}(),Ca=function(){function t(e){i(this,t),this.w=e.w,this.ttCtx=e}return s(t,[{key:"drawXaxisTooltip",value:function(){var t=this.w,e=this.ttCtx,i="bottom"===t.config.xaxis.position;e.xaxisOffY=i?t.globals.gridHeight+1:-t.globals.xAxisHeight-t.config.xaxis.axisTicks.height+3;var a=i?"apexcharts-xaxistooltip apexcharts-xaxistooltip-bottom":"apexcharts-xaxistooltip apexcharts-xaxistooltip-top",s=t.globals.dom.elWrap;e.isXAxisTooltipEnabled&&(null===t.globals.dom.baseEl.querySelector(".apexcharts-xaxistooltip")&&(e.xaxisTooltip=document.createElement("div"),e.xaxisTooltip.setAttribute("class",a+" apexcharts-theme-"+t.config.tooltip.theme),s.appendChild(e.xaxisTooltip),e.xaxisTooltipText=document.createElement("div"),e.xaxisTooltipText.classList.add("apexcharts-xaxistooltip-text"),e.xaxisTooltipText.style.fontFamily=t.config.xaxis.tooltip.style.fontFamily||t.config.chart.fontFamily,e.xaxisTooltipText.style.fontSize=t.config.xaxis.tooltip.style.fontSize,e.xaxisTooltip.appendChild(e.xaxisTooltipText)))}},{key:"drawYaxisTooltip",value:function(){for(var t=this.w,e=this.ttCtx,i=0;i<t.config.yaxis.length;i++){var a=t.config.yaxis[i].opposite||t.config.yaxis[i].crosshairs.opposite;e.yaxisOffX=a?t.globals.gridWidth+1:1;var s="apexcharts-yaxistooltip apexcharts-yaxistooltip-".concat(i,a?" apexcharts-yaxistooltip-right":" apexcharts-yaxistooltip-left"),r=t.globals.dom.elWrap;null===t.globals.dom.baseEl.querySelector(".apexcharts-yaxistooltip apexcharts-yaxistooltip-".concat(i))&&(e.yaxisTooltip=document.createElement("div"),e.yaxisTooltip.setAttribute("class",s+" apexcharts-theme-"+t.config.tooltip.theme),r.appendChild(e.yaxisTooltip),0===i&&(e.yaxisTooltipText=[]),e.yaxisTooltipText[i]=document.createElement("div"),e.yaxisTooltipText[i].classList.add("apexcharts-yaxistooltip-text"),e.yaxisTooltip.appendChild(e.yaxisTooltipText[i]))}}},{key:"setXCrosshairWidth",value:function(){var t=this.w,e=this.ttCtx,i=e.getElXCrosshairs();if(e.xcrosshairsWidth=parseInt(t.config.xaxis.crosshairs.width,10),t.globals.comboCharts){var a=t.globals.dom.baseEl.querySelector(".apexcharts-bar-area");if(null!==a&&"barWidth"===t.config.xaxis.crosshairs.width){var s=parseFloat(a.getAttribute("barWidth"));e.xcrosshairsWidth=s}else if("tickWidth"===t.config.xaxis.crosshairs.width){var r=t.globals.labels.length;e.xcrosshairsWidth=t.globals.gridWidth/r}}else if("tickWidth"===t.config.xaxis.crosshairs.width){var n=t.globals.labels.length;e.xcrosshairsWidth=t.globals.gridWidth/n}else if("barWidth"===t.config.xaxis.crosshairs.width){var o=t.globals.dom.baseEl.querySelector(".apexcharts-bar-area");if(null!==o){var l=parseFloat(o.getAttribute("barWidth"));e.xcrosshairsWidth=l}else e.xcrosshairsWidth=1}t.globals.isBarHorizontal&&(e.xcrosshairsWidth=0),null!==i&&e.xcrosshairsWidth>0&&i.setAttribute("width",e.xcrosshairsWidth)}},{key:"handleYCrosshair",value:function(){var t=this.w,e=this.ttCtx;e.ycrosshairs=t.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs"),e.ycrosshairsHidden=t.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs-hidden")}}
vendor: 5,595 bytes, line 46395
46395,{key:"drawYaxisTooltipText",value:function(t,e,i){var a=this.ttCtx,s=this.w,r=s.globals,n=r.seriesYAxisMap[t];if(a.yaxisTooltips[t]&&n.length>0){var o=r.yLabelFormatters[t],l=a.getElGrid().getBoundingClientRect(),h=n[0],c=0;i.yRatio.length>1&&(c=h);var d=(e-l.top)*i.yRatio[c],u=r.maxYArr[h]-r.minYArr[h],g=r.minYArr[h]+(u-d);s.config.yaxis[t].reversed&&(g=r.maxYArr[h]-(u-d)),a.tooltipPosition.moveYCrosshairs(e-l.top),a.yaxisTooltipText[t].innerHTML=o(g),a.tooltipPosition.moveYAxisTooltip(t)}}}]),t}(),Sa=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w;var a=this.w;this.tConfig=a.config.tooltip,this.tooltipUtil=new va(this),this.tooltipLabels=new ya(this),this.tooltipPosition=new wa(this),this.marker=new ka(this),this.intersect=new Aa(this),this.axesTooltip=new Ca(this),this.showOnIntersect=this.tConfig.intersect,this.showTooltipTitle=this.tConfig.x.show,this.fixedTooltip=this.tConfig.fixed.enabled,this.xaxisTooltip=null,this.yaxisTTEls=null,this.isBarShared=!a.globals.isBarHorizontal&&this.tConfig.shared,this.lastHoverTime=Date.now()}return s(t,[{key:"getElTooltip",value:function(t){return t||(t=this),t.w.globals.dom.baseEl?t.w.globals.dom.baseEl.querySelector(".apexcharts-tooltip"):null}},{key:"getElXCrosshairs",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-xcrosshairs")}},{key:"getElGrid",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-grid")}},{key:"drawTooltip",value:function(t){var e=this.w;this.xyRatios=t,this.isXAxisTooltipEnabled=e.config.xaxis.tooltip.enabled&&e.globals.axisCharts,this.yaxisTooltips=e.config.yaxis.map((function(t,i){return!!(t.show&&t.tooltip.enabled&&e.globals.axisCharts)})),this.allTooltipSeriesGroups=[],e.globals.axisCharts||(this.showTooltipTitle=!1);var i=document.createElement("div");if(i.classList.add("apexcharts-tooltip"),e.config.tooltip.cssClass&&i.classList.add(e.config.tooltip.cssClass),i.classList.add("apexcharts-theme-".concat(this.tConfig.theme||"light")),e.globals.dom.elWrap.appendChild(i),e.globals.axisCharts){this.axesTooltip.drawXaxisTooltip(),this.axesTooltip.drawYaxisTooltip(),this.axesTooltip.setXCrosshairWidth(),this.axesTooltip.handleYCrosshair();var a=new Qi(this.ctx);this.xAxisTicksPositions=a.getXAxisTicksPositions()}if(!e.globals.comboCharts&&!this.tConfig.intersect&&"rangeBar"!==e.config.chart.type||this.tConfig.shared||(this.showOnIntersect=!0),0!==e.config.markers.size&&0!==e.globals.markers.largestSize||this.marker.drawDynamicPoints(this),e.globals.collapsedSeries.length!==e.globals.series.length){this.dataPointsDividedHeight=e.globals.gridHeight/e.globals.dataPoints,this.dataPointsDividedWidth=e.globals.gridWidth/e.globals.dataPoints,this.showTooltipTitle&&(this.tooltipTitle=document.createElement("div"),this.tooltipTitle.classList.add("apexcharts-tooltip-title"),this.tooltipTitle.style.fontFamily=this.tConfig.style.fontFamily||e.config.chart.fontFamily,this.tooltipTitle.style.fontSize=this.tConfig.style.fontSize,i.appendChild(this.tooltipTitle));var s=e.globals.series.length;(e.globals.xyCharts||e.globals.comboCharts)&&this.tConfig.shared&&(s=this.showOnIntersect?1:e.globals.series.length),this.legendLabels=e.globals.dom.baseEl.querySelectorAll(".apexcharts-legend-text"),this.ttItems=this.createTTElements(s),this.addSVGEvents()}}},{key:"createTTElements",value:function(t){for(var e=this,i=this.w,a=[],s=this.getElTooltip(),r=function(r){var n=document.createElement("div");n.classList.add("apexcharts-tooltip-series-group","apexcharts-tooltip-series-group-".concat(r)),n.style.order=i.config.tooltip.inverseOrder?t-r:r+1;var o=document.createElement("span");o.classList.add("apexcharts-tooltip-marker"),i.config.tooltip.fillSeriesColor?o.style.backgroundColor=i.globals.colors[r]:o.style.color=i.globals.colors[r];var l=i.config.markers.shape,h=l;Array.isArray(l)&&(h=l[r]),o.setAttribute("shape",h),n.appendChild(o);var c=document.createElement("div");c.classList.add("apexcharts-tooltip-text"),c.style.fontFamily=e.tConfig.style.fontFamily||i.config.chart.fontFamily,c.style.fontSize=e.tConfig.style.fontSize,["y","goals","z"].forEach((function(t){var e=document.createElement("div");e.classList.add("apexcharts-tooltip-".concat(t,"-group"));var i=document.createElement("span");i.classList.add("apexcharts-tooltip-text-".concat(t,"-label")),e.appendChild(i);var a=document.createElement("span");a.classList.add("apexcharts-tooltip-text-".concat(t,"-value")),e.appendChild(a),c.appendChild(e)})),n.appendChild(c),s.appendChild(n),a.push(n)},n=0;n<t;n++)r(n);return a}},{key:"addSVGEvents",value:function(){var t=this.w,e=t.config.chart.type,i=this.getElTooltip(),a=!("bar"!==e&&"candlestick"!==e&&"boxPlot"!==e&&"rangeBar"!==e),s="area"===e||"line"===e||"scatter"===e||"bubble"===e||"radar"===e,r=t.globals.dom.Paper.node,n=this.getElGrid();n&&(this.seriesBound=n.getBoundingClientRect());var o,l=[],h=[],c={hoverArea:r,elGrid:n,tooltipEl:i,tooltipY:l,tooltipX:h,ttItems:this.ttItems};if(t.globals.axisCharts&&(s?o=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series[data\\:longestSeries='true'] .apexcharts-marker"):a?o=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series .apexcharts-bar-area, .apexcharts-series .apexcharts-candlestick-area, .apexcharts-series .apexcharts-boxPlot-area, .apexcharts-series .apexcharts-rangebar-area"):"heatmap"!==e&&"treemap"!==e||(o=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series .apexcharts-heatmap, .apexcharts-series .apexcharts-treemap")),o&&o.length))for(var d=0;d<o.length;d++)l.push(o[d].getAttribute("cy")),h.push(o[d].getAttribute("cx"));
vendor: 13,921 bytes, line 46395
46395if(t.globals.xyCharts&&!this.showOnIntersect||t.globals.comboCharts&&!this.showOnIntersect||a&&this.tooltipUtil.hasBars()&&this.tConfig.shared)this.addPathsEventListeners([r],c);else if(a&&!t.globals.comboCharts||s&&this.showOnIntersect)this.addDatapointEventsListeners(c);else if(!t.globals.axisCharts||"heatmap"===e||"treemap"===e){var u=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series");this.addPathsEventListeners(u,c)}if(this.showOnIntersect){var g=t.globals.dom.baseEl.querySelectorAll(".apexcharts-line-series .apexcharts-marker, .apexcharts-area-series .apexcharts-marker");g.length>0&&this.addPathsEventListeners(g,c),this.tooltipUtil.hasBars()&&!this.tConfig.shared&&this.addDatapointEventsListeners(c)}}},{key:"drawFixedTooltipRect",value:function(){var t=this.w,e=this.getElTooltip(),i=e.getBoundingClientRect(),a=i.width+10,s=i.height+10,r=this.tConfig.fixed.offsetX,n=this.tConfig.fixed.offsetY,o=this.tConfig.fixed.position.toLowerCase();return o.indexOf("right")>-1&&(r=r+t.globals.svgWidth-a+10),o.indexOf("bottom")>-1&&(n=n+t.globals.svgHeight-s-10),e.style.left=r+"px",e.style.top=n+"px",{x:r,y:n,ttWidth:a,ttHeight:s}}},{key:"addDatapointEventsListeners",value:function(t){var e=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area");this.addPathsEventListeners(e,t)}},{key:"addPathsEventListeners",value:function(t,e){for(var i=this,a=function(a){var s={paths:t[a],tooltipEl:e.tooltipEl,tooltipY:e.tooltipY,tooltipX:e.tooltipX,elGrid:e.elGrid,hoverArea:e.hoverArea,ttItems:e.ttItems};["mousemove","mouseup","touchmove","mouseout","touchend"].map((function(e){return t[a].addEventListener(e,i.onSeriesHover.bind(i,s),{capture:!1,passive:!0})}))},s=0;s<t.length;s++)a(s)}},{key:"onSeriesHover",value:function(t,e){var i=this,a=Date.now()-this.lastHoverTime;a>=20?this.seriesHover(t,e):(clearTimeout(this.seriesHoverTimeout),this.seriesHoverTimeout=setTimeout((function(){i.seriesHover(t,e)}),20-a))}},{key:"seriesHover",value:function(t,e){var i=this;this.lastHoverTime=Date.now();var a=[],s=this.w;s.config.chart.group&&(a=this.ctx.getGroupedCharts()),s.globals.axisCharts&&(s.globals.minX===-1/0&&s.globals.maxX===1/0||0===s.globals.dataPoints)||(a.length?a.forEach((function(a){var s=i.getElTooltip(a),r={paths:t.paths,tooltipEl:s,tooltipY:t.tooltipY,tooltipX:t.tooltipX,elGrid:t.elGrid,hoverArea:t.hoverArea,ttItems:a.w.globals.tooltip.ttItems};a.w.globals.minX===i.w.globals.minX&&a.w.globals.maxX===i.w.globals.maxX&&a.w.globals.tooltip.seriesHoverByContext({chartCtx:a,ttCtx:a.w.globals.tooltip,opt:r,e:e})})):this.seriesHoverByContext({chartCtx:this.ctx,ttCtx:this.w.globals.tooltip,opt:t,e:e}))}},{key:"seriesHoverByContext",value:function(t){var e=t.chartCtx,i=t.ttCtx,a=t.opt,s=t.e,r=e.w,n=this.getElTooltip(e);if(n){if(i.tooltipRect={x:0,y:0,ttWidth:n.getBoundingClientRect().width,ttHeight:n.getBoundingClientRect().height},i.e=s,i.tooltipUtil.hasBars()&&!r.globals.comboCharts&&!i.isBarShared)if(this.tConfig.onDatasetHover.highlightDataSeries)new Zi(e).toggleSeriesOnHover(s,s.target.parentNode);r.globals.axisCharts?i.axisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}):i.nonAxisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}),i.fixedTooltip&&i.drawFixedTooltipRect()}}},{key:"axisChartsTooltips",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,n=s.elGrid.getBoundingClientRect(),o="touchmove"===a.type?a.touches[0].clientX:a.clientX,l="touchmove"===a.type?a.touches[0].clientY:a.clientY;if(this.clientY=l,this.clientX=o,r.globals.capturedSeriesIndex=-1,r.globals.capturedDataPointIndex=-1,l<n.top||l>n.top+n.height)this.handleMouseOut(s);else{if(Array.isArray(this.tConfig.enabledOnSeries)&&!r.config.tooltip.shared){var h=parseInt(s.paths.getAttribute("index"),10);if(this.tConfig.enabledOnSeries.indexOf(h)<0)return void this.handleMouseOut(s)}var c=this.getElTooltip(),d=this.getElXCrosshairs(),u=[];r.config.chart.group&&(u=this.ctx.getSyncedCharts());var g=r.globals.xyCharts||"bar"===r.config.chart.type&&!r.globals.isBarHorizontal&&this.tooltipUtil.hasBars()&&this.tConfig.shared||r.globals.comboCharts&&this.tooltipUtil.hasBars();if("mousemove"===a.type||"touchmove"===a.type||"mouseup"===a.type){if(r.globals.collapsedSeries.length+r.globals.ancillaryCollapsedSeries.length===r.globals.series.length)return;null!==d&&d.classList.add("apexcharts-active");var p=this.yaxisTooltips.filter((function(t){return!0===t}));if(null!==this.ycrosshairs&&p.length&&this.ycrosshairs.classList.add("apexcharts-active"),g&&!this.showOnIntersect||u.length>1)this.handleStickyTooltip(a,o,l,s);else if("heatmap"===r.config.chart.type||"treemap"===r.config.chart.type){var f=this.intersect.handleHeatTreeTooltip({e:a,opt:s,x:e,y:i,type:r.config.chart.type});e=f.x,i=f.y,c.style.left=e+"px",c.style.top=i+"px"}else this.tooltipUtil.hasBars()&&this.intersect.handleBarTooltip({e:a,opt:s}),this.tooltipUtil.hasMarkers()&&this.intersect.handleMarkerTooltip({e:a,opt:s,x:e,y:i});if(this.yaxisTooltips.length)for(var x=0;x<r.config.yaxis.length;x++)this.axesTooltip.drawYaxisTooltipText(x,l,this.xyRatios);r.globals.dom.baseEl.classList.add("apexcharts-tooltip-active"),s.tooltipEl.classList.add("apexcharts-active")}else"mouseout"!==a.type&&"touchend"!==a.type||this.handleMouseOut(s)}}},{key:"nonAxisChartsTooltips",value:function(t){var e=t.e,i=t.opt,a=t.tooltipRect,s=this.w,r=i.paths.getAttribute("rel"),n=this.getElTooltip(),o=s.globals.dom.elWrap.getBoundingClientRect();if("mousemove"===e.type||"touchmove"===e.type){s.globals.dom.baseEl.classList.add("apexcharts-tooltip-active"),n.classList.add("apexcharts-active"),this.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:parseInt(r,10)-1,shared:!1});var l=s.globals.clientX-o.left-a.ttWidth/2,h=s.globals.clientY-o.top-a.ttHeight-10;if(n.style.left=l+"px",n.style.top=h+"px",s.config.legend.tooltipHoverFormatter){var c=r-1,d=(0,s.config.legend.tooltipHoverFormatter)(this.legendLabels[c].getAttribute("data:default-text"),{seriesIndex:c,dataPointIndex:c,w:s});this.legendLabels[c].innerHTML=d}}else"mouseout"!==e.type&&"touchend"!==e.type||(n.classList.remove("apexcharts-active"),s.globals.dom.baseEl.classList.remove("apexcharts-tooltip-active"),s.config.legend.tooltipHoverFormatter&&this.legendLabels.forEach((function(t){var e=t.getAttribute("data:default-text");t.innerHTML=decodeURIComponent(e)})))}},{key:"handleStickyTooltip",value:function(t,e,i,a){var s=this.w,r=this.tooltipUtil.getNearestValues({context:this,hoverArea:a.hoverArea,elGrid:a.elGrid,clientX:e,clientY:i}),n=r.j,o=r.capturedSeries;s.globals.collapsedSeriesIndices.includes(o)&&(o=null);var l=a.elGrid.getBoundingClientRect();if(r.hoverX<0||r.hoverX>l.width)this.handleMouseOut(a);else if(null!==o)this.handleStickyCapturedSeries(t,o,a,n);else if(this.tooltipUtil.isXoverlap(n)||s.globals.isBarHorizontal){var h=s.globals.series.findIndex((function(t,e){return!s.globals.collapsedSeriesIndices.includes(e)}));this.create(t,this,h,n,a.ttItems)}}},{key:"handleStickyCapturedSeries",value:function(t,e,i,a){var s=this.w;if(!this.tConfig.shared&&null===s.globals.series[e][a])return void this.handleMouseOut(i);if(void 0!==s.globals.series[e][a])this.tConfig.shared&&this.tooltipUtil.isXoverlap(a)&&this.tooltipUtil.isInitialSeriesSameLen()?this.create(t,this,e,a,i.ttItems):this.create(t,this,e,a,i.ttItems,!1);else if(this.tooltipUtil.isXoverlap(a)){var r=s.globals.series.findIndex((function(t,e){return!s.globals.collapsedSeriesIndices.includes(e)}));this.create(t,this,r,a,i.ttItems)}}},{key:"deactivateHoverFilter",value:function(){for(var t=this.w,e=new Mi(this.ctx),i=t.globals.dom.Paper.find(".apexcharts-bar-area"),a=0;a<i.length;a++)e.pathMouseLeave(i[a])}},{key:"handleMouseOut",value:function(t){var e=this.w,i=this.getElXCrosshairs();if(e.globals.dom.baseEl.classList.remove("apexcharts-tooltip-active"),t.tooltipEl.classList.remove("apexcharts-active"),this.deactivateHoverFilter(),"bubble"!==e.config.chart.type&&this.marker.resetPointsSize(),null!==i&&i.classList.remove("apexcharts-active"),null!==this.ycrosshairs&&this.ycrosshairs.classList.remove("apexcharts-active"),this.isXAxisTooltipEnabled&&this.xaxisTooltip.classList.remove("apexcharts-active"),this.yaxisTooltips.length){null===this.yaxisTTEls&&(this.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxistooltip"));for(var a=0;a<this.yaxisTTEls.length;a++)this.yaxisTTEls[a].classList.remove("apexcharts-active")}e.config.legend.tooltipHoverFormatter&&this.legendLabels.forEach((function(t){var e=t.getAttribute("data:default-text");t.innerHTML=decodeURIComponent(e)}))}},{key:"markerClick",value:function(t,e,i){var a=this.w;"function"==typeof a.config.chart.events.markerClick&&a.config.chart.events.markerClick(t,this.ctx,{seriesIndex:e,dataPointIndex:i,w:a}),this.ctx.events.fireEvent("markerClick",[t,this.ctx,{seriesIndex:e,dataPointIndex:i,w:a}])}},{key:"create",value:function(t,e,i,a,s){var r,n,o,l,h,c,d,g,p,f,x,b,m,v,y,w,k=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,A=this.w,C=e;"mouseup"===t.type&&this.markerClick(t,i,a),null===k&&(k=this.tConfig.shared);var S=this.tooltipUtil.hasMarkers(i),L=this.tooltipUtil.getElBars(),M=function(){A.globals.markers.largestSize>0?C.marker.enlargePoints(a):C.tooltipPosition.moveDynamicPointsOnHover(a)};if(A.config.legend.tooltipHoverFormatter){var P=A.config.legend.tooltipHoverFormatter,I=Array.from(this.legendLabels);I.forEach((function(t){var e=t.getAttribute("data:default-text");t.innerHTML=decodeURIComponent(e)}));for(var T=0;T<I.length;T++){var z=I[T],X=parseInt(z.getAttribute("i"),10),R=decodeURIComponent(z.getAttribute("data:default-text")),E=P(R,{seriesIndex:k?X:i,dataPointIndex:a,w:A});if(k)z.innerHTML=A.globals.collapsedSeriesIndices.indexOf(X)<0?E:R;else if(z.innerHTML=X===i?E:R,i===X)break}}var Y=u(u({ttItems:s,i:i,j:a},void 0!==(null===(r=A.globals.seriesRange)||void 0===r||null===(n=r[i])||void 0===n||null===(o=n[a])||void 0===o||null===(l=o.y[0])||void 0===l?void 0:l.y1)&&{y1:null===(h=A.globals.seriesRange)||void 0===h||null===(c=h[i])||void 0===c||null===(d=c[a])||void 0===d||null===(g=d.y[0])||void 0===g?void 0:g.y1}),void 0!==(null===(p=A.globals.seriesRange)||void 0===p||null===(f=p[i])||void 0===f||null===(x=f[a])||void 0===x||null===(b=x.y[0])||void 0===b?void 0:b.y2)&&{y2:null===(m=A.globals.seriesRange)||void 0===m||null===(v=m[i])||void 0===v||null===(y=v[a])||void 0===y||null===(w=y.y[0])||void 0===w?void 0:w.y2});if(k){if(C.tooltipLabels.drawSeriesTexts(u(u({},Y),{},{shared:!this.showOnIntersect&&this.tConfig.shared})),S)M();else if(this.tooltipUtil.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(L),this.barSeriesHeight>0)){var H=new Mi(this.ctx),O=A.globals.dom.Paper.find(".apexcharts-bar-area[j='".concat(a,"']"));this.deactivateHoverFilter(),C.tooltipUtil.getAllMarkers(!0).length&&!this.barSeriesHeight&&M(),C.tooltipPosition.moveStickyTooltipOverBars(a,i);for(var F=0;F<O.length;F++)H.pathMouseEnter(O[F])}}else C.tooltipLabels.drawSeriesTexts(u({shared:!1},Y)),this.tooltipUtil.hasBars()&&C.tooltipPosition.moveStickyTooltipOverBars(a,i),S&&C.tooltipPosition.moveMarkers(i,a)}}]),t}(),La=function(){function t(e){i(this,t),this.w=e.w,this.barCtx=e,this.totalFormatter=this.w.config.plotOptions.bar.dataLabels.total.formatter,this.totalFormatter||(this.totalFormatter=this.w.config.dataLabels.formatter)}return s(t,[{key:"handleBarDataLabels",value:function(t){var e,i,a=t.x,s=t.y,r=t.y1,n=t.y2,o=t.i,l=t.j,h=t.realIndex,c=t.columnGroupIndex,d=t.series,g=t.barHeight,p=t.barWidth,f=t.barXPosition,x=t.barYPosition,b=t.visibleSeries,m=this.w,v=new Mi(this.barCtx.ctx),y=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[h]:this.barCtx.strokeWidth;m.globals.isXNumeric&&!m.globals.isBarHorizontal?(e=a+parseFloat(p*(b+1)),i=s+parseFloat(g*(b+1))-y):(e=a+parseFloat(p*b),i=s+parseFloat(g*b));var w,k=null,A=a,C=s,S={},L=m.config.dataLabels,M=this.barCtx.barOptions.dataLabels,P=this.barCtx.barOptions.dataLabels.total;void 0!==x&&this.barCtx.isRangeBar&&(i=x,C=x),void 0!==f&&this.barCtx.isVerticalGroupedRangeBar&&(e=f,A=f);var I=L.offsetX,T=L.offsetY,z={width:0,height:0};if(m.config.dataLabels.enabled){var X=m.globals.series[o][l];z=v.getTextRects(m.config.dataLabels.formatter?m.config.dataLabels.formatter(X,u(u({},m),{},{seriesIndex:o,dataPointIndex:l,w:m})):m.globals.yLabelFormatters[0](X),parseFloat(L.style.fontSize))}var R={x:a,y:s,i:o,j:l,realIndex:h,columnGroupIndex:c,bcx:e,bcy:i,barHeight:g,barWidth:p,textRects:z,strokeWidth:y,dataLabelsX:A,dataLabelsY:C,dataLabelsConfig:L,barDataLabelsConfig:M,barTotalDataLabelsConfig:P,offX:I,offY:T};return S=this.barCtx.isHorizontal?this.calculateBarsDataLabelsPosition(R):this.calculateColumnsDataLabelsPosition(R),w=this.drawCalculatedDataLabels({x:S.dataLabelsX,y:S.dataLabelsY,val:this.barCtx.isRangeBar?[r,n]:"100%"===m.config.chart.stackType?d[h][l]:m.globals.series[h][l],i:h,j:l,barWidth:p,barHeight:g,textRects:z,dataLabelsConfig:L}),m.config.chart.stacked&&P.enabled&&(k=this.drawTotalDataLabels({x:S.totalDataLabelsX,y:S.totalDataLabelsY,barWidth:p,barHeight:g,realIndex:h,textAnchor:S.totalDataLabelsAnchor,val:this.getStackedTotalDataLabel({realIndex:h,j:l}),dataLabelsConfig:L,barTotalDataLabelsConfig:P})),{dataLabelsPos:S,dataLabels:w,totalDataLabels:k}}},{key:"getStackedTotalDataLabel",value:function(t){var e=t.realIndex,i=t.j,a=this.w,s=this.barCtx.stackedSeriesTotals[i];return this.totalFormatter&&(s=this.totalFormatter(s,u(u({},a),{},{seriesIndex:e,dataPointIndex:i,w:a}))),s}},{key:"calculateColumnsDataLabelsPosition",value:function(t){var e=this,i=this.w,a=t.i,s=t.j,r=t.realIndex;t.columnGroupIndex;var n,o,l=t.y,h=t.bcx,c=t.barWidth,d=t.barHeight,u=t.textRects,g=t.dataLabelsX,p=t.dataLabelsY,f=t.dataLabelsConfig,x=t.barDataLabelsConfig,b=t.barTotalDataLabelsConfig,m=t.
vendor: 4,795 bytes, line 46395
46395strokeWidth,v=t.offX,y=t.offY,w=h;d=Math.abs(d);var k="vertical"===i.config.plotOptions.bar.dataLabels.orientation,A=this.barCtx.barHelpers.getZeroValueEncounters({i:a,j:s}).zeroEncounters;h-=m/2;var C=i.globals.gridWidth/i.globals.dataPoints;if(this.barCtx.isVerticalGroupedRangeBar?g+=c/2:(g=i.globals.isXNumeric?h-c/2+v:h-C+c/2+v,!i.config.chart.stacked&&A>0&&i.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(g-=c*A)),k){g=g+u.height/2-m/2-2}var S=i.globals.series[a][s]<0,L=l;switch(this.barCtx.isReversed&&(L=l+(S?d:-d)),x.position){case"center":p=k?S?L-d/2+y:L+d/2-y:S?L-d/2+u.height/2+y:L+d/2+u.height/2-y;break;case"bottom":p=k?S?L-d+y:L+d-y:S?L-d+u.height+m+y:L+d-u.height/2+m-y;break;case"top":p=k?S?L+y:L-y:S?L-u.height/2-y:L+u.height+y}var M=L;if(i.globals.seriesGroups.forEach((function(t){var i;null===(i=e.barCtx[t.join(",")])||void 0===i||i.prevY.forEach((function(t){M=S?Math.max(t[s],M):Math.min(t[s],M)}))})),this.barCtx.lastActiveBarSerieIndex===r&&b.enabled){var P=new Mi(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:r,j:s}),f.fontSize);n=S?M-P.height/2-y-b.offsetY+18:M+P.height+y+b.offsetY-18;var I=C;o=w+(i.globals.isXNumeric?-c*i.globals.barGroups.length/2:i.globals.barGroups.length*c/2-(i.globals.barGroups.length-1)*c-I)+b.offsetX}return i.config.chart.stacked||(p<0?p=0+m:p+u.height/3>i.globals.gridHeight&&(p=i.globals.gridHeight-m)),{bcx:h,bcy:l,dataLabelsX:g,dataLabelsY:p,totalDataLabelsX:o,totalDataLabelsY:n,totalDataLabelsAnchor:"middle"}}},{key:"calculateBarsDataLabelsPosition",value:function(t){var e=this,i=this.w,a=t.x,s=t.i,r=t.j,n=t.realIndex,o=t.bcy,l=t.barHeight,h=t.barWidth,c=t.textRects,d=t.dataLabelsX,u=t.strokeWidth,g=t.dataLabelsConfig,p=t.barDataLabelsConfig,f=t.barTotalDataLabelsConfig,x=t.offX,b=t.offY,m=i.globals.gridHeight/i.globals.dataPoints,v=this.barCtx.barHelpers.getZeroValueEncounters({i:s,j:r}).zeroEncounters;h=Math.abs(h);var y,w,k=o-(this.barCtx.isRangeBar?0:m)+l/2+c.height/2+b-3;!i.config.chart.stacked&&v>0&&i.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(k-=l*v);var A="start",C=i.globals.series[s][r]<0,S=a;switch(this.barCtx.isReversed&&(S=a+(C?-h:h),A=C?"start":"end"),p.position){case"center":d=C?S+h/2-x:Math.max(c.width/2,S-h/2)+x;break;case"bottom":d=C?S+h-u-x:S-h+u+x;break;case"top":d=C?S-u-x:S-u+x}var L=S;if(i.globals.seriesGroups.forEach((function(t){var i;null===(i=e.barCtx[t.join(",")])||void 0===i||i.prevX.forEach((function(t){L=C?Math.min(t[r],L):Math.max(t[r],L)}))})),this.barCtx.lastActiveBarSerieIndex===n&&f.enabled){var M=new Mi(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:n,j:r}),g.fontSize);C?(y=L-u-x-f.offsetX,A="end"):y=L+x+f.offsetX+(this.barCtx.isReversed?-(h+u):u),w=k-c.height/2+M.height/2+f.offsetY+u,i.globals.barGroups.length>1&&(w-=i.globals.barGroups.length/2*(l/2))}return i.config.chart.stacked||("start"===g.textAnchor?d-c.width<0?d=C?c.width+u:u:d+c.width>i.globals.gridWidth&&(d=C?i.globals.gridWidth-u:i.globals.gridWidth-c.width-u):"middle"===g.textAnchor?d-c.width/2<0?d=c.width/2+u:d+c.width/2>i.globals.gridWidth&&(d=i.globals.gridWidth-c.width/2-u):"end"===g.textAnchor&&(d<1?d=c.width+u:d+1>i.globals.gridWidth&&(d=i.globals.gridWidth-c.width-u))),{bcx:a,bcy:o,dataLabelsX:d,dataLabelsY:k,totalDataLabelsX:y,totalDataLabelsY:w,totalDataLabelsAnchor:A}}},{key:"drawCalculatedDataLabels",value:function(t){var e=t.x,i=t.y,a=t.val,s=t.i,r=t.j,n=t.textRects,o=t.barHeight,l=t.barWidth,h=t.dataLabelsConfig,c=this.w,d="rotate(0)";"vertical"===c.config.plotOptions.bar.dataLabels.orientation&&(d="rotate(-90, ".concat(e,", ").concat(i,")"));var g=new qi(this.barCtx.ctx),p=new Mi(this.barCtx.ctx),f=h.formatter,x=null,b=c.globals.collapsedSeriesIndices.indexOf(s)>-1;if(h.enabled&&!b){x=p.group({class:"apexcharts-data-labels",transform:d});var m="";void 0!==a&&(m=f(a,u(u({},c),{},{seriesIndex:s,dataPointIndex:r,w:c}))),!a&&c.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(m="");var v=c.globals.series[s][r]<0,y=c.config.plotOptions.bar.dataLabels.position;if("vertical"===c.config.plotOptions.bar.dataLabels.orientation&&("top"===y&&(h.textAnchor=v?"end":"start"),"center"===y&&(h.textAnchor="middle"),"bottom"===y&&(h.textAnchor=v?"end":"start")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels)l<p.getTextRects(m,parseFloat(h.style.fontSize)).width&&(m="");c.config.chart.stacked&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels&&(this.barCtx.isHorizontal?n.width/1.6>Math.abs(l)&&(m=""):n.height/1.6>Math.abs(o)&&(m=""));var w=u({},h);this.barCtx.isHorizontal&&a<0&&("start"===h.textAnchor?w.textAnchor="end":"end"===h.textAnchor&&(w.textAnchor="start")),g.plotDataLabelsText({x:e,y:i,text:m,i:s,j:r,parent:x,dataLabelsConfig:w,alwaysDrawDataLabel:!0,offsetCorrection:!0}
vendor: 1,083 bytes, line 46395
46395)}return x}},{key:"drawTotalDataLabels",value:function(t){var e=t.x,i=t.y,a=t.val,s=t.realIndex,r=t.textAnchor,n=t.barTotalDataLabelsConfig;this.w;var o,l=new Mi(this.barCtx.ctx);return n.enabled&&void 0!==e&&void 0!==i&&this.barCtx.lastActiveBarSerieIndex===s&&(o=l.drawText({x:e,y:i,foreColor:n.style.color,text:a,textAnchor:r,fontFamily:n.style.fontFamily,fontSize:n.style.fontSize,fontWeight:n.style.fontWeight})),o}}]),t}(),Ma=function(){function t(e){i(this,t),this.w=e.w,this.barCtx=e}return s(t,[{key:"initVariables",value:function(t){var e=this.w;this.barCtx.series=t,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(var i=0;i<t.length;i++)if(t[i].length>0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=t[i].length),e.globals.isXNumeric)for(var a=0;a<t[i].length;a++)e.globals.seriesX[i][a]>e.globals.minX&&e.globals.seriesX[i][a]<e.globals.maxX&&this.barCtx.visibleItems++;else this.barCtx.visibleItems=e.globals.dataPoints;this.arrBorderRadius=this.createBorderRadiusArr(e.globals.series),v.
vendor: 4,756 bytes, line 46395
46395isSafari()&&(this.arrBorderRadius=this.arrBorderRadius.map((function(t){return t.map((function(t){return"none"}))}))),0===this.barCtx.seriesLen&&(this.barCtx.seriesLen=1),this.barCtx.zeroSerieses=[],e.globals.comboCharts||this.checkZeroSeries({series:t})}},{key:"initialPositions",value:function(t){var e,i,a,s,r,n,o,l,h=this.w,c=h.globals.dataPoints;this.barCtx.isRangeBar&&(c=h.globals.labels.length);var d=this.barCtx.seriesLen;if(h.config.plotOptions.bar.rangeBarGroupRows&&(d=1),this.barCtx.isHorizontal)r=(a=h.globals.gridHeight/c)/d,h.globals.isXNumeric&&(r=(a=h.globals.gridHeight/this.barCtx.totalItems)/this.barCtx.seriesLen),r=r*parseInt(this.barCtx.barOptions.barHeight,10)/100,-1===String(this.barCtx.barOptions.barHeight).indexOf("%")&&(r=parseInt(this.barCtx.barOptions.barHeight,10)),l=this.barCtx.baseLineInvertedY+h.globals.padHorizontal+(this.barCtx.isReversed?h.globals.gridWidth:0)-(this.barCtx.isReversed?2*this.barCtx.baseLineInvertedY:0),this.barCtx.isFunnel&&(l=h.globals.gridWidth/2),i=(a-r*this.barCtx.seriesLen)/2;else{if(s=h.globals.gridWidth/this.barCtx.visibleItems,h.config.xaxis.convertedCatToNumeric&&(s=h.globals.gridWidth/h.globals.dataPoints),n=s/d*parseInt(this.barCtx.barOptions.columnWidth,10)/100,h.globals.isXNumeric){var u=this.barCtx.xRatio;h.globals.minXDiff&&.5!==h.globals.minXDiff&&h.globals.minXDiff/u>0&&(s=h.globals.minXDiff/u),(n=s/d*parseInt(this.barCtx.barOptions.columnWidth,10)/100)<1&&(n=1)}if(-1===String(this.barCtx.barOptions.columnWidth).indexOf("%")&&(n=parseInt(this.barCtx.barOptions.columnWidth,10)),o=h.globals.gridHeight-this.barCtx.baseLineY[this.barCtx.translationsIndex]-(this.barCtx.isReversed?h.globals.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.translationsIndex]:0),h.globals.isXNumeric)e=this.barCtx.getBarXForNumericXAxis({x:e,j:0,realIndex:t,barWidth:n}).x;else e=h.globals.padHorizontal+v.noExponents(s-n*this.barCtx.seriesLen)/2}return h.globals.barHeight=r,h.globals.barWidth=n,{x:e,y:i,yDivision:a,xDivision:s,barHeight:r,barWidth:n,zeroH:o,zeroW:l}}},{key:"initializeStackedPrevVars",value:function(t){t.w.globals.seriesGroups.forEach((function(e){t[e]||(t[e]={}),t[e].prevY=[],t[e].prevX=[],t[e].prevYF=[],t[e].prevXF=[],t[e].prevYVal=[],t[e].prevXVal=[]}))}},{key:"initializeStackedXYVars",value:function(t){t.w.globals.seriesGroups.forEach((function(e){t[e]||(t[e]={}),t[e].xArrj=[],t[e].xArrjF=[],t[e].xArrjVal=[],t[e].yArrj=[],t[e].yArrjF=[],t[e].yArrjVal=[]}))}},{key:"getPathFillColor",value:function(t,e,i,a){var s,r,n,o,l=this.w,h=this.barCtx.ctx.fill,c=null,d=this.barCtx.barOptions.distributed?i:e,u=!1;this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map((function(a){t[e][i]>=a.from&&t[e][i]<=a.to&&(c=a.color,u=!0)}));return{color:h.fillPath({seriesNumber:this.barCtx.barOptions.distributed?d:a,dataPointIndex:i,color:c,value:t[e][i],fillConfig:null===(s=l.config.series[e].data[i])||void 0===s?void 0:s.fill,fillType:null!==(r=l.config.series[e].data[i])&&void 0!==r&&null!==(n=r.fill)&&void 0!==n&&n.type?null===(o=l.config.series[e].data[i])||void 0===o?void 0:o.fill.type:Array.isArray(l.config.fill.type)?l.config.fill.type[a]:l.config.fill.type}),useRangeColor:u}}},{key:"getStrokeWidth",value:function(t,e,i){var a=0,s=this.w;return void 0===this.barCtx.series[t][e]||null===this.barCtx.series[t][e]?this.barCtx.isNullValue=!0:this.barCtx.isNullValue=!1,s.config.stroke.show&&(this.barCtx.isNullValue||(a=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[i]:this.barCtx.strokeWidth)),a}},{key:"createBorderRadiusArr",value:function(t){var e,i=this.w,a=!this.w.config.chart.stacked||i.config.plotOptions.bar.borderRadius<=0,s=t.length,n=0|(null===(e=t[0])||void 0===e?void 0:e.length),o=Array.from({length:s},(function(){return Array(n).fill(a?"top":"none")}));if(a)return o;for(var l=0;l<n;l++){for(var h=[],c=[],d=0,u=0;u<s;u++){var g=t[u][l];g>0?(h.push(u),d++):g<0&&(c.push(u),d++)}if(h.length>0&&0===c.length)if(1===h.length)o[h[0]][l]="both";else{var p,f=h[0],x=h[h.length-1],b=r(h);try{for(b.s();!(p=b.n()).done;){var m=p.value;o[m][l]=m===f?"bottom":m===x?"top":"none"}}catch(t){b.e(t)}finally{b.f()}}else if(c.length>0&&0===h.length)if(1===c.length)o[c[0]][l]="both";else{var v,y=Math.max.apply(Math,c),w=Math.min.apply(Math,c),k=r(c);try{for(k.s();!(v=k.n()).done;){var A=v.value;o[A][l]=A===y?"bottom":A===w?"top":"none"}}catch(t){k.e(t)}finally{k.f()}}else if(h.length>0&&c.length>0){var C,S=h[h.length-1],L=r(h);try{for(L.s();!(C=L.n()).done;){var M=C.value;o[M][l]=M===S?"top":"none"}}catch(t){L.e(t)}finally{L.f()}var P,I=Math.max.apply(Math,c),T=r(c);try{for(T.s();!(P=T.n()).done;){var z=P.value;o[z][l]=z===I?"bottom":"none"}}catch(t){T.e(t)}finally{T.f()}}
46395else if(1===d){o[h[0]||c[0]][l]="both"}}return o}},{key:"barBackground",value:function(t){var e=t.j,i=t.i,a=t.x1,s=t.x2,r=t.y1,n=t.y2,o=t.elSeries,l=this.w,h=new Mi(this.barCtx.ctx),c=new Zi(this.barCtx.ctx).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&c===i){e>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(e%=this.barCtx.barOptions.colors.backgroundBarColors.length);var d=this.barCtx.barOptions.colors.backgroundBarColors[e],u=h.drawRect(void 0!==a?a:0,void 0!==r?r:0,void 0!==s?s:l.globals.gridWidth,void 0!==n?n:l.globals.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,d,this.barCtx.barOptions.colors.backgroundBarOpacity);o.add(u),u.node.classList.add("apexcharts-backgroundBar")}}},{key:"getColumnPaths",value:function(t){var e,i=t.barWidth,a=t.barXPosition,s=t.y1,r=t.y2,n=t.strokeWidth,o=t.isReversed,l=t.series,h=t.seriesGroup,c=t.realIndex,d=t.i,u=t.j,g=t.w,p=new Mi(this.barCtx.ctx);(n=Array.isArray(n)?n[c]:n)||(n=0);var f=i,x=a;null!==(e=g.config.series[c].data[u])&&void 0!==e&&e.columnWidthOffset&&(x=a-g.config.series[c].data[u].columnWidthOffset/2,f=i+g.config.series[c].data[u].columnWidthOffset);var b=n/2,m=x+b,v=x+f-b,y=(l[d][u]>=0?1:-1)*(o?-1:1);s+=.001-b*y,r+=.001+b*y;var w=p.move(m,s),k=p.move(m,s),A=p.line(v,s);if(g.globals.previousPaths.length>0&&(k=this.barCtx.getPreviousPath(c,u,!1)),w=w+p.line(m,r)+p.line(v,r)+A+("around"===g.config.plotOptions.bar.borderRadiusApplication||"both"===this.arrBorderRadius[c][u]?" Z":" z"),k=k+p.line(m,s)+A+A+A+A+A+p.line(m,s)+("around"===g.config.plotOptions.bar.borderRadiusApplication||"both"===this.arrBorderRadius[c][u]?" Z":" z"),"none"!==this.arrBorderRadius[c][u]&&(w=p.roundPathCorners(w,g.config.plotOptions.bar.borderRadius)),g.config.chart.stacked){var C=this.barCtx;(C=this.barCtx[h]).yArrj.push(r-b*y),C.yArrjF.push(Math.abs(s-r+n*y)),C.yArrjVal.push(this.barCtx.series[d][u])}return{pathTo:w,pathFrom:k}}},{key:"getBarpaths",value:function(t){var e,i=t.barYPosition,a=t.barHeight,s=t.x1,r=t.x2,n=t.strokeWidth,o=t.isReversed,l=t.series,h=t.seriesGroup,c=t.realIndex,d=t.i,u=t.j,g=t.w,p=new Mi(this.barCtx.ctx);(n=Array.isArray(n)?n[c]:n)||(n=0);var f=i,x=a;null!==(e=g.config.series[c].data[u])&&void 0!==e&&e.barHeightOffset&&(f=i-g.config.series[c].data[u].barHeightOffset/2,x=a+g.config.series[c].data[u].barHeightOffset);var b=n/2,m=f+b,v=f+x-b,y=(l[d][u]>=0?1:-1)*(o?-1:1);s+=.001+b*y,r+=.001-b*y;var w=p.move(s,m),k=p.move(s,m);g.globals.previousPaths.length>0&&(k=this.barCtx.getPreviousPath(c,u,!1));var A=p.line(s,v);if(w=w+p.line(r,m)+p.line(r,v)+A+("around"===g.config.plotOptions.bar.borderRadiusApplication||"both"===this.arrBorderRadius[c][u]?" Z":" z"),k=k+p.line(s,m)+A+A+A+A+A+p.line(s,m)+("around"===g.config.plotOptions.bar.borderRadiusApplication||"both"===this.arrBorderRadius[c][u]?" Z":" z"),"none"!==this.arrBorderRadius[c][u]&&(w=p.roundPathCorners(w,g.config.plotOptions.bar.borderRadius)),g.config.chart.stacked){var C=this.barCtx;(C=this.barCtx[h]).xArrj.push(r+b*y),C.xArrjF.push(Math.abs(s-r-n*y)),C.xArrjVal.push(this.barCtx.series[d][u])}return{pathTo:w,pathFrom:k}}},{key:"checkZeroSeries",value:function(t){for(var e=t.series,i=this.w,a=0;a<e.length;a++){for(var s=0,r=0;r<e[i.globals.maxValsInArrayIndex].length;r++)s+=e[a][r];0===s&&this.barCtx.zeroSerieses.push(a)}}},{key:"getXForValue",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2]?e:null;return null!=t&&(i=e+t/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?t/this.barCtx.invertedYRatio:0)),i}},{key:"getYForValue",value:function(t,e,i){var a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3]?e:null;return null!=t&&(a=e-t/this.barCtx.yRatio[i]+2*(this.barCtx.isReversed?t/this.barCtx.yRatio[i]:0)),a}},{key:"getGoalValues",value:function(t,e,i,a,s,r){var n=this,l=this.w,h=[],c=function(a,s){var l;h.push((o(l={},t,"x"===t?n.getXForValue(a,e,!1):n.getYForValue(a,i,r,!1)),o(l,"attrs",s),l))};if(l.globals.seriesGoals[a]&&l.globals.seriesGoals[a][s]&&Array.isArray(l.globals.seriesGoals[a][s])&&l.globals.seriesGoals[a][s].forEac
vendor: 5,809 bytes, line 46395
46395h((function(t){c(t.value,t)})),this.barCtx.barOptions.isDumbbell&&l.globals.seriesRange.length){var d=this.barCtx.barOptions.dumbbellColors?this.barCtx.barOptions.dumbbellColors:l.globals.colors,g={strokeHeight:"x"===t?0:l.globals.markers.size[a],strokeWidth:"x"===t?l.globals.markers.size[a]:0,strokeDashArray:0,strokeLineCap:"round",strokeColor:Array.isArray(d[a])?d[a][0]:d[a]};c(l.globals.seriesRangeStart[a][s],g),c(l.globals.seriesRangeEnd[a][s],u(u({},g),{},{strokeColor:Array.isArray(d[a])?d[a][1]:d[a]}))}return h}},{key:"drawGoalLine",value:function(t){var e=t.barXPosition,i=t.barYPosition,a=t.goalX,s=t.goalY,r=t.barWidth,n=t.barHeight,o=new Mi(this.barCtx.ctx),l=o.group({className:"apexcharts-bar-goals-groups"});l.node.classList.add("apexcharts-element-hidden"),this.barCtx.w.globals.delayedElements.push({el:l.node}),l.attr("clip-path","url(#gridRectMarkerMask".concat(this.barCtx.w.globals.cuid,")"));var h=null;return this.barCtx.isHorizontal?Array.isArray(a)&&a.forEach((function(t){if(t.x>=-1&&t.x<=o.w.globals.gridWidth+1){var e=void 0!==t.attrs.strokeHeight?t.attrs.strokeHeight:n/2,a=i+e+n/2;h=o.drawLine(t.x,a-2*e,t.x,a,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeWidth?t.attrs.strokeWidth:2,t.attrs.strokeLineCap),l.add(h)}})):Array.isArray(s)&&s.forEach((function(t){if(t.y>=-1&&t.y<=o.w.globals.gridHeight+1){var i=void 0!==t.attrs.strokeWidth?t.attrs.strokeWidth:r/2,a=e+i+r/2;h=o.drawLine(a-2*i,t.y,a,t.y,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeHeight?t.attrs.strokeHeight:2,t.attrs.strokeLineCap),l.add(h)}})),l}},{key:"drawBarShadow",value:function(t){var e=t.prevPaths,i=t.currPaths,a=t.color,s=this.w,r=e.x,n=e.x1,o=e.barYPosition,l=i.x,h=i.x1,c=i.barYPosition,d=o+i.barHeight,u=new Mi(this.barCtx.ctx),g=new v,p=u.move(n,d)+u.line(r,d)+u.line(l,c)+u.line(h,c)+u.line(n,d)+("around"===s.config.plotOptions.bar.borderRadiusApplication||"both"===this.arrBorderRadius[realIndex][j]?" Z":" z");return u.drawPath({d:p,fill:g.shadeColor(.5,v.rgb2hex(a)),stroke:"none",strokeWidth:0,fillOpacity:1,classes:"apexcharts-bar-shadow apexcharts-decoration-element"})}},{key:"getZeroValueEncounters",value:function(t){var e,i=t.i,a=t.j,s=this.w,r=0,n=0;return(s.config.plotOptions.bar.horizontal?s.globals.series.map((function(t,e){return e})):(null===(e=s.globals.columnSeries)||void 0===e?void 0:e.i.map((function(t){return t})))||[]).forEach((function(t){var e=s.globals.seriesPercent[t][a];e&&r++,t<i&&0===e&&n++})),{nonZeroColumns:r,zeroEncounters:n}}},{key:"getGroupIndex",value:function(t){var e=this.w,i=e.globals.seriesGroups.findIndex((function(i){return i.indexOf(e.globals.seriesNames[t])>-1})),a=this.barCtx.columnGroupIndices,s=a.indexOf(i);return s<0&&(a.push(i),s=a.length-1),{groupIndex:i,columnGroupIndex:s}}}]),t}(),Pa=function(){function t(e,a){i(this,t),this.ctx=e,this.w=e.w;var s=this.w;this.barOptions=s.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=s.config.stroke.width,this.isNullValue=!1,this.isRangeBar=s.globals.seriesRange.length&&this.isHorizontal,this.isVerticalGroupedRangeBar=!s.globals.isBarHorizontal&&s.globals.seriesRange.length&&s.config.plotOptions.bar.rangeBarGroupRows,this.isFunnel=this.barOptions.isFunnel,this.xyRatios=a,null!==this.xyRatios&&(this.xRatio=a.xRatio,this.yRatio=a.yRatio,this.invertedXRatio=a.invertedXRatio,this.invertedYRatio=a.invertedYRatio,this.baseLineY=a.baseLineY,this.baseLineInvertedY=a.baseLineInvertedY),this.yaxisIndex=0,this.translationsIndex=0,this.seriesLen=0,this.pathArr=[];var r=new Zi(this.ctx);this.lastActiveBarSerieIndex=r.getActiveConfigSeriesIndex("desc",["bar","column"]),this.columnGroupIndices=[];var n=r.getBarSeriesIndices(),o=new Pi(this.ctx);this.stackedSeriesTotals=o.getStackedSeriesTotals(this.w.config.series.map((function(t,e){return-1===n.indexOf(e)?e:-1})).filter((function(t){return-1!==t}))),this.barHelpers=new Ma(this)}return s(t,[{key:"draw",value:function(t,e){var i=this.w,a=new Mi(this.ctx),s=new Pi(this.ctx,i);t=s.getLogSeries(t),this.series=t,this.yRatio=s.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);var r=a.group({class:"apexcharts-bar-series apexcharts-plot-series"});i.config.dataLabels.enabled&&this.totalItems>this.barOptions.dataLabels.maxItems&&console.warn("WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering - ApexCharts");for(var n=0,o=0;n<t.length;n++,o++){var l,h,c,d,g=void 0,p=void 0,f=[],x=[],b=i.globals.comboCharts?e[n]:n,m=this.barHelpers.getGroupIndex(b).columnGroupIndex,y=a.group({class:"apexcharts-series",rel:n+1,seriesName:v.escapeString(i.globals.seriesNames[b]),"data:realIndex":b});this.ctx.series.addCollapsedClassToSeries(y,b),t[n].length>0&&(this.visibleI=this.visibleI+1);var w=0,k=0;this.yRatio.length>1&&(this.yaxisIndex=i.globals.seriesYAxisReverseMap[b],this.translationsIndex=b);var A=this.translationsIndex;this.isReversed=i.config.yaxis[this.yaxisIndex]&&i.config.yaxis[this.yaxisIndex].reversed;var C=this.barHelpers.initialPositions(b);p=C.y,w=C.barHeight,h=C.yDivision,d=C.zeroW,g=C.x,k=C.barWidth,l=C.xDivision,c=C.zeroH,this.isHorizontal||x.push(g+k/2);var S=a.group({class:"apexcharts-datalabels","data:realIndex":b});i.globals.delayedElements.push({el:S.node}),S.node.classList.add("apexcharts-element-hidden");var L=a.group({class:"apexcharts-bar-goals-markers"}),M=a.group({class:"apexcharts-bar-shadows"});i.globals.delayedElements.push({el:M.node}),M.node.classList.add("apexcharts-element-hidden");for(var P=0;P<t[n].length;P++){var I=this.barHelpers.getStrokeWidth(n,P,b),T=null,z={indexes:{i:n,j:P,realIndex:b,translationsIndex:A,bc:o},x:g,y:p,strokeWidth:I,elSeries:y};this.isHorizontal?(T=this.drawBarPaths(u(u({},z),{}
vendor: 4,457 bytes, line 46395
46395,{barHeight:w,zeroW:d,yDivision:h})),k=this.series[n][P]/this.invertedYRatio):(T=this.drawColumnPaths(u(u({},z),{},{xDivision:l,barWidth:k,zeroH:c})),w=this.series[n][P]/this.yRatio[A]);var X=this.barHelpers.getPathFillColor(t,n,P,b);if(this.isFunnel&&this.barOptions.isFunnel3d&&this.pathArr.length&&P>0){var R,E=this.barHelpers.drawBarShadow({color:"string"==typeof X.color&&-1===(null===(R=X.color)||void 0===R?void 0:R.indexOf("url"))?X.color:v.hexToRgba(i.globals.colors[n]),prevPaths:this.pathArr[this.pathArr.length-1],currPaths:T});if(M.add(E),i.config.chart.dropShadow.enabled)new Li(this.ctx).dropShadow(E,i.config.chart.dropShadow,b)}this.pathArr.push(T);var Y=this.barHelpers.drawGoalLine({barXPosition:T.barXPosition,barYPosition:T.barYPosition,goalX:T.goalX,goalY:T.goalY,barHeight:w,barWidth:k});Y&&L.add(Y),p=T.y,g=T.x,P>0&&x.push(g+k/2),f.push(p),this.renderSeries(u(u({realIndex:b,pathFill:X.color},X.useRangeColor?{lineFill:X.color}:{}),{},{j:P,i:n,columnGroupIndex:m,pathFrom:T.pathFrom,pathTo:T.pathTo,strokeWidth:I,elSeries:y,x:g,y:p,series:t,barHeight:Math.abs(T.barHeight?T.barHeight:w),barWidth:Math.abs(T.barWidth?T.barWidth:k),elDataLabelsWrap:S,elGoalsMarkers:L,elBarShadows:M,visibleSeries:this.visibleI,type:"bar"}))}i.globals.seriesXvalues[b]=x,i.globals.seriesYvalues[b]=f,r.add(y)}return r}},{key:"renderSeries",value:function(t){var e=t.realIndex,i=t.pathFill,a=t.lineFill,s=t.j,r=t.i,n=t.columnGroupIndex,o=t.pathFrom,l=t.pathTo,h=t.strokeWidth,c=t.elSeries,d=t.x,u=t.y,g=t.y1,p=t.y2,f=t.series,x=t.barHeight,b=t.barWidth,m=t.barXPosition,v=t.barYPosition,y=t.elDataLabelsWrap,w=t.elGoalsMarkers,k=t.elBarShadows,A=t.visibleSeries,C=t.type,S=t.classes,L=this.w,M=new Mi(this.ctx),P=!1;if(!a){var I="function"==typeof L.globals.stroke.colors[e]?function(t){var e,i=L.config.stroke.colors;return Array.isArray(i)&&i.length>0&&((e=i[t])||(e=""),"function"==typeof e)?e({value:L.globals.series[t][s],dataPointIndex:s,w:L}):e}(e):L.globals.stroke.colors[e];a=this.barOptions.distributed?L.globals.stroke.colors[s]:I}var T=new La(this).handleBarDataLabels({x:d,y:u,y1:g,y2:p,i:r,j:s,series:f,realIndex:e,columnGroupIndex:n,barHeight:x,barWidth:b,barXPosition:m,barYPosition:v,visibleSeries:A});L.globals.isBarHorizontal||(T.dataLabelsPos.dataLabelsX+b<0||T.dataLabelsPos.dataLabelsX-b>L.globals.gridWidth)&&(P=!0),L.config.series[r].data[s]&&L.config.series[r].data[s].strokeColor&&(a=L.config.series[r].data[s].strokeColor),this.isNullValue&&(i="none");var z=s/L.config.chart.animations.animateGradually.delay*(L.config.chart.animations.speed/L.globals.dataPoints)/2.4;if(!P){var X=M.renderPaths({i:r,j:s,realIndex:e,pathFrom:o,pathTo:l,stroke:a,strokeWidth:h,strokeLineCap:L.config.stroke.lineCap,fill:i,animationDelay:z,initialSpeed:L.config.chart.animations.speed,dataChangeSpeed:L.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(C,"-area ").concat(S),chartType:C});X.attr("clip-path","url(#gridRectBarMask".concat(L.globals.cuid,")"));var R=L.config.forecastDataPoints;R.count>0&&s>=L.globals.dataPoints-R.count&&(X.node.setAttribute("stroke-dasharray",R.dashArray),X.node.setAttribute("stroke-width",R.strokeWidth),X.node.setAttribute("fill-opacity",R.fillOpacity)),void 0!==g&&void 0!==p&&(X.attr("data-range-y1",g),X.attr("data-range-y2",p)),new Li(this.ctx).setSelectionFilter(X,e,s),c.add(X),X.attr({cy:T.dataLabelsPos.bcy,cx:T.dataLabelsPos.bcx,j:s,val:L.globals.series[r][s],barHeight:x,barWidth:b}),null!==T.dataLabels&&y.add(T.dataLabels),T.totalDataLabels&&y.add(T.totalDataLabels),c.add(y),w&&c.add(w),k&&c.add(k)}return c}},{key:"drawBarPaths",value:function(t){var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,n=t.x,o=t.y,l=t.yDivision,h=t.elSeries,c=this.w,d=i.i,u=i.j;if(c.globals.isXNumeric)e=(o=(c.globals.seriesX[d][u]-c.globals.minX)/this.invertedXRatio-a)+a*this.visibleI;else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var g=this.barHelpers.getZeroValueEncounters({i:d,j:u}),p=g.nonZeroColumns,f=g.zeroEncounters;p>0&&(a=this.seriesLen*a/p),e=o+a*this.visibleI,e-=a*f}else e=o+a*this.visibleI;this.isFunnel&&(r-=(this.barHelpers.getXForValue(this.series[d][u],r)-r)/2),n=this.barHelpers.getXForValue(this.series[d][u],r);var x=this.barHelpers.getBarpaths({barYPosition:e,barHeight:a,x1:r,x2:n,strokeWidth:s,isReversed:this.isReversed,series:this.series,realIndex:i.realIndex,i:d,j:u,w:c});return c.globals.isXNumeric||(o+=l),this.barHelpers.barBackgroun
vendor: 14,467 bytes, line 46395
46395d({j:u,i:d,y1:e-a*this.visibleI,y2:a*this.seriesLen,elSeries:h}),{pathTo:x.pathTo,pathFrom:x.pathFrom,x1:r,x:n,y:o,goalX:this.barHelpers.getGoalValues("x",r,null,d,u),barYPosition:e,barHeight:a}}},{key:"drawColumnPaths",value:function(t){var e,i=t.indexes,a=t.x,s=t.y,r=t.xDivision,n=t.barWidth,o=t.zeroH,l=t.strokeWidth,h=t.elSeries,c=this.w,d=i.realIndex,u=i.translationsIndex,g=i.i,p=i.j,f=i.bc;if(c.globals.isXNumeric){var x=this.getBarXForNumericXAxis({x:a,j:p,realIndex:d,barWidth:n});a=x.x,e=x.barXPosition}else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var b=this.barHelpers.getZeroValueEncounters({i:g,j:p}),m=b.nonZeroColumns,v=b.zeroEncounters;m>0&&(n=this.seriesLen*n/m),e=a+n*this.visibleI,e-=n*v}else e=a+n*this.visibleI;s=this.barHelpers.getYForValue(this.series[g][p],o,u);var y=this.barHelpers.getColumnPaths({barXPosition:e,barWidth:n,y1:o,y2:s,strokeWidth:l,isReversed:this.isReversed,series:this.series,realIndex:d,i:g,j:p,w:c});return c.globals.isXNumeric||(a+=r),this.barHelpers.barBackground({bc:f,j:p,i:g,x1:e-l/2-n*this.visibleI,x2:n*this.seriesLen+l/2,elSeries:h}),{pathTo:y.pathTo,pathFrom:y.pathFrom,x:a,y:s,goalY:this.barHelpers.getGoalValues("y",null,o,g,p,u),barXPosition:e,barWidth:n}}},{key:"getBarXForNumericXAxis",value:function(t){var e=t.x,i=t.barWidth,a=t.realIndex,s=t.j,r=this.w,n=a;return r.globals.seriesX[a].length||(n=r.globals.maxValsInArrayIndex),v.isNumber(r.globals.seriesX[n][s])&&(e=(r.globals.seriesX[n][s]-r.globals.minX)/this.xRatio-i*this.seriesLen/2),{barXPosition:e+i*this.visibleI,x:e}}},{key:"getPreviousPath",value:function(t,e){for(var i=this.w,a="M 0 0",s=0;s<i.globals.previousPaths.length;s++){var r=i.globals.previousPaths[s];r.paths&&r.paths.length>0&&parseInt(r.realIndex,10)===parseInt(t,10)&&void 0!==i.globals.previousPaths[s].paths[e]&&(a=i.globals.previousPaths[s].paths[e].d)}return a}}]),t}(),Ia=function(t){h(a,t);var e=n(a);function a(){return i(this,a),e.apply(this,arguments)}return s(a,[{key:"draw",value:function(t,e){var i=this,a=this.w;this.graphics=new Mi(this.ctx),this.bar=new Pa(this.ctx,this.xyRatios);var s=new Pi(this.ctx,a);t=s.getLogSeries(t),this.yRatio=s.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t),"100%"===a.config.chart.stackType&&(t=a.globals.comboCharts?e.map((function(t){return a.globals.seriesPercent[t]})):a.globals.seriesPercent.slice()),this.series=t,this.barHelpers.initializeStackedPrevVars(this);for(var r=this.graphics.group({class:"apexcharts-bar-series apexcharts-plot-series"}),n=0,o=0,l=function(s,l){var h=void 0,c=void 0,d=void 0,g=void 0,p=a.globals.comboCharts?e[s]:s,f=i.barHelpers.getGroupIndex(p),x=f.groupIndex,b=f.columnGroupIndex;i.groupCtx=i[a.globals.seriesGroups[x]];var m=[],y=[],w=0;i.yRatio.length>1&&(i.yaxisIndex=a.globals.seriesYAxisReverseMap[p][0],w=p),i.isReversed=a.config.yaxis[i.yaxisIndex]&&a.config.yaxis[i.yaxisIndex].reversed;var k=i.graphics.group({class:"apexcharts-series",seriesName:v.escapeString(a.globals.seriesNames[p]),rel:s+1,"data:realIndex":p});i.ctx.series.addCollapsedClassToSeries(k,p);var A=i.graphics.group({class:"apexcharts-datalabels","data:realIndex":p}),C=i.graphics.group({class:"apexcharts-bar-goals-markers"}),S=0,L=0,M=i.initialPositions(n,o,h,c,d,g,w);o=M.y,S=M.barHeight,c=M.yDivision,g=M.zeroW,n=M.x,L=M.barWidth,h=M.xDivision,d=M.zeroH,a.globals.barHeight=S,a.globals.barWidth=L,i.barHelpers.initializeStackedXYVars(i),1===i.groupCtx.prevY.length&&i.groupCtx.prevY[0].every((function(t){return isNaN(t)}))&&(i.groupCtx.prevY[0]=i.groupCtx.prevY[0].map((function(){return d})),i.groupCtx.prevYF[0]=i.groupCtx.prevYF[0].map((function(){return 0})));for(var P=0;P<a.globals.dataPoints;P++){var I=i.barHelpers.getStrokeWidth(s,P,p),T={indexes:{i:s,j:P,realIndex:p,translationsIndex:w,bc:l},strokeWidth:I,x:n,y:o,elSeries:k,columnGroupIndex:b,seriesGroup:a.globals.seriesGroups[x]},z=null;i.isHorizontal?(z=i.drawStackedBarPaths(u(u({},T),{},{zeroW:g,barHeight:S,yDivision:c})),L=i.series[s][P]/i.invertedYRatio):(z=i.drawStackedColumnPaths(u(u({},T),{},{xDivision:h,barWidth:L,zeroH:d})),S=i.series[s][P]/i.yRatio[w]);var X=i.barHelpers.drawGoalLine({barXPosition:z.barXPosition,barYPosition:z.barYPosition,goalX:z.goalX,goalY:z.goalY,barHeight:S,barWidth:L});X&&C.add(X),o=z.y,n=z.x,m.push(n),y.push(o);var R=i.barHelpers.getPathFillColor(t,s,P,p),E="",Y=a.globals.isBarHorizontal?"apexcharts-flip-x":"apexcharts-flip-y";("bottom"===i.barHelpers.arrBorderRadius[p][P]&&a.globals.series[p][P]>0||"top"===i.barHelpers.arrBorderRadius[p][P]&&a.globals.series[p][P]<0)&&(E=Y),k=i.renderSeries(u(u({realIndex:p,pathFill:R.color},R.useRangeColor?{lineFill:R.color}:{}),{},{j:P,i:s,columnGroupIndex:b,pathFrom:z.pathFrom,pathTo:z.pathTo,strokeWidth:I,elSeries:k,x:n,y:o,series:t,barHeight:S,barWidth:L,elDataLabelsWrap:A,elGoalsMarkers:C,type:"bar",visibleSeries:b,classes:E}))}a.globals.seriesXvalues[p]=m,a.globals.seriesYvalues[p]=y,i.groupCtx.prevY.push(i.groupCtx.yArrj),i.groupCtx.prevYF.push(i.groupCtx.yArrjF),i.groupCtx.prevYVal.push(i.groupCtx.yArrjVal),i.groupCtx.prevX.push(i.groupCtx.xArrj),i.groupCtx.prevXF.push(i.groupCtx.xArrjF),i.groupCtx.prevXVal.push(i.groupCtx.xArrjVal),r.add(k)},h=0,c=0;h<t.length;h++,c++)l(h,c);return r}},{key:"initialPositions",value:function(t,e,i,a,s,r,n){var o,l,h=this.w;if(this.isHorizontal){a=h.globals.gridHeight/h.globals.dataPoints;var c=h.config.plotOptions.bar.barHeight;o=-1===String(c).indexOf("%")?parseInt(c,10):a*parseInt(c,10)/100,r=h.globals.padHorizontal+(this.isReversed?h.globals.gridWidth-this.baseLineInvertedY:this.baseLineInvertedY),e=(a-o)/2}else{l=i=h.globals.gridWidth/h.globals.dataPoints;var d=h.config.plotOptions.bar.columnWidth;h.globals.isXNumeric&&h.globals.dataPoints>1?l=(i=h.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:-1===String(d).indexOf("%")?l=parseInt(d,10):l*=parseInt(d,10)/100,s=this.isReversed?this.baseLineY[n]:h.globals.gridHeight-this.baseLineY[n],t=h.globals.padHorizontal+(i-l)/2}var u=h.globals.barGroups.length||1;return{x:t,y:e,yDivision:a,xDivision:i,barHeight:o/u,barWidth:l/u,zeroH:s,zeroW:r}}},{key:"drawStackedBarPaths",value:function(t){for(var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,n=t.x,o=t.y,l=t.columnGroupIndex,h=t.seriesGroup,c=t.yDivision,d=t.elSeries,u=this.w,g=o+l*a,p=i.i,f=i.j,x=i.realIndex,b=i.translationsIndex,m=0,v=0;v<this.groupCtx.prevXF.length;v++)m+=this.groupCtx.prevXF[v][f];var y=p;if(u.config.series[x].name&&(y=h.indexOf(u.config.series[x].name)),y>0){var w=r;this.groupCtx.prevXVal[y-1][f]<0?w=this.series[p][f]>=0?this.groupCtx.prevX[y-1][f]+m-2*(this.isReversed?m:0):this.groupCtx.prevX[y-1][f]:this.groupCtx.prevXVal[y-1][f]>=0&&(w=this.series[p][f]>=0?this.groupCtx.prevX[y-1][f]:this.groupCtx.prevX[y-1][f]-m+2*(this.isReversed?m:0)),e=w}else e=r;n=null===this.series[p][f]?e:e+this.series[p][f]/this.invertedYRatio-2*(this.isReversed?this.series[p][f]/this.invertedYRatio:0);var k=this.barHelpers.getBarpaths({barYPosition:g,barHeight:a,x1:e,x2:n,strokeWidth:s,isReversed:this.isReversed,series:this.series,realIndex:i.realIndex,seriesGroup:h,i:p,j:f,w:u});return this.barHelpers.barBackground({j:f,i:p,y1:g,y2:a,elSeries:d}),o+=c,{pathTo:k.pathTo,pathFrom:k.pathFrom,goalX:this.barHelpers.getGoalValues("x",r,null,p,f,b),barXPosition:e,barYPosition:g,x:n,y:o}}},{key:"drawStackedColumnPaths",value:function(t){var e=t.indexes,i=t.x,a=t.y,s=t.xDivision,r=t.barWidth,n=t.zeroH,o=t.columnGroupIndex,l=t.seriesGroup,h=t.elSeries,c=this.w,d=e.i,u=e.j,g=e.bc,p=e.realIndex,f=e.translationsIndex;if(c.globals.isXNumeric){var x=c.globals.seriesX[p][u];x||(x=0),i=(x-c.globals.minX)/this.xRatio-r/2*c.globals.barGroups.length}for(var b,m=i+o*r,v=0,y=0;y<this.groupCtx.prevYF.length;y++)v+=isNaN(this.groupCtx.prevYF[y][u])?0:this.groupCtx.prevYF[y][u];var w=d;if(l&&(w=l.indexOf(c.globals.seriesNames[p])),w>0&&!c.globals.isXNumeric||w>0&&c.globals.isXNumeric&&c.globals.seriesX[p-1][u]===c.globals.seriesX[p][u]){var k,A,C,S=Math.min(this.yRatio.length+1,p+1);if(void 0!==this.groupCtx.prevY[w-1]&&this.groupCtx.prevY[w-1].length)for(var L=1;L<S;L++){var M;if(!isNaN(null===(M=this.groupCtx.prevY[w-L])||void 0===M?void 0:M[u])){C=this.groupCtx.prevY[w-L][u];break}}for(var P=1;P<S;P++){var I,T;if((null===(I=this.groupCtx.prevYVal[w-P])||void 0===I?void 0:I[u])<0){A=this.series[d][u]>=0?C-v+2*(this.isReversed?v:0):C;break}if((null===(T=this.groupCtx.prevYVal[w-P])||void 0===T?void 0:T[u])>=0){A=this.series[d][u]>=0?C:C+v-2*(this.isReversed?v:0);break}}void 0===A&&(A=c.globals.gridHeight),b=null!==(k=this.groupCtx.prevYF[0])&&void 0!==k&&k.every((function(t){return 0===t}))&&this.groupCtx.prevYF.slice(1,w).every((function(t){return t.every((function(t){return isNaN(t)}))}))?n:A}else b=n;a=this.series[d][u]?b-this.series[d][u]/this.yRatio[f]+2*(this.isReversed?this.series[d][u]/this.yRatio[f]:0):b;var z=this.barHelpers.getColumnPaths({barXPosition:m,barWidth:r,y1:b,y2:a,yRatio:this.yRatio[f],strokeWidth:this.strokeWidth,isReversed:this.isReversed,series:this.series,seriesGroup:l,realIndex:e.realIndex,i:d,j:u,w:c});return this.barHelpers.barBackground({bc:g,j:u,i:d,x1:m,x2:r,elSeries:h}),{pathTo:z.pathTo,pathFrom:z.pathFrom,goalY:this.barHelpers.getGoalValues("y",null,n,d,u),barXPosition:m,x:c.globals.isXNumeric?i:i+s,y:a}}}]),a}(Pa),Ta=function(t){h(a,t);var e=n(a);function a(){return i(this,a),e.apply(this,arguments)}return s(a,[{key:"draw",value:function(t,e,i){var a=this,s=this.w,r=new Mi(this.ctx),n=s.globals.comboCharts?e:s.config.chart.type,o=new ji(this.ctx);this.candlestickOptions=this.w.config.plotOptions.candlestick,this.boxOptions=this.w.config.plotOptions.boxPlot,this.isHorizontal=s.config.plotOptions.bar.horizontal,this.isOHLC=this.candlestickOptions&&"ohlc"===this.candlestickOptions.type;var l=new Pi(this.ctx,s);t=l.getLogSeries(t),this.series=t,this.yRatio=l.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);for(var h=r.group({class:"apexcharts-".concat(n,"-series apexcharts-plot-series")}),c=function(e){a.isBoxPlot="boxPlot"===s.config.chart.type||"boxPlot"===s.config.series[e].type;var n,l,c,d,g=void 0,p=void 0,f=[],x=[],b=s.globals.comboCharts?i[e]:e,m=a.barHelpers.getGroupIndex(b).columnGroupIndex,y=r.group({class:"apexcharts-series",seriesName:v.escapeString(s.globals.seriesNames[b]),rel:e+1,"data:realIndex":b});a.ctx.series.addCollapsedClassToSeries(y,b),t[e].length>0&&(a.visibleI=a.visibleI+1);var w,k,A=0;a.yRatio.length>1&&(a.yaxisIndex=s.globals.seriesYAxisReverseMap[b][0],A=b);var C=a.barHelpers.initialPositions(b);p=C.y,w=C.barHeight,l=C.yDivision,d=C.zeroW,g=C.x,k=C.barWidth,n=C.xDivision,c=C.zeroH,x.push(g+k/2);for(var S=r.group({class:"apexcharts-datalabels","data:realIndex":b}),L=r.group({class:"apexcharts-bar-goals-markers"}),M=function(i){var r=a.barHelpers.getStrokeWidth(e,i,b),h=null,v={indexes:{i:e,j:i,realIndex:b,translationsIndex:A},x:g,y:p,strokeWidth:r,elSeries:y};h=a.isHorizontal?a.drawHorizontalBoxPaths(u(u({},v),{},{yDivision:l,barHeight:w,zeroW:d})):a.drawVerticalBoxPaths(u(u({},v),{},{xDivision:n,barWidth:k,zeroH:c})),p=h.y,g=h.x;var C=a.barHelpers.drawGoalLine({barXPosition:h.barXPosition,barYPosition:h.barYPosition,goalX:h.goalX,goalY:h.goalY,barHeight:w,barWidth:k});C&&L.add(C),i>0&&x.push(g+k/2),f.push(p),h.pathTo.forEach((function(n,l){var c=!a.isBoxPlot&&a.candlestickOptions.wick.useFillColor?h.color[l]:s.globals.stroke.colors[e],d=o.fillPath({seriesNumber:b,dataPointIndex:i,color:h.color[l],value:t[e][i]});a.renderSeries({realIndex:b,pathFill:d,lineFill:c,j:i,i:e,pathFrom:h.pathFrom,pathTo:n,strokeWidth:r,elSeries:y,x:g,y:p,series:t,columnGroupIndex:m,barHeight:w,barWidth:k,elDataLabelsWrap:S,elGoalsMarkers:L,visibleSeries:a.visibleI,type:s.config.chart.type})}))},P=0;P<s.globals.dataPoints;P++)M(P);s.globals.seriesXvalues[b]=x,s.globals.seriesYvalues[b]=f,h.add(y)},d=0;d<t.length;d++)c(d);return h}},{key:"drawVerticalBoxPaths",value:function(t){var e=t.indexes,i=t.x;t.y;var a=t.xDivision,s=t.barWidth,r=t.zeroH,n=t.strokeWidth,o=this.w,l=new Mi(this.ctx),h=e.i,c=e.j,d=o.config.plotOptions.candlestick.colors,u=this.boxOptions.colors,g=e.realIndex,p=function(t){return Array.isArray(t)?t[g]:t},f=p(d.upward),x=p(d.downward),b=this.yRatio[e.translationsIndex],m=this.getOHLCValue(g,c),v=r,y=r,w=m.o<m.c?[f]:[x];this.isBoxPlot&&(w=[p(u.lower),p(u.upper)]);var k=Math.min(m.o,m.c),A=Math.max(m.o,m.c),C=m.m;o.globals.isXNumeric&&(i=(o.globals.seriesX[g][c]-o.globals.minX)/this.xRatio-s/2);var S=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(k=r,A=r):(k=r-k/b,A=r-A/b,v=r-m.h/b,y=r-m.l/b,C=r-m.m/b);var L=l.move(S,r),M=l.move(S+s/2,k);if(o.globals.previousPaths.length>0&&(M=this.getPreviousPath(g,c,!0)),this.isOHLC){var P=S+s/2,I=r-m.o/b,T=r-m.c/b;L=[l.move(P,v)+l.line(P,y)+l.move(P,I)+l.line(S,I)+l.move(P,T)+l.line(S+s,T)]}else L=this.isBoxPlot?[l.move(S,k)+l.line(S+s/2,k)+l.line(S+s/2,v)+l.line(S+s/4,v)+l.line(S+s-s/4,v)+l.line(S+s/2,v)+l.line(S+s/2,k)+l.line(S+s,k)+l.line(S+s,C)+l.line(S,C)+l.line(S,k+n/2),l.move(S,C)+l.line(S+s,C)+l.line(S+s,A)+l.line(S+s/2,A)+l.line(S+s/2,y)+l.line(S+s-s/4,y)+l.line(S+s/4,y)+l.line(S+s/2,y)+l.line(S+s/2,A)+l.line(S,A)+l.line(S,C)+"z"]:[l.move(S,A)+l.line(S+s/2,A)+l.line(S+s/2,v)+l.line(S+s/2,A)+l.line(S+s,A)+l.line(S+s,k)+l.line(S+s/2,k)+l.line(S+s/2,y)+l.line(S+s/2,k)+l.line(S,k)+l.line(S,A-n/2)];return M+=l.move(S,k),o.globals.isXNumeric||(i+=a),{pathTo:L,pathFrom:M,x:i,y:A,goalY:this.barHelpers.getGoalValues("y",null,r,h,c,e.translationsIndex),barXPosition:S,color:w}}},{key:"drawHorizontalBoxPaths",value:function(t){var e=t.indexes;t.x;var i=t.y,a=t.yDivision,s=t.barHeight,r=t.zeroW,n=t.strokeWidth,o=this.w,l=new Mi(this.ctx),h=e.i,c=e.j,d=this.boxOptions.colors.lower;this.isBoxPlot&&(d=[this.boxOptions.colors.lower,this.boxOptions.colors.upper]);var u=this.invertedYRatio,g=e.realIndex,p=this.getOHLCValue(g,c),f=r,x=r,b=Math.min(p.o,p.c),m=Math.max(p.o,p.c),v=p.m;o.globals.isXNumeric&&(i=(o.globals.seriesX[g][c]-o.globals.minX)/this.invertedXRatio-s/2);var y=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(b=r,m=r):(b=r+b/u,m=r+m/u,f=r+p.h/u,x=r+p.l/u,v=r+p.m/u);var w=l.move(r,y),k=l.move(b,y+s/2);return o.globals.previousPaths.length>0&&(k=this.getPreviousPath(g,c,!0)),w=[l.move(b,y)+l.line(b,y+s/2)+l.line(f,y+s/2)+l.line(f,y+s/2-s/4)+l.line(f,y+s/2+s/4)+l.line(f,y+s/2)+l.line(b,y+s/2)+l.line(b,y+s)+l.line(v,y+s)+l.line(v,y)+l.line(b+n/2,y),l.move(v,
vendor: 4,603 bytes, line 46395
46395y)+l.line(v,y+s)+l.line(m,y+s)+l.line(m,y+s/2)+l.line(x,y+s/2)+l.line(x,y+s-s/4)+l.line(x,y+s/4)+l.line(x,y+s/2)+l.line(m,y+s/2)+l.line(m,y)+l.line(v,y)+"z"],k+=l.move(b,y),o.globals.isXNumeric||(i+=a),{pathTo:w,pathFrom:k,x:m,y:i,goalX:this.barHelpers.getGoalValues("x",r,null,h,c),barYPosition:y,color:d}}},{key:"getOHLCValue",value:function(t,e){var i=this.w,a=new Pi(this.ctx,i),s=a.getLogValAtSeriesIndex(i.globals.seriesCandleH[t][e],t),r=a.getLogValAtSeriesIndex(i.globals.seriesCandleO[t][e],t),n=a.getLogValAtSeriesIndex(i.globals.seriesCandleM[t][e],t),o=a.getLogValAtSeriesIndex(i.globals.seriesCandleC[t][e],t),l=a.getLogValAtSeriesIndex(i.globals.seriesCandleL[t][e],t);return{o:this.isBoxPlot?s:r,h:this.isBoxPlot?r:s,m:n,l:this.isBoxPlot?o:l,c:this.isBoxPlot?l:o}}}]),a}(Pa),za=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"checkColorRange",value:function(){var t=this.w,e=!1,i=t.config.plotOptions[t.config.chart.type];return i.colorScale.ranges.length>0&&i.colorScale.ranges.map((function(t,i){t.from<=0&&(e=!0)})),e}},{key:"getShadeColor",value:function(t,e,i,a){var s=this.w,r=1,n=s.config.plotOptions[t].shadeIntensity,o=this.determineColor(t,e,i);s.globals.hasNegs||a?r=s.config.plotOptions[t].reverseNegativeShade?o.percent<0?o.percent/100*(1.25*n):(1-o.percent/100)*(1.25*n):o.percent<=0?1-(1+o.percent/100)*n:(1-o.percent/100)*n:(r=1-o.percent/100,"treemap"===t&&(r=(1-o.percent/100)*(1.25*n)));var l=o.color,h=new v;if(s.config.plotOptions[t].enableShades)if("dark"===this.w.config.theme.mode){var c=h.shadeColor(-1*r,o.color);l=v.hexToRgba(v.isColorHex(c)?c:v.rgb2hex(c),s.config.fill.opacity)}else{var d=h.shadeColor(r,o.color);l=v.hexToRgba(v.isColorHex(d)?d:v.rgb2hex(d),s.config.fill.opacity)}return{color:l,colorProps:o}}},{key:"determineColor",value:function(t,e,i){var a=this.w,s=a.globals.series[e][i],r=a.config.plotOptions[t],n=r.colorScale.inverse?i:e;r.distributed&&"treemap"===a.config.chart.type&&(n=i);var o=a.globals.colors[n],l=null,h=Math.min.apply(Math,f(a.globals.series[e])),c=Math.max.apply(Math,f(a.globals.series[e]));r.distributed||"heatmap"!==t||(h=a.globals.minY,c=a.globals.maxY),void 0!==r.colorScale.min&&(h=r.colorScale.min<a.globals.minY?r.colorScale.min:a.globals.minY,c=r.colorScale.max>a.globals.maxY?r.colorScale.max:a.globals.maxY);var d=Math.abs(c)+Math.abs(h),u=100*s/(0===d?d-1e-6:d);r.colorScale.ranges.length>0&&r.colorScale.ranges.map((function(t,e){if(s>=t.from&&s<=t.to){o=t.color,l=t.foreColor?t.foreColor:null,h=t.from,c=t.to;var i=Math.abs(c)+Math.abs(h);u=100*s/(0===i?i-1e-6:i)}}));return{color:o,foreColor:l,percent:u}}},{key:"calculateDataLabels",value:function(t){var e=t.text,i=t.x,a=t.y,s=t.i,r=t.j,n=t.colorProps,o=t.fontSize,l=this.w.config.dataLabels,h=new Mi(this.ctx),c=new qi(this.ctx),d=null;if(l.enabled){d=h.group({class:"apexcharts-data-labels"});var u=l.offsetX,g=l.offsetY,p=i+u,f=a+parseFloat(l.style.fontSize)/3+g;c.plotDataLabelsText({x:p,y:f,text:e,i:s,j:r,color:n.foreColor,parent:d,fontSize:o,dataLabelsConfig:l})}return d}},{key:"addListeners",value:function(t){var e=new Mi(this.ctx);t.node.addEventListener("mouseenter",e.pathMouseEnter.bind(this,t)),t.node.addEventListener("mouseleave",e.pathMouseLeave.bind(this,t)),t.node.addEventListener("mousedown",e.pathMouseDown.bind(this,t))}}]),t}(),Xa=function(){function t(e,a){i(this,t),this.ctx=e,this.w=e.w,this.xRatio=a.xRatio,this.yRatio=a.yRatio,this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.helpers=new za(e),this.rectRadius=this.w.config.plotOptions.heatmap.radius,this.strokeWidth=this.w.config.stroke.show?this.w.config.stroke.width:0}return s(t,[{key:"draw",value:function(t){var e=this.w,i=new Mi(this.ctx),a=i.group({class:"apexcharts-heatmap"});a.attr("clip-path","url(#gridRectMask".concat(e.globals.cuid,")"));var s=e.globals.gridWidth/e.globals.dataPoints,r=e.globals.gridHeight/e.globals.series.length,n=0,o=!1;this.negRange=this.helpers.checkColorRange();var l=t.slice();e.config.yaxis[0].reversed&&(o=!0,l.reverse());for(var h=o?0:l.length-1;o?h<l.length:h>=0;o?h++:h--){var c=i.group({class:"apexcharts-series apexcharts-heatmap-series",seriesName:v.escapeString(e.globals.seriesNames[h]),rel:h+1,"data:realIndex":h});if(this.ctx.series.addCollapsedClassToSeries(c,h),e.config.chart.dropShadow.enabled){var d=e.config.chart.dropShadow;new Li(this.ctx).dropShadow(c,d,h)}for(var u=0,g=e.config.plotOptions.heatmap.shadeIntensity,p=0,f=0;f<e.globals.dataPoints;f++)if(e.globals.seriesX.length&&!e.globals.allSeriesHasEqualX&&e.globals.minX+e.globals.minXDiff*f<e.globals.seriesX[h][p
vendor: 6,747 bytes, line 46395
46395])u+=s;else{if(p>=l[h].length)break;var x=this.helpers.getShadeColor(e.config.chart.type,h,p,this.negRange),b=x.color,m=x.colorProps;if("image"===e.config.fill.type)b=new ji(this.ctx).fillPath({seriesNumber:h,dataPointIndex:p,opacity:e.globals.hasNegs?m.percent<0?1-(1+m.percent/100):g+m.percent/100:m.percent/100,patternID:v.randomId(),width:e.config.fill.image.width?e.config.fill.image.width:s,height:e.config.fill.image.height?e.config.fill.image.height:r});var y=this.rectRadius,w=i.drawRect(u,n,s,r,y);if(w.attr({cx:u,cy:n}),w.node.classList.add("apexcharts-heatmap-rect"),c.add(w),w.attr({fill:b,i:h,index:h,j:p,val:t[h][p],"stroke-width":this.strokeWidth,stroke:e.config.plotOptions.heatmap.useFillColorAsStroke?b:e.globals.stroke.colors[0],color:b}),this.helpers.addListeners(w),e.config.chart.animations.enabled&&!e.globals.dataChanged){var k=1;e.globals.resized||(k=e.config.chart.animations.speed),this.animateHeatMap(w,u,n,s,r,k)}if(e.globals.dataChanged){var A=1;if(this.dynamicAnim.enabled&&e.globals.shouldAnimate){A=this.dynamicAnim.speed;var C=e.globals.previousPaths[h]&&e.globals.previousPaths[h][p]&&e.globals.previousPaths[h][p].color;C||(C="rgba(255, 255, 255, 0)"),this.animateHeatColor(w,v.isColorHex(C)?C:v.rgb2hex(C),v.isColorHex(b)?b:v.rgb2hex(b),A)}}var S=(0,e.config.dataLabels.formatter)(e.globals.series[h][p],{value:e.globals.series[h][p],seriesIndex:h,dataPointIndex:p,w:e}),L=this.helpers.calculateDataLabels({text:S,x:u+s/2,y:n+r/2,i:h,j:p,colorProps:m,series:l});null!==L&&c.add(L),u+=s,p++}n+=r,a.add(c)}var M=e.globals.yAxisScale[0].result.slice();return e.config.yaxis[0].reversed?M.unshift(""):M.push(""),e.globals.yAxisScale[0].result=M,a}},{key:"animateHeatMap",value:function(t,e,i,a,s,r){var n=new y(this.ctx);n.animateRect(t,{x:e+a/2,y:i+s/2,width:0,height:0},{x:e,y:i,width:a,height:s},r,(function(){n.animationCompleted(t)}))}},{key:"animateHeatColor",value:function(t,e,i,a){t.attr({fill:e}).animate(a).attr({fill:i})}}]),t}(),Ra=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"drawYAxisTexts",value:function(t,e,i,a){var s=this.w,r=s.config.yaxis[0],n=s.globals.yLabelFormatters[0];return new Mi(this.ctx).drawText({x:t+r.labels.offsetX,y:e+r.labels.offsetY,text:n(a,i),textAnchor:"middle",fontSize:r.labels.style.fontSize,fontFamily:r.labels.style.fontFamily,foreColor:Array.isArray(r.labels.style.colors)?r.labels.style.colors[i]:r.labels.style.colors})}}]),t}(),Ea=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w;var a=this.w;this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animBeginArr=[0],this.animDur=0,this.donutDataLabels=this.w.config.plotOptions.pie.donut.labels,this.lineColorArr=void 0!==a.globals.stroke.colors?a.globals.stroke.colors:a.globals.colors,this.defaultSize=Math.min(a.globals.gridWidth,a.globals.gridHeight),this.centerY=this.defaultSize/2,this.centerX=a.globals.gridWidth/2,"radialBar"===a.config.chart.type?this.fullAngle=360:this.fullAngle=Math.abs(a.config.plotOptions.pie.endAngle-a.config.plotOptions.pie.startAngle),this.initialAngle=a.config.plotOptions.pie.startAngle%this.fullAngle,a.globals.radialSize=this.defaultSize/2.05-a.config.stroke.width-(a.config.chart.sparkline.enabled?0:a.config.chart.dropShadow.blur),this.donutSize=a.globals.radialSize*parseInt(a.config.plotOptions.pie.donut.size,10)/100;var s=a.config.plotOptions.pie.customScale,r=a.globals.gridWidth/2,n=a.globals.gridHeight/2;this.translateX=r-r*s,this.translateY=n-n*s,this.dataLabelsGroup=new Mi(this.ctx).group({class:"apexcharts-datalabels-group",transform:"translate(".concat(this.translateX,", ").concat(this.translateY,") scale(").concat(s,")")}),this.maxY=0,this.sliceLabels=[],this.sliceSizes=[],this.prevSectorAngleArr=[]}return s(t,[{key:"draw",value:function(t){var e=this,i=this.w,a=new Mi(this.ctx),s=a.group({class:"apexcharts-pie"});if(i.globals.noData)return s;for(var r=0,n=0;n<t.length;n++)r+=v.negToZero(t[n]);var o=[],l=a.group();0===r&&(r=1e-5),t.forEach((function(t){e.maxY=Math.max(e.maxY,t)})),i.config.yaxis[0].max&&(this.maxY=i.config.yaxis[0].max),"back"===i.config.grid.position&&"polarArea"===this.chartType&&this.drawPolarElements(s);for(var h=0;h<t.length;h++){var c=this.fullAngle*v.negToZero(t[h])/r;o.push(c),"polarArea"===this.chartType?(o[h]=this.fullAngle/t.length,this.sliceSizes.push(i.globals.radialSize*t[h]/this.maxY)):this.sliceSizes.push(i.globals.radialSize)}if(i.globals.dataChanged){for(var d,u=0,g=0;g<i.globals.previousPaths.length;g++)u+=v.negToZero(i.globals.previousPaths[g]);for(var p=0;p<i.globals.previousPaths.length;p++)d=this.fullAngle*v.negToZero(i.globals.previousPaths[p])/u,this.prevSectorAngleArr.push(d)}if(this.donutSize<0&&(this.donutSize=0),"donut"===this.chartType){var f=a.drawCircle(this.donutSize);f.attr({cx:this.centerX,cy:this.centerY,fill:i.config.plotOptions.pie.donut.background?i.config.plotOptions.pie.donut.background:"transparent"}),l.add(f)}var x=this.drawArcs(o,t);if(this.sliceLabels.forEach((function(t){x.add(t)})),l.attr({transform:"translate(".concat(this.translateX,", ").concat(this.translateY,") scale(").concat(i.config.plotOptions.pie.customScale,")")}),l.add(x),s.add(l),this.donutDataLabels.show){var b=this.renderInnerDataLabels(this.dataLabelsGroup,this.donutDataLabels,{hollowSize:this.donutSize,centerX:this.centerX,centerY:this.centerY,opacity:this.donutDataLabels.show});s.add(b)}return"front"===i.config.grid.position&&"polarArea"===this.chartType&&this.drawPolarElements(s),s}},{key:"drawArcs",value:function(t,e){var i=this.w,a=new Li(this.ctx),s=new Mi(this.ctx),r=new ji(this.ctx),n=s.group({class:"apexcharts-slices"}),o=this.initialAngle,l=this.initialAngle,h=this.initialAngle,c=this.initialAngle;this.strokeWidth=i.config.stroke.show?i.config.stroke.width:0;for(var d=0;d<t.length;d++){var u=s.group({class:"apexcharts-series apexcharts-pie-series",seriesName:v.escapeString(i.globals.seriesNames[d]),rel:d+1,"data:realIndex":d});n.add(u),l=c,h=(o=h)+t[d],c=l+this.prevSectorAngleArr[d];var g=h<o?this.fullAngle+h-o:h-o,p=r.fillPath({seriesNumber:d,size:this.sliceSizes[d],value:e[d]}),f=this.getChangedPath(l,c),x=s.drawPath({d:f,stroke:Array.isArray(this.lineColorArr)?this.lineColorArr[d]:this.lineColorArr,strokeWidth:0,fill:p,fillOpacity:i.config.fill.opacity,classes:"apexcharts-pie-area apexcharts-".concat(this.chartType.toLowerCase(),"-slice-").concat(d)});if(x.attr({index:0,j:d}),a.setSelectionFilter(x,0,d),i.config.chart.dropShadow.enabled){var b=i.config.chart.dropShadow;a.dropShadow(x,b,d)}this.addListeners(x,this.donutDataLabels),Mi.setAttrs(x.node,{"data:angle":g,"data:startAngle":
vendor: 1,517 bytes, line 46395
46395o,"data:strokeWidth":this.strokeWidth,"data:value":e[d]});var m={x:0,y:0};"pie"===this.chartType||"polarArea"===this.chartType?m=v.polarToCartesian(this.centerX,this.centerY,i.globals.radialSize/1.25+i.config.plotOptions.pie.dataLabels.offset,(o+g/2)%this.fullAngle):"donut"===this.chartType&&(m=v.polarToCartesian(this.centerX,this.centerY,(i.globals.radialSize+this.donutSize)/2+i.config.plotOptions.pie.dataLabels.offset,(o+g/2)%this.fullAngle)),u.add(x);var y=0;if(!this.initialAnim||i.globals.resized||i.globals.dataChanged?this.animBeginArr.push(0):(0===(y=g/this.fullAngle*i.config.chart.animations.speed)&&(y=1),this.animDur=y+this.animDur,this.animBeginArr.push(this.animDur)),this.dynamicAnim&&i.globals.dataChanged?this.animatePaths(x,{size:this.sliceSizes[d],endAngle:h,startAngle:o,prevStartAngle:l,prevEndAngle:c,animateStartingPos:!0,i:d,animBeginArr:this.animBeginArr,shouldSetPrevPaths:!0,dur:i.config.chart.animations.dynamicAnimation.speed}):this.animatePaths(x,{size:this.sliceSizes[d],endAngle:h,startAngle:o,i:d,totalItems:t.length-1,animBeginArr:this.animBeginArr,dur:y}),i.config.plotOptions.pie.expandOnClick&&"polarArea"!==this.chartType&&x.node.addEventListener("mouseup",this.pieClicked.bind(this,d)),void 0!==i.globals.selectedDataPoints[0]&&i.globals.selectedDataPoints[0].indexOf(d)>-1&&this.pieClicked(d),i.config.dataLabels.enabled){var w=m.x,k=m.y,A=100*g/this.fullAngle+"%";if(0!==g&&i.config.plotOptions.pie.dataLabels.minAngleToShowLabel<t[d]){var C=i.config.dataLabels.formatter;
vendor: 4,122 bytes, line 46395
46395void 0!==C&&(A=C(i.globals.seriesPercent[d][0],{seriesIndex:d,w:i}));var S=i.globals.dataLabels.style.colors[d],L=s.group({class:"apexcharts-datalabels"}),M=s.drawText({x:w,y:k,text:A,textAnchor:"middle",fontSize:i.config.dataLabels.style.fontSize,fontFamily:i.config.dataLabels.style.fontFamily,fontWeight:i.config.dataLabels.style.fontWeight,foreColor:S});if(L.add(M),i.config.dataLabels.dropShadow.enabled){var P=i.config.dataLabels.dropShadow;a.dropShadow(M,P)}M.node.classList.add("apexcharts-pie-label"),i.config.chart.animations.animate&&!1===i.globals.resized&&(M.node.classList.add("apexcharts-pie-label-delay"),M.node.style.animationDelay=i.config.chart.animations.speed/940+"s"),this.sliceLabels.push(L)}}}return n}},{key:"addListeners",value:function(t,e){var i=new Mi(this.ctx);t.node.addEventListener("mouseenter",i.pathMouseEnter.bind(this,t)),t.node.addEventListener("mouseleave",i.pathMouseLeave.bind(this,t)),t.node.addEventListener("mouseleave",this.revertDataLabelsInner.bind(this,t.node,e)),t.node.addEventListener("mousedown",i.pathMouseDown.bind(this,t)),this.donutDataLabels.total.showAlways||(t.node.addEventListener("mouseenter",this.printDataLabelsInner.bind(this,t.node,e)),t.node.addEventListener("mousedown",this.printDataLabelsInner.bind(this,t.node,e)))}},{key:"animatePaths",value:function(t,e){var i=this.w,a=e.endAngle<e.startAngle?this.fullAngle+e.endAngle-e.startAngle:e.endAngle-e.startAngle,s=a,r=e.startAngle,n=e.startAngle;void 0!==e.prevStartAngle&&void 0!==e.prevEndAngle&&(r=e.prevEndAngle,s=e.prevEndAngle<e.prevStartAngle?this.fullAngle+e.prevEndAngle-e.prevStartAngle:e.prevEndAngle-e.prevStartAngle),e.i===i.config.series.length-1&&(a+n>this.fullAngle?e.endAngle=e.endAngle-(a+n):a+n<this.fullAngle&&(e.endAngle=e.endAngle+(this.fullAngle-(a+n)))),a===this.fullAngle&&(a=this.fullAngle-.01),this.animateArc(t,r,n,a,s,e)}},{key:"animateArc",value:function(t,e,i,a,s,r){var n,o=this,l=this.w,h=new y(this.ctx),c=r.size;(isNaN(e)||isNaN(s))&&(e=i,s=a,r.dur=0);var d=a,u=i,g=e<i?this.fullAngle+e-i:e-i;l.globals.dataChanged&&r.shouldSetPrevPaths&&r.prevEndAngle&&(n=o.getPiePath({me:o,startAngle:r.prevStartAngle,angle:r.prevEndAngle<r.prevStartAngle?this.fullAngle+r.prevEndAngle-r.prevStartAngle:r.prevEndAngle-r.prevStartAngle,size:c}),t.attr({d:n})),0!==r.dur?t.animate(r.dur,r.animBeginArr[r.i]).after((function(){"pie"!==o.chartType&&"donut"!==o.chartType&&"polarArea"!==o.chartType||this.animate(l.config.chart.animations.dynamicAnimation.speed).attr({"stroke-width":o.strokeWidth}),r.i===l.config.series.length-1&&h.animationCompleted(t)})).during((function(l){d=g+(a-g)*l,r.animateStartingPos&&(d=s+(a-s)*l,u=e-s+(i-(e-s))*l),n=o.getPiePath({me:o,startAngle:u,angle:d,size:c}),t.node.setAttribute("data:pathOrig",n),t.attr({d:n})})):(n=o.getPiePath({me:o,startAngle:u,angle:a,size:c}),r.isTrack||(l.globals.animationEnded=!0),t.node.setAttribute("data:pathOrig",n),t.attr({d:n,"stroke-width":o.strokeWidth}))}},{key:"pieClicked",value:function(t){var e,i=this.w,a=this,s=a.sliceSizes[t]+(i.config.plotOptions.pie.expandOnClick?4:0),r=i.globals.dom.Paper.findOne(".apexcharts-".concat(a.chartType.toLowerCase(),"-slice-").concat(t));if("true"!==r.attr("data:pieClicked")){var n=i.globals.dom.baseEl.getElementsByClassName("apexcharts-pie-area");Array.prototype.forEach.call(n,(function(t){t.setAttribute("data:pieClicked","false");var e=t.getAttribute("data:pathOrig");e&&t.setAttribute("d",e)})),i.globals.capturedDataPointIndex=t,r.attr("data:pieClicked","true");var o=parseInt(r.attr("data:startAngle"),10),l=parseInt(r.attr("data:angle"),10);e=a.getPiePath({me:a,startAngle:o,angle:l,size:s}),360!==l&&r.plot(e)}else{r.attr({"data:pieClicked":"false"}),this.revertDataLabelsInner(r.node,this.donutDataLabels);var h=r.attr("data:pathOrig");r.attr({d:h})}}},{key:"getChangedPath",value:function(t,e){var i="";return this.dynamicAnim&&this.w.globals.dataChanged&&(i=this.getPiePath({me:this,startAngle:t,angle:e-t,size:this.size})),i}},{key:"getPiePath",value:function(t){var e,i=t.me,a=t.startAngle,s=t.angle,r=t.size,n=new Mi(this.ctx),o=a,l=Math.PI*(o-90)/180,h=s+a;
vendor: 1,205 bytes, line 46395
46395Math.ceil(h)>=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(h=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01),Math.ceil(h)>this.fullAngle&&(h-=this.fullAngle);var c=Math.PI*(h-90)/180,d=i.centerX+r*Math.cos(l),u=i.centerY+r*Math.sin(l),g=i.centerX+r*Math.cos(c),p=i.centerY+r*Math.sin(c),f=v.polarToCartesian(i.centerX,i.centerY,i.donutSize,h),x=v.polarToCartesian(i.centerX,i.centerY,i.donutSize,o),b=s>180?1:0,m=["M",d,u,"A",r,r,0,b,1,g,p];return e="donut"===i.chartType?[].concat(m,["L",f.x,f.y,"A",i.donutSize,i.donutSize,0,b,0,x.x,x.y,"L",d,u,"z"]).join(" "):"pie"===i.chartType||"polarArea"===i.chartType?[].concat(m,["L",i.centerX,i.centerY,"L",d,u]).join(" "):[].concat(m).join(" "),n.roundPathCorners(e,2*this.strokeWidth)}},{key:"drawPolarElements",value:function(t){var e=this.w,i=new ta(this.ctx),a=new Mi(this.ctx),s=new Ra(this.ctx),r=a.group(),n=a.group(),o=i.niceScale(0,Math.ceil(this.maxY),0),l=o.result.reverse(),h=o.result.length;this.maxY=o.niceMax;for(var c=e.globals.radialSize,d=c/(h-1),u=0;u<h-1;u++){var g=a.drawCircle(c);if(g.attr({cx:this.centerX,cy:this.centerY,fill:"none","stroke-width":e.config.plotOptions.polarArea.r
vendor: 6,464 bytes, line 46395
46395ings.strokeWidth,stroke:e.config.plotOptions.polarArea.rings.strokeColor}),e.config.yaxis[0].show){var p=s.drawYAxisTexts(this.centerX,this.centerY-c+parseInt(e.config.yaxis[0].labels.style.fontSize,10)/2,u,l[u]);n.add(p)}r.add(g),c-=d}this.drawSpokes(t),t.add(r),t.add(n)}},{key:"renderInnerDataLabels",value:function(t,e,i){var a=this.w,s=new Mi(this.ctx),r=e.total.show;t.node.innerHTML="",t.node.style.opacity=i.opacity;var n,o,l=i.centerX,h=this.donutDataLabels.total.label?i.centerY:i.centerY-i.centerY/6;n=void 0===e.name.color?a.globals.colors[0]:e.name.color;var c=e.name.fontSize,d=e.name.fontFamily,u=e.name.fontWeight;o=void 0===e.value.color?a.config.chart.foreColor:e.value.color;var g=e.value.formatter,p="",f="";if(r?(n=e.total.color,c=e.total.fontSize,d=e.total.fontFamily,u=e.total.fontWeight,f=this.donutDataLabels.total.label?e.total.label:"",p=e.total.formatter(a)):1===a.globals.series.length&&(p=g(a.globals.series[0],a),f=a.globals.seriesNames[0]),f&&(f=e.name.formatter(f,e.total.show,a)),e.name.show){var x=s.drawText({x:l,y:h+parseFloat(e.name.offsetY),text:f,textAnchor:"middle",foreColor:n,fontSize:c,fontWeight:u,fontFamily:d});x.node.classList.add("apexcharts-datalabel-label"),t.add(x)}if(e.value.show){var b=e.name.show?parseFloat(e.value.offsetY)+16:e.value.offsetY,m=s.drawText({x:l,y:h+b,text:p,textAnchor:"middle",foreColor:o,fontWeight:e.value.fontWeight,fontSize:e.value.fontSize,fontFamily:e.value.fontFamily});m.node.classList.add("apexcharts-datalabel-value"),t.add(m)}return t}},{key:"printInnerLabels",value:function(t,e,i,a){var s,r=this.w;a?s=void 0===t.name.color?r.globals.colors[parseInt(a.parentNode.getAttribute("rel"),10)-1]:t.name.color:r.globals.series.length>1&&t.total.show&&(s=t.total.color);var n=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-label"),o=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-value");i=(0,t.value.formatter)(i,r),a||"function"!=typeof t.total.formatter||(i=t.total.formatter(r));var l=e===t.total.label;e=this.donutDataLabels.total.label?t.name.formatter(e,l,r):"",null!==n&&(n.textContent=e),null!==o&&(o.textContent=i),null!==n&&(n.style.fill=s)}},{key:"printDataLabelsInner",value:function(t,e){var i=this.w,a=t.getAttribute("data:value"),s=i.globals.seriesNames[parseInt(t.parentNode.getAttribute("rel"),10)-1];i.globals.series.length>1&&this.printInnerLabels(e,s,a,t);var r=i.globals.dom.baseEl.querySelector(".apexcharts-datalabels-group");null!==r&&(r.style.opacity=1)}},{key:"drawSpokes",value:function(t){var e=this,i=this.w,a=new Mi(this.ctx),s=i.config.plotOptions.polarArea.spokes;if(0!==s.strokeWidth){for(var r=[],n=360/i.globals.series.length,o=0;o<i.globals.series.length;o++)r.push(v.polarToCartesian(this.centerX,this.centerY,i.globals.radialSize,i.config.plotOptions.pie.startAngle+n*o));r.forEach((function(i,r){var n=a.drawLine(i.x,i.y,e.centerX,e.centerY,Array.isArray(s.connectorColors)?s.connectorColors[r]:s.connectorColors);t.add(n)}))}}},{key:"revertDataLabelsInner",value:function(){var t=this.w;if(this.donutDataLabels.show){var e=t.globals.dom.Paper.findOne(".apexcharts-datalabels-group"),i=this.renderInnerDataLabels(e,this.donutDataLabels,{hollowSize:this.donutSize,centerX:this.centerX,centerY:this.centerY,opacity:this.donutDataLabels.show});t.globals.dom.Paper.findOne(".apexcharts-radialbar, .apexcharts-pie").add(i)}}}]),t}(),Ya=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animDur=0;var a=this.w;this.graphics=new Mi(this.ctx),this.lineColorArr=void 0!==a.globals.stroke.colors?a.globals.stroke.colors:a.globals.colors,this.defaultSize=a.globals.svgHeight<a.globals.svgWidth?a.globals.gridHeight:a.globals.gridWidth,this.isLog=a.config.yaxis[0].logarithmic,this.logBase=a.config.yaxis[0].logBase,this.coreUtils=new Pi(this.ctx),this.maxValue=this.isLog?this.coreUtils.getLogVal(this.logBase,a.globals.maxY,0):a.globals.maxY,this.minValue=this.isLog?this.coreUtils.getLogVal(this.logBase,this.w.globals.minY,0):a.globals.minY,this.polygons=a.config.plotOptions.radar.polygons,this.strokeWidth=a.config.stroke.show?a.config.stroke.width:0,this.size=this.defaultSize/2.1-this.strokeWidth-a.config.chart.dropShadow.blur,a.config.xaxis.labels.show&&(this.size=this.size-a.globals.xAxisLabelsWidth/1.75),void 0!==a.config.plotOptions.radar.size&&(this.size=a.config.plotOptions.radar.size),this.dataRadiusOfPercent=[],this.dataRadius=[],this.angleArr=[],this.yaxisLabelsTextsPos=[]}return s(t,[{key:"draw",value:function(t){var e=this,i=this.w,a=new ji(this.ctx),s=[],r=new qi(this.ctx);t.length&&(this.dataPointsLen=t[i.globals.maxValsInArrayIndex].length),this.disAngle=2*Math.PI/this.dataPointsLen;var n=i.globals.gridWidth/2,o=i.globals.gridHeight/2,l=n+i.config.plotOptions.radar.offsetX,h=o+i.config.plotOptions.radar.offsetY,c=this.graphics.group({class:"apexcharts-radar-series apexcharts-plot-series",transform:"translate(".concat(l||0,", ").concat(h||0,")")}),d=[],g=null,p=null;if(this.yaxisLabels=this.graphics.group({class:"apexcharts-yaxis"}),t.forEach((function(t,n){var o=t.length===i.globals.dataPoints,l=e.graphics.group().attr({class:"apexcharts-series","data:longestSeries":o,seriesName:v.escapeString(i.globals.seriesNames[n]),rel:n+1,"data:realIndex":n});e.dataRadiusOfPercent[n]=[],e.dataRadius[n]=[],e.angleArr[n]=[],t.forEach((function(t,i){var a=Math.abs(e.maxValue-e.minValue);t-=e.minValue,e.isLog&&(t=e.coreUtils.getLogVal(e.logBase,t,0)),e.dataRadiusOfPercent[n][i]=t/a,e.dataRadius[n][i]=e.dataRadiusOfPercent[n][i]*e.size,e.angleArr[n][i]=i*e.disAngle})),d=e.getDataPointsPos(e.dataRadius[n],e.angleArr[n]);var h=e.createPaths(d,{x:0,y:0});g=e.graphics.group({class:"apexcharts-series-markers-wrap apexcharts-element-hidden"}),p=e.graphics.group({class:"apexcharts-datalabels","data:realIndex":n}),i.globals.delayedElements.push({el:g.node,index:n});var c={i:n,realIndex:n,animationDelay:n,initialSpeed:i.config.chart.animations.speed,dataChangeSpeed:i.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-radar",shouldClipToGrid:!1,bindEventsOnPaths:!1,stroke:i.globals.stroke.colors[n],strokeLineCap:i.config.stroke.lineCap},f=null;i.globals.previousPaths.length>0&&(f=e.getPreviousPath(n));for(var x=0;x<h.linePathsTo.length;x++){var b=e.graphics.renderPaths(u(u({},c),{}
vendor: 4,220 bytes, line 46395
46395,{pathFrom:null===f?h.linePathsFrom[x]:f,pathTo:h.linePathsTo[x],strokeWidth:Array.isArray(e.strokeWidth)?e.strokeWidth[n]:e.strokeWidth,fill:"none",drawShadow:!1}));l.add(b);var m=a.fillPath({seriesNumber:n}),y=e.graphics.renderPaths(u(u({},c),{},{pathFrom:null===f?h.areaPathsFrom[x]:f,pathTo:h.areaPathsTo[x],strokeWidth:0,fill:m,drawShadow:!1}));if(i.config.chart.dropShadow.enabled){var w=new Li(e.ctx),k=i.config.chart.dropShadow;w.dropShadow(y,Object.assign({},k,{noUserSpaceOnUse:!0}),n)}l.add(y)}t.forEach((function(t,a){var s=new Vi(e.ctx).getMarkerConfig({cssClass:"apexcharts-marker",seriesIndex:n,dataPointIndex:a}),o=e.graphics.drawMarker(d[a].x,d[a].y,s);o.attr("rel",a),o.attr("j",a),o.attr("index",n),o.node.setAttribute("default-marker-size",s.pSize);var h=e.graphics.group({class:"apexcharts-series-markers"});h&&h.add(o),g.add(h),l.add(g);var c=i.config.dataLabels;if(c.enabled){var f=c.formatter(i.globals.series[n][a],{seriesIndex:n,dataPointIndex:a,w:i});r.plotDataLabelsText({x:d[a].x,y:d[a].y,text:f,textAnchor:"middle",i:n,j:n,parent:p,offsetCorrection:!1,dataLabelsConfig:u({},c)})}l.add(p)})),s.push(l)})),this.drawPolygons({parent:c}),i.config.xaxis.labels.show){var f=this.drawXAxisTexts();c.add(f)}return s.forEach((function(t){c.add(t)})),c.add(this.yaxisLabels),c}},{key:"drawPolygons",value:function(t){for(var e=this,i=this.w,a=t.parent,s=new Ra(this.ctx),r=i.globals.yAxisScale[0].result.reverse(),n=r.length,o=[],l=this.size/(n-1),h=0;h<n;h++)o[h]=l*h;o.reverse();var c=[],d=[];o.forEach((function(t,i){var a=v.getPolygonPos(t,e.dataPointsLen),s="";a.forEach((function(t,a){if(0===i){var r=e.graphics.drawLine(t.x,t.y,0,0,Array.isArray(e.polygons.connectorColors)?e.polygons.connectorColors[a]:e.polygons.connectorColors);d.push(r)}0===a&&e.yaxisLabelsTextsPos.push({x:t.x,y:t.y}),s+=t.x+","+t.y+" "})),c.push(s)})),c.forEach((function(t,s){var r=e.polygons.strokeColors,n=e.polygons.strokeWidth,o=e.graphics.drawPolygon(t,Array.isArray(r)?r[s]:r,Array.isArray(n)?n[s]:n,i.globals.radarPolygons.fill.colors[s]);a.add(o)})),d.forEach((function(t){a.add(t)})),i.config.yaxis[0].show&&this.yaxisLabelsTextsPos.forEach((function(t,i){var a=s.drawYAxisTexts(t.x,t.y,i,r[i]);e.yaxisLabels.add(a)}))}},{key:"drawXAxisTexts",value:function(){var t=this,e=this.w,i=e.config.xaxis.labels,a=this.graphics.group({class:"apexcharts-xaxis"}),s=v.getPolygonPos(this.size,this.dataPointsLen);return e.globals.labels.forEach((function(r,n){var o=e.config.xaxis.labels.formatter,l=new qi(t.ctx);if(s[n]){var h=t.getTextPos(s[n],t.size),c=o(r,{seriesIndex:-1,dataPointIndex:n,w:e});l.plotDataLabelsText({x:h.newX,y:h.newY,text:c,textAnchor:h.textAnchor,i:n,j:n,parent:a,className:"apexcharts-xaxis-label",color:Array.isArray(i.style.colors)&&i.style.colors[n]?i.style.colors[n]:"#a8a8a8",dataLabelsConfig:u({textAnchor:h.textAnchor,dropShadow:{enabled:!1}},i),offsetCorrection:!1}).on("click",(function(i){if("function"==typeof e.config.chart.events.xAxisLabelClick){var a=Object.assign({},e,{labelIndex:n});e.config.chart.events.xAxisLabelClick(i,t.ctx,a)}}))}})),a}},{key:"createPaths",value:function(t,e){var i=this,a=[],s=[],r=[],n=[];if(t.length){s=[this.graphics.move(e.x,e.y)],n=[this.graphics.move(e.x,e.y)];var o=this.graphics.move(t[0].x,t[0].y),l=this.graphics.move(t[0].x,t[0].y);t.forEach((function(e,a){o+=i.graphics.line(e.x,e.y),l+=i.graphics.line(e.x,e.y),a===t.length-1&&(o+="Z",l+="Z")})),a.push(o),r.push(l)}return{linePathsFrom:s,linePathsTo:a,areaPathsFrom:n,areaPathsTo:r}}},{key:"getTextPos",value:function(t,e){var i="middle",a=t.x,s=t.y;return Math.abs(t.x)>=10?t.x>0?(i="start",a+=10):t.x<0&&(i="end",a-=10):i="middle",Math.abs(t.y)>=e-10&&(t.y<0?s-=10:t.y>0&&(s+=10)),{textAnchor:i,newX:a,newY:s}}},{key:"getPreviousPath",value:function(t){for(var e=this.w,i=null,a=0;a<e.globals.previousPaths.length;a++){var s=e.globals.previousPaths[a];s.paths.length>0&&parseInt(s.realIndex,10)===parseInt(t,10)&&void 0!==e.globals.previousPaths[a].paths[0]&&(i=e.globals.previousPaths[a].paths[0].d)}return i}},{key:"getDataPointsPos",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.dataPointsLen;t=t||[],e=e||[];for(var a=[],s=0;s<i;s++){var r={};
vendor: 5,672 bytes, line 46395
46395r.x=t[s]*Math.sin(e[s]),r.y=-t[s]*Math.cos(e[s]),a.push(r)}return a}}]),t}(),Ha=function(t){h(r,t);var a=n(r);function r(t){var s;i(this,r),(s=a.call(this,t)).ctx=t,s.w=t.w,s.animBeginArr=[0],s.animDur=0;var n=s.w;return s.startAngle=n.config.plotOptions.radialBar.startAngle,s.endAngle=n.config.plotOptions.radialBar.endAngle,s.totalAngle=Math.abs(n.config.plotOptions.radialBar.endAngle-n.config.plotOptions.radialBar.startAngle),s.trackStartAngle=n.config.plotOptions.radialBar.track.startAngle,s.trackEndAngle=n.config.plotOptions.radialBar.track.endAngle,s.barLabels=s.w.config.plotOptions.radialBar.barLabels,s.donutDataLabels=s.w.config.plotOptions.radialBar.dataLabels,s.radialDataLabels=s.donutDataLabels,s.trackStartAngle||(s.trackStartAngle=s.startAngle),s.trackEndAngle||(s.trackEndAngle=s.endAngle),360===s.endAngle&&(s.endAngle=359.99),s.margin=parseInt(n.config.plotOptions.radialBar.track.margin,10),s.onBarLabelClick=s.onBarLabelClick.bind(e(s)),s}return s(r,[{key:"draw",value:function(t){var e=this.w,i=new Mi(this.ctx),a=i.group({class:"apexcharts-radialbar"});if(e.globals.noData)return a;var s=i.group(),r=this.defaultSize/2,n=e.globals.gridWidth/2,o=this.defaultSize/2.05;e.config.chart.sparkline.enabled||(o=o-e.config.stroke.width-e.config.chart.dropShadow.blur);var l=e.globals.fill.colors;if(e.config.plotOptions.radialBar.track.show){var h=this.drawTracks({size:o,centerX:n,centerY:r,colorArr:l,series:t});s.add(h)}var c=this.drawArcs({size:o,centerX:n,centerY:r,colorArr:l,series:t}),d=360;e.config.plotOptions.radialBar.startAngle<0&&(d=this.totalAngle);var u=(360-d)/360;if(e.globals.radialSize=o-o*u,this.radialDataLabels.value.show){var g=Math.max(this.radialDataLabels.value.offsetY,this.radialDataLabels.name.offsetY);e.globals.radialSize+=g*u}return s.add(c.g),"front"===e.config.plotOptions.radialBar.hollow.position&&(c.g.add(c.elHollow),c.dataLabels&&c.g.add(c.dataLabels)),a.add(s),a}},{key:"drawTracks",value:function(t){var e=this.w,i=new Mi(this.ctx),a=i.group({class:"apexcharts-tracks"}),s=new Li(this.ctx),r=new ji(this.ctx),n=this.getStrokeWidth(t);t.size=t.size-n/2;for(var o=0;o<t.series.length;o++){var l=i.group({class:"apexcharts-radialbar-track apexcharts-track"});a.add(l),l.attr({rel:o+1}),t.size=t.size-n-this.margin;var h=e.config.plotOptions.radialBar.track,c=r.fillPath({seriesNumber:0,size:t.size,fillColors:Array.isArray(h.background)?h.background[o]:h.background,solid:!0}),d=this.trackStartAngle,u=this.trackEndAngle;Math.abs(u)+Math.abs(d)>=360&&(u=360-Math.abs(this.startAngle)-.1);var g=i.drawPath({d:"",stroke:c,strokeWidth:n*parseInt(h.strokeWidth,10)/100,fill:"none",strokeOpacity:h.opacity,classes:"apexcharts-radialbar-area"});if(h.dropShadow.enabled){var p=h.dropShadow;s.dropShadow(g,p)}l.add(g),g.attr("id","apexcharts-radialbarTrack-"+o),this.animatePaths(g,{centerX:t.centerX,centerY:t.centerY,endAngle:u,startAngle:d,size:t.size,i:o,totalItems:2,animBeginArr:0,dur:0,isTrack:!0})}return a}},{key:"drawArcs",value:function(t){var e=this.w,i=new Mi(this.ctx),a=new ji(this.ctx),s=new Li(this.ctx),r=i.group(),n=this.getStrokeWidth(t);t.size=t.size-n/2;var o=e.config.plotOptions.radialBar.hollow.background,l=t.size-n*t.series.length-this.margin*t.series.length-n*parseInt(e.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,h=l-e.config.plotOptions.radialBar.hollow.margin;void 0!==e.config.plotOptions.radialBar.hollow.image&&(o=this.drawHollowImage(t,r,l,o));var c=this.drawHollow({size:h,centerX:t.centerX,centerY:t.centerY,fill:o||"transparent"});if(e.config.plotOptions.radialBar.hollow.dropShadow.enabled){var d=e.config.plotOptions.radialBar.hollow.dropShadow;s.dropShadow(c,d)}var u=1;!this.radialDataLabels.total.show&&e.globals.series.length>1&&(u=0);var g=null;if(this.radialDataLabels.show){var p=e.globals.dom.Paper.findOne(".apexcharts-datalabels-group");g=this.renderInnerDataLabels(p,this.radialDataLabels,{hollowSize:l,centerX:t.centerX,centerY:t.centerY,opacity:u})}"back"===e.config.plotOptions.radialBar.hollow.position&&(r.add(c),g&&r.add(g));var f=!1;e.config.plotOptions.radialBar.inverseOrder&&(f=!0);for(var x=f?t.series.length-1:0;f?x>=0:x<t.series.length;f?x--:x++){var b=i.group({class:"apexcharts-series apexcharts-radial-series",seriesName:v.escapeString(e.globals.seriesNames[x])});r.add(b),b.attr({rel:x+1,"data:realIndex":x}),this.ctx.series.addCollapsedClassToSeries(b,x),t.size=t.size-n-this.margin;var m=a.fillPath({seriesNumber:x,size:t.size,value:t.series[x]}),y=this.startAngle,w=void 0,k=v.negToZero(t.series[x]>100?100:t.series[x])/100,A=Math.round(this.totalAngle*k)+this.startAngle,C=void 0;e.globals.dataChanged&&(w=this.startAngle,C=Math.round(this.totalAngle*v.negToZero(e.globals.previousPaths[x])/100)+w),Math.abs(A)+Math.abs(y)>360&&(A-=.01),Math.abs(C)+Math.abs(w)>360&&(C-=.01);var S=A-y,L=Array.isArray(e.config.stroke.dashArray)?e.config.stroke.dashArray[x]:e.config.stroke.dashArray,M=i.drawPath({d:"",stroke:m,strokeWidth:n,fill:"none",fillOpacity:e.config.fill.opacity,classes:"apexcharts-radialbar-area apexcharts-radialbar-slice-"+x,strokeDashArray:L});if(Mi.setAttrs(M.node,{"data:angle":S,"data:value":t.series[x]}),e.config.chart.dropShadow.enabled){var P=e.config.chart.dropShadow;s.dropShadow(M,P,x)}if(s.setSelectionFilter(M,0,x),this.addListeners(M,this.radialDataLabels),b.add(M),M.attr({index:0,j:x}),this.barLabels.enabled){var I=v.polarToCartesian(t.centerX,t.centerY,t.size,y),T=this.barLabels.formatter(e.globals.seriesNames[x],{seriesIndex:x,w:e}),z=["apexcharts-radialbar-label"];this.barLabels.onClick||z.push("apexcharts-no-click");var X=this.barLabels.useSeriesColors?e.globals.colors[x]:e.config.chart.foreColor;
vendor: 5,575 bytes, line 46395
46395X||(X=e.config.chart.foreColor);var R=I.x+this.barLabels.offsetX,E=I.y+this.barLabels.offsetY,Y=i.drawText({x:R,y:E,text:T,textAnchor:"end",dominantBaseline:"middle",fontFamily:this.barLabels.fontFamily,fontWeight:this.barLabels.fontWeight,fontSize:this.barLabels.fontSize,foreColor:X,cssClass:z.join(" ")});Y.on("click",this.onBarLabelClick),Y.attr({rel:x+1}),0!==y&&Y.attr({"transform-origin":"".concat(R," ").concat(E),transform:"rotate(".concat(y," 0 0)")}),b.add(Y)}var H=0;!this.initialAnim||e.globals.resized||e.globals.dataChanged||(H=e.config.chart.animations.speed),e.globals.dataChanged&&(H=e.config.chart.animations.dynamicAnimation.speed),this.animDur=H/(1.2*t.series.length)+this.animDur,this.animBeginArr.push(this.animDur),this.animatePaths(M,{centerX:t.centerX,centerY:t.centerY,endAngle:A,startAngle:y,prevEndAngle:C,prevStartAngle:w,size:t.size,i:x,totalItems:2,animBeginArr:this.animBeginArr,dur:H,shouldSetPrevPaths:!0})}return{g:r,elHollow:c,dataLabels:g}}},{key:"drawHollow",value:function(t){var e=new Mi(this.ctx).drawCircle(2*t.size);return e.attr({class:"apexcharts-radialbar-hollow",cx:t.centerX,cy:t.centerY,r:t.size,fill:t.fill}),e}},{key:"drawHollowImage",value:function(t,e,i,a){var s=this.w,r=new ji(this.ctx),n=v.randomId(),o=s.config.plotOptions.radialBar.hollow.image;if(s.config.plotOptions.radialBar.hollow.imageClipped)r.clippedImgArea({width:i,height:i,image:o,patternID:"pattern".concat(s.globals.cuid).concat(n)}),a="url(#pattern".concat(s.globals.cuid).concat(n,")");else{var l=s.config.plotOptions.radialBar.hollow.imageWidth,h=s.config.plotOptions.radialBar.hollow.imageHeight;if(void 0===l&&void 0===h){var c=s.globals.dom.Paper.image(o,(function(e){this.move(t.centerX-e.width/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-e.height/2+s.config.plotOptions.radialBar.hollow.imageOffsetY)}));e.add(c)}else{var d=s.globals.dom.Paper.image(o,(function(e){this.move(t.centerX-l/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-h/2+s.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(l,h)}));e.add(d)}}return a}},{key:"getStrokeWidth",value:function(t){var e=this.w;return t.size*(100-parseInt(e.config.plotOptions.radialBar.hollow.size,10))/100/(t.series.length+1)-this.margin}},{key:"onBarLabelClick",value:function(t){var e=parseInt(t.target.getAttribute("rel"),10)-1,i=this.barLabels.onClick,a=this.w;i&&i(a.globals.seriesNames[e],{w:a,seriesIndex:e})}}]),r}(Ea),Oa=function(t){h(a,t);var e=n(a);function a(){return i(this,a),e.apply(this,arguments)}return s(a,[{key:"draw",value:function(t,e){var i=this.w,a=new Mi(this.ctx);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=t,this.seriesRangeStart=i.globals.seriesRangeStart,this.seriesRangeEnd=i.globals.seriesRangeEnd,this.barHelpers.initVariables(t);for(var s=a.group({class:"apexcharts-rangebar-series apexcharts-plot-series"}),r=0;r<t.length;r++){var n,o,l,h,c=void 0,d=void 0,g=i.globals.comboCharts?e[r]:r,p=this.barHelpers.getGroupIndex(g).columnGroupIndex,f=a.group({class:"apexcharts-series",seriesName:v.escapeString(i.globals.seriesNames[g]),rel:r+1,"data:realIndex":g});this.ctx.series.addCollapsedClassToSeries(f,g),t[r].length>0&&(this.visibleI=this.visibleI+1);var x=0,b=0,m=0;this.yRatio.length>1&&(this.yaxisIndex=i.globals.seriesYAxisReverseMap[g][0],m=g);var y=this.barHelpers.initialPositions(g);d=y.y,h=y.zeroW,c=y.x,b=y.barWidth,x=y.barHeight,n=y.xDivision,o=y.yDivision,l=y.zeroH;for(var w=a.group({class:"apexcharts-datalabels","data:realIndex":g}),k=a.group({class:"apexcharts-rangebar-goals-markers"}),A=0;A<i.globals.dataPoints;A++){var C=this.barHelpers.getStrokeWidth(r,A,g),S=this.seriesRangeStart[r][A],L=this.seriesRangeEnd[r][A],M=null,P=null,I=null,T={x:c,y:d,strokeWidth:C,elSeries:f},z=this.seriesLen;if(i.config.plotOptions.bar.rangeBarGroupRows&&(z=1),void 0===i.config.series[r].data[A])break;if(this.isHorizontal){I=d+x*this.visibleI;var X=(o-x*z)/2;if(i.config.series[r].data[A].x){var R=this.detectOverlappingBars({i:r,j:A,barYPosition:I,srty:X,barHeight:x,yDivision:o,initPositions:y});x=R.barHeight,I=R.barYPosition}b=(M=this.drawRangeBarPaths(u({indexes:{i:r,j:A,realIndex:g},barHeight:x,barYPosition:I,zeroW:h,yDivision:o,y1:S,y2:L},T))).barWidth}else{i.globals.isXNumeric&&(c=(i.globals.seriesX[r][A]-i.globals.minX)/this.xRatio-b/2),P=c+b*this.visibleI;var E=(n-b*z)/2;if(i.config.series[r].data[A].x){var Y=this.detectOverlappingBars({i:r,j:A,barXPosition:P,srtx:E,barWidth:b,xDivision:n,initPositions:y});b=Y.barWidth,P=Y.barXPosition}x=(M=this.drawRangeColumnPaths(u({indexes:{i:r,j:A,realIndex:g,translationsIndex:m},barWidth:b,barXPosition:P,zeroH:l,xDivision:n},T))).barHeight}var H=this.barHelpers.drawGoalLine({barXPosition:M.barXPosition,barYPosition:I,goalX:M.goalX,goalY:M.goalY,barHeight:x,barWidth:b});H&&k.add(H),d=M.y,c=M.x;var O=this.barHelpers.getPathFillColor(t,r,A,g);this.renderSeries({realIndex:g,pathFill:O.color,lineFill:O.useRangeColor?O.color:i.globals.stroke.colors[g],j:A,i:r,x:c,y:d,y1:S,y2:L,pathFrom:M.pathFrom,pathTo:M.pathTo,strokeWidth:C,elSeries:f,series:t,barHeight:x,barWidth:b,barXPosition:P,barYPosition:I,columnGroupIndex:p,elDataLabelsWrap:w,elGoalsMarkers:k,visibleSeries:this.visibleI,type:"rangebar"})}s.add(f)}return s}},{key:"detectOverlappingBars",value:function(t){var e=t.i,i=t.j,a=t.barYPosition,s=t.barXPosition,r=t.srty,n=t.srtx,o=t.barHeight,l=t.barWidth,h=t.yDivision,c=t.xDivision,d=t.initPositions,u=this.w,g=[],p=u.config.series[e].data[i].rangeName,f=u.config.series[e].data[i].x,x=Array.isArray(f)?f.join(" "):f,b
46395=u.globals.labels.map((function(t){return Array.isArray(t)?t.join(" "):t})).indexOf(x),m=u.globals.seriesRange[e].findIndex((function(t){return t.x===x&&t.overlaps.length>0}));return this.isHorizontal?(a=u.config.plotOptions.bar.rangeBarGroupRows?r+h*b:r+o*this.visibleI+h*b,m>-1&&!u.config.plotOptions.bar.rangeBarOverlap&&(g=u.globals.seriesRange[e][m].overlaps).indexOf(p)>-1&&(a=(o=d.barHeight/g.length)*this.visibleI+h*(100-parseInt(this.barOptions.barHeight,10))/100/2+o*(this.visibleI+g.indexOf(p))+h*b)):(b>-1&&!u.globals.timescaleLabels.length&&(s=u.config.plotOptions.bar.rangeBarGroupRows?n+c*b:n+l*this.visibleI+c*b),m>-1&&!u.config.plotOptions.bar.rangeBarOverlap&&(g=u.globals.seriesRange[e][m].overlaps).indexOf(p)>-1&&(s=(l=d.barWidth/g.length)*this.visibleI+c*(100-parseInt(this.barOptions.barWidth,10))/100/2+l*(this.visibleI+g.indexOf(p))+c*b)),{barYPosition:a,barXPosition:s,barHeight:o,barWidth:l}}},{key:"drawRangeColumnPaths",value:function(t){var e=t.indexes,i=t.x,a=t.xDivision,s=t.barWidth,r=t.barXPosition,n=t.zeroH,o=this.w,l=e.i,h=e.j,c=e.realIndex,d=e.translationsIndex,u=this.yRatio[d],g=this.getRangeValue(c,h),p=Math.min(g.start,g.end),f=Math.max(g.start,g.end);void 0===this.series[l][h]||null===this.series[l][h]?p=n:(p=n-p/u,f=n-f/u);var x=Math.abs(f-p),b=this.barHelpers.getColumnPaths({barXPosition:r,barWidth:s,y1:p,y2:f,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:c,i:c,j:h,w:o});if(o.globals.isXNumeric){var m=this.getBarXForNumericXAxis({x:i,j:h,realIndex:c,barWidth:s});i=m.x,r=m.barXPosition}else i+=a;return{pathTo:b.pathTo,pathFrom:b.pathFrom,barHeight:x,x:i,y:g.start<0&&g.end<0?p:f,goalY:this.barHelpers.getGoalValues("y",null,n,l,h,d),barXPosition:r}}},{key:"preventBarOverflow",value:function(t){var e=this.w;return t<0&&(t=0),t>e.globals.gridWidth&&(t=e.globals.gridWidth),t}},{key:"drawRangeBarPaths",value:function(t){var e=t.indexes,i=t.y,a=t.y1,s=t.y2,r=t.yDivision,n=t.barHeight,o=t.barYPosition,l=t.zeroW,h=this.w,c=e.realIndex,d=e.j,u=this.preventBarOverflow(l+a/this.invertedYRatio),g=this.preventBarOverflow(l+s/this.invertedYRatio),p=this.getRangeValue(c,d),f=Math.abs(g-u),x=this.barHelpers.getBarpaths({barYPosition:o,barHeight:n,x1:u,x2:g,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:c,realIndex:c,j:d,w:h});return h.globals.isXNumeric||(i+=r),{pathTo:x.pathTo,pathFrom:x.pathFrom,barWidth:f,x:p.start<0&&p.end<0?u:g,goalX:this.barHelpers.getGoalValues("x",l,null,c,d),y:i}}},{key:"getRangeValue",value:function(t,e){var i=this.w;return{start:i.globals.seriesRangeStart[t][e],end:i.globals.seriesRangeEnd[t][e]}}}]),a}(Pa),Fa=function(){function t(e){i(this,t),this.w=e.w,this.lineCtx=e}return s(t,[{key:"sameValueSeriesFix",value:function(t,e){var i=this.w;if(("gradient"===i.config.fill.type||"gradient"===i.config.fill.type[t])&&new Pi(this.lineCtx.ctx,i).seriesHaveSameValues(t)){var a=e[t].slice();a[a.length-1]=a[a.length-1]+1e-6,e[t]=a}return e}},{key:"calculatePoints",value:function(t){var e=t.series,i=t.realIndex,a=t.x,s=t.y,r=t.i,n=t.j,o=t.prevY,l=this.w,h=[],c=[],d=this.lineCtx.categoryAxisCorrection+l.config.markers.offsetX;return l.globals.isXNumeric&&(d=(l.globals.seriesX[i][0]-l.globals.minX)/this.lineCtx.xRatio+l.config.markers.offsetX),0===n&&(h.push(d),c.push(v.isNumber(e[r][0])?o+l.config.markers.offsetY:null)),h.push(a+l.config.markers.offsetX),c.push(v.isNumber(e[r][n+1])?s+l.config.markers.offsetY:null),{x:h,y:c}}},{key:"checkPreviousPaths",value:function(t){for(var e=t.pathFromLine,i=t.pathFromArea,a=t.realIndex,s=this.w,r=0;r<s.globals.previousPaths.length;r++){var n=s.globals.previousPaths[r];("line"===n.type||"area"===n.type)&&n.paths.length>0&&parseInt(n.realIndex,10)===parseInt(a,10)&&("line"===n.type?(this.lineCtx.appendPathFrom=!1,e=s.globals.previousPaths[r].paths[0].d):"area"===n.type&&(this.lineCtx.appendPathFrom=!1,i=s.globals.previousPaths[r].paths[0].d,s.config.stroke.show&&s.globals.previousPaths[r].paths[1]&&(e=s.globals.previousPaths[r].paths[1].d)))}return{pathFromLine:e,pathFromArea:i}}},{key:"determineFirstPrevY",value:function(t){var e,i,a,s=t.i,r=t.realIndex,n=t.series,o=t.prevY,l=t.lineYPosition,h=t.translationsIndex,c=this.w,d=c.config.chart.stacked&&!c.globals.comboCharts||c.config.chart.stacked&&c.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||"bar"===(null===(e=this.w.config.series[r])||void 0===e?void 0:e.type)||"column"===(null===(i=this.w.config.series[r])||void 0===i?void 0:i.type));if(void 0!==(null===(a=n[s])||void 0===a?void 0:a[0]))o=(l=d&&s>0?this.lineCtx.prevSeriesY[s-1][0]:this.lineCtx.zeroY)-n[s][0]/this.lineCtx.yRatio[h]+2*(this.lineCtx.isReversed?n[s][0]/this.lineCtx.yRatio[h]:0);else if(d&&s>0&&void 0===n[s][0])for(var u=s-1;u>=0;u--)if(null!==n[u][0]&&void 0!==n[u][0]){o=l=this.lineCtx.prevSeriesY[u][0];break}return{prevY:o,lineYPosition:l}}}]),t}(),Da=function(t){for(var e,i,a,s,r=function(t){for(var e=[],i=t[0],a=t[1],s=e[0]=Wa(i,a),r=1,n=t.length-1;r<n;r++)i=a,a=t[r+1],e[r]=.5*(s+(s=Wa(i,a)));return e[r]=s,e}(t),n=t.length-1,o=[],l=0;l<n;l++)a=Wa(t[l],t[l+1]),Math.abs(a)<1e-6?r[l]=r[l+1]=0:(s=(e=r[l]/a)*e+(i=r[l+1]/a)*i)>9&&(s=3*a/Math.sqrt(s),r[l]=s*e,r[l+1]=s*i);for(var h=0;h<=n;h++)s=(t[Math.min(n,h+1)][0]-t[Math.max(0,h-1)][0])/(6*(1+r[h]*r[h])),o.push([s||0,r[h]*s||0]);return o},_a=function(t){var e=Da(t),i=t[1],a=t[0],s=[],r=e[1],n=e[0];s.push(a,[a[0]+n[0],a[1]+n[1],i[0]-r[0],i[1]-r[1],i[0],i[1]]);for(var o=2,l=e.length;o<l;o++){var h=t[o],c=e[o];s.push([h[0]-c[0],h[1]-c[1],h[0],h[1]])}return s}
vendor: 8,706 bytes, line 46395
46395,Na=function(t,e,i){var a=t.slice(e,i);if(e){if(i-e>1&&a[1].length<6){var s=a[0].length;a[1]=[2*a[0][s-2]-a[0][s-4],2*a[0][s-1]-a[0][s-3]].concat(a[1])}a[0]=a[0].slice(-2)}return a};function Wa(t,e){return(e[1]-t[1])/(e[0]-t[0])}var Ba=function(){function t(e,a,s){i(this,t),this.ctx=e,this.w=e.w,this.xyRatios=a,this.pointsChart=!("bubble"!==this.w.config.chart.type&&"scatter"!==this.w.config.chart.type)||s,this.scatter=new Ui(this.ctx),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.lineHelpers=new Fa(this),this.markers=new Vi(this.ctx),this.prevSeriesY=[],this.categoryAxisCorrection=0,this.yaxisIndex=0}return s(t,[{key:"draw",value:function(t,e,i,a){var s,r=this.w,n=new Mi(this.ctx),o=r.globals.comboCharts?e:r.config.chart.type,l=n.group({class:"apexcharts-".concat(o,"-series apexcharts-plot-series")}),h=new Pi(this.ctx,r);this.yRatio=this.xyRatios.yRatio,this.zRatio=this.xyRatios.zRatio,this.xRatio=this.xyRatios.xRatio,this.baseLineY=this.xyRatios.baseLineY,t=h.getLogSeries(t),this.yRatio=h.getLogYRatios(this.yRatio),this.prevSeriesY=[];for(var c=[],d=0;d<t.length;d++){t=this.lineHelpers.sameValueSeriesFix(d,t);var g=r.globals.comboCharts?i[d]:d,p=this.yRatio.length>1?g:0;this._initSerieVariables(t,d,g);var f=[],x=[],b=[],m=r.globals.padHorizontal+this.categoryAxisCorrection;this.ctx.series.addCollapsedClassToSeries(this.elSeries,g),r.globals.isXNumeric&&r.globals.seriesX.length>0&&(m=(r.globals.seriesX[g][0]-r.globals.minX)/this.xRatio),b.push(m);var v,y=m,w=void 0,k=y,A=this.zeroY,C=this.zeroY;A=this.lineHelpers.determineFirstPrevY({i:d,realIndex:g,series:t,prevY:A,lineYPosition:0,translationsIndex:p}).prevY,"monotoneCubic"===r.config.stroke.curve&&null===t[d][0]?f.push(null):f.push(A),v=A;"rangeArea"===o&&(w=C=this.lineHelpers.determineFirstPrevY({i:d,realIndex:g,series:a,prevY:C,lineYPosition:0,translationsIndex:p}).prevY,x.push(null!==f[0]?C:null));var S=this._calculatePathsFrom({type:o,series:t,i:d,realIndex:g,translationsIndex:p,prevX:k,prevY:A,prevY2:C}),L=[f[0]],M=[x[0]],P={type:o,series:t,realIndex:g,translationsIndex:p,i:d,x:m,y:1,pX:y,pY:v,pathsFrom:S,linePaths:[],areaPaths:[],seriesIndex:i,lineYPosition:0,xArrj:b,yArrj:f,y2Arrj:x,seriesRangeEnd:a},I=this._iterateOverDataPoints(u(u({},P),{},{iterations:"rangeArea"===o?t[d].length-1:void 0,isRangeStart:!0}));if("rangeArea"===o){for(var T=this._calculatePathsFrom({series:a,i:d,realIndex:g,prevX:k,prevY:C}),z=this._iterateOverDataPoints(u(u({},P),{},{series:a,xArrj:[m],yArrj:L,y2Arrj:M,pY:w,areaPaths:I.areaPaths,pathsFrom:T,iterations:a[d].length-1,isRangeStart:!1})),X=I.linePaths.length/2,R=0;R<X;R++)I.linePaths[R]=z.linePaths[R+X]+I.linePaths[R];I.linePaths.splice(X),I.pathFromLine=z.pathFromLine+I.pathFromLine}else I.pathFromArea+="z";this._handlePaths({type:o,realIndex:g,i:d,paths:I}),this.elSeries.add(this.elPointsMain),this.elSeries.add(this.elDataLabelsWrap),c.push(this.elSeries)}if(void 0!==(null===(s=r.config.series[0])||void 0===s?void 0:s.zIndex)&&c.sort((function(t,e){return Number(t.node.getAttribute("zIndex"))-Number(e.node.getAttribute("zIndex"))})),r.config.chart.stacked)for(var E=c.length-1;E>=0;E--)l.add(c[E]);else for(var Y=0;Y<c.length;Y++)l.add(c[Y]);return l}},{key:"_initSerieVariables",value:function(t,e,i){var a=this.w,s=new Mi(this.ctx);this.xDivision=a.globals.gridWidth/(a.globals.dataPoints-("on"===a.config.xaxis.tickPlacement?1:0)),this.strokeWidth=Array.isArray(a.config.stroke.width)?a.config.stroke.width[i]:a.config.stroke.width;var r=0;if(this.yRatio.length>1&&(this.yaxisIndex=a.globals.seriesYAxisReverseMap[i],r=i),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed,this.zeroY=a.globals.gridHeight-this.baseLineY[r]-(this.isReversed?a.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[r]:0),this.areaBottomY=this.zeroY,(this.zeroY>a.globals.gridHeight||"end"===a.config.plotOptions.area.fillTo)&&(this.areaBottomY=a.globals.gridHeight),this.categoryAxisCorrection=this.xDivision/2,this.elSeries=s.group({class:"apexcharts-series",zIndex:void 0!==a.config.series[i].zIndex?a.config.series[i].zIndex:i,seriesName:v.escapeString(a.globals.seriesNames[i])}),this.elPointsMain=s.group({class:"apexcharts-series-markers-wrap","data:realIndex":i}),a.globals.hasNullValues){var n=this.markers.plotChartMarkers({pointsPos:{x:[0],y:[a.globals.gridHeight+a.globals.markers.largestSize]},seriesIndex:e,j:0,pSize:.1,alwaysDrawMarker:!0,isVirtualPoint:!0});null!==n&&this.elPointsMain.add(n)}this.elDataLabelsWrap=s.group({class:"apexcharts-datalabels","data:realIndex":i});var o=t[e].length===a.globals.dataPoints;this.elSeries.attr({"data:longestSeries":o,rel:e+1,"data:realIndex":i}),this.appendPathFrom=!0}},{key:"_calculatePathsFrom",value:function(t){var e,i,a,s,r=t.type,n=t.series,o=t.i,l=t.realIndex,h=t.translationsIndex,c=t.prevX,d=t.prevY,u=t.prevY2,g=this.w,p=new Mi(this.ctx);if(null===n[o][0]){for(var f=0;f<n[o].length;f++)if(null!==n[o][f]){c=this.xDivision*f,d=this.zeroY-n[o][f]/this.yRatio[h],e=p.move(c,d),i=p.move(c,this.areaBottomY);break}}else e=p.move(c,d),"rangeArea"===r&&(e=p.move(c,u)+p.line(c,d)),i=p.move(c,this.areaBottomY)+p.line(c,d);if(a=p.move(0,this.areaBottomY)+p.line(0,this.areaBottomY),s=p.move(0,this.areaBottomY)+p.line(0,this.areaBottomY),g.globals.previousPaths.length>0){var x=this.lineHelpers.checkPreviousPaths({pathFromLine:a,pathFromArea:s,realIndex:l});a=x.pathFromLine,s=x.pathFromArea}return{prevX:c,prevY:d,linePath:e,areaPath:i,pathFromLine:a,pathFromArea:s}}},{key:"_handlePaths",value:function(t){var e=t.type,i=t.realIndex,a=t.i,s=t.paths,r=this.w,n=new Mi(this.ctx),o=new ji(this.ctx);this.prevSeriesY.push(s.yArrj),r.globals.seriesXvalues[i]=s.xArrj,r.globals.seriesYvalues[i]=s.yArrj;var l=r.config.forecastDataPoints;if(l.count>0&&"rangeArea"!==e){var h=r.globals.seriesXvalues[i][r.globals.seriesXvalues[i].length-l.count-1],c=n.drawRect(h,0,r.globals.gridWidth,r.globals.gridHeight,0);r.globals.dom.elForecastMask.appendChild(c.node);var d=n.drawRect(0,0,h,r.globals.gridHeight,0);r.globals.dom.elNonForecastMask.appendChild(d.node)}this.pointsChart||r.globals.delayedElements.push({el:this.elPointsMain.node,index:i});var g={i:a,realIndex:i,animationDelay:a,initialSpeed:r.config.chart.animations.speed,dataChangeSpeed:r.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(e)};if("area"===e)for(var p=o.fillPath({seriesNumber:i}),f=0;f<s.areaPaths.length;f++){var x=n.renderPaths(u(u({},g),{},{pathFrom:s.pathFromArea,pathTo:s.areaPaths[f],stroke:"none",strokeWidth:0,strokeLineCap:null,fill:p}));this.elSeries.add(x)}if(r.config.stroke.show&&!this.pointsChart){var b=null;if("line"===e)b=o.fillPath({seriesNumber:i,i:a});else if("solid"===r.config.stroke.fill.type)b=r.globals.stroke.colors[i];else{var m=r.config.fill;r.config.fill=r.config.stroke.fill,b=o.fillPath({seriesNumber:i,i:a}),r.config.fill=m}for(var v=0;v<s.linePaths.length;v++){var y=b;"rangeArea"===e&&(y=o.fillPath({seriesNumber:i}));var w=u(u({},g),{},{pathFrom:s.pathFromLine,pathTo:s.linePaths[v],stroke:b,strokeWidth:this.strokeWidth,strokeLineCap:r.config.stroke.lineCap,fill:"rangeArea"===e?y:"none"}),k=n.renderPaths(w);if(this.elSeries.add(k),k.attr("fill-rule","evenodd"),l.count>0&&"rangeArea"!==e){var A=n.renderPaths(w);A.node.setAttribute("stroke-dasharray",l.dashArray),l.strokeWidth&&A.node.setAttribute("stroke-width",l.strokeWidth),this.elSeries.add(A),A.attr("clip-path","url(#forecastMask".concat(r.globals.cuid,")")),k.attr("clip-path","url(#nonForecastMask".concat(r.globals.cuid,")"))}}}}},{key:"_iterateOverDataPoints",value:function(t){var e,i,a=this,s=t.type,r=t.series,n=t.iterations,o=t.realIndex,l=t.translationsIndex,h=t.i,c=t.x,d=t.y,u=t.pX,g=t.pY,p=t.pathsFrom,f=t.linePaths,x=t.areaPaths,b=t.seriesIndex,m=t.lineYPosition,y=t.xArrj,w=t.yArrj,k=t.y2Arrj,A=t.isRangeStart,C=t.seriesRangeEnd,S=this.w,L=new Mi(this.ctx),M=this.yRatio,P=p.prevY,I=p.linePath,T=p.areaPath,z=p.pathFromLine,X=p.pathFromArea,R=v.isNumber(S.globals.minYArr[o])?S.globals.minYArr[o]:S.globals.minY;n||(n=S.globals.dataPoints>1?S.globals.dataPoints-1:S.globals.dataPoints);var E=function(t,e){return e-t/M[l]+2*(a.isReversed?t/M[l]:0)},Y=d,H=S.config.chart.stacked&&!S.globals.comboCharts||S.config.chart.stacked&&S.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||"bar"===(null===(e=this.w.config.series[o])||void 0===e?void 0:e.type)||"column"===(null===(i=this.w.config.series[o])||void 0===i?void 0:i.type)),O=S.config.stroke.curve;Array.isArray(O)&&(O=Array.isArray(b)?O[b[h]]:O[h]);for(var F,D=0,_=0;_<n&&0!==r[h].length;_++){var N=void 0===r[h][_+1]||null===r[h][_+1];if(S.globals.isXNumeric){var W=S.globals.seriesX[o][_+1];
46395void 0===S.globals.seriesX[o][_+1]&&(W=S.globals.seriesX[o][n-1]),c=(W-S.globals.minX)/this.xRatio}else c+=this.xDivision;if(H)if(h>0&&S.globals.collapsedSeries.length<S.config.series.length-1){m=this.prevSeriesY[function(t){for(var e=t;e>0;e--){if(!(S.globals.collapsedSeriesIndices.indexOf((null==b?void 0:b[e])||e)>-1))return e;e--}return 0}(h-1)][_+1]}else m=this.zeroY;else m=this.zeroY;N?d=E(R,m):(d=E(r[h][_+1],m),"rangeArea"===s&&(Y=E(C[h][_+1],m))),y.push(null===r[h][_+1]?null:c),!N||"smooth"!==S.config.stroke.curve&&"monotoneCubic"!==S.config.stroke.curve?(w.push(d),k.push(Y)):(w.push(null),k.push(null));var B=this.lineHelpers.calculatePoints({series:r,x:c,y:d,realIndex:o,i:h,j:_,prevY:P}),G=this._createPaths({type:s,series:r,i:h,realIndex:o,j:_,x:c,y:d,y2:Y,xArrj:y,yArrj:w,y2Arrj:k,pX:u,pY:g,pathState:D,segmentStartX:F,linePath:I,areaPath:T,linePaths:f,areaPaths:x,curve:O,isRangeStart:A});x=G.areaPaths,f=G.linePaths,u=G.pX,g=G.pY,D=G.pathState,F=G.segmentStartX,T=G.areaPath,I=G.linePath,!this.appendPathFrom||S.globals.hasNullValues||"monotoneCubic"===O&&"rangeArea"===s||(z+=L.line(c,this.areaBottomY),X+=L.line(c,this.areaBottomY)),this.handleNullDataPoints(r,B,h,_,o),this._handleMarkersAndLabels({type:s,pointsPos:B,i:h,j:_,realIndex:o,isRangeStart:A})}return{yArrj:w,xArrj:y,pathFromArea:X,areaPaths:x,pathFromLine:z,linePaths:f,linePath:I,areaPath:T}}},{key:"_handleMarkersAndLabels",value:function(t){var e=t.type,i=t.pointsPos,a=t.isRangeStart,s=t.i,r=t.j,n=t.realIndex,o=this.w,l=new qi(this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,r,{realIndex:n,pointsPos:i,zRatio:this.zRatio,elParent:this.elPointsMain});else{o.globals.series[s].length>1&&this.elPointsMain.node.classList.add("apexcharts-element-hidden");var h=this.markers.plotChartMarkers({pointsPos:i,seriesIndex:n,j:r+1});null!==h&&this.elPointsMain.add(h)}var c=l.drawDataLabel({type:e,isRangeStart:a,pos:i,i:n,j:r+1});null!==c&&this.elDataLabelsWrap.add(c)}},{key:"_createPaths",value:function(t){var e=t.type,i=t.series,a=t.i;t.realIndex;var s,r=t.j,n=t.x,o=t.y,l=t.xArrj,h=t.yArrj,c=t.y2,d=t.y2Arrj,u=t.pX,g=t.pY,p=t.pathState,f=t.segmentStartX,x=t.linePath,b=t.areaPath,m=t.linePaths,v=t.areaPaths,y=t.curve,w=t.isRangeStart,k=new Mi(this.ctx),A=this.areaBottomY,C="rangeArea"===e,S="rangeArea"===e&&w;switch(y){case"monotoneCubic":var L=w?h:d;switch(p){case 0:if(null===L[r+1])break;p=1;case 1:if(!(C?l.length===i[a].length:r===i[a].length-2))break;case 2:var M=w?l:l.slice().reverse(),P=w?L:L.slice().reverse(),I=(s=P,M.map((function(t,e){return[t,s[e]]})).filter((function(t){return null!==t[1]}))),T=I.length>1?_a(I):I,z=[];C&&(S?v=I:z=v.reverse());var X=0,R=0;if(function(t,e){for(var i=function(t){var e=[],i=0;return t.forEach((function(t){null!==t?i++:i>0&&(e.push(i),i=0)})),i>0&&e.push(i),e}(t),a=[],s=0,r=0;s<i.length;r+=i[s++])a[s]=Na(e,r,r+i[s]);return a}(P,T).forEach((function(t){X++;var e=function(t){for(var e="",i=0;i<t.length;i++){var a=t[i],s=a.length;s>4?(e+="C".concat(a[0],", ").concat(a[1]),e+=", ".concat(a[2],", ").concat(a[3]),e+=", ".concat(a[4],", ").concat(a[5])):s>2&&(e+="S".concat(a[0],", ").concat(a[1]),e+=", ".concat(a[2],", ").concat(a[3]))}return e}(t),i=R,a=(R+=t.length)-1;S?x=k.move(I[i][0],I[i][1])+e:C?x=k.move(z[i][0],z[i][1])+k.line(I[i][0],I[i][1])+e+k.line(z[a][0],z[a][1]):(x=k.move(I[i][0],I[i][1])+e,b=x+k.line(I[a][0],A)+k.line(I[i][0],A)+"z",v.push(b)),m.push(x)})),C&&X>1&&!S){var E=m.slice(X).reverse();m.splice(X),E.forEach((function(t){return m.push(t)}))}p=0}break;case"smooth":var Y=.35*(n-u);if(null===i[a][r])p=0;else switch(p){case 0:if(f=u,x=S?k.move(u,d[r])+k.line(u,g):k.move(u,g),b=k.move(u,g),null===i[a][r+1]||void 0===i[a][r+1]){m.push(x),v.push(b);break}if(p=1,r<i[a].length-2){var H=k.curve(u+Y,g,n-Y,o,n,o);x+=H,b+=H;break}case 1:if(null===i[a][r+1])x+=S?k.line(u,c):k.move(u,g),b+=k.line(u,A)+k.line(f,A)+"z",m.push(x),v.push(b),p=-1;else{var O=k.curve(u+Y,g,n-Y,o,n,o);x+=O,b+=O,r>=i[a].length-2&&(S&&(x+=k.curve(n,o,n,o,n,c)+k.move(n,c)),b+=k.curve(n,o,n,o,n,A)+k.line(f,A)+"z",m.push(x),v.push(b),p=-1)}}u=n,g=o;break;
vendor: 13,261 bytes, line 46395
46395default:var F=function(t,e,i){var a=[];switch(t){case"stepline":a=k.line(e,null,"H")+k.line(null,i,"V");break;case"linestep":a=k.line(null,i,"V")+k.line(e,null,"H");break;case"straight":a=k.line(e,i)}return a};if(null===i[a][r])p=0;else switch(p){case 0:if(f=u,x=S?k.move(u,d[r])+k.line(u,g):k.move(u,g),b=k.move(u,g),null===i[a][r+1]||void 0===i[a][r+1]){m.push(x),v.push(b);break}if(p=1,r<i[a].length-2){var D=F(y,n,o);x+=D,b+=D;break}case 1:if(null===i[a][r+1])x+=S?k.line(u,c):k.move(u,g),b+=k.line(u,A)+k.line(f,A)+"z",m.push(x),v.push(b),p=-1;else{var _=F(y,n,o);x+=_,b+=_,r>=i[a].length-2&&(S&&(x+=k.line(n,c)),b+=k.line(n,A)+k.line(f,A)+"z",m.push(x),v.push(b),p=-1)}}u=n,g=o}return{linePaths:m,areaPaths:v,pX:u,pY:g,pathState:p,segmentStartX:f,linePath:x,areaPath:b}}},{key:"handleNullDataPoints",value:function(t,e,i,a,s){var r=this.w;if(null===t[i][a]&&r.config.markers.showNullDataPoints||1===t[i].length){var n=this.strokeWidth-r.config.markers.strokeWidth/2;n>0||(n=0);var o=this.markers.plotChartMarkers({pointsPos:e,seriesIndex:s,j:a+1,pSize:n,alwaysDrawMarker:!0});null!==o&&this.elPointsMain.add(o)}}}]),t}();window.TreemapSquared={},window.TreemapSquared.generate=function(){function t(e,i,a,s){this.xoffset=e,this.yoffset=i,this.height=s,this.width=a,this.shortestEdge=function(){return Math.min(this.height,this.width)},this.getCoordinates=function(t){var e,i=[],a=this.xoffset,s=this.yoffset,n=r(t)/this.height,o=r(t)/this.width;if(this.width>=this.height)for(e=0;e<t.length;e++)i.push([a,s,a+n,s+t[e]/n]),s+=t[e]/n;else for(e=0;e<t.length;e++)i.push([a,s,a+t[e]/o,s+o]),a+=t[e]/o;return i},this.cutArea=function(e){var i;if(this.width>=this.height){var a=e/this.height,s=this.width-a;i=new t(this.xoffset+a,this.yoffset,s,this.height)}else{var r=e/this.width,n=this.height-r;i=new t(this.xoffset,this.yoffset+r,this.width,n)}return i}}function e(e,a,s,n,o){n=void 0===n?0:n,o=void 0===o?0:o;var l=i(function(t,e){var i,a=[],s=e/r(t);for(i=0;i<t.length;i++)a[i]=t[i]*s;return a}(e,a*s),[],new t(n,o,a,s),[]);return function(t){var e,i,a=[];for(e=0;e<t.length;e++)for(i=0;i<t[e].length;i++)a.push(t[e][i]);return a}(l)}function i(t,e,s,n){var o,l,h;if(0!==t.length)return o=s.shortestEdge(),function(t,e,i){var s;if(0===t.length)return!0;(s=t.slice()).push(e);var r=a(t,i),n=a(s,i);return r>=n}(e,l=t[0],o)?(e.push(l),i(t.slice(1),e,s,n)):(h=s.cutArea(r(e),n),n.push(s.getCoordinates(e)),i(t,[],h,n)),n;n.push(s.getCoordinates(e))}function a(t,e){var i=Math.min.apply(Math,t),a=Math.max.apply(Math,t),s=r(t);return Math.max(Math.pow(e,2)*a/Math.pow(s,2),Math.pow(s,2)/(Math.pow(e,2)*i))}function s(t){return t&&t.constructor===Array}function r(t){var e,i=0;for(e=0;e<t.length;e++)i+=t[e];return i}function n(t){var e,i=0;if(s(t[0]))for(e=0;e<t.length;e++)i+=n(t[e]);else i=r(t);return i}return function t(i,a,r,o,l){o=void 0===o?0:o,l=void 0===l?0:l;var h,c,d=[],u=[];if(s(i[0])){for(c=0;c<i.length;c++)d[c]=n(i[c]);for(h=e(d,a,r,o,l),c=0;c<i.length;c++)u.push(t(i[c],h[c][2]-h[c][0],h[c][3]-h[c][1],h[c][0],h[c][1]))}else u=e(i,a,r,o,l);return u}}();var Ga=function(){function t(e,a){i(this,t),this.ctx=e,this.w=e.w,this.strokeWidth=this.w.config.stroke.width,this.helpers=new za(e),this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.labels=[]}return s(t,[{key:"draw",value:function(t){var e=this,i=this.w,a=new Mi(this.ctx),s=new ji(this.ctx),r=a.group({class:"apexcharts-treemap"});if(i.globals.noData)return r;var n=[];return t.forEach((function(t){var e=t.map((function(t){return Math.abs(t)}));n.push(e)})),this.negRange=this.helpers.checkColorRange(),i.config.series.forEach((function(t,i){t.data.forEach((function(t){Array.isArray(e.labels[i])||(e.labels[i]=[]),e.labels[i].push(t.x)}))})),window.TreemapSquared.generate(n,i.globals.gridWidth,i.globals.gridHeight).forEach((function(n,o){var l=a.group({class:"apexcharts-series apexcharts-treemap-series",seriesName:v.escapeString(i.globals.seriesNames[o]),rel:o+1,"data:realIndex":o});if(i.config.chart.dropShadow.enabled){var h=i.config.chart.dropShadow;new Li(e.ctx).dropShadow(r,h,o)}var c=a.group({class:"apexcharts-data-labels"}),d={xMin:1/0,yMin:1/0,xMax:-1/0,yMax:-1/0};n.forEach((function(r,n){var h=r[0],c=r[1],u=r[2],g=r[3];d.xMin=Math.min(d.xMin,h),d.yMin=Math.min(d.yMin,c),d.xMax=Math.max(d.xMax,u),d.yMax=Math.max(d.yMax,g);var p=e.helpers.getShadeColor(i.config.chart.type,o,n,e.negRange),f=p.color,x=s.fillPath({color:f,seriesNumber:o,dataPointIndex:n}),b=a.drawRect(h,c,u-h,g-c,i.config.plotOptions.treemap.borderRadius,"#fff",1,e.strokeWidth,i.config.plotOptions.treemap.useFillColorAsStroke?f:i.globals.stroke.colors[o]);b.attr({cx:h,cy:c,index:o,i:o,j:n,width:u-h,height:g-c,fill:x}),b.node.classList.add("apexcharts-treemap-rect"),e.helpers.addListeners(b);var m={x:h+(u-h)/2,y:c+(g-c)/2,width:0,height:0},v={x:h,y:c,width:u-h,height:g-c};if(i.config.chart.animations.enabled&&!i.globals.dataChanged){var y=1;i.globals.resized||(y=i.config.chart.animations.speed),e.animateTreemap(b,m,v,y)}if(i.globals.dataChanged){var w=1;e.dynamicAnim.enabled&&i.globals.shouldAnimate&&(w=e.dynamicAnim.speed,i.globals.previousPaths[o]&&i.globals.previousPaths[o][n]&&i.globals.previousPaths[o][n].rect&&(m=i.globals.previousPaths[o][n].rect),e.animateTreemap(b,m,v,w))}var k=e.getFontSize(r),A=i.config.dataLabels.formatter(e.labels[o][n],{value:i.globals.series[o][n],seriesIndex:o,dataPointIndex:n,w:i});"truncate"===i.config.plotOptions.treemap.dataLabels.format&&(k=parseInt(i.config.dataLabels.style.fontSize,10),A=e.truncateLabels(A,k,h,c,u,g));var C=null;i.globals.series[o][n]&&(C=e.helpers.calculateDataLabels({text:A,x:(h+u)/2,y:(c+g)/2+e.strokeWidth/2+k/3,i:o,j:n,colorProps:p,fontSize:k,series:t})),i.config.dataLabels.enabled&&C&&e.rotateToFitLabel(C,k,A,h,c,u,g),l.add(b),null!==C&&l.add(C)}));var u=i.config.plotOptions.treemap.seriesTitle;if(i.config.series.length>1&&u&&u.show){var g=i.config.series[o].name||"";if(g&&d.xMin<1/0&&d.yMin<1/0){var p=u.offsetX,f=u.offsetY,x=u.borderColor,b=u.borderWidth,m=u.borderRadius,y=u.style,w=y.color||i.config.chart.foreColor,k={left:y.padding.left,right:y.padding.right,top:y.padding.top,bottom:y.padding.bottom},A=a.getTextRects(g,y.fontSize,y.fontFamily),C=A.width+k.left+k.right,S=A.height+k.top+k.bottom,L=d.xMin+(p||0),M=d.yMin+(f||0),P=a.drawRect(L,M,C,S,m,y.background,1,b,x),I=a.drawText({x:L+k.left,y:M+k.top+.75*A.height,text:g,fontSize:y.fontSize,fontFamily:y.fontFamily,fontWeight:y.fontWeight,foreColor:w,cssClass:y.cssClass||""});l.add(P),l.add(I)}}l.add(c),r.add(l)})),r}},{key:"getFontSize",value:function(t){var e=this.w;var i=function t(e){var i,a=0;if(Array.isArray(e[0]))for(i=0;i<e.length;i++)a+=t(e[i]);else for(i=0;i<e.length;i++)a+=e[i].length;return a}(this.labels)/function t(e){var i,a=0;if(Array.isArray(e[0]))for(i=0;i<e.length;i++)a+=t(e[i]);else for(i=0;i<e.length;i++)a+=1;return a}(this.labels);return function(t,a){var s=t*a,r=Math.pow(s,.5);return Math.min(r/i,parseInt(e.config.dataLabels.style.fontSize,10))}(t[2]-t[0],t[3]-t[1])}},{key:"rotateToFitLabel",value:function(t,e,i,a,s,r,n){var o=new Mi(this.ctx),l=o.getTextRects(i,e);if(l.width+this.w.config.stroke.width+5>r-a&&l.width<=n-s){var h=o.rotateAroundCenter(t.node);t.node.setAttribute("transform","rotate(-90 ".concat(h.x," ").concat(h.y,") translate(").concat(l.height/3,")"))}}},{key:"truncateLabels",value:function(t,e,i,a,s,r){var n=new Mi(this.ctx),o=n.getTextRects(t,e).width+this.w.config.stroke.width+5>s-i&&r-a>s-i?r-a:s-i,l=n.getTextBasedOnMaxWidth({text:t,maxWidth:o,fontSize:e});return t.length!==l.length&&o/e<5?"":l}},{key:"animateTreemap",value:function(t,e,i,a){var s=new y(this.ctx);s.animateRect(t,e,i,a,(function(){s.animationCompleted(t)}))}}]),t}(),ja=86400,Va=10/ja,Ua=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.timeScaleArray=[],this.utc=this.w.config.xaxis.labels.datetimeUTC}return s(t,[{key:"calculateTimeScaleTicks",value:function(t,e){var i=this,a=this.w;if(a.globals.allSeriesCollapsed)return a.globals.labels=[],a.globals.timescaleLabels=[],[];var s=new zi(this.ctx),r=(e-t)/864e5;this.determineInterval(r),a.globals.disableZoomIn=!1,a.globals.disableZoomOut=!1,r<Va?a.globals.disableZoomIn=!0:r>5e4&&(a.globals.disableZoomOut=!0);var n=s.getTimeUnitsfromTimestamp(t,e,this.utc),o=a.globals.gridWidth/r,l=o/24,h=l/60,c=h/60,d=Math.floor(24*r),g=Math.floor(1440*r),p=Math.floor(r*ja),f=Math.floor(r),x=Math.floor(r/30),b=Math.floor(r/365),m={minMillisecond:n.minMillisecond,minSecond:n.minSecond,minMinute:n.minMinute,minHour:n.minHour,minDate:n.minDate,minMonth:n.minMonth,minYear:n.minYear},v={firstVal:m,currentMillisecond:m.minMillisecond,currentSecond:m.minSecond,currentMinute:m.minMinute,currentHour:m.minHour,currentMonthDate:m.minDate,currentDate:m.minDate,currentMonth:m.minMonth,currentYear:m.minYear,daysWidthOnXAxis:o,hoursWidthOnXAxis:l,minutesWidthOnXAxis:h,secondsWidthOnXAxis:c,numberOfSeconds:p,numberOfMinutes:g,numberOfHours:d,numberOfDays:f,numberOfMonths:x,numberOfYears:b};switch(this.tickInterval){case"years":this.generateYearScale(v);break;case"months":case"half_year":this.generateMonthScale(v);break;case"months_days":case"months_fortnight":case"days":case"week_days":this.generateDayScale(v);break;case"hours":this.generateHourScale(v);break;case"minutes_fives":case"minutes":this.generateMinuteScale(v);break;case"seconds_tens":case"seconds_fives":case"seconds":this.generateSecondScale(v)}var y=this.timeScaleArray.map((function(t){var e={position:t.position,unit:t.unit,year:t.year,day:t.day?t.day:1,hour:t.hour?t.hour:0,month:t.month+1};return"month"===t.unit?u(u({},e),{},{day:1,value:t.value+1}):"day"===t.unit||"hour"===t.unit?u(u({},e),{},{value:t.value}):"minute"===t.unit?u(u({},e),{},{value:t.value,minute:t.value}):"second"===t.unit?u(u({},e),{},{value:t.value,minute:t.minute,second:t.second}):t}));return y.filter((function(t){var e=1,s=Math.ceil(a.globals.gridWidth/120),r=t.value;void 0!==a.config.xaxis.tickAmount&&(s=a.config.xaxis.tickAmount),y.length>s&&(e=Math.floor(y.length/s));var n=!1,o=!1;switch(i.tickInterval){case"years":"year"===t.unit&&(n=!0);break;case"half_year":e=7,"year"===t.unit&&(n=!0);break;case"months":e=1,"year"===t.unit&&(n=!0);break;case"months_fortnight":e=15,"year"!==t.unit&&"month"!==t.unit||(n=!0),30===r&&(o=!0);break;case"months_days":e=10,"month"===t.unit&&(n=!0),30===r&&(o=!0);break;case"week_days":e=8,"month"===t.unit&&(n=!0);break;case"days":e=1,"month"===t.unit&&(n=!0);break;case"hours":"day"===t.unit&&(n=!0);break;case"minutes_fives":case"seconds_fives":r%5!=0&&(o=!0);break;case"seconds_tens":r%10!=0&&(o=!0)}if("hours"===i.tickInterval||"minutes_fives"===i.tickInterval||"seconds_tens"===i.tickInterval||"seconds_fives"===i.tickInterval){if(!o)return!0}else if((r%e==0||n)&&!o)return!0}))}},{key:"recalcDimensionsBasedOnFormat",value:function(t,e){var i=this.w,a=this.formatDates(t),s=this.removeOverlappingTS(a);i.globals.timescaleLabels=s.slice(),new pa(this.ctx).plotCoords()}},{key:"determineInterval",value:function(t){var e=24*t,i=60*e;switch(!0){case t/365>5:this.tickInterval="years";break;case t>800:this.tickInterval="half_year";break;case t>180:this.tickInterval="months";break;case t>90:this.tickInterval="months_fortnight";break;case t>60:this.tickInterval="months_days";break;case t>30:this.tickInterval="week_days";break;case t>2:this.tickInterval="days";break;case e>2.4:this.tickInterval="hours";break;case i>15:this.tickInterval="minutes_fives";break;case i>5:this.tickInterval="minutes";break;case i>1:this.tickInterval="seconds_tens";break;case 60*i>20:this.tickInterval="seconds_fives";break;default:this.tickInterval="seconds"}}},{key:"generateYearScale",value:function(t){var e=t.firstVal,i=t.currentMonth,a=t.currentYear,s=t.daysWidthOnXAxis,r=t.numberOfYears,n=e.minYear,o=0,l=new zi(this.ctx),h="year";if(e.minDate>1||e.minMonth>0){var c=l.determineRemainingDaysOfYear(e.minYear,e.minMonth,e.minDate);o=(l.determineDaysOfYear(e.minYear)-c+1)*s,n=e.minYear+1,this.timeScaleArray.push({position:o,value:n,unit:h,year:n,month:v.monthMod(i+1)})}else 1===e.minDate&&0===e.minMonth&&this.timeScaleArray.push({position:o,value:n,unit:h,year:a,month:v.monthMod(i+1)});for(var d=n,u=o,g=0;g<r;g++)d++,u=l.determineDaysOfYear(d-1)*s+u,this.timeScaleArray.push({position:u,value:d,unit:h,year:d,month:1})}},{key:"generateMonthScale",value:function(t){var e=t.firstVal,i=t.currentMonthDate,a=t.currentMonth,s=t.currentYear,r=t.daysWidthOnXAxis,n=t.numberOfMonths,o=a,l=0,h=new zi(this.ctx),c="month",d=0;if(e.minDate>1){l=(h.determineDaysOfMonths(a+1,e.minYear)-i+1)*r,o=v.monthMod(a+1);var u=s+d,g=v.monthMod(o),p=o;0===o&&(c="year",p=u,g=1,u+=d+=1),this.timeScaleArray.push({position:l,value:p,unit:c,year:u,month:g})}else this.timeScaleArray.push({position:l,value:o,unit:c,year:s,month:v.monthMod(a)});for(var f=o+1,x=l,b=0,m=1;b<n;b++,m++){0===(f=v.monthMod(f))?(c="year",d+=1):c="month";var y=this._getYear(s,f,d);x=h.determineDaysOfMonths(f,y)*r+x;var w=0===f?y:f;this.timeScaleArray.push({position:x,value:w,unit:c,year:y,month:0===f?1:f}),f++}}},{key:"generateDayScale",value:function(t){var e=t.firstVal,i=t.currentMonth,a=t.currentYear,s=t.hoursWidthOnXAxis,r=t.numberOfDays,n=new zi(this.ctx),o="day",l=e.minDate+1,h=l,c=function(t,e,
vendor: 4,831 bytes, line 46395
46395i){return t>n.determineDaysOfMonths(e+1,i)?(h=1,o="month",u=e+=1,e):e},d=(24-e.minHour)*s,u=l,g=c(h,i,a);0===e.minHour&&1===e.minDate?(d=0,u=v.monthMod(e.minMonth),o="month",h=e.minDate):1!==e.minDate&&0===e.minHour&&0===e.minMinute&&(d=0,l=e.minDate,u=l,g=c(h=l,i,a),1!==u&&(o="day")),this.timeScaleArray.push({position:d,value:u,unit:o,year:this._getYear(a,g,0),month:v.monthMod(g),day:h});for(var p=d,f=0;f<r;f++){o="day",g=c(h+=1,g,this._getYear(a,g,0));var x=this._getYear(a,g,0);p=24*s+p;var b=1===h?v.monthMod(g):h;this.timeScaleArray.push({position:p,value:b,unit:o,year:x,month:v.monthMod(g),day:b})}}},{key:"generateHourScale",value:function(t){var e=t.firstVal,i=t.currentDate,a=t.currentMonth,s=t.currentYear,r=t.minutesWidthOnXAxis,n=t.numberOfHours,o=new zi(this.ctx),l="hour",h=function(t,e){return t>o.determineDaysOfMonths(e+1,s)&&(f=1,e+=1),{month:e,date:f}},c=function(t,e){return t>o.determineDaysOfMonths(e+1,s)?e+=1:e},d=60-(e.minMinute+e.minSecond/60),u=d*r,g=e.minHour+1,p=g;60===d&&(u=0,p=g=e.minHour);var f=i;p>=24&&(p=0,l="day",g=f+=1);var x=h(f,a).month;x=c(f,x),g>31&&(g=f=1),this.timeScaleArray.push({position:u,value:g,unit:l,day:f,hour:p,year:s,month:v.monthMod(x)}),p++;for(var b=u,m=0;m<n;m++){if(l="hour",p>=24)p=0,l="day",x=h(f+=1,x).month,x=c(f,x);var y=this._getYear(s,x,0);b=60*r+b;var w=0===p?f:p;this.timeScaleArray.push({position:b,value:w,unit:l,hour:p,day:f,year:y,month:v.monthMod(x)}),p++}}},{key:"generateMinuteScale",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,n=t.currentMonth,o=t.currentYear,l=t.minutesWidthOnXAxis,h=t.secondsWidthOnXAxis,c=t.numberOfMinutes,d=a+1,u=r,g=n,p=o,f=s,x=(60-i-e/1e3)*h,b=0;b<c;b++)d>=60&&(d=0,24===(f+=1)&&(f=0)),this.timeScaleArray.push({position:x,value:d,unit:"minute",hour:f,minute:d,day:u,year:this._getYear(p,g,0),month:v.monthMod(g)}),x+=l,d++}},{key:"generateSecondScale",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,n=t.currentMonth,o=t.currentYear,l=t.secondsWidthOnXAxis,h=t.numberOfSeconds,c=i+1,d=a,u=r,g=n,p=o,f=s,x=(1e3-e)/1e3*l,b=0;b<h;b++)c>=60&&(c=0,++d>=60&&(d=0,24===++f&&(f=0))),this.timeScaleArray.push({position:x,value:c,unit:"second",hour:f,minute:d,second:c,day:u,year:this._getYear(p,g,0),month:v.monthMod(g)}),x+=l,c++}},{key:"createRawDateString",value:function(t,e){var i=t.year;return 0===t.month&&(t.month=1),i+="-"+("0"+t.month.toString()).slice(-2),"day"===t.unit?i+="day"===t.unit?"-"+("0"+e).slice(-2):"-01":i+="-"+("0"+(t.day?t.day:"1")).slice(-2),"hour"===t.unit?i+="hour"===t.unit?"T"+("0"+e).slice(-2):"T00":i+="T"+("0"+(t.hour?t.hour:"0")).slice(-2),"minute"===t.unit?i+=":"+("0"+e).slice(-2):i+=":"+(t.minute?("0"+t.minute).slice(-2):"00"),"second"===t.unit?i+=":"+("0"+e).slice(-2):i+=":00",this.utc&&(i+=".000Z"),i}},{key:"formatDates",value:function(t){var e=this,i=this.w;return t.map((function(t){var a=t.value.toString(),s=new zi(e.ctx),r=e.createRawDateString(t,a),n=s.getDate(s.parseDate(r));if(e.utc||(n=s.getDate(s.parseDateWithTimezone(r))),void 0===i.config.xaxis.labels.format){var o="dd MMM",l=i.config.xaxis.labels.datetimeFormatter;"year"===t.unit&&(o=l.year),"month"===t.unit&&(o=l.month),"day"===t.unit&&(o=l.day),"hour"===t.unit&&(o=l.hour),"minute"===t.unit&&(o=l.minute),"second"===t.unit&&(o=l.second),a=s.formatDate(n,o)}else a=s.formatDate(n,i.config.xaxis.labels.format);return{dateString:r,position:t.position,value:a,unit:t.unit,year:t.year,month:t.month}}))}},{key:"removeOverlappingTS",value:function(t){var e,i=this,a=new Mi(this.ctx),s=!1;t.length>0&&t[0].value&&t.every((function(e){return e.value.length===t[0].value.length}))&&(s=!0,e=a.getTextRects(t[0].value).width);var r=0,n=t.map((function(n,o){if(o>0&&i.w.config.xaxis.labels.hideOverlappingLabels){var l=s?e:a.getTextRects(t[r].value).width,h=t[r].position;return n.position>h+l+10?(r=o,n):null}return n}));return n=n.filter((function(t){return null!==t}))}},{key:"_getYear",value:function(t,e,i){return t+Math.floor(e/12)+i}}]),t}(),qa=function(){function t(e,a){i(this,t),this.ctx=a,this.w=a.w,this.el=e}return s(t,[{key:"setupElements",value:function(){var t=this.w,e=t.globals,i=t.config,a=i.chart.type;e.axisCharts=["line","area","bar","rangeBar","rangeArea","candlestick","boxPlot","scatter","bubble","radar","heatmap","treemap"].includes(a),e.xyCharts=["line","area","bar","rangeBar","rangeArea","candlestick","boxPlot","scatter","bubble"].includes(a),e.isBarHorizontal=["bar","rangeBar","boxPlot"].includes(a)&&i.plotOptions.bar.horizontal,e.chartClass=".apexcharts".concat(e.chartID),e.dom.baseEl=this.el,e.dom.elWrap=document.createElement("div"),Mi.setAttrs(e.dom.elWrap,{id:e.chartClass.substring(1),class:"apexcharts-canvas ".concat(e.chartClass.substring(1))}
vendor: 6,975 bytes, line 46395
46395),this.el.appendChild(e.dom.elWrap),e.dom.Paper=window.SVG().addTo(e.dom.elWrap),e.dom.Paper.attr({class:"apexcharts-svg","xmlns:data":"ApexChartsNS",transform:"translate(".concat(i.chart.offsetX,", ").concat(i.chart.offsetY,")")}),e.dom.Paper.node.style.background="dark"!==i.theme.mode||i.chart.background?"light"!==i.theme.mode||i.chart.background?i.chart.background:"#fff":"#343A3F",this.setSVGDimensions(),e.dom.elLegendForeign=document.createElementNS(e.SVGNS,"foreignObject"),Mi.setAttrs(e.dom.elLegendForeign,{x:0,y:0,width:e.svgWidth,height:e.svgHeight}),e.dom.elLegendWrap=document.createElement("div"),e.dom.elLegendWrap.classList.add("apexcharts-legend"),e.dom.elWrap.appendChild(e.dom.elLegendWrap),e.dom.Paper.node.appendChild(e.dom.elLegendForeign),e.dom.elGraphical=e.dom.Paper.group().attr({class:"apexcharts-inner apexcharts-graphical"}),e.dom.elDefs=e.dom.Paper.defs(),e.dom.Paper.add(e.dom.elGraphical),e.dom.elGraphical.add(e.dom.elDefs)}},{key:"plotChartType",value:function(t,e){var i=this.w,a=this.ctx,s=i.config,r=i.globals,n={line:{series:[],i:[]},area:{series:[],i:[]},scatter:{series:[],i:[]},bubble:{series:[],i:[]},bar:{series:[],i:[]},candlestick:{series:[],i:[]},boxPlot:{series:[],i:[]},rangeBar:{series:[],i:[]},rangeArea:{series:[],seriesRangeEnd:[],i:[]}},o=s.chart.type||"line",l=null,h=0;r.series.forEach((function(e,a){var s="column"===t[a].type?"bar":t[a].type||("column"===o?"bar":o);n[s]?("rangeArea"===s?(n[s].series.push(r.seriesRangeStart[a]),n[s].seriesRangeEnd.push(r.seriesRangeEnd[a])):n[s].series.push(e),n[s].i.push(a),"bar"===s&&(i.globals.columnSeries=n.bar)):["heatmap","treemap","pie","donut","polarArea","radialBar","radar"].includes(s)?l=s:console.warn("You have specified an unrecognized series type (".concat(s,").")),o!==s&&"scatter"!==s&&h++})),h>0&&(l&&console.warn("Chart or series type ".concat(l," cannot appear with other chart or series types.")),n.bar.series.length>0&&s.plotOptions.bar.horizontal&&(h-=n.bar.series.length,n.bar={series:[],i:[]},i.globals.columnSeries={series:[],i:[]},console.warn("Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`"))),r.comboCharts||(r.comboCharts=h>0);var c=new Ba(a,e),d=new Ta(a,e);a.pie=new Ea(a);var u=new Ha(a);a.rangeBar=new Oa(a,e);var g=new Ya(a),p=[];if(r.comboCharts){var x,b,m=new Pi(a);if(n.area.series.length>0)(x=p).push.apply(x,f(m.drawSeriesByGroup(n.area,r.areaGroups,"area",c)));if(n.bar.series.length>0)if(s.chart.stacked){var v=new Ia(a,e);p.push(v.draw(n.bar.series,n.bar.i))}else a.bar=new Pa(a,e),p.push(a.bar.draw(n.bar.series,n.bar.i));if(n.rangeArea.series.length>0&&p.push(c.draw(n.rangeArea.series,"rangeArea",n.rangeArea.i,n.rangeArea.seriesRangeEnd)),n.line.series.length>0)(b=p).push.apply(b,f(m.drawSeriesByGroup(n.line,r.lineGroups,"line",c)));if(n.candlestick.series.length>0&&p.push(d.draw(n.candlestick.series,"candlestick",n.candlestick.i)),n.boxPlot.series.length>0&&p.push(d.draw(n.boxPlot.series,"boxPlot",n.boxPlot.i)),n.rangeBar.series.length>0&&p.push(a.rangeBar.draw(n.rangeBar.series,n.rangeBar.i)),n.scatter.series.length>0){var y=new Ba(a,e,!0);p.push(y.draw(n.scatter.series,"scatter",n.scatter.i))}if(n.bubble.series.length>0){var w=new Ba(a,e,!0);p.push(w.draw(n.bubble.series,"bubble",n.bubble.i))}}else switch(s.chart.type){case"line":p=c.draw(r.series,"line");break;case"area":p=c.draw(r.series,"area");break;case"bar":if(s.chart.stacked)p=new Ia(a,e).draw(r.series);else a.bar=new Pa(a,e),p=a.bar.draw(r.series);break;case"candlestick":p=new Ta(a,e).draw(r.series,"candlestick");break;case"boxPlot":p=new Ta(a,e).draw(r.series,s.chart.type);break;case"rangeBar":p=a.rangeBar.draw(r.series);break;case"rangeArea":p=c.draw(r.seriesRangeStart,"rangeArea",void 0,r.seriesRangeEnd);break;case"heatmap":p=new Xa(a,e).draw(r.series);break;case"treemap":p=new Ga(a,e).draw(r.series);break;case"pie":case"donut":case"polarArea":p=a.pie.draw(r.series);break;case"radialBar":p=u.draw(r.series);break;case"radar":p=g.draw(r.series);break;default:p=c.draw(r.series)}return p}},{key:"setSVGDimensions",value:function(){var t=this.w,e=t.globals,i=t.config;i.chart.width=i.chart.width||"100%",i.chart.height=i.chart.height||"auto",e.svgWidth=i.chart.width,e.svgHeight=i.chart.height;var a=v.getDimensions(this.el),s=i.chart.width.toString().split(/[0-9]+/g).pop();"%"===s?v.isNumber(a[0])&&(0===a[0].width&&(a=v.getDimensions(this.el.parentNode)),e.svgWidth=a[0]*parseInt(i.chart.width,10)/100):"px"!==s&&""!==s||(e.svgWidth=parseInt(i.chart.width,10));var r=String(i.chart.height).toString().split(/[0-9]+/g).pop();if("auto"!==e.svgHeight&&""!==e.svgHeight)if("%"===r){var n=v.getDimensions(this.el.parentNode);e.svgHeight=n[1]*parseInt(i.chart.height,10)/100}else e.svgHeight=parseInt(i.chart.height,10);else e.svgHeight=e.axisCharts?e.svgWidth/1.61:e.svgWidth/1.2;if(e.svgWidth=Math.max(e.svgWidth,0),e.svgHeight=Math.max(e.svgHeight,0),Mi.setAttrs(e.dom.Paper.node,{width:e.svgWidth,height:e.svgHeight}),"%"!==r){var o=i.chart.sparkline.enabled?0:e.axisCharts?i.chart.parentHeightOffset:0;e.dom.Paper.node.parentNode.parentNode.style.minHeight="".concat(e.svgHeight+o,"px")}e.dom.elWrap.style.width="".concat(e.svgWidth,"px"),e.dom.elWrap.style.height="".concat(e.svgHeight,"px")}},{key:"shiftGraphPosition",value:function(){var t=this.w.globals,e=t.translateY,i=t.translateX;Mi.setAttrs(t.dom.elGraphical.node,{transform:"translate(".concat(i,", ").concat(e,")")})}},{key:"resizeNonAxisCharts",value:function(){var t=this.w,e=t.globals,i=0,a=t.config.chart.sparkline.enabled?1:15;a+=t.config.grid.padding.bottom,["top","bottom"].includes(t.config.legend.position)&&t.config.legend.show&&!t.config.legend.floating&&(i=new xa(this.ctx).legendHelpers.getLegendDimensions().clwh+7);var s=t.globals.dom.baseEl.querySelector(".apexcharts-radialbar, .apexcharts-pie"),r=2.05*t.globals.radialSize;if(s&&!t.config.chart.sparkline.enabled&&0!==t.config.plotOptions.radialBar.startAngle){var n=v.getBoundingClientRect(s);r=n.bottom;var o=n.bottom-n.top;r=Math.max(2.05*t.globals.radialSize,o)}var l=Math.ceil(r+e.translateY+i+a);e.dom.elLegendForeign&&e.dom.elLegendForeign.setAttribute("height",l),t.config.chart.height&&String(t.config.chart.height).includes("%")||(e.dom.elWrap.style.height="".concat(l,"px"),Mi.setAttrs(e.dom.Paper.node,{height:l}),e.dom.Paper.node.parentNode.parentNode.style.minHeight="".concat(l,"px"))}},{key:"coreCalculations",value:function(){new ea(this.ctx).init()}},{key:"resetGlobals",value:function(){var t=this,e=function(){return t.w.config.series.map((function(){return[]}))},i=new Bi,a=this.w.globals;i.initGlobalVars(a),a.seriesXvalues=e(),a.seriesYvalues=e()}},{key:"isMultipleY",value:function(){return!!(Array.isArray(this.w.config.yaxis)&&this.w.config.yaxis.length>1)&&(this.w.globals.isMultipleYAxis=!0,!0)}},{key:"xySettings",value:function(){var t=this.w,e=null;if(t.globals.axisCharts){if("back"===t.config.xaxis.crosshairs.position&&new n
vendor: 7,432 bytes, line 46395
46395a(this.ctx).drawXCrosshairs(),"back"===t.config.yaxis[0].crosshairs.position&&new na(this.ctx).drawYCrosshairs(),"datetime"===t.config.xaxis.type&&void 0===t.config.xaxis.labels.formatter){this.ctx.timeScale=new Ua(this.ctx);var i=[];isFinite(t.globals.minX)&&isFinite(t.globals.maxX)&&!t.globals.isBarHorizontal?i=this.ctx.timeScale.calculateTimeScaleTicks(t.globals.minX,t.globals.maxX):t.globals.isBarHorizontal&&(i=this.ctx.timeScale.calculateTimeScaleTicks(t.globals.minY,t.globals.maxY)),this.ctx.timeScale.recalcDimensionsBasedOnFormat(i)}e=new Pi(this.ctx).getCalculatedRatios()}return e}},{key:"updateSourceChart",value:function(t){this.ctx.w.globals.selection=void 0,this.ctx.updateHelpers._updateOptions({chart:{selection:{xaxis:{min:t.w.globals.minX,max:t.w.globals.maxX}}}},!1,!1)}},{key:"setupBrushHandler",value:function(){var t=this,e=this.ctx,i=this.w;if(i.config.chart.brush.enabled&&"function"!=typeof i.config.chart.events.selection){var a=Array.isArray(i.config.chart.brush.targets)?i.config.chart.brush.targets:[i.config.chart.brush.target];a.forEach((function(i){var a=e.constructor.getChartByID(i);a.w.globals.brushSource=t.ctx,"function"!=typeof a.w.config.chart.events.zoomed&&(a.w.config.chart.events.zoomed=function(){return t.updateSourceChart(a)}),"function"!=typeof a.w.config.chart.events.scrolled&&(a.w.config.chart.events.scrolled=function(){return t.updateSourceChart(a)})})),i.config.chart.events.selection=function(t,i){a.forEach((function(t){e.constructor.getChartByID(t).ctx.updateHelpers._updateOptions({xaxis:{min:i.xaxis.min,max:i.xaxis.max}},!1,!1,!1,!1)}))}}}}]),t}(),Za=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"_updateOptions",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return new Promise((function(n){var o=[e.ctx];s&&(o=e.ctx.getSyncedCharts()),e.ctx.w.globals.isExecCalled&&(o=[e.ctx],e.ctx.w.globals.isExecCalled=!1),o.forEach((function(s,l){var h=s.w;if(h.globals.shouldAnimate=a,i||(h.globals.resized=!0,h.globals.dataChanged=!0,a&&s.series.getPreviousPaths()),t&&"object"===b(t)&&(s.config=new Wi(t),t=Pi.extendArrayProps(s.config,t,h),s.w.globals.chartID!==e.ctx.w.globals.chartID&&delete t.series,h.config=v.extend(h.config,t),r&&(h.globals.lastXAxis=t.xaxis?v.clone(t.xaxis):[],h.globals.lastYAxis=t.yaxis?v.clone(t.yaxis):[],h.globals.initialConfig=v.extend({},h.config),h.globals.initialSeries=v.clone(h.config.series),t.series))){for(var c=0;c<h.globals.collapsedSeriesIndices.length;c++){var d=h.config.series[h.globals.collapsedSeriesIndices[c]];h.globals.collapsedSeries[c].data=h.globals.axisCharts?d.data.slice():d}for(var u=0;u<h.globals.ancillaryCollapsedSeriesIndices.length;u++){var g=h.config.series[h.globals.ancillaryCollapsedSeriesIndices[u]];h.globals.ancillaryCollapsedSeries[u].data=h.globals.axisCharts?g.data.slice():g}s.series.emptyCollapsedSeries(h.config.series)}return s.update(t).then((function(){l===o.length-1&&n(s)}))}))}))}},{key:"_updateSeries",value:function(t,e){var i=this,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return new Promise((function(s){var r,n=i.w;return n.globals.shouldAnimate=e,n.globals.dataChanged=!0,e&&i.ctx.series.getPreviousPaths(),n.globals.axisCharts?(0===(r=t.map((function(t,e){return i._extendSeries(t,e)}))).length&&(r=[{data:[]}]),n.config.series=r):n.config.series=t.slice(),a&&(n.globals.initialConfig.series=v.clone(n.config.series),n.globals.initialSeries=v.clone(n.config.series)),i.ctx.update().then((function(){s(i.ctx)}))}))}},{key:"_extendSeries",value:function(t,e){var i=this.w,a=i.config.series[e];return u(u({},i.config.series[e]),{},{name:t.name?t.name:null==a?void 0:a.name,color:t.color?t.color:null==a?void 0:a.color,type:t.type?t.type:null==a?void 0:a.type,group:t.group?t.group:null==a?void 0:a.group,hidden:void 0!==t.hidden?t.hidden:null==a?void 0:a.hidden,data:t.data?t.data:null==a?void 0:a.data,zIndex:void 0!==t.zIndex?t.zIndex:e})}},{key:"toggleDataPointSelection",value:function(t,e){var i=this.w,a=null,s=".apexcharts-series[data\\:realIndex='".concat(t,"']");return i.globals.axisCharts?a=i.globals.dom.Paper.findOne("".concat(s," path[j='").concat(e,"'], ").concat(s," circle[j='").concat(e,"'], ").concat(s," rect[j='").concat(e,"']")):void 0===e&&(a=i.globals.dom.Paper.findOne("".concat(s," path[j='").concat(t,"']")),"pie"!==i.config.chart.type&&"polarArea"!==i.config.chart.type&&"donut"!==i.config.chart.type||this.ctx.pie.pieClicked(t)),a?(new Mi(this.ctx).pathMouseDown(a,null),a.node?a.node:null):(console.warn("toggleDataPointSelection: Element not found"),null)}},{key:"forceXAxisUpdate",value:function(t){var e=this.w;if(["min","max"].forEach((function(i){void 0!==t.xaxis[i]&&(e.config.xaxis[i]=t.xaxis[i],e.globals.lastXAxis[i]=t.xaxis[i])})),t.xaxis.categories&&t.xaxis.categories.length&&(e.config.xaxis.categories=t.xaxis.categories),e.config.xaxis.convertedCatToNumeric){var i=new Ni(t);t=i.convertCatToNumericXaxis(t,this.ctx)}return t}},{key:"forceYAxisUpdate",value:function(t){return t.chart&&t.chart.stacked&&"100%"===t.chart.stackType&&(Array.isArray(t.yaxis)?t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})):(t.yaxis.min=0,t.yaxis.max=100)),t}},{key:"revertDefaultAxisMinMax",value:function(t){var e=this,i=this.w,a=i.globals.lastXAxis,s=i.globals.lastYAxis;t&&t.xaxis&&(a=t.xaxis),t&&t.yaxis&&(s=t.yaxis),i.config.xaxis.min=a.min,i.config.xaxis.max=a.max;var r=function(t){void 0!==s[t]&&(i.config.yaxis[t].min=s[t].min,i.config.yaxis[t].max=s[t].max)};i.config.yaxis.map((function(t,a){i.globals.zoomed||void 0!==s[a]?r(a):void 0!==e.ctx.opts.yaxis[a]&&(t.min=e.ctx.opts.yaxis[a].min,t.max=e.ctx.opts.yaxis[a].max)}))}}]),t}();!function(){function t(){for(var t=arguments.length>0&&arguments[0]!==h?arguments[0]:[],s=arguments.length>1?arguments[1]:h,r=arguments.length>2?arguments[2]:h,n=arguments.length>3?arguments[3]:h,o=arguments.length>4?arguments[4]:h,l=arguments.length>5?arguments[5]:h,h=arguments.length>6?arguments[6]:h,c=t.slice(s,r||h),d=n.slice(o,l||h),u=0,g={pos:[0,0],start:[0,0]},p={pos:[0,0],start:[0,0]};;){if(c[u]=e.call(g,c[u]),d[u]=e.call(p,d[u]),c[u][0]!=d[u][0]||"M"==c[u][0]||"A"==c[u][0]&&(c[u][4]!=d[u][4]||c[u][5]!=d[u][5])?(Array.prototype.splice.apply(c,[u,1].concat(a.call(g,c[u]))),Array.prototype.splice.apply(d,[u,1].concat(a.call(p,d[u])))):(c[u]=i.call(g,c[u]),d[u]=i.call(p,d[u])),++u==c.length&&u==d.length)break;u==c.length&&c.push(["C",g.pos[0],g.pos[1],g.pos[0],g.pos[1],g.pos[0],g.pos[1]]),u==d.length&&d.push(["C",p.pos[0],p.pos[1],p.pos[0],p.pos[1],p.pos[0],p.pos[1]])}return{start:c,dest:d}}function e(t){switch(t[0]){case"z":case"Z":t[0]="L",t[1]=this.start[0],t[2]=this.start[1];break;case"H":t[0]="L",t[2]=this.pos[1];break;case"V":t[0]="L",t[2]=t[1],t[1]=this.pos[0];break;case"T":t[0]="Q",t[3]=t[1],t[4]=t[2],t[1]=this.reflection[1],t[2]=this.reflection[0];break;case"S":t[0]="C",t[6]=t[4],t[5]=t[3],t[4]=t[2],t[3]=t[1],t[2]=this.reflection[1],t[1]=this.reflection[0]}return t}function i(t){var e=t.length;return this.pos=[t[e-2],t[e-1]],-1!="SCQT".indexOf(t[0])&&(this.reflection=[2*this.pos[0]-t[e-4],2*this.pos[1]-t[e-3]]),t}function a(t){var e=[t];switch(t[0]){case"M":return this.pos=this.start=[t[1],t[2]],e;
vendor: 18,941 bytes, lines 46395-46427
46395case"L":t[5]=t[3]=t[1],t[6]=t[4]=t[2],t[1]=this.pos[0],t[2]=this.pos[1];break;case"Q":t[6]=t[4],t[5]=t[3],t[4]=1*t[4]/3+2*t[2]/3,t[3]=1*t[3]/3+2*t[1]/3,t[2]=1*this.pos[1]/3+2*t[2]/3,t[1]=1*this.pos[0]/3+2*t[1]/3;break;case"A":e=function(t,e){var i,a,s,r,n,o,l,h,c,d,u,g,p,f,x,b,m,v,y,w,k,A,C,S,L,M,P=Math.abs(e[1]),I=Math.abs(e[2]),T=e[3]%360,z=e[4],X=e[5],R=e[6],E=e[7],Y=new bt(t),H=new bt(R,E),O=[];if(0===P||0===I||Y.x===H.x&&Y.y===H.y)return[["C",Y.x,Y.y,H.x,H.y,H.x,H.y]];i=new bt((Y.x-H.x)/2,(Y.y-H.y)/2).transform((new vt).rotate(T)),a=i.x*i.x/(P*P)+i.y*i.y/(I*I),a>1&&(P*=a=Math.sqrt(a),I*=a);s=(new vt).rotate(T).scale(1/P,1/I).rotate(-T),Y=Y.transform(s),H=H.transform(s),r=[H.x-Y.x,H.y-Y.y],o=r[0]*r[0]+r[1]*r[1],n=Math.sqrt(o),r[0]/=n,r[1]/=n,l=o<4?Math.sqrt(1-o/4):0,z===X&&(l*=-1);h=new bt((H.x+Y.x)/2+l*-r[1],(H.y+Y.y)/2+l*r[0]),c=new bt(Y.x-h.x,Y.y-h.y),d=new bt(H.x-h.x,H.y-h.y),u=Math.acos(c.x/Math.sqrt(c.x*c.x+c.y*c.y)),c.y<0&&(u*=-1);g=Math.acos(d.x/Math.sqrt(d.x*d.x+d.y*d.y)),d.y<0&&(g*=-1);X&&u>g&&(g+=2*Math.PI);!X&&u<g&&(g-=2*Math.PI);for(f=Math.ceil(2*Math.abs(u-g)/Math.PI),b=[],m=u,p=(g-u)/f,x=4*Math.tan(p/4)/3,k=0;k<=f;k++)y=Math.cos(m),v=Math.sin(m),w=new bt(h.x+y,h.y+v),b[k]=[new bt(w.x+x*v,w.y-x*y),w,new bt(w.x-x*v,w.y+x*y)],m+=p;for(b[0][0]=b[0][1].clone(),b[b.length-1][2]=b[b.length-1][1].clone(),s=(new vt).rotate(T).scale(P,I).rotate(-T),k=0,A=b.length;k<A;k++)b[k][0]=b[k][0].transform(s),b[k][1]=b[k][1].transform(s),b[k][2]=b[k][2].transform(s);for(k=1,A=b.length;k<A;k++)C=(w=b[k-1][2]).x,S=w.y,L=(w=b[k][0]).x,M=w.y,R=(w=b[k][1]).x,E=w.y,O.push(["C",C,S,L,M,R,E]);return O}(this.pos,t),t=e[0]}return t[0]="C",this.pos=[t[5],t[6]],this.reflection=[2*t[5]-t[3],2*t[6]-t[4]],e}function s(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1?arguments[1]:void 0;if(!1===e)return!1;for(var i=e,a=t.length;i<a;++i)if("M"==t[i][0])return i;return!1}Q(Ee,{morph:function(e,i,a,r,n){for(var o=this.parse(e),l=this.parse(i),h=0,c=0,d=!1,u=!1;!1!==h||!1!==c;){var g;d=s(o,!1!==h&&h+1),u=s(l,!1!==c&&c+1),!1===h&&(h=0==(g=new Ee(p.start).bbox()).height||0==g.width?o.push(o[0])-1:o.push(["M",g.x+g.width/2,g.y+g.height/2])-1),!1===c&&(c=0==(g=new Ee(p.dest).bbox()).height||0==g.width?l.push(l[0])-1:l.push(["M",g.x+g.width/2,g.y+g.height/2])-1);var p=t(o,h,d,l,c,u);o=o.slice(0,h).concat(p.start,!1===d?[]:o.slice(d)),l=l.slice(0,c).concat(p.dest,!1===u?[]:l.slice(u)),h=!1!==d&&h+p.start.length,c=!1!==u&&c+p.dest.length}this._array=o,this.destination=new Ee,this.destination._array=l;var f=this.fromArray(o.map((function(t,e){var i=l[e].map((function(i,s){return 0===s?i:r.step(t[s],l[e][s],a,n[e],n)}));return i})));return f}})}();const $a=t=>(t.changedTouches&&(t=t.changedTouches[0]),{x:t.clientX,y:t.clientY});class Ja{constructor(t){t.remember("_draggable",this),this.el=t,this.drag=this.drag.bind(this),this.startDrag=this.startDrag.bind(this),this.endDrag=this.endDrag.bind(this)}init(t){t?(this.el.on("mousedown.drag",this.startDrag),this.el.on("touchstart.drag",this.startDrag,{passive:!1})):(this.el.off("mousedown.drag"),this.el.off("touchstart.drag"))}startDrag(t){const e=!t.type.indexOf("mouse");if(e&&1!==t.which&&0!==t.buttons)return;if(this.el.dispatch("beforedrag",{event:t,handler:this}).defaultPrevented)return;t.preventDefault(),t.stopPropagation(),this.init(!1),this.box=this.el.bbox(),this.lastClick=this.el.point($a(t));const i=(e?"mouseup":"touchend")+".drag";zt(window,(e?"mousemove":"touchmove")+".drag",this.drag,this,{passive:!1}),zt(window,i,this.endDrag,this,{passive:!1}),this.el.fire("dragstart",{event:t,handler:this,box:this.box})}drag(t){const{box:e,lastClick:i}=this,a=this.el.point($a(t)),s=a.x-i.x,r=a.y-i.y;if(!s&&!r)return e;const n=e.x+s,o=e.y+r;this.box=new kt(n,o,e.w,e.h),this.lastClick=a,this.el.dispatch("dragmove",{event:t,handler:this,box:this.box}).defaultPrevented||this.move(n,o)}move(t,e){"svg"===this.el.type?gi.prototype.move.call(this.el,t,e):this.el.move(t,e)}endDrag(t){this.drag(t),this.el.fire("dragend",{event:t,handler:this,box:this.box}),Xt(window,"mousemove.drag"),Xt(window,"touchmove.drag"),Xt(window,"mouseup.drag"),Xt(window,"touchend.drag"),this.init(!0)}}
46396/*!
46397  * @svgdotjs/svg.select.js - An extension of svg.js which allows to select elements with mouse
46398  * @version 4.0.1
46399  * https://github.com/svgdotjs/svg.select.js
46400  *
46401  * @copyright Ulrich-Matthias Schäfer
46402  * @license MIT
46403  *
46404  * BUILT: Mon Jul 01 2024 15:04:42 GMT+0200 (Central European Summer Time)
46405  */
46406function Qa(t,e,i,a=null){return function(s){s.preventDefault(),s.stopPropagation();var r=s.pageX||s.touches[0].pageX,n=s.pageY||s.touches[0].pageY;e.fire(t,{x:r,y:n,event:s,index:a,points:i})}}function Ka([t,e],{a:i,b:a,c:s,d:r,e:n,f:o}){return[t*i+e*s+n,t*a+e*r+o]}Q(Gt,{draggable(t=!0){return(this.remember("_draggable")||new Ja(this)).init(t),this}});let ts=class{constructor(t){this.el=t,t.remember("_selectHandler",this),this.selection=new gi,this.order=["lt","t","rt","r","rb","b","lb","l","rot"],this.mutationHandler=this.mutationHandler.bind(this);const e=F();this.observer=new e.MutationObserver(this.mutationHandler)}init(t){this.createHandle=t.createHandle||this.createHandleFn,this.createRot=t.createRot||this.createRotFn,this.updateHandle=t.updateHandle||this.updateHandleFn,this.updateRot=t.updateRot||this.updateRotFn,this.el.root().put(this.selection),this.updatePoints(),this.createSelection(),this.createResizeHandles(),this.updateResizeHandles(),this.createRotationHandle(),this.updateRotationHandle(),this.observer.observe(this.el.node,{attributes:!0})}active(t,e){if(!t)return this.selection.clear().remove(),void this.observer.disconnect();this.init(e)}createSelection(){this.selection.polygon(this.handlePoints).addClass("svg_select_shape")}updateSelection(){this.selection.get(0).plot(this.handlePoints)}createResizeHandles(){this.handlePoints.forEach(((t,e,i)=>{const a=this.order[e];this.createHandle.call(this,this.selection,t,e,i,a),this.selection.get(e+1).addClass("svg_select_handle svg_select_handle_"+a).on("mousedown.selection touchstart.selection",Qa(a,this.el,this.handlePoints,e))}))}createHandleFn(t){t.polyline()}updateHandleFn(t,e,i,a){const s=a.at(i-1),r=a[(i+1)%a.length],n=e,o=[n[0]-s[0],n[1]-s[1]],l=[n[0]-r[0],n[1]-r[1]],h=Math.sqrt(o[0]*o[0]+o[1]*o[1]),c=Math.sqrt(l[0]*l[0]+l[1]*l[1]),d=[o[0]/h,o[1]/h],u=[l[0]/c,l[1]/c],g=[n[0]-10*d[0],n[1]-10*d[1]],p=[n[0]-10*u[0],n[1]-10*u[1]];t.plot([g,n,p])}updateResizeHandles(){this.handlePoints.forEach(((t,e,i)=>{const a=this.order[e];this.updateHandle.call(this,this.selection.get(e+1),t,e,i,a)}))}createRotFn(t){t.line(),t.circle(5)}getPoint(t){return this.handlePoints[this.order.indexOf(t)]}getPointHandle(t){return this.selection.get(this.order.indexOf(t)+1)}updateRotFn(t,e){const i=this.getPoint("t");t.get(0).plot(i[0],i[1],e[0],e[1]),t.get(1).center(e[0],e[1])}createRotationHandle(){const t=this.selection.group().addClass("svg_select_handle_rot").on("mousedown.selection touchstart.selection",Qa("rot",this.el,this.handlePoints));this.createRot.call(this,t)}updateRotationHandle(){const t=this.selection.findOne("g.svg_select_handle_rot");this.updateRot(t,this.rotationPoint,this.handlePoints)}updatePoints(){const t=this.el.bbox(),e=this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());this.handlePoints=this.getHandlePoints(t).map((t=>Ka(t,e))),this.rotationPoint=Ka(this.getRotationPoint(t),e)}getHandlePoints({x:t,x2:e,y:i,y2:a,cx:s,cy:r}=this.el.bbox()){return[[t,i],[s,i],[e,i],[e,r],[e,a],[s,a],[t,a],[t,r]]}getRotationPoint({y:t,cx:e}=this.el.bbox()){return[e,t-20]}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updateResizeHandles(),this.updateRotationHandle()}};const es=t=>function(e=!0,i={}){"object"==typeof e&&(i=e,e=!0);let a=this.remember("_"+t.name);return a||(e.prototype instanceof ts?(a=new e(this),e=!0):a=new t(this),this.remember("_"+t.name,a)),a.active(e,i),this};
46407/*!
46408  * @svgdotjs/svg.resize.js - An extension for svg.js which allows to resize elements which are selected
46409  * @version 2.0.4
46410  * https://github.com/svgdotjs/svg.resize.js
46411  *
46412  * @copyright [object Object]
46413  * @license MIT
46414  *
46415  * BUILT: Fri Sep 13 2024 12:43:14 GMT+0200 (Central European Summer Time)
46416  */
46417/*!
46418  * @svgdotjs/svg.select.js - An extension of svg.js which allows to select elements with mouse
46419  * @version 4.0.1
46420  * https://github.com/svgdotjs/svg.select.js
46421  *
46422  * @copyright Ulrich-Matthias Schäfer
46423  * @license MIT
46424  *
46425  * BUILT: Mon Jul 01 2024 15:04:42 GMT+0200 (Central European Summer Time)
46426  */
46427function is(t,e,i,a=null){return function(s){s.preventDefault(),s.stopPropagation();var r=s.pageX||s.touches[0].pageX,n=s.pageY||s.touches[0].pageY;e.fire(t,{x:r,y:n,event:s,index:a,points:i})}}function as([t,e],{a:i,b:a,c:s,d:r,e:n,f:o}){return[t*i+e*s+n,t*a+e*r+o]}Q(Gt,{select:es(ts)}),Q([Ge,je,xe],{pointSelect:es(class{constructor(t){this.el=t,t.remember("_pointSelectHandler",this),this.selection=new gi,this.order=["lt","t","rt","r","rb","b","lb","l","rot"],this.mutationHandler=this.mutationHandler.bind(this);const e=F();this.observer=new e.MutationObserver(this.mutationHandler)}init(t){this.createHandle=t.createHandle||this.createHandleFn,this.updateHandle=t.updateHandle||this.updateHandleFn,this.el.root().put(this.selection),this.updatePoints(),this.createSelection(),this.createPointHandles(),this.updatePointHandles(),this.observer.observe(this.el.node,{attributes:!0})}active(t,e){if(!t)return this.selection.clear().remove(),void this.observer.disconnect();this.init(e)}createSelection(){this.selection.polygon(this.points).addClass("svg_select_shape_pointSelect")}updateSelection(){this.selection.get(0).plot(this.points)}createPointHandles(){this.points.forEach(((t,e,i)=>{this.createHandle.call(this,this.selection,t,e,i),this.selection.get(e+1).addClass("svg_select_handle_point").on("mousedown.selection touchstart.selection",Qa("point",this.el,this.points,e))}))}createHandleFn(t){t.circle(5)}updateHandleFn(t,e){t.center(e[0],e[1])}updatePointHandles(){this.points.forEach(((t,e,i)=>{this.updateHandle.call(this,this.selection.get(e+1),t,e,i)}))}updatePoints(){const t=this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());this.points=this.el.array().map((e=>Ka(e,t)))}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updatePointHandles()}})});class ss{constructor(t){this.el=t,t.remember("_selectHandler",this),this.selection=new gi,this.order=["lt","t","rt","r","rb","b","lb","l","rot"],this.mutationHandler=this.mutationHandler.bind(this);const e=F();this.observer=new e.MutationObserver(this.mutationHandler)}init(t){this.createHandle=t.createHandle||this.createHandleFn,this.createRot=t.createRot||this.createRotFn,this.updateHandle=t.updateHandle||this.updateHandleFn,this.updateRot=t.updateRot||this.updateRotFn,this.el.root().put(this.selection),this.updatePoints(),this.createSelection(),this.createResizeHandles(),this.updateResizeHandles(),this.createRotationHandle(),this.updateRotationHandle(),this.observer.observe(this.el.node,{attributes:!0})}active(t,e){if(!t)return this.selection.clear().remove(),void this.observer.disconnect();this.init(e)}createSelection(){this.selection.polygon(this.handlePoints).addClass("svg_select_shape")}updateSelection(){this.selection.get(0).plot(this.handlePoints)}createResizeHandles(){this.handlePoints.forEach(((t,e,i)=>{const a=this.order[e];this.createHandle.call(this,this.selection,t,e,i,a),this.selection.get(e+1).addClass("svg_select_handle svg_select_handle_"+a).on("mousedown.selection touchstart.selection",is(a,this.el,this.handlePoints,e))}))}createHandleFn(t){t.polyline()}updateHandleFn(t,e,i,a){const s=a.at(i-1),r=a[(i+1)%a.length],n=e,o=[n[0]-s[0],n[1]-s[1]],l=[n[0]-r[0],n[1]-r[1]],h=Math.sqrt(o[0]*o[0]+o[1]*o[1]),c=Math.sqrt(l[0]*l[0]+l[1]*l[1]),d=[o[0]/h,o[1]/h],u=[l[0]/c,l[1]/c],g=[n[0]-10*d[0],n[1]-10*d[1]],p=[n[0]-10*u[0],n[1]-10*u[1]];t.plot([g,n,p])}updateResizeHandles(){this.handlePoints.forEach(((t,e,i)=>{const a=this.order[e];this.updateHandle.call(this,this.selection.get(e+1),t,e,i,a)}))}createRotFn(t){t.line(),t.circle(5)}getPoint(t){return this.handlePoints[this.order.indexOf(t)]}getPointHandle(t){return this.selection.get(this.order.indexOf(t)+1)}updateRotFn(t,e){const i=this.getPoint("t");t.get(0).plot(i[0],i[1],e[0],e[1]),t.get(1).center(e[0],e[1])}createRotationHandle(){const t=this.selection.group().addClass("svg_select_handle_rot").on("mousedown.selection touchstart.selection",is("rot",this.el,this.handlePoints));this.createRot.call(this,t)}updateRotationHandle(){const t=this.selection.findOne("g.svg_select_handle_rot");this.updateRot(t,this.rotationPoint,this.handlePoints)}updatePoints(){const t=this.el.bbox(),e=this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());this.handlePoints=this.getHandlePoints(t).map((t=>as(t,e))),this.rotationPoint=as(this.getRotationPoint(t),e)}getHandlePoints({x:t,x2:e,y:i,y2:a,cx:s,cy:r}=this.el.bbox()){return[[t,i],[s,i],[e,i],[e,r],[e,a],[s,a],[t,a],[t,r]]}getRotationPoint({y:t,cx:e}=this.el.bbox()){return[e,t-20]}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updateResizeHandles(),this.updateRotationHandle()}}const rs=t=>function(e=!0,i={}){"object"==typeof e&&(i=e,e=!0);let a=this.remember("_"+t.name);return a||(e.prototype instanceof ss?(a=new e(this),e=!0):a=new t(this),this.remember("_"+t.name,a)),a.active(e,i),this};Q(Gt,{select:rs(ss)}),Q([Ge,je,xe],{pointSelect:rs(class{constructor(t){this.el=t,t.remember("_pointSelectHandler",this),this.selection=new gi,this.order=["lt","t","rt","r","rb","b","lb","l","rot"],this.mutationHandler=this.mutationHandler.bind(this);const e=F();this.observer=new e.MutationObserver(this.mutationHandler)}init(t){this.createHandle=t.createHandle||this.createHandleFn,this.updateHandle=t.updateHandle||this.updateHandleFn,this.el.root().put(this.selection),this.updatePoints(),this.createSelection(),this.createPointHandles(),this.updatePointHandles(),this.observer.observe(this.el.node,{attributes:!0})}active(t,e){if(!t)return this.selection.clear().remove(),void this.observer.disconnect();this.init(e)}createSelection(){this.selection.polygon(this.points).addClass("svg_select_shape_pointSelect")}updateSelection(){this.selection.get(0).plot(this.points)}createPointHandles(){this.points.forEach(((t,e,i)=>{this.createHandle.call(this,this.selection,t,e,i),this.selection.get(e+1).addClass("svg_select_handle_point").on("mousedown.selection touchstart.selection",is("point",this.el,this.points,e))}))}createHandleFn(t){t.circle(5)}updateHandleFn(t,e){t.center(e[0],e[1])}updatePointHandles(){this.points.forEach(((t,e,i)=>{this.updateHandle.call(this,this.selection.get(e+1),t,e,i)}))}updatePoints(){const t=this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());this.points=this.el.array().map((e=>as(e,t)))}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updatePointHandles()}})});const ns=t=>(t.changedTouches&&(t=t.changedTouches[0]),{x:t.clientX,y:t.clientY}),os=t=>{let e=1/0,i=1/0,a=-1/0,s=-1/0;for(let r=0;r<t.length;r++){const n=t[r];e=Math.min(e,n[0]),i=Math.min(i,n[1]),a=Math.max(a,n[0]),s=Math.max(s,n[1])}return new kt(e,i,a-e,s-i)};class ls{constructor(t){this.el=t,t.remember("_ResizeHandler",this),this.lastCoordinates=null,this.eventType="",this.lastEvent=null,this.handleResize=this.handleResize.bind(this),this.resize=this.resize.bind(this),this.endResize=this.endResize.bind(this),this.rotate=this.rotate.bind(this),this.movePoint=this.movePoint.bind(this)}active(t,e){this.preserveAspectRatio=e.preserveAspectRatio??!1,this.aroundCenter=e.aroundCenter??!1,this.grid=e.grid??0,this.degree=e.degree??0,this.el.off(".resize"),t&&(this.el.on(["lt.resize","rt.resize","rb.resize","lb.resize","t.resize","r.resize","b.resize","l.resize","rot.resize","point.resize"],this.handleResize),this.lastEvent&&("rot"===this.eventType?this.rotate(this.lastEvent):"point"===this.eventType?this.movePoint(this.lastEvent):this.resize(this.lastEvent)))}handleResize(t){this.eventType=t.type;const{event:e,index:i,points:a}=t.detail,s=!e.type.indexOf("mouse");if(s&&1!==(e.which||e.buttons))return;if(this.el.dispatch("beforeresize",{event:t,handler:this}).defaultPrevented)return;this.box=this.el.bbox(),this.startPoint=this.el.point(ns(e)),this.index=i,this.points=a.slice();const r=(s?"mousemove":"touchmove")+".resize",n=(s?"mouseup":"touchcancel.resize touchend")+".resize";"point"===t.type?zt(window,r,this.movePoint):"rot"===t.type?zt(window,r,this.rotate):zt(window,r,this.resize),zt(window,n,this.endResize)}resize(t){this.lastEvent=t;const e=this.snapToGrid(this.el.point(ns(t)));let i=e.x-this.startPoint.x,a=e.y-this.startPoint.y;this.preserveAspectRatio&&this.aroundCenter&&(i*=2,a*=2);const s=this.box.x+i,r=this.box.y+a,n=this.box.x2+i,o=this.box.y2+a;let l=new kt(this.box);if(this.eventType.includes("l")&&(l.x=Math.min(s,this.box.x2),l.x2=Math.max(s,this.box.x2)),this.eventType.includes("r")&&(l.x=Math.min(n,this.box.x),l.x2=Math.max(n,this.box.x)),this.eventType.includes("t")&&(l.y=Math.min(r,this.box.y2),l.y2=Math.max(r,this.box.y2)),this.eventType.includes("b")&&(l.y=Math.min(o,this.box.y),l.y2=Math.max(o,this.box.y)),l.width=l.x2-l.x,l.height=l.y2-l.y,this.preserveAspectRatio){const t=l.width/this.box.width,e=l.height/this.box.height,i=["lt","t","rt","r","rb","b","lb","l"],a=(i.indexOf(this.eventType)+4)%i.length,s=this.aroundCenter?[this.box.cx,this.box.cy]:this.points[a];let r=this.eventType.includes("t")||this.eventType.includes("b")?e:t;r=2===this.eventType.length?Math.max(t,e):r,l=function(t,e,i){const a=[[t.x,t.y],[t.x+t.width,t.y],[t.x+t.width,t.y+t.height],[t.x,t.y+t.height]].map((([t,a])=>{const s=t-e[0],r=(a-e[1])*i;return[s*i+e[0],r+e[1]]}));return os(a)}(this.box,s,r)}this.el.dispatch("resize",{box:new kt(l),angle:0,eventType:this.eventType,event:t,handler:this}).defaultPrevented||this.el.size(l.width,l.height).move(l.x,l.y)}movePoint(t){this.lastEvent=t;const{x:e,y:i}=this.snapToGrid(this.el.point(ns(t))),a=this.el.array().slice();a[this.index]=[e,i],this.el.dispatch("resize",{box:os(a),angle:0,eventType:this.eventType,event:t,handler:this}).defaultPrevented||this.el.plot(a)}rotate(t){this.lastEvent=t;const e=this.startPoint,i=this.el.point(ns(t)),{cx:a,cy:s}=this.box,r=e.x-a,n=e.y-s,o=i.x-a,l=i.y-s,h=Math.sqrt(r*r+n*n)*Math.sqrt(o*o+l*l);if(0===h)return;let c=Math.acos((r*o+n*l)/h)/Math.PI*180;if(!c)return;i.x<e.x&&(c=-c);const d=new vt(this.el),{x:u,y:g}=new bt(a,s).transformO(d),{rotate:p}=d.decompose(),f=this.snapToAngle(p+c)-p;this.el.dispatch("resize",{box:this.box,angle:f,eventType:this.eventType,event:t,handler:this}).defaultPrevented||this.el.transform(d.rotateO(f,u,g))}endResize(t){"rot"!==this.eventType&&"point"!==this.eventType&&this.resize(t),this.lastEvent=null,this.eventType="",Xt(window,"mousemove.resize touchmove.resize"),Xt(window,"mouseup.resize touchend.resize")}
46427snapToGrid(t){return this.grid&&(t.x=Math.round(t.x/this.grid)*this.grid,t.y=Math.round(t.y/this.grid)*this.grid),t}snapToAngle(t){return this.degree&&(t=Math.round(t/this.degree)*this.degree),t}}Q(Gt,{resize:function(t=!0,e={}){"object"==typeof t&&(e=t,t=!0);let i=this.remember("_ResizeHandler");return i||(t.prototype instanceof ls?(i=new t(this),t=!0):i=new ls(this),this.remember("_resizeHandler",i)),i.active(t,e),this}}),void 0===window.SVG&&(window.SVG=yi),void 0===window.Apex&&(window.Apex={});var hs=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"initModules",value:function(){this.ctx.publicMethods=["updateOptions","updateSeries","appendData","appendSeries","isSeriesHidden","highlightSeries","toggleSeries","showSeries","hideSeries","setLocale","resetSeries","zoomX","toggleDataPointSelection","dataURI","exportToCSV","addXaxisAnnotation","addYaxisAnnotation","addPointAnnotation","clearAnnotations","removeAnnotation","paper","destroy"],this.ctx.eventList=["click","mousedown","mousemove","mouseleave","touchstart","touchmove","touchleave","mouseup","touchend"],this.ctx.animations=new y(this.ctx),this.ctx.axes=new ra(this.ctx),this.ctx.core=new qa(this.ctx.el,this.ctx),this.ctx.config=new Wi({}),this.ctx.data=new $i(this.ctx),this.ctx.grid=new Ki(this.ctx),this.ctx.graphics=new Mi(this.ctx),this.ctx.coreUtils=new Pi(this.ctx),this.ctx.crosshairs=new na(this.ctx),this.ctx.events=new aa(this.ctx),this.ctx.exports=new Ji(this.ctx),this.ctx.fill=new ji(this.ctx),this.ctx.localization=new sa(this.ctx),this.ctx.options=new Oi,this.ctx.responsive=new oa(this.ctx),this.ctx.series=new Zi(this.ctx),this.ctx.theme=new la(this.ctx),this.ctx.formatters=new Xi(this.ctx),this.ctx.titleSubtitle=new ha(this.ctx),this.ctx.legend=new xa(this.ctx),this.ctx.toolbar=new ba(this.ctx),this.ctx.tooltip=new Sa(this.ctx),this.ctx.dimensions=new pa(this.ctx),this.ctx.updateHelpers=new Za(this.ctx),this.ctx.zoomPanSelection=new ma(this.ctx),this.ctx.w.globals.tooltip=new Sa(this.ctx)}}]),t}(),cs=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"clear",value:function(t){var e=t.isUpdating;this.ctx.zoomPanSelection&&this.ctx.zoomPanSelection.destroy(),this.ctx.toolbar&&this.ctx.toolbar.destroy(),this.ctx.animations=null,this.ctx.axes=null,this.ctx.annotations=null,this.ctx.core=null,this.ctx.data=null,this.ctx.grid=null,this.ctx.series=null,this.ctx.responsive=null,this.ctx.theme=null,this.ctx.formatters=null,this.ctx.titleSubtitle=null,this.ctx.legend=null,this.ctx.dimensions=null,this.ctx.options=null,this.ctx.crosshairs=null,this.ctx.zoomPanSelection=null,this.ctx.updateHelpers=null,this.ctx.toolbar=null,this.ctx.localization=null,this.ctx.w.globals.tooltip=null,this.clearDomElements({isUpdating:e})}},{key:"killSVG",value:function(t){t.each((function(){this.removeClass("*"),this.off()}),!0),t.clear()}},{key:"clearDomElements",value:function(t){var e=this,i=t.isUpdating,a=this.w.globals.dom.Paper.node;a.parentNode&&a.parentNode.parentNode&&!i&&(a.parentNode.parentNode.style.minHeight="unset");var s=this.w.globals.dom.baseEl;s&&this.ctx.eventList.forEach((function(t){s.removeEventListener(t,e.ctx.events.documentEvent)}));var r=this.w.globals.dom;if(null!==this.ctx.el)for(;this.ctx.el.firstChild;)this.ctx.el.removeChild(this.ctx.el.firstChild);this.killSVG(r.Paper),r.Paper.remove(),r.elWrap=null,r.elGraphical=null,r.elLegendWrap=null,r.elLegendForeign=null,r.baseEl=null,r.elGridRect=null,r.elGridRectMask=null,r.elGridRectBarMask=null,r.elGridRectMarkerMask=null,r.elForecastMask=null,r.elNonForecastMask=null,r.elDefs=null}}]),t}(),ds=new WeakMap;var us=function(){function t(e,a){i(this,t),this.opts=a,this.ctx=this,this.w=new Gi(a).init(),this.el=e,this.w.globals.cuid=v.randomId(),this.w.globals.chartID=this.w.config.chart.id?v.escapeString(this.w.config.chart.id):this.w.globals.cuid,new hs(this).initModules(),this.lastUpdateOptions=null,this.create=v.bind(this.create,this),this.windowResizeHandler=this._windowResizeHandler.bind(this),this.parentResizeHandler=this._parentResizeCallback.bind(this)}return s(t,[{key:"render",value:function(){var t=this;return new Promise((function(e,i){if(v.elementExists(t.el)){void 0===Apex._chartInstances&&(Apex._chartInstances=[]),t.w.config.chart.id&&Apex._chartInstances.push({id:t.w.globals.chartID,group:t.w.config.chart.group,chart:t}),t.setLocale(t.w.config.chart.defaultLocale);var a=t.w.config.chart.events.beforeMount;"function"==typeof a&&a(t,t.w),t.events.fireEvent("beforeMount",[t,t.w]),window.addEventListener("resize",t.windowResizeHandler),function(t,e){var i=!1;
vendor: 9,647 bytes, line 46427
46427if(t.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){var a=t.getBoundingClientRect();"none"!==t.style.display&&0!==a.width||(i=!0)}var s=new ResizeObserver((function(a){i&&e.call(t,a),i=!0}));t.nodeType===Node.DOCUMENT_FRAGMENT_NODE?Array.from(t.children).forEach((function(t){return s.observe(t)})):s.observe(t),ds.set(e,s)}(t.el.parentNode,t.parentResizeHandler);var s=t.el.getRootNode&&t.el.getRootNode(),r=v.is("ShadowRoot",s),n=t.el.ownerDocument,o=r?s.getElementById("apexcharts-css"):n.getElementById("apexcharts-css");if(!o){var l;(o=document.createElement("style")).id="apexcharts-css",o.textContent='@keyframes opaque {\n  0% {\n    opacity: 0\n  }\n\n  to {\n    opacity: 1\n  }\n}\n\n@keyframes resizeanim {\n\n  0%,\n  to {\n    opacity: 0\n  }\n}\n\n.apexcharts-canvas {\n  position: relative;\n  direction: ltr !important;\n  user-select: none\n}\n\n.apexcharts-canvas ::-webkit-scrollbar {\n  -webkit-appearance: none;\n  width: 6px\n}\n\n.apexcharts-canvas ::-webkit-scrollbar-thumb {\n  border-radius: 4px;\n  background-color: rgba(0, 0, 0, .5);\n  box-shadow: 0 0 1px rgba(255, 255, 255, .5);\n  -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, .5)\n}\n\n.apexcharts-inner {\n  position: relative\n}\n\n.apexcharts-text tspan {\n  font-family: inherit\n}\n\nrect.legend-mouseover-inactive,\n.legend-mouseover-inactive rect,\n.legend-mouseover-inactive path,\n.legend-mouseover-inactive circle,\n.legend-mouseover-inactive line,\n.legend-mouseover-inactive text.apexcharts-yaxis-title-text,\n.legend-mouseover-inactive text.apexcharts-yaxis-label {\n  transition: .15s ease all;\n  opacity: .2\n}\n\n.apexcharts-legend-text {\n  padding-left: 15px;\n  margin-left: -15px;\n}\n\n.apexcharts-series-collapsed {\n  opacity: 0\n}\n\n.apexcharts-tooltip {\n  border-radius: 5px;\n  box-shadow: 2px 2px 6px -4px #999;\n  cursor: default;\n  font-size: 14px;\n  left: 62px;\n  opacity: 0;\n  pointer-events: none;\n  position: absolute;\n  top: 20px;\n  display: flex;\n  flex-direction: column;\n  overflow: hidden;\n  white-space: nowrap;\n  z-index: 12;\n  transition: .15s ease all\n}\n\n.apexcharts-tooltip.apexcharts-active {\n  opacity: 1;\n  transition: .15s ease all\n}\n\n.apexcharts-tooltip.apexcharts-theme-light {\n  border: 1px solid #e3e3e3;\n  background: rgba(255, 255, 255, .96)\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark {\n  color: #fff;\n  background: rgba(30, 30, 30, .8)\n}\n\n.apexcharts-tooltip * {\n  font-family: inherit\n}\n\n.apexcharts-tooltip-title {\n  padding: 6px;\n  font-size: 15px;\n  margin-bottom: 4px\n}\n\n.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title {\n  background: #eceff1;\n  border-bottom: 1px solid #ddd\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {\n  background: rgba(0, 0, 0, .7);\n  border-bottom: 1px solid #333\n}\n\n.apexcharts-tooltip-text-goals-value,\n.apexcharts-tooltip-text-y-value,\n.apexcharts-tooltip-text-z-value {\n  display: inline-block;\n  margin-left: 5px;\n  font-weight: 600\n}\n\n.apexcharts-tooltip-text-goals-label:empty,\n.apexcharts-tooltip-text-goals-value:empty,\n.apexcharts-tooltip-text-y-label:empty,\n.apexcharts-tooltip-text-y-value:empty,\n.apexcharts-tooltip-text-z-value:empty,\n.apexcharts-tooltip-title:empty {\n  display: none\n}\n\n.apexcharts-tooltip-text-goals-label,\n.apexcharts-tooltip-text-goals-value {\n  padding: 6px 0 5px\n}\n\n.apexcharts-tooltip-goals-group,\n.apexcharts-tooltip-text-goals-label,\n.apexcharts-tooltip-text-goals-value {\n  display: flex\n}\n\n.apexcharts-tooltip-text-goals-label:not(:empty),\n.apexcharts-tooltip-text-goals-value:not(:empty) {\n  margin-top: -6px\n}\n\n.apexcharts-tooltip-marker {\n  display: inline-block;\n  position: relative;\n  width: 16px;\n  height: 16px;\n  font-size: 16px;\n  line-height: 16px;\n  margin-right: 4px;\n  text-align: center;\n  vertical-align: middle;\n  color: inherit;\n}\n\n.apexcharts-tooltip-marker::before {\n  content: "";\n  display: inline-block;\n  width: 100%;\n  text-align: center;\n  color: currentcolor;\n  text-rendering: optimizeLegibility;\n  -webkit-font-smoothing: antialiased;\n  font-size: 26px;\n  font-family: Arial, Helvetica, sans-serif;\n  line-height: 14px;\n  font-weight: 900;\n}\n\n.apexcharts-tooltip-marker[shape="circle"]::before {\n  content: "\\25CF";\n}\n\n.apexcharts-tooltip-marker[shape="square"]::before,\n.apexcharts-tooltip-marker[shape="rect"]::before {\n  content: "\\25A0";\n  transform: translate(-1px, -2px);\n}\n\n.apexcharts-tooltip-marker[shape="line"]::before {\n  content: "\\2500";\n}\n\n.apexcharts-tooltip-marker[shape="diamond"]::before {\n  content: "\\25C6";\n  font-size: 28px;\n}\n\n.apexcharts-tooltip-marker[shape="triangle"]::before {\n  content: "\\25B2";\n  font-size: 22px;\n}\n\n.apexcharts-tooltip-marker[shape="cross"]::before {\n  content: "\\2715";\n  font-size: 18px;\n}\n\n.apexcharts-tooltip-marker[shape="plus"]::before {\n  content: "\\2715";\n  transform: rotate(45deg) translate(-1px, -1px);\n  font-size: 18px;\n}\n\n.apexcharts-tooltip-marker[shape="star"]::before {\n  content: "\\2605";\n  font-size: 18px;\n}\n\n.apexcharts-tooltip-marker[shape="sparkle"]::before {\n  content: "\\2726";\n  font-size: 20px;\n}\n\n.apexcharts-tooltip-series-group {\n  padding: 0 10px;\n  display: none;\n  text-align: left;\n  justify-content: left;\n  align-items: center\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker {\n  opacity: 1\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active,\n.apexcharts-tooltip-series-group:last-child {\n  padding-bottom: 4px\n}\n\n.apexcharts-tooltip-y-group {\n  padding: 6px 0 5px\n}\n\n.apexcharts-custom-tooltip,\n.apexcharts-tooltip-box {\n  padding: 4px 8px\n}\n\n.apexcharts-tooltip-boxPlot {\n  display: flex;\n  flex-direction: column-reverse\n}\n\n.apexcharts-tooltip-box>div {\n  margin: 4px 0\n}\n\n.apexcharts-tooltip-box span.value {\n  font-weight: 700\n}\n\n.apexcharts-tooltip-rangebar {\n  padding: 5px 8px\n}\n\n.apexcharts-tooltip-rangebar .category {\n  font-weight: 600;\n  color: #777\n}\n\n.apexcharts-tooltip-rangebar .series-name {\n  font-weight: 700;\n  display: block;\n  margin-bottom: 5px\n}\n\n.apexcharts-xaxistooltip,\n.apexcharts-yaxistooltip {\n  opacity: 0;\n  pointer-events: none;\n  color: #373d3f;\n  font-size: 13px;\n  text-align: center;\n  border-radius: 2px;\n  position: absolute;\n  z-index: 10;\n  background: #eceff1;\n  border: 1px solid #90a4ae\n}\n\n.apexcharts-xaxistooltip {\n  padding: 9px 10px;\n  transition: .15s ease all\n}\n\n.apexcharts-xaxistooltip.apexcharts-theme-dark {\n  background: rgba(0, 0, 0, .7);\n  border: 1px solid rgba(0, 0, 0, .5);\n  color: #fff\n}\n\n.apexcharts-xaxistooltip:after,\n.apexcharts-xaxistooltip:before {\n  left: 50%;\n  border: solid transparent;\n  content: " ";\n  height: 0;\n  width: 0;\n  position: absolute;\n  pointer-events: none\n}\n\n.apexcharts-xaxistooltip:after {\n  border-color: transparent;\n  border-width: 6px;\n  margin-left: -6px\n}\n\n.apexcharts-xaxistooltip:before {\n  border-color: transparent;\n  border-width: 7px;\n  margin-left: -7px\n}\n\n.apexcharts-xaxistooltip-bottom:after,\n.apexcharts-xaxistooltip-bottom:before {\n  bottom: 100%\n}\n\n.apexcharts-xaxistooltip-top:after,\n.apexcharts-xaxistooltip-top:before {\n  top: 100%\n}\n\n.apexcharts-xaxistooltip-bottom:after {\n  border-bottom-color: #eceff1\n}\n\n.apexcharts-xaxistooltip-bottom:before {\n  border-bottom-color: #90a4ae\n}\n\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after,\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before {\n  border-bottom-color: rgba(0, 0, 0, .5)\n}\n\n.apexcharts-xaxistooltip-top:after {\n  border-top-color: #eceff1\n}\n\n.apexcharts-xaxistooltip-top:before {\n  border-top-color: #90a4ae\n}\n\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after,\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before {\n  border-top-color: rgba(0, 0, 0, .5)\n}\n\n.apexcharts-xaxistooltip.apexcharts-active {\n  opacity: 1;\n  transition: .15s ease all\n}\n\n.apexcharts-yaxistooltip {\n  padding: 4px 10px\n}\n\n.apexcharts-yaxistooltip.apexcharts-theme-dark {\n  background: rgba(0, 0, 0, .7);\n  border: 1px solid rgba(0, 0, 0, .5);\n  color: #fff\n}\n\n.apexcharts-yaxistooltip:after,\n.apexcharts-yaxistooltip:before {\n  top: 50%;\n  border: solid transparent;\n  content: " ";\n  height: 0;\n  width: 0;\n  position: absolute;\n  pointer-events: none\n}\n\n.apexcharts-yaxistooltip:after {\n  border-color: transparent;\n  border-width: 6px;\n  margin-top: -6px\n}\n\n.apexcharts-yaxistooltip:before {\n  border-color: transparent;\n  border-width: 7px;\n  margin-top: -7px\n}\n\n.apexcharts-yaxistooltip-left:after,\n.apexcharts-yaxistooltip-left:before {\n  left: 100%\n}\n\n.apexcharts-yaxistooltip-right:after,\n.apexcharts-yaxistooltip-right:before {\n  right: 100%\n}\n\n.apexcharts-yaxistooltip-left:after {\n  border-left-color: #eceff1\n}\n\n.apexcharts-yaxistooltip-left:before {\n  border-left-color: #90a4ae\n}\n\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after,\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before {\n  border-left-color: rgba(0, 0, 0, .5)\n}\n\n.apexcharts-yaxistooltip-right:after {\n  border-right-color: #eceff1\n}\n\n.apexcharts-yaxistooltip-right:before {\n  border-right-color: #90a4ae\n}\n\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after,\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before {\n  border-right-color: rgba(0, 0, 0, .5)\n}\n\n.apexcharts-yaxistooltip.apexcharts-active {\n  opacity: 1\n}\n\n.apexcharts-yaxistooltip-hidden {\n  display: none\n}
46427\n\n.apexcharts-xcrosshairs,\n.apexcharts-ycrosshairs {\n  pointer-events: none;\n  opacity: 0;\n  transition: .15s ease all\n}\n\n.apexcharts-xcrosshairs.apexcharts-active,\n.apexcharts-ycrosshairs.apexcharts-active {\n  opacity: 1;\n  transition: .15s ease all\n}\n\n.apexcharts-ycrosshairs-hidden {\n  opacity: 0\n}\n\n.apexcharts-selection-rect {\n  cursor: move\n}\n\n.svg_select_shape {\n  stroke-width: 1;\n  stroke-dasharray: 10 10;\n  stroke: black;\n  stroke-opacity: 0.1;\n  pointer-events: none;\n  fill: none;\n}\n\n.svg_select_handle {\n  stroke-width: 3;\n  stroke: black;\n  fill: none;\n}\n\n.svg_select_handle_r {\n  cursor: e-resize;\n}\n\n.svg_select_handle_l {\n  cursor: w-resize;\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-zoom {\n  cursor: crosshair\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-pan {\n  cursor: move\n}\n\n.apexcharts-menu-icon,\n.apexcharts-pan-icon,\n.apexcharts-reset-icon,\n.apexcharts-selection-icon,\n.apexcharts-toolbar-custom-icon,\n.apexcharts-zoom-icon,\n.apexcharts-zoomin-icon,\n.apexcharts-zoomout-icon {\n  cursor: pointer;\n  width: 20px;\n  height: 20px;\n  line-height: 24px;\n  color: #6e8192;\n  text-align: center\n}\n\n.apexcharts-menu-icon svg,\n.apexcharts-reset-icon svg,\n.apexcharts-zoom-icon svg,\n.apexcharts-zoomin-icon svg,\n.apexcharts-zoomout-icon svg {\n  fill: #6e8192\n}\n\n.apexcharts-selection-icon svg {\n  fill: #444;\n  transform: scale(.76)\n}\n\n.apexcharts-theme-dark .apexcharts-menu-icon svg,\n.apexcharts-theme-dark .apexcharts-pan-icon svg,\n.apexcharts-theme-dark .apexcharts-reset-icon svg,\n.apexcharts-theme-dark .apexcharts-selection-icon svg,\n.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg,\n.apexcharts-theme-dark .apexcharts-zoom-icon svg,\n.apexcharts-theme-dark .apexcharts-zoomin-icon svg,\n.apexcharts-theme-dark .apexcharts-zoomout-icon svg {\n  fill: #f3f4f5\n}\n\n.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg,\n.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,\n.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg {\n  fill: #008ffb\n}\n\n.apexcharts-theme-light .apexcharts-menu-icon:hover svg,\n.apexcharts-theme-light .apexcharts-reset-icon:hover svg,\n.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,\n.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,\n.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,\n.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg {\n  fill: #333\n}\n\n.apexcharts-menu-icon,\n.apexcharts-selection-icon {\n  position: relative\n}\n\n.apexcharts-reset-icon {\n  margin-left: 5px\n}\n\n.apexcharts-menu-icon,\n.apexcharts-reset-icon,\n.apexcharts-zoom-icon {\n  transform: scale(.85)\n}\n\n.apexcharts-zoomin-icon,\n.apexcharts-zoomout-icon {\n  transform: scale(.7)\n}\n\n.apexcharts-zoomout-icon {\n  margin-right: 3px\n}\n\n.apexcharts-pan-icon {\n  transform: scale(.62);\n  position: relative;\n  left: 1px;\n  top: 0\n}\n\n.apexcharts-pan-icon svg {\n  fill: #fff;\n  stroke: #6e8192;\n  stroke-width: 2\n}\n\n.apexcharts-pan-icon.apexcharts-selected svg {\n  stroke: #008ffb\n}\n\n.apexcharts-pan-icon:not(.apexcharts-selected):hover svg {\n  stroke: #333\n}\n\n.apexcharts-toolbar {\n  position: absolute;\n  z-index: 11;\n  max-width: 176px;\n  text-align: right;\n  border-radius: 3px;\n  padding: 0 6px 2px;\n  display: flex;\n  justify-content: space-between;\n  align-items: center\n}\n\n.apexcharts-menu {\n  background: #fff;\n  position: absolute;\n  top: 100%;\n  border: 1px solid #ddd;\n  border-radius: 3px;\n  padding: 3px;\n  right: 10px;\n  opacity: 0;\n  min-width: 110px;\n  transition: .15s ease all;\n  pointer-events: none\n}\n\n.apexcharts-menu.apexcharts-menu-open {\n  opacity: 1;\n  pointer-events: all;\n  transition: .15s ease all\n}\n\n.apexcharts-menu-item {\n  padding: 6px 7px;\n  font-size: 12px;\n  cursor: pointer\n}\n\n.apexcharts-theme-light .apexcharts-menu-item:hover {\n  background: #eee\n}\n\n.apexcharts-theme-dark .apexcharts-menu {\n  background: rgba(0, 0, 0, .7);\n  color: #fff\n}\n\n@media screen and (min-width:768px) {\n  .apexcharts-canvas:hover .apexcharts-toolbar {\n    opacity: 1\n  }\n}\n\n.apexcharts-canvas .apexcharts-element-hidden,\n.apexcharts-datalabel.apexcharts-element-hidden,\n.apexcharts-hide .apexcharts-series-points {\n  opacity: 0;\n}\n\n.apexcharts-hidden-element-shown {\n  opacity: 1;\n  transition: 0.25s ease all;\n}\n\n.apexcharts-datalabel,\n.apexcharts-datalabel-label,\n.apexcharts-datalabel-value,\n.apexcharts-datalabels,\n.apexcharts-pie-label {\n  cursor: default;\n  pointer-events: none\n}\n\n.apexcharts-pie-label-delay {\n  opacity: 0;\n  animation-name: opaque;\n  animation-duration: .3s;\n  animation-fill-mode: forwards;\n  animation-timing-function: ease\n}\n\n.apexcharts-radialbar-label {\n  cursor: pointer;\n}\n\n.apexcharts-annotation-rect,\n.apexcharts-area-series .apexcharts-area,\n.apexcharts-gridline,\n.apexcharts-line,\n.apexcharts-point-annotation-label,\n.apexcharts-radar-series path:not(.apexcharts-marker),\n.apexcharts-radar-series polygon,\n.apexcharts-toolbar svg,\n.apexcharts-tooltip .apexcharts-marker,\n.apexcharts-xaxis-annotation-label,\n.apexcharts-yaxis-annotation-label,\n.apexcharts-zoom-rect,\n.no-pointer-events {\n  pointer-events: none\n}\n\n.apexcharts-tooltip-active .apexcharts-marker {\n  transition: .15s ease all\n}\n\n.apexcharts-radar-series .apexcharts-yaxis {\n  pointer-events: none;\n}\n\n.resize-triggers {\n  animation: 1ms resizeanim;\n  visibility: hidden;\n  opacity: 0;\n  height: 100%;\n  width: 100%;\n  overflow: hidden\n}\n\n.contract-trigger:before,\n.resize-triggers,\n.resize-triggers>
46427div {\n  content: " ";\n  display: block;\n  position: absolute;\n  top: 0;\n  left: 0\n}\n\n.resize-triggers>div {\n  height: 100%;\n  width: 100%;\n  background: #eee;\n  overflow: auto\n}\n\n.contract-trigger:before {\n  overflow: hidden;\n  width: 200%;\n  height: 200%\n}\n\n.apexcharts-bar-goals-markers {\n  pointer-events: none\n}\n\n.apexcharts-bar-shadows {\n  pointer-events: none\n}\n\n.apexcharts-rangebar-goals-markers {\n  pointer-events: none\n}\n\n.apexcharts-disable-transitions * {\n  transition: none !important;\n}';var h=(null===(l=t.opts.chart)||void 0===l?void 0:l.nonce)||t.w.config.chart.nonce;h&&o.setAttribute("nonce",h),r?s.prepend(o):n.head.appendChild(o)}var c=t.create(t.w.config.series,{});if(!c)return e(t);t.mount(c).then((function(){"function"==typeof t.w.config.chart.events.mounted&&t.w.config.chart.events.mounted(t,t.w),t.events.fireEvent("mounted",[t,t.w]),e(c)})).catch((function(t){i(t)}))}else i(new Error("Element not found"))}))}},{key:"create",value:function(t,e){var i=this,a=this.w;new hs(this).initModules();var s=this.w.globals;if(s.noData=!1,s.animationEnded=!1,!v.elementExists(this.el))return s.animationEnded=!0,null;(this.responsive.checkResponsiveConfig(e),a.config.xaxis.convertedCatToNumeric)&&new Ni(a.config).convertCatToNumericXaxis(a.config,this.ctx);if(this.core.setupElements(),"treemap"===a.config.chart.type&&(a.config.grid.show=!1,a.config.yaxis[0].show=!1),0===s.svgWidth)return s.animationEnded=!0,null;var r=t;t.forEach((function(t,e){t.hidden&&(r=i.legend.legendHelpers.getSeriesAfterCollapsing({realIndex:e}))}));var n=Pi.checkComboSeries(r,a.config.chart.type);s.comboCharts=n.comboCharts,s.comboBarCount=n.comboBarCount;var o=r.every((function(t){return t.data&&0===t.data.length}));(0===r.length||o&&s.collapsedSeries.length<1)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(r),this.theme.init(),new Vi(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),s.noData&&s.collapsedSeries.length!==s.series.length&&!a.config.legend.showForSingleSeries||this.legend.init(),this.series.hasAllSeriesEqualX(),s.axisCharts&&(this.core.coreCalculations(),"category"!==a.config.xaxis.type&&this.formatters.setLabelFormatters(),this.ctx.toolbar.minX=a.globals.minX,this.ctx.toolbar.maxX=a.globals.maxX),this.formatters.heatmapLabelFormatters(),new Pi(this).getLargestMarkerSize(),this.dimensions.plotCoords();var l=this.core.xySettings();this.grid.createGridMask();var h=this.core.plotChartType(r,l),c=new qi(this);return c.bringForward(),a.config.dataLabels.background.enabled&&c.dataLabelsBackground(),this.core.shiftGraphPosition(),a.globals.dataPoints>50&&a.globals.dom.elWrap.classList.add("apexcharts-disable-transitions"),{elGraph:h,xyRatios:l,dimensions:{plot:{left:a.globals.translateX,top:a.globals.translateY,width:a.globals.gridWidth,height:a.globals.gridHeight}}}}},{key:"mount",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=this,a=i.w;return new Promise((function(s,r){if(null===i.el)return r(new Error("Not enough data to display or target element not found"));(null===e||a.globals.allSeriesCollapsed)&&i.series.handleNoData(),i.grid=new Ki(i);var n,o,l=i.grid.drawGrid();(i.annotations=new Fi(i),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),"back"===a.config.grid.position)&&(l&&a.globals.dom.elGraphical.add(l.el),null!=l&&null!==(n=l.elGridBorders)&&void 0!==n&&n.node&&a.globals.dom.elGraphical.add(l.elGridBorders));if(Array.isArray(e.elGraph))for(var h=0;h<e.elGraph.length;h++)a.globals.dom.elGraphical.add(e.elGraph[h]);else a.globals.dom.elGraphical.add(e.elGraph);"front"===a.config.grid.position&&(l&&a.globals.dom.elGraphical.add(l.el),null!=l&&null!==(o=l.elGridBorders)&&void 0!==o&&o.node&&a.globals.dom.elGraphical.add(l.elGridBorders));"front"===a.config.xaxis.crosshairs.position&&i.crosshairs.drawXCrosshairs(),"front"===a.config.yaxis[0].crosshairs.position&&i.crosshairs.drawYCrosshairs(),"treemap"!==a.config.chart.type&&i.axes.drawAxis(a.config.chart.type,l);var c=new Qi(t.ctx,l),d=new ia(t.ctx,l);if(null!==l&&(c.xAxisLabelCorrections(l.xAxisTickWidth),d.setYAxisTextAlignments(),a.config.yaxis.map((function(t,e){-1===a.globals.ignoreYAxisIndexes.indexOf(e)&&d.yAxisTitleRotate(e,t.opposite)}))),i.annotations.drawAxesAnnotations(),!a.globals.noData){if(a.config.tooltip.enabled&&!a.globals.noData&&i.w.globals.tooltip.drawTooltip(e.xyRatios),a.globals.axisCharts&&(a.globals.isXNumeric||a.config.xaxis.convertedCatToNumeric||a.globals.isRangeBar))(a.config.chart.zoom.enabled||a.config.chart.selection&&a.config.chart.selection.enabled||a.config.chart.pan&&a.config.chart.pan.enabled)&&i.zoomPanSelection.init({xyRatios:e.xyRatios});else{var u=a.config.chart.toolbar.tools;["zoom","zoomin","zoomout","selection","pan","reset"].forEach((function(t){u[t]=!1}))}a.config.chart.toolbar.show&&!a.globals.allSeriesCollapsed&&i.toolbar.createToolbar()}a.globals.memory.methodsToExec.length>
vendor: 7,726 bytes, lines 46427-46430
464270&&a.globals.memory.methodsToExec.forEach((function(t){t.method(t.params,!1,t.context)})),a.globals.axisCharts||a.globals.noData||i.core.resizeNonAxisCharts(),s(i)}))}},{key:"destroy",value:function(){window.removeEventListener("resize",this.windowResizeHandler),function(t,e){var i=ds.get(e);i&&(i.disconnect(),ds.delete(e))}(this.el.parentNode,this.parentResizeHandler);var t=this.w.config.chart.id;t&&Apex._chartInstances.forEach((function(e,i){e.id===v.escapeString(t)&&Apex._chartInstances.splice(i,1)})),new cs(this.ctx).clear({isUpdating:!1})}},{key:"updateOptions",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],n=this.w;return n.globals.selection=void 0,this.lastUpdateOptions&&JSON.stringify(this.lastUpdateOptions)===JSON.stringify(t)?this:(this.lastUpdateOptions=v.clone(t),t.series&&(this.series.resetSeries(!1,!0,!1),t.series.length&&t.series[0].data&&(t.series=t.series.map((function(t,i){return e.updateHelpers._extendSeries(t,i)}))),this.updateHelpers.revertDefaultAxisMinMax()),t.xaxis&&(t=this.updateHelpers.forceXAxisUpdate(t)),t.yaxis&&(t=this.updateHelpers.forceYAxisUpdate(t)),n.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),t.theme&&(t=this.theme.updateThemeOptions(t)),this.updateHelpers._updateOptions(t,i,a,s,r))}},{key:"updateSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(t,e,i)}},{key:"appendSeries",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w.config.series.slice();return a.push(t),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(a,e,i)}},{key:"appendData",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var a=i.w.config.series.slice(),s=0;s<a.length;s++)if(null!==t[s]&&void 0!==t[s])for(var r=0;r<t[s].data.length;r++)a[s].data.push(t[s].data[r]);return i.w.config.series=a,e&&(i.w.globals.initialSeries=v.clone(i.w.config.series)),this.update()}},{key:"update",value:function(t){var e=this;return new Promise((function(i,a){if(e.lastUpdateOptions&&JSON.stringify(e.lastUpdateOptions)===JSON.stringify(t))return i(e);e.lastUpdateOptions=v.clone(t),new cs(e.ctx).clear({isUpdating:!0});var s=e.create(e.w.config.series,t);if(!s)return i(e);e.mount(s).then((function(){"function"==typeof e.w.config.chart.events.updated&&e.w.config.chart.events.updated(e,e.w),e.events.fireEvent("updated",[e,e.w]),e.w.globals.isDirty=!0,i(e)})).catch((function(t){a(t)}))}))}},{key:"getSyncedCharts",value:function(){var t=this.getGroupedCharts(),e=[this];return t.length&&(e=[],t.forEach((function(t){e.push(t)}))),e}},{key:"getGroupedCharts",value:function(){var t=this;return Apex._chartInstances.filter((function(t){if(t.group)return!0})).map((function(e){return t.w.config.chart.group===e.group?e.chart:t}))}},{key:"toggleSeries",value:function(t){return this.series.toggleSeries(t)}},{key:"highlightSeriesOnLegendHover",value:function(t,e){return this.series.toggleSeriesOnHover(t,e)}},{key:"showSeries",value:function(t){this.series.showSeries(t)}},{key:"hideSeries",value:function(t){this.series.hideSeries(t)}},{key:"highlightSeries",value:function(t){this.series.highlightSeries(t)}},{key:"isSeriesHidden",value:function(t){this.series.isSeriesHidden(t)}},{key:"resetSeries",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.series.resetSeries(t,e)}},{key:"addEventListener",value:function(t,e){this.events.addEventListener(t,e)}},{key:"removeEventListener",value:function(t,e){this.events.removeEventListener(t,e)}},{key:"addXaxisAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addXaxisAnnotationExternal(t,e,a)}},{key:"addYaxisAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addYaxisAnnotationExternal(t,e,a)}},{key:"addPointAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addPointAnnotationExternal(t,e,a)}},{key:"clearAnnotations",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,e=this;t&&(e=t),e.annotations.clearAnnotations(e)}},{key:"removeAnnotation",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this;e&&(i=e),i.annotations.removeAnnotation(i,t)}},{key:"getChartArea",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner")}},{key:"getSeriesTotalXRange",value:function(t,e){return this.coreUtils.getSeriesTotalsXRange(t,e)}},{key:"getHighestValueInSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new ea(this.ctx).getMinYMaxY(t).highestY}},{key:"getLowestValueInSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new ea(this.ctx).getMinYMaxY(t).lowestY}},{key:"getSeriesTotal",value:function(){return this.w.globals.seriesTotals}},{key:"toggleDataPointSelection",value:function(t,e){return this.updateHelpers.toggleDataPointSelection(t,e)}},{key:"zoomX",value:function(t,e){this.ctx.toolbar.zoomUpdateOptions(t,e)}},{key:"setLocale",value:function(t){this.localization.setCurrentLocaleValues(t)}},{key:"dataURI",value:function(t){return new Ji(this.ctx).dataURI(t)}},{key:"getSvgString",value:function(t){return new Ji(this.ctx).getSvgString(t)}},{key:"exportToCSV",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new Ji(this.ctx).exportToCSV(t)}},{key:"paper",value:function(){return this.w.globals.dom.Paper}},{key:"_parentResizeCallback",value:function(){this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:"_windowResize",value:function(){var t=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout((function(){t.w.globals.resized=!0,t.w.globals.dataChanged=!1,t.ctx.update()}),150)}},{key:"_windowResizeHandler",value:function(){var t=this.w.config.chart.redrawOnWindowResize;"function"==typeof t&&(t=t()),t&&this._windowResize()}}],[{key:"getChartByID",value:function(t){var e=v.escapeString(t);if(Apex._chartInstances){var i=Apex._chartInstances.filter((function(t){return t.id===e}))[0];return i&&i.chart}}},{key:"initOnLoad",value:function(){for(var e=document.querySelectorAll("[data-apexcharts]"),i=0;i<e.length;i++){new t(e[i],JSON.parse(e[i].getAttribute("data-options"))).render()}}},{key:"exec",value:function(t,e){var i=this.getChartByID(t);if(i){i.w.globals.isExecCalled=!0;var a=null;if(-1!==i.publicMethods.indexOf(e)){for(var s=arguments.length,r=new Array(s>2?s-2:0),n=2;n<s;n++)r[n-2]=arguments[n];a=i[e].apply(i,r)}return a}}},{key:"merge",value:function(t,e){return v.extend(t,e)}}]),t}();return us}));
46428
46429/*!
46430 * Chart.js v4.5.0
vendor: 23,253 bytes, lines 46430-46441
46430
46431 * https://www.chartjs.org
46432 * (c) 2025 Chart.js Contributors
46433 * Released under the MIT License
46434 */
46435!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Chart=e()}(this,(function(){"use strict";var t=Object.freeze({__proto__:null,get Colors(){return Jo},get Decimation(){return ta},get Filler(){return ba},get Legend(){return Ma},get SubTitle(){return Pa},get Title(){return ka},get Tooltip(){return Na}});function e(){}const i=(()=>{let t=0;return()=>t++})();function s(t){return null==t}function n(t){if(Array.isArray&&Array.isArray(t))return!0;const e=Object.prototype.toString.call(t);return"[object"===e.slice(0,7)&&"Array]"===e.slice(-6)}function o(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}function a(t){return("number"==typeof t||t instanceof Number)&&isFinite(+t)}function r(t,e){return a(t)?t:e}function l(t,e){return void 0===t?e:t}const h=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100:+t/e,c=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100*e:+t;function d(t,e,i){if(t&&"function"==typeof t.call)return t.apply(i,e)}function u(t,e,i,s){let a,r,l;if(n(t))if(r=t.length,s)for(a=r-1;a>=0;a--)e.call(i,t[a],a);else for(a=0;a<r;a++)e.call(i,t[a],a);else if(o(t))for(l=Object.keys(t),r=l.length,a=0;a<r;a++)e.call(i,t[l[a]],l[a])}function f(t,e){let i,s,n,o;if(!t||!e||t.length!==e.length)return!1;for(i=0,s=t.length;i<s;++i)if(n=t[i],o=e[i],n.datasetIndex!==o.datasetIndex||n.index!==o.index)return!1;return!0}function g(t){if(n(t))return t.map(g);if(o(t)){const e=Object.create(null),i=Object.keys(t),s=i.length;let n=0;for(;n<s;++n)e[i[n]]=g(t[i[n]]);return e}return t}function p(t){return-1===["__proto__","prototype","constructor"].indexOf(t)}function m(t,e,i,s){if(!p(t))return;const n=e[t],a=i[t];o(n)&&o(a)?x(n,a,s):e[t]=g(a)}function x(t,e,i){const s=n(e)?e:[e],a=s.length;if(!o(t))return t;const r=(i=i||{}).merger||m;let l;for(let e=0;e<a;++e){if(l=s[e],!o(l))continue;const n=Object.keys(l);for(let e=0,s=n.length;e<s;++e)r(n[e],t,l,i)}return t}function b(t,e){return x(t,e,{merger:_})}function _(t,e,i){if(!p(t))return;const s=e[t],n=i[t];o(s)&&o(n)?b(s,n):Object.prototype.hasOwnProperty.call(e,t)||(e[t]=g(n))}const y={"":t=>t,x:t=>t.x,y:t=>t.y};function v(t){const e=t.split("."),i=[];let s="";for(const t of e)s+=t,s.endsWith("\\")?s=s.slice(0,-1)+".":(i.push(s),s="");return i}function M(t,e){const i=y[e]||(y[e]=function(t){const e=v(t);return t=>{for(const i of e){if(""===i)break;t=t&&t[i]}return t}}(e));return i(t)}function w(t){return t.charAt(0).toUpperCase()+t.slice(1)}const k=t=>void 0!==t,S=t=>"function"==typeof t,P=(t,e)=>{if(t.size!==e.size)return!1;for(const i of t)if(!e.has(i))return!1;return!0};function D(t){return"mouseup"===t.type||"click"===t.type||"contextmenu"===t.type}const C=Math.PI,O=2*C,A=O+C,T=Number.POSITIVE_INFINITY,L=C/180,E=C/2,R=C/4,I=2*C/3,z=Math.log10,F=Math.sign;function V(t,e,i){return Math.abs(t-e)<i}function B(t){const e=Math.round(t);t=V(t,e,t/1e3)?e:t;const i=Math.pow(10,Math.floor(z(t))),s=t/i;return(s<=1?1:s<=2?2:s<=5?5:10)*i}function W(t){const e=[],i=Math.sqrt(t);let s;for(s=1;s<i;s++)t%s==0&&(e.push(s),e.push(t/s));return i===(0|i)&&e.push(i),e.sort(((t,e)=>t-e)).pop(),e}function N(t){return!function(t){return"symbol"==typeof t||"object"==typeof t&&null!==t&&!(Symbol.toPrimitive in t||"toString"in t||"valueOf"in t)}(t)&&!isNaN(parseFloat(t))&&isFinite(t)}function H(t,e){const i=Math.round(t);return i-e<=t&&i+e>=t}function j(t,e,i){let s,n,o;for(s=0,n=t.length;s<n;s++)o=t[s][i],isNaN(o)||(e.min=Math.min(e.min,o),e.max=Math.max(e.max,o))}function $(t){return t*(C/180)}function Y(t){return t*(180/C)}function U(t){if(!a(t))return;let e=1,i=0;for(;Math.round(t*e)/e!==t;)e*=10,i++;return i}function X(t,e){const i=e.x-t.x,s=e.y-t.y,n=Math.sqrt(i*i+s*s);let o=Math.atan2(s,i);return o<-.5*C&&(o+=O),{angle:o,distance:n}}function q(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function K(t,e){return(t-e+A)%O-C}function G(t){return(t%O+O)%O}function J(t,e,i,s){const n=G(t),o=G(e),a=G(i),r=G(o-n),l=G(a-n),h=G(n-o),c=G(n-a);return n===o||n===a||s&&o===a||r>l&&h<c}function Z(t,e,i){return Math.max(e,Math.min(i,t))}function Q(t){return Z(t,-32768,32767)}function tt(t,e,i,s=1e-6){return t>=Math.min(e,i)-s&&t<=Math.max(e,i)+s}function et(t,e,i){i=i||(i=>t[i]<e);let s,n=t.length-1,o=0;for(;n-o>1;)s=o+n>>1,i(s)?o=s:n=s;return{lo:o,hi:n}}const it=(t,e,i,s)=>et(t,i,s?s=>{const n=t[s][e];return n<i||n===i&&t[s+1][e]===i}:s=>t[s][e]<i),st=(t,e,i)=>et(t,i,(s=>t[s][e]>=i));function nt(t,e,i){let s=0,n=t.length;for(;s<n&&t[s]<e;)s++;for(;n>s&&t[n-1]>i;)n--;return s>0||n<t.length?t.slice(s,n):t}const ot=["push","pop","shift","splice","unshift"];function at(t,e){t._chartjs?t._chartjs.listeners.push(e):(Object.defineProperty(t,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[e]}}),ot.forEach((e=>{const i="_onData"+w(e),s=t[e];Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value(...e){const n=s.apply(this,e);return t._chartjs.listeners.forEach((t=>{"function"==typeof t[i]&&t[i](...e)})),n}})})))}function rt(t,e){const i=t._chartjs;if(!i)return;const s=i.listeners,n=s.indexOf(e);-1!==n&&s.splice(n,1),s.length>0||(ot.forEach((e=>{delete t[e]})),delete t._chartjs)}function lt(t){const e=new Set(t);return e.size===t.length?t:Array.from(e)}const ht="undefined"==typeof window?function(t){return t()}:window.requestAnimationFrame;function ct(t,e){let i=[],s=!1;return function(...n){i=n,s||(s=!0,ht.call(window,(()=>{s=!1,t.apply(e,i)})))}}function dt(t,e){let i;return function(...s){return e?(clearTimeout(i),i=setTimeout(t,e,s)):t.apply(this,s),e}}const ut=t=>"start"===t?"left":"end"===t?"right":"center",ft=(t,e,i)=>"start"===t?e:"end"===t?i:(e+i)/2,gt=(t,e,i,s)=>t===(s?"left":"right")?i:"center"===t?(e+i)/2:e;function pt(t,e,i){const n=e.length;let o=0,a=n;if(t._sorted){const{iScale:r,vScale:l,_parsed:h}=t,c=t.dataset&&t.dataset.options?t.dataset.options.spanGaps:null,d=r.axis,{min:u,max:f,minDefined:g,maxDefined:p}=r.getUserBounds();if(g){if(o=Math.min(it(h,d,u).lo,i?n:it(e,d,r.getPixelForValue(u)).lo),c){const t=h.slice(0,o+1).reverse().findIndex((t=>!s(t[l.axis])));o-=Math.max(0,t)}o=Z(o,0,n-1)}if(p){let t=Math.max(it(h,r.axis,f,!0).hi+1,i?0:it(e,d,r.getPixelForValue(f),!0).hi+1);if(c){const e=h.slice(t-1).findIndex((t=>!s(t[l.axis])));t+=Math.max(0,e)}a=Z(t,o,n)-o}else a=n-o}return{start:o,count:a}}function mt(t){const{xScale:e,yScale:i,_scaleRanges:s}=t,n={xmin:e.min,xmax:e.max,ymin:i.min,ymax:i.max};if(!s)return t._scaleRanges=n,!0;const o=s.xmin!==e.min||s.xmax!==e.max||s.ymin!==i.min||s.ymax!==i.max;return Object.assign(s,n),o}class xt{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,e,i,s){const n=e.listeners[s],o=e.duration;n.forEach((s=>s({chart:t,initial:e.initial,numSteps:o,currentStep:Math.min(i-e.start,o)})))}_refresh(){this._request||(this._running=!0,this._request=ht.call(window,(()=>{this._update(),this._request=null,this._running&&this._refresh()})))}_update(t=Date.now()){let e=0;this._charts.forEach(((i,s)=>{if(!i.running||!i.items.length)return;const n=i.items;let o,a=n.length-1,r=!1;for(;a>=0;--a)o=n[a],o._active?(o._total>i.duration&&(i.duration=o._total),o.tick(t),r=!0):(n[a]=n[n.length-1],n.pop());r&&(s.draw(),this._notify(s,i,t,"progress")),n.length||(i.running=!1,this._notify(s,i,t,"complete"),i.initial=!1),e+=n.length})),this._lastDate=t,0===e&&(this._running=!1)}_getAnims(t){const e=this._charts;let i=e.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,i)),i}listen(t,e,i){this._getAnims(t).listeners[e].push(i)}add(t,e){e&&e.length&&this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce(((t,e)=>Math.max(t,e._duration)),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!!(e&&e.running&&e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const i=e.items;let s=i.length-1;for(;s>=0;--s)i[s].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var bt=new xt;
46436/*!
46437 * @kurkle/color v0.3.2
46438 * https://github.com/kurkle/color#readme
46439 * (c) 2023 Jukka Kurkela
46440 * Released under the MIT License
46441 */function _t(t){return t+.5|0}const yt=(t,e,i)=>Math.max(Math.min(t,i),e);function vt(t){return yt(_t(2.55*t),0,255)}function Mt(t){return yt(_t(255*t),0,255)}function wt(t){return yt(_t(t/2.55)/100,0,1)}function kt(t){return yt(_t(100*t),0,100)}const St={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Pt=[..."0123456789ABCDEF"],Dt=t=>Pt[15&t],Ct=t=>Pt[(240&t)>>4]+Pt[15&t],Ot=t=>(240&t)>>4==(15&t);function At(t){var e=(t=>Ot(t.r)&&Ot(t.g)&&Ot(t.b)&&Ot(t.a))(t)?Dt:Ct;return t?"#"+e(t.r)+e(t.g)+e(t.b)+((t,e)=>t<255?e(t):"")(t.a,e):void 0}const Tt=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Lt(t,e,i){const s=e*Math.min(i,1-i),n=(e,n=(e+t/30)%12)=>i-s*Math.max(Math.min(n-3,9-n,1),-1);return[n(0),n(8),n(4)]}function Et(t,e,i){const s=(s,n=(s+t/60)%6)=>i-i*e*Math.max(Math.min(n,4-n,1),0);return[s(5),s(3),s(1)]}function Rt(t,e,i){const s=Lt(t,1,.5);let n;for(e+i>1&&(n=1/(e+i),e*=n,i*=n),n=0;n<3;n++)s[n]*=1-e-i,s[n]+=e;return s}function It(t){const e=t.r/255,i=t.g/255,s=t.b/255,n=Math.max(e,i,s),o=Math.min(e,i,s),a=(n+o)/2;let r,l,h;return n!==o&&(h=n-o,l=a>.5?h/(2-n-o):h/(n+o),r=function(t,e,i,s,n){return t===n?(e-i)/s+(e<i?6:0):e===n?(i-t)/s+2:(t-e)/s+4}(e,i,s,h,n),r=60*r+.5),[0|r,l||0,a]}function zt(t,e,i,s){return(Array.isArray(e)?t(e[0],e[1],e[2]):t(e,i,s)).map(Mt)}function Ft(t,e,i){return zt(Lt,t,e,i)}function Vt(t){return(t%360+360)%360}function Bt(t){const e=Tt.exec(t);let i,s=255;if(!e)return;e[5]!==i&&(s=e[6]?vt(+e[5]):Mt(+e[5]));const n=Vt(+e[2]),o=+e[3]/100,a=+e[4]/100;return i="hwb"===e[1]?function(t,e,i){return zt(Rt,t,e,i)}(n,o,a):"hsv"===e[1]?function(t,e,i){return zt(Et,t,e,i)}(n,o,a):Ft(n,o,a),{r:i[0],g:i[1],b:i[2],a:s}}const Wt={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Nt={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};let Ht;function jt(t){Ht||(Ht=function(){const t={},e=Object.keys(Nt),i=Object.keys(Wt);let s,n,o,a,r;for(s=0;s<e.length;s++){for(a=r=e[s],n=0;n<i.length;n++)o=i[n],r=r.replace(o,Wt[o]);o=parseInt(Nt[a],16),t[r]=[o>>16&255,o>>8&255,255&o]}return t}(),Ht.transparent=[0,0,0,0]);const e=Ht[t.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}const $t=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;const Yt=t=>t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055,Ut=t=>t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4);function Xt(t,e,i){if(t){let s=It(t);s[e]=Math.max(0,Math.min(s[e]+s[e]*i,0===e?360:1)),s=Ft(s),t.r=s[0],t.g=s[1],t.b=s[2]}}function qt(t,e){return t?Object.assign(e||{},t):t}function Kt(t){var e={r:0,g:0,b:0,a:255};return Array.isArray(t)?t.length>=3&&(e={r:t[0],g:t[1],b:t[2],a:255},t.length>3&&(e.a=Mt(t[3]))):(e=qt(t,{r:0,g:0,b:0,a:1})).a=Mt(e.a),e}function Gt(t){return"r"===t.charAt(0)?function(t){const e=$t.exec(t);let i,s,n,o=255;if(e){if(e[7]!==i){const t=+e[7];o=e[8]?vt(t):yt(255*t,0,255)}return i=+e[1],s=+e[3],n=+e[5],i=255&(e[2]?vt(i):yt(i,0,255)),s=255&(e[4]?vt(s):yt(s,0,255)),n=255&(e[6]?vt(n):yt(n,0,255)),{r:i,g:s,b:n,a:o}}}(t):Bt(t)}class Jt{constructor(t){if(t instanceof Jt)return t;const e=typeof t;let i;var s,n,o;"object"===e?i=Kt(t):"string"===e&&(o=(s=t).length,"#"===s[0]&&(4===o||5===o?n={r:255&17*St[s[1]],g:255&17*St[s[2]],b:255&17*St[s[3]],a:5===o?17*St[s[4]]:255}:7!==o&&9!==o||(n={r:St[s[1]]<<4|St[s[2]],g:St[s[3]]<<4|St[s[4]],b:St[s[5]]<<4|St[s[6]],a:9===o?St[s[7]]<<4|St[s[8]]:255})),i=n||jt(t)||Gt(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=qt(this._rgb);return t&&(t.a=wt(t.a)),t}set rgb(t){this._rgb=Kt(t)}rgbString(){return this._valid?(t=this._rgb)&&(t.a<255?`rgba(${t.r}, ${t.g}, ${t.b}, ${wt(t.a)})`:`rgb(${t.r}, ${t.g}, ${t.b})`):void 0;var t}hexString(){return this._valid?At(this._rgb):void 0}hslString(){return this._valid?function(t){if(!t)return;const e=It(t),i=e[0],s=kt(e[1]),n=kt(e[2]);return t.a<255?`hsla(${i}, ${s}%, ${n}%, ${wt(t.a)})`:`hsl(${i}, ${s}%, ${n}%)`}(this._rgb):void 0}mix(t,e){if(t){const i=this.rgb,s=t.rgb;let n;const o=e===n?.5:e,a=2*o-1,r=i.a-s.a,l=((a*r==-1?a:(a+r)/(1+a*r))+1)/2;n=1-l,i.r=255&l*i.r+n*s.r+.5,i.g=255&l*i.g+n*s.g+.5,i.b=255&l*i.b+n*s.b+.5,i.a=o*i.a+(1-o)*s.a,this.rgb=i}return this}interpolate(t,e){return t&&(this._rgb=function(t,e,i){const s=Ut(wt(t.r)),n=Ut(wt(t.g)),o=Ut(wt(t.b));return{r:Mt(Yt(s+i*(Ut(wt(e.r))-s))),g:Mt(Yt(n+i*(Ut(wt(e.g))-n))),b:Mt(Yt(o+i*(Ut(wt(e.b))-o))),a:t.a+i*(e.a-t.a)}}(this._rgb,t._rgb,e)),this}clone(){return new Jt(this.rgb)}alpha(t){return this._rgb.a=Mt(t),this}clearer(t){return this._rgb.a*=1-t,this}greyscale(){const t=this._rgb,e=_t(.3*t.r+.59*t.g+.11*t.b);return t.r=t.g=t.b=e,this}opaquer(t){return this._rgb.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Xt(this._rgb,2,t),this}darken(t){return Xt(this._rgb,2,-t),this}saturate(t){return Xt(this._rgb,1,t),this}desaturate(t){return Xt(this._rgb,1,-t),this}rotate(t){return function(t,e){var i=It(t);i[0]=Vt(i[0]+e),i=Ft(i),t.r=i[0],t.g=i[1],t.b=i[2]}(this._rgb,t),this}}function Zt(t){if(t&&"object"==typeof t){const e=t.toString();return"[object CanvasPattern]"===e||"[object CanvasGradient]"===e}return!1}function Qt(t){return Zt(t)?t:new Jt(t)}function te(t){return Zt(t)?t:new Jt(t).saturate(.5).darken(.1).hexString()}const ee=["x","y","borderWidth","radius","tension"],ie=["color","borderColor","backgroundColor"];const se=new Map;function ne(t,e,i){return function(t,e){e=e||{};const i=t+JSON.stringify(e);let s=se.get(i);return s||(s=new Intl.NumberFormat(t,e),se.set(i,s)),s}(e,i).format(t)}const oe={values:t=>n(t)?t:""+t,numeric(t,e,i){if(0===t)return"0";const s=this.chart.options.locale;let n,o=t;if(i.length>1){const e=Math.max(Math.abs(i[0].value),Math.abs(i[i.length-1].value));(e<1e-4||e>1e15)&&(n="scientific"),o=function(t,e){let i=e.length>3?e[2].value-e[1].value:e[1].value-e[0].value;Math.abs(i)>=1&&t!==Math.floor(t)&&(i=t-Math.floor(t));return i}(t,i)}const a=z(Math.abs(o)),r=isNaN(a)?1:Math.max(Math.min(-1*Math.floor(a),20),0),l={notation:n,minimumFractionDigits:r,maximumFractionDigits:r};return Object.assign(l,this.options.ticks.format),ne(t,s,l)},logarithmic(t,e,i){if(0===t)return"0";const s=i[e].significand||t/Math.pow(10,Math.floor(z(t)));return[1,2,3,5,10,15].includes(s)||e>.8*i.length?oe.numeric.call(this,t,e,i):""}};var ae={formatters:oe};const re=Object.create(null),le=Object.create(null);function he(t,e){if(!e)return t;const i=e.split(".");for(let e=0,s=i.length;e<s;++e){const s=i[e];t=t[s]||(t[s]=Object.create(null))}return t}function ce(t,e,i){return"string"==typeof e?x(he(t,e),i):x(he(t,""),e)}class de{constructor(t,e){this.animation=void 0,this.backgroundColor="rgba(0,0,0,0.1)",this.borderColor="rgba(0,0,0,0.1)",this.color="#666",this.datasets={},this.devicePixelRatio=t=>t.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(t,e)=>te(e.backgroundColor),this.hoverBorderColor=(t,e)=>te(e.borderColor),this.hoverColor=(t,e)=>te(e.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return ce(this,t,e)}get(t){return he(this,t)}describe(t,e){return ce(le,t,e)}override(t,e){return ce(re,t,e)}route(t,e,i,s){const n=he(this,t),a=he(this,i),r="_"+e;Object.defineProperties(n,{[r]:{value:n[e],writable:!0},[e]:{enumerable:!0,get(){const t=this[r],e=a[s];return o(t)?Object.assign({},e,t):l(t,e)},set(t){this[r]=t}}})}apply(t){t.forEach((t=>t(this)))}}var ue=new de({_scriptable:t=>!t.startsWith("on"),_indexable:t=>"events"!==t,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[function(t){t.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),t.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>"onProgress"!==t&&"onComplete"!==t&&"fn"!==t}),t.set("animations",{colors:{type:"color",properties:ie},numbers:{type:"number",properties:ee}}),t.describe("animations",{_fallback:"animation"}),t.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>0|t}}}})},function(t){t.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})},function(t){t.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:ae.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),t.route("scale.ticks","color","","color"),t.route("scale.grid","color","","borderColor"),t.route("scale.border","color","","borderColor"),t.route("scale.title","color","","color"),t.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&"callback"!==t&&"parser"!==t,_indexable:t=>"borderDash"!==t&&"tickBorderDash"!==t&&"dash"!==t}),t.describe("scales",{_fallback:"scale"}),t.describe("scale.ticks",{_scriptable:t=>"backdropPadding"!==t&&"callback"!==t,_indexable:t=>"backdropPadding"!==t})}]);function fe(){return"undefined"!=typeof window&&"undefined"!=typeof document}function ge(t){let e=t.parentNode;return e&&"[object ShadowRoot]"===e.toString()&&(e=e.host),e}function pe(t,e,i){let s;return"string"==typeof t?(s=parseInt(t,10),-1!==t.indexOf("%")&&(s=s/100*e.parentNode[i])):s=t,s}const me=t=>t.ownerDocument.defaultView.getComputedStyle(t,null);function xe(t,e){return me(t).getPropertyValue(e)}const be=["top","right","bottom","left"];function _e(t,e,i){const s={};i=i?"-"+i:"";for(let n=0;n<4;n++){const o=be[n];s[o]=parseFloat(t[e+"-"+o+i])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}const ye=(t,e,i)=>(t>0||e>0)&&(!i||!i.shadowRoot);function ve(t,e){if("native"in t)return t;const{canvas:i,currentDevicePixelRatio:s}=e,n=me(i),o="border-box"===n.boxSizing,a=_e(n,"padding"),r=_e(n,"border","width"),{x:l,y:h,box:c}=function(t,e){const i=t.touches,s=i&&i.length?i[0]:t,{offsetX:n,offsetY:o}=s;let a,r,l=!1;if(ye(n,o,t.target))a=n,r=o;else{const t=e.getBoundingClientRect();a=s.clientX-t.left,r=s.clientY-t.top,l=!0}return{x:a,y:r,box:l}}(t,i),d=a.left+(c&&r.left),u=a.top+(c&&r.top);let{width:f,height:g}=e;return o&&(f-=a.width+r.width,g-=a.height+r.height),{x:Math.round((l-d)/f*i.width/s),y:Math.round((h-u)/g*i.height/s)}}const Me=t=>Math.round(10*t)/10;function we(t,e,i,s){const n=me(t),o=_e(n,"margin"),a=pe(n.maxWidth,t,"clientWidth")||T,r=pe(n.maxHeight,t,"clientHeight")||T,l=function(t,e,i){let s,n;if(void 0===e||void 0===i){const o=t&&ge(t);if(o){const t=o.getBoundingClientRect(),a=me(o),r=_e(a,"border","width"),l=_e(a,"padding");e=t.width-l.width-r.width,i=t.height-l.height-r.height,s=pe(a.maxWidth,o,"clientWidth"),n=pe(a.maxHeight,o,"clientHeight")}else e=t.clientWidth,i=t.clientHeight}return{width:e,height:i,maxWidth:s||T,maxHeight:n||T}}(t,e,i);let{width:h,height:c}=l;if("content-box"===n.boxSizing){const t=_e(n,"border","width"),e=_e(n,"padding");h-=e.width+t.width,c-=e.height+t.height}h=Math.max(0,h-o.width),c=Math.max(0,s?h/s:c-o.height),h=Me(Math.min(h,a,l.maxWidth)),c=Me(Math.min(c,r,l.maxHeight)),h&&!c&&(c=Me(h/2));return(void 0!==e||void 0!==i)&&s&&l.height&&c>l.height&&(c=l.height,h=Me(Math.floor(c*s))),{width:h,height:c}}function ke(t,e,i){const s=e||1,n=M
46441ath.floor(t.height*s),o=Math.floor(t.width*s);t.height=Math.floor(t.height),t.width=Math.floor
vendor: 68,851 bytes, line 46441
46441(t.width);const a=t.canvas;return a.style&&(i||!a.style.height&&!a.style.width)&&(a.style.height=`${t.height}px`,a.style.width=`${t.width}px`),(t.currentDevicePixelRatio!==s||a.height!==n||a.width!==o)&&(t.currentDevicePixelRatio=s,a.height=n,a.width=o,t.ctx.setTransform(s,0,0,s,0,0),!0)}const Se=function(){let t=!1;try{const e={get passive(){return t=!0,!1}};fe()&&(window.addEventListener("test",null,e),window.removeEventListener("test",null,e))}catch(t){}return t}();function Pe(t,e){const i=xe(t,e),s=i&&i.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function De(t){return!t||s(t.size)||s(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}function Ce(t,e,i,s,n){let o=e[n];return o||(o=e[n]=t.measureText(n).width,i.push(n)),o>s&&(s=o),s}function Oe(t,e,i,s){let o=(s=s||{}).data=s.data||{},a=s.garbageCollect=s.garbageCollect||[];s.font!==e&&(o=s.data={},a=s.garbageCollect=[],s.font=e),t.save(),t.font=e;let r=0;const l=i.length;let h,c,d,u,f;for(h=0;h<l;h++)if(u=i[h],null==u||n(u)){if(n(u))for(c=0,d=u.length;c<d;c++)f=u[c],null==f||n(f)||(r=Ce(t,o,a,r,f))}else r=Ce(t,o,a,r,u);t.restore();const g=a.length/2;if(g>i.length){for(h=0;h<g;h++)delete o[a[h]];a.splice(0,g)}return r}function Ae(t,e,i){const s=t.currentDevicePixelRatio,n=0!==i?Math.max(i/2,.5):0;return Math.round((e-n)*s)/s+n}function Te(t,e){(e||t)&&((e=e||t.getContext("2d")).save(),e.resetTransform(),e.clearRect(0,0,t.width,t.height),e.restore())}function Le(t,e,i,s){Ee(t,e,i,s,null)}function Ee(t,e,i,s,n){let o,a,r,l,h,c,d,u;const f=e.pointStyle,g=e.rotation,p=e.radius;let m=(g||0)*L;if(f&&"object"==typeof f&&(o=f.toString(),"[object HTMLImageElement]"===o||"[object HTMLCanvasElement]"===o))return t.save(),t.translate(i,s),t.rotate(m),t.drawImage(f,-f.width/2,-f.height/2,f.width,f.height),void t.restore();if(!(isNaN(p)||p<=0)){switch(t.beginPath(),f){default:n?t.ellipse(i,s,n/2,p,0,0,O):t.arc(i,s,p,0,O),t.closePath();break;case"triangle":c=n?n/2:p,t.moveTo(i+Math.sin(m)*c,s-Math.cos(m)*p),m+=I,t.lineTo(i+Math.sin(m)*c,s-Math.cos(m)*p),m+=I,t.lineTo(i+Math.sin(m)*c,s-Math.cos(m)*p),t.closePath();break;case"rectRounded":h=.516*p,l=p-h,a=Math.cos(m+R)*l,d=Math.cos(m+R)*(n?n/2-h:l),r=Math.sin(m+R)*l,u=Math.sin(m+R)*(n?n/2-h:l),t.arc(i-d,s-r,h,m-C,m-E),t.arc(i+u,s-a,h,m-E,m),t.arc(i+d,s+r,h,m,m+E),t.arc(i-u,s+a,h,m+E,m+C),t.closePath();break;case"rect":if(!g){l=Math.SQRT1_2*p,c=n?n/2:l,t.rect(i-c,s-l,2*c,2*l);break}m+=R;case"rectRot":d=Math.cos(m)*(n?n/2:p),a=Math.cos(m)*p,r=Math.sin(m)*p,u=Math.sin(m)*(n?n/2:p),t.moveTo(i-d,s-r),t.lineTo(i+u,s-a),t.lineTo(i+d,s+r),t.lineTo(i-u,s+a),t.closePath();break;case"crossRot":m+=R;case"cross":d=Math.cos(m)*(n?n/2:p),a=Math.cos(m)*p,r=Math.sin(m)*p,u=Math.sin(m)*(n?n/2:p),t.moveTo(i-d,s-r),t.lineTo(i+d,s+r),t.moveTo(i+u,s-a),t.lineTo(i-u,s+a);break;case"star":d=Math.cos(m)*(n?n/2:p),a=Math.cos(m)*p,r=Math.sin(m)*p,u=Math.sin(m)*(n?n/2:p),t.moveTo(i-d,s-r),t.lineTo(i+d,s+r),t.moveTo(i+u,s-a),t.lineTo(i-u,s+a),m+=R,d=Math.cos(m)*(n?n/2:p),a=Math.cos(m)*p,r=Math.sin(m)*p,u=Math.sin(m)*(n?n/2:p),t.moveTo(i-d,s-r),t.lineTo(i+d,s+r),t.moveTo(i+u,s-a),t.lineTo(i-u,s+a);break;case"line":a=n?n/2:Math.cos(m)*p,r=Math.sin(m)*p,t.moveTo(i-a,s-r),t.lineTo(i+a,s+r);break;case"dash":t.moveTo(i,s),t.lineTo(i+Math.cos(m)*(n?n/2:p),s+Math.sin(m)*p);break;case!1:t.closePath()}t.fill(),e.borderWidth>0&&t.stroke()}}function Re(t,e,i){return i=i||.5,!e||t&&t.x>e.left-i&&t.x<e.right+i&&t.y>e.top-i&&t.y<e.bottom+i}function Ie(t,e){t.save(),t.beginPath(),t.rect(e.left,e.top,e.right-e.left,e.bottom-e.top),t.clip()}function ze(t){t.restore()}function Fe(t,e,i,s,n){if(!e)return t.lineTo(i.x,i.y);if("middle"===n){const s=(e.x+i.x)/2;t.lineTo(s,e.y),t.lineTo(s,i.y)}else"after"===n!=!!s?t.lineTo(e.x,i.y):t.lineTo(i.x,e.y);t.lineTo(i.x,i.y)}function Ve(t,e,i,s){if(!e)return t.lineTo(i.x,i.y);t.bezierCurveTo(s?e.cp1x:e.cp2x,s?e.cp1y:e.cp2y,s?i.cp2x:i.cp1x,s?i.cp2y:i.cp1y,i.x,i.y)}function Be(t,e,i,s,n){if(n.strikethrough||n.underline){const o=t.measureText(s),a=e-o.actualBoundingBoxLeft,r=e+o.actualBoundingBoxRight,l=i-o.actualBoundingBoxAscent,h=i+o.actualBoundingBoxDescent,c=n.strikethrough?(l+h)/2:h;t.strokeStyle=t.fillStyle,t.beginPath(),t.lineWidth=n.decorationWidth||2,t.moveTo(a,c),t.lineTo(r,c),t.stroke()}}function We(t,e){const i=t.fillStyle;t.fillStyle=e.color,t.fillRect(e.left,e.top,e.width,e.height),t.fillStyle=i}function Ne(t,e,i,o,a,r={}){const l=n(e)?e:[e],h=r.strokeWidth>0&&""!==r.strokeColor;let c,d;for(t.save(),t.font=a.string,function(t,e){e.translation&&t.translate(e.translation[0],e.translation[1]),s(e.rotation)||t.rotate(e.rotation),e.color&&(t.fillStyle=e.color),e.textAlign&&(t.textAlign=e.textAlign),e.textBaseline&&(t.textBaseline=e.textBaseline)}(t,r),c=0;c<l.length;++c)d=l[c],r.backdrop&&We(t,r.backdrop),h&&(r.strokeColor&&(t.strokeStyle=r.strokeColor),s(r.strokeWidth)||(t.lineWidth=r.strokeWidth),t.strokeText(d,i,o,r.maxWidth)),t.fillText(d,i,o,r.maxWidth),Be(t,i,o,d,r),o+=Number(a.lineHeight);t.restore()}function He(t,e){const{x:i,y:s,w:n,h:o,radius:a}=e;t.arc(i+a.topLeft,s+a.topLeft,a.topLeft,1.5*C,C,!0),t.lineTo(i,s+o-a.bottomLeft),t.arc(i+a.bottomLeft,s+o-a.bottomLeft,a.bottomLeft,C,E,!0),t.lineTo(i+n-a.bottomRight,s+o),t.arc(i+n-a.bottomRight,s+o-a.bottomRight,a.bottomRight,E,0,!0),t.lineTo(i+n,s+a.topRight),t.arc(i+n-a.topRight,s+a.topRight,a.topRight,0,-E,!0),t.lineTo(i+a.topLeft,s)}function je(t,e=[""],i,s,n=(()=>t[0])){const o=i||t;void 0===s&&(s=ti("_fallback",t));const a={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:t,_rootScopes:o,_fallback:s,_getTarget:n,override:i=>je([i,...t],e,o,s)};return new Proxy(a,{deleteProperty:(e,i)=>(delete e[i],delete e._keys,delete t[0][i],!0),get:(i,s)=>qe(i,s,(()=>function(t,e,i,s){let n;for(const o of e)if(n=ti(Ue(o,t),i),void 0!==n)return Xe(t,n)?Ze(i,s,t,n):n}(s,e,t,i))),getOwnPropertyDescriptor:(t,e)=>Reflect.getOwnPropertyDescriptor(t._scopes[0],e),getPrototypeOf:()=>Reflect.getPrototypeOf(t[0]),has:(t,e)=>ei(t).includes(e),ownKeys:t=>ei(t),set(t,e,i){const s=t._storage||(t._storage=n());return t[e]=s[e]=i,delete t._keys,!0}})}function $e(t,e,i,s){const a={_cacheable:!1,_proxy:t,_context:e,_subProxy:i,_stack:new Set,_descriptors:Ye(t,s),setContext:e=>$e(t,e,i,s),override:n=>$e(t.override(n),e,i,s)};return new Proxy(a,{deleteProperty:(e,i)=>(delete e[i],delete t[i],!0),get:(t,e,i)=>qe(t,e,(()=>function(t,e,i){const{_proxy:s,_context:a,_subProxy:r,_descriptors:l}=t;let h=s[e];S(h)&&l.isScriptable(e)&&(h=function(t,e,i,s){const{_proxy:n,_context:o,_subProxy:a,_stack:r}=i;if(r.has(t))throw new Error("Recursion detected: "+Array.from(r).join("->")+"->"+t);r.add(t);let l=e(o,a||s);r.delete(t),Xe(t,l)&&(l=Ze(n._scopes,n,t,l));return l}(e,h,t,i));n(h)&&h.length&&(h=function(t,e,i,s){const{_proxy:n,_context:a,_subProxy:r,_descriptors:l}=i;if(void 0!==a.index&&s(t))return e[a.index%e.length];if(o(e[0])){const i=e,s=n._scopes.filter((t=>t!==i));e=[];for(const o of i){const i=Ze(s,n,t,o);e.push($e(i,a,r&&r[t],l))}}return e}(e,h,t,l.isIndexable));Xe(e,h)&&(h=$e(h,a,r&&r[e],l));return h}(t,e,i))),getOwnPropertyDescriptor:(e,i)=>e._descriptors.allKeys?Reflect.has(t,i)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(t,i),getPrototypeOf:()=>Reflect.getPrototypeOf(t),has:(e,i)=>Reflect.has(t,i),ownKeys:()=>Reflect.ownKeys(t),set:(e,i,s)=>(t[i]=s,delete e[i],!0)})}function Ye(t,e={scriptable:!0,indexable:!0}){const{_scriptable:i=e.scriptable,_indexable:s=e.indexable,_allKeys:n=e.allKeys}=t;return{allKeys:n,scriptable:i,indexable:s,isScriptable:S(i)?i:()=>i,isIndexable:S(s)?s:()=>s}}const Ue=(t,e)=>t?t+w(e):e,Xe=(t,e)=>o(e)&&"adapters"!==t&&(null===Object.getPrototypeOf(e)||e.constructor===Object);function qe(t,e,i){if(Object.prototype.hasOwnProperty.call(t,e)||"constructor"===e)return t[e];const s=i();return t[e]=s,s}function Ke(t,e,i){return S(t)?t(e,i):t}const Ge=(t,e)=>!0===t?e:"string"==typeof t?M(e,t):void 0;function Je(t,e,i,s,n){for(const o of e){const e=Ge(i,o);if(e){t.add(e);const o=Ke(e._fallback,i,n);if(void 0!==o&&o!==i&&o!==s)return o}else if(!1===e&&void 0!==s&&i!==s)return null}return!1}function Ze(t,e,i,s){const a=e._rootScopes,r=Ke(e._fallback,i,s),l=[...t,...a],h=new Set;h.add(s);let c=Qe(h,l,i,r||i,s);return null!==c&&((void 0===r||r===i||(c=Qe(h,l,r,c,s),null!==c))&&je(Array.from(h),[""],a,r,(()=>function(t,e,i){const s=t._getTarget();e in s||(s[e]={});const a=s[e];if(n(a)&&o(i))return i;return a||{}}(e,i,s))))}function Qe(t,e,i,s,n){for(;i;)i=Je(t,e,i,s,n);return i}function ti(t,e){for(const i of e){if(!i)continue;const e=i[t];if(void 0!==e)return e}}function ei(t){let e=t._keys;return e||(e=t._keys=function(t){const e=new Set;for(const i of t)for(const t of Object.keys(i).filter((t=>!t.startsWith("_"))))e.add(t);return Array.from(e)}(t._scopes)),e}function ii(t,e,i,s){const{iScale:n}=t,{key:o="r"}=this._parsing,a=new Array(s);let r,l,h,c;for(r=0,l=s;r<l;++r)h=r+i,c=e[h],a[r]={r:n.parse(M(c,o),h)};return a}const si=Number.EPSILON||1e-14,ni=(t,e)=>e<t.length&&!t[e].skip&&t[e],oi=t=>"x"===t?"y":"x";function ai(t,e,i,s){const n=t.skip?e:t,o=e,a=i.skip?e:i,r=q(o,n),l=q(a,o);let h=r/(r+l),c=l/(r+l);h=isNaN(h)?0:h,c=isNaN(c)?0:c;const d=s*h,u=s*c;return{previous:{x:o.x-d*(a.x-n.x),y:o.y-d*(a.y-n.y)},next:{x:o.x+u*(a.x-n.x),y:o.y+u*(a.y-n.y)}}}function ri(t,e="x"){const i=oi(e),s=t.length,n=Array(s).fill(0),o=Array(s);let a,r,l,h=ni(t,0);for(a=0;a<s;++a)if(r=l,l=h,h=ni(t,a+1),l){if(h){const t=h[e]-l[e];n[a]=0!==t?(h[i]-l[i])/t:0}o[a]=r?h?F(n[a-1])!==F(n[a])?0:(n[a-1]+n[a])/2:n[a-1]:n[a]}!function(t,e,i){const s=t.length;let n,o,a,r,l,h=ni(t,0);for(let c=0;c<s-1;++c)l=h,h=ni(t,c+1),l&&h&&(V(e[c],0,si)?i[c]=i[c+1]=0:(n=i[c]/e[c],o=i[c+1]/e[c],r=Math.pow(n,2)+Math.pow(o,2),r<=9||(a=3/Math.sqrt(r),i[c]=n*a*e[c],i[c+1]=o*a*e[c])))}(t,n,o),function(t,e,i="x"){const s=oi(i),n=t.length;let o,a,r,l=ni(t,0);for(let h=0;h<n;++h){if(a=r,r=l,l=ni(t,h+1),!r)continue;const n=r[i],c=r[s];a&&(o=(n-a[i])/3,r[`cp1${i}`]=n-o,r[`cp1${s}`]=c-o*e[h]),l&&(o=(l[i]-n)/3,r[`cp2${i}`]=n+o,r[`cp2${s}`]=c+o*e[h])}}(t,o,e)}function li(t,e,i){return Math.max(Math.min(t,i),e)}function hi(t,e,i,s,n){let o,a,r,l;if(e.spanGaps&&(t=t.filter((t=>!t.skip))),"monotone"===e.cubicInterpolationMode)ri(t,n);else{let i=s?t[t.length-1]:t[0];for(o=0,a=t.length;o<a;++o)r=t[o],l=ai(i,r,t[Math.min(o+1,a-(s?0:1))%a],e.tension),r.cp1x=l.previous.x,r.cp1y=l.previous.y,r.cp2x=l.next.x,r.cp2y=l.next.y,i=r}e.capBezierPoints&&function(t,e){let i,s,n,o,a,r=Re(t[0],e);for(i=0,s=t.length;i<s;++i)a=o,o=r,r=i<s-1&&Re(t[i+1],e),o&&(n=t[i],a&&(n.cp1x=li(n.cp1x,e.left,e.right),n.cp1y=li(n.cp1y,e.top,e.bottom)),r&&(n.cp2x=li(n.cp2x,e.left,e.right),n.cp2y=li(n.cp2y,e.top,e.bottom)))}(t,i)}const ci=t=>0===t||1===t,di=(t,e,i)=>-Math.pow(2,10*(t-=1))*Math.sin((t-e)*O/i),ui=(t,e,i)=>Math.pow(2,-10*t)*Math.sin((t-e)*O/i)+1,fi={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>-t*(t-2),easeInOutQuad:t=>(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1),easeInCubic:t=>t*t*t,easeOutCubic:t=>(t-=1)*t*t+1,easeInOutCubic:t=>(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2),easeInQuart:t=>t*t*t*t,easeOutQuart:t=>-((t-=1)*t*t*t-1),easeInOutQuart:t=>(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2),easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>(t-=1)*t*t*t*t+1,easeInOutQuint:t=>(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2),easeInSine:t=>1-Math.cos(t*E),easeOutSine:t=>Math.sin(t*E),easeInOutSine:t=>-.5*(Math.cos(C*t)-1),easeInExpo:t=>0===t?0:Math.pow(2,10*(t-1)),easeOutExpo:t=>1===t?1:1-Math.pow(2,-10*t),easeInOutExpo:t=>ci(t)?t:t<.5?.5*Math.pow(2,10*(2*t-1)):.5*(2-Math.pow(2,-10*(2*t-1))),easeInCirc:t=>t>=1?t:-(Math.sqrt(1-t*t)-1),easeOutCirc:t=>Math.sqrt(1-(t-=1)*t),easeInOutCirc:t=>(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1),easeInElastic:t=>ci(t)?t:di(t,.075,.3),easeOutElastic:t=>ci(t)?t:ui(t,.075,.3),easeInOutElastic(t){const e=.1125;return ci(t)?t:t<.5?.5*di(2*t,e,.45):.5+.5*ui(2*t-1,e,.45)},easeInBack(t){const e=1.70158;return t*t*((e+1)*t-e)},easeOutBack(t){const e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack(t){let e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:t=>1-fi.easeOutBounce(1-t),easeOutBounce(t){const e=7.5625,i=2.75;return t<1/i?e*t*t:t<2/i?e*(t-=1.5/i)*t+.75:t<2.5/i?e*(t-=2.25/i)*t+.9375:e*(t-=2.625/i)*t+.984375},easeInOutBounce:t=>t<.5?.5*fi.easeInBounce(2*t):.5*fi.easeOutBounce(2*t-1)+.5};function gi(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:t.y+i*(e.y-t.y)}}function pi(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:"middle"===s?i<.5?t.y:e.y:"after"===s?i<1?t.y:e.y:i>0?e.y:t.y}}function mi(t,e,i,s){const n={x:t.cp2x,y:t.cp2y},o={x:e.cp1x,y:e.cp1y},a=gi(t,n,i),r=gi(n,o,i),l=gi(o,e,i),h=gi(a,r,i),c=gi(r,l,i);return gi(h,c,i)}const xi=/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,bi=/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;function _i(t,e){const i=(""+t).match(xi);if(!i||"normal"===i[1])return 1.2*e;switch(t=+i[2],i[3]){case"px":return t;case"%":t/=100}return e*t}const yi=t=>+t||0;function vi(t,e){const i={},s=o(e),n=s?Object.keys(e):e,a=o(t)?s?i=>l(t[i],t[e[i]]):e=>t[e]:()=>t;for(const t of n)i[t]=yi(a(t));return i}function Mi(t){return vi(t,{top:"y",right:"x",bottom:"y",left:"x"})}function wi(t){return vi(t,["topLeft","topRight","bottomLeft","bottomRight"])}function ki(t){const e=Mi(t);return e.width=e.left+e.right,e.height=e.top+e.bottom,e}function Si(t,e){t=t||{},e=e||ue.font;let i=l(t.size,e.size);"string"==typeof i&&(i=parseInt(i,10));let s=l(t.style,e.style);s&&!(""+s).match(bi)&&(console.warn('Invalid font style specified: "'+s+'"'),s=void 0);const n={family:l(t.family,e.family),lineHeight:_i(l(t.lineHeight,e.lineHeight),i),size:i,style:s,weight:l(t.weight,e.weight),string:""};return n.string=De(n),n}function Pi(t,e,i,s){let o,a,r,l=!0;for(o=0,a=t.length;o<a;++o)if(r=t[o],void 0!==r&&(void 0!==e&&"function"==typeof r&&(r=r(e),l=!1),void 0!==i&&n(r)&&(r=r[i%r.length],l=!1),void 0!==r))return s&&!l&&(s.cacheable=!1),r}function Di(t,e,i){const{min:s,max:n}=t,o=c(e,(n-s)/2),a=(t,e)=>i&&0===t?0:t+e;return{min:a(s,-Math.abs(o)),max:a(n,o)}}function Ci(t,e){return Object.assign(Object.create(t),e)}function Oi(t,e,i){return t?function(t,e){return{x:i=>t+t+e-i,setWidth(t){e=t},textAlign:t=>"center"===t?t:"right"===t?"left":"right",xPlus:(t,e)=>t-e,leftForLtr:(t,e)=>t-e}}(e,i):{x:t=>t,setWidth(t){},textAlign:t=>t,xPlus:(t,e)=>t+e,leftForLtr:(t,e)=>t}}function Ai(t,e){let i,s;"ltr"!==e&&"rtl"!==e||(i=t.canvas.style,s=[i.getPropertyValue("direction"),i.getPropertyPriority("direction")],i.setProperty("direction",e,"important"),t.prevTextDirection=s)}function Ti(t,e){void 0!==e&&(delete t.prevTextDirection,t.canvas.style.setProperty("direction",e[0],e[1]))}function Li(t){return"angle"===t?{between:J,compare:K,normalize:G}:{between:tt,compare:(t,e)=>t-e,normalize:t=>t}}function Ei({start:t,end:e,count:i,loop:s,style:n}){return{start:t%i,end:e%i,loop:s&&(e-t+1)%i==0,style:n}}function Ri(t,e,i){if(!i)return[t];const{property:s,start:n,end:o}=i,a=e.length,{compare:r,between:l,normalize:h}=Li(s),{start:c,end:d,loop:u,style:f}=function(t,e,i){const{property:s,start:n,end:o}=i,{between:a,normalize:r}=Li(s),l=e.length;let h,c,{start:d,end:u,loop:f}=t;if(f){for(d+=l,u+=l,h=0,c=l;h<c&&a(r(e[d%l][s]),n,o);++h)d--,u--;d%=l,u%=l}return u<d&&(u+=l),{start:d,end:u,loop:f,style:t.style}}(t,e,i),g=[];let p,m,x,b=!1,_=null;const y=()=>b||l(n,x,p)&&0!==r(n,x),v=()=>!b||0===r(o,p)||l(o,x,p);for(let t=c,i=c;t<=d;++t)m=e[t%a],m.skip||(p=h(m[s]),p!==x&&(b=l(p,n,o),null===_&&y()&&(_=0===r(p,n)?t:i),null!==_&&v()&&(g.push(Ei({start:_,end:t,loop:u,count:a,style:f})),_=null),i=t,x=p));return null!==_&&g.push(Ei({start:_,end:d,loop:u,count:a,style:f})),g}function Ii(t,e){const i=[],s=t.segments;for(let n=0;n<s.length;n++){const o=Ri(s[n],t.points,e);o.length&&i.push(...o)}return i}function zi(t,e){const i=t.points,s=t.options.spanGaps,n=i.length;if(!n)return[];const o=!!t._loop,{start:a,end:r}=function(t,e,i,s){let n=0,o=e-1;if(i&&!s)for(;n<e&&!t[n].skip;)n++;for(;n<e&&t[n].skip;)n++;for(n%=e,i&&(o+=n);o>n&&t[o%e].skip;)o--;return o%=e,{start:n,end:o}}(i,n,o,s);if(!0===s)return Fi(t,[{start:a,end:r,loop:o}],i,e);return Fi(t,function(t,e,i,s){const n=t.length,o=[];let a,r=e,l=t[e];for(a=e+1;a<=i;++a){const i=t[a%n];i.skip||i.stop?l.skip||(s=!1,o.push({start:e%n,end:(a-1)%n,loop:s}),e=r=i.stop?a:null):(r=a,l.skip&&(e=a)),l=i}return null!==r&&o.push({start:e%n,end:r%n,loop:s}),o}(i,a,r<a?r+n:r,!!t._fullLoop&&0===a&&r===n-1),i,e)}function Fi(t,e,i,s){return s&&s.setContext&&i?function(t,e,i,s){const n=t._chart.getContext(),o=Vi(t.options),{_datasetIndex:a,options:{spanGaps:r}}=t,l=i.length,h=[];let c=o,d=e[0].start,u=d;function f(t,e,s,n){const o=r?-1:1;if(t!==e){for(t+=l;i[t%l].skip;)t-=o;for(;i[e%l].skip;)e+=o;t%l!=e%l&&(h.push({start:t%l,end:e%l,loop:s,style:n}),c=n,d=e%l)}}for(const t of e){d=r?d:t.start;let e,o=i[d%l];for(u=d+1;u<=t.end;u++){const r=i[u%l];e=Vi(s.setContext(Ci(n,{type:"segment",p0:o,p1:r,p0DataIndex:(u-1)%l,p1DataIndex:u%l,datasetIndex:a}))),Bi(e,c)&&f(d,u-1,t.loop,c),o=r,c=e}d<u-1&&f(d,u-1,t.loop,c)}return h}(t,e,i,s):e}function Vi(t){return{backgroundColor:t.backgroundColor,borderCapStyle:t.borderCapStyle,borderDash:t.borderDash,borderDashOffset:t.borderDashOffset,borderJoinStyle:t.borderJoinStyle,borderWidth:t.borderWidth,borderColor:t.borderColor}}function Bi(t,e){if(!e)return!1;const i=[],s=function(t,e){return Zt(e)?(i.includes(e)||i.push(e),i.indexOf(e)):e};return JSON.stringify(t,s)!==JSON.stringify(e,s)}function Wi(t,e,i){return t.options.clip?t[i]:e[i]}function Ni(t,e){const i=e._clip;if(i.disabled)return!1;const s=function(t,e){const{xScale:i,yScale:s}=t;return i&&s?{left:Wi(i,e,"left"),right:Wi(i,e,"right"),top:Wi(s,e,"top"),bottom:Wi(s,e,"bottom")}:e}(e,t.chartArea);return{left:!1===i.left?0:s.left-(!0===i.left?0:i.left),right:!1===i.right?t.width:s.right+(!0===i.right?0:i.right),top:!1===i.top?0:s.top-(!0===i.top?0:i.top),bottom:!1===i.bottom?t.height:s.bottom+(!0===i.bottom?0:i.bottom)}}var Hi=Object.freeze({__proto__:null,HALF_PI:E,INFINITY:T,PI:C,PITAU:A,QUARTER_PI:R,RAD_PER_DEG:L,TAU:O,TWO_THIRDS_PI:I,_addGrace:Di,_alignPixel:Ae,_alignStartEnd:ft,_angleBetween:J,_angleDiff:K,_arrayUnique:lt,_attachContext:$e,_bezierCurveTo:Ve,_bezierInterpolation:mi,_boundSegment:Ri,_boundSegments:Ii,_capitalize:w,_computeSegments:zi,_createResolver:je,_decimalPlaces:U,_deprecated:function(t,e,i,s){void 0!==e&&console.warn(t+': "'+i+'" is deprecated. Please use "'+s+'" instead')},_descriptors:Ye,_elementsEqual:f,_factorize:W,_filterBetween:nt,_getParentNode:ge,_getStartAndCountOfVisiblePoints:pt,_int16Range:Q,_isBetween:tt,_isClickEvent:D,_isDomSupported:fe,_isPointInArea:Re,_limitValue:Z,_longestText:Oe,_lookup:et,_lookupByKey:it,_measureText:Ce,_merger:m,_mergerIf:_,_normalizeAngle:G,_parseObjectDataRadialScale:ii,_pointInLine:gi,_readValueToProps:vi,_rlookupByKey:st,_scaleRangesChanged:mt,_setMinAndMaxByKey:j,_splitKey:v,_steppedInterpolation:pi,_steppedLineTo:Fe,_textX:gt,_toLeftRightCenter:ut,_updateBezierControlPoints:hi,addRoundedRectPath:He,almostEquals:V,almostWhole:H,callback:d,clearCanvas:Te,clipArea:Ie,clone:g,color:Qt,createContext:Ci,debounce:dt,defined:k,distanceBetweenPoints:q,drawPoint:Le,drawPointLegend:Ee,each:u,easingEffects:fi,finiteOrDefault:r,fontString:function(t,e,i){return e+" "+t+"px "+i},formatNumber:ne,getAngleFromPoint:X,getDatasetClipArea:Ni,getHoverColor:te,getMaximumSize:we,getRelativePosition:ve,getRtlAdapter:Oi,getStyle:xe,isArray:n,isFinite:a,isFunction:S,isNullOrUndef:s,isNumber:N,isObject:o,isPatternOrGradient:Zt,listenArrayEvents:at,log10:z,merge:x,mergeIf:b,niceNum:B,noop:e,overrideTextDirection:Ai,readUsedSize:Pe,renderText:Ne,requestAnimFrame:ht,resolve:Pi,resolveObjectKey:M,restoreTextDirection:Ti,retinaScale:ke,setsEqual:P,sign:F,splineCurve:ai,splineCurveMonotone:ri,supportsEventListenerOptions:Se,throttled:ct,toDegrees:Y,toDimension:c,toFont:Si,toFontString:De,toLineHeight:_i,toPadding:ki,toPercentage:h,toRadians:$,toTRBL:Mi,toTRBLCorners:wi,uid:i,unclipArea:ze,unlistenArrayEvents:rt,valueOrDefault:l});function ji(t,e,i,n){const{controller:o,data:a,_sorted:r}=t,l=o._cachedMeta.iScale,h=t.dataset&&t.dataset.options?t.dataset.options.spanGaps:null;if(l&&e===l.axis&&"r"!==e&&r&&a.length){const r=l._reversePixels?st:it;if(!n){const n=r(a,e,i);if(h){const{vScale:e}=o._cachedMeta,{_parsed:i}=t,a=i.slice(0,n.lo+1).reverse().findIndex((t=>!s(t[e.axis])));n.lo-=Math.max(0,a);const r=i.slice(n.hi).findIndex((t=>!s(t[e.axis])));n.hi+=Math.max(0,r)}return n}if(o._sharedOptions){const t=a[0],s="function"==typeof t.getRange&&t.getRange(e);if(s){const t=r(a,e,i-s),n=r(a,e,i+s);return{lo:t.lo,hi:n.hi}}}}return{lo:0,hi:a.length-1}}function $i(t,e,i,s,n){const o=t.getSortedVisibleDatasetMetas(),a=i[e];for(let t=0,i=o.length;t<i;++t){const{index:i,data:r}=o[t],{lo:l,hi:h}=ji(o[t],e,a,n);for(let t=l;t<=h;++t){const e=r[t];e.skip||s(e,i,t)}}}function Yi(t,e,i,s,n){const o=[];if(!n&&!t.isPointInArea(e))return o;return $i(t,i,e,(function(i,a,r){(n||Re(i,t.chartArea,0))&&i.inRange(e.x,e.y,s)&&o.push({element:i,datasetIndex:a,index:r})}),!0),o}function Ui(t,e,i,s,n,o){let a=[];const r=function(t){const e=-1!==t.indexOf("x"),i=-1!==t.indexOf("y");return function(t,s){const n=e?Math.abs(t.x-s.x):0,o=i?Math.abs(t.y-s.y):0;return Math.sqrt(Math.pow(n,2)+Math.pow(o,2))}}(i);let l=Number.POSITIVE_INFINITY;return $i(t,i,e,(function(i,h,c){const d=i.inRange(e.x,e.y,n);if(s&&!d)return;const u=i.getCenterPoint(n);if(!(!!o||t.isPointInArea(u))&&!d)return;const f=r(e,u);f<l?(a=[{element:i,datasetIndex:h,index:c}],l=f):f===l&&a.push({element:i,datasetIndex:h,index:c})})),a}function Xi(t,e,i,s,n,o){return o||t.isPointInArea(e)?"r"!==i||s?Ui(t,e,i,s,n,o):function(t,e,i,s){let n=[];return $i(t,i,e,(function(t,i,o){const{startAngle:a,endAngle:r}=t.getProps(["startAngle","endAngle"],s),{angle:l}=X(t,{x:e.x,y:e.y});J(l,a,r)&&n.push({element:t,datasetIndex:i,index:o})})),n}(t,e,i,n):[]}function qi(t,e,i,s,n){const o=[],a="x"===i?"inXRange":"inYRange";let r=!1;return $i(t,i,e,((t,s,l)=>{t[a]&&t[a](e[i],n)&&(o.push({element:t,datasetIndex:s,index:l}),r=r||t.inRange(e.x,e.y,n))})),s&&!r?[]:o}var Ki={evaluateInteractionItems:$i,modes:{index(t,e,i,s){const n=ve(e,t),o=i.axis||"x",a=i.includeInvisible||!1,r=i.intersect?Yi(t,n,o,s,a):Xi(t,n,o,!1,s,a),l=[];return r.length?(t.getSortedVisibleDatasetMetas().forEach((t=>{const e=r[0].index,i=t.data[e];i&&!i.skip&&l.push({element:i,datasetIndex:t.index,index:e})})),l):[]},dataset(t,e,i,s){const n=ve(e,t),o=i.axis||"xy",a=i.includeInvisible||!1;let r=i.intersect?Yi(t,n,o,s,a):Xi(t,n,o,!1,s,a);if(r.length>0){const e=r[0].datasetIndex,i=t.getDatasetMeta(e).data;r=[];for(let t=0;t<i.length;++t)r.push({element:i[t],datasetIndex:e,index:t})}return r},point:(t,e,i,s)=>Yi(t,ve(e,t),i.axis||"xy",s,i.includeInvisible||!1),nearest(t,e,i,s){const n=ve(e,t),o=i.axis||"xy",a=i.includeInvisible||!1;return Xi(t,n,o,i.intersect,s,a)},x:(t,e,i,s)=>qi(t,ve(e,t),"x",i.intersect,s),y:(t,e,i,s)=>qi(t,ve(e,t),"y",i.intersect,s)}};const Gi=["left","top","right","bottom"];function Ji(t,e){return t.filter((t=>t.pos===e))}function Zi(t,e){return t.filter((t=>-1===Gi.indexOf(t.pos)&&t.box.axis===e))}function Qi(t,e){return t.sort(((t,i)=>{const s=e?i:t,n=e?t:i;return s.weight===n.weight?s.index-n.index:s.weight-n.weight}))}function ts(t,e){const i=function(t){const e={};for(const i of t){const{stack:t,pos:s,stackWeight:n}=i;if(!t||!Gi.includes(s))continue;const o=e[t]||(e[t]={count:0,placed:0,weight:0,size:0});o.count++,o.weight+=n}return e}(t),{vBoxMaxWidth:s,hBoxMaxHeight:n}=e;let o,a,r;for(o=0,a=t.length;o<a;++o){r=t[o];const{fullSize:a}=r.box,l=i[r.stack],h=l&&r.stackWeight/l.weight;r.horizontal?(r.width=h?h*s:a&&e.availableWidth,r.height=n):(r.width=s,r.height=h?h*n:a&&e.availableHeight)}return i}function es(t,e,i,s){return Math.max(t[i],e[i])+Math.max(t[s],e[s])}function is(t,e){t.top=Math.max(t.top,e.top),t.left=Math.max(t.left,e.left),t.bottom=Math.max(t.bottom,e.bottom),t.right=Math.max(t.right,e.right)}function ss(t,e,i,s){const{pos:n,box:a}=i,r=t.maxPadding;if(!o(n)){i.size&&(t[n]-=i.size);const e=s[i.stack]||{size:0,count:1};e.size=Math.max(e.size,i.horizontal?a.height:a.width),i.size=e.size/e.count,t[n]+=i.size}a.getPadding&&is(r,a.getPadding());const l=Math.max(0,e.outerWidth-es(r,t,"left","right")),h=Math.max(0,e.outerHeight-es(r,t,"top","bottom")),c=l!==t.w,d=h!==t.h;return t.w=l,t.h=h,i.horizontal?{same:c,other:d}:{same:d,other:c}}function ns(t,e){const i=e.maxPadding;function s(t){const s={left:0,top:0,right:0,bottom:0};return t.forEach((t=>{s[t]=Math.max(e[t],i[t])})),s}return s(t?["left","right"]:["top","bottom"])}function os(t,e,i,s){const n=[];let o,a,r,l,h,c;for(o=0,a=t.length,h=0;o<a;++o){r=t[o],l=r.box,l.update(r.width||e.w,r.height||e.h,ns(r.horizontal,e));const{same:a,other:d}=ss(e,i,r,s);h|=a&&n.length,c=c||d,l.fullSize||n.push(r)}return h&&os(n,e,i,s)||c}function as(t,e,i,s,n){t.top=i,t.left=e,t.right=e+s,t.bottom=i+n,t.width=s,t.height=n}function rs(t,e,i,s){const n=i.padding;let{x:o,y:a}=e;for(const r of t){const t=r.box,l=s[r.stack]||{count:1,placed:0,weight:1},h=r.stackWeight/l.weight||1;if(r.horizontal){const s=e.w*h,o=l.size||t.height;k(l.start)&&(a=l.start),t.fullSize?as(t,n.left,a,i.outerWidth-n.right-n.left,o):as(t,e.left+l.placed,a,s,o),l.start=a,l.placed+=s,a=t.bottom}else{const s=e.h*h,a=l.size||t.width;k(l.start)&&(o=l.start),t.fullSize?as(t,o,n.top,a,i.outerHeight-n.bottom-n.top):as(t,o,e.top+l.placed,a,s),l.start=o,l.placed+=s,o=t.right}}e.x=o,e.y=a}var ls={addBox(t,e){t.boxes||(t.boxes=[]),e.fullSize=e.fullSize||!1,e.position=e.position||"top",e.weight=e.weight||0,e._layers=e._layers||function(){return[{z:0,draw(t){e.draw(t)}}]},t.boxes.push(e)},removeBox(t,e){const i=t.boxes?t.boxes.indexOf(e):-1;-1!==i&&t.boxes.splice(i,1)},configure(t,e,i){e.fullSize=i.fullSize,e.position=i.position,e.weight=i.weight},update(t,e,i,s){if(!t)return;const n=ki(t.options.layout.padding),o=Math.max(e-n.width,0),a=Math.max(i-n.height,0),r=function(t){const e=function(t){const e=[];let i,s,n,o,a,r;for(i=0,s=(t||[]).length;i<s;++i)n=t[i],({position:o,options:{stack:a,stackWeight:r=1}}=n),e.push({index:i,box:n,pos:o,horizontal:n.isHorizontal(),weight:n.weight,stack:a&&o+a,stackWeight:r});return e}(t),i=Qi(e.filter((t=>t.box.fullSize)),!0),s=Qi(Ji(e,"left"),!0),n=Qi(Ji(e,"right")),o=Qi(Ji(e,"top"),!0),a=Qi(Ji(e,"bottom")),r=Zi(e,"x"),l=Zi(e,"y");return{fullSize:i,leftAndTop:s.concat(o),rightAndBottom:n.concat(l).concat(a).concat(r),chartArea:Ji(e,"chartArea"),vertical:s.concat(n).concat(l),horizontal:o.concat(a).concat(r)}}(t.boxes),l=r.vertical,h=r.horizontal;u(t.boxes,(t=>{"function"==typeof t.beforeLayout&&t.beforeLayout()}));const c=l.reduce(((t,e)=>e.box.options&&!1===e.box.options.display?t:t+1),0)||1,d=Object.freeze({outerWidth:e,outerHeight:i,padding:n,availableWidth:o,availableHeight:a,vBoxMaxWidth:o/2/c,hBoxMaxHeight:a/2}),f=Object.assign({},n);is(f,ki(s));const g=Object.assign({maxPadding:f,w:o,h:a,x:n.left,y:n.top},n),p=ts(l.concat(h),d);os(r.fullSize,g,d,p),os(l,g,d,p),os(h,g,d,p)&&os(l,g,d,p),function(t){const e=t.maxPadding;function i(i){const s=Math.max(e[i]-t[i],0);return t[i]+=s,s}t.y+=i("top"),t.x+=i("left"),i("right"),i("bottom")}(g),rs(r.leftAndTop,g,d,p),g.x+=g.w,g.y+=g.h,rs(r.rightAndBottom,g,d,p),t.chartArea={left:g.left,top:g.top,right:g.left+g.w,bottom:g.top+g.h,height:g.h,width:g.w},u(r.chartArea,(e=>{const i=e.box;Object.assign(i,t.chartArea),i.update(g.w,g.h,{left:0,top:0,right:0,bottom:0})}))}};class hs{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,i){}removeEventListener(t,e,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,i,s){return e=Math.max(0,e||t.width),i=i||t.height,{width:e,height:Math.max(0,s?Math.floor(e/s):i)}}isAttached(t){return!0}updateConfig(t){}}class cs extends hs{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ds="$chartjs",us={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},fs=t=>null===t||""===t;const gs=!!Se&&{passive:!0};function ps(t,e,i){t&&t.canvas&&t.canvas.removeEventListener(e,i,gs)}function ms(t,e){for(const i of t)if(i===e||i.contains(e))return!0}function xs(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{let e=!1;for(const i of t)e=e||ms(i.addedNodes,s),e=e&&!ms(i.removedNodes,s);e&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}function bs(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{let e=!1;for(const i of t)e=e||ms(i.removedNodes,s),e=e&&!ms(i.addedNodes,s);e&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}const _s=new Map;let ys=0;function vs(){const t=window.devicePixelRatio;t!==ys&&(ys=t,_s.forEach(((e,i)=>{i.currentDevicePixelRatio!==t&&e()})))}function Ms(t,e,i){const s=t.canvas,n=s&&ge(s);if(!n)return;const o=ct(((t,e)=>{const s=n.clientWidth;i(t,e),s<n.clientWidth&&i()}),window),a=new ResizeObserver((t=>{const e=t[0],i=e.contentRect.width,s=e.contentRect.height;0===i&&0===s||o(i,s)}));return a.observe(n),function(t,e){_s.size||window.addEventListener("resize",vs),_s.set(t,e)}(t,o),a}function ws(t,e,i){i&&i.disconnect(),"resize"===e&&function(t){_s.delete(t),_s.size||window.removeEventListener("resize",vs)}(t)}function ks(t,e,i){const s=t.canvas,n=ct((e=>{null!==t.ctx&&i(function(t,e){const i=us[t.type]||t.type,{x:s,y:n}=ve(t,e);return{type:i,chart:e,native:t,x:void 0!==s?s:null,y:void 0!==n?n:null}}(e,t))}),t);return function(t,e,i){t&&t.addEventListener(e,i,gs)}(s,e,n),n}class Ss extends hs{acquireContext(t,e){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(function(t,e){const i=t.style,s=t.getAttribute("height"),n=t.getAttribute("width");if(t[ds]={initial:{height:s,width:n,style:{display:i.display,height:i.height,width:i.width}}},i.display=i.display||"block",i.boxSizing=i.boxSizing||"border-box",fs(n)){const e=Pe(t,"width");void 0!==e&&(t.width=e)}if(fs(s))if(""===t.style.height)t.height=t.width/(e||2);else{const e=Pe(t,"height");void 0!==e&&(t.height=e)}}(t,e),i):null}releaseContext(t){const e=t.canvas;if(!e[ds])return!1;const i=e[ds].initial;["height","width"].forEach((t=>{const n=i[t];s(n)?e.removeAttribute(t):e.setAttribute(t,n)}));const n=i.style||{};return Object.keys(n).forEach((t=>{e.style[t]=n[t]})),e.width=e.width,delete e[ds],!0}addEventListener(t,e,i){this.removeEventListener(t,e);const s=t.$proxies||(t.$proxies={}),n={attach:xs,detach:bs,resize:Ms}[e]||ks;s[e]=n(t,e,i)}removeEventListener(t,e){const i=t.$proxies||(t.$proxies={}),s=i[e];if(!s)return;({attach:ws,detach:ws,resize:ws}[e]||ps)(t,e,s),i[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,i,s){return we(t,e,i,s)}isAttached(t){const e=t&&ge(t);return!(!e||!e.isConnected)}}function Ps(t){return!fe()||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas?cs:Ss}var Ds=Object.freeze({__proto__:null,BasePlatform:hs,BasicPlatform:cs,DomPlatform:Ss,_detectPlatform:Ps});const Cs="transparent",Os={boolean:(t,e,i)=>i>.5?e:t,color(t,e,i){const s=Qt(t||Cs),n=s.valid&&Qt(e||Cs);return n&&n.valid?n.mix(s,i).hexString():e},number:(t,e,i)=>t+(e-t)*i};class As{constructor(t,e,i,s){const n=e[i];s=Pi([t.to,s,n,t.from]);const o=Pi([t.from,n,s]);this._active=!0,this._fn=t.fn||Os[t.type||typeof o],this._easing=fi[t.easing]||fi.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=i,this._from=o,this._to=s,this._promises=void 0}active(){return this._active}update(t,e,i){if(this._active){this._notify(!1);const s=this._target[this._prop],n=i-this._start,o=this._duration-n;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=n,this._loop=!!t.loop,this._to=Pi([t.to,e,s,t.from]),this._from=Pi([t.from,s,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,i=this._duration,s=this._prop,n=this._from,o=this._loop,a=this._to;let r;if(this._active=n!==a&&(o||e<i),!this._active)return this._target[s]=a,void this._notify(!0);e<0?this._target[s]=n:(r=e/i%2,r=o&&r>1?2-r:r,r=this._easing(Math.min(1,Math.max(0,r))),this._target[s]=this._fn(n,a,r))}wait(){const t=this._promises||(this._promises=[]);return new Promise(((e,i)=>{t.push({res:e,rej:i})}))}_notify(t){const e=t?"res":"rej",i=this._promises||[];for(let t=0;t<i.length;t++)i[t][e]()}}class Ts{constructor(t,e){this._chart=t,this._properties=new Map,this.configure(e)}configure(t){if(!o(t))return;const e=Object.keys(ue.animation),i=this._properties;Object.getOwnPropertyNames(t).forEach((s=>{const a=t[s];if(!o(a))return;const r={};for(const t of e)r[t]=a[t];(n(a.properties)&&a.properties||[s]).forEach((t=>{t!==s&&i.has(t)||i.set(t,r)}))}))}_animateOptions(t,e){const i=e.options,s=function(t,e){if(!e)return;let i=t.options;if(!i)return void(t.options=e);i.$shared&&(t.options=i=Object.assign({},i,{$shared:!1,$animations:{}}));return i}(t,i);if(!s)return[];const n=this._createAnimations(s,i);return i.$shared&&function(t,e){const i=[],s=Object.keys(e);for(let e=0;e<s.length;e++){const n=t[s[e]];n&&n.active()&&i.push(n.wait())}return Promise.all(i)}(t.options.$animations,i).then((()=>{t.options=i}),(()=>{})),n}_createAnimations(t,e){const i=this._properties,s=[],n=t.$animations||(t.$animations={}),o=Object.keys(e),a=Date.now();let r;for(r=o.length-1;r>=0;--r){const l=o[r];if("$"===l.charAt(0))continue;if("options"===l){s.push(...this._animateOptions(t,e));continue}const h=e[l];let c=n[l];const d=i.get(l);if(c){if(d&&c.active()){c.update(d,h,a);continue}c.cancel()}d&&d.duration?(n[l]=c=new As(d,t,l,h),s.push(c)):t[l]=h}return s}update(t,e){if(0===this._properties.size)return void Object.assign(t,e);const i=this._createAnimations(t,e);return i.length?(bt.add(this._chart,i),!0):void 0}}function Ls(t,e){const i=t&&t.options||{},s=i.reverse,n=void 0===i.min?e:0,o=void 0===i.max?e:0;return{start:s?o:n,end:s?n:o}}function Es(t,e){const i=[],s=t._getSortedDatasetMetas(e);let n,o;for(n=0,o=s.length;n<o;++n)i.push(s[n].index);return i}function Rs(t,e,i,s={}){const n=t.keys,o="single"===s.mode;let r,l,h,c;if(null===e)return;let d=!1;for(r=0,l=n.length;r<l;++r){if(h=+n[r],h===i){if(d=!0,s.all)continue;break}c=t.values[h],a(c)&&(o||0===e||F(e)===F(c))&&(e+=c)}return d||s.all?e:0}function Is(t,e){const i=t&&t.options.stacked;return i||void 0===i&&void 0!==e.stack}function zs(t,e,i){const s=t[e]||(t[e]={});return s[i]||(s[i]={})}function Fs(t,e,i,s){for(const n of e.getMatchingVisibleMetas(s).reverse()){const e=t[n.index];if(i&&e>0||!i&&e<0)return n.index}return null}function Vs(t,e){const{chart:i,_cachedMeta:s}=t,n=i._stacks||(i._stacks={}),{iScale:o,vScale:a,index:r}=s,l=o.axis,h=a.axis,c=function(t,e,i){return`${t.id}.${e.id}.${i.stack||i.type}`}(o,a,s),d=e.length;let u;for(let t=0;t<d;++t){const i=e[t],{[l]:o,[h]:d}=i;u=(i._stacks||(i._stacks={}))[h]=zs(n,c,o),u[r]=d,u._top=Fs(u,a,!0,s.type),u._bottom=Fs(u,a,!1,s.type);(u._visualValues||(u._visualValues={}))[r]=d}}function Bs(t,e){const i=t.scales;return Object.keys(i).filter((t=>i[t].axis===e)).shift()}function Ws(t,e){const i=t.controller.index,s=t.vScale&&t.vScale.axis;if(s){e=e||t._parsed;for(const t of e){const e=t._stacks;if(!e||void 0===e[s]||void 0===e[s][i])return;delete e[s][i],void 0!==e[s]._visualValues&&void 0!==e[s]._visualValues[i]&&delete e[s]._visualValues[i]}}}const Ns=t=>"reset"===t||"none"===t,Hs=(t,e)=>e?t:Object.assign({},t);class js{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Is(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&Ws(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,i=this.getDataset(),s=(t,e,i,s)=>"x"===t?e:"r"===t?s:i,n=e.xAxisID=l(i.xAxisID,Bs(t,"x")),o=e.yAxisID=l(i.yAxisID,Bs(t,"y")),a=e.rAxisID=l(i.rAxisID,Bs(t,"r")),r=e.indexAxis,h=e.iAxisID=s(r,n,o,a),c=e.vAxisID=s(r,o,n,a);e.xScale=this.getScaleForId(n),e.yScale=this.getScaleForId(o),e.rScale=this.getScaleForId(a),e.iScale=this.getScaleForId(h),e.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&rt(this._data,this),t._stacked&&Ws(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),i=this._data;if(o(e)){const t=this._cachedMeta;this._data=function(t,e){const{iScale:i,vScale:s}=e,n="x"===i.axis?"x":"y",o="x"===s.axis?"x":"y",a=Object.keys(t),r=new Array(a.length);let l,h,c;for(l=0,h=a.length;l<h;++l)c=a[l],r[l]={[n]:c,[o]:t[c]};return r}(e,t)}else if(i!==e){if(i){rt(i,this);const t=this._cachedMeta;Ws(t),t._parsed=[]}e&&Object.isExtensible(e)&&at(e,this),this._syncList=[],this._data=e}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,i=this.getDataset();let s=!1;this._dataCheck();const n=e._stacked;e._stacked=Is(e.vScale,e),e.stack!==i.stack&&(s=!0,Ws(e),e.stack=i.stack),this._resyncElements(t),(s||n!==e._stacked)&&(Vs(this,e._parsed),e._stacked=Is(e.vScale,e))}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){const{_cachedMeta:i,_data:s}=this,{iScale:a,_stacked:r}=i,l=a.axis;let h,c,d,u=0===t&&e===s.length||i._sorted,f=t>0&&i._parsed[t-1];if(!1===this._parsing)i._parsed=s,i._sorted=!0,d=s;else{d=n(s[t])?this.parseArrayData(i,s,t,e):o(s[t])?this.parseObjectData(i,s,t,e):this.parsePrimitiveData(i,s,t,e);const a=()=>null===c[l]||f&&c[l]<f[l];for(h=0;h<e;++h)i._parsed[h+t]=c=d[h],u&&(a()&&(u=!1),f=c);i._sorted=u}r&&Vs(this,d)}parsePrimitiveData(t,e,i,s){const{iScale:n,vScale:o}=t,a=n.axis,r=o.axis,l=n.getLabels(),h=n===o,c=new Array(s);let d,u,f;for(d=0,u=s;d<u;++d)f=d+i,c[d]={[a]:h||n.parse(l[f],f),[r]:o.parse(e[f],f)};return c}parseArrayData(t,e,i,s){const{xScale:n,yScale:o}=t,a=new Array(s);let r,l,h,c;for(r=0,l=s;r<l;++r)h=r+i,c=e[h],a[r]={x:n.parse(c[0],h),y:o.parse(c[1],h)};return a}parseObjectData(t,e,i,s){const{xScale:n,yScale:o}=t,{xAxisKey:a="x",yAxisKey:r="y"}=this._parsing,l=new Array(s);let h,c,d,u;for(h=0,c=s;h<c;++h)d=h+i,u=e[d],l[h]={x:n.parse(M(u,a),d),y:o.parse(M(u,r),d)};return l}getParsed(t){return this._cachedMeta._parsed[t]}getDataElement(t){return this._cachedMeta.data[t]}applyStack(t,e,i){const s=this.chart,n=this._cachedMeta,o=e[t.axis];return Rs({keys:Es(s,!0),values:e._stacks[t.axis]._visualValues},o,n.index,{mode:i})}updateRangeFromParsed(t,e,i,s){const n=i[e.axis];let o=null===n?NaN:n;const a=s&&i._stacks[e.axis];s&&a&&(s.values=a,o=Rs(s,n,this._cachedMeta.index)),t.min=Math.min(t.min,o),t.max=Math.max(t.max,o)}getMinMax(t,e){const i=this._cachedMeta,s=i._parsed,n=i._sorted&&t===i.iScale,o=s.length,r=this._getOtherScale(t),l=((t,e,i)=>t&&!e.hidden&&e._stacked&&{keys:Es(i,!0),values:null})(e,i,this.chart),h={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:c,max:d}=function(t){const{min:e,max:i,minDefined:s,maxDefined:n}=t.getUserBounds();return{min:s?e:Number.NEGATIVE_INFINITY,max:n?i:Number.POSITIVE_INFINITY}}(r);let u,f;function g(){f=s[u];const e=f[r.axis];return!a(f[t.axis])||c>e||d<e}for(u=0;u<o&&(g()||(this.updateRangeFromParsed(h,t,f,l),!n));++u);if(n)for(u=o-1;u>=0;--u)if(!g()){this.updateRangeFromParsed(h,t,f,l);break}return h}getAllParsedValues(t){const e=this._cachedMeta._parsed,i=[];let s,n,o;for(s=0,n=e.length;s<n;++s)o=e[s][t.axis],a(o)&&i.push(o);return i}getMaxOverflow(){return!1}getLabelAndValue(t){const e=this._cachedMeta,i=e.iScale,s=e.vScale,n=this.getParsed(t);return{label:i?""+i.getLabelForValue(n[i.axis]):"",value:s?""+s.getLabelForValue(n[s.axis]):""}}_update(t){const e=this._cachedMeta;this.update(t||"default"),e._clip=function(t){let e,i,s,n;return o(t)?(e=t.top,i=t.right,s=t.bottom,n=t.left):e=i=s=n=t,{top:e,right:i,bottom:s,left:n,disabled:!1===t}}(l(this.options.clip,function(t,e,i){if(!1===i)return!1;const s=Ls(t,i),n=Ls(e,i);return{top:n.end,right:s.end,bottom:n.start,left:s.start}}(e.xScale,e.yScale,this.getMaxOverflow())))}update(t){}draw(){const t=this._ctx,e=this.chart,i=this._cachedMeta,s=i.data||[],n=e.chartArea,o=[],a=this._drawStart||0,r=this._drawCount||s.length-a,l=this.options.drawActiveElementsOnTop;let h;for(i.dataset&&i.dataset.draw(t,n,a,r),h=a;h<a+r;++h){const e=s[h];e.hidden||(e.active&&l?o.push(e):e.draw(t,n))}for(h=0;h<o.length;++h)o[h].draw(t,n)}getStyle(t,e){const i=e?"active":"default";return void 0===t&&this._cachedMeta.dataset?this.resolveDatasetElementOptions(i):this.resolveDataElementOptions(t||0,i)}getContext(t,e,i){const s=this.getDataset();let n;if(t>=0&&t<this._cachedMeta.data.length){const e=this._cachedMeta.data[t];n=e.$context||(e.$context=function(t,e,i){return Ci(t,{active:!1,dataIndex:e,parsed:void 0,raw:void 0,element:i,index:e,mode:"default",type:"data"})}(this.getContext(),t,e)),n.parsed=this.getParsed(t),n.raw=s.data[t],n.index=n.dataIndex=t}else n=this.$context||(this.$context=function(t,e){return Ci(t,{active:!1,dataset:void 0,datasetIndex:e,index:e,mode:"default",type:"dataset"})}(this.chart.getContext(),this.index)),n.dataset=s,n.index=n.datasetIndex=this.index;return n.active=!!e,n.mode=i,n}resolveDatasetElementOptions(t){return this._resolveElementOptions(this.datasetElementType.id,t)}resolveDataElementOptions(t,e){return this._resolveElementOptions(this.dataElementType.id,e,t)}_resolveElementOptions(t,e="default",i){const s="active"===e,n=this._cachedDataOpts,o=t+"-"+e,a=n[o],r=this.enableOptionSharing&&k(i);if(a)return Hs(a,r);const l=this.chart.config,h=l.datasetElementScopeKeys(this._type,t),c=s?[`${t}Hover`,"hover",t,""]:[t,""],d=l.getOptionScopes(this.getDataset(),h),u=Object.keys(ue.elements[t]),f=l.resolveNamedOptions(d,u,(()=>this.getContext(i,s,e)),c);return f.$shared&&(f.$shared=r,n[o]=Object.freeze(Hs(f,r))),f}_resolveAnimations(t,e,i){const s=this.chart,n=this._cachedDataOpts,o=`animation-${e}`,a=n[o];if(a)return a;let r;if(!1!==s.options.animation){const s=this.chart.config,n=s.datasetAnimationScopeKeys(this._type,e),o=s.getOptionScopes(this.getDataset(),n);r=s.createResolver(o,this.getContext(t,i,e))}const l=new Ts(s,r&&r.animations);return r&&r._cacheable&&(n[o]=Object.freeze(l)),l}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||Ns(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const i=this.resolveDataElementOptions(t,e),s=this._sharedOptions,n=this.getSharedOptions(i),o=this.includeOptions(e,n)||n!==s;return this.updateSharedOptions(n,e,i),{sharedOptions:n,includeOptions:o}}updateElement(t,e,i,s){Ns(s)?Object.assign(t,i):this._resolveAnimations(e,s).update(t,i)}updateSharedOptions(t,e,i){t&&!Ns(e)&&this._resolveAnimations(void 0,e).update(t,i)}_setStyle(t,e,i,s){t.active=s;const n=this.getStyle(e,s);this._resolveAnimations(e,i,s).update(t,{options:!s&&this.getSharedOptions(n)||n})}removeHoverStyle(t,e,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,e,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,i=this._cachedMeta.data;for(const[t,e,i]of this._syncList)this[t](e,i);this._syncList=[];const s=i.length,n=e.length,o=Math.min(n,s);o&&this.parse(0,o),n>s?this._insertElements(s,n-s,t):n<s&&this._removeElements(n,s-n)}_insertElements(t,e,i=!0){const s=this._cachedMeta,n=s.data,o=t+e;let a;const r=t=>{for(t.length+=e,a=t.length-1;a>=o;a--)t[a]=t[a-e]};for(r(n),a=t;a<o;++a)n[a]=new this.dataElementType;this._parsing&&r(s._parsed),this.parse(t,e),i&&this.updateElements(n,t,e,"reset")}updateElements(t,e,i,s){}_removeElements(t,e){const i=this._cachedMeta;if(this._parsing){const s=i._parsed.splice(t,e);i._stacked&&Ws(i,s)}i.data.splice(t,e)}_sync(t){if(this._parsing)this._syncList.push(t);else{const[e,i,s]=t;this[e](i,s)}this.chart._dataChanges.push([this.index,...t])}_onDataPush(){const t=arguments.length;this._sync(["_insertElements",this.getDataset().data.length-t,t])}_onDataPop(){this._sync(["_removeElements",this._cachedMeta.data.length-1,1])}_onDataShift(){this._sync(["_removeElements",0,1])}_onDataSplice(t,e){e&&this._sync(["_removeElements",t,e]);const i=arguments.length-2;i&&this._sync(["_insertElements",t,i])}_onDataUnshift(){this._sync(["_insertElements",0,arguments.length])}}class $s{static defaults={};static defaultRoutes=void 0;x;y;active=!1;options;$animations;tooltipPosition(t){const{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}hasValue(){return N(this.x)&&N(this.y)}getProps(t,e){const i=this.$animations;if(!e||!i)return this;const s={};return t.forEach((t=>{s[t]=i[t]&&i[t].active()?i[t]._to:this[t]})),s}}function Ys(t,e){const i=t.options.ticks,n=function(t){const e=t.options.offset,i=t._tickSize(),s=t._length/i+(e?0:1),n=t._maxLength/i;return Math.floor(Math.min(s,n))}(t),o=Math.min(i.maxTicksLimit||n,n),a=i.major.enabled?function(t){const e=[];let i,s;for(i=0,s=t.length;i<s;i++)t[i].major&&e.push(i);return e}(e):[],r=a.length,l=a[0],h=a[r-1],c=[];if(r>o)return function(t,e,i,s){let n,o=0,a=i[0];for(s=Math.ceil(s),n=0;n<t.length;n++)n===a&&(e.push(t[n]),o++,a=i[o*s])}(e,c,a,r/o),c;const d=function(t,e,i){const s=function(t){const e=t.length;let i,s;if(e<2)return!1;for(s=t[0],i=1;i<e;++i)if(t[i]-t[i-1]!==s)return!1;return s}(t),n=e.length/i;if(!s)return Math.max(n,1);const o=W(s);for(let t=0,e=o.length-1;t<e;t++){const e=o[t];if(e>n)return e}return Math.max(n,1)}(a,e,o);if(r>0){let t,i;const n=r>1?Math.round((h-l)/(r-1)):null;for(Us(e,c,d,s(n)?0:l-n,l),t=0,i=r-1;t<i;t++)Us(e,c,d,a[t],a[t+1]);return Us(e,c,d,h,s(n)?e.length:h+n),c}return Us(e,c,d),c}function Us(t,e,i,s,n){const o=l(s,0),a=Math.min(l(n,t.length),t.length);let r,h,c,d=0;for(i=Math.ceil(i),n&&(r=n-s,i=r/Math.floor(r/i)),c=o;c<0;)d++,c=Math.round(o+d*i);for(h=Math.max(o,0);h<a;h++)h===c&&(e.push(t[h]),d++,c=Math.round(o+d*i))}const Xs=(t,e,i)=>"top"===e||"left"===e?t[e]+i:t[e]-i,qs=(t,e)=>Math.min(e||t,t);function Ks(t,e){const i=[],s=t.length/e,n=t.length;let o=0;for(;o<n;o+=s)i.push(t[Math.floor(o)]);return i}function Gs(t,e,i){const s=t.ticks.length,n=Math.min(e,s-1),o=t._startPixel,a=t._endPixel,r=1e-6;let l,h=t.getPixelForTick(n);if(!(i&&(l=1===s?Math.max(h-o,a-h):0===e?(t.getPixelForTick(1)-h)/2:(h-t.getPixelForTick(n-1))/2,h+=n<e?l:-l,h<o-r||h>a+r)))return h}function Js(t){return t.drawTicks?t.tickLength:0}function Zs(t,e){if(!t.display)return 0;const i=Si(t.font,e),s=ki(t.padding);return(n(t.text)?t.text.length:1)*i.lineHeight+s.height}function Qs(t,e,i){let s=ut(t);return(i&&"right"!==e||!i&&"right"===e)&&(s=(t=>"left"===t?"right":"right"===t?"left":t)(s)),s}class tn extends $s{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,e){return t}getUserBounds(){let{_userMin:t,_userMax:e,_suggestedMin:i,_suggestedMax:s}=this;return t=r(t,Number.POSITIVE_INFINITY),e=r(e,Number.NEGATIVE_INFINITY),i=r(i,Number.POSITIVE_INFINITY),s=r(s,Number.NEGATIVE_INFINITY),{min:r(t,i),max:r(e,s),minDefined:a(t),maxDefined:a(e)}}getMinMax(t){let e,{min:i,max:s,minDefined:n,maxDefined:o}=this.getUserBounds();if(n&&o)return{min:i,max:s};const a=this.getMatchingVisibleMetas();for(let r=0,l=a.length;r<l;++r)e=a[r].controller.getMinMax(this,t),n||(i=Math.min(i,e.min)),o||(s=Math.max(s,e.max));return i=o&&i>s?s:i,s=n&&i>s?i:s,{min:r(i,r(s,i)),max:r(s,r(i,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){d(this.options.beforeUpdate,[this])}update(t,e,i){const{beginAtZero:s,grace:n,ticks:o}=this.options,a=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=Di(this,n,s),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const r=a<this.ticks.length;this._convertTicksToLabels(r?Ks(this.ticks,a):this.ticks),this.configure(),this.beforeCalculateLabelRotation(),this.calculateLabelRotation(),this.afterCalculateLabelRotation(),o.display&&(o.autoSkip||"auto"===o.source)&&(this.ticks=Ys(this,this.ticks),this._labelSizes=null,this.afterAutoSkip()),r&&this._convertTicksToLabels(this.ticks),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate()}configure(){let t,e,i=this.options.reverse;this.isHorizontal()?(t=this.left,e=this.right):(t=this.top,e=this.bottom,i=!i),this._startPixel=t,this._endPixel=e,this._reversePixels=i,this._length=e-t,this._alignToPixels=this.options.alignToPixels}afterUpdate(){d(this.options.afterUpdate,[this])}beforeSetDimensions(){d(this.options.beforeSetDimensions,[this])}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=0,this.right=this.width):(this.height=this.maxHeight,this.top=0,this.bottom=this.height),this.paddingLeft=0,this.paddingTop=0,this.paddingRight=0,this.paddingBottom=0}afterSetDimensions(){d(this.options.afterSetDimensions,[this])}_callHooks(t){this.chart.notifyPlugins(t,this.getContext()),d(this.options[t],[this])}beforeDataLimits(){this._callHooks("beforeDataLimits")}determineDataLimits(){}afterDataLimits(){this._callHooks("afterDataLimits")}beforeBuildTicks(){this._callHooks("beforeBuildTicks")}buildTicks(){return[]}afterBuildTicks(){this._callHooks("afterBuildTicks")}beforeTickToLabelConversion(){d(this.options.beforeTickToLabelConversion,[this])}generateTickLabels(t){const e=this.options.ticks;let i,s,n;for(i=0,s=t.length;i<s;i++)n=t[i],n.label=d(e.callback,[n.value,i,t],this)}afterTickToLabelConversion(){d(this.options.afterTickToLabelConversion,[this])}beforeCalculateLabelRotation(){d(this.options.beforeCalculateLabelRotation,[this])}calculateLabelRotation(){const t=this.options,e=t.ticks,i=qs(this.ticks.length,t.ticks.maxTicksLimit),s=e.minRotation||0,n=e.maxRotation;let o,a,r,l=s;if(!this._isVisible()||!e.display||s>=n||i<=1||!this.isHorizontal())return void(this.labelRotation=s);const h=this._getLabelSizes(),c=h.widest.width,d=h.highest.height,u=Z(this.chart.width-c,0,this.maxWidth);o=t.offset?this.maxWidth/i:u/(i-1),c+6>o&&(o=u/(i-(t.offset?.5:1)),a=this.maxHeight-Js(t.grid)-e.padding-Zs(t.title,this.chart.options.font),r=Math.sqrt(c*c+d*d),l=Y(Math.min(Math.asin(Z((h.highest.height+6)/o,-1,1)),Math.asin(Z(a/r,-1,1))-Math.asin(Z(d/r,-1,1)))),l=Math.max(s,Math.min(n,l))),this.labelRotation=l}afterCalculateLabelRotation(){d(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){d(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:i,title:s,grid:n}}=this,o=this._isVisible(),a=this.isHorizontal();if(o){const o=Zs(s,e.options.font);if(a?(t.width=this.maxWidth,t.height=Js(n)+o):(t.height=this.maxHeight,t.width=Js(n)+o),i.display&&this.ticks.length){const{first:e,last:s,widest:n,highest:o}=this._getLabelSizes(),r=2*i.padding,l=$(this.labelRotation),h=Math.cos(l),c=Math.sin(l);if(a){const e=i.mirror?0:c*n.width+h*o.height;t.height=Math.min(this.maxHeight,t.height+e+r)}else{const e=i.mirror?0:h*n.width+c*o.height;t.width=Math.min(this.maxWidth,t.width+e+r)}this._calculatePadding(e,s,c,h)}}this._handleMargins(),a?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,i,s){const{ticks:{align:n,padding:o},position:a}=this.options,r=0!==this.labelRotation,l="top"!==a&&"x"===this.axis;if(this.isHorizontal()){const a=this.getPixelForTick(0)-this.left,h=this.right-this.getPixelForTick(this.ticks.length-1);let c=0,d=0;r?l?(c=s*t.width,d=i*e.height):(c=i*t.height,d=s*e.width):"start"===n?d=e.width:"end"===n?c=t.width:"inner"!==n&&(c=t.width/2,d=e.width/2),this.paddingLeft=Math.max((c-a+o)*this.width/(this.width-a),0),this.paddingRight=Math.max((d-h+o)*this.width/(this.width-h),0)}else{let i=e.height/2,s=t.height/2;"start"===n?(i=0,s=t.height):"end"===n&&(i=e.height,s=0),this.paddingTop=i+o,this.paddingBottom=s+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){d(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return"top"===e||"bottom"===e||"x"===t}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){let e,i;for(this.beforeTickToLabelConversion(),this.generateTickLabels(t),e=0,i=t.length;e<i;e++)s(t[e].label)&&(t.splice(e,1),i--,e--);this.afterTickToLabelConversion()}_getLabelSizes(){let t=this._labelSizes;if(!t){const e=this.options.ticks.sampleSize;let i=this.ticks;e<i.length&&(i=Ks(i,e)),this._labelSizes=t=this._computeLabelSizes(i,i.length,this.options.ticks.maxTicksLimit)}return t}_computeLabelSizes(t,e,i){const{ctx:o,_longestTextCache:a}=this,r=[],l=[],h=Math.floor(e/qs(e,i));let c,d,f,g,p,m,x,b,_,y,v,M=0,w=0;for(c=0;c<e;c+=h){if(g=t[c].label,p=this._resolveTickFontOptions(c),o.font=m=p.string,x=a[m]=a[m]||{data:{},gc:[]},b=p.lineHeight,_=y=0,s(g)||n(g)){if(n(g))for(d=0,f=g.length;d<f;++d)v=g[d],s(v)||n(v)||(_=Ce(o,x.data,x.gc,_,v),y+=b)}else _=Ce(o,x.data,x.gc,_,g),y=b;r.push(_),l.push(y),M=Math.max(_,M),w=Math.max(y,w)}!function(t,e){u(t,(t=>{const i=t.gc,s=i.length/2;let n;if(s>e){for(n=0;n<s;++n)delete t.data[i[n]];i.splice(0,s)}}))}(a,e);const k=r.indexOf(M),S=l.indexOf(w),P=t=>({width:r[t]||0,height:l[t]||0});return{first:P(0),last:P(e-1),widest:P(k),highest:P(S),widths:r,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return Q(this._alignToPixels?Ae(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&t<e.length){const i=e[t];return i.$context||(i.$context=function(t,e,i){return Ci(t,{tick:i,index:e,type:"tick"})}(this.getContext(),t,i))}return this.$context||(this.$context=Ci(this.chart.getContext(),{scale:this,type:"scale"}))}_tickSize(){const t=this.options.ticks,e=$(this.labelRotation),i=Math.abs(Math.cos(e)),s=Math.abs(Math.sin(e)),n=this._getLabelSizes(),o=t.autoSkipPadding||0,a=n?n.widest.width+o:0,r=n?n.highest.height+o:0;return this.isHorizontal()?r*i>a*s?a/i:r/s:r*s<a*i?r/i:a/s}_isVisible(){const t=this.options.display;return"auto"!==t?!!t:this.getMatchingVisibleMetas().length>0}_computeGridLineItems(t){const e=this.axis,i=this.chart,s=this.options,{grid:n,position:a,border:r}=s,h=n.offset,c=this.isHorizontal(),d=this.ticks.length+(h?1:0),u=Js(n),f=[],g=r.setContext(this.getContext()),p=g.display?g.width:0,m=p/2,x=function(t){return Ae(i,t,p)};let b,_,y,v,M,w,k,S,P,D,C,O;if("top"===a)b=x(this.bottom),w=this.bottom-u,S=b-m,D=x(t.top)+m,O=t.bottom;else if("bottom"===a)b=x(this.top),D=t.top,O=x(t.bottom)-m,w=b+m,S=this.top+u;else if("left"===a)b=x(this.right),M=this.right-u,k=b-m,P=x(t.left)+m,C=t.right;else if("right"===a)b=x(this.left),P=t.left,C=x(t.right)-m,M=b+m,k=this.left+u;else if("x"===e){if("center"===a)b=x((t.top+t.bottom)/2+.5);else if(o(a)){const t=Object.keys(a)[0],e=a[t];b=x(this.chart.scales[t].getPixelForValue(e))}D=t.top,O=t.bottom,w=b+m,S=w+u}else if("y"===e){if("center"===a)b=x((t.left+t.right)/2);else if(o(a)){const t=Object.keys(a)[0],e=a[t];b=x(this.chart.scales[t].getPixelForValue(e))}M=b-m,k=M-u,P=t.left,C=t.right}const A=l(s.ticks.maxTicksLimit,d),T=Math.max(1,Math.ceil(d/A));for(_=0;_<d;_+=T){const t=this.getContext(_),e=n.setContext(t),s=r.setContext(t),o=e.lineWidth,a=e.color,l=s.dash||[],d=s.dashOffset,u=e.tickWidth,g=e.tickColor,p=e.tickBorderDash||[],m=e.tickBorderDashOffset;y=Gs(this,_,h),void 0!==y&&(v=Ae(i,y,o),c?M=k=P=C=v:w=S=D=O=v,f.push({tx1:M,ty1:w,tx2:k,ty2:S,x1:P,y1:D,x2:C,y2:O,width:o,color:a,borderDash:l,borderDashOffset:d,tickWidth:u,tickColor:g,tickBorderDash:p,tickBorderDashOffset:m}))}return this._ticksLength=d,this._borderValue=b,f}_computeLabelItems(t){const e=this.axis,i=this.options,{position:s,ticks:a}=i,r=this.isHorizontal(),l=this.ticks,{align:h,crossAlign:c,padding:d,mirror:u}=a,f=Js(i.grid),g=f+d,p=u?-d:g,m=-$(this.labelRotation),x=[];let b,_,y,v,M,w,k,S,P,D,C,O,A="middle";if("top"===s)w=this.bottom-p,k=this._getXAxisLabelAlignment();else if("bottom"===s)w=this.top+p,k=this._getXAxisLabelAlignment();else if("left"===s){const t=this._getYAxisLabelAlignment(f);k=t.textAlign,M=t.x}else if("right"===s){const t=this._getYAxisLabelAlignment(f);k=t.textAlign,M=t.x}else if("x"===e){if("center"===s)w=(t.top+t.bottom)/2+g;else if(o(s)){const t=Object.keys(s)[0],e=s[t];w=this.chart.scales[t].getPixelForValue(e)+g}k=this._getXAxisLabelAlignment()}else if("y"===e){if("center"===s)M=(t.left+t.right)/2-g;else if(o(s)){const t=Object.keys(s)[0],e=s[t];M=this.chart.scales[t].getPixelForValue(e)}k=this._getYAxisLabelAlignment(f).textAlign}"y"===e&&("start"===h?A="top":"end"===h&&(A="bottom"));const T=this._getLabelSizes();for(b=0,_=l.length;b<_;++b){y=l[b],v=y.label;const t=a.setContext(this.getContext(b));S=this.getPixelForTick(b)+a.labelOffset,P=this._resolveTickFontOptions(b),D=P.lineHeight,C=n(v)?v.length:1;const e=C/2,i=t.color,o=t.textStrokeColor,h=t.textStrokeWidth;let d,f=k;if(r?(M=S,"inner"===k&&(f=b===_-1?this.options.reverse?"left":"right":0===b?this.options.reverse?"right":"left":"center"),O="top"===s?"near"===c||0!==m?-C*D+D/2:"center"===c?-T.highest.height/2-e*D+D:-T.highest.height+D/2:"near"===c||0!==m?D/2:"center"===c?T.highest.height/2-e*D:T.highest.height-C*D,u&&(O*=-1),0===m||t.showLabelBackdrop||(M+=D/2*Math.sin(m))):(w=S,O=(1-C)*D/2),t.showLabelBackdrop){const e=ki(t.backdropPadding),i=T.heights[b],s=T.widths[b];let n=O-e.top,o=0-e.left;switch(A){case"middle":n-=i/2;break;case"bottom":n-=i}switch(k){case"center":o-=s/2;break;case"right":o-=s;break;case"inner":b===_-1?o-=s:b>0&&(o-=s/2)}d={left:o,top:n,width:s+e.width,height:i+e.height,color:t.backdropColor}}x.push({label:v,font:P,textOffset:O,options:{rotation:m,color:i,strokeColor:o,strokeWidth:h,textAlign:f,textBaseline:A,translation:[M,w],backdrop:d}})}return x}_getXAxisLabelAlignment(){const{position:t,ticks:e}=this.options;if(-$(this.labelRotation))return"top"===t?"left":"right";let i="center";return"start"===e.align?i="left":"end"===e.align?i="right":"inner"===e.align&&(i="inner"),i}_getYAxisLabelAlignment(t){const{position:e,ticks:{crossAlign:i,mirror:s,padding:n}}=this.options,o=t+n,a=this._getLabelSizes().widest.width;let r,l;return"left"===e?s?(l=this.right+n,"near"===i?r="left":"center"===i?(r="center",l+=a/2):(r="right",l+=a)):(l=this.right-o,"near"===i?r="right":"center"===i?(r="center",l-=a/2):(r="left",l=this.left)):"right"===e?s?(l=this.left+n,"near"===i?r="right":"center"===i?(r="center",l-=a/2):(r="left",l-=a)):(l=this.left+o,"near"===i?r="left":"center"===i?(r="center",l+=a/2):(r="right",l=this.right)):r="right",{textAlign:r,x:l}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,e=this.options.position;return"left"===e||"right"===e?{top:0,left:this.left,bottom:t.height,right:this.right}:"top"===e||"bottom"===e?{top:this.top,left:0,bottom:this.bottom,right:t.width}:void 0}drawBackground(){const{ctx:t,options:{backgroundColor:e},left:i,top:s,width:n,height:o}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(i,s,n,o),t.restore())}getLineWidthForValue(t){const e=this.options.grid;if(!this._isVisible()||!e.display)return 0;const i=this.ticks.findIndex((e=>e.value===t));if(i>=0){return e.setContext(this.getContext(i)).lineWidth}return 0}drawGrid(t){const e=this.options.grid,i=this.ctx,s=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let n,o;const a=(t,e,s)=>{s.width&&s.color&&(i.save(),i.lineWidth=s.width,i.strokeStyle=s.color,i.setLineDash(s.borderDash||[]),i.lineDashOffset=s.borderDashOffset,i.beginPath(),i.moveTo(t.x,t.y),i.lineTo(e.x,e.y),i.stroke(),i.restore())};if(e.display)for(n=0,o=s.length;n<o;++n){const t=s[n];e.drawOnChartArea&&a({x:t.x1,y:t.y1},{x:t.x2,y:t.y2},t),e.drawTicks&&a({x:t.tx1,y:t.ty1},{x:t.tx2,y:t.ty2},{color:t.tickColor,width:t.tickWidth,borderDash:t.tickBorderDash,borderDashOffset:t.tickBorderDashOffset})}}drawBorder(){const{chart:t,ctx:e,options:{border:i,grid:s}}=this,n=i.setContext(this.getContext()),o=i.display?n.width:0;if(!o)return;const a=s.setContext(this.getContext(0)).lineWidth,r=this._borderValue;let l,h,c,d;this.isHorizontal()?(l=Ae(t,this.left,o)-o/2,h=Ae(t,this.right,a)+a/2,c=d=r):(c=Ae(t,this.top,o)-o/2,d=Ae(t,this.bottom,a)+a/2,l=h=r),e.save(),e.lineWidth=n.width,e.strokeStyle=n.color,e.beginPath(),e.moveTo(l,c),e.lineTo(h,d),e.stroke(),e.restore()}drawLabels(t){if(!this.options.ticks.display)return;const e=this.ctx,i=this._computeLabelArea();i&&Ie(e,i);const s=this.getLabelItems(t);for(const t of s){const i=t.options,s=t.font;Ne(e,t.label,0,t.textOffset,s,i)}i&&ze(e)}drawTitle(){const{ctx:t,options:{position:e,title:i,reverse:s}}=this;if(!i.display)return;const a=Si(i.font),r=ki(i.padding),l=i.align;let h=a.lineHeight/2;"bottom"===e||"center"===e||o(e)?(h+=r.bottom,n(i.text)&&(h+=a.lineHeight*(i.text.length-1))):h+=r.top;const{titleX:c,titleY:d,maxWidth:u,rotation:f}=function(t,e,i,s){const{top:n,left:a,bottom:r,right:l,chart:h}=t,{chartArea:c,scales:d}=h;let u,f,g,p=0;const m=r-n,x=l-a;if(t.isHorizontal()){if(f=ft(s,a,l),o(i)){const t=Object.keys(i)[0],s=i[t];g=d[t].getPixelForValue(s)+m-e}else g="center"===i?(c.bottom+c.top)/2+m-e:Xs(t,i,e);u=l-a}else{if(o(i)){const t=Object.keys(i)[0],s=i[t];f=d[t].getPixelForValue(s)-x+e}else f="center"===i?(c.left+c.right)/2-x+e:Xs(t,i,e);g=ft(s,r,n),p="left"===i?-E:E}return{titleX:f,titleY:g,maxWidth:u,rotation:p}}(this,h,e,l);Ne(t,i.text,0,0,a,{color:i.color,maxWidth:u,rotation:f,textAlign:Qs(l,e,s),textBaseline:"middle",translation:[c,d]})}draw(t){this._isVisible()&&(this.drawBackground(),this.drawGrid(t),this.drawBorder(),this.drawTitle(),this.drawLabels(t))}_layers(){const t=this.options,e=t.ticks&&t.ticks.z||0,i=l(t.grid&&t.grid.z,-1),s=l(t.border&&t.border.z,0);return this._isVisible()&&this.draw===tn.prototype.draw?[{z:i,draw:t=>{this.drawBackground(),this.drawGrid(t),this.drawTitle()}},{z:s,draw:()=>{this.drawBorder()}},{z:e,draw:t=>{this.drawLabels(t)}}]:[{z:e,draw:t=>{this.draw(t)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",s=[];let n,o;for(n=0,o=e.length;n<o;++n){const o=e[n];o[i]!==this.id||t&&o.type!==t||s.push(o)}return s}_resolveTickFontOptions(t){return Si(this.options.ticks.setContext(this.getContext(t)).font)}_maxDigits(){const t=this._resolveTickFontOptions(0).lineHeight;return(this.isHorizontal()?this.width:this.height)/t}}class en{constructor(t,e,i){this.type=t,this.scope=e,this.override=i,this.items=Object.create(null)}isForType(t){return Object.prototype.isPrototypeOf.call(this.type.prototype,t.prototype)}register(t){const e=Object.getPrototypeOf(t);let i;(function(t){return"id"in t&&"defaults"in t})(e)&&(i=this.register(e));const s=this.items,n=t.id,o=this.scope+"."+n;if(!n)throw new Error("class does not have id: "+t);return n in s||(s[n]=t,function(t,e,i){const s=x(Object.create(null),[i?ue.get(i):{},ue.get(e),t.defaults]);ue.set(e,s),t.defaultRoutes&&function(t,e){Object.keys(e).forEach((i=>{const s=i.split("."),n=s.pop(),o=[t].concat(s).join("."),a=e[i].split("."),r=a.pop(),l=a.join(".");ue.route(o,n,l,r)}))}(e,t.defaultRoutes);t.descriptors&&ue.describe(e,t.descriptors)}(t,o,i),this.override&&ue.override(t.id,t.overrides)),o}get(t){return this.items[t]}unregister(t){const e=this.items,i=t.id,s=this.scope;i in e&&delete e[i],s&&i in ue[s]&&(delete ue[s][i],this.override&&delete re[i])}}class sn{constructor(){this.controllers=new en(js,"datasets",!0),this.elements=new en($s,"elements"),this.plugins=new en(Object,"plugins"),this.scales=new en(tn,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,i){[...e].forEach((e=>{const s=i||this._getRegistryForType(e);i||s.isForType(e)||s===this.plugins&&e.id?this._exec(t,s,e):u(e,(e=>{const s=i||this._getRegistryForType(e);this._exec(t,s,e)}))}))}_exec(t,e,i){const s=w(t);d(i["before"+s],[],i),e[t](i),d(i["after"+s],[],i)}_getRegistryForType(t){for(let e=0;e<this._typedRegistries.length;e++){const i=this._typedRegistries[e];if(i.isForType(t))return i}return this.plugins}_get(t,e,i){const s=e.get(t);if(void 0===s)throw new Error('"'+t+'" is not a registered '+i+".");return s}}var nn=new sn;class on{constructor(){this._init=
vendor: 3,433 bytes, line 46441
46441[]}notify(t,e,i,s){"beforeInit"===e&&(this._init=this._createDescriptors(t,!0),this._notify(this._init,t,"install"));const n=s?this._descriptors(t).filter(s):this._descriptors(t),o=this._notify(n,t,e,i);return"afterDestroy"===e&&(this._notify(n,t,"stop"),this._notify(this._init,t,"uninstall")),o}_notify(t,e,i,s){s=s||{};for(const n of t){const t=n.plugin;if(!1===d(t[i],[e,s,n.options],t)&&s.cancelable)return!1}return!0}invalidate(){s(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(t){if(this._cache)return this._cache;const e=this._cache=this._createDescriptors(t);return this._notifyStateChanges(t),e}_createDescriptors(t,e){const i=t&&t.config,s=l(i.options&&i.options.plugins,{}),n=function(t){const e={},i=[],s=Object.keys(nn.plugins.items);for(let t=0;t<s.length;t++)i.push(nn.getPlugin(s[t]));const n=t.plugins||[];for(let t=0;t<n.length;t++){const s=n[t];-1===i.indexOf(s)&&(i.push(s),e[s.id]=!0)}return{plugins:i,localIds:e}}(i);return!1!==s||e?function(t,{plugins:e,localIds:i},s,n){const o=[],a=t.getContext();for(const r of e){const e=r.id,l=an(s[e],n);null!==l&&o.push({plugin:r,options:rn(t.config,{plugin:r,local:i[e]},l,a)})}return o}(t,n,s,e):[]}_notifyStateChanges(t){const e=this._oldCache||[],i=this._cache,s=(t,e)=>t.filter((t=>!e.some((e=>t.plugin.id===e.plugin.id))));this._notify(s(e,i),t,"stop"),this._notify(s(i,e),t,"start")}}function an(t,e){return e||!1!==t?!0===t?{}:t:null}function rn(t,{plugin:e,local:i},s,n){const o=t.pluginScopeKeys(e),a=t.getOptionScopes(s,o);return i&&e.defaults&&a.push(e.defaults),t.createResolver(a,n,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function ln(t,e){const i=ue.datasets[t]||{};return((e.datasets||{})[t]||{}).indexAxis||e.indexAxis||i.indexAxis||"x"}function hn(t){if("x"===t||"y"===t||"r"===t)return t}function cn(t,...e){if(hn(t))return t;for(const s of e){const e=s.axis||("top"===(i=s.position)||"bottom"===i?"x":"left"===i||"right"===i?"y":void 0)||t.length>1&&hn(t[0].toLowerCase());if(e)return e}var i;throw new Error(`Cannot determine type of '${t}' axis. Please provide 'axis' or 'position' option.`)}function dn(t,e,i){if(i[e+"AxisID"]===t)return{axis:e}}function un(t,e){const i=re[t.type]||{scales:{}},s=e.scales||{},n=ln(t.type,e),a=Object.create(null);return Object.keys(s).forEach((e=>{const r=s[e];if(!o(r))return console.error(`Invalid scale configuration for scale: ${e}`);if(r._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${e}`);const l=cn(e,r,function(t,e){if(e.data&&e.data.datasets){const i=e.data.datasets.filter((e=>e.xAxisID===t||e.yAxisID===t));if(i.length)return dn(t,"x",i[0])||dn(t,"y",i[0])}return{}}(e,t),ue.scales[r.type]),h=function(t,e){return t===e?"_index_":"_value_"}(l,n),c=i.scales||{};a[e]=b(Object.create(null),[{axis:l},r,c[l],c[h]])})),t.data.datasets.forEach((i=>{const n=i.type||t.type,o=i.indexAxis||ln(n,e),r=(re[n]||{}).scales||{};Object.keys(r).forEach((t=>{const e=function(t,e){let i=t;return"_index_"===t?i=e:"_value_"===t&&(i="x"===e?"y":"x"),i}(t,o),n=i[e+"AxisID"]||e;a[n]=a[n]||Object.create(null),b(a[n],[{axis:e},s[n],r[t]])}))})),Object.keys(a).forEach((t=>{const e=a[t];b(e,[ue.scales[e.type],ue.scale])})),a}function fn(t){const e=t.options||(t.options={});e.plugins=l(e.plugins,{}),e.scales=un(t,e)}function gn(t){return(t=t||{}).datasets=t.datasets||[],t.labels=t.labels||[],t}const pn=new Map,mn=new Set;function xn(t,e){let i=pn.get(t);
vendor: 3,327 bytes, line 46441
46441return i||(i=e(),pn.set(t,i),mn.add(i)),i}const bn=(t,e,i)=>{const s=M(e,i);void 0!==s&&t.add(s)};class _n{constructor(t){this._config=function(t){return(t=t||{}).data=gn(t.data),fn(t),t}(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=gn(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),fn(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return xn(t,(()=>[[`datasets.${t}`,""]]))}datasetAnimationScopeKeys(t,e){return xn(`${t}.transition.${e}`,(()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]]))}datasetElementScopeKeys(t,e){return xn(`${t}-${e}`,(()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]]))}pluginScopeKeys(t){const e=t.id;return xn(`${this.type}-plugin-${e}`,(()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]]))}_cachedScopes(t,e){const i=this._scopeCache;let s=i.get(t);return s&&!e||(s=new Map,i.set(t,s)),s}getOptionScopes(t,e,i){const{options:s,type:n}=this,o=this._cachedScopes(t,i),a=o.get(e);if(a)return a;const r=new Set;e.forEach((e=>{t&&(r.add(t),e.forEach((e=>bn(r,t,e)))),e.forEach((t=>bn(r,s,t))),e.forEach((t=>bn(r,re[n]||{},t))),e.forEach((t=>bn(r,ue,t))),e.forEach((t=>bn(r,le,t)))}));const l=Array.from(r);return 0===l.length&&l.push(Object.create(null)),mn.has(e)&&o.set(e,l),l}chartOptionScopes(){const{options:t,type:e}=this;return[t,re[e]||{},ue.datasets[e]||{},{type:e},ue,le]}resolveNamedOptions(t,e,i,s=[""]){const o={$shared:!0},{resolver:a,subPrefixes:r}=yn(this._resolverCache,t,s);let l=a;if(function(t,e){const{isScriptable:i,isIndexable:s}=Ye(t);for(const o of e){const e=i(o),a=s(o),r=(a||e)&&t[o];if(e&&(S(r)||vn(r))||a&&n(r))return!0}return!1}(a,e)){o.$shared=!1;l=$e(a,i=S(i)?i():i,this.createResolver(t,i,r))}for(const t of e)o[t]=l[t];return o}createResolver(t,e,i=[""],s){const{resolver:n}=yn(this._resolverCache,t,i);return o(e)?$e(n,e,void 0,s):n}}function yn(t,e,i){let s=t.get(e);s||(s=new Map,t.set(e,s));const n=i.join();let o=s.get(n);if(!o){o={resolver:je(e,i),subPrefixes:i.filter((t=>!t.toLowerCase().includes("hover")))},s.set(n,o)}return o}const vn=t=>o(t)&&Object.getOwnPropertyNames(t).some((e=>S(t[e])));const Mn=["top","bottom","left","right","chartArea"];function wn(t,e){return"top"===t||"bottom"===t||-1===Mn.indexOf(t)&&"x"===e}function kn(t,e){return function(i,s){return i[t]===s[t]?i[e]-s[e]:i[t]-s[t]}}function Sn(t){const e=t.chart,i=e.options.animation;e.notifyPlugins("afterRender"),d(i&&i.onComplete,[t],e)}function Pn(t){const e=t.chart,i=e.options.animation;d(i&&i.onProgress,[t],e)}function Dn(t){return fe()&&"string"==typeof t?t=document.getElementById(t):t&&t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas),t}const Cn={},On=t=>{const e=Dn(t);return Object.values(Cn).filter((t=>t.canvas===e)).pop()};function An(t,e,i){const s=Object.keys(t);for(const n of s){const s=+n;if(s>=e){const o=t[n];delete t[n],(i>0||s>e)&&(t[s+i]=o)}}}class Tn{static defaults=ue;static instances=Cn;static overrides=re;static registry=nn;static version="4.5.0
vendor: 16,156 bytes, line 46441
46441";static getChart=On;static register(...t){nn.add(...t),Ln()}static unregister(...t){nn.remove(...t),Ln()}constructor(t,e){const s=this.config=new _n(e),n=Dn(t),o=On(n);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const a=s.createResolver(s.chartOptionScopes(),this.getContext());this.platform=new(s.platform||Ps(n)),this.platform.updateConfig(s);const r=this.platform.acquireContext(n,a.aspectRatio),l=r&&r.canvas,h=l&&l.height,c=l&&l.width;this.id=i(),this.ctx=r,this.canvas=l,this.width=c,this.height=h,this._options=a,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new on,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=dt((t=>this.update(t)),a.resizeDelay||0),this._dataChanges=[],Cn[this.id]=this,r&&l?(bt.listen(this,"complete",Sn),bt.listen(this,"progress",Pn),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:i,height:n,_aspectRatio:o}=this;return s(t)?e&&o?o:n?i/n:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return nn}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():ke(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Te(this.canvas,this.ctx),this}stop(){return bt.stop(this),this}resize(t,e){bt.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const i=this.options,s=this.canvas,n=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(s,t,e,n),a=i.devicePixelRatio||this.platform.getDevicePixelRatio(),r=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,ke(this,a,!0)&&(this.notifyPlugins("resize",{size:o}),d(i.onResize,[this,o],this),this.attached&&this._doResize(r)&&this.render())}ensureScalesHaveIDs(){u(this.options.scales||{},((t,e)=>{t.id=e}))}buildOrUpdateScales(){const t=this.options,e=t.scales,i=this.scales,s=Object.keys(i).reduce(((t,e)=>(t[e]=!1,t)),{});let n=[];e&&(n=n.concat(Object.keys(e).map((t=>{const i=e[t],s=cn(t,i),n="r"===s,o="x"===s;return{options:i,dposition:n?"chartArea":o?"bottom":"left",dtype:n?"radialLinear":o?"category":"linear"}})))),u(n,(e=>{const n=e.options,o=n.id,a=cn(o,n),r=l(n.type,e.dtype);void 0!==n.position&&wn(n.position,a)===wn(e.dposition)||(n.position=e.dposition),s[o]=!0;let h=null;if(o in i&&i[o].type===r)h=i[o];else{h=new(nn.getScale(r))({id:o,type:r,ctx:this.ctx,chart:this}),i[h.id]=h}h.init(n,t)})),u(s,((t,e)=>{t||delete i[e]})),u(i,(t=>{ls.configure(this,t,t.options),ls.addBox(this,t)}))}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,i=t.length;if(t.sort(((t,e)=>t.index-e.index)),i>e){for(let t=e;t<i;++t)this._destroyDatasetMeta(t);t.splice(e,i-e)}this._sortedMetasets=t.slice(0).sort(kn("order","index"))}_removeUnreferencedMetasets(){const{_metasets:t,data:{datasets:e}}=this;t.length>e.length&&delete this._stacks,t.forEach(((t,i)=>{0===e.filter((e=>e===t._dataset)).length&&this._destroyDatasetMeta(i)}))}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let i,s;for(this._removeUnreferencedMetasets(),i=0,s=e.length;i<s;i++){const s=e[i];let n=this.getDatasetMeta(i);const o=s.type||this.config.type;if(n.type&&n.type!==o&&(this._destroyDatasetMeta(i),n=this.getDatasetMeta(i)),n.type=o,n.indexAxis=s.indexAxis||ln(o,this.options),n.order=s.order||0,n.index=i,n.label=""+s.label,n.visible=this.isDatasetVisible(i),n.controller)n.controller.updateIndex(i),n.controller.linkScales();else{const e=nn.getController(o),{datasetElementType:s,dataElementType:a}=ue.datasets[o];Object.assign(e,{dataElementType:nn.getElement(a),datasetElementType:s&&nn.getElement(s)}),n.controller=new e(this,i),t.push(n.controller)}}return this._updateMetasets(),t}_resetElements(){u(this.data.datasets,((t,e)=>{this.getDatasetMeta(e).controller.reset()}),this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const i=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),s=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0}))return;const n=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let t=0,e=this.data.datasets.length;t<e;t++){const{controller:e}=this.getDatasetMeta(t),i=!s&&-1===n.indexOf(e);e.buildOrUpdateElements(i),o=Math.max(+e.getMaxOverflow(),o)}o=this._minPadding=i.layout.autoPadding?o:0,this._updateLayout(o),s||u(n,(t=>{t.reset()})),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(kn("z","_idx"));const{_active:a,_lastEvent:r}=this;r?this._eventHandler(r,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){u(this.scales,(t=>{ls.removeBox(this,t)})),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),i=new Set(t.events);P(e,i)&&!!this._responsiveListeners===t.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:i,start:s,count:n}of e){An(t,s,"_removeElements"===i?-n:n)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,i=e=>new Set(t.filter((t=>t[0]===e)).map(((t,e)=>e+","+t.splice(1).join(",")))),s=i(0);for(let t=1;t<e;t++)if(!P(s,i(t)))return;return Array.from(s).map((t=>t.split(","))).map((t=>({method:t[1],start:+t[2],count:+t[3]})))}_updateLayout(t){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;ls.update(this,this.width,this.height,t);const e=this.chartArea,i=e.width<=0||e.height<=0;this._layers=[],u(this.boxes,(t=>{i&&"chartArea"===t.position||(t.configure&&t.configure(),this._layers.push(...t._layers()))}),this),this._layers.forEach(((t,e)=>{t._idx=e})),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})){for(let t=0,e=this.data.datasets.length;t<e;++t)this.getDatasetMeta(t).controller.configure();for(let e=0,i=this.data.datasets.length;e<i;++e)this._updateDataset(e,S(t)?t({datasetIndex:e}):t);this.notifyPlugins("afterDatasetsUpdate",{mode:t})}}_updateDataset(t,e){const i=this.getDatasetMeta(t),s={meta:i,index:t,mode:e,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetUpdate",s)&&(i.controller._update(e),s.cancelable=!1,this.notifyPlugins("afterDatasetUpdate",s))}render(){!1!==this.notifyPlugins("beforeRender",{cancelable:!0})&&(bt.has(this)?this.attached&&!bt.running(this)&&bt.start(this):(this.draw(),Sn({chart:this})))}draw(){let t;if(this._resizeBeforeDraw){const{width:t,height:e}=this._resizeBeforeDraw;this._resizeBeforeDraw=null,this._resize(t,e)}if(this.clear(),this.width<=0||this.height<=0)return;if(!1===this.notifyPlugins("beforeDraw",{cancelable:!0}))return;const e=this._layers;for(t=0;t<e.length&&e[t].z<=0;++t)e[t].draw(this.chartArea);for(this._drawDatasets();t<e.length;++t)e[t].draw(this.chartArea);this.notifyPlugins("afterDraw")}_getSortedDatasetMetas(t){const e=this._sortedMetasets,i=[];let s,n;for(s=0,n=e.length;s<n;++s){const n=e[s];t&&!n.visible||i.push(n)}return i}getSortedVisibleDatasetMetas(){return this._getSortedDatasetMetas(!0)}_drawDatasets(){if(!1===this.notifyPlugins("beforeDatasetsDraw",{cancelable:!0}))return;const t=this.getSortedVisibleDatasetMetas();for(let e=t.length-1;e>=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,i={meta:t,index:t.index,cancelable:!0},s=Ni(this,t);!1!==this.notifyPlugins("beforeDatasetDraw",i)&&(s&&Ie(e,s),t.controller.draw(),s&&ze(e),i.cancelable=!1,this.notifyPlugins("afterDatasetDraw",i))}isPointInArea(t){return Re(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,i,s){const n=Ki.modes[e];return"function"==typeof n?n(this,t,i,s):[]}getDatasetMeta(t){const e=this.data.datasets[t],i=this._metasets;let s=i.filter((t=>t&&t._dataset===e)).pop();return s||(s={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},i.push(s)),s}getContext(){return this.$context||(this.$context=Ci(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const i=this.getDatasetMeta(t);return"boolean"==typeof i.hidden?!i.hidden:!e.hidden}setDatasetVisibility(t,e){this.getDatasetMeta(t).hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,i){const s=i?"show":"hide",n=this.getDatasetMeta(t),o=n.controller._resolveAnimations(void 0,s);k(e)?(n.data[e].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(n,{visible:i}),this.update((e=>e.datasetIndex===t?s:void 0)))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),bt.remove(this),t=0,e=this.data.datasets.length;t<e;++t)this._destroyDatasetMeta(t)}destroy(){this.notifyPlugins("beforeDestroy");const{canvas:t,ctx:e}=this;this._stop(),this.config.clearCache(),t&&(this.unbindEvents(),Te(t,e),this.platform.releaseContext(e),this.canvas=null,this.ctx=null),delete Cn[this.id],this.notifyPlugins("afterDestroy")}toBase64Image(...t){return this.canvas.toDataURL(...t)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){const t=this._listeners,e=this.platform,i=(i,s)=>{e.addEventListener(this,i,s),t[i]=s},s=(t,e,i)=>{t.offsetX=e,t.offsetY=i,this._eventHandler(t)};u(this.options.events,(t=>i(t,s)))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,i=(i,s)=>{e.addEventListener(this,i,s),t[i]=s},s=(i,s)=>{t[i]&&(e.removeEventListener(this,i,s),delete t[i])},n=(t,e)=>{this.canvas&&this.resize(t,e)};let o;const a=()=>{s("attach",a),this.attached=!0,this.resize(),i("resize",n),i("detach",o)};o=()=>{this.attached=!1,s("resize",n),this._stop(),this._resize(0,0),i("attach",a)},e.isAttached(this.canvas)?a():o()}unbindEvents(){u(this._listeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._listeners={},u(this._responsiveListeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._responsiveListeners=void 0}updateHoverStyle(t,e,i){const s=i?"set":"remove";let n,o,a,r;for("dataset"===e&&(n=this.getDatasetMeta(t[0].datasetIndex),n.controller["_"+s+"DatasetHoverStyle"]()),a=0,r=t.length;a<r;++a){o=t[a];const e=o&&this.getDatasetMeta(o.datasetIndex).controller;e&&e[s+"HoverStyle"](o.element,o.datasetIndex,o.index)}}getActiveElements(){return this._active||[]}setActiveElements(t){const e=this._active||[],i=t.map((({datasetIndex:t,index:e})=>{const i=this.getDatasetMeta(t);if(!i)throw new Error("No dataset found at index "+t);return{datasetIndex:t,element:i.data[e],index:e}}));!f(i,e)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,e))}notifyPlugins(t,e,i){return this._plugins.notify(this,t,e,i)}isPluginEnabled(t){return 1===this._plugins._cache.filter((e=>e.plugin.id===t)).length}_updateHoverStyles(t,e,i){const s=this.options.hover,n=(t,e)=>t.filter((t=>!e.some((e=>t.datasetIndex===e.datasetIndex&&t.index===e.index)))),o=n(e,t),a=i?t:n(t,e);o.length&&this.updateHoverStyle(o,s.mode,!1),a.length&&s.mode&&this.updateHoverStyle(a,s.mode,!0)}_eventHandler(t,e){const i={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},s=e=>(e.options.events||this.options.events).includes(t.native.type);if(!1===this.notifyPlugins("beforeEvent",i,s))return;const n=this._handleEvent(t,e,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,s),(n||i.changed)&&this.render(),this}_handleEvent(t,e,i){const{_active:s=[],options:n}=this,o=e,a=this._getActiveElements(t,s,i,o),r=D(t),l=function(t,e,i,s){return i&&"mouseout"!==t.type?s?e:t:null}(t,this._lastEvent,i,r);i&&(this._lastEvent=null,d(n.onHover,[t,a,this],this),r&&d(n.onClick,[t,a,this],this));const h=!f(a,s);return(h||e)&&(this._active=a,this._updateHoverStyles(a,s,e)),this._lastEvent=l,h}_getActiveElements(t,e,i,s){if("mouseout"===t.type)return[];if(!i)return e;const n=this.options.hover;return this.getElementsAtEventForMode(t,n.mode,n,s)}}function Ln(){return u(Tn.instances,(t=>t._plugins.invalidate()))}function En(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class Rn{static override(t){Object.assign(Rn.prototype,t)}options;constructor(t){this.options=t||{}}init(){}formats(){return En()}parse(){return En()}format(){return En()}add(){return En()}diff(){return En()}startOf(){return En()}endOf(){return En()}}var In={_date:Rn};function zn(t){const e=t.iScale,i=function(t,e){if(!t._cache.$bar){const i=t.getMatchingVisibleMetas(e);let s=[];for(let e=0,n=i.length;e<n;e++)s=s.concat(i[e].controller.getAllParsedValues(t));t._cache.$bar=lt(s.sort(((t,e)=>t-e)))}return t._cache.$bar}(e,t.type);let s,n,o,a,r=e._length;const l=()=>{32767!==o&&-32768!==o&&(k(a)&&(r=Math.min(r,Math.abs(o-a)||r)),a=o)};for(s=0,n=i.length;s<n;++s)o=e.getPixelForValue(i[s]),l();for(a=void 0,s=0,n=e.ticks.length;s<n;++s)o=e.getPixelForTick(s),l();return r}function Fn(t,e,i,s){return n(t)?function(t,e,i,s){const n=i.parse(t[0],s),o=i.parse(t[1],s),a=Math.min(n,o),r=Math.max(n,o);let l=a,h=r;Math.abs(a)>Math.abs(r)&&(l=r,h=a),e[i.axis]=h,e._custom={barStart:l,barEnd:h,start:n,end:o,min:a,max:r}}(t,e,i,s):e[i.axis]=i.parse(t,s),e}function Vn(t,e,i,s){const n=t.iScale,o=t.vScale,a=n.getLabels(),r=n===o,l=[];let h,c,d,u;for(h=i,c=i+s;h<c;++h)u=e[h],d={},d[n.axis]=r||n.parse(a[h],h),l.push(Fn(u,d,o,h));return l}function Bn(t){return t&&void 0!==t.barStart&&void 0!==t.barEnd}function Wn(t,e,i,s){let n=e.borderSkipped;const o={};if(!n)return void(t.borderSkipped=o);if(!0===n)return void(t.borderSkipped={top:!0,right:!0,bottom:!0,left:!0});const{start:a,end:r,reverse:l,top:h,bottom:c}=function(t){let e,i,s,n,o;return t.horizontal?(e=t.base>t.x,i="left",s="right"):(e=t.base<t.y,i="bottom",s="top"),e?(n="end",o="start"):(n="start",o="end"),{start:i,end:s,reverse:e,top:n,bottom:o}}(t);"middle"===n&&i&&(t.enableBorderRadius=!0,(i._top||0)===s?n=h:(i._bottom||0)===s?n=c:(o[Nn(c,a,r,l)]=!0,n=h)),o[Nn(n,a,r,l)]=!0,t.borderSkipped=o}function Nn(t,e,i,s){var n,o,a;return s?(a=i,t=Hn(t=(n=t)===(o=e)?a:n===a?o:n,i,e)):t=Hn(t,e,i),t}function Hn(t,e,i){return"start"===t?e:"end"===t?i:t}function jn(t,{inflateAmount:e},i){t.inflateAmount="auto"===e?1===i?.33:0:e}class $n extends js{static id="doughnut";static defaults={datasetElementType:!1,dataElementType:"arc",animation:{animateRotate:!0,animateScale:!1},animations:{numbers:{type:"number",properties:["circumference","endAngle","innerRadius","outerRadius","startAngle","x","y","offset","borderWidth","spacing"]}},cutout:"50%",rotation:0,circumference:360,radius:"100%",spacing:0,indexAxis:"r"};static descriptors={_scriptable:t=>"spacing"!==t,_indexable:t=>"spacing"!==t&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data
46441;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i,color:s}}=t.legend.options;return e.labels.map(((e,n)=>{const o=t.getDatasetMeta(0).controller.getStyle(n);return{text:e,fillStyle:o.backgroundColor,strokeStyle:o.borderColor,fontColor:s,lineWidth:o.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(n),index:n}}))}return
vendor: 92,861 bytes, lines 46441-46442
46441[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}}};constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){const i=this.getDataset().data,s=this._cachedMeta;if(!1===this._parsing)s._parsed=i;else{let n,a,r=t=>+i[t];if(o(i[t])){const{key:t="value"}=this._parsing;r=e=>+M(i[e],t)}for(n=t,a=t+e;n<a;++n)s._parsed[n]=r(n)}}_getRotation(){return $(this.options.rotation-90)}_getCircumference(){return $(this.options.circumference)}_getRotationExtents(){let t=O,e=-O;for(let i=0;i<this.chart.data.datasets.length;++i)if(this.chart.isDatasetVisible(i)&&this.chart.getDatasetMeta(i).type===this._type){const s=this.chart.getDatasetMeta(i).controller,n=s._getRotation(),o=s._getCircumference();t=Math.min(t,n),e=Math.max(e,n+o)}return{rotation:t,circumference:e-t}}update(t){const e=this.chart,{chartArea:i}=e,s=this._cachedMeta,n=s.data,o=this.getMaxBorderWidth()+this.getMaxOffset(n)+this.options.spacing,a=Math.max((Math.min(i.width,i.height)-o)/2,0),r=Math.min(h(this.options.cutout,a),1),l=this._getRingWeight(this.index),{circumference:d,rotation:u}=this._getRotationExtents(),{ratioX:f,ratioY:g,offsetX:p,offsetY:m}=function(t,e,i){let s=1,n=1,o=0,a=0;if(e<O){const r=t,l=r+e,h=Math.cos(r),c=Math.sin(r),d=Math.cos(l),u=Math.sin(l),f=(t,e,s)=>J(t,r,l,!0)?1:Math.max(e,e*i,s,s*i),g=(t,e,s)=>J(t,r,l,!0)?-1:Math.min(e,e*i,s,s*i),p=f(0,h,d),m=f(E,c,u),x=g(C,h,d),b=g(C+E,c,u);s=(p-x)/2,n=(m-b)/2,o=-(p+x)/2,a=-(m+b)/2}return{ratioX:s,ratioY:n,offsetX:o,offsetY:a}}(u,d,r),x=(i.width-o)/f,b=(i.height-o)/g,_=Math.max(Math.min(x,b)/2,0),y=c(this.options.radius,_),v=(y-Math.max(y*r,0))/this._getVisibleDatasetWeightTotal();this.offsetX=p*y,this.offsetY=m*y,s.total=this.calculateTotal(),this.outerRadius=y-v*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-v*l,0),this.updateElements(n,0,n.length,t)}_circumference(t,e){const i=this.options,s=this._cachedMeta,n=this._getCircumference();return e&&i.animation.animateRotate||!this.chart.getDataVisibility(t)||null===s._parsed[t]||s.data[t].hidden?0:this.calculateCircumference(s._parsed[t]*n/O)}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=o.chartArea,r=o.options.animation,l=(a.left+a.right)/2,h=(a.top+a.bottom)/2,c=n&&r.animateScale,d=c?0:this.innerRadius,u=c?0:this.outerRadius,{sharedOptions:f,includeOptions:g}=this._getSharedOptions(e,s);let p,m=this._getRotation();for(p=0;p<e;++p)m+=this._circumference(p,n);for(p=e;p<e+i;++p){const e=this._circumference(p,n),i=t[p],o={x:l+this.offsetX,y:h+this.offsetY,startAngle:m,endAngle:m+e,circumference:e,outerRadius:u,innerRadius:d};g&&(o.options=f||this.resolveDataElementOptions(p,i.active?"active":s)),m+=e,this.updateElement(i,p,o,s)}}calculateTotal(){const t=this._cachedMeta,e=t.data;let i,s=0;for(i=0;i<e.length;i++){const n=t._parsed[i];null===n||isNaN(n)||!this.chart.getDataVisibility(i)||e[i].hidden||(s+=Math.abs(n))}return s}calculateCircumference(t){const e=this._cachedMeta.total;return e>0&&!isNaN(t)?O*(Math.abs(t)/e):0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=ne(e._parsed[t],i.options.locale);return{label:s[t]||"",value:n}}getMaxBorderWidth(t){let e=0;const i=this.chart;let s,n,o,a,r;if(!t)for(s=0,n=i.data.datasets.length;s<n;++s)if(i.isDatasetVisible(s)){o=i.getDatasetMeta(s),t=o.data,a=o.controller;break}if(!t)return 0;for(s=0,n=t.length;s<n;++s)r=a.resolveDataElementOptions(s),"inner"!==r.borderAlign&&(e=Math.max(e,r.borderWidth||0,r.hoverBorderWidth||0));return e}getMaxOffset(t){let e=0;for(let i=0,s=t.length;i<s;++i){const t=this.resolveDataElementOptions(i);e=Math.max(e,t.offset||0,t.hoverOffset||0)}return e}_getRingWeightOffset(t){let e=0;for(let i=0;i<t;++i)this.chart.isDatasetVisible(i)&&(e+=this._getRingWeight(i));return e}_getRingWeight(t){return Math.max(l(this.chart.data.datasets[t].weight,1),0)}_getVisibleDatasetWeightTotal(){return this._getRingWeightOffset(this.chart.data.datasets.length)||1}}class Yn extends js{static id="polarArea";static defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i,color:s}}=t.legend.options;return e.labels.map(((e,n)=>{const o=t.getDatasetMeta(0).controller.getStyle(n);return{text:e,fillStyle:o.backgroundColor,strokeStyle:o.borderColor,fontColor:s,lineWidth:o.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(n),index:n}}))}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=ne(e._parsed[t].r,i.options.locale);return{label:s[t]||"",value:n}}parseObjectData(t,e,i,s){return ii.bind(this)(t,e,i,s)}update(t){const e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}getMinMax(){const t=this._cachedMeta,e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach(((t,i)=>{const s=this.getParsed(i).r;!isNaN(s)&&this.chart.getDataVisibility(i)&&(s<e.min&&(e.min=s),s>e.max&&(e.max=s))})),e}_updateRadius(){const t=this.chart,e=t.chartArea,i=t.options,s=Math.min(e.right-e.left,e.bottom-e.top),n=Math.max(s/2,0),o=(n-Math.max(i.cutoutPercentage?n/100*i.cutoutPercentage:1,0))/t.getVisibleDatasetCount();this.outerRadius=n-o*this.index,this.innerRadius=this.outerRadius-o}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=o.options.animation,r=this._cachedMeta.rScale,l=r.xCenter,h=r.yCenter,c=r.getIndexAngle(0)-.5*C;let d,u=c;const f=360/this.countVisibleElements();for(d=0;d<e;++d)u+=this._computeAngle(d,s,f);for(d=e;d<e+i;d++){const e=t[d];let i=u,g=u+this._computeAngle(d,s,f),p=o.getDataVisibility(d)?r.getDistanceFromCenterForValue(this.getParsed(d).r):0;u=g,n&&(a.animateScale&&(p=0),a.animateRotate&&(i=g=c));const m={x:l,y:h,innerRadius:0,outerRadius:p,startAngle:i,endAngle:g,options:this.resolveDataElementOptions(d,e.active?"active":s)};this.updateElement(e,d,m,s)}}countVisibleElements(){const t=this._cachedMeta;let e=0;return t.data.forEach(((t,i)=>{!isNaN(this.getParsed(i).r)&&this.chart.getDataVisibility(i)&&e++})),e}_computeAngle(t,e,i){return this.chart.getDataVisibility(t)?$(this.resolveDataElementOptions(t,e).angle||i):0}}var Un=Object.freeze({__proto__:null,BarController:class extends js{static id="bar";static defaults={datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}};static overrides={scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}};parsePrimitiveData(t,e,i,s){return Vn(t,e,i,s)}parseArrayData(t,e,i,s){return Vn(t,e,i,s)}parseObjectData(t,e,i,s){const{iScale:n,vScale:o}=t,{xAxisKey:a="x",yAxisKey:r="y"}=this._parsing,l="x"===n.axis?a:r,h="x"===o.axis?a:r,c=[];let d,u,f,g;for(d=i,u=i+s;d<u;++d)g=e[d],f={},f[n.axis]=n.parse(M(g,l),d),c.push(Fn(M(g,h),f,o,d));return c}updateRangeFromParsed(t,e,i,s){super.updateRangeFromParsed(t,e,i,s);const n=i._custom;n&&e===this._cachedMeta.vScale&&(t.min=Math.min(t.min,n.min),t.max=Math.max(t.max,n.max))}getMaxOverflow(){return 0}getLabelAndValue(t){const e=this._cachedMeta,{iScale:i,vScale:s}=e,n=this.getParsed(t),o=n._custom,a=Bn(o)?"["+o.start+", "+o.end+"]":""+s.getLabelForValue(n[s.axis]);return{label:""+i.getLabelForValue(n[i.axis]),value:a}}initialize(){this.enableOptionSharing=!0,super.initialize();this._cachedMeta.stack=this.getDataset().stack}update(t){const e=this._cachedMeta;this.updateElements(e.data,0,e.data.length,t)}updateElements(t,e,i,n){const o="reset"===n,{index:a,_cachedMeta:{vScale:r}}=this,l=r.getBasePixel(),h=r.isHorizontal(),c=this._getRuler(),{sharedOptions:d,includeOptions:u}=this._getSharedOptions(e,n);for(let f=e;f<e+i;f++){const e=this.getParsed(f),i=o||s(e[r.axis])?{base:l,head:l}:this._calculateBarValuePixels(f),g=this._calculateBarIndexPixels(f,c),p=(e._stacks||{})[r.axis],m={horizontal:h,base:i.base,enableBorderRadius:!p||Bn(e._custom)||a===p._top||a===p._bottom,x:h?i.head:g.center,y:h?g.center:i.head,height:h?g.size:Math.abs(i.size),width:h?Math.abs(i.size):g.size};u&&(m.options=d||this.resolveDataElementOptions(f,t[f].active?"active":n));const x=m.options||t[f].options;Wn(m,x,p,a),jn(m,x,c.ratio),this.updateElement(t[f],f,m,n)}}_getStacks(t,e){const{iScale:i}=this._cachedMeta,n=i.getMatchingVisibleMetas(this._type).filter((t=>t.controller.options.grouped)),o=i.options.stacked,a=[],r=this._cachedMeta.controller.getParsed(e),l=r&&r[i.axis],h=t=>{const e=t._parsed.find((t=>t[i.axis]===l)),n=e&&e[t.vScale.axis];if(s(n)||isNaN(n))return!0};for(const i of n)if((void 0===e||!h(i))&&((!1===o||-1===a.indexOf(i.stack)||void 0===o&&void 0===i.stack)&&a.push(i.stack),i.index===t))break;return a.length||a.push(void 0),a}_getStackCount(t){return this._getStacks(void 0,t).length}_getAxisCount(){return this._getAxis().length}getFirstScaleIdForIndexAxis(){const t=this.chart.scales,e=this.chart.options.indexAxis;return Object.keys(t).filter((i=>t[i].axis===e)).shift()}_getAxis(){const t={},e=this.getFirstScaleIdForIndexAxis();for(const i of this.chart.data.datasets)t[l("x"===this.chart.options.indexAxis?i.xAxisID:i.yAxisID,e)]=!0;return Object.keys(t)}_getStackIndex(t,e,i){const s=this._getStacks(t,i),n=void 0!==e?s.indexOf(e):-1;return-1===n?s.length-1:n}_getRuler(){const t=this.options,e=this._cachedMeta,i=e.iScale,s=[];let n,o;for(n=0,o=e.data.length;n<o;++n)s.push(i.getPixelForValue(this.getParsed(n)[i.axis],n));const a=t.barThickness;return{min:a||zn(e),pixels:s,start:i._startPixel,end:i._endPixel,stackCount:this._getStackCount(),scale:i,grouped:t.grouped,ratio:a?1:t.categoryPercentage*t.barPercentage}}_calculateBarValuePixels(t){const{_cachedMeta:{vScale:e,_stacked:i,index:n},options:{base:o,minBarLength:a}}=this,r=o||0,l=this.getParsed(t),h=l._custom,c=Bn(h);let d,u,f=l[e.axis],g=0,p=i?this.applyStack(e,l,i):f;p!==f&&(g=p-f,p=f),c&&(f=h.barStart,p=h.barEnd-h.barStart,0!==f&&F(f)!==F(h.barEnd)&&(g=0),g+=f);const m=s(o)||c?g:o;let x=e.getPixelForValue(m);if(d=this.chart.getDataVisibility(t)?e.getPixelForValue(g+p):x,u=d-x,Math.abs(u)<a){u=function(t,e,i){return 0!==t?F(t):(e.isHorizontal()?1:-1)*(e.min>=i?1:-1)}(u,e,r)*a,f===r&&(x-=u/2);const t=e.getPixelForDecimal(0),s=e.getPixelForDecimal(1),o=Math.min(t,s),h=Math.max(t,s);x=Math.max(Math.min(x,h),o),d=x+u,i&&!c&&(l._stacks[e.axis]._visualValues[n]=e.getValueForPixel(d)-e.getValueForPixel(x))}if(x===e.getPixelForValue(r)){const t=F(u)*e.getLineWidthForValue(r)/2;x+=t,u-=t}return{size:u,base:x,head:d,center:d+u/2}}_calculateBarIndexPixels(t,e){const i=e.scale,n=this.options,o=n.skipNull,a=l(n.maxBarThickness,1/0);let r,h;const c=this._getAxisCount();if(e.grouped){const i=o?this._getStackCount(t):e.stackCount,d="flex"===n.barThickness?function(t,e,i,s){const n=e.pixels,o=n[t];let a=t>0?n[t-1]:null,r=t<n.length-1?n[t+1]:null;const l=i.categoryPercentage;null===a&&(a=o-(null===r?e.end-e.start:r-o)),null===r&&(r=o+o-a);const h=o-(o-Math.min(a,r))/2*l;return{chunk:Math.abs(r-a)/2*l/s,ratio:i.barPercentage,start:h}}(t,e,n,i*c):function(t,e,i,n){const o=i.barThickness;let a,r;return s(o)?(a=e.min*i.categoryPercentage,r=i.barPercentage):(a=o*n,r=1),{chunk:a/n,ratio:r,start:e.pixels[t]-a/2}}(t,e,n,i*c),u="x"===this.chart.options.indexAxis?this.getDataset().xAxisID:this.getDataset().yAxisID,f=this._getAxis().indexOf(l(u,this.getFirstScaleIdForIndexAxis())),g=this._getStackIndex(this.index,this._cachedMeta.stack,o?t:void 0)+f;r=d.start+d.chunk*g+d.chunk/2,h=Math.min(a,d.chunk*d.ratio)}else r=i.getPixelForValue(this.getParsed(t)[i.axis],t),h=Math.min(a,e.min*e.ratio);return{base:r-h/2,head:r+h/2,center:r,size:h}}draw(){const t=this._cachedMeta,e=t.vScale,i=t.data,s=i.length;let n=0;for(;n<s;++n)null===this.getParsed(n)[e.axis]||i[n].hidden||i[n].draw(this._ctx)}},BubbleController:class extends js{static id="bubble";static defaults={datasetElementType:!1,dataElementType:"point",animations:{numbers:{type:"number",properties:["x","y","borderWidth","radius"]}}};static overrides={scales:{x:{type:"linear"},y:{type:"linear"}}};initialize(){this.enableOptionSharing=!0,super.initialize()}parsePrimitiveData(t,e,i,s){const n=super.parsePrimitiveData(t,e,i,s);for(let t=0;t<n.length;t++)n[t]._custom=this.resolveDataElementOptions(t+i).radius;return n}parseArrayData(t,e,i,s){const n=super.parseArrayData(t,e,i,s);for(let t=0;t<n.length;t++){const s=e[i+t];n[t]._custom=l(s[2],this.resolveDataElementOptions(t+i).radius)}return n}parseObjectData(t,e,i,s){const n=super.parseObjectData(t,e,i,s);for(let t=0;t<n.length;t++){const s=e[i+t];n[t]._custom=l(s&&s.r&&+s.r,this.resolveDataElementOptions(t+i).radius)}return n}getMaxOverflow(){const t=this._cachedMeta.data;let e=0;for(let i=t.length-1;i>=0;--i)e=Math.max(e,t[i].size(this.resolveDataElementOptions(i))/2);return e>0&&e}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart.data.labels||[],{xScale:s,yScale:n}=e,o=this.getParsed(t),a=s.getLabelForValue(o.x),r=n.getLabelForValue(o.y),l=o._custom;return{label:i[t]||"",value:"("+a+", "+r+(l?", "+l:"")+")"}}update(t){const e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,i,s){const n="reset"===s,{iScale:o,vScale:a}=this._cachedMeta,{sharedOptions:r,includeOptions:l}=this._getSharedOptions(e,s),h=o.axis,c=a.axis;for(let d=e;d<e+i;d++){const e=t[d],i=!n&&this.getParsed(d),u={},f=u[h]=n?o.getPixelForDecimal(.5):o.getPixelForValue(i[h]),g=u[c]=n?a.getBasePixel():a.getPixelForValue(i[c]);u.skip=isNaN(f)||isNaN(g),l&&(u.options=r||this.resolveDataElementOptions(d,e.active?"active":s),n&&(u.options.radius=0)),this.updateElement(e,d,u,s)}}resolveDataElementOptions(t,e){const i=this.getParsed(t);let s=super.resolveDataElementOptions(t,e);s.$shared&&(s=Object.assign({},s,{$shared:!1}));const n=s.radius;return"active"!==e&&(s.radius=0),s.radius+=l(i&&i._custom,n),s}},DoughnutController:$n,LineController:class extends js{static id="line";static defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1};static overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const e=this._cachedMeta,{dataset:i,data:s=[],_dataset:n}=e,o=this.chart._animationsDisabled;let{start:a,count:r}=pt(e,s,o);this._drawStart=a,this._drawCount=r,mt(e)&&(a=0,r=s.length),i._chart=this.chart,i._datasetIndex=this.index,i._decimated=!!n._decimated,i.points=s;const l=this.resolveDatasetElementOptions(t);this.options.showLine||(l.borderWidth=0),l.segment=this.options.segment,this.updateElement(i,void 0,{animated:!o,options:l},t),this.updateElements(s,a,r,t)}updateElements(t,e,i,n){const o="reset"===n,{iScale:a,vScale:r,_stacked:l,_dataset:h}=this._cachedMeta,{sharedOptions:c,includeOptions:d}=this._getSharedOptions(e,n),u=a.axis,f=r.axis,{spanGaps:g,segment:p}=this.options,m=N(g)?g:Number.POSITIVE_INFINITY,x=this.chart._animationsDisabled||o||"none"===n,b=e+i,_=t.length;let y=e>0&&this.getParsed(e-1);for(let i=0;i<_;++i){const g=t[i],_=x?g:{};if(i<e||i>=b){_.skip=!0;continue}const v=this.getParsed(i),M=s(v[f]),w=_[u]=a.getPixelForValue(v[u],i),k=_[f]=o||M?r.getBasePixel():r.getPixelForValue(l?this.applyStack(r,v,l):v[f],i);_.skip=isNaN(w)||isNaN(k)||M,_.stop=i>0&&Math.abs(v[u]-y[u])>m,p&&(_.parsed=v,_.raw=h.data[i]),d&&(_.options=c||this.resolveDataElementOptions(i,g.active?"active":n)),x||this.updateElement(g,i,_,n),y=v}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,i=e.options&&e.options.borderWidth||0,s=t.data||[];if(!s.length)return i;const n=s[0].size(this.resolveDataElementOptions(0)),o=s[s.length-1].size(this.resolveDataElementOptions(s.length-1));return Math.max(i,n,o)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}},PieController:class extends $n{static id="pie";static defaults={cutout:0,rotation:0,circumference:360,radius:"100%"}},PolarAreaController:Yn,RadarController:class extends js{static id="radar";static defaults={datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}};static overrides={aspectRatio:1,scales:{r:{type:"radialLinear"}}};getLabelAndValue(t){const e=this._cachedMeta.vScale,i=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(i[e.axis])}}parseObjectData(t,e,i,s){return ii.bind(this)(t,e,i,s)}update(t){const e=this._cachedMeta,i=e.dataset,s=e.data||[],n=e.iScale.getLabels();if(i.points=s,"resize"!==t){const e=this.resolveDatasetElementOptions(t);this.options.showLine||(e.borderWidth=0);const o={_loop:!0,_fullLoop:n.length===s.length,options:e};this.updateElement(i,void 0,o,t)}this.updateElements(s,0,s.length,t)}updateElements(t,e,i,s){const n=this._cachedMeta.rScale,o="reset"===s;for(let a=e;a<e+i;a++){const e=t[a],i=this.resolveDataElementOptions(a,e.active?"active":s),r=n.getPointPositionForValue(a,this.getParsed(a).r),l=o?n.xCenter:r.x,h=o?n.yCenter:r.y,c={x:l,y:h,angle:r.angle,skip:isNaN(l)||isNaN(h),options:i};this.updateElement(e,a,c,s)}}},ScatterController:class extends js{static id="scatter";static defaults={datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1};static overrides={interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}};getLabelAndValue(t){const e=this._cachedMeta,i=this.chart.data.labels||[],{xScale:s,yScale:n}=e,o=this.getParsed(t),a=s.getLabelForValue(o.x),r=n.getLabelForValue(o.y);return{label:i[t]||"",value:"("+a+", "+r+")"}}update(t){const e=this._cachedMeta,{data:i=[]}=e,s=this.chart._animationsDisabled;let{start:n,count:o}=pt(e,i,s);if(this._drawStart=n,this._drawCount=o,mt(e)&&(n=0,o=i.length),this.options.showLine){this.datasetElementType||this.addElements();const{dataset:n,_dataset:o}=e;n._chart=this.chart,n._datasetIndex=this.index,n._decimated=!!o._decimated,n.points=i;const a=this.resolveDatasetElementOptions(t);a.segment=this.options.segment,this.updateElement(n,void 0,{animated:!s,options:a},t)}else this.datasetElementType&&(delete e.dataset,this.datasetElementType=!1);this.updateElements(i,n,o,t)}addElements(){const{showLine:t}=this.options;!this.datasetElementType&&t&&(this.datasetElementType=this.chart.registry.getElement("line")),super.addElements()}updateElements(t,e,i,n){const o="reset"===n,{iScale:a,vScale:r,_stacked:l,_dataset:h}=this._cachedMeta,c=this.resolveDataElementOptions(e,n),d=this.getSharedOptions(c),u=this.includeOptions(n,d),f=a.axis,g=r.axis,{spanGaps:p,segment:m}=this.options,x=N(p)?p:Number.POSITIVE_INFINITY,b=this.chart._animationsDisabled||o||"none"===n;let _=e>0&&this.getParsed(e-1);for(let c=e;c<e+i;++c){const e=t[c],i=this.getParsed(c),p=b?e:{},y=s(i[g]),v=p[f]=a.getPixelForValue(i[f],c),M=p[g]=o||y?r.getBasePixel():r.getPixelForValue(l?this.applyStack(r,i,l):i[g],c);p.skip=isNaN(v)||isNaN(M)||y,p.stop=c>0&&Math.abs(i[f]-_[f])>x,m&&(p.parsed=i,p.raw=h.data[c]),u&&(p.options=d||this.resolveDataElementOptions(c,e.active?"active":n)),b||this.updateElement(e,c,p,n),_=i}this.updateSharedOptions(d,n,c)}getMaxOverflow(){const t=this._cachedMeta,e=t.data||[];if(!this.options.showLine){let t=0;for(let i=e.length-1;i>=0;--i)t=Math.max(t,e[i].size(this.resolveDataElementOptions(i))/2);return t>0&&t}const i=t.dataset,s=i.options&&i.options.borderWidth||0;if(!e.length)return s;const n=e[0].size(this.resolveDataElementOptions(0)),o=e[e.length-1].size(this.resolveDataElementOptions(e.length-1));return Math.max(s,n,o)/2}}});function Xn(t,e,i,s){const n=vi(t.options.borderRadius,["outerStart","outerEnd","innerStart","innerEnd"]);const o=(i-e)/2,a=Math.min(o,s*e/2),r=t=>{const e=(i-Math.min(o,t))*s/2;return Z(t,0,Math.min(o,e))};return{outerStart:r(n.outerStart),outerEnd:r(n.outerEnd),innerStart:Z(n.innerStart,0,a),innerEnd:Z(n.innerEnd,0,a)}}function qn(t,e,i,s){return{x:i+t*Math.cos(e),y:s+t*Math.sin(e)}}function Kn(t,e,i,s,n,o){const{x:a,y:r,startAngle:l,pixelMargin:h,innerRadius:c}=e,d=Math.max(e.outerRadius+s+i-h,0),u=c>0?c+s+i+h:0;let f=0;const g=n-l;if(s){const t=((c>0?c-s:0)+(d>0?d-s:0))/2;f=(g-(0!==t?g*t/(t+s):g))/2}const p=(g-Math.max(.001,g*d-i/C)/d)/2,m=l+p+f,x=n-p-f,{outerStart:b,outerEnd:_,innerStart:y,innerEnd:v}=Xn(e,u,d,x-m),M=d-b,w=d-_,k=m+b/M,S=x-_/w,P=u+y,D=u+v,O=m+y/P,A=x-v/D;if(t.beginPath(),o){const e=(k+S)/2;if(t.arc(a,r,d,k,e),t.arc(a,r,d,e,S),_>0){const e=qn(w,S,a,r);t.arc(e.x,e.y,_,S,x+E)}const i=qn(D,x,a,r);if(t.lineTo(i.x,i.y),v>0){const e=qn(D,A,a,r);t.arc(e.x,e.y,v,x+E,A+Math.PI)}const s=(x-v/u+(m+y/u))/2;if(t.arc(a,r,u,x-v/u,s,!0),t.arc(a,r,u,s,m+y/u,!0),y>0){const e=qn(P,O,a,r);t.arc(e.x,e.y,y,O+Math.PI,m-E)}const n=qn(M,m,a,r);if(t.lineTo(n.x,n.y),b>0){const e=qn(M,k,a,r);t.arc(e.x,e.y,b,m-E,k)}}else{t.moveTo(a,r);const e=Math.cos(k)*d+a,i=Math.sin(k)*d+r;t.lineTo(e,i);const s=Math.cos(S)*d+a,n=Math.sin(S)*d+r;t.lineTo(s,n)}t.closePath()}function Gn(t,e,i,s,n){const{fullCircles:o,startAngle:a,circumference:r,options:l}=e,{borderWidth:h,borderJoinStyle:c,borderDash:d,borderDashOffset:u,borderRadius:f}=l,g="inner"===l.borderAlign;if(!h)return;t.setLineDash(d||[]),t.lineDashOffset=u,g?(t.lineWidth=2*h,t.lineJoin=c||"round"):(t.lineWidth=h,t.lineJoin=c||"bevel");let p=e.endAngle;if(o){Kn(t,e,i,s,p,n);for(let e=0;e<o;++e)t.stroke();isNaN(r)||(p=a+(r%O||O))}g&&function(t,e,i){const{startAngle:s,pixelMargin:n,x:o,y:a,outerRadius:r,innerRadius:l}=e;let h=n/r;t.beginPath(),t.arc(o,a,r,s-h,i+h),l>n?(h=n/l,t.arc(o,a,l,i+h,s-h,!0)):t.arc(o,a,n,i+E,s-E),t.closePath(),t.clip()}(t,e,p),l.selfJoin&&p-a>=C&&0===f&&"miter"!==c&&function(t,e,i){const{startAngle:s,x:n,y:o,outerRadius:a,innerRadius:r,options:l}=e,{borderWidth:h,borderJoinStyle:c}=l,d=Math.min(h/a,G(s-i));if(t.beginPath(),t.arc(n,o,a-h/2,s+d/2,i-d/2),r>0){const e=Math.min(h/r,G(s-i));t.arc(n,o,r+h/2,i-e/2,s+e/2,!0)}else{const e=Math.min(h/2,a*G(s-i));if("round"===c)t.arc(n,o,e,i-C/2,s+C/2,!0);else if("bevel"===c){const a=2*e*e,r=-a*Math.cos(i+C/2)+n,l=-a*Math.sin(i+C/2)+o,h=a*Math.cos(s+C/2)+n,c=a*Math.sin(s+C/2)+o;t.lineTo(r,l),t.lineTo(h,c)}}t.closePath(),t.moveTo(0,0),t.rect(0,0,t.canvas.width,t.canvas.height),t.clip("evenodd")}(t,e,p),o||(Kn(t,e,i,s,p,n),t.stroke())}function Jn(t,e,i=e){t.lineCap=l(i.borderCapStyle,e.borderCapStyle),t.setLineDash(l(i.borderDash,e.borderDash)),t.lineDashOffset=l(i.borderDashOffset,e.borderDashOffset),t.lineJoin=l(i.borderJoinStyle,e.borderJoinStyle),t.lineWidth=l(i.borderWidth,e.borderWidth),t.strokeStyle=l(i.borderColor,e.borderColor)}function Zn(t,e,i){t.lineTo(i.x,i.y)}function Qn(t,e,i={}){const s=t.length,{start:n=0,end:o=s-1}=i,{start:a,end:r}=e,l=Math.max(n,a),h=Math.min(o,r),c=n<a&&o<a||n>r&&o>r;return{count:s,start:l,loop:e.loop,ilen:h<l&&!c?s+h-l:h-l}}function to(t,e,i,s){const{points:n,options:o}=e,{count:a,start:r,loop:l,ilen:h}=Qn(n,i,s),c=function(t){return t.stepped?Fe:t.tension||"monotone"===t.cubicInterpolationMode?Ve:Zn}(o);let d,u,f,{move:g=!0,reverse:p}=s||{};for(d=0;d<=h;++d)u=n[(r+(p?h-d:d))%a],u.skip||(g?(t.moveTo(u.x,u.y),g=!1):c(t,f,u,p,o.stepped),f=u);return l&&(u=n[(r+(p?h:0))%a],c(t,f,u,p,o.stepped)),!!l}function eo(t,e,i,s){const n=e.points,{count:o,start:a,ilen:r}=Qn(n,i,s),{move:l=!0,reverse:h}=s||{};let c,d,u,f,g,p,m=0,x=0;const b=t=>(a+(h?r-t:t))%o,_=()=>{f!==g&&(t.lineTo(m,g),t.lineTo(m,f),t.lineTo(m,p))};for(l&&(d=n[b(0)],t.moveTo(d.x,d.y)),c=0;c<=r;++c){if(d=n[b(c)],d.skip)continue;const e=d.x,i=d.y,s=0|e;s===u?(i<f?f=i:i>g&&(g=i),m=(x*m+e)/++x):(_(),t.lineTo(e,i),u=s,x=0,f=g=i),p=i}_()}function io(t){const e=t.options,i=e.borderDash&&e.borderDash.length;return!(t._decimated||t._loop||e.tension||"monotone"===e.cubicInterpolationMode||e.stepped||i)?eo:to}const so="function"==typeof Path2D;function no(t,e,i,s){so&&!e.options.segment?function(t,e,i,s){let n=e._path;n||(n=e._path=new Path2D,e.path(n,i,s)&&n.closePath()),Jn(t,e.options),t.stroke(n)}(t,e,i,s):function(t,e,i,s){const{segments:n,options:o}=e,a=io(e);for(const r of n)Jn(t,o,r.style),t.beginPath(),a(t,e,r,{start:i,end:i+s-1})&&t.closePath(),t.stroke()}(t,e,i,s)}class oo extends $s{static id="line";static defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};static descriptors={_scriptable:!0,_indexable:t=>"borderDash"!==t&&"fill"!==t};constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const i=this.options;if((i.tension||"monotone"===i.cubicInterpolationMode)&&!i.stepped&&!this._pointsUpdated){const s=i.spanGaps?this._loop:this._fullLoop;hi(this._points,i,t,s,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=zi(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,i=t.length;return i&&e[t[i-1].end]}interpolate(t,e){const i=this.options,s=t[e],n=this.points,o=Ii(this,{property:e,start:s,end:s});if(!o.length)return;const a=[],r=function(t){return t.stepped?pi:t.tension||"monotone"===t.cubicInterpolationMode?mi:gi}(i);let l,h;for(l=0,h=o.length;l<h;++l){const{start:h,end:c}=o[l],d=n[h],u=n[c];if(d===u){a.push(d);continue}const f=r(d,u,Math.abs((s-d[e])/(u[e]-d[e])),i.stepped);f[e]=t[e],a.push(f)}return 1===a.length?a[0]:a}pathSegment(t,e,i){return io(this)(t,this,e,i)}path(t,e,i){const s=this.segments,n=io(this);let o=this._loop;e=e||0,i=i||this.points.length-e;for(const a of s)o&=n(t,this,a,{start:e,end:e+i-1});return!!o}draw(t,e,i,s){const n=this.options||{};(this.points||[]).length&&n.borderWidth&&(t.save(),no(t,this,i,s),t.restore()),this.animated&&(this._pointsUpdated=!1,this._path=void 0)}}function ao(t,e,i,s){const n=t.options,{[i]:o}=t.getProps([i],s);return Math.abs(e-o)<n.radius+n.hitRadius}function ro(t,e){const{x:i,y:s,base:n,width:o,height:a}=t.getProps(["x","y","base","width","height"],e);let r,l,h,c,d;return t.horizontal?(d=a/2,r=Math.min(i,n),l=Math.max(i,n),h=s-d,c=s+d):(d=o/2,r=i-d,l=i+d,h=Math.min(s,n),c=Math.max(s,n)),{left:r,top:h,right:l,bottom:c}}function lo(t,e,i,s){return t?0:Z(e,i,s)}function ho(t){const e=ro(t),i=e.right-e.left,s=e.bottom-e.top,n=function(t,e,i){const s=t.options.borderWidth,n=t.borderSkipped,o=Mi(s);return{t:lo(n.top,o.top,0,i),r:lo(n.right,o.right,0,e),b:lo(n.bottom,o.bottom,0,i),l:lo(n.left,o.left,0,e)}}(t,i/2,s/2),a=function(t,e,i){const{enableBorderRadius:s}=t.getProps(["enableBorderRadius"]),n=t.options.borderRadius,a=wi(n),r=Math.min(e,i),l=t.borderSkipped,h=s||o(n);return{topLeft:lo(!h||l.top||l.left,a.topLeft,0,r),topRight:lo(!h||l.top||l.right,a.topRight,0,r),bottomLeft:lo(!h||l.bottom||l.left,a.bottomLeft,0,r),bottomRight:lo(!h||l.bottom||l.right,a.bottomRight,0,r)}}(t,i/2,s/2);return{outer:{x:e.left,y:e.top,w:i,h:s,radius:a},inner:{x:e.left+n.l,y:e.top+n.t,w:i-n.l-n.r,h:s-n.t-n.b,radius:{topLeft:Math.max(0,a.topLeft-Math.max(n.t,n.l)),topRight:Math.max(0,a.topRight-Math.max(n.t,n.r)),bottomLeft:Math.max(0,a.bottomLeft-Math.max(n.b,n.l)),bottomRight:Math.max(0,a.bottomRight-Math.max(n.b,n.r))}}}}function co(t,e,i,s){const n=null===e,o=null===i,a=t&&!(n&&o)&&ro(t,s);return a&&(n||tt(e,a.left,a.right))&&(o||tt(i,a.top,a.bottom))}function uo(t,e){t.rect(e.x,e.y,e.w,e.h)}function fo(t,e,i={}){const s=t.x!==i.x?-e:0,n=t.y!==i.y?-e:0,o=(t.x+t.w!==i.x+i.w?e:0)-s,a=(t.y+t.h!==i.y+i.h?e:0)-n;return{x:t.x+s,y:t.y+n,w:t.w+o,h:t.h+a,radius:t.radius}}var go=Object.freeze({__proto__:null,ArcElement:class extends $s{static id="arc";static defaults={borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0,selfJoin:!1};static defaultRoutes={backgroundColor:"backgroundColor"};static descriptors={_scriptable:!0,_indexable:t=>"borderDash"!==t};circumference;endAngle;fullCircles;innerRadius;outerRadius;pixelMargin;startAngle;constructor(t){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,t&&Object.assign(this,t)}inRange(t,e,i){const s=this.getProps(["x","y"],i),{angle:n,distance:o}=X(s,{x:t,y:e}),{startAngle:a,endAngle:r,innerRadius:h,outerRadius:c,circumference:d}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],i),u=(this.options.spacing+this.options.borderWidth)/2,f=l(d,r-a),g=J(n,a,r)&&a!==r,p=f>=O||g,m=tt(o,h+u,c+u);return p&&m}getCenterPoint(t){const{x:e,y:i,startAngle:s,endAngle:n,innerRadius:o,outerRadius:a}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],t),{offset:r,spacing:l}=this.options,h=(s+n)/2,c=(o+a+l+r)/2;return{x:e+Math.cos(h)*c,y:i+Math.sin(h)*c}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:e,circumference:i}=this,s=(e.offset||0)/4,n=(e.spacing||0)/2,o=e.circular;if(this.pixelMargin="inner"===e.borderAlign?.33:0,this.fullCircles=i>O?Math.floor(i/O):0,0===i||this.innerRadius<0||this.outerRadius<0)return;t.save();const a=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(a)*s,Math.sin(a)*s);const r=s*(1-Math.sin(Math.min(C,i||0)));t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor,function(t,e,i,s,n){const{fullCircles:o,startAngle:a,circumference:r}=e;let l=e.endAngle;if(o){Kn(t,e,i,s,l,n);for(let e=0;e<o;++e)t.fill();isNaN(r)||(l=a+(r%O||O))}Kn(t,e,i,s,l,n),t.fill()}(t,this,r,n,o),Gn(t,this,r,n,o),t.restore()}},BarElement:class extends $s{static id="bar";static defaults={borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:e,options:{borderColor:i,backgroundColor:s}}=this,{inner:n,outer:o}=ho(this),a=(r=o.radius).topLeft||r.topRight||r.bottomLeft||r.bottomRight?He:uo;var r;t.save(),o.w===n.w&&o.h===n.h||(t.beginPath(),a(t,fo(o,e,n)),t.clip(),a(t,fo(n,-e,o)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),a(t,fo(n,e)),t.fillStyle=s,t.fill(),t.restore()}inRange(t,e,i){return co(this,t,e,i)}inXRange(t,e){return co(this,t,null,e)}inYRange(t,e){return co(this,null,t,e)}getCenterPoint(t){const{x:e,y:i,base:s,horizontal:n}=this.getProps(["x","y","base","horizontal"],t);return{x:n?(e+s)/2:e,y:n?i:(i+s)/2}}getRange(t){return"x"===t?this.width/2:this.height/2}},LineElement:oo,PointElement:class extends $s{static id="point";parsed;skip;stop;static defaults={borderWidth:1,hitRadius:1,hoverBorderWidth:1,hoverRadius:4,pointStyle:"circle",radius:3,rotation:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};constructor(t){super(),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,t&&Object.assign(this,t)}inRange(t,e,i){const s=this.options,{x:n,y:o}=this.getProps(["x","y"],i);return Math.pow(t-n,2)+Math.pow(e-o,2)<Math.pow(s.hitRadius+s.radius,2)}inXRange(t,e){return ao(this,t,"x",e)}inYRange(t,e){return ao(this,t,"y",e)}getCenterPoint(t){const{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}size(t){let e=(t=t||this.options||{}).radius||0;e=Math.max(e,e&&t.hoverRadius||0);return 2*(e+(e&&t.borderWidth||0))}draw(t,e){const i=this.options;this.skip||i.radius<.1||!Re(this,e,this.size(i)/2)||(t.strokeStyle=i.borderColor,t.lineWidth=i.borderWidth,t.fillStyle=i.backgroundColor,Le(t,i,this.x,this.y))}getRange(){const t=this.options||{};return t.radius+t.hitRadius}}});function po(t,e,i,s){const n=t.indexOf(e);if(-1===n)return((t,e,i,s)=>("string"==typeof e?(i=t.push(e)-1,s.unshift({index:i,label:e})):isNaN(e)&&(i=null),i))(t,e,i,s);return n!==t.lastIndexOf(e)?i:n}function mo(t){const e=this.getLabels();return t>=0&&t<e.length?e[t]:t}function xo(t,e,{horizontal:i,minRotation:s}){const n=$(s),o=(i?Math.sin(n):Math.cos(n))||.001,a=.75*e*(""+t).length;return Math.min(e/o,a)}class bo extends tn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,e){return s(t)||("number"==typeof t||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:e,maxDefined:i}=this.getUserBounds();let{min:s,max:n}=this;const o=t=>s=e?s:t,a=t=>n=i?n:t;if(t){const t=F(s),e=F(n);t<0&&e<0?a(0):t>0&&e>0&&o(0)}if(s===n){let e=0===n?1:Math.abs(.05*n);a(n+e),t||o(s-e)}this.min=s,this.max=n}getTickLimit(){const t=this.options.ticks;let e,{maxTicksLimit:i,stepSize:s}=t;return s?(e=Math.ceil(this.max/s)-Math.floor(this.min/s)+1,e>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${e} ticks. Limiting to 1000.`),e=1e3)):(e=this.computeTickLimit(),i=i||11),i&&(e=Math.min(i,e)),e}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const n=function(t,e){const i=[],{bounds:n,step:o,min:a,max:r,precision:l,count:h,maxTicks:c,maxDigits:d,includeBounds:u}=t,f=o||1,g=c-1,{min:p,max:m}=e,x=!s(a),b=!s(r),_=!s(h),y=(m-p)/(d+1);let v,M,w,k,S=B((m-p)/g/f)*f;if(S<1e-14&&!x&&!b)return[{value:p},{value:m}];k=Math.ceil(m/S)-Math.floor(p/S),k>g&&(S=B(k*S/g/f)*f),s(l)||(v=Math.pow(10,l),S=Math.ceil(S*v)/v),"ticks"===n?(M=Math.floor(p/S)*S,w=Math.ceil(m/S)*S):(M=p,w=m),x&&b&&o&&H((r-a)/o,S/1e3)?(k=Math.round(Math.min((r-a)/S,c)),S=(r-a)/k,M=a,w=r):_?(M=x?a:M,w=b?r:w,k=h-1,S=(w-M)/k):(k=(w-M)/S,k=V(k,Math.round(k),S/1e3)?Math.round(k):Math.ceil(k));const P=Math.max(U(S),U(M));v=Math.pow(10,s(l)?P:l),M=Math.round(M*v)/v,w=Math.round(w*v)/v;let D=0;for(x&&(u&&M!==a?(i.push({value:a}),M<a&&D++,V(Math.round((M+D*S)*v)/v,a,xo(a,y,t))&&D++):M<a&&D++);D<k;++D){const t=Math.round((M+D*S)*v)/v;if(b&&t>r)break;i.push({value:t})}return b&&u&&w!==r?i.length&&V(i[i.length-1].value,r,xo(r,y,t))?i[i.length-1].value=r:i.push({value:r}):b&&w!==r||i.push({value:w}),i}({maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:!1!==e.includeBounds},this._range||this);return"ticks"===t.bounds&&j(n,this,"value"),t.reverse?(n.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),n}configure(){const t=this.ticks;let e=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const s=(i-e)/Math.max(t.length-1,1)/2;e-=s,i+=s}this._startValue=e,this._endValue=i,this._valueRange=i-e}getLabelForValue(t){return ne(t,this.chart.options.locale,this.options.ticks.format)}}class _o extends bo{static id="linear";static defaults={ticks:{callback:ae.formatters.numeric}};determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=a(t)?t:0,this.max=a(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,i=$(this.options.ticks.minRotation),s=(t?Math.sin(i):Math.cos(i))||.001,n=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,n.lineHeight/s))}getPixelForValue(t){return null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}const yo=t=>Math.floor(z(t)),vo=(t,e)=>Math.pow(10,yo(t)+e);function Mo(t){return 1===t/Math.pow(10,yo(t))}function wo(t,e,i){const s=Math.pow(10,i),n=Math.floor(t/s);return Math.ceil(e/s)-n}function ko(t,{min:e,max:i}){e=r(t.min,e);const s=[],n=yo(e);let o=function(t,e){let i=yo(e-t);for(;wo(t,e,i)>10;)i++;for(;wo(t,e,i)<10;)i--;return Math.min(i,yo(t))}(e,i),a=o<0?Math.pow(10,Math.abs(o)):1;const l=Math.pow(10,o),h=n>o?Math.pow(10,n):0,c=Math.round((e-h)*a)/a,d=Math.floor((e-h)/l/10)*l*10;let u=Math.floor((c-d)/Math.pow(10,o)),f=r(t.min,Math.round((h+d+u*Math.pow(10,o))*a)/a);for(;f<i;)s.push({value:f,major:Mo(f),significand:u}),u>=10?u=u<15?15:20:u++,u>=20&&(o++,u=2,a=o>=0?1:a),f=Math.round((h+d+u*Math.pow(10,o))*a)/a;const g=r(t.max,f);return s.push({value:g,major:Mo(g),significand:u}),s}class So extends tn{static id="logarithmic";static defaults={ticks:{callback:ae.formatters.logarithmic,major:{enabled:!0}}};constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,e){const i=bo.prototype.parse.apply(this,[t,e]);if(0!==i)return a(i)&&i>0?i:null;this._zero=!0}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=a(t)?Math.max(0,t):null,this.max=a(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!a(this._userMin)&&(this.min=t===vo(this.min,0)?vo(this.min,-1):vo(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let i=this.min,s=this.max;const n=e=>i=t?i:e,o=t=>s=e?s:t;i===s&&(i<=0?(n(1),o(10)):(n(vo(i,-1)),o(vo(s,1)))),i<=0&&n(vo(s,-1)),s<=0&&o(vo(i,1)),this.min=i,this.max=s}buildTicks(){const t=this.options,e=ko({min:this._userMin,max:this._userMax},this);return"ticks"===t.bounds&&j(e,this,"value"),t.reverse?(e.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),e}getLabelForValue(t){return void 0===t?"0":ne(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=z(t),this._valueRange=z(this.max)-z(t)}getPixelForValue(t){return void 0!==t&&0!==t||(t=this.min),null===t||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(z(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}}function Po(t){const e=t.ticks;if(e.display&&t.display){const t=ki(e.backdropPadding);return l(e.font&&e.font.size,ue.font.size)+t.height}return 0}function Do(t,e,i,s,n){return t===s||t===n?{start:e-i/2,end:e+i/2}:t<s||t>n?{start:e-i,end:e}:{start:e,end:e+i}}function Co(t){const e={l:t.left+t._padding.left,r:t.right-t._padding.right,t:t.top+t._padding.top,b:t.bottom-t._padding.bottom},i=Object.assign({},e),s=[],o=[],a=t._pointLabels.length,r=t.options.pointLabels,l=r.centerPointLabels?C/a:0;for(let u=0;u<a;u++){const a=r.setContext(t.getPointLabelContext(u));o[u]=a.padding;const f=t.getPointPosition(u,t.drawingArea+o[u],l),g=Si(a.font),p=(h=t.ctx,c=g,d=n(d=t._pointLabels[u])?d:[d],{w:Oe(h,c.string,d),h:d.length*c.lineHeight});s[u]=p;const m=G(t.getIndexAngle(u)+l),x=Math.round(Y(m));Oo(i,e,m,Do(x,f.x,p.w,0,180),Do(x,f.y,p.h,90,270))}var h,c,d;t.setCenterPoint(e.l-i.l,i.r-e.r,e.t-i.t,i.b-e.b),t._pointLabelItems=function(t,e,i){const s=[],n=t._pointLabels.length,o=t.options,{centerPointLabels:a,display:r}=o.pointLabels,l={extra:Po(o)/2,additionalAngle:a?C/n:0};let h;for(let o=0;o<n;o++){l.padding=i[o],l.size=e[o];const n=Ao(t,o,l);s.push(n),"auto"===r&&(n.visible=To(n,h),n.visible&&(h=n))}return s}(t,s,o)}function Oo(t,e,i,s,n){const o=Math.abs(Math.sin(i)),a=Math.abs(Math.cos(i));let r=0,l=0;s.start<e.l?(r=(e.l-s.start)/o,t.l=Math.min(t.l,e.l-r)):s.end>e.r&&(r=(s.end-e.r)/o,t.r=Math.max(t.r,e.r+r)),n.start<e.t?(l=(e.t-n.start)/a,t.t=Math.min(t.t,e.t-l)):n.end>e.b&&(l=(n.end-e.b)/a,t.b=Math.max(t.b,e.b+l))}function Ao(t,e,i){const s=t.drawingArea,{extra:n,additionalAngle:o,padding:a,size:r}=i,l=t.getPointPosition(e,s+n+a,o),h=Math.round(Y(G(l.angle+E))),c=function(t,e,i){90===i||270===i?t-=e/2:(i>270||i<90)&&(t-=e);return t}(l.y,r.h,h),d=function(t){if(0===t||180===t)return"center";if(t<180)return"left";return"right"}(h),u=function(t,e,i){"right"===i?t-=e:"center"===i&&(t-=e/2);return t}(l.x,r.w,d);return{visible:!0,x:l.x,y:c,textAlign:d,left:u,top:c,right:u+r.w,bottom:c+r.h}}function To(t,e){if(!e)return!0;const{left:i,top:s,right:n,bottom:o}=t;return!(Re({x:i,y:s},e)||Re({x:i,y:o},e)||Re({x:n,y:s},e)||Re({x:n,y:o},e))}function Lo(t,e,i){const{left:n,top:o,right:a,bottom:r}=i,{backdropColor:l}=e;if(!s(l)){const i=wi(e.borderRadius),s=ki(e.backdropPadding);t.fillStyle=l;const h=n-s.left,c=o-s.top,d=a-n+s.width,u=r-o+s.height;Object.values(i).some((t=>0!==t))?(t.beginPath(),He(t,{x:h,y:c,w:d,h:u,radius:i}),t.fill()):t.fillRect(h,c,d,u)}}function Eo(t,e,i,s){const{ctx:n}=t;if(i)n.arc(t.xCenter,t.yCenter,e,0,O);else{let i=t.getPointPosition(0,e);n.moveTo(i.x,i.y);for(let o=1;o<s;o++)i=t.getPointPosition(o,e),n.lineTo(i.x,i.y)}}class Ro extends bo{static id="radialLinear";static defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:ae.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback:t=>t,padding:5,centerPointLabels:!1}};static defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"};static descriptors={angleLines:{_fallback:"grid"}};constructor(t){super(t),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){const t=this._padding=ki(Po(this.options)/2),e=this.width=this.maxWidth-t.width,i=this.height=this.maxHeight-t.height;this.xCenter=Math.floor(this.left+e/2+t.left),this.yCenter=Math.floor(this.top+i/2+t.top),this.drawingArea=Math.floor(Math.min(e,i)/2)}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!1);this.min=a(t)&&!isNaN(t)?t:0,this.max=a(e)&&!isNaN(e)?e:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/Po(this.options))}generateTickLabels(t){bo.prototype.generateTickLabels.call(this,t),this._pointLabels=this.getLabels().map(((t,e)=>{const i=d(this.options.pointLabels.callback,[t,e],this);return i||0===i?i:""})).filter(((t,e)=>this.chart.getDataVisibility(e)))}fit(){const t=this.options;t.display&&t.pointLabels.display?Co(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,i,s){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((i-s)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,i,s))}getIndexAngle(t){return G(t*(O/(this._pointLabels.length||1))+$(this.options.startAngle||0))}getDistanceFromCenterForValue(t){if(s(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if(s(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t<e.length){const i=e[t];return function(t,e,i){return Ci(t,{label:i,index:e,type:"pointLabel"})}(this.getContext(),t,i)}}getPointPosition(t,e,i=0){const s=this.getIndexAngle(t)-E+i;return{x:Math.cos(s)*e+this.xCenter,y:Math.sin(s)*e+this.yCenter,angle:s}}getPointPositionForValue(t,e){return this.getPointPosition(t,this.getDistanceFromCenterForValue(e))}getBasePosition(t){return this.getPointPositionForValue(t||0,this.getBaseValue())}getPointLabelPosition(t){const{left:e,top:i,right:s,bottom:n}=this._pointLabelItems[t];return{left:e,top:i,right:s,bottom:n}}drawBackground(){const{backgroundColor:t,grid:{circular:e}}=this.options;if(t){const i=this.ctx;i.save(),i.beginPath(),Eo(this,this.getDistanceFromCenterForValue(this._endValue),e,this._pointLabels.length),i.closePath(),i.fillStyle=t,i.fill(),i.restore()}}drawGrid(){const t=this.ctx,e=this.options,{angleLines:i,grid:s,border:n}=e,o=this._pointLabels.length;let a,r,l;if(e.pointLabels.display&&function(t,e){const{ctx:i,options:{pointLabels:s}}=t;for(let n=e-1;n>=0;n--){const e=t._pointLabelItems[n];if(!e.visible)continue;const o=s.setContext(t.getPointLabelContext(n));Lo(i,o,e);const a=Si(o.font),{x:r,y:l,textAlign:h}=e;Ne(i,t._pointLabels[n],r,l+a.lineHeight/2,a,{color:o.color,textAlign:h,textBaseline:"middle"})}}(this,o),s.display&&this.ticks.forEach(((t,e)=>{if(0!==e||0===e&&this.min<0){r=this.getDistanceFromCenterForValue(t.value);const i=this.getContext(e),a=s.setContext(i),l=n.setContext(i);!function(t,e,i,s,n){const o=t.ctx,a=e.circular,{color:r,lineWidth:l}=e;!a&&!s||!r||!l||i<0||(o.save(),o.strokeStyle=r,o.lineWidth=l,o.setLineDash(n.dash||[]),o.lineDashOffset=n.dashOffset,o.beginPath(),Eo(t,i,a,s),o.closePath(),o.stroke(),o.restore())}(this,a,r,o,l)}})),i.display){for(t.save(),a=o-1;a>=0;a--){const s=i.setContext(this.getPointLabelContext(a)),{color:n,lineWidth:o}=s;o&&n&&(t.lineWidth=o,t.strokeStyle=n,t.setLineDash(s.borderDash),t.lineDashOffset=s.borderDashOffset,r=this.getDistanceFromCenterForValue(e.reverse?this.min:this.max),l=this.getPointPosition(a,r),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(l.x,l.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,i=e.ticks;if(!i.display)return;const s=this.getIndexAngle(0);let n,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(s),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach(((s,a)=>{if(0===a&&this.min>=0&&!e.reverse)return;const r=i.setContext(this.getContext(a)),l=Si(r.font);if(n=this.getDistanceFromCenterForValue(this.ticks[a].value),r.showLabelBackdrop){t.font=l.string,o=t.measureText(s.label).width,t.fillStyle=r.backdropColor;const e=ki(r.backdropPadding);t.fillRect(-o/2-e.left,-n-l.size/2-e.top,o+e.width,l.size+e.height)}Ne(t,s.label,0,-n,l,{color:r.color,strokeColor:r.textStrokeColor,strokeWidth:r.textStrokeWidth})})),t.restore()}drawTitle(){}}const Io={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},zo=Object.keys(Io);function Fo(t,e){return t-e}function Vo(t,e){if(s(e))return null;const i=t._adapter,{parser:n,round:o,isoWeekday:r}=t._parseOpts;let l=e;return"function"==typeof n&&(l=n(l)),a(l)||(l="string"==typeof n?i.parse(l,n):i.parse(l)),null===l?null:(o&&(l="week"!==o||!N(r)&&!0!==r?i.startOf(l,o):i.startOf(l,"isoWeek",r)),+l)}function Bo(t,e,i,s){const n=zo.length;for(let o=zo.indexOf(t);o<n-1;++o){const t=Io[zo[o]],n=t.steps?t.steps:Number.MAX_SAFE_INTEGER;if(t.common&&Math.ceil((i-e)/(n*t.size))<=s)return zo[o]}return zo[n-1]}function Wo(t,e,i){if(i){if(i.length){const{lo:s,hi:n}=et(i,e);t[i[s]>=e?i[s]:i[n]]=!0}}else t[e]=!0}function No(t,e,i){const s=[],n={},o=e.length;let a,r;for(a=0;a<o;++a)r=e[a],n[r]=a,s.push({value:r,major:!1});return 0!==o&&i?function(t,e,i,s){const n=t._adapter,o=+n.startOf(e[0].value,s),a=e[e.length-1].value;let r,l;for(r=o;r<=a;r=+n.add(r,1,s))l=i[r],l>=0&&(e[l].major=!0);return e}(t,s,n,i):s}class Ho extends tn{static id="time";static defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}};constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,e={}){const i=t.time||(t.time={}),s=this._adapter=new In._date(t.adapters.date);s.init(e),b(i.displayFormats,s.formats()),this._parseOpts={parser:i.parser,round:i.round,isoWeekday:i.isoWeekday},super.init(t),this._normalized=e.normalized}parse(t,e){return void 0===t?null:Vo(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,e=this._adapter,i=t.time.unit||"day";let{min:s,max:n,minDefined:o,maxDefined:r}=this.getUserBounds();function l(t){o||isNaN(t.min)||(s=Math.min(s,t.min)),r||isNaN(t.max)||(n=Math.max(n,t.max))}o&&r||(l(this._getLabelBounds()),"ticks"===t.bounds&&"labels"===t.ticks.source||l(this.getMinMax(!1))),s=a(s)&&!isNaN(s)?s:+e.startOf(Date.now(),i),n=a(n)&&!isNaN(n)?n:+e.endOf(Date.now(),i)+1,this.min=Math.min(s,n-1),this.max=Math.max(s+1,n)}_getLabelBounds(){const t=this.getLabelTimestamps();let e=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;return t.length&&(e=t[0],i=t[t.length-1]),{min:e,max:i}}buildTicks(){const t=this.options,e=t.time,i=t.ticks,s="labels"===i.source?this.getLabelTimestamps():this._generate();"ticks"===t.bounds&&s.length&&(this.min=this._userMin||s[0],this.max=this._userMax||s[s.length-1]);const n=this.min,o=nt(s,n,this.max);return this._unit=e.unit||(i.autoSkip?Bo(e.minUnit,this.min,this.max,this._getLabelCapacity(n)):function(t,e,i,s,n){for(let o=zo.length-1;o>=zo.indexOf(i);o--){const i=zo[o];if(Io[i].common&&t._adapter.diff(n,s,i)>=e-1)return i}return zo[i?zo.indexOf(i):0]}(this,o.length,e.minUnit,this.min,this.max)),this._majorUnit=i.major.enabled&&"year"!==this._unit?function(t){for(let e=zo.indexOf(t)+1,i=zo.length;e<i;++e)if(Io[zo[e]].common)return zo[e]}(this._unit):void 0,this.initOffsets(s),t.reverse&&o.reverse(),No(this,o,this._majorUnit)}afterAutoSkip(){this.options.offsetAfterAutoskip&&this.initOffsets(this.ticks.map((t=>+t.value)))}initOffsets(t=[]){let e,i,s=0,n=0;this.options.offset&&t.length&&(e=this.getDecimalForValue(t[0]),s=1===t.length?1-e:(this.getDecimalForValue(t[1])-e)/2,i=this.getDecimalForValue(t[t.length-1]),n=1===t.length?i:(i-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;s=Z(s,0,o),n=Z(n,0,o),this._offsets={start:s,end:n,factor:1/(s+1+n)}}_generate(){const t=this._adapter,e=this.min,i=this.max,s=this.options,n=s.time,o=n.unit||Bo(n.minUnit,e,i,this._getLabelCapacity(e)),a=l(s.ticks.stepSize,1),r="week"===o&&n.isoWeekday,h=N(r)||!0===r,c={};let d,u,f=e;if(h&&(f=+t.startOf(f,"isoWeek",r)),f=+t.startOf(f,h?"day":o),t.diff(i,e,o)>1e5*a)throw new Error(e+" and "+i+" are too far apart with stepSize of "+a+" "+o);const g="data"===s.ticks.source&&this.getDataTimestamps();for(d=f,u=0;d<i;d=+t.add(d,a,o),u++)Wo(c,d,g);return d!==i&&"ticks"!==s.bounds&&1!==u||Wo(c,d,g),Object.keys(c).sort(Fo).map((t=>+t))}getLabelForValue(t){const e=this._adapter,i=this.options.time;return i.tooltipFormat?e.format(t,i.tooltipFormat):e.format(t,i.displayFormats.datetime)}format(t,e){const i=this.options.time.displayFormats,s=this._unit,n=e||i[s];return this._adapter.format(t,n)}_tickFormatFunction(t,e,i,s){const n=this.options,o=n.ticks.callback;if(o)return d(o,[t,e,i],this);const a=n.time.displayFormats,r=this._unit,l=this._majorUnit,h=r&&a[r],c=l&&a[l],u=i[e],f=l&&c&&u&&u.major;return this._adapter.format(t,s||(f?c:h))}generateTickLabels(t){let e,i,s;for(e=0,i=t.length;e<i;++e)s=t[e],s.label=this._tickFormatFunction(s.value,e,t)}getDecimalForValue(t){return null===t?NaN:(t-this.min)/(this.max-this.min)}getPixelForValue(t){const e=this._offsets,i=this.getDecimalForValue(t);return this.getPixelForDecimal((e.start+i)*e.factor)}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return this.min+i*(this.max-this.min)}_getLabelSize(t){const e=this.options.ticks,i=this.ctx.measureText(t).width,s=$(this.isHorizontal()?e.maxRotation:e.minRotation),n=Math.cos(s),o=Math.sin(s),a=this._resolveTickFontOptions(0).size;return{w:i*n+a*o,h:i*o+a*n}}_getLabelCapacity(t){const e=this.options.time,i=e.displayFormats,s=i[e.unit]||i.millisecond,n=this._tickFormatFunction(t,0,No(this,[t],this._majorUnit),s),o=this._getLabelSize(n),a=Math.floor(this.isHorizontal()?this.width/o.w:this.height/o.h)-1;return a>0?a:1}getDataTimestamps(){let t,e,i=this._cache.data||[];if(i.length)return i;const s=this.getMatchingVisibleMetas();if(this._normalized&&s.length)return this._cache.data=s[0].controller.getAllParsedValues(this);for(t=0,e=s.length;t<e;++t)i=i.concat(s[t].controller.getAllParsedValues(this));return this._cache.data=this.normalize(i)}getLabelTimestamps(){const t=this._cache.labels||[];let e,i;if(t.length)return t;const s=this.getLabels();for(e=0,i=s.length;e<i;++e)t.push(Vo(this,s[e]));return this._cache.labels=this._normalized?t:this.normalize(t)}normalize(t){return lt(t.sort(Fo))}}function jo(t,e,i){let s,n,o,a,r=0,l=t.length-1;i?(e>=t[r].pos&&e<=t[l].pos&&({lo:r,hi:l}=it(t,"pos",e)),({pos:s,time:o}=t[r]),({pos:n,time:a}=t[l])):(e>=t[r].time&&e<=t[l].time&&({lo:r,hi:l}=it(t,"time",e)),({time:s,pos:o}=t[r]),({time:n,pos:a}=t[l]));const h=n-s;return h?o+(a-o)*(e-s)/h:o}var $o=Object.freeze({__proto__:null,CategoryScale:class extends tn{static id="category";static defaults={ticks:{callback:mo}};constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const e=this._addedLabels;if(e.length){const t=this.getLabels();for(const{index:i,label:s}of e)t[i]===s&&t.splice(i,1);this._addedLabels=[]}super.init(t)}parse(t,e){if(s(t))return null;const i=this.getLabels();return((t,e)=>null===t?null:Z(Math.round(t),0,e))(e=isFinite(e)&&i[e]===t?e:po(i,t,l(e,t),this._addedLabels),i.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let{min:i,max:s}=this.getMinMax(!0);"ticks"===this.options.bounds&&(t||(i=0),e||(s=this.getLabels().length-1)),this.min=i,this.max=s}buildTicks(){const t=this.min,e=this.max,i=this.options.offset,s=[];let n=this.getLabels();n=0===t&&e===n.length-1?n:n.slice(t,e+1),this._valueRange=Math.max(n.length-(i?0:1),1),this._startValue=this.min-(i?.5:0);for(let i=t;i<=e;i++)s.push({value:i});return s}getLabelForValue(t){return mo.call(this,t)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(t){return"number"!=typeof t&&(t=this.parse(t)),null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}},LinearScale:_o,LogarithmicScale:So,RadialLinearScale:Ro,TimeScale:Ho,TimeSeriesScale:class extends Ho{static id="timeseries";static defaults=Ho.defaults;constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=jo(e,this.min),this._tableRange=jo(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:i}=this,s=[],n=[];let o,a,r,l,h;for(o=0,a=t.length;o<a;++o)l=t[o],l>=e&&l<=i&&s.push(l);if(s.length<2)return[{time:e,pos:0},{time:i,pos:1}];for(o=0,a=s.length;o<a;++o)h=s[o+1],r=s[o-1],l=s[o],Math.round((h+r)/2)!==l&&n.push({time:l,pos:o/(a-1)});return n}_generate(){const t=this.min,e=this.max;let i=super.getDataTimestamps();return i.includes(t)&&i.length||i.splice(0,0,t),i.includes(e)&&1!==i.length||i.push(e),i.sort(((t,e)=>t-e))}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const e=this.getDataTimestamps(),i=this.getLabelTimestamps();return t=e.length&&i.length?this.normalize(e.concat(i)):e.length?e:i,t=this._cache.all=t,t}getDecimalForValue(t){return(jo(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return jo(this._table,i*this._tableRange+this._minPos,!0)}}});const Yo=["rgb(54, 162, 235)","rgb(255, 99, 132)","rgb(255, 159, 64)","rgb(255, 205, 86)","rgb(75, 192, 192)","rgb(153, 102, 255)","rgb(201, 203, 207)"],Uo=Yo.map((t=>t.replace("rgb(","rgba(").replace(")",", 0.5)")));function Xo(t){return Yo[t%Yo.length]}function qo(t){return Uo[t%Uo.length]}function Ko(t){let e=0;return(i,s)=>{const n=t.getDatasetMeta(s).controller;n instanceof $n?e=function(t,e){return t.backgroundColor=t.data.map((()=>Xo(e++))),e}(i,e):n instanceof Yn?e=function(t,e){return t.backgroundColor=t.data.map((()=>qo(e++))),e}(i,e):n&&(e=function(t,e){return t.borderColor=Xo(e),t.backgroundColor=qo(e),++e}(i,e))}}function Go(t){let e;for(e in t)if(t[e].borderColor||t[e].backgroundColor)return!0;return!1}var Jo={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(t,e,i){if(!i.enabled)return;const{data:{datasets:s},options:n}=t.config,{elements:o}=n,a=Go(s)||(r=n)&&(r.borderColor||r.backgroundColor)||o&&Go(o)||"rgba(0,0,0,0.1)"!==ue.borderColor||"rgba(0,0,0,0.1)"!==ue.backgroundColor;var r;if(!i.forceOverride&&a)return;const l=Ko(t);s.forEach(l)}};function Zo(t){if(t._decimated){const e=t._data;delete t._decimated,delete t._data,Object.defineProperty(t,"data",{configurable:!0,enumerable:!0,writable:!0,value:e})}}function Qo(t){t.data.datasets.forEach((t=>{Zo(t)}))}var ta={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(t,e,i)=>{if(!i.enabled)return void Qo(t);const n=t.width;t.data.datasets.forEach(((e,o)=>{const{_data:a,indexAxis:r}=e,l=t.getDatasetMeta(o),h=a||e.data;if("y"===Pi([r,t.options.indexAxis]))return;if(!l.controller.supportsDecimation)return;const c=t.scales[l.xAxisID];if("linear"!==c.type&&"time"!==c.type)return;if(t.options.parsing)return;let{start:d,count:u}=function(t,e){const i=e.length;let s,n=0;const{iScale:o}=t,{min:a,max:r,minDefined:l,maxDefined:h}=o.getUserBounds();return l&&(n=Z(it(e,o.axis,a).lo,0,i-1)),s=h?Z(it(e,o.axis,r).hi+1,n,i)-n:i-n,{start:n,count:s}}(l,h);if(u<=(i.threshold||4*n))return void Zo(e);let f;switch(s(a)&&(e._data=h,delete e.data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(t){this._data=t}})),i.algorithm){case"lttb":f=function(t,e,i,s,n){const o=n.samples||s;if(o>=i)return t.slice(e,e+i);const a=[],r=(i-2)/(o-2);let l=0;const h=e+i-1;let c,d,u,f,g,p=e;for(a[l++]=t[p],c=0;c<o-2;c++){let s,n=0,o=0;const h=Math.floor((c+1)*r)+1+e,m=Math.min(Math.floor((c+2)*r)+1,i)+e,x=m-h;for(s=h;s<m;s++)n+=t[s].x,o+=t[s].y;n/=x,o/=x;const b=Math.floor(c*r)+1+e,_=Math.min(Math.floor((c+1)*r)+1,i)+e,{x:y,y:v}=t[p];for(u=f=-1,s=b;s<_;s++)f=.5*Math.abs((y-n)*(t[s].y-v)-(y-t[s].x)*(o-v)),f>u&&(u=f,d=t[s],g=s);a[l++]=d,p=g}return a[l++]=t[h],a}(h,d,u,n,i);break;case"min-max":f=function(t,e,i,n){let o,a,r,l,h,c,d,u,f,g,p=0,m=0;const x=[],b=e+i-1,_=t[e].x,y=t[b].x-_;for(o=e;o<e+i;++o){a=t[o],r=(a.x-_)/y*n,l=a.y;const e=0|r;if(e===h)l<f?(f=l,c=o):l>g&&(g=l,d=o),p=(m*p+a.x)/++m;else{const i=o-1;if(!s(c)&&!s(d)){const e=Math.min(c,d),s=Math.max(c,d);e!==u&&e!==i&&x.push({...t[e],x:p}),s!==u&&s!==i&&x.push({...t[s],x:p})}o>0&&i!==u&&x.push(t[i]),x.push(a),h=e,m=0,f=g=l,c=d=u=o}}return x}(h,d,u,n);break;default:throw new Error(`Unsupported decimation algorithm '${i.algorithm}'`)}e._decimated=f}))},destroy(t){Qo(t)}};function ea(t,e,i,s){if(s)return;let n=e[t],o=i[t];return"angle"===t&&(n=G(n),o=G(o)),{property:t,start:n,end:o}}function ia(t,e,i){for(;e>t;e--){const t=i[e];if(!isNaN(t.x)&&!isNaN(t.y))break}return e}function sa(t,e,i,s){return t&&e?s(t[i],e[i]):t?t[i]:e?e[i]:0}function na(t,e){let i=[],s=!1;return n(t)?(s=!0,i=t):i=function(t,e){const{x:i=null,y:s=null}=t||{},n=e.points,o=[];return e.segments.forEach((({start:t,end:e})=>{e=ia(t,e,n);const a=n[t],r=n[e];null!==s?(o.push({x:a.x,y:s}),o.push({x:r.x,y:s})):null!==i&&(o.push({x:i,y:a.y}),o.push({x:i,y:r.y}))})),o}(t,e),i.length?new oo({points:i,options:{tension:0},_loop:s,_fullLoop:s}):null}function oa(t){return t&&!1!==t.fill}function aa(t,e,i){let s=t[e].fill;const n=[e];let o;if(!i)return s;for(;!1!==s&&-1===n.indexOf(s);){if(!a(s))return s;if(o=t[s],!o)return!1;if(o.visible)return s;n.push(s),s=o.fill}return!1}function ra(t,e,i){const s=function(t){const e=t.options,i=e.fill;let s=l(i&&i.target,i);void 0===s&&(s=!!e.backgroundColor);if(!1===s||null===s)return!1;if(!0===s)return"origin";return s}(t);if(o(s))return!isNaN(s.value)&&s;let n=parseFloat(s);return a(n)&&Math.floor(n)===n?function(t,e,i,s){"-"!==t&&"+"!==t||(i=e+i);if(i===e||i<0||i>=s)return!1;return i}(s[0],e,n,i):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}function la(t,e,i){const s=[];for(let n=0;n<i.length;n++){const o=i[n],{first:a,last:r,point:l}=ha(o,e,"x");if(!(!l||a&&r))if(a)s.unshift(l);else if(t.push(l),!r)break}t.push(...s)}function ha(t,e,i){const s=t.interpolate(e,i);if(!s)return{};const n=s[i],o=t.segments,a=t.points;let r=!1,l=!1;for(let t=0;t<o.length;t++){const e=o[t],s=a[e.start][i],h=a[e.end][i];if(tt(n,s,h)){r=n===s,l=n===h;break}}return{first:r,last:l,point:s}}class ca{constructor(t){this.x=t.x,this.y=t.y,this.radius=t.radius}pathSegment(t,e,i){const{x:s,y:n,radius:o}=this;return e=e||{start:0,end:O},t.arc(s,n,o,e.end,e.start,!0),!i.bounds}interpolate(t){const{x:e,y:i,radius:s}=this,n=t.angle;return{x:e+Math.cos(n)*s,y:i+Math.sin(n)*s,angle:n}}}function da(t){const{chart:e,fill:i,line:s}=t;if(a(i))return function(t,e){const i=t.getDatasetMeta(e),s=i&&t.isDatasetVisible(e);return s?i.dataset:null}(e,i);if("stack"===i)return function(t){const{scale:e,index:i,line:s}=t,n=[],o=s.segments,a=s.points,r=function(t,e){const i=[],s=t.getMatchingVisibleMetas("line");for(let t=0;t<s.length;t++){const n=s[t];if(n.index===e)break;n.hidden||i.unshift(n.dataset)}return i}(e,i);r.push(na({x:null,y:e.bottom},s));for(let t=0;t<o.length;t++){const e=o[t];for(let t=e.start;t<=e.end;t++)la(n,a[t],r)}return new oo({points:n,options:{}})}(t);if("shape"===i)return!0;const n=function(t){const e=t.scale||{};if(e.getPointPositionForValue)return function(t){const{scale:e,fill:i}=t,s=e.options,n=e.getLabels().length,a=s.reverse?e.max:e.min,r=function(t,e,i){let s;return s="start"===t?i:"end"===t?e.options.reverse?e.min:e.max:o(t)?t.value:e.getBaseValue(),s}(i,e,a),l=[];if(s.grid.circular){const t=e.getPointPositionForValue(0,a);return new ca({x:t.x,y:t.y,radius:e.getDistanceFromCenterForValue(r)})}for(let t=0;t<n;++t)l.push(e.getPointPositionForValue(t,r));return l}(t);return function(t){const{scale:e={},fill:i}=t,s=function(t,e){let i=null;return"start"===t?i=e.bottom:"end"===t?i=e.top:o(t)?i=e.getPixelForValue(t.value):e.getBasePixel&&(i=e.getBasePixel()),i}(i,e);if(a(s)){const t=e.isHorizontal();return{x:t?s:null,y:t?null:s}}return null}(t)}(t);return n instanceof ca?n:na(n,s)}function ua(t,e,i){const s=da(e),{chart:n,index:o,line:a,scale:r,axis:l}=e,h=a.options,c=h.fill,d=h.backgroundColor,{above:u=d,below:f=d}=c||{},g=n.getDatasetMeta(o),p=Ni(n,g);s&&a.points.length&&(Ie(t,i),function(t,e){const{line:i,target:s,above:n,below:o,area:a,scale:r,clip:l}=e,h=i._loop?"angle":e.axis;t.save();let c=o;o!==n&&("x"===h?(fa(t,s,a.top),pa(t,{line:i,target:s,color:n,scale:r,property:h,clip:l}),t.restore(),t.save(),fa(t,s,a.bottom)):"y"===h&&(ga(t,s,a.left),pa(t,{line:i,target:s,color:o,scale:r,property:h,clip:l}),t.restore(),t.save(),ga(t,s,a.right),c=n));pa(t,{line:i,target:s,color:c,scale:r,property:h,clip:l}),t.restore()}(t,{line:a,target:s,above:u,below:f,area:i,scale:r,axis:l,clip:p}),ze(t))}function fa(t,e,i){const{segments:s,points:n}=e;let o=!0,a=!1;t.beginPath();for(const r of s){const{start:s,end:l}=r,h=n[s],c=n[ia(s,l,n)];o?(t.moveTo(h.x,h.y),o=!1):(t.lineTo(h.x,i),t.lineTo(h.x,h.y)),a=!!e.pathSegment(t,r,{move:a}),a?t.closePath():t.lineTo(c.x,i)}t.lineTo(e.first().x,i),t.closePath(),t.clip()}function ga(t,e,i){const{segments:s,points:n}=e;let o=!0,a=!1;t.beginPath();for(const r of s){const{start:s,end:l}=r,h=n[s],c=n[ia(s,l,n)];o?(t.moveTo(h.x,h.y),o=!1):(t.lineTo(i,h.y),t.lineTo(h.x,h.y)),a=!!e.pathSegment(t,r,{move:a}),a?t.closePath():t.lineTo(i,c.y)}t.lineTo(i,e.first().y),t.closePath(),t.clip()}function pa(t,e){const{line:i,target:s,property:n,color:o,scale:a,clip:r}=e,l=function(t,e,i){const s=t.segments,n=t.points,o=e.points,a=[];for(const t of s){let{start:s,end:r}=t;r=ia(s,r,n);const l=ea(i,n[s],n[r],t.loop);if(!e.segments){a.push({source:t,target:l,start:n[s],end:n[r]});continue}const h=Ii(e,l);for(const e of h){const s=ea(i,o[e.start],o[e.end],e.loop),r=Ri(t,n,s);for(const t of r)a.push({source:t,target:e,start:{[i]:sa(l,s,"start",Math.max)},end:{[i]:sa(l,s,"end",Math.min)}})}}return a}(i,s,n);for(const{source:e,target:h,start:c,end:d}of l){const{style:{backgroundColor:l=o}={}}=e,u=!0!==s;t.save(),t.fillStyle=l,ma(t,a,r,u&&ea(n,c,d)),t.beginPath();const f=!!i.pathSegment(t,e);let g;if(u){f?t.closePath():xa(t,s,d,n);const e=!!s.pathSegment(t,h,{move:f,reverse:!0});g=f&&e,g||xa(t,s,c,n)}t.closePath(),t.fill(g?"evenodd":"nonzero"),t.restore()}}function ma(t,e,i,s){const n=e.chart.chartArea,{property:o,start:a,end:r}=s||{};if("x"===o||"y"===o){let e,s,l,h;"x"===o?(e=a,s=n.top,l=r,h=n.bottom):(e=n.left,s=a,l=n.right,h=r),t.beginPath(),i&&(e=Math.max(e,i.left),l=Math.min(l,i.right),s=Math.max(s,i.top),h=Math.min(h,i.bottom)),t.rect(e,s,l-e,h-s),t.clip()}}function xa(t,e,i,s){const n=e.interpolate(i,s);n&&t.lineTo(n.x,n.y)}var ba={id:"filler",afterDatasetsUpdate(t,e,i){const s=(t.data.datasets||[]).length,n=[];let o,a,r,l;for(a=0;a<s;++a)o=t.getDatasetMeta(a),r=o.dataset,l=null,r&&r.options&&r instanceof oo&&(l={visible:t.isDatasetVisible(a),index:a,fill:ra(r,a,s),chart:t,axis:o.controller.options.indexAxis,scale:o.vScale,line:r}),o.$filler=l,n.push(l);for(a=0;a<s;++a)l=n[a],l&&!1!==l.fill&&(l.fill=aa(n,a,i.propagate))},beforeDraw(t,e,i){const s="beforeDraw"===i.drawTime,n=t.getSortedVisibleDatasetMetas(),o=t.chartArea;for(let e=n.length-1;e>=0;--e){const i=n[e].$filler;i&&(i.line.updateControlPoints(o,i.axis),s&&i.fill&&ua(t.ctx,i,o))}},beforeDatasetsDraw(t,e,i){if("beforeDatasetsDraw"!==i.drawTime)return;const s=t.getSortedVisibleDatasetMetas();for(let e=s.length-1;e>=0;--e){const i=s[e].$filler;oa(i)&&ua(t.ctx,i,t.chartArea)}},beforeDatasetDraw(t,e,i){const s=e.meta.$filler;oa(s)&&"beforeDatasetDraw"===i.drawTime&&ua(t.ctx,s,t.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const _a=(t,e)=>{let{boxHeight:i=e,boxWidth:s=e}=t;return t.usePointStyle&&(i=Math.min(i,e),s=t.pointStyleWidth||Math.min(s,e)),{boxWidth:s,boxHeight:i,itemHeight:Math.max(e,i)}};class ya extends $s{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,i){this.maxWidth=t,this.maxHeight=e,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=d(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter((e=>t.filter(e,this.chart.data)))),t.sort&&(e=e.sort(((e,i)=>t.sort(e,i,this.chart.data)))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display)return void(this.width=this.height=0);const i=t.labels,s=Si(i.font),n=s.size,o=this._computeTitleHeight(),{boxWidth:a,itemHeight:r}=_a(i,n);let l,h;e.font=s.string,this.isHorizontal()?(l=this.maxWidth,h=this._fitRows(o,n,a,r)+10):(h=this.maxHeight,l=this._fitCols(o,s,a,r)+10),this.width=Math.min(l,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,i,s){const{ctx:n,maxWidth:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.lineWidths=[0],h=s+a;let c=t;n.textAlign="left",n.textBaseline="middle";let d=-1,u=-h;return this.legendItems.forEach(((t,f)=>{const g=i+e/2+n.measureText(t.text).width;(0===f||l[l.length-1]+g+2*a>o)&&(c+=h,l[l.length-(f>0?0:1)]=0,u+=h,d++),r[f]={left:0,top:u,row:d,width:g,height:s},l[l.length-1]+=g+a})),c}_fitCols(t,e,i,s){const{ctx:n,maxHeight:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.columnSizes=[],h=o-t;let c=a,d=0,u=0,f=0,g=0;return this.legendItems.forEach(((t,o)=>{const{itemWidth:p,itemHeight:m}=function(t,e,i,s,n){const o=function(t,e,i,s){let n=t.text;n&&"string"!=typeof n&&(n=n.reduce(((t,e)=>t.length>e.length?t:e)));return e+i.size/2+s.measureText(n).width}(s,t,e,i),a=function(t,e,i){let s=t;"string"!=typeof e.text&&(s=va(e,i));return s}(n,s,e.lineHeight);return{itemWidth:o,itemHeight:a}}(i,e,n,t,s);o>0&&u+m+2*a>h&&(c+=d+a,l.push({width:d,height:u}),f+=d+a,g++,d=u=0),r[o]={left:f,top:u,col:g,width:p,height:m},d=Math.max(d,p),u+=m+a})),c+=d,l.push({width:d,height:u}),c}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:i,labels:{padding:s},rtl:n}}=this,o=Oi(n,this.left,this.width);if(this.isHorizontal()){let n=0,a=ft(i,this.left+s,this.right-this.lineWidths[n]);for(const r of e)n!==r.row&&(n=r.row,a=ft(i,this.left+s,this.right-this.lineWidths[n])),r.top+=this.top+t+s,r.left=o.leftForLtr(o.x(a),r.width),a+=r.width+s}else{let n=0,a=ft(i,this.top+t+s,this.bottom-this.columnSizes[n].height);for(const r of e)r.col!==n&&(n=r.col,a=ft(i,this.top+t+s,this.bottom-this.columnSizes[n].height)),r.top=a,r.left+=this.left+s,r.left=o.leftForLtr(o.x(r.left),r.width),a+=r.height+s}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const t=this.ctx;Ie(t,this),this._draw(),ze(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:i,ctx:s}=this,{align:n,labels:o}=t,a=ue.color,r=Oi(t.rtl,this.left,this.width),h=Si(o.font),{padding:c}=o,d=h.size,u=d/2;let f;this.drawTitle(),s.textAlign=r.textAlign("left"),s.textBaseline="middle",s.lineWidth=.5,s.font=h.string;const{boxWidth:g,boxHeight:p,itemHeight:m}=_a(o,d),x=this.isHorizontal(),b=this._computeTitleHeight();f=x?{x:ft(n,this.left+c,this.right-i[0]),y:this.top+c+b,line:0}:{x:this.left+c,y:ft(n,this.top+b+c,this.bottom-e[0].height),line:0},Ai(this.ctx,t.textDirection);const _=m+c;this.legendItems.forEach(((y,v)=>{s.strokeStyle=y.fontColor,s.fillStyle=y.fontColor;const M=s.measureText(y.text).width,w=r.textAlign(y.textAlign||(y.textAlign=o.textAlign)),k=g+u+M;let S=f.x,P=f.y;r.setWidth(this.width),x?v>0&&S+k+c>this.right&&(P=f.y+=_,f.line++,S=f.x=ft(n,this.left+c,this.right-i[f.line])):v>0&&P+_>this.bottom&&(S=f.x=S+e[f.line].width+c,f.line++,P=f.y=ft(n,this.top+b+c,this.bottom-e[f.line].height));if(function(t,e,i){if(isNaN(g)||g<=0||isNaN(p)||p<0)return;s.save();const n=l(i.lineWidth,1);if(s.fillStyle=l(i.fillStyle,a),s.lineCap=l(i.lineCap,"butt"),s.lineDashOffset=l(i.lineDashOffset,0),s.lineJoin=l(i.lineJoin,"miter"),s.lineWidth=n,s.strokeStyle=l(i.strokeStyle,a),s.setLineDash(l(i.lineDash,[])),o.usePointStyle){const a={radius:p*Math.SQRT2/2,pointStyle:i.pointStyle,rotation:i.rotation,borderWidth:n},l=r.xPlus(t,g/2);Ee(s,a,l,e+u,o.pointStyleWidth&&g)}else{const o=e+Math.max((d-p)/2,0),a=r.leftForLtr(t,g),l=wi(i.borderRadius);s.beginPath(),Object.values(l).some((t=>0!==t))?He(s,{x:a,y:o,w:g,h:p,radius:l}):s.rect(a,o,g,p),s.fill(),0!==n&&s.stroke()}s.restore()}(r.x(S),P,y),S=gt(w,S+g+u,x?S+k:this.right,t.rtl),function(t,e,i){Ne(s,i.text,t,e+m/2,h,{strikethrough:i.hidden,textAlign:r.textAlign(i.textAlign)})}(r.x(S),P,y),x)f.x+=k+c;else if("string"!=typeof y.text){const t=h.lineHeight;f.y+=va(y,t)+c}else f.y+=_})),Ti(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,i=Si(e.font),s=ki(e.padding);if(!e.display)return;const n=Oi(t.rtl,this.left,this.width),o=this.ctx,a=e.position,r=i.size/2,l=s.top+r;let h,c=this.left,d=this.width;if(this.isHorizontal())d=Math.max(...this.lineWidths),h=this.top+l,c=ft(t.align,c,this.right-d);else{const e=this.columnSizes.reduce(((t,e)=>Math.max(t,e.height)),0);h=l+ft(t.align,this.top,this.bottom-e-t.labels.padding-this._computeTitleHeight())}const u=ft(a,c,c+d);o.textAlign=n.textAlign(ut(a)),o.textBaseline="middle",o.strokeStyle=e.color,o.fillStyle=e.color,o.font=i.string,Ne(o,e.text,u,h,i)}_computeTitleHeight(){const t=this.options.title,e=Si(t.font),i=ki(t.padding);return t.display?e.lineHeight+i.height:0}_getLegendItemAt(t,e){let i,s,n;if(tt(t,this.left,this.right)&&tt(e,this.top,this.bottom))for(n=this.legendHitBoxes,i=0;i<n.length;++i)if(s=n[i],tt(t,s.left,s.left+s.width)&&tt(e,s.top,s.top+s.height))return this.legendItems[i];return null}handleEvent(t){const e=this.options;if(!function(t,e){if(("mousemove"===t||"mouseout"===t)&&(e.onHover||e.onLeave))return!0;if(e.onClick&&("click"===t||"mouseup"===t))return!0;return!1}(t.type,e))return;const i=this._getLegendItemAt(t.x,t.y);if("mousemove"===t.type||"mouseout"===t.type){const o=this._hoveredItem,a=(n=i,null!==(s=o)&&null!==n&&s.datasetIndex===n.datasetIndex&&s.index===n.index);o&&!a&&d(e.onLeave,[t,o,this],this),this._hoveredItem=i,i&&!a&&d(e.onHover,[t,i,this],this)}else i&&d(e.onClick,[t,i,this],this);var s,n}}function va(t,e){return e*(t.text?t.text.length:0)}var Ma={id:"legend",_element:ya,start(t,e,i){const s=t.legend=new ya({ctx:t.ctx,options:i,chart:t});ls.configure(t,s,i),ls.addBox(t,s)},stop(t){ls.removeBox(t,t.legend),delete t.legend},beforeUpdate(t,e,i){const s=t.legend;ls.configure(t,s,i),s.options=i},afterUpdate(t){const e=t.legend;e.buildLabels(),e.adjustHitBoxes()},afterEvent(t,e){e.replay||t.legend.handleEvent(e.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(t,e,i){const s=e.datasetIndex,n=i.chart;n.isDatasetVisible(s)?(n.hide(s),e.hidden=!0):(n.show(s),e.hidden=!1)},onHover:null,onLeave:null,labels:{color:t=>t.chart.options.color,boxWidth:40,padding:10,generateLabels(t){const e=t.data.datasets,{labels:{usePointStyle:i,pointStyle:s,textAlign:n,color:o,useBorderRadius:a,borderRadius:r}}=t.legend.options;return t._getSortedDatasetMetas().map((t=>{const l=t.controller.getStyle(i?0:void 0),h=ki(l.borderWidth);return{text:e[t.index].label,fillStyle:l.backgroundColor,fontColor:o,hidden:!t.visible,lineCap:l.borderCapStyle,lineDash:l.borderDash,lineDashOffset:l.borderDashOffset,lineJoin:l.borderJoinStyle,lineWidth:(h.width+h.height)/4,strokeStyle:l.borderColor,pointStyle:s||l.pointStyle,rotation:l.rotation,textAlign:n||l.textAlign,borderRadius:a&&(r||l.borderRadius),datasetIndex:t.index}}),this)}},title:{color:t=>t.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:t=>!t.startsWith("on"),labels:{_scriptable:t=>!["generateLabels","filter","sort"].includes(t)}}};class wa extends $s{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const i=this.options;if(this.left=0,this.top=0,!i.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=t,this.height=this.bottom=e;const s=n(i.text)?i.text.length:1;this._padding=ki(i.padding);const o=s*Si(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return"top"===t||"bottom"===t}_drawArgs(t){const{top:e,left:i,bottom:s,right:n,options:o}=this,a=o.align;let r,l,h,c=0;return this.isHorizontal()?(l=ft(a,i,n),h=e+t,r=n-i):("left"===o.position?(l=i+t,h=ft(a,s,e),c=-.5*C):(l=n-t,h=ft(a,e,s),c=.5*C),r=s-e),{titleX:l,titleY:h,maxWidth:r,rotation:c}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const i=Si(e.font),s=i.lineHeight/2+this._padding.top,{titleX:n,titleY:o,maxWidth:a,rotation:r}=this._drawArgs(s);Ne(t,e.text,0,0,i,{color:e.color,maxWidth:a,rotation:r,textAlign:ut(e.align),textBaseline:"middle",translation:[n,o]})}}var ka={id:"title",_element:wa,start(t,e,i){!function(t,e){const i=new wa({ctx:t.ctx,options:e,chart:t});ls.configure(t,i,e),ls.addBox(t,i),t.titleBlock=i}(t,i)},stop(t){const e=t.titleBlock;ls.removeBox(t,e),delete t.titleBlock},beforeUpdate(t,e,i){const s=t.titleBlock;ls.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Sa=new WeakMap;var Pa={id:"subtitle",start(t,e,i){const s=new wa({ctx:t.ctx,options:i,chart:t});ls.configure(t,s,i),ls.addBox(t,s),Sa.set(t,s)},stop(t){ls.removeBox(t,Sa.get(t)),Sa.delete(t)},beforeUpdate(t,e,i){const s=Sa.get(t);ls.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Da={average(t){if(!t.length)return!1;let e,i,s=new Set,n=0,o=0;for(e=0,i=t.length;e<i;++e){const i=t[e].element;if(i&&i.hasValue()){const t=i.tooltipPosition();s.add(t.x),n+=t.y,++o}}if(0===o||0===s.size)return!1;return{x:[...s].reduce(((t,e)=>t+e))/s.size,y:n/o}},nearest(t,e){if(!t.length)return!1;let i,s,n,o=e.x,a=e.y,r=Number.POSITIVE_INFINITY;for(i=0,s=t.length;i<s;++i){const s=t[i].element;if(s&&s.hasValue()){const t=q(e,s.getCenterPoint());t<r&&(r=t,n=s)}}if(n){const t=n.tooltipPosition();o=t.x,a=t.y}return{x:o,y:a}}};function Ca(t,e){return e&&(n(e)?Array.prototype.push.apply(t,e):t.push(e)),t}function Oa(t){return("string"==typeof t||t instanceof String)&&t.indexOf("\n")>-1?t.split("\n"):t}function Aa(t,e){const{element:i,datasetIndex:s,index:n}=e,o=t.getDatasetMeta(s).controller,{label:a,value:r}=o.getLabelAndValue(n);return{chart:t,label:a,parsed:o.getParsed(n),raw:t.data.datasets[s].data[n],formattedValue:r,dataset:o.getDataset(),dataIndex:n,datasetIndex:s,element:i}}function Ta(t,e){const i=t.chart.ctx,{body:s,footer:n,title:o}=t,{boxWidth:a,boxHeight:r}=e,l=Si(e.bodyFont),h=Si(e.titleFont),c=Si(e.footerFont),d=o.length,f=n.length,g=s.length,p=ki(e.padding);let m=p.height,x=0,b=s.reduce(((t,e)=>t+e.before.length+e.lines.length+e.after.length),0);if(b+=t.beforeBody.length+t.afterBody.length,d&&(m+=d*h.lineHeight+(d-1)*e.titleSpacing+e.titleMarginBottom),b){m+=g*(e.displayColors?Math.max(r,l.lineHeight):l.lineHeight)+(b-g)*l.lineHeight+(b-1)*e.bodySpacing}f&&(m+=e.footerMarginTop+f*c.lineHeight+(f-1)*e.footerSpacing);let _=0;const y=function(t){x=Math.max(x,i.measureText(t).width+_)};return i.save(),i.font=h.string,u(t.title,y),i.font=l.string,u(t.beforeBody.concat(t.afterBody),y),_=e.displayColors?a+2+e.boxPadding:0,u(s,(t=>{u(t.before,y),u(t.lines,y),u(t.after,y)})),_=0,i.font=c.string,u(t.footer,y),i.restore(),x+=p.width,{width:x,height:m}}function La(t,e,i,s){const{x:n,width:o}=i,{width:a,chartArea:{left:r,right:l}}=t;let h="center";return"center"===s?h=n<=(r+l)/2?"left":"right":n<=o/2?h="left":n>=a-o/2&&(h="right"),function(t,e,i,s){const{x:n,width:o}=s,a=i.caretSize+i.caretPadding;return"left"===t&&n+o+a>e.width||"right"===t&&n-o-a<0||void 0}(h,t,e,i)&&(h="center"),h}function Ea(t,e,i){const s=i.yAlign||e.yAlign||function(t,e){const{y:i,height:s}=e;return i<s/2?"top":i>t.height-s/2?"bottom":"center"}(t,i);return{xAlign:i.xAlign||e.xAlign||La(t,e,i,s),yAlign:s}}function Ra(t,e,i,s){const{caretSize:n,caretPadding:o,cornerRadius:a}=t,{xAlign:r,yAlign:l}=i,h=n+o,{topLeft:c,topRight:d,bottomLeft:u,bottomRight:f}=wi(a);let g=function(t,e){let{x:i,width:s}=t;return"right"===e?i-=s:"center"===e&&(i-=s/2),i}(e,r);const p=function(t,e,i){let{y:s,height:n}=t;return"top"===e?s+=i:s-="bottom"===e?n+i:n/2,s}(e,l,h);return"center"===l?"left"===r?g+=h:"right"===r&&(g-=h):"left"===r?g-=Math.max(c,u)+n:"right"===r&&(g+=Math.max(d,f)+n),{x:Z(g,0,s.width-e.width),y:Z(p,0,s.height-e.height)}}function Ia(t,e,i){const s=ki(i.padding);return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-s.right:t.x+s.left}function za(t){return Ca([],Oa(t))}function Fa(t,e){const i=e&&e.dataset&&e.dataset.tooltip&&e.dataset.tooltip.callbacks;return i?t.override(i):t}const Va={beforeTitle:e,title(t){if(t.length>0){const e=t[0],i=e.chart.data.labels,s=i?i.length:0;if(this&&this.options&&"dataset"===this.options.mode)return e.dataset.label||"";if(e.label)return e.label;if(s>0&&e.dataIndex<s)return i[e.dataIndex]}return""},afterTitle:e,beforeBody:e,beforeLabel:e,label(t){if(this&&this.options&&"dataset"===this.options.mode)return t.label+": "+t.formattedValue||t.formattedValue;let e=t.dataset.label||"";e&&(e+=": ");const i=t.formattedValue;return s(i)||(e+=i),e},labelColor(t){const e=t.chart.getDatasetMeta(t.datasetIndex).controller.getStyle(t.dataIndex);return{borderColor:e.borderColor,backgroundColor:e.backgroundColor,borderWidth:e.borderWidth,borderDash:e.borderDash,borderDashOffset:e.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(t){const e=t.chart.getDatasetMeta(t.datasetIndex).controller.getStyle(t.dataIndex);return{pointStyle:e.pointStyle,rotation:e.rotation}},afterLabel:e,afterBody:e,beforeFooter:e,footer:e,afterFooter:e};function Ba(t,e,i,s){const n=t[e].call(i,s);return void 0===n?Va[e].call(i,s):n}class Wa extends $s{static positioners=Da;constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const e=this.chart,i=this.options.setContext(this.getContext()),s=i.enabled&&e.options.animation&&i.animations,n=new Ts(this.chart,s);return s._cacheable&&(this._cachedAnimations=Object.freeze(n)),n}getContext(){return this.$context||(this.$context=(t=this.chart.getContext(),e=this,i=this._tooltipItems,Ci(t,{tooltip:e,tooltipItems:i,type:"tooltip"})));var t,e,i}getTitle(t,e){const{callbacks:i}=e,s=Ba(i,"beforeTitle",this,t),n=Ba(i,"title",this,t),o=Ba(i,"afterTitle",this,t);let a=[];return a=Ca(a,Oa(s)),a=Ca(a,Oa(n)),a=Ca(a,Oa(o)),a}getBeforeBody(t,e){return za(Ba(e.callbacks,"beforeBody",this,t))}getBody(t,e){const{callbacks:i}=e,s=[];return u(t,(t=>{const e={before:[],lines:[],after:[]},n=Fa(i,t);Ca(e.before,Oa(Ba(n,"beforeLabel",this,t))),Ca(e.lines,Ba(n,"label",this,t)),Ca(e.after,Oa(Ba(n,"afterLabel",this,t))),s.push(e)})),s}getAfterBody(t,e){return za(Ba(e.callbacks,"afterBody",this,t))}getFooter(t,e){const{callbacks:i}=e,s=Ba(i,"beforeFooter",this,t),n=Ba(i,"footer",this,t),o=Ba(i,"afterFooter",this,t);let a=[];return a=Ca(a,Oa(s)),a=Ca(a,Oa(n)),a=Ca(a,Oa(o)),a}_createItems(t){const e=this._active,i=this.chart.data,s=[],n=[],o=[];let a,r,l=[];for(a=0,r=e.length;a<r;++a)l.push(Aa(this.chart,e[a]));return t.filter&&(l=l.filter(((e,s,n)=>t.filter(e,s,n,i)))),t.itemSort&&(l=l.sort(((e,s)=>t.itemSort(e,s,i)))),u(l,(e=>{const i=Fa(t.callbacks,e);s.push(Ba(i,"labelColor",this,e)),n.push(Ba(i,"labelPointStyle",this,e)),o.push(Ba(i,"labelTextColor",this,e))})),this.labelColors=s,this.labelPointStyles=n,this.labelTextColors=o,this.dataPoints=l,l}update(t,e){const i=this.options.setContext(this.getContext()),s=this._active;let n,o=[];if(s.length){const t=Da[i.position].call(this,s,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const e=this._size=Ta(this,i),a=Object.assign({},t,e),r=Ea(this.chart,i,a),l=Ra(i,a,r,this.chart);this.xAlign=r.xAlign,this.yAlign=r.yAlign,n={opacity:1,x:l.x,y:l.y,width:e.width,height:e.height,caretX:t.x,caretY:t.y}}else 0!==this.opacity&&(n={opacity:0});this._tooltipItems=o,this.$context=void 0,n&&this._resolveAnimations().update(this,n),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,i,s){const n=this.getCaretPosition(t,i,s);e.lineTo(n.x1,n.y1),e.lineTo(n.x2,n.y2),e.lineTo(n.x3,n.y3)}getCaretPosition(t,e,i){const{xAlign:s,yAlign:n}=this,{caretSize:o,cornerRadius:a}=i,{topLeft:r,topRight:l,bottomLeft:h,bottomRight:c}=wi(a),{x:d,y:u}=t,{width:f,height:g}=e;let p,m,x,b,_,y;return"center"===n?(_=u+g/2,"left"===s?(p=d,m=p-o,b=_+o,y=_-o):(p=d+f,m=p+o,b=_-o,y=_+o),x=p):(m="left"===s?d+Math.max(r,h)+o:"right"===s?d+f-Math.max(l,c)-o:this.caretX,"top"===n?(b=u,_=b-o,p=m-o,x=m+o):(b=u+g,_=b+o,p=m+o,x=m-o),y=b),{x1:p,x2:m,x3:x,y1:b,y2:_,y3:y}}drawTitle(t,e,i){const s=this.title,n=s.length;let o,a,r;if(n){const l=Oi(i.rtl,this.x,this.width);for(t.x=Ia(this,i.titleAlign,i),e.textAlign=l.textAlign(i.titleAlign),e.textBaseline="middle",o=Si(i.titleFont),a=i.titleSpacing,e.fillStyle=i.titleColor,e.font=o.string,r=0;r<n;++r)e.fillText(s[r],l.x(t.x),t.y+o.lineHeight/2),t.y+=o.lineHeight+a,r+1===n&&(t.y+=i.titleMarginBottom-a)}}_drawColorBox(t,e,i,s,n){const a=this.labelColors[i],r=this.labelPointStyles[i],{boxHeight:l,boxWidth:h}=n,c=Si(n.bodyFont),d=Ia(this,"left",n),u=s.x(d),f=l<c.lineHeight?(c.lineHeight-l)/2:0,g=e.y+f;if(n.usePointStyle){const e={radius:Math.min(h,l)/2,pointStyle:r.pointStyle,rotation:r.rotation,borderWidth:1},i=s.leftForLtr(u,h)+h/2,o=g+l/2;t.strokeStyle=n.multiKeyBackground,t.fillStyle=n.multiKeyBackground,Le(t,e,i,o),t.strokeStyle=a.borderColor,t.fillStyle=a.backgroundColor,Le(t,e,i,o)}else{t.lineWidth=o(a.borderWidth)?Math.max(...Object.values(a.borderWidth)):a.borderWidth||1,t.strokeStyle=a.borderColor,t.setLineDash(a.borderDash||[]),t.lineDashOffset=a.borderDashOffset||0;const e=s.leftForLtr(u,h),i=s.leftForLtr(s.xPlus(u,1),h-2),r=wi(a.borderRadius);Object.values(r).some((t=>0!==t))?(t.beginPath(),t.fillStyle=n.multiKeyBackground,He(t,{x:e,y:g,w:h,h:l,radius:r}),t.fill(),t.stroke(),t.fillStyle=a.backgroundColor,t.beginPath(),He(t,{x:i,y:g+1,w:h-2,h:l-2,radius:r}),t.fill()):(t.fillStyle=n.multiKeyBackground,t.fillRect(e,g,h,l),t.strokeRect(e,g,h,l),t.fillStyle=a.backgroundColor,t.fillRect(i,g+1,h-2,l-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,e,i){const{body:s}=this,{bodySpacing:n,bodyAlign:o,displayColors:a,boxHeight:r,boxWidth:l,boxPadding:h}=i,c=Si(i.bodyFont);let d=c.lineHeight,f=0;const g=Oi(i.rtl,this.x,this.width),p=function(i){e.fillText(i,g.x(t.x+f),t.y+d/2),t.y+=d+n},m=g.textAlign(o);let x,b,_,y,v,M,w;for(e.textAlign=o,e.textBaseline="middle",e.font=c.string,t.x=Ia(this,m,i),e.fillStyle=i.bodyColor,u(this.beforeBody,p),f=a&&"right"!==m?"center"===o?l/2+h:l+2+h:0,y=0,M=s.length;y<M;++y){for(x=s[y],b=this.labelTextColors[y],e.fillStyle=b,u(x.before,p),_=x.lines,a&&_.length&&(this._drawColorBox(e,t,y,g,i),d=Math.max(c.lineHeight,r)),v=0,w=_.length;v<w;++v)p(_[v]),d=c.lineHeight;u(x.after,p)}f=0,d=c.lineHeight,u(this.afterBody,p),t.y-=n}drawFooter(t,e,i){const s=this.footer,n=s.length;let o,a;if(n){const r=Oi(i.rtl,this.x,this.width);for(t.x=Ia(this,i.footerAlign,i),t.y+=i.footerMarginTop,e.textAlign=r.textAlign(i.footerAlign),e.textBaseline="middle",o=Si(i.footerFont),e.fillStyle=i.footerColor,e.font=o.string,a=0;a<n;++a)e.fillText(s[a],r.x(t.x),t.y+o.lineHeight/2),t.y+=o.lineHeight+i.footerSpacing}}drawBackground(t,e,i,s){const{xAlign:n,yAlign:o}=this,{x:a,y:r}=t,{width:l,height:h}=i,{topLeft:c,topRight:d,bottomLeft:u,bottomRight:f}=wi(s.cornerRadius);e.fillStyle=s.backgroundColor,e.strokeStyle=s.borderColor,e.lineWidth=s.borderWidth,e.beginPath(),e.moveTo(a+c,r),"top"===o&&this.drawCaret(t,e,i,s),e.lineTo(a+l-d,r),e.quadraticCurveTo(a+l,r,a+l,r+d),"center"===o&&"right"===n&&this.drawCaret(t,e,i,s),e.lineTo(a+l,r+h-f),e.quadraticCurveTo(a+l,r+h,a+l-f,r+h),"bottom"===o&&this.drawCaret(t,e,i,s),e.lineTo(a+u,r+h),e.quadraticCurveTo(a,r+h,a,r+h-u),"center"===o&&"left"===n&&this.drawCaret(t,e,i,s),e.lineTo(a,r+c),e.quadraticCurveTo(a,r,a+c,r),e.closePath(),e.fill(),s.borderWidth>0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,i=this.$animations,s=i&&i.x,n=i&&i.y;if(s||n){const i=Da[t.position].call(this,this._active,this._eventPosition);if(!i)return;const o=this._size=Ta(this,t),a=Object.assign({},i,this._size),r=Ea(e,t,a),l=Ra(t,a,r,e);s._to===l.x&&n._to===l.y||(this.xAlign=r.xAlign,this.yAlign=r.yAlign,this.width=o.width,this.height=o.height,this.caretX=i.x,this.caretY=i.y,this._resolveAnimations().update(this,l))}}_willRender(){return!!this.opacity}draw(t){const e=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(e);const s={width:this.width,height:this.height},n={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=ki(e.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&a&&(t.save(),t.globalAlpha=i,this.drawBackground(n,t,s,e),Ai(t,e.textDirection),n.y+=o.top,this.drawTitle(n,t,e),this.drawBody(n,t,e),this.drawFooter(n,t,e),Ti(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const i=this._active,s=t.map((({datasetIndex:t,index:e})=>{const i=this.chart.getDatasetMeta(t);if(!i)throw new Error("Cannot find a dataset at index "+t);return{datasetIndex:t,element:i.data[e],index:e}})),n=!f(i,s),o=this._positionChanged(s,e);(n||o)&&(this._active=s,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,i=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const s=this.options,n=this._active||[],o=this._getActiveElements(t,n,e,i),a=this._positionChanged(o,t),r=e||!f(o,n)||a;return r&&(this._active=o,(s.enabled||s.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),r}_getActiveElements(t,e,i,s){const n=this.options;if("mouseout"===t.type)return[];if(!s)return e.filter((t=>this.chart.data.datasets[t.datasetIndex]&&void 0!==this.chart.getDatasetMeta(t.datasetIndex).controller.getParsed(t.index)));const o=this.chart.getElementsAtEventForMode(t,n.mode,n,i);return n.reverse&&o.reverse(),o}_positionChanged(t,e){const{caretX:i,caretY:s,options:n}=this,o=Da[n.position].call(this,t,e);return!1!==o&&(i!==o.x||s!==o.y)}}var Na={id:"tooltip",_element:Wa,positioners:Da,afterInit(t,e,i){i&&(t.tooltip=new Wa({chart:t,options:i}))},beforeUpdate(t,e,i){t.tooltip&&t.tooltip.initialize(i)},reset(t,e,i){t.tooltip&&t.tooltip.initialize(i)},afterDraw(t){const e=t.tooltip;if(e&&e._willRender()){const i={tooltip:e};if(!1===t.notifyPlugins("beforeTooltipDraw",{...i,cancelable:!0}))return;e.draw(t.ctx),t.notifyPlugins("afterTooltipDraw",i)}},afterEvent(t,e){if(t.tooltip){const i=e.replay;t.tooltip.handleEvent(e.event,i,e.inChartArea)&&(e.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(t,e)=>e.bodyFont.size,boxWidth:(t,e)=>e.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Va},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:t=>"filter"!==t&&"itemSort"!==t&&"external"!==t,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};return Tn.register(Un,$o,go,t),Tn.helpers={...Hi},Tn._adapters=In,Tn.Animation=As,Tn.Animations=Ts,Tn.animator=bt,Tn.controllers=nn.controllers.items,Tn.DatasetController=js,Tn.Element=$s,Tn.elements=go,Tn.Interaction=Ki,Tn.layouts=ls,Tn.platforms=Ds,Tn.Scale=tn,Tn.Ticks=ae,Object.assign(Tn,Un,$o,go,t,Ds),Tn.Chart=Tn,"undefined"!=typeof window&&(window.Chart=Tn),Tn}));
46442//# sourceMappingURL=chart.umd.js.map
46443
46444!function(t,i){"object"==typeof exports&&"undefined"!=typeof module?i(exports):"function"==typeof define&&define.amd?define(["exports"],i):i((t="undefined"!=typeof globalThis?globalThis:t||self).countUp={})}(this,(function(t){"use strict";var i=function(){return i=Object.assign||function(t){for(var i,n=1,s=arguments.length;n<s;n++)for(var e in i=arguments[n])Object.prototype.hasOwnProperty.call(i,e)&&(t[e]=i[e]);return t},i.apply(this,arguments)},n=function(){function t(t,n,s){var e=this;this.endVal=n,this.options=s,this.version="2.9.0",this.defaults={startVal:0,decimalPlaces:0,duration:2,useEasing:!0,useGrouping:!0,useIndianSeparators:!1,smartEasingThreshold:999,smartEasingAmou
vendor: 4,887 bytes, line 46444
46444nt:333,separator:",",decimal:".",prefix:"",suffix:"",enableScrollSpy:!1,scrollSpyDelay:200,scrollSpyOnce:!1},this.finalEndVal=null,this.useEasing=!0,this.countDown=!1,this.error="",this.startVal=0,this.paused=!0,this.once=!1,this.count=function(t){e.startTime||(e.startTime=t);var i=t-e.startTime;e.remaining=e.duration-i,e.useEasing?e.countDown?e.frameVal=e.startVal-e.easingFn(i,0,e.startVal-e.endVal,e.duration):e.frameVal=e.easingFn(i,e.startVal,e.endVal-e.startVal,e.duration):e.frameVal=e.startVal+(e.endVal-e.startVal)*(i/e.duration);var n=e.countDown?e.frameVal<e.endVal:e.frameVal>e.endVal;e.frameVal=n?e.endVal:e.frameVal,e.frameVal=Number(e.frameVal.toFixed(e.options.decimalPlaces)),e.printValue(e.frameVal),i<e.duration?e.rAF=requestAnimationFrame(e.count):null!==e.finalEndVal?e.update(e.finalEndVal):e.options.onCompleteCallback&&e.options.onCompleteCallback()},this.formatNumber=function(t){var i,n,s,a,o=t<0?"-":"";i=Math.abs(t).toFixed(e.options.decimalPlaces);var r=(i+="").split(".");if(n=r[0],s=r.length>1?e.options.decimal+r[1]:"",e.options.useGrouping){a="";for(var l=3,u=0,h=0,p=n.length;h<p;++h)e.options.useIndianSeparators&&4===h&&(l=2,u=1),0!==h&&u%l==0&&(a=e.options.separator+a),u++,a=n[p-h-1]+a;n=a}return e.options.numerals&&e.options.numerals.length&&(n=n.replace(/[0-9]/g,(function(t){return e.options.numerals[+t]})),s=s.replace(/[0-9]/g,(function(t){return e.options.numerals[+t]}))),o+e.options.prefix+n+s+e.options.suffix},this.easeOutExpo=function(t,i,n,s){return n*(1-Math.pow(2,-10*t/s))*1024/1023+i},this.options=i(i({},this.defaults),s),this.formattingFn=this.options.formattingFn?this.options.formattingFn:this.formatNumber,this.easingFn=this.options.easingFn?this.options.easingFn:this.easeOutExpo,this.el="string"==typeof t?document.getElementById(t):t,n=null==n?this.parse(this.el.innerHTML):n,this.startVal=this.validateValue(this.options.startVal),this.frameVal=this.startVal,this.endVal=this.validateValue(n),this.options.decimalPlaces=Math.max(this.options.decimalPlaces),this.resetDuration(),this.options.separator=String(this.options.separator),this.useEasing=this.options.useEasing,""===this.options.separator&&(this.options.useGrouping=!1),this.el?this.printValue(this.startVal):this.error="[CountUp] target is null or undefined","undefined"!=typeof window&&this.options.enableScrollSpy&&(this.error?console.error(this.error,t):(window.onScrollFns=window.onScrollFns||[],window.onScrollFns.push((function(){return e.handleScroll(e)})),window.onscroll=function(){window.onScrollFns.forEach((function(t){return t()}))},this.handleScroll(this)))}return t.prototype.handleScroll=function(t){if(t&&window&&!t.once){var i=window.innerHeight+window.scrollY,n=t.el.getBoundingClientRect(),s=n.top+window.pageYOffset,e=n.top+n.height+window.pageYOffset;e<i&&e>window.scrollY&&t.paused?(t.paused=!1,setTimeout((function(){return t.start()}),t.options.scrollSpyDelay),t.options.scrollSpyOnce&&(t.once=!0)):(window.scrollY>e||s>i)&&!t.paused&&t.reset()}},t.prototype.determineDirectionAndSmartEasing=function(){var t=this.finalEndVal?this.finalEndVal:this.endVal;this.countDown=this.startVal>t;var i=t-this.startVal;if(Math.abs(i)>this.options.smartEasingThreshold&&this.options.useEasing){this.finalEndVal=t;var n=this.countDown?1:-1;this.endVal=t+n*this.options.smartEasingAmount,this.duration=this.duration/2}else this.endVal=t,this.finalEndVal=null;null!==this.finalEndVal?this.useEasing=!1:this.useEasing=this.options.useEasing},t.prototype.start=function(t){this.error||(this.options.onStartCallback&&this.options.onStartCallback(),t&&(this.options.onCompleteCallback=t),this.duration>0?(this.determineDirectionAndSmartEasing(),this.paused=!1,this.rAF=requestAnimationFrame(this.count)):this.printValue(this.endVal))},t.prototype.pauseResume=function(){this.paused?(this.startTime=null,this.duration=this.remaining,this.startVal=this.frameVal,this.determineDirectionAndSmartEasing(),this.rAF=requestAnimationFrame(this.count)):cancelAnimationFrame(this.rAF),this.paused=!this.paused},t.prototype.reset=function(){cancelAnimationFrame(this.rAF),this.paused=!0,this.resetDuration(),this.startVal=this.validateValue(this.options.startVal),this.frameVal=this.startVal,this.printValue(this.startVal)},t.prototype.update=function(t){cancelAnimationFrame(this.rAF),this.startTime=null,this.endVal=this.validateValue(t),this.endVal!==this.frameVal&&(this.startVal=this.frameVal,null==this.finalEndVal&&this.resetDuration(),this.finalEndVal=null,this.determineDirectionAndSmartEasing(),this.rAF=requestAnimationFrame(this.count))},t.prototype.printValue=function(t){var i;if(this.el){var n=this.formattingFn(t);if(null===(i=this.options.plugin)||void 0===i?void 0:i.render)this.options.plugin.render(this.el,n);else if("INPUT"===this.el.tagName)this.el.value=n;else"text"===this.el.tagName||"tspan"===this.el.tagName?this.el.textContent=n:this.el.
46444innerHTML=n}},t.prototype.ensureNumber=function(t){return"number"==typeof t&&!isNaN(t)},t.prototype.validateValue=function(t){var i=Number(t);return this.ensureNumber(i)?i:(this.error="[CountUp] invalid start or end value: ".concat(t),null)},t.prototype.resetDuration=function(){this.startTime=null,this.duration=1e3*Number(this.options.duration),this.remaining=this.duration},t.prototype.parse=function(t){var i=function(t){return t.replace(/([.,'  ])/g,"\\$1")},n=i(this.options.separator),s=i(this.options.decimal),e=t.replace(new RegExp(n,"g"),"").replace(new RegExp(s,"g"),".");return parseFloat(e)},t}();t.CountUp=n}));
46445
46446(function(t){function z(){for(var a=0;a<g.length;a++)g[a][0](g[a][1]);g=[];m=!1}function n(a,b){g.push([a,b]);m||(m=!0,A(z,0))}function B(a,b){function c(a){p(b,a)}function h(a){k(b,a)}try{a(c,h)}catch(d){h(d)}}function u(a){var b=a.owner,c=b.state_,b=b.data_,h=a[c];a=a.then;if("function"===typeof h){c=l;try{b=h(b)}catch(d){k(a,d)}}v(a,b)||(c===l&&p(a,b),c===q&&k(a,b))}function v(a,b){var c;try{if(a===b)throw new TypeError("A promises callback cannot return that same promise.");if(b&&("function"===
46447typeof b||"object"===typeof b)){var h=b.then;if("function"===typeof h)return h.call(b,function(d){c||(c=!0,b!==d?p(a,d):w(a,d))},function(b){c||(c=!0,k(a,b))}),!0}}catch(d){return c||k(a,d),!0}return!1}function p(a,b){a!==b&&v(a,b)||w(a,b)}function w(a,b){a.state_===r&&(a.state_=x,a.data_=b,n(C,a))}function k(a,b){a.state_===r&&(a.state_=x,a.data_=b,n(D,a))}function y(a){var b=a.then_;a.then_=void 0;for(a=0;a<b.length;a++)u(b[a])}function C(a){a.state_=l;y(a)}function D(a){a.state_=q;y(a)}function e(a){if("function"!==
46448typeof a)throw new TypeError("Promise constructor takes a function argument");if(!1===this instanceof e)throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object c
46448onstructor cannot be called as a function.");this.then_=[];B(a,this)}var f=t.Promise,s=f&&"resolve"in f&&"reject"in f&&"all"in f&&"race"in f&&function(){var a;new f(function(b){a=b});return"function"===typeof a}();"undefined"!==typeof exports&&exports?(exports.Promise=s?f:e,exports.Polyfill=e):"function"==
46449typeof define&&define.amd?define(function(){return s?f:e}):s||(t.Promise=e);var r="pending",x="sealed",l="fulfilled",q="rejected",E=function(){},A="undefined"!==typeof setImmediate?setImmediate:setTimeout,g=[],m;e.prototype={constructor:e,state_:r,then_:null,data_:void 0,then:function(a,b){var c={owner:this,then:new this.constructor(E),fulfilled:a,rejected:b};this.state_===l||this.state_===q?n(u,c):this.then_.push(c);return c.then},"catch":function(a){return this.then(null,a)}};e.all=function(a){if("[object Array]"!==
46450Object.prototype.toString.call(a))throw new TypeError("You must pass an array to Promise.all().");return new this(function(b,c){function h(a){e++;return function(c){d[a]=c;--e||b(d)}}for(var d=[],e=0,f=0,g;f<a.length;f++)(g=a[f])&&"function"===typeof g.then?g.then(h(f),c):d[f]=g;e||b(d)})};e.race=function(a){if("[object Array]"!==Object.prototype.toString.call(a))throw new TypeError("You must pass an array to Promise.race().");return new this(function(b,c){for(var e=0,d;e<a.length;e++)(d=a[e])&&"function"===
46451typeof d.then?d.then(b,c):b(d)})};e.resolve=function(a){return a&&"object"===typeof a&&a.constructor===this?a:new this(function(b){b(a)})};e.reject=function(a){return new this(function(b,c){c(a)})}})("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this);
46452
46453/*!
46454* sweetalert2 v11.22.4
46455* Released under the MIT License.
46456*/
46457!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Sweetalert2=t()}(this,function(){"use strict";function e(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}function t(t,n){return t.get(e(t,n))}function n(e,t,n){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,n)}const o={},i=e=>new Promise(t=>{if(!e)return t();const n=window.scrollX,i=window.scrollY;o.restoreFocusTimeout=setTimeout(()=>{o.previousActiveElement instanceof HTMLElement?(o.previousActiveElement.focus(),o.previousActiveElement=null):document.body&&document.body.focus(),t()},100),window.scrollTo(n,i)}),s="swal2-",r=["container","shown","height-auto","iosfix","popup","modal","no-backdrop","no-transition","toast","toast-shown","show","hide","close","title","html-container","actions","confirm","deny","cancel","footer","icon","icon-content","image","input","file","range","select","radio","checkbox","label","textarea","inputerror","input-label","validation-message","progress-steps","active-progress-step","progress-step","progress-step-line","loader","loading","styled","top","top-start","top-end","top-left","top-right","center","center-start","center-end","center-left","center-right","bottom","bottom-start","bottom-end","bottom-left","bottom-right","grow-row","grow-column","grow-fullscreen","rtl","timer-progress-bar","timer-progress-bar-container","scrollbar-measure","icon-success","icon-warning","icon-info","icon-question","icon-error","draggable","dragging"].reduce((e,t)=>(e[t]=s+t,e),{}),a=["success","warning","info","question","error"].reduce((e,t)=>(e[t]=s+t,e),{}),l="SweetAlert2:",c=e=>e.charAt(0).toUpperCase()+e.slice(1),u=e=>{console.warn(`${l} ${"object"==typeof e?e.join(" "):e}`)},d=e=>{console.error(`${l} ${e}`)},p=[],m=(e,t=null)=>{var n;n=`"${e}" is deprecated and will be removed in the next major release.${t?` Use "${t}" instead.`:""}`,p.includes(n)||(p.push(n),u(n))},h=e=>"function"==typeof e?e():e,g=e=>e&&"function"==typeof e.toPromise,f=e=>g(e)?e.toPromise():Promise.resolve(e),b=e=>e&&Promise.resolve(e)===e,y=()=>document.body.querySelector(`.${r.container}`),v=e=>{const t=y();return t?t.querySelector(e):null},w=e=>v(`.${e}`),C=()=>w(r.popup),A=()=>w(r.icon),E=()=>w(r.title),k=()=>w(r["html-container"]),B=()=>w(r.image),$=()=>w(r["progress-steps"]),L=()=>w(r["validation-message"]),P=()=>v(`.${r.actions} .${r.confirm}`),x=()=>v(`.${r.actions} .${r.cancel}`),T=()=>v(`.${r.actions} .${r.deny}`),S=()=>v(`.${r.loader}`),O=()=>w(r.actions),M=()=>w(r.footer),j=()=>w(r["timer-progress-bar"]),H=()=>w(r.close),I=()=>{const e=C();if(!e)return[];
vendor: 6,366 bytes, line 46457
46457const t=e.querySelectorAll('[tabindex]:not([tabindex="-1"]):not([tabindex="0"])'),n=Array.from(t).sort((e,t)=>{const n=parseInt(e.getAttribute("tabindex")||"0"),o=parseInt(t.getAttribute("tabindex")||"0");return n>o?1:n<o?-1:0}),o=e.querySelectorAll('\n  a[href],\n  area[href],\n  input:not([disabled]),\n  select:not([disabled]),\n  textarea:not([disabled]),\n  button:not([disabled]),\n  iframe,\n  object,\n  embed,\n  [tabindex="0"],\n  [contenteditable],\n  audio[controls],\n  video[controls],\n  summary\n'),i=Array.from(o).filter(e=>"-1"!==e.getAttribute("tabindex"));return[...new Set(n.concat(i))].filter(e=>ee(e))},D=()=>N(document.body,r.shown)&&!N(document.body,r["toast-shown"])&&!N(document.body,r["no-backdrop"]),V=()=>{const e=C();return!!e&&N(e,r.toast)},q=(e,t)=>{if(e.textContent="",t){const n=(new DOMParser).parseFromString(t,"text/html"),o=n.querySelector("head");o&&Array.from(o.childNodes).forEach(t=>{e.appendChild(t)});const i=n.querySelector("body");i&&Array.from(i.childNodes).forEach(t=>{t instanceof HTMLVideoElement||t instanceof HTMLAudioElement?e.appendChild(t.cloneNode(!0)):e.appendChild(t)})}},N=(e,t)=>{if(!t)return!1;const n=t.split(/\s+/);for(let t=0;t<n.length;t++)if(!e.classList.contains(n[t]))return!1;return!0},_=(e,t,n)=>{if(((e,t)=>{Array.from(e.classList).forEach(n=>{Object.values(r).includes(n)||Object.values(a).includes(n)||Object.values(t.showClass||{}).includes(n)||e.classList.remove(n)})})(e,t),!t.customClass)return;const o=t.customClass[n];o&&("string"==typeof o||o.forEach?z(e,o):u(`Invalid type of customClass.${n}! Expected string or iterable object, got "${typeof o}"`))},F=(e,t)=>{if(!t)return null;switch(t){case"select":case"textarea":case"file":return e.querySelector(`.${r.popup} > .${r[t]}`);case"checkbox":return e.querySelector(`.${r.popup} > .${r.checkbox} input`);case"radio":return e.querySelector(`.${r.popup} > .${r.radio} input:checked`)||e.querySelector(`.${r.popup} > .${r.radio} input:first-child`);case"range":return e.querySelector(`.${r.popup} > .${r.range} input`);default:return e.querySelector(`.${r.popup} > .${r.input}`)}},R=e=>{if(e.focus(),"file"!==e.type){const t=e.value;e.value="",e.value=t}},U=(e,t,n)=>{e&&t&&("string"==typeof t&&(t=t.split(/\s+/).filter(Boolean)),t.forEach(t=>{Array.isArray(e)?e.forEach(e=>{n?e.classList.add(t):e.classList.remove(t)}):n?e.classList.add(t):e.classList.remove(t)}))},z=(e,t)=>{U(e,t,!0)},W=(e,t)=>{U(e,t,!1)},K=(e,t)=>{const n=Array.from(e.children);for(let e=0;e<n.length;e++){const o=n[e];if(o instanceof HTMLElement&&N(o,t))return o}},Y=(e,t,n)=>{n===`${parseInt(n)}`&&(n=parseInt(n)),n||0===parseInt(n)?e.style.setProperty(t,"number"==typeof n?`${n}px`:n):e.style.removeProperty(t)},X=(e,t="flex")=>{e&&(e.style.display=t)},Z=e=>{e&&(e.style.display="none")},J=(e,t="block")=>{e&&new MutationObserver(()=>{Q(e,e.innerHTML,t)}).observe(e,{childList:!0,subtree:!0})},G=(e,t,n,o)=>{const i=e.querySelector(t);i&&i.style.setProperty(n,o)},Q=(e,t,n="flex")=>{t?X(e,n):Z(e)},ee=e=>!(!e||!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)),te=e=>!!(e.scrollHeight>e.clientHeight),ne=e=>{const t=window.getComputedStyle(e),n=parseFloat(t.getPropertyValue("animation-duration")||"0"),o=parseFloat(t.getPropertyValue("transition-duration")||"0");return n>0||o>0},oe=(e,t=!1)=>{const n=j();n&&ee(n)&&(t&&(n.style.transition="none",n.style.width="100%"),setTimeout(()=>{n.style.transition=`width ${e/1e3}s linear`,n.style.width="0%"},10))},ie=`\n <div aria-labelledby="${r.title}" aria-describedby="${r["html-container"]}" class="${r.popup}" tabindex="-1">\n   <button type="button" class="${r.close}"></button>\n   <ul class="${r["progress-steps"]}"></ul>\n   <div class="${r.icon}"></div>\n   <img class="${r.image}" />\n   <h2 class="${r.title}" id="${r.title}"></h2>\n   <div class="${r["html-container"]}" id="${r["html-container"]}"></div>\n   <input class="${r.input}" id="${r.input}" />\n   <input type="file" class="${r.file}" />\n   <div class="${r.range}">\n     <input type="range" />\n     <output></output>\n   </div>\n   <select class="${r.select}" id="${r.select}"></select>\n   <div class="${r.radio}"></div>\n   <label class="${r.checkbox}">\n     <input type="checkbox" id="${r.checkbox}" />\n     <span class="${r.label}"></span>\n   </label>\n   <textarea class="${r.textarea}" id="${r.textarea}"></textarea>\n   <div class="${r["validation-message"]}" id="${r["validation-message"]}"></div>\n   <div class="${r.actions}">\n     <div class="${r.loader}"></div>\n     <button type="button" class="${r.confirm}"></button>\n     <button type="button" class="${r.deny}"></button>\n     <button type="button" class="${r.cancel}"></button>\n   </div>\n   <div class="${r.footer}"></div>\n   <div class="${r["timer-progress-bar-container"]}">\n     <div class="${r["timer-progress-bar"]}"></div>\n   </div>\n </div>\n`.replace(/(^|\n)\s*/g,""),se=()=>{o.currentInstance.resetValidationMessage()},re=e=>{const t=(()=>{const e=y();return!!e&&(e.remove(),W([document.documentElement,document.body],[r["no-backdrop"],r["toast-shown"],r["has-column"]]),!0)})();if("undefined"==typeof window||"undefined"==typeof document)return void d("SweetAlert2 requires document to initialize");const n=document.createElement("div");n.className=r.container,t&&z(n,r["no-transition"]),q(n,ie),n.dataset.swal2Theme=e.theme;const o="string"==typeof(i=e.target)?document.querySelector(i):i;var i;o.appendChild(n),e.topLayer&&(n.setAttribute("popover",""),n.showPopover()),(e=>{const t=C();t.setAttribute("role",e.toast?"alert":"dialog"),t.setAttribute("aria-live",e.toast?"polite":"assertive"),e.toast||t.setAttribute("aria-modal","true")})(e),(e=>{"rtl"===window.getComputedStyle(e).direction&&z(y(),r.rtl)})(o),(()=>{const e=C(),t=K(e,r.input),n=K(e,r.file),o=e.querySelector(`.${r.range} input`),i=e.querySelector(`.${r.range} output`),s=K(e,r.select),a=e.querySelector(`.${r.checkbox} input`),l=K(e,r.textarea);t.oninput=se,n.onchange=se,s.onchange=se,a.onchange=se,l.oninput=se,o.oninput=()=>{se(),i.value=o.value},o.onchange=()=>{se(),i.value=o.value}})()},ae=(e,t)=>{e instanceof HTMLElement?t.appendChild(e):"object"==typeof e?le(e,t):e&&q(t,e)},le=(e,t)=>{e.jquery?ce(t,e):q(t,e.toString())},ce=(e,t)=>{if(e.textContent="",0 in t)for(let n=0;n in t;n++)e.appendChild(t[n].cloneNode(!0));else e.appendChild(t.cloneNode(!0))},ue=(e,t)=>
vendor: 4,475 bytes, line 46457
46457{const n=O(),o=S();n&&o&&(t.showConfirmButton||t.showDenyButton||t.showCancelButton?X(n):Z(n),_(n,t,"actions"),function(e,t,n){const o=P(),i=T(),s=x();if(!o||!i||!s)return;pe(o,"confirm",n),pe(i,"deny",n),pe(s,"cancel",n),function(e,t,n,o){if(!o.buttonsStyling)return void W([e,t,n],r.styled);z([e,t,n],r.styled),o.confirmButtonColor&&e.style.setProperty("--swal2-confirm-button-background-color",o.confirmButtonColor);o.denyButtonColor&&t.style.setProperty("--swal2-deny-button-background-color",o.denyButtonColor);o.cancelButtonColor&&n.style.setProperty("--swal2-cancel-button-background-color",o.cancelButtonColor);de(e),de(t),de(n)}(o,i,s,n),n.reverseButtons&&(n.toast?(e.insertBefore(s,o),e.insertBefore(i,o)):(e.insertBefore(s,t),e.insertBefore(i,t),e.insertBefore(o,t)))}(n,o,t),q(o,t.loaderHtml||""),_(o,t,"loader"))};function de(e){const t=window.getComputedStyle(e);if(t.getPropertyValue("--swal2-action-button-focus-box-shadow"))return;const n=t.backgroundColor.replace(/rgba?\((\d+), (\d+), (\d+).*/,"rgba($1, $2, $3, 0.5)");e.style.setProperty("--swal2-action-button-focus-box-shadow",t.getPropertyValue("--swal2-outline").replace(/ rgba\(.*/,` ${n}`))}function pe(e,t,n){const o=c(t);Q(e,n[`show${o}Button`],"inline-block"),q(e,n[`${t}ButtonText`]||""),e.setAttribute("aria-label",n[`${t}ButtonAriaLabel`]||""),e.className=r[t],_(e,n,`${t}Button`)}const me=(e,t)=>{const n=y();n&&(!function(e,t){"string"==typeof t?e.style.background=t:t||z([document.documentElement,document.body],r["no-backdrop"])}(n,t.backdrop),function(e,t){if(!t)return;t in r?z(e,r[t]):(u('The "position" parameter is not valid, defaulting to "center"'),z(e,r.center))}(n,t.position),function(e,t){if(!t)return;z(e,r[`grow-${t}`])}(n,t.grow),_(n,t,"container"))};var he={innerParams:new WeakMap,domCache:new WeakMap};const ge=["input","file","range","select","radio","checkbox","textarea"],fe=e=>{if(!e.input)return;if(!Ee[e.input])return void d(`Unexpected type of input! Expected ${Object.keys(Ee).join(" | ")}, got "${e.input}"`);const t=Ce(e.input);if(!t)return;const n=Ee[e.input](t,e);X(t),e.inputAutoFocus&&setTimeout(()=>{R(n)})},be=(e,t)=>{const n=C();if(!n)return;const o=F(n,e);if(o){(e=>{for(let t=0;t<e.attributes.length;t++){const n=e.attributes[t].name;["id","type","value","style"].includes(n)||e.removeAttribute(n)}})(o);for(const e in t)o.setAttribute(e,t[e])}},ye=e=>{if(!e.input)return;const t=Ce(e.input);t&&_(t,e,"input")},ve=(e,t)=>{!e.placeholder&&t.inputPlaceholder&&(e.placeholder=t.inputPlaceholder)},we=(e,t,n)=>{if(n.inputLabel){const o=document.createElement("label"),i=r["input-label"];o.setAttribute("for",e.id),o.className=i,"object"==typeof n.customClass&&z(o,n.customClass.inputLabel),o.innerText=n.inputLabel,t.insertAdjacentElement("beforebegin",o)}},Ce=e=>{const t=C();if(t)return K(t,r[e]||r.input)},Ae=(e,t)=>{["string","number"].includes(typeof t)?e.value=`${t}`:b(t)||u(`Unexpected type of inputValue! Expected "string", "number" or "Promise", got "${typeof t}"`)},Ee={};Ee.text=Ee.email=Ee.password=Ee.number=Ee.tel=Ee.url=Ee.search=Ee.date=Ee["datetime-local"]=Ee.time=Ee.week=Ee.month=(e,t)=>(Ae(e,t.inputValue),we(e,e,t),ve(e,t),e.type=t.input,e),Ee.file=(e,t)=>(we(e,e,t),ve(e,t),e),Ee.range=(e,t)=>{const n=e.querySelector("input"),o=e.querySelector("output");return Ae(n,t.inputValue),n.type=t.input,Ae(o,t.inputValue),we(n,e,t),e},Ee.select=(e,t)=>{if(e.textContent="",t.inputPlaceholder){const n=document.createElement("option");q(n,t.inputPlaceholder),n.value="",n.disabled=!0,n.selected=!0,e.appendChild(n)}return we(e,e,t),e},Ee.radio=e=>(e.textContent="",e),Ee.checkbox=(e,t)=>{const n=F(C(),"checkbox");n.value="1",n.checked=Boolean(t.inputValue);const o=e.querySelector("span");return q(o,t.inputPlaceholder||t.inputLabel),n},Ee.textarea=(e,t)=>{Ae(e,t.inputValue),ve(e,t),we(e,e,t);return setTimeout(()=>{if("MutationObserver"in window){const n=parseInt(window.getComputedStyle(C()).width);new MutationObserver(()=>{if(!document.body.contains(e))return;const o=e.offsetWidth+(i=e,parseInt(window.getComputedStyle(i).marginLeft)+parseInt(window.getComputedStyle(i).marginRight));var i;o>n?C().style.width=`${o}px`:Y(C(),"width",t.width)}).observe(e,{attributes:!0,attributeFilter:["style"]})}}),e};const ke=(e,t)=>{const n=k();n&&(J(n),_(n,t,"htmlContainer"),t.html?(ae(t.html,n),X(n,"block")):t.text?(n.textContent=t.text,X(n,"block")):Z(n),((e,t)=>{const n=C();if(!n)return;const o=he.innerParams.get(e),i=!o||t.input!==o.input;
vendor: 4,859 bytes, line 46457
46457ge.forEach(e=>{const o=K(n,r[e]);o&&(be(e,t.inputAttributes),o.className=r[e],i&&Z(o))}),t.input&&(i&&fe(t),ye(t))})(e,t))},Be=(e,t)=>{for(const[n,o]of Object.entries(a))t.icon!==n&&W(e,o);z(e,t.icon&&a[t.icon]),Pe(e,t),$e(),_(e,t,"icon")},$e=()=>{const e=C();if(!e)return;const t=window.getComputedStyle(e).getPropertyValue("background-color"),n=e.querySelectorAll("[class^=swal2-success-circular-line], .swal2-success-fix");for(let e=0;e<n.length;e++)n[e].style.backgroundColor=t},Le=(e,t)=>{if(!t.icon&&!t.iconHtml)return;let n=e.innerHTML,o="";if(t.iconHtml)o=xe(t.iconHtml);else if("success"===t.icon)o=(e=>`\n  ${e.animation?'<div class="swal2-success-circular-line-left"></div>':""}\n  <span class="swal2-success-line-tip"></span> <span class="swal2-success-line-long"></span>\n  <div class="swal2-success-ring"></div>\n  ${e.animation?'<div class="swal2-success-fix"></div>':""}\n  ${e.animation?'<div class="swal2-success-circular-line-right"></div>':""}\n`)(t),n=n.replace(/ style=".*?"/g,"");else if("error"===t.icon)o='\n  <span class="swal2-x-mark">\n    <span class="swal2-x-mark-line-left"></span>\n    <span class="swal2-x-mark-line-right"></span>\n  </span>\n';else if(t.icon){o=xe({question:"?",warning:"!",info:"i"}[t.icon])}n.trim()!==o.trim()&&q(e,o)},Pe=(e,t)=>{if(t.iconColor){e.style.color=t.iconColor,e.style.borderColor=t.iconColor;for(const n of[".swal2-success-line-tip",".swal2-success-line-long",".swal2-x-mark-line-left",".swal2-x-mark-line-right"])G(e,n,"background-color",t.iconColor);G(e,".swal2-success-ring","border-color",t.iconColor)}},xe=e=>`<div class="${r["icon-content"]}">${e}</div>`;let Te=!1,Se=0,Oe=0,Me=0,je=0;const He=e=>{const t=C();if(e.target===t||A().contains(e.target)){Te=!0;const n=Ve(e);Se=n.clientX,Oe=n.clientY,Me=parseInt(t.style.insetInlineStart)||0,je=parseInt(t.style.insetBlockStart)||0,z(t,"swal2-dragging")}},Ie=e=>{const t=C();if(Te){let{clientX:n,clientY:o}=Ve(e);t.style.insetInlineStart=`${Me+(n-Se)}px`,t.style.insetBlockStart=`${je+(o-Oe)}px`}},De=()=>{const e=C();Te=!1,W(e,"swal2-dragging")},Ve=e=>{let t=0,n=0;return e.type.startsWith("mouse")?(t=e.clientX,n=e.clientY):e.type.startsWith("touch")&&(t=e.touches[0].clientX,n=e.touches[0].clientY),{clientX:t,clientY:n}},qe=(e,t)=>{const n=y(),o=C();if(n&&o){if(t.toast){Y(n,"width",t.width),o.style.width="100%";const e=S();e&&o.insertBefore(e,A())}else Y(o,"width",t.width);Y(o,"padding",t.padding),t.color&&(o.style.color=t.color),t.background&&(o.style.background=t.background),Z(L()),Ne(o,t),t.draggable&&!t.toast?(z(o,r.draggable),(e=>{e.addEventListener("mousedown",He),document.body.addEventListener("mousemove",Ie),e.addEventListener("mouseup",De),e.addEventListener("touchstart",He),document.body.addEventListener("touchmove",Ie),e.addEventListener("touchend",De)})(o)):(W(o,r.draggable),(e=>{e.removeEventListener("mousedown",He),document.body.removeEventListener("mousemove",Ie),e.removeEventListener("mouseup",De),e.removeEventListener("touchstart",He),document.body.removeEventListener("touchmove",Ie),e.removeEventListener("touchend",De)})(o))}},Ne=(e,t)=>{const n=t.showClass||{};e.className=`${r.popup} ${ee(e)?n.popup:""}`,t.toast?(z([document.documentElement,document.body],r["toast-shown"]),z(e,r.toast)):z(e,r.modal),_(e,t,"popup"),"string"==typeof t.customClass&&z(e,t.customClass),t.icon&&z(e,r[`icon-${t.icon}`])},_e=e=>{const t=document.createElement("li");return z(t,r["progress-step"]),q(t,e),t},Fe=e=>{const t=document.createElement("li");return z(t,r["progress-step-line"]),e.progressStepsDistance&&Y(t,"width",e.progressStepsDistance),t},Re=(e,t)=>{qe(0,t),me(0,t),((e,t)=>{const n=$();if(!n)return;const{progressSteps:o,currentProgressStep:i}=t;o&&0!==o.length&&void 0!==i?(X(n),n.textContent="",i>=o.length&&u("Invalid currentProgressStep parameter, it should be less than progressSteps.length (currentProgressStep like JS arrays starts from 0)"),o.forEach((e,s)=>{const a=_e(e);if(n.appendChild(a),s===i&&z(a,r["active-progress-step"]),s!==o.length-1){const e=Fe(t);n.appendChild(e)}})):Z(n)})(0,t),((e,t)=>{const n=he.innerParams.get(e),o=A();if(!o)return;if(n&&t.icon===n.icon)return Le(o,t),void Be(o,t);if(!t.icon&&!t.iconHtml)return void Z(o);if(t.icon&&-1===Object.keys(a).indexOf(t.icon))return d(`Unknown icon! Expected "success", "error", "warning", "info" or "question", got "${t.icon}"`),void Z(o);X(o),Le(o,t),Be(o,t),z(o,t.showClass&&t.showClass.icon),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",$e)})(e,t),((e,t)=>{const n=B();n&&(t.imageUrl?(X(n,""),n.setAttribute("src",t.imageUrl),n.setAttribute("alt",t.imageAlt||""),Y(n,"width",t.imageWidth),Y(n,"height",t.imageHeight),n.className=r.image,_(n,t,"image")):Z(n))})(0,t),((e,t)=>{const n=E();n&&(J(n),Q(n,t.title||t.titleText,"block"),t.title&&ae(t.title,n),t.titleText&&(n.innerText=t.titleText),_(n,t,"t
46457itle"))})(0,t),((e,t)=>{const n=H();n&&(q(n,t.closeButtonHtml||""),_(n,t,"closeButton"),Q(n,t.showCloseButton),n.setAttribute("aria-label",t.closeButtonAriaLabel||""))})(0,t),ke(e,t),ue(0,t),((e,t)=>{const n=M();n&&(J(n),Q(n,t.footer,"block"),t.footer&&ae(t.footer,n),_(n,t,"footer"))})(0,t);const n=C();"function"==typeof t.didRender&&n&&t.didRender(n),o.eventEmitter.emit("didRender",n)},Ue=()=>{var e;return null===(e=P())||void 0===e?void 0:e.click()},ze=Object.freeze({cancel:"cancel",backdrop:"backdrop",close:"close",esc:"esc",timer:"timer"}),We=e=>{e.keydownTarget&&e.keydownHandlerAdded&&(e.keydownTarget.removeEventListener("keydown",e.keydownHandler,{capture:e.keydownListenerCapture}),e.keydownHandlerAdded=!1)},Ke=(e,t)=>{var n;const o=I();if(o.length)return-2===(e+=t)&&(e=o.length-1),e===o.length?e=0:-1===e&&(e=o.length-1),void o[e].focus();null===(n=C())||void 0===n||n.focus()},Ye=["ArrowRight","ArrowDown"],Xe=["ArrowLeft","ArrowUp"],Ze=(e,t,n)=>{e&&(t.isComposing||229===t.keyCode||(e.stopKeydownPropagation&&t.stopPropagation(),"Enter"===t.key?Je(t,e):"Tab"===t.key?Ge(t):[...Ye,...Xe].includes(t.key)?Qe(t.key):"Escape"===t.key&&et(t,e,n)))},Je=(e,t)=>{if(!h(t.allowEnterKey))return;const n=F(C(),t.input);if(e.target&&n&&e.target instanceof HTMLElement&&e.target.outerHTML===n.outerHTML){if(["textarea","file"].includes(t.input))return;Ue(),e.preventDefault()}},Ge=e=>{const t=e.target,n=I();let o=-1;for(let e=0;e<n.length;e++)if(t===n[e]){o=e;break}e.shiftKey?Ke(o,-1):Ke(o,1),e.stopPropagation(),e.preventDefault()},Qe=e=>{const t=O(),n=P(),o=T(),i=x();if(!(t&&n&&o&&i))return;const s=[n,o,i];if(document.activeElement instanceof HTMLElement&&!s.includes(document.activeElement))return;const r=Ye.includes(e)?"nextElementSibling":"previousElementSibling";let a=document.activeElement;if(a){for(let e=0;e<t.children.length;e++){if(a=a[r],!a)return;if(a instanceof HTMLButtonElement&&ee(a))break}a instanceof HTMLButtonElement&&a.focus()}},et=(e,t,n)=>{e.preventDefault(),h(t.allowEscapeKey)&&n(ze.esc)};var tt={swalPromiseResolve:new WeakMap,swalPromiseReject:new WeakMap};const nt=()=>{Array.from(document.body.children).forEach(e=>{e.hasAttribute("data-previous-aria-hidden")?(e.setAttribute("aria-hidden",e.getAttribute("data-previous-aria-hidden")||""),e.removeAttribute("data-previous-aria-hidden")):e.removeAttribute("aria-hidden")})},ot="undefined"!=typeof window&&!!window.GestureEvent,it=()=>{const e=y();if(!e)return;let t;e.ontouchstart=e=>{t=st(e)},e.ontouchmove=e=>{t&&(e.preventDefault(),e.stopPropagation())}},st=e=>{const t=e.target,n=y(),o=k();return!(!n||!o)&&(!rt(e)&&!at(e)&&(t===n||!(te(n)||!(t instanceof HTMLElement)||((e,t)=>{let n=e;for(;n&&n!==t;){if(te(n))return!0;n=n.parentElement}return!1})(t,o)||"INPUT"===t.tagName||"TEXTAREA"===t.tagName||te(o)&&o.contains(t))))},rt=e=>e.touches&&e.touches.length&&"stylus"===e.touches[0].touchType,at=e=>e.touches&&e.touches.length>1;let lt=null;const ct=e=>{null===lt&&(document.body.scrollHeight>window.innerHeight||"scroll"===e)&&(lt=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right")),document.body.style.paddingRight=`${lt+(()=>{const e=document.createElement("div");e.className=r["scrollbar-measure"],document.body.appendChild(e);const t=e.getBoundingClientRect().width-e.clientWidth;return document.body.removeChild(e),t})()}px`)};function ut(e,t,n,s){V()?yt(e,s):(i(n).then(()=>yt(e,s)),We(o)),ot?(t.setAttribute("style","display:none !important"),t.removeAttribute("class"),t.innerHTML=""):t.remove(),D()&&(null!==lt&&(document.body.style.paddingRight=`${lt}px`,lt=null),(()=>{if(N(document.body,r.iosfix)){const e=parseInt(document.body.style.top,10);W(document.body,r.iosfix),document.body.style.top="",document.body.scrollTop=-1*e}})(),nt()),W([document.documentElement,document.body],[r.shown,r["height-auto"],r["no-backdrop"],r["toast-shown"]])}function dt(e){e=gt(e);const t=tt.swalPromiseResolve.get(this),n=pt(this);this.isAwaitingPromise?e.isDismissed||(ht(this),t(e)):n&&t(e)}const pt=e=>{const t=C();if(!t)return!1;const n=he.innerParams.get(e);if(!n||N(t,n.hideClass.popup))return!1;W(t,n.showClass.popup),z(t,n.hideClass.popup);const o=y();return W(o,n.showClass.backdrop),z(o,n.hideClass.backdrop),ft(e,t,n),!0};function mt(e){const t=tt.swalPromiseReject.get(this);ht(this),t&&t(e)}const ht=e=>{e.isAwaitingPromise&&(delete e.isAwaitingPromise,he.innerParams.get(e)||e._destroy())},gt=e=>void 0===e?{isConfirmed:!1,isDenied:!1,isDismissed:!0}:Object.assign({isConfirmed:!1,isDenied:!1,isDismissed:!1},e),ft=(e,t,n)=>{var i;const s=y(),r=ne(t);"function"==typeof n.willClose&&n.willClose(t),null===(i=o.eventEmitter)||void 0===i||i.emit("willClose",t),r?bt(e,t,s,n.returnFocus,n.didClose):ut(e,s,n.returnFocus,n.didClose)},bt=(e,t,n,i,s)=>{o.swalCloseEventFinishedCallback=ut.bind(null,e,n,i,s);const r=function(e){var n;e.target===t&&(null===(n=o.swalCloseEventFinishedCallback)||void 0===n||n.call(o),delete o.swalCloseEventFinishedCallback,t.removeEventListener("animationend",r),t.removeEventListener("transitionend",r))};t.addEventListener("animationend",r),t.addEventListener("transitionend",r)},yt=(e,t)=>
vendor: 1,760 bytes, line 46457
46457{setTimeout(()=>{var n;"function"==typeof t&&t.bind(e.params)(),null===(n=o.eventEmitter)||void 0===n||n.emit("didClose"),e._destroy&&e._destroy()})},vt=e=>{let t=C();if(t||new Qn,t=C(),!t)return;const n=S();V()?Z(A()):wt(t,e),X(n),t.setAttribute("data-loading","true"),t.setAttribute("aria-busy","true"),t.focus()},wt=(e,t)=>{const n=O(),o=S();n&&o&&(!t&&ee(P())&&(t=P()),X(n),t&&(Z(t),o.setAttribute("data-button-to-replace",t.className),n.insertBefore(o,t)),z([e,n],r.loading))},Ct=e=>e.checked?1:0,At=e=>e.checked?e.value:null,Et=e=>e.files&&e.files.length?null!==e.getAttribute("multiple")?e.files:e.files[0]:null,kt=(e,t)=>{const n=C();if(!n)return;const o=e=>{"select"===t.input?function(e,t,n){const o=K(e,r.select);if(!o)return;const i=(e,t,o)=>{const i=document.createElement("option");i.value=o,q(i,t),i.selected=Lt(o,n.inputValue),e.appendChild(i)};t.forEach(e=>{const t=e[0],n=e[1];if(Array.isArray(n)){const e=document.createElement("optgroup");e.label=t,e.disabled=!1,o.appendChild(e),n.forEach(t=>i(e,t[1],t[0]))}else i(o,n,t)}),o.focus()}(n,$t(e),t):"radio"===t.input&&function(e,t,n){const o=K(e,r.radio);if(!o)return;t.forEach(e=>{const t=e[0],i=e[1],s=document.createElement("input"),a=document.createElement("label");s.type="radio",s.name=r.radio,s.value=t,Lt(t,n.inputValue)&&(s.checked=!0);const l=document.createElement("span");q(l,i),l.className=r.label,a.appendChild(s),a.appendChild(l),o.appendChild(a)});const i=o.querySelectorAll("input");i.length&&i[0].focus()}(n,$t(e),t)};g(t.inputOptions)||b(t.inputOptions)?(vt(P()),f(t.inputOptions).then(t=>{e.hideLoading(),o(t)})):"object"==typeof t.inputOptions?o(t.inputOptions):d("Unexpected type of inputOptions! Expected object, Map or Promise, got "+typeof t.inputOptions)},Bt=(e,t)=>
vendor: 14,706 bytes, line 46457
46457{const n=e.getInput();n&&(Z(n),f(t.inputValue).then(o=>{n.value="number"===t.input?`${parseFloat(o)||0}`:`${o}`,X(n),n.focus(),e.hideLoading()}).catch(t=>{d(`Error in inputValue promise: ${t}`),n.value="",X(n),n.focus(),e.hideLoading()}))};const $t=e=>{const t=[];return e instanceof Map?e.forEach((e,n)=>{let o=e;"object"==typeof o&&(o=$t(o)),t.push([n,o])}):Object.keys(e).forEach(n=>{let o=e[n];"object"==typeof o&&(o=$t(o)),t.push([n,o])}),t},Lt=(e,t)=>!!t&&t.toString()===e.toString(),Pt=(e,t)=>{const n=he.innerParams.get(e);if(!n.input)return void d(`The "input" parameter is needed to be set when using returnInputValueOn${c(t)}`);const o=e.getInput(),i=((e,t)=>{const n=e.getInput();if(!n)return null;switch(t.input){case"checkbox":return Ct(n);case"radio":return At(n);case"file":return Et(n);default:return t.inputAutoTrim?n.value.trim():n.value}})(e,n);n.inputValidator?xt(e,i,t):o&&!o.checkValidity()?(e.enableButtons(),e.showValidationMessage(n.validationMessage||o.validationMessage)):"deny"===t?Tt(e,i):Mt(e,i)},xt=(e,t,n)=>{const o=he.innerParams.get(e);e.disableInput();Promise.resolve().then(()=>f(o.inputValidator(t,o.validationMessage))).then(o=>{e.enableButtons(),e.enableInput(),o?e.showValidationMessage(o):"deny"===n?Tt(e,t):Mt(e,t)})},Tt=(e,t)=>{const n=he.innerParams.get(e||void 0);if(n.showLoaderOnDeny&&vt(T()),n.preDeny){e.isAwaitingPromise=!0;Promise.resolve().then(()=>f(n.preDeny(t,n.validationMessage))).then(n=>{!1===n?(e.hideLoading(),ht(e)):e.close({isDenied:!0,value:void 0===n?t:n})}).catch(t=>Ot(e||void 0,t))}else e.close({isDenied:!0,value:t})},St=(e,t)=>{e.close({isConfirmed:!0,value:t})},Ot=(e,t)=>{e.rejectPromise(t)},Mt=(e,t)=>{const n=he.innerParams.get(e||void 0);if(n.showLoaderOnConfirm&&vt(),n.preConfirm){e.resetValidationMessage(),e.isAwaitingPromise=!0;Promise.resolve().then(()=>f(n.preConfirm(t,n.validationMessage))).then(n=>{ee(L())||!1===n?(e.hideLoading(),ht(e)):St(e,void 0===n?t:n)}).catch(t=>Ot(e||void 0,t))}else St(e,t)};function jt(){const e=he.innerParams.get(this);if(!e)return;const t=he.domCache.get(this);Z(t.loader),V()?e.icon&&X(A()):Ht(t),W([t.popup,t.actions],r.loading),t.popup.removeAttribute("aria-busy"),t.popup.removeAttribute("data-loading"),t.confirmButton.disabled=!1,t.denyButton.disabled=!1,t.cancelButton.disabled=!1}const Ht=e=>{const t=e.popup.getElementsByClassName(e.loader.getAttribute("data-button-to-replace"));t.length?X(t[0],"inline-block"):ee(P())||ee(T())||ee(x())||Z(e.actions)};function It(){const e=he.innerParams.get(this),t=he.domCache.get(this);return t?F(t.popup,e.input):null}function Dt(e,t,n){const o=he.domCache.get(e);t.forEach(e=>{o[e].disabled=n})}function Vt(e,t){const n=C();if(n&&e)if("radio"===e.type){const e=n.querySelectorAll(`[name="${r.radio}"]`);for(let n=0;n<e.length;n++)e[n].disabled=t}else e.disabled=t}function qt(){Dt(this,["confirmButton","denyButton","cancelButton"],!1)}function Nt(){Dt(this,["confirmButton","denyButton","cancelButton"],!0)}function _t(){Vt(this.getInput(),!1)}function Ft(){Vt(this.getInput(),!0)}function Rt(e){const t=he.domCache.get(this),n=he.innerParams.get(this);q(t.validationMessage,e),t.validationMessage.className=r["validation-message"],n.customClass&&n.customClass.validationMessage&&z(t.validationMessage,n.customClass.validationMessage),X(t.validationMessage);const o=this.getInput();o&&(o.setAttribute("aria-invalid","true"),o.setAttribute("aria-describedby",r["validation-message"]),R(o),z(o,r.inputerror))}function Ut(){const e=he.domCache.get(this);e.validationMessage&&Z(e.validationMessage);const t=this.getInput();t&&(t.removeAttribute("aria-invalid"),t.removeAttribute("aria-describedby"),W(t,r.inputerror))}const zt={title:"",titleText:"",text:"",html:"",footer:"",icon:void 0,iconColor:void 0,iconHtml:void 0,template:void 0,toast:!1,draggable:!1,animation:!0,theme:"light",showClass:{popup:"swal2-show",backdrop:"swal2-backdrop-show",icon:"swal2-icon-show"},hideClass:{popup:"swal2-hide",backdrop:"swal2-backdrop-hide",icon:"swal2-icon-hide"},customClass:{},target:"body",color:void 0,backdrop:!0,heightAuto:!0,allowOutsideClick:!0,allowEscapeKey:!0,allowEnterKey:!0,stopKeydownPropagation:!0,keydownListenerCapture:!1,showConfirmButton:!0,showDenyButton:!1,showCancelButton:!1,preConfirm:void 0,preDeny:void 0,confirmButtonText:"OK",confirmButtonAriaLabel:"",confirmButtonColor:void 0,denyButtonText:"No",denyButtonAriaLabel:"",denyButtonColor:void 0,cancelButtonText:"Cancel",cancelButtonAriaLabel:"",cancelButtonColor:void 0,buttonsStyling:!0,reverseButtons:!1,focusConfirm:!0,focusDeny:!1,focusCancel:!1,returnFocus:!0,showCloseButton:!1,closeButtonHtml:"&times;",closeButtonAriaLabel:"Close this dialog",loaderHtml:"",showLoaderOnConfirm:!1,showLoaderOnDeny:!1,imageUrl:void 0,imageWidth:void 0,imageHeight:void 0,imageAlt:"",timer:void 0,timerProgressBar:!1,width:void 0,padding:void 0,background:void 0,input:void 0,inputPlaceholder:"",inputLabel:"",inputValue:"",inputOptions:{},inputAutoFocus:!0,inputAutoTrim:!0,inputAttributes:{},inputValidator:void 0,returnInputValueOnDeny:!1,validationMessage:void 0,grow:!1,position:"center",progressSteps:[],currentProgressStep:void 0,progressStepsDistance:void 0,willOpen:void 0,didOpen:void 0,didRender:void 0,willClose:void 0,didClose:void 0,didDestroy:void 0,scrollbarPadding:!0,topLayer:!1},Wt=["allowEscapeKey","allowOutsideClick","background","buttonsStyling","cancelButtonAriaLabel","cancelButtonColor","cancelButtonText","closeButtonAriaLabel","closeButtonHtml","color","confirmButtonAriaLabel","confirmButtonColor","confirmButtonText","currentProgressStep","customClass","denyButtonAriaLabel","denyButtonColor","denyButtonText","didClose","didDestroy","draggable","footer","hideClass","html","icon","iconColor","iconHtml","imageAlt","imageHeight","imageUrl","imageWidth","preConfirm","preDeny","progressSteps","returnFocus","reverseButtons","showCancelButton","showCloseButton","showConfirmButton","showDenyButton","text","title","titleText","theme","willClose"],Kt={allowEnterKey:void 0},Yt=["allowOutsideClick","allowEnterKey","backdrop","draggable","focusConfirm","focusDeny","focusCancel","returnFocus","heightAuto","keydownListenerCapture"],Xt=e=>Object.prototype.hasOwnProperty.call(zt,e),Zt=e=>-1!==Wt.indexOf(e),Jt=e=>Kt[e],Gt=e=>{Xt(e)||u(`Unknown parameter "${e}"`)},Qt=e=>{Yt.includes(e)&&u(`The parameter "${e}" is incompatible with toasts`)},en=e=>{const t=Jt(e);t&&m(e,t)},tn=e=>{!1===e.backdrop&&e.allowOutsideClick&&u('"allowOutsideClick" parameter requires `backdrop` parameter to be set to `true`'),e.theme&&!["light","dark","auto","minimal","borderless","embed-iframe","bulma","bulma-light","bulma-dark"].includes(e.theme)&&u(`Invalid theme "${e.theme}"`);for(const t in e)Gt(t),e.toast&&Qt(t),en(t)};function nn(e){const t=y(),n=C(),o=he.innerParams.get(this);if(!n||N(n,o.hideClass.popup))return void u("You're trying to update the closed or closing popup, that won't work. Use the update() method in preConfirm parameter or show a new popup.");const i=on(e),s=Object.assign({},o,i);tn(s),t.dataset.swal2Theme=s.theme,Re(this,s),he.innerParams.set(this,s),Object.defineProperties(this,{params:{value:Object.assign({},this.params,e),writable:!1,enumerable:!0}})}const on=e=>{const t={};return Object.keys(e).forEach(n=>{Zt(n)?t[n]=e[n]:u(`Invalid parameter to update: ${n}`)}),t};function sn(){const e=he.domCache.get(this),t=he.innerParams.get(this);t?(e.popup&&o.swalCloseEventFinishedCallback&&(o.swalCloseEventFinishedCallback(),delete o.swalCloseEventFinishedCallback),"function"==typeof t.didDestroy&&t.didDestroy(),o.eventEmitter.emit("didDestroy"),rn(this)):an(this)}const rn=e=>{an(e),delete e.params,delete o.keydownHandler,delete o.keydownTarget,delete o.currentInstance},an=e=>{e.isAwaitingPromise?(ln(he,e),e.isAwaitingPromise=!0):(ln(tt,e),ln(he,e),delete e.isAwaitingPromise,delete e.disableButtons,delete e.enableButtons,delete e.getInput,delete e.disableInput,delete e.enableInput,delete e.hideLoading,delete e.disableLoading,delete e.showValidationMessage,delete e.resetValidationMessage,delete e.close,delete e.closePopup,delete e.closeModal,delete e.closeToast,delete e.rejectPromise,delete e.update,delete e._destroy)},ln=(e,t)=>{for(const n in e)e[n].delete(t)};var cn=Object.freeze({__proto__:null,_destroy:sn,close:dt,closeModal:dt,closePopup:dt,closeToast:dt,disableButtons:Nt,disableInput:Ft,disableLoading:jt,enableButtons:qt,enableInput:_t,getInput:It,handleAwaitingPromise:ht,hideLoading:jt,rejectPromise:mt,resetValidationMessage:Ut,showValidationMessage:Rt,update:nn});const un=(e,t,n)=>{t.popup.onclick=()=>{e&&(dn(e)||e.timer||e.input)||n(ze.close)}},dn=e=>!!(e.showConfirmButton||e.showDenyButton||e.showCancelButton||e.showCloseButton);let pn=!1;const mn=e=>{e.popup.onmousedown=()=>{e.container.onmouseup=function(t){e.container.onmouseup=()=>{},t.target===e.container&&(pn=!0)}}},hn=e=>{e.container.onmousedown=t=>{t.target===e.container&&t.preventDefault(),e.popup.onmouseup=function(t){e.popup.onmouseup=()=>{},(t.target===e.popup||t.target instanceof HTMLElement&&e.popup.contains(t.target))&&(pn=!0)}}},gn=(e,t,n)=>{t.container.onclick=o=>{pn?pn=!1:o.target===t.container&&h(e.allowOutsideClick)&&n(ze.backdrop)}},fn=e=>e instanceof Element||(e=>"object"==typeof e&&e.jquery)(e);const bn=()=>{if(o.timeout)return(()=>{const e=j();if(!e)return;const t=parseInt(window.getComputedStyle(e).width);e.style.removeProperty("transition"),e.style.width="100%";const n=t/parseInt(window.getComputedStyle(e).width)*100;e.style.width=`${n}%`})(),o.timeout.stop()},yn=()=>{if(o.timeout){const e=o.timeout.start();return oe(e),e}};let vn=!1;const wn={};const Cn=e=>{for(let t=e.target;t&&t!==document;t=t.parentNode)for(const e in wn){const n=t.getAttribute(e);if(n)return void wn[e].fire({template:n})}};o.eventEmitter=new class{constructor(){this.events={}}_getHandlersByEventName(e){return void 0===this.events[e]&&(this.events[e]=[]),this.events[e]}on(e,t){const n=this._getHandlersByEventName(e);n.includes(t)||n.push(t)}once(e,t){const n=(...o)=>{this.removeListener(e,n),t.apply(this,o)};this.on(e,n)}emit(e,...t){this._getHandlersByEventName(e).forEach(e=>{try{e.apply(this,t)}catch(e){console.error(e)}})}removeListener(e,t){const n=this._getHandlersByEventName(e),o=n.indexOf(t);o>-1&&n.splice(o,1)}removeAllListeners(e){void 0!==this.events[e]&&(this.events[e].length=0)}reset(){this.events={}}};var An=Object.freeze({__proto__:null,argsToParams:e=>{const t={};return"object"!=typeof e[0]||fn(e[0])?["title","html","icon"].forEach((n,o)=>{const i=e[o];"string"==typeof i||fn(i)?t[n]=i:void 0!==i&&d(`Unexpected type of ${n}! Expected "string" or "Element", got ${typeof i}`)}):Object.assign(t,e[0]),t},bindClickHandler:function(e="data-swal-template"){wn[e]=this,vn||(document.body.addEventListener("click",Cn),vn=!0)},clickCancel:()=>{var e;return null===(e=x())||void 0===e?void 0:e.click()},clickConfirm:Ue,clickDeny:()=>{var e;return null===(e=T())||void 0===e?void 0:e.click()},enableLoading:vt,fire:function(...e){return new this(...e)},getActions:O,getCancelButton:x,getCloseButton:H,getConfirmButton:P,getContainer:y,getDenyButton:T,getFocusableElements:I,getFooter:M,getHtmlContainer:k,getIcon:A,getIconContent:()=>w(r["icon-content"]),getImage:B,getInputLabel:()=>w(r["input-label"]),getLoader:S,getPopup:C,getProgressSteps:$,getTimerLeft:()=>o.timeout&&o.timeout.getTimerLeft(),getTimerProgressBar:j,getTitle:E,getValidationMessage:L,increaseTimer:e=>{if(o.timeout){const t=o.timeout.increase(e);return oe(t,!0),t}},isDeprecatedParameter:Jt,isLoading:()=>{const e=C();return!!e&&e.hasAttribute("data-loading")},isTimerRunning:()=>!(!o.timeout||!o.timeout.isRunning()),isUpdatableParameter:Zt,isValidParameter:Xt,isVisible:()=>ee(C()),mixin:function(e){return class extends(this){_main(t,n){return super._main(t,Object.assign({},e,n))}}},off:(e,t)=>{e?t?o.eventEmitter.removeListener(e,t):o.eventEmitter.removeAllListeners(e):o.eventEmitter.reset()},on:(e,t)=>{o.eventEmitter.on(e,t)},once:(e,t)=>{o.eventEmitter.once(e,t)},resumeTimer:yn,showLoading:vt,stopTimer:bn,toggleTimer:()=>{const e=o.timeout;return e&&(e.running?bn():yn())}});class En{constructor(e,t){this.callback=e,this.remaining=t,this.running=!1,this.start()}start(){return this.running||(this.running=!0,this.started=new Date,this.id=setTimeout(this.callback,this.remaining)),this.remaining}stop(){return this.started&&this.running&&(this.running=!1,clearTimeout(this.id),this.remaining-=(new Date).getTime()-this.started.getTime()),this.remaining}increase(e){const t=this.running;return t&&this.stop(),this.remaining+=e,t&&this.start(),this.remaining}getTimerLeft(){return this.running&&(this.stop(),this.start()),this.remaining}isRunning(){return this.running}}const kn=["swal-title","swal-html","swal-footer"],Bn=e=>{const t={};return Array.from(e.querySelectorAll("swal-param")).forEach(e=>{Mn(e,["name","value"]);const n=e.getAttribute("name"),o=e.getAttribute("value");n&&o&&(t[n]="boolean"==typeof zt[n]?"false"!==o:"object"==typeof zt[n]?JSON.parse(o):o)}),t},$n=e=>{const t={};return Array.from(e.querySelectorAll("swal-function-param")).forEach(e=>{const n=e.getAttribute("name"),o=e.getAttribute("value");n&&o&&(t[n]=new Function(`return ${o}`)())}),t},Ln=e=>{const t={};return Array.from(e.querySelectorAll("swal-button")).forEach(e=>{Mn(e,["type","color","aria-label"]);const n=e.getAttribute("type");n&&["confirm","cancel","deny"].includes(n)&&(t[`${n}ButtonText`]=e.innerHTML,t[`show${c(n)}Button`]=!0,e.hasAttribute("color")&&(t[`${n}ButtonColor`]=e.getAttribute("color")),e.hasAttribute("aria-label")&&(t[`${n}ButtonAriaLabel`]=e.getAttribute("aria-label")))}),t},Pn=e=>{const t={},n=e.querySelector("swal-image");return n&&(Mn(n,["src","width","height","alt"]),n.hasAttribute("src")&&(t.imageUrl=n.getAttribute("src")||void 0),n.hasAttribute("width")&&(t.imageWidth=n.getAttribute("width")||void 0),n.hasAttribute("height")&&(t.imageHeight=n.getAttribute("height")||void 0),n.hasAttribute("alt")&&(t.imageAlt=n.getAttribute("alt")||void 0)),t},xn=e=>{const t={},n=e.querySelector("swal-icon");return n&&(Mn(n,["type","color"]),n.hasAttribute("type")&&(t.icon=n.getAttribute("type")),n.hasAttribute("color")&&(t.iconColor=n.getAttribute("color")),t.iconHtml=n.innerHTML),t},Tn=e=>{const t={},n=e.querySelector("swal-input");n&&(Mn(n,["type","label","placeholder","value"]),t.input=n.getAttribute("type")||"text",n.hasAttribute("label")&&(t.inputLabel=n.getAttribute("label")),n.hasAttribute("placeholder")&&(t.inputPlaceholder=n.getAttribute("placeholder")),n.hasAttribute("value")&&(t.inputValue=n.getAttribute("value")));const o=Array.from(e.querySelectorAll("swal-input-option"));return o.length&&(t.inputOptions={}
vendor: 4,489 bytes, line 46457
46457,o.forEach(e=>{Mn(e,["value"]);const n=e.getAttribute("value");if(!n)return;const o=e.innerHTML;t.inputOptions[n]=o})),t},Sn=(e,t)=>{const n={};for(const o in t){const i=t[o],s=e.querySelector(i);s&&(Mn(s,[]),n[i.replace(/^swal-/,"")]=s.innerHTML.trim())}return n},On=e=>{const t=kn.concat(["swal-param","swal-function-param","swal-button","swal-image","swal-icon","swal-input","swal-input-option"]);Array.from(e.children).forEach(e=>{const n=e.tagName.toLowerCase();t.includes(n)||u(`Unrecognized element <${n}>`)})},Mn=(e,t)=>{Array.from(e.attributes).forEach(n=>{-1===t.indexOf(n.name)&&u([`Unrecognized attribute "${n.name}" on <${e.tagName.toLowerCase()}>.`,""+(t.length?`Allowed attributes are: ${t.join(", ")}`:"To set the value, use HTML within the element.")])})},jn=e=>{const t=y(),n=C();"function"==typeof e.willOpen&&e.willOpen(n),o.eventEmitter.emit("willOpen",n);const i=window.getComputedStyle(document.body).overflowY;Vn(t,n,e),setTimeout(()=>{In(t,n)},10),D()&&(Dn(t,e.scrollbarPadding,i),(()=>{const e=y();Array.from(document.body.children).forEach(t=>{t.contains(e)||(t.hasAttribute("aria-hidden")&&t.setAttribute("data-previous-aria-hidden",t.getAttribute("aria-hidden")||""),t.setAttribute("aria-hidden","true"))})})()),V()||o.previousActiveElement||(o.previousActiveElement=document.activeElement),"function"==typeof e.didOpen&&setTimeout(()=>e.didOpen(n)),o.eventEmitter.emit("didOpen",n),W(t,r["no-transition"])},Hn=e=>{const t=C();if(e.target!==t)return;const n=y();t.removeEventListener("animationend",Hn),t.removeEventListener("transitionend",Hn),n.style.overflowY="auto"},In=(e,t)=>{ne(t)?(e.style.overflowY="hidden",t.addEventListener("animationend",Hn),t.addEventListener("transitionend",Hn)):e.style.overflowY="auto"},Dn=(e,t,n)=>{(()=>{if(ot&&!N(document.body,r.iosfix)){const e=document.body.scrollTop;document.body.style.top=-1*e+"px",z(document.body,r.iosfix),it()}})(),t&&"hidden"!==n&&ct(n),setTimeout(()=>{e.scrollTop=0})},Vn=(e,t,n)=>{z(e,n.showClass.backdrop),n.animation?(t.style.setProperty("opacity","0","important"),X(t,"grid"),setTimeout(()=>{z(t,n.showClass.popup),t.style.removeProperty("opacity")},10)):X(t,"grid"),z([document.documentElement,document.body],r.shown),n.heightAuto&&n.backdrop&&!n.toast&&z([document.documentElement,document.body],r["height-auto"])};var qn=(e,t)=>/^[a-zA-Z0-9.+_'-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9-]+$/.test(e)?Promise.resolve():Promise.resolve(t||"Invalid email address"),Nn=(e,t)=>/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-z]{2,63}\b([-a-zA-Z0-9@:%_+.~#?&/=]*)$/.test(e)?Promise.resolve():Promise.resolve(t||"Invalid URL");function _n(e){!function(e){e.inputValidator||("email"===e.input&&(e.inputValidator=qn),"url"===e.input&&(e.inputValidator=Nn))}(e),e.showLoaderOnConfirm&&!e.preConfirm&&u("showLoaderOnConfirm is set to true, but preConfirm is not defined.\nshowLoaderOnConfirm should be used together with preConfirm, see usage example:\nhttps://sweetalert2.github.io/#ajax-request"),function(e){(!e.target||"string"==typeof e.target&&!document.querySelector(e.target)||"string"!=typeof e.target&&!e.target.appendChild)&&(u('Target parameter is not valid, defaulting to "body"'),e.target="body")}(e),"string"==typeof e.title&&(e.title=e.title.split("\n").join("<br />")),re(e)}let Fn;var Rn=new WeakMap;class Un{constructor(...t){if(n(this,Rn,void 0),"undefined"==typeof window)return;Fn=this;const o=Object.freeze(this.constructor.argsToParams(t));var i,s,r;this.params=o,this.isAwaitingPromise=!1,i=Rn,s=this,r=this._main(Fn.params),i.set(e(i,s),r)}_main(e,t={}){if(tn(Object.assign({},t,e)),o.currentInstance){const e=tt.swalPromiseResolve.get(o.currentInstance),{isAwaitingPromise:t}=o.currentInstance;o.currentInstance._destroy(),t||e({isDismissed:!0}),D()&&nt()}o.currentInstance=Fn;const n=Wn(e,t);_n(n),Object.freeze(n),o.timeout&&(o.timeout.stop(),delete o.timeout),clearTimeout(o.restoreFocusTimeout);const i=Kn(Fn);return Re(Fn,n),he.innerParams.set(Fn,n),zn(Fn,i,n)}then(e){return t(Rn,this).then(e)}finally(e){return t(Rn,this).finally(e)}}const zn=(e,t,n)=>new Promise((i,s)=>{const r=t=>{e.close({isDismissed:!0,dismiss:t})};tt.swalPromiseResolve.set(e,i),tt.swalPromiseReject.set(e,s),t.confirmButton.onclick=()=>{(e=>{const t=he.innerParams.get(e);e.disableButtons(),t.input?Pt(e,"confirm"):Mt(e,!0)})(e)},t.denyButton.onclick=()=>{(e=>{const t=he.innerParams.get(e);e.disableButtons(),t.returnInputValueOnDeny?Pt(e,"deny"):Tt(e,!1)})(e)},t.cancelButton.onclick=()=>{((e,t)=>
vendor: 3,183 bytes, lines 46457-46475
46457{e.disableButtons(),t(ze.cancel)})(e,r)},t.closeButton.onclick=()=>{r(ze.close)},((e,t,n)=>{e.toast?un(e,t,n):(mn(t),hn(t),gn(e,t,n))})(n,t,r),((e,t,n)=>{We(e),t.toast||(e.keydownHandler=e=>Ze(t,e,n),e.keydownTarget=t.keydownListenerCapture?window:C(),e.keydownListenerCapture=t.keydownListenerCapture,e.keydownTarget.addEventListener("keydown",e.keydownHandler,{capture:e.keydownListenerCapture}),e.keydownHandlerAdded=!0)})(o,n,r),((e,t)=>{"select"===t.input||"radio"===t.input?kt(e,t):["text","email","number","tel","textarea"].some(e=>e===t.input)&&(g(t.inputValue)||b(t.inputValue))&&(vt(P()),Bt(e,t))})(e,n),jn(n),Yn(o,n,r),Xn(t,n),setTimeout(()=>{t.container.scrollTop=0})}),Wn=(e,t)=>{const n=(e=>{const t="string"==typeof e.template?document.querySelector(e.template):e.template;if(!t)return{};const n=t.content;return On(n),Object.assign(Bn(n),$n(n),Ln(n),Pn(n),xn(n),Tn(n),Sn(n,kn))})(e),o=Object.assign({},zt,t,n,e);return o.showClass=Object.assign({},zt.showClass,o.showClass),o.hideClass=Object.assign({},zt.hideClass,o.hideClass),!1===o.animation&&(o.showClass={backdrop:"swal2-noanimation"},o.hideClass={}),o},Kn=e=>{const t={popup:C(),container:y(),actions:O(),confirmButton:P(),denyButton:T(),cancelButton:x(),loader:S(),closeButton:H(),validationMessage:L(),progressSteps:$()};return he.domCache.set(e,t),t},Yn=(e,t,n)=>{const o=j();Z(o),t.timer&&(e.timeout=new En(()=>{n("timer"),delete e.timeout},t.timer),t.timerProgressBar&&(X(o),_(o,t,"timerProgressBar"),setTimeout(()=>{e.timeout&&e.timeout.running&&oe(t.timer)})))},Xn=(e,t)=>{if(!t.toast)return h(t.allowEnterKey)?void(Zn(e)||Jn(e,t)||Ke(-1,1)):(m("allowEnterKey"),void Gn())},Zn=e=>{const t=Array.from(e.popup.querySelectorAll("[autofocus]"));for(const e of t)if(e instanceof HTMLElement&&ee(e))return e.focus(),!0;return!1},Jn=(e,t)=>t.focusDeny&&ee(e.denyButton)?(e.denyButton.focus(),!0):t.focusCancel&&ee(e.cancelButton)?(e.cancelButton.focus(),!0):!(!t.focusConfirm||!ee(e.confirmButton))&&(e.confirmButton.focus(),!0),Gn=()=>{document.activeElement instanceof HTMLElement&&"function"==typeof document.activeElement.blur&&document.activeElement.blur()};Un.prototype.disableButtons=Nt,Un.prototype.enableButtons=qt,Un.prototype.getInput=It,Un.prototype.disableInput=Ft,Un.prototype.enableInput=_t,Un.prototype.hideLoading=jt,Un.prototype.disableLoading=jt,Un.prototype.showValidationMessage=Rt,Un.prototype.resetValidationMessage=Ut,Un.prototype.close=dt,Un.prototype.closePopup=dt,Un.prototype.closeModal=dt,Un.prototype.closeToast=dt,Un.prototype.rejectPromise=mt,Un.prototype.update=nn,Un.prototype._destroy=sn,Object.assign(Un,An),Object.keys(cn).forEach(e=>{Un[e]=function(...t){return Fn&&Fn[e]?Fn[e](...t):null}}),Un.DismissReason=ze,Un.version="11.22.4";const Qn=Un;return Qn.default=Qn,Qn}),void 0!==this&&this.Sweetalert2&&(this.swal=this.sweetAlert=this.Swal=this.SweetAlert=this.Sweetalert2);
46458
46459"use strict";
46460
46461//
46462// SweetAlert2 Initialization
46463//
46464
46465// Set Defaults
46466swal.mixin({
46467	width: 400,
46468	heightAuto: false,
46469	padding: '2.5rem',
46470	buttonsStyling: false,
46471	confirmButtonClass: 'btn btn-success',
46472	confirmButtonColor: null,
46473	cancelButtonClass: 'btn btn-secondary',
46474	cancelButtonColor: null
46475});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.