PageSourceSearch

https://www.niceicinsurance.com/etc.clientlibs/marsh-aemrefresh/cl…ies.min.16c4337daba2ce5012713ed08e4be08e.js

js niceicinsurance.com collected 2026-10-08 22:48:31 UTC 102,113 bytes, 1,216 lines download raw bytes

vendor: 6,189 bytes, lines 1-73
1/*! jquery.iframetracker v2.1.0 | https://github.com/vincepare/iframeTracker-jquery | Copyright (c) 2013-2018 Vincent Paré | Licensed Apache-2.0 */
2!function(e,r){"function"==typeof define&&define.amd?define(["jquery"],function(e){return r(e)}):"object"==typeof module&&module.exports?module.exports=r(require("jquery")):r(e.jQuery)}(this,function(e){!function(e){e.fn.iframeTracker=function(r){"function"==typeof r&&(r={blurCallback:r});var t=this.get();if(null===r||!1===r)e.iframeTracker.untrack(t);else{if("object"!=typeof r)throw new Error("Wrong handler type (must be an object, or null|false to untrack)");e.iframeTracker.track(t,r)}return this},e.iframeTracker={focusRetriever:null,focusRetrieved:!1,handlersList:[],isIE8AndOlder:!1,init:function(){try{!0===e.browser.msie&&e.browser.version<9&&(this.isIE8AndOlder=!0)}catch(e){try{navigator.userAgent.match(/(msie) ([\w.]+)/i)[2]<9&&(this.isIE8AndOlder=!0)}catch(e){}}if(e(window).focus(),e(window).blur(function(r){e.iframeTracker.windowLoseFocus(r)}),e("body").append('<div style="position:fixed; top:0; left:0; overflow:hidden;"><input style="position:absolute; left:-300px;" type="text" value="" id="focus_retriever" readonly="true" /></div>'),this.focusRetriever=e("#focus_retriever"),this.focusRetrieved=!1,this.isIE8AndOlder){this.focusRetriever.blur(function(r){r.stopPropagation(),r.preventDefault(),e.iframeTracker.windowLoseFocus(r)}),e("body").click(function(r){e(window).focus()}),e("form").click(function(e){e.stopPropagation()});try{e("body").on("click","form",function(e){e.stopPropagation()})}catch(e){console.log("[iframeTracker] Please update jQuery to 1.7 or newer. (exception: "+e.message+")")}}},track:function(r,t){t.target=r,e.iframeTracker.handlersList.push(t),e(r).bind("mouseover",{handler:t},e.iframeTracker.mouseoverListener).bind("mouseout",{handler:t},e.iframeTracker.mouseoutListener)},untrack:function(r){if("function"==typeof Array.prototype.filter){e(r).each(function(r){e(this).unbind("mouseover",e.iframeTracker.mouseoverListener).unbind("mouseout",e.iframeTracker.mouseoutListener)});var t=function(e){return null!==e};for(var i in this.handlersList){for(var o in this.handlersList[i].target)-1!==e.inArray(this.handlersList[i].target[o],r)&&(this.handlersList[i].target[o]=null);this.handlersList[i].target=this.handlersList[i].target.filter(t),0===this.handlersList[i].target.length&&(this.handlersList[i]=null)}this.handlersList=this.handlersList.filter(t)}else console.log("Your browser doesn't support Array filter, untrack disabled")},mouseoverListener:function(r){r.data.handler.over=!0,e.iframeTracker.retrieveFocus();try{r.data.handler.overCallback(this,r)}catch(e){}},mouseoutListener:function(r){r.data.handler.over=!1,e.iframeTracker.retrieveFocus();try{r.data.handler.outCallback(this,r)}catch(e){}},retrieveFocus:function(){document.activeElement&&"IFRAME"===document.activeElement.tagName&&(e.iframeTracker.focusRetriever.focus(),e.iframeTracker.focusRetrieved=!0)},windowLoseFocus:function(e){for(var r in this.handlersList)if(!0===this.handlersList[r].over)try{this.handlersList[r].blurCallback(e)}catch(e){}}},e(document).ready(function(){e.iframeTracker.init()})}(e)});
3/**
4 * jQuery Validation Plugin 1.9.0
5 *
6 * http://bassistance.de/jquery-plugins/jquery-plugin-validation/
7 * http://docs.jquery.com/Plugins/Validation
8 *
9 * Copyright (c) 2006 - 2011 Jörn Zaefferer
10 *
11 * Dual licensed under the MIT and GPL licenses:
12 *   http://www.opensource.org/licenses/mit-license.php
13 *   http://www.gnu.org/licenses/gpl.html
14 */
15
16(function($) {
17
18    $.extend($.fn, {
19        // http://docs.jquery.com/Plugins/Validation/validate
20        validate: function( options ) {
21
22            // if nothing is selected, return nothing; can't chain anyway
23            if (!this.length) {
24                options && options.debug && window.console && console.warn( "nothing selected, can't validate, returning nothing" );
25                return;
26            }
27
28            // check if a validator for this form was already created
29            var validator = $.data(this[0], 'validator');
30            if ( validator ) {
31                return validator;
32            }
33
34            // Add novalidate tag if HTML5.
35            this.attr('novalidate', 'novalidate');
36
37            validator = new $.validator( options, this[0] );
38            $.data(this[0], 'validator', validator);
39
40            if ( validator.settings.onsubmit ) {
41
42                var inputsAndButtons = this.find("input, button");
43
44                // allow suppresing validation by adding a cancel class to the submit button
45                inputsAndButtons.filter(".cancel").click(function () {
46                    validator.cancelSubmit = true;
47                });
48
49                // when a submitHandler is used, capture the submitting button
50                if (validator.settings.submitHandler) {
51                    inputsAndButtons.filter(":submit").click(function () {
52                        validator.submitButton = this;
53                    });
54                }
55
56                // validate the form on submit
57                this.submit( function( event ) {
58                    if ( validator.settings.debug )
59                    // prevent form submit to be able to see console output
60                        event.preventDefault();
61
62                    function handle() {
63                        if ( validator.settings.submitHandler ) {
64                            if (validator.submitButton) {
65                                // insert a hidden input as a replacement for the missing submit button
66                                var hidden = $("<input type='hidden'/>").attr("name", validator.submitButton.name).val(validator.submitButton.value).appendTo(validator.currentForm);
67                            }
68                            validator.settings.submitHandler.call( validator, validator.currentForm );
69                            if (validator.submitButton) {
70                                // and clean up afterwards; thanks to no-block-scope, hidden can be referenced
71                                hidden.remove();
72                            }
73                            return false;
74                        }
75                        return true;
76                    }
77
78                    // prevent submit for invalid forms or custom submit handlers
79                    if ( validator.cancelSubmit ) {
80                        validator.cancelSubmit = false;
81                        return handle();
82                    }
83                    if ( validator.form() ) {
84                        if ( validator.pendingRequest ) {
85                            validator.formSubmitted = true;
86                            return false;
87                        }
88                        return handle();
89                    } else {
90                        validator.focusInvalid();
91                        return false;
92                    }
93                });
94            }
95
96            return validator;
97        },
98        // http://docs.jquery.com/Plugins/Validation/valid
99        valid: function() {
100            var el = this[0]; //create a jQuery obj from 1st element in this
101            if (el && el.nodeName && el.nodeName.toLowerCase() === "form") { //checks if el exists & el.nodeName is defined.
102                return $(el).validate().form();
103            }
104            else {
105                var valid = true;
106                var validator = $(el.form).validate();
107                this.each(function() {
108                    valid &= validator.element(this);
109                });
110                return valid;
111            }
112        },
113        // attributes: space seperated list of attributes to retrieve and remove
114        removeAttrs: function(attributes) {
115            var result = {},
116                $element = this;
117            $.each(attributes.split(/\s/), function(index, value) {
118                result[value] = $element.attr(value);
119                $element.removeAttr(value);
120            });
121            return result;
122        },
123        // http://docs.jquery.com/Plugins/Validation/rules
124        rules: function(command, argument) {
125            var element = this[0];
126
127            if (command) {
128                var settings = $.data(element.form, 'validator').settings;
129                var staticRules = settings.rules;
130                var existingRules = $.validator.staticRules(element);
131                switch(command) {
132                    case "add":
133                        $.extend(existingRules, $.validator.normalizeRule(argument));
134                        staticRules[element.name] = existingRules;
135                        if (argument.messages)
136                            settings.messages[element.name] = $.extend( settings.messages[element.name], argument.messages );
137                        break;
138                    case "remove":
139                        if (!argument) {
140                            delete staticRules[element.name];
141                            return existingRules;
142                        }
143                        var filtered = {};
144                        $.each(argument.split(/\s/), function(index, method) {
145                            filtered[method] = existingRules[method];
146                            delete existingRules[method];
147                        });
148                        return filtered;
149                }
150            }
151
152            var data = $.validator.normalizeRules(
153                $.extend(
154                    {},
155                    $.validator.metadataRules(element),
156                    $.validator.classRules(element),
157                    $.validator.attributeRules(element),
158                    $.validator.staticRules(element)
159                ), element);
160
161            // make sure required is at front
162            if (data.required) {
163                var param = data.required;
164                delete data.required;
165                data = $.extend({required: param}, data);
166            }
167
168            return data;
169        }
170    });
171
172// Custom selectors
173    $.extend($.expr[":"], {
174        // http://docs.jquery.com/Plugins/Validation/blank
175        blank: function(a) {return !$.trim("" + a.value);},
176        // http://docs.jquery.com/Plugins/Validation/filled
177        filled: function(a) {return !!$.trim("" + a.value);},
178        // http://docs.jquery.com/Plugins/Validation/unchecked
179        unchecked: function(a) {return !a.checked;}
180    });
181
182// constructor for validator
183    $.validator = function( options, form ) {
184        this.settings = $.extend( true, {}, $.validator.defaults, options );
185        this.currentForm = form;
186        this.init();
187    };
188
189    $.validator.format = function(source, params) {
190        if ( arguments.length == 1 )
191            return function() {
192                var args = $.makeArray(arguments);
193                args.unshift(source);
194                return $.validator.format.apply( this, args );
195            };
196        if ( arguments.length > 2 && params.constructor != Array  ) {
197            params = $.makeArray(arguments).slice(1);
198        }
199        if ( params.constructor != Array ) {
200            params = [ params ];
201        }
202        $.each(params, function(i, n) {
203            source = source.replace(new RegExp("\\{" + i + "\\}", "g"), n);
204        });
205        return source;
206    };
207
208    $.extend($.validator, {
209
210        defaults: {
211            messages: {},
212            groups: {},
213            rules: {},
214            errorClass: "error",
215            validClass: "valid",
216            errorElement: "label",
217            focusInvalid: true,
218            errorContainer: $( [] ),
219            errorLabelContainer: $( [] ),
220            onsubmit: true,
221            ignore: ":hidden",
222            ignoreTitle: false,
223            onfocusin: function(element, event) {
224                this.lastActive = element;
225
226                // hide error label and remove error class on focus if enabled
227                if ( this.settings.focusCleanup && !this.blockFocusCleanup ) {
228                    this.settings.unhighlight && this.settings.unhighlight.call( this, element, this.settings.errorClass, this.settings.val
228idClass );
229                    this.addWrapper(this.errorsFor(element)).hide();
230                }
231            },
232            onfocusout: function(element, event) {
233                if ( !this.checkable(element) && (element.name in this.submitted || !this.optional(element)) ) {
234                    this.element(element);
235                }
236            },
237            onkeyup: function(element, event) {
238                /* GRANITE:START */
239                /*if ( element.name in this.submitted || element == this.lastElement ) {
240                    this.element(element);
241                }*/
242                this.valid();
243                this.element(element)
244                /* GRANITE:END */
245            },
246            onclick: function(element, event) {
247                // click on selects, radiobuttons and checkboxes
248                if ( element.name in this.submitted )
249                    this.element(element);
250                // or option elements, check parent select in that case
251                else if (element.parentNode.name in this.submitted)
252                    this.element(element.parentNode);
253            },
254            highlight: function(element, errorClass, validClass) {
255                if (element.type === 'radio') {
256                    this.findByName(element.name).addClass(errorClass).removeClass(validClass);
257                } else {
258                    $(element).addClass(errorClass).removeClass(validClass);
259                }
260            },
261            unhighlight: function(element, errorClass, validClass) {
262                if (element.type === 'radio') {
263                    this.findByName(element.name).removeClass(errorClass).addClass(validClass);
264                } else {
265                    $(element).removeClass(errorClass).addClass(validClass);
266                }
267            }
268        },
269
270        // http://docs.jquery.com/Plugins/Validation/Validator/setDefaults
271        setDefaults: function(settings) {
272            $.extend( $.validator.defaults, settings );
273        },
274
275        messages: {
276            required: "This field is required.",
277            lettersonly: {
278                required: "This field is required.",
279                lettersonly: "Please use letters only.",
280            },
281            remote: "Please fix this field.",
282            email: "Please enter a valid email address.",
283            url: "Please enter a valid URL.",
284            date: "Please enter a valid date.",
285            dateISO: "Please enter a valid date (ISO).",
286            number: "Please enter a valid number.",
287            digits: "Please enter only digits.",
288            creditcard: "Please enter a valid credit card number.",
289            equalTo: "Please enter the same value again.",
290            accept: "Please enter a value with a valid extension.",
291            maxlength: $.validator.format("Please enter no more than {0} characters."),
292            minlength: $.validator.format("Please enter at least {0} characters."),
293            rangelength: $.validator.format("Please enter a value between {0} and {1} characters long."),
294            range: $.validator.format("Please enter a value between {0} and {1}."),
295            max: $.validator.format("Please enter a value less than or equal to {0}."),
296            min: $.validator.format("Please enter a value greater than or equal to {0}.")
297        },
298
299        autoCreateRanges: false,
300
301        prototype: {
302
303            init: function() {
304                this.labelContainer = $(this.settings.errorLabelContainer);
305                this.errorContext = this.labelContainer.length && this.labelContainer || $(this.currentForm);
306                this.containers = $(this.settings.errorContainer).add( this.settings.errorLabelContainer );
307                this.submitted = {};
308                this.valueCache = {};
309                this.pendingRequest = 0;
310                this.pending = {};
311                this.invalid = {};
312                this.reset();
313
314                var groups = (this.groups = {});
315                $.each(this.settings.groups, function(key, value) {
316                    $.each(value.split(/\s/), function(index, name) {
317                        groups[name] = key;
318                    });
319                });
320                var rules = this.settings.rules;
321                $.each(rules, function(key, value) {
322                    rules[key] = $.validator.normalizeRule(value);
323                });
324
325                function delegate(event) {
326                    var validator = $.data(this[0].form, "validator"),
327                        eventType = "on" + event.type.replace(/^validate/, "");
328                    validator.settings[eventType] && validator.settings[eventType].call(validator, this[0], event);
329                }
330                $(this.currentForm)
331                    .validateDelegate("[type='text'], [type='password'], [type='file'], select, textarea, " +
332                    "[type='number'], [type='search'] ,[type='tel'], [type='url'], " +
333                    "[type='email'], [type='datetime'], [type='date'], [type='month'], " +
334                    "[type='week'], [type='time'], [type='datetime-local'], " +
335                    "[type='range'], [type='color'] ",
336                    "focusin focusout keyup", delegate)
337                    .validateDelegate("[type='radio'], [type='checkbox'], select, option", "click", delegate);
338
339                if (this.settings.invalidHandler)
340                    $(this.currentForm).bind("invalid-form.validate", this.settings.invalidHandler);
341            },
342
343            // http://docs.jquery.com/Plugins/Validation/Validator/form
344            form: function() {
345                this.checkForm();
346                $.extend(this.submitted, this.errorMap);
347                this.invalid = $.extend({}, this.errorMap);
348                if (!this.valid())
349                    $(this.currentForm).triggerHandler("invalid-form", [this]);
350                this.showErrors();
351                return this.valid();
352            },
353
354            checkForm: function() {
355                this.prepareForm();
356                for ( var i = 0, elements = (this.currentElements = this.elements()); elements[i]; i++ ) {
357                    this.check( elements[i] );
358                }
359                return this.valid();
360            },
361
362            // http://docs.jquery.com/Plugins/Validation/Validator/element
363            element: function( element ) {
364                element = this.validationTargetFor( this.clean( element ) );
365                this.lastElement = element;
366                this.prepareElement( element );
367                this.currentElements = $(element);
368                var result = this.check( element );
369                if ( result ) {
370                    delete this.invalid[element.name];
371                } else {
372                    this.invalid[element.name] = true;
373                }
374                if ( !this.numberOfInvalids() ) {
375                    // Hide error containers on last error
376                    this.toHide = this.toHide.add( this.containers );
377                }
378                this.showErrors();
379                return result;
380            },
381
382            // http://docs.jquery.com/Plugins/Validation/Validator/showErrors
383            showErrors: function(errors) {
384                if(errors) {
385                    // add items to error list and map
386                    $.extend( this.errorMap, errors );
387                    this.errorList = [];
388                    for ( var name in errors ) {
389                        this.errorList.push({
390                            message: errors[name],
391                            element: this.findByName(name)[0]
392                        });
393                    }
394                    // remove items from success list
395                    this.successList = $.grep( this.successList, function(element) {
396                        return !(element.name in errors);
397                    });
398                }
399                this.settings.showErrors
400                    ? this.settings.showErrors.call( this, this.errorMap, this.errorList )
401                    : this.defaultShowErrors();
402            },
403
404            // http://docs.jquery.com/Plugins/Validation/Validator/resetForm
405            resetForm: function() {
406                if ( $.fn.resetForm )
407                    $( this.currentForm ).resetForm();
408                this.submitted = {};
409                this.lastElement = null;
410                this.prepareForm();
411                this.hideErrors();
412                this.elements().removeClass( this.settings.errorClass );
413            },
414
415            numberOfInvalids: function() {
416                return this.objectLength(this.invalid);
417            },
418
419            objectLength: function( obj ) {
420                var count = 0;
421                for ( var i in obj )
422                    count++;
423                return count;
424            },
425
426            hideErrors: function() {
427                this.addWrapper( this.toHide ).hide();
428            },
429
430            valid: function() {
431                return this.size() == 0;
432            },
433
434            size: function() {
435                return this.errorList.length;
436            },
437
438            focusInvalid: function() {
439                if( this.settings.focusInvalid ) {
440                    try {
441                        $(this.findLastActive() || this.errorList.length && this.errorList[0].element || [])
442                            .filter(":visible")
443                            .focus()
444                            // manually trigger focusin event; without it, focusin handler isn't called, findLastActive won't have anything to find
445                            .trigger("focusin");
446                    } catch(e) {
447                        // ignore IE throwing errors when focusing hidden elements
448                    }
449                }
450            },
451
452            findLastActive: function() {
453                var lastActive = this.lastActive;
454                return lastActive && $.grep(this.errorList, function(n) {
455                    return n.element.name == lastActive.name;
456                }).length == 1 && lastActive;
457            },
458
459            elements: function() {
460                var validator = this,
461                    rulesCache = {};
462
463                // select all valid inputs inside the form (no submit or reset buttons)
464                return $(this.currentForm)
465                    .find("input, select, textarea")
466                    .not(":submit, :reset, :image, [disabled]")
467                    .not( this.settings.ignore )
468                    .filter(function() {
469                        !this.name && validator.settings.debug && window.console && console.error( "%o has no name assigned", this);
470
471                        // select only the first element for each name, and only those with rules specified
472                        if ( this.name in rulesCache || !validator.objectLength($(this).rules()) )
473                            return false;
474
475                        rulesCache[this.name] = true;
476                        return true;
477                    });
478            },
479
480            clean: function( selector ) {
481                return $( selector )[0];
482            },
483
484            errors: function() {
485                return $( this.settings.errorElement + "." + this.settings.errorClass, this.errorContext );
486            },
487
488            reset: function() {
489                this.successList = [];
490                this.errorList = [];
491                this.errorMap = {};
492                this.toShow = $([]);
493                this.toHide = $([]);
494                this.currentElements = $([]);
495            },
496
497            prepareForm: function() {
498                this.reset();
499                this.toHide = this.errors().add( this.containers );
500            },
501
502            prepareElement: function( element ) {
503                this.reset();
504                this.toHide = this.errorsFor(element);
505            },
506
507            check: function( element ) {
508                element = this.validationTargetFor( this.clean( element ) );
509
510                var rules = $(element).rules();
511                var dependencyMismatch = false;
512                for (var method in rules ) {
513                    var rule = { method: method, parameters: rules[method] };
514                    try {
515                        var result = $.validator.methods[method].call( this, element.value.replace(/\r/g, ""), element, rule.parameters );
516
517                        // if a method indicates that the field is optional and therefore valid,
518                        // don't mark it as valid when there are no other rules
519                        if ( result == "dependency-mismatch" ) {
520                            dependencyMismatch = true;
521                            continue;
522                        }
523                        dependencyMismatch = false;
524
525                        if ( result == "pending" ) {
526                            this.toHide = this.toHide.not( this.errorsFor(element) );
527                            return;
528                        }
529
530                        if( !result ) {
531                            this.formatAndAdd( element, rule );
532                            return false;
533                        }
534                    } catch(e) {
535                        this.settings.debug && window.console && console.log("exception occured when checking element " + element.id
536                            + ", check the '" + rule.method + "' method", e);
537                        throw e;
538                    }
539                }
540                if (dependencyMismatch)
541                    return;
542                if ( this.objectLength(rules) )
543                    this.successList.push(element);
544                return true;
545            },
546
547            // return the custom message for the given element and validation method
548            // specified in the element's "messages" metadata
549            customMetaMessage: function(element, method) {
550                if (!$.metadata)
551                    return;
552
553                var meta = this.settings.meta
554                    ? $(element).metadata()[this.settings.meta]
555                    : $(element).metadata();
556
557                return meta && meta.messages && meta.messages[method];
558            },
559
560            // return the custom message for the given element name and validation method
561            customMessage: function( name, method ) {
562                var m = this.settings.messages[name];
563                return m && (m.constructor == String
564                    ? m
565                    : m[method]);
566            },
567
568            // return the first defined argument, allowing empty strings
569            findDefined: function() {
570                for(var i = 0; i < arguments.length; i++) {
571                    if (arguments[i] !== undefined)
572                        return arguments[i];
573                }
574                return undefined;
575            },
576
577            defaultMessage: function( element, method) {
578                return this.findDefined(
579                    this.customMessage( element.name, method ),
580                    this.customMetaMessage( element, method ),
581                    // title is never undefined, so handle empty string as undefined
582                    !this.settings.ignoreTitle && element.title || undefined,
583                    $.validator.messages[method],
584                    "<strong>Warning: No message defined for " + element.name + "</strong>"
585                );
586            },
587
588            formatAndAdd: function( element, rule ) {
589                var message = this.defaultMessage( element, rule.method ),
590                    theregex = /\$?\{(\d+)\}/g;
591                if ( typeof message == "function" ) {
592                    message = message.call(this, rule.parameters, element);
593                } else if (theregex.test(message)) {
594                    message = jQuery.format(message.replace(theregex, '{$1}'), rule.parameters);
595                }
596                this.errorList.push({
597                    message: message,
598                    element: element
599                });
600
601                this.errorMap[element.name] = message;
602                this.submitted[element.name] = message;
603            },
604
605            addWrapper: function(toToggle) {
606                if ( this.settings.wrapper )
607                    toToggle = toToggle.add( toToggle.parent( this.settings.wrapper ) );
608                return toToggle;
609            },
610
611            defaultShowErrors: function() {
612                for ( var i = 0; this.errorList[i]; i++ ) {
613                    var error = this.errorList[i];
614                    this.settings.highlight && this.settings.highlight.call( this, error.element, this.settings.errorClass, this.settings.val
614idClass );
615                    this.showLabel( error.element, error.message );
616                }
617                if( this.errorList.length ) {
618                    this.toShow = this.toShow.add( this.containers );
619                }
620                if (this.settings.success) {
621                    for ( var i = 0; this.successList[i]; i++ ) {
622                        this.showLabel( this.successList[i] );
623                    }
624                }
625                if (this.settings.unhighlight) {
626                    for ( var i = 0, elements = this.validElements(); elements[i]; i++ ) {
627                        this.settings.unhighlight.call( this, elements[i], this.settings.errorClass, this.settings.validClass );
628                    }
629                }
630                this.toHide = this.toHide.not( this.toShow );
631                this.hideErrors();
632                this.addWrapper( this.toShow ).show();
633            },
634
635            validElements: function() {
636                return this.currentElements.not(this.invalidElements());
637            },
638
639            invalidElements: function() {
640                return $(this.errorList).map(function() {
641                    return this.element;
642                });
643            },
644
645            showLabel: function(element, message) {
646                var label = this.errorsFor( element );
647                if ( label.length ) {
648                    // refresh error/success class
649                    label.removeClass( this.settings.validClass ).addClass( this.settings.errorClass );
650
651                    // check if we have a generated label, replace the message then
652                    label.attr("generated") && label.html(message);
653                } else {
654                    // create label
655                    label = $("<" + this.settings.errorElement + "/>")
656                        .attr({"for":  this.idOrName(element), generated: true})
657                        .addClass(this.settings.errorClass)
658                        .html(message || "");
659                    if ( this.settings.wrapper ) {
660                        // make sure the element is visible, even in IE
661                        // actually showing the wrapped element is handled elsewhere
662                        label = label.hide().show().wrap("<" + this.settings.wrapper + "/>").parent();
663                    }
664                    if ( !this.labelContainer.append(label).length )
665                        this.settings.errorPlacement
666                            ? this.settings.errorPlacement(label, $(element) )
667                            : label.insertAfter(element);
668                }
669                if ( !message && this.settings.success ) {
670                    label.text("");
671                    typeof this.settings.success == "string"
672                        ? label.addClass( this.settings.success )
673                        : this.settings.success( label );
674                }
675                this.toShow = this.toShow.add(label);
676            },
677
678            errorsFor: function(element) {
679                var name = this.idOrName(element);
680                return this.errors().filter(function() {
681                    return $(this).attr('for') == name;
682                });
683            },
684
685            idOrName: function(element) {
686                return this.groups[element.name] || (this.checkable(element) ? element.name : element.id || element.name);
687            },
688
689            validationTargetFor: function(element) {
690                // if radio/checkbox, validate first element in group instead
691                if (this.checkable(element)) {
692                    element = this.findByName( element.name ).not(this.settings.ignore)[0];
693                }
694                return element;
695            },
696
697            checkable: function( element ) {
698                return /radio|checkbox/i.test(element.type);
699            },
700
701            findByName: function( name ) {
702                // select by name and filter by form for performance over form.find("[name=...]")
703                var form = this.currentForm;
704                return $(document.getElementsByName(name)).map(function(index, element) {
705                    return element.form == form && element.name == name && element  || null;
706                });
707            },
708
709            getLength: function(value, element) {
710                switch( element.nodeName.toLowerCase() ) {
711                    case 'select':
712                        return $("option:selected", element).length;
713                    case 'input':
714                        if( this.checkable( element) )
715                            return this.findByName(element.name).filter(':checked').length;
716                }
717                return value.length;
718            },
719
720            depend: function(param, element) {
721                return this.dependTypes[typeof param]
722                    ? this.dependTypes[typeof param](param, element)
723                    : true;
724            },
725
726            dependTypes: {
727                "boolean": function(param, element) {
728                    return param;
729                },
730                "string": function(param, element) {
731                    return !!$(param, element.form).length;
732                },
733                "function": function(param, element) {
734                    return param(element);
735                }
736            },
737
738            optional: function(element) {
739                return !$.validator.methods.required.call(this, $.trim(element.value), element) && "dependency-mismatch";
740            },
741
742            startRequest: function(element) {
743                if (!this.pending[element.name]) {
744                    this.pendingRequest++;
745                    this.pending[element.name] = true;
746                }
747            },
748
749            stopRequest: function(element, valid) {
750                this.pendingRequest--;
751                // sometimes synchronization fails, make sure pendingRequest is never < 0
752                if (this.pendingRequest < 0)
753                    this.pendingRequest = 0;
754                delete this.pending[element.name];
755                if ( valid && this.pendingRequest == 0 && this.formSubmitted && this.form() ) {
756                    $(this.currentForm).submit();
757                    this.formSubmitted = false;
758                } else if (!valid && this.pendingRequest == 0 && this.formSubmitted) {
759                    $(this.currentForm).triggerHandler("invalid-form", [this]);
760                    this.formSubmitted = false;
761                }
762            },
763
764            previousValue: function(element) {
765                return $.data(element, "previousValue") || $.data(element, "previousValue", {
766                    old: null,
767                    valid: true,
768                    message: this.defaultMessage( element, "remote" )
769                });
770            }
771
772        },
773
774        classRuleSettings: {
775            required: {required: true},
776            email: {email: true},
777            url: {url: true},
778            date: {date: true},
779            dateISO: {dateISO: true},
780            dateDE: {dateDE: true},
781            number: {number: true},
782            numberDE: {numberDE: true},
783            digits: {digits: true},
784            creditcard: {creditcard: true}
785        },
786
787        addClassRules: function(className, rules) {
788            className.constructor == String ?
789                this.classRuleSettings[className] = rules :
790                $.extend(this.classRuleSettings, className);
791        },
792
793        classRules: function(element) {
794            var rules = {};
795            var classes = $(element).attr('class');
796            classes && $.each(classes.split(' '), function() {
797                if (this in $.validator.classRuleSettings) {
798                    $.extend(rules, $.validator.classRuleSettings[this]);
799                }
800            });
801            return rules;
802        },
803
804        attributeRules: function(element) {
805            var rules = {};
806            var $element = $(element);
807
808            for (var method in $.validator.methods) {
809                var value;
810                // If .prop exists (jQuery >= 1.6), use it to get true/false for required
811                if (method === 'required' && typeof $.fn.prop === 'function') {
812                    value = $element.prop(method);
813                } else {
814                    value = $element.attr(method);
815                }
816                if (value) {
817                    rules[method] = value;
818                } else if ($element[0].getAttribute("type") === method) {
819                    rules[method] = true;
820                }
821            }
822
823            // maxlength may be returned as -1, 2147483647 (IE) and 524288 (safari) for text inputs
824            if (rules.maxlength && /-1|2147483647|524288/.test(rules.maxlength)) {
825                delete rules.maxlength;
826            }
827
828            return rules;
829        },
830
831        metadataRules: function(element) {
832            if (!$.metadata) return {};
833
834            var meta = $.data(element.form, 'validator').settings.meta;
835            return meta ?
836                $(element).metadata()[meta] :
837                $(element).metadata();
838        },
839
840        staticRules: function(element) {
841            var rules = {};
842            var validator = $.data(element.form, 'validator');
843            if (validator.settings.rules) {
844                rules = $.validator.normalizeRule(validator.settings.rules[element.name]) || {};
845            }
846            return rules;
847        },
848
849        normalizeRules: function(rules, element) {
850            // handle dependency check
851            $.each(rules, function(prop, val) {
852                // ignore rule when param is explicitly false, eg. required:false
853                if (val === false) {
854                    delete rules[prop];
855                    return;
856                }
857                if (val.param || val.depends) {
858                    var keepRule = true;
859                    switch (typeof val.depends) {
860                        case "string":
861                            keepRule = !!$(val.depends, element.form).length;
862                            break;
863                        case "function":
864                            keepRule = val.depends.call(element, element);
865                            break;
866                    }
867                    if (keepRule) {
868                        rules[prop] = val.param !== undefined ? val.param : true;
869                    } else {
870                        delete rules[prop];
871                    }
872                }
873            });
874
875            // evaluate parameters
876            $.each(rules, function(rule, parameter) {
877                rules[rule] = $.isFunction(parameter) ? parameter(element) : parameter;
878            });
879
880            // clean number parameters
881            $.each(['minlength', 'maxlength', 'min', 'max'], function() {
882                if (rules[this]) {
883                    rules[this] = Number(rules[this]);
884                }
885            });
886            $.each(['rangelength', 'range'], function() {
887                if (rules[this]) {
888                    rules[this] = [Number(rules[this][0]), Number(rules[this][1])];
889                }
890            });
891
892            if ($.validator.autoCreateRanges) {
893                // auto-create ranges
894                if (rules.min && rules.max) {
895                    rules.range = [rules.min, rules.max];
896                    delete rules.min;
897                    delete rules.max;
898                }
899                if (rules.minlength && rules.maxlength) {
900                    rules.rangelength = [rules.minlength, rules.maxlength];
901                    delete rules.minlength;
902                    delete rules.maxlength;
903                }
904            }
905
906            // To support custom messages in metadata ignore rule methods titled "messages"
907            if (rules.messages) {
908                delete rules.messages;
909            }
910
911            return rules;
912        },
913
914        // Converts a simple string to a {string: true} rule, e.g., "required" to {required:true}
915        normalizeRule: function(data) {
916            if( typeof data == "string" ) {
917                var transformed = {};
918                $.each(data.split(/\s/), function() {
919                    transformed[this] = true;
920                });
921                data = transformed;
922            }
923            return data;
924        },
925
926        // http://docs.jquery.com/Plugins/Validation/Validator/addMethod
927        addMethod: function(name, method, message) {
928            $.validator.methods[name] = method;
929            $.validator.messages[name] = message != undefined ? message : $.validator.messages[name];
930            if (method.length < 3) {
931                $.validator.addClassRules(name, $.validator.normalizeRule(name));
932            }
933        },
934
935        methods: {
936
937            // http://docs.jquery.com/Plugins/Validation/Methods/required
938            required: function(value, element, param) {
939                // check if dependency is met
940                if ( !this.depend(param, element) )
941                    return "dependency-mismatch";
942                switch( element.nodeName.toLowerCase() ) {
943                    case 'select':
944                        // could be an array for select-multiple or a string, both are fine this way
945                        var val = $(element).val();
946                        return val && val.length > 0;
947                    case 'input':
948                        if ( this.checkable(element) )
949                            return this.getLength(value, element) > 0;
950                    default:
951                        return $.trim(value).length > 0;
952                }
953            },
954
955            // http://docs.jquery.com/Plugins/Validation/Methods/remote
956            remote: function(value, element, param) {
957                if ( this.optional(element) )
958                    return "dependency-mismatch";
959
960                var previous = this.previousValue(element);
961                if (!this.settings.messages[element.name] )
962                    this.settings.messages[element.name] = {};
963                previous.originalMessage = this.settings.messages[element.name].remote;
964                this.settings.messages[element.name].remote = previous.message;
965
966                param = typeof param == "string" && {url:param} || param;
967
968                if ( this.pending[element.name] ) {
969                    return "pending";
970                }
971                if ( previous.old === value ) {
972                    return previous.valid;
973                }
974
975                previous.old = value;
976                var validator = this;
977                this.startRequest(element);
978                var data = {};
979                data[element.name] = value;
980                $.ajax($.extend(true, {
981                    url: param,
982                    mode: "abort",
983                    port: "validate" + element.name,
984                    dataType: "json",
985                    data: data,
986                    success: function(response) {
987                        validator.settings.messages[element.name].remote = previous.originalMessage;
988                        var valid = response === true;
989                        if ( valid ) {
990                            var submitted = validator.formSubmitted;
991                            validator.prepareElement(element);
992                            validator.formSubmitted = submitted;
993                            validator.successList.push(element);
994                            validator.showErrors();
995                        } else {
996                            var errors = {};
997                            var message = response || validator.defaultMessage( element, "remote" );
998                            errors[element.name] = previous.message = $.isFunction(message) ? message(value) : message;
999                            validator.showErrors(errors);
1000                        }
1001                        previous.valid = valid;
1002                        validator.stopRequest(element, valid);
1003                    }
1004                }, param));
1005                return "pending";
1006            },
1007
1008            // http://docs.jquery.com/Plugins/Validation/Methods/minlength
1009            minlength: function(value, element, param) {
1010                return this.optional(element) || this.getLength($.trim(value), element) >= param;
1011            },
1012
1013            // http://docs.jquery.com/Plugins/Validation/Methods/maxlength
1014            maxlength: function(value, element, param) {
1015                return this.optional(element) || this.getLength($.trim(value), element) <= param;
1016            },
1017
1018            // http://docs.jquery.com/Plugins/Validation/Methods/rangelength
1019            rangelength: function(value, element, param) {
1020                var length = this.getLength($.trim(value), element);
1021                return this.optional(element) || ( length >= param[0] && length <= param[1] );
1022            },
1023
1024            // http://docs.jquery.com/Plugins/Validation/Methods/min
1025            min: function( value, element, param ) {
1026                return this.optional(element) || value >= param;
1027            },
1028
1029            // http://docs.jquery.com/Plugins/Validation/Methods/max
1030            max: function( value, element, param ) {
1031                return this.optional(element) || value <= param;
1032            },
1033
1034            // http://docs.jquery.com/Plugins/Validation/Methods/range
1035            range: function( value, element, param ) {
1036                return this.optional(element) || ( value >= param[0] && value <= param[1] );
1037            },
1038
1039            // http://docs.jquery.com/Plugins/Validation/Methods/email
1040            email: function(value, element) {
1041                // contributed by Scott Gonzalez: http://projects.scottsplayground.com/email_address_validation/
1042                return this.optional(element) || /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(value);
1043            },
1044
1045            // http://docs.jquery.com/Plugins/Validation/Methods/url
1046            url: function(value, element) {
1047                // contributed by Scott Gonzalez: http://projects.scottsplayground.com/iri/
1048                return this.optional(element) || /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value);
1049            },
1050
1051            // http://docs.jquery.com/Plugins/Validation/Methods/date
1052            date: function(value, element) {
1053                return this.optional(element) || !/Invalid|NaN/.test(new Date(value));
1054            },
1055
1056            // http://docs.jquery.com/Plugins/Validation/Methods/dateISO
1057            dateISO: function(value, element) {
1058                return this.optional(element) || /^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(value);
1059            },
1060
1061            // http://docs.jquery.com/Plugins/Validation/Methods/number
1062            number: function(value, element) {
1063                return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(value);
1064            },
1065
1066            lettersonly: function(value, element) {
1067                return this.optional(element) || /^[a-zA-Z\s]*$/.test(value);
1068            },
1069
1070            phonenumber: function(value, element) {
1071                return this.optional(element) || /^[+]?[0-9]{9,12}$/.test(value);
1072            },
1073
1074            companyname: function(value, element) {
1075                return this.optional(element) || /^[a-zA-Z0-9\s]*/.test(value);
1076            },
1077
1078            // http://docs.jquery.com/Plugins/Validation/Methods/digits
1079            digits: function(value, element) {
1080                return this.optional(element) || /^\d+$/.test(value);
1081            },
1082
1083            // http://docs.jquery.com/Plugins/Validation/Methods/creditcard
1084            // based on http://en.wikipedia.org/wiki/Luhn
1085            creditcard: function(value, element) {
1086                if ( this.optional(element) )
1087                    return "dependency-mismatch";
1088                // accept only spaces, digits and dashes
1089                if (/[^0-9 -]+/.test(value))
1090                    return false;
1091                var nCheck = 0,
1092                    nDigit = 0,
1093                    bEven = false;
1094
1095                value = value.replace(/\D/g, "");
1096
1097                for (var n = value.length - 1; n >= 0; n--) {
1098                    var cDigit = value.charAt(n);
1099                    var nDigit = parseInt(cDigit, 10);
1100                    if (bEven) {
1101                        if ((nDigit *= 2) > 9)
1102                            nDigit -= 9;
1103                    }
1104                    nCheck += nDigit;
1105                    bEven = !bEven;
1106                }
1107
1108                return (nCheck % 10) == 0;
1109            },
1110
1111            // http://docs.jquery.com/Plugins/Validation/Methods/accept
1112            accept: function(value, element, param) {
1113                param = typeof param == "string" ? param.replace(/,/g, '|') : "png|jpe?g|gif";
1114                return this.optional(element) || value.match(new RegExp(".(" + param + ")$", "i"));
1115            },
1116
1117            // http://docs.jquery.com/Plugins/Validation/Methods/equalTo
1118            equalTo: function(value, element, param) {
1119                // bind to the blur event of the target in order to revalidate whenever the target field is updated
1120                // TODO find a way to bind the event just once, avoiding the unbind-rebind overhead
1121                var target = $(param).unbind(".validate-equalTo").bind("blur.validate-equalTo", function() {
1122                    $(element).valid();
1123                });
1124                return value == target.val();
1125            }
1126
1127        }
1128
1129    });
1130
1131// deprecated, use $.validator.format instead
1132    $.format = $.validator.format;
1133
1134})(jQuery);
1135
1136// ajax mode: abort
1137// usage: $.ajax({ mode: "abort"[, port: "uniqueport"]});
1138// if mode:"abort" is used, the previous request on that port (port can be undefined) is aborted via XMLHttpRequest.abort()
1139;(function($) {
1140    var pendingRequests = {};
1141    // Use a prefilter if available (1.5+)
1142    if ( $.ajaxPrefilter ) {
1143        $.ajaxPrefilter(function(settings, _, xhr) {
1144            var port = settings.port;
1145            if (settings.mode == "abort") {
1146                if ( pendingRequests[port] ) {
1147                    pendingRequests[port].abort();
1148                }
1149                pendingRequests[port] = xhr;
1150            }
1151        });
1152    } else {
1153        // Proxy ajax
1154        var ajax = $.ajax;
1155        $.ajax = function(settings) {
1156            var mode = ( "mode" in settings ? settings : $.ajaxSettings ).mode,
1157                port = ( "port" in settings ? settings : $.ajaxSettings ).port;
1158            if (mode == "abort") {
1159                if ( pendingRequests[port] ) {
1160                    pendingRequests[port].abort();
1161                }
1162                return (pendingRequests[port] = ajax.apply(this, arguments));
1163            }
1164            return ajax.apply(this, arguments);
1165        };
1166    }
1167})(jQuery);
1168
1169// provides cross-browser focusin and focusout events
1170// IE has native support, in other browsers, use event caputuring (neither bubbles)
1171
1172// provides delegate(type: String, delegate: Selector, handler: Callback) plugin for easier event delegation
1173// handler is only called when $(event.target).is(delegate), in the scope of the jquery-object for event.target
1174;(function($) {
1175    // only implement if not provided by jQuery core (since 1.4)
1176    // TODO verify if jQuery 1.4's implementation is compatible with older jQuery special-event APIs
1177    if (!jQuery.event.special.focusin && !jQuery.event.special.focusout && document.addEventListener) {
1178        $.each({
1179            focus: 'focusin',
1180            blur: 'focusout'
1181        }, function( original, fix ){
1182            $.event.special[fix] = {
1183                setup:function() {
1184                    this.addEventListener( original, handler, true );
1185                },
1186                teardown:function() {
1187                    this.removeEventListener( original, handler, true );
1188                },
1189                handler: function(e) {
1190                    arguments[0] = $.event.fix(e);
1191                    arguments[0].type = fix;
1192                    return $.event.handle.apply(this, arguments);
1193                }
1194            };
1195            function handler(e) {
1196                e = $.event.fix(e);
1197                e.type = fix;
1198                return $.event.handle.call(this, e);
1199            }
1200        });
1201    };
1202    $.extend($.fn, {
1203        validateDelegate: function(delegate, type, handler) {
1204            return this.bind(type, function(event) {
1205                var target = $(event.target);
1206                if (target.is(delegate)) {
1207                    return handler.apply(target, arguments);
1208                }
1209            });
1210        }
1211    });
1212})(jQuery);
1213
1214!function(i){"use strict";"function"==typeof define&&define.amd?define(["jquery"],i):"undefined"!=typeof exports?module.exports=i(require("jquery")):i(jQuery)}(function(i){"use strict";var e=window.Slick||{};(e=function(){var e=0;return function(t,o){var s,n=this;n.defaults={accessibility:!0,adaptiveHeight:!1,appendArrows:i(t),appendDots:i(t),arrows:!0,asNavFor:null,prevArrow:'<button class="slick-prev" aria-label="Previous" type="button">Previous</button>',nextArrow:'<button class="slick-next" aria-label="Next" type="button">Next</button>',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(e,t){return i('<button type="button" />').text(t+1)},dots:!1,dotsClass:"slick-dots",draggable:!0,easing:"linear",edgeFriction:.35,fade:!1,focusOnSelect:!1,focusOnChange:!1,infinite:!0,initialSlide:0,lazyLoad:"ondemand",mobileFirst:!1,pauseOnHover:!0,pauseOnFocus:!0,pauseOnDotsHover:!1,respondTo:"window",responsive:null,rows:1,rtl:!1,slide:"",slidesPerRow:1,slidesToShow:1,slidesToScroll:1,speed:500,swipe:!0,swipeToSlide:!1,touchMove:!0,touchThreshold:5,useCSS:!0,useTransform:!0,variableWidth:!1,vertical:!1,verticalSwiping:!1,waitForAnimate:!0,zIndex:1e3},n.initials={animating:!1,dragging:!1,autoPlayTimer:null,currentDirection:0,currentLeft:null,currentSlide:0,direction:1,$dots:null,listWidth:null,listHeight:null,loadIndex:0,$nextArrow:null,$prevArrow:null,scrolling:!1,slideCount:null,slideWidth:null,$slideTrack:null,$slides:null,
vendor: 6,594 bytes, line 1214
1214sliding:!1,slideOffset:0,swipeLeft:null,swiping:!1,$list:null,touchObject:{},transformsEnabled:!1,unslicked:!1},i.extend(n,n.initials),n.activeBreakpoint=null,n.animType=null,n.animProp=null,n.breakpoints=[],n.breakpointSettings=[],n.cssTransitions=!1,n.focussed=!1,n.interrupted=!1,n.hidden="hidden",n.paused=!0,n.positionProp=null,n.respondTo=null,n.rowCount=1,n.shouldClick=!0,n.$slider=i(t),n.$slidesCache=null,n.transformType=null,n.transitionType=null,n.visibilityChange="visibilitychange",n.windowWidth=0,n.windowTimer=null,s=i(t).data("slick")||{},n.options=i.extend({},n.defaults,o,s),n.currentSlide=n.options.initialSlide,n.originalSettings=n.options,void 0!==document.mozHidden?(n.hidden="mozHidden",n.visibilityChange="mozvisibilitychange"):void 0!==document.webkitHidden&&(n.hidden="webkitHidden",n.visibilityChange="webkitvisibilitychange"),n.autoPlay=i.proxy(n.autoPlay,n),n.autoPlayClear=i.proxy(n.autoPlayClear,n),n.autoPlayIterator=i.proxy(n.autoPlayIterator,n),n.changeSlide=i.proxy(n.changeSlide,n),n.clickHandler=i.proxy(n.clickHandler,n),n.selectHandler=i.proxy(n.selectHandler,n),n.setPosition=i.proxy(n.setPosition,n),n.swipeHandler=i.proxy(n.swipeHandler,n),n.dragHandler=i.proxy(n.dragHandler,n),n.keyHandler=i.proxy(n.keyHandler,n),n.instanceUid=e++,n.htmlExpr=/^(?:\s*(<[\w\W]+>)[^>]*)$/,n.registerBreakpoints(),n.init(!0)}}()).prototype.activateADA=function(){this.$slideTrack.find(".slick-active").attr({"aria-hidden":"false"}).find("a, input, button, select").attr({tabindex:"0"})},e.prototype.addSlide=e.prototype.slickAdd=function(e,t,o){var s=this;if("boolean"==typeof t)o=t,t=null;else if(t<0||t>=s.slideCount)return!1;s.unload(),"number"==typeof t?0===t&&0===s.$slides.length?i(e).appendTo(s.$slideTrack):o?i(e).insertBefore(s.$slides.eq(t)):i(e).insertAfter(s.$slides.eq(t)):!0===o?i(e).prependTo(s.$slideTrack):i(e).appendTo(s.$slideTrack),s.$slides=s.$slideTrack.children(this.options.slide),s.$slideTrack.children(this.options.slide).detach(),s.$slideTrack.append(s.$slides),s.$slides.each(function(e,t){i(t).attr("data-slick-index",e)}),s.$slidesCache=s.$slides,s.reinit()},e.prototype.animateHeight=function(){var i=this;if(1===i.options.slidesToShow&&!0===i.options.adaptiveHeight&&!1===i.options.vertical){var e=i.$slides.eq(i.currentSlide).outerHeight(!0);i.$list.animate({height:e},i.options.speed)}},e.prototype.animateSlide=function(e,t){var o={},s=this;s.animateHeight(),!0===s.options.rtl&&!1===s.options.vertical&&(e=-e),!1===s.transformsEnabled?!1===s.options.vertical?s.$slideTrack.animate({left:e},s.options.speed,s.options.easing,t):s.$slideTrack.animate({top:e},s.options.speed,s.options.easing,t):!1===s.cssTransitions?(!0===s.options.rtl&&(s.currentLeft=-s.currentLeft),i({animStart:s.currentLeft}).animate({animStart:e},{duration:s.options.speed,easing:s.options.easing,step:function(i){i=Math.ceil(i),!1===s.options.vertical?(o[s.animType]="translate("+i+"px, 0px)",s.$slideTrack.css(o)):(o[s.animType]="translate(0px,"+i+"px)",s.$slideTrack.css(o))},complete:function(){t&&t.call()}})):(s.applyTransition(),e=Math.ceil(e),!1===s.options.vertical?o[s.animType]="translate3d("+e+"px, 0px, 0px)":o[s.animType]="translate3d(0px,"+e+"px, 0px)",s.$slideTrack.css(o),t&&setTimeout(function(){s.disableTransition(),t.call()},s.options.speed))},e.prototype.getNavTarget=function(){var e=this,t=e.options.asNavFor;return t&&null!==t&&(t=i(t).not(e.$slider)),t},e.prototype.asNavFor=function(e){var t=this.getNavTarget();null!==t&&"object"==typeof t&&t.each(function(){var t=i(this).slick("getSlick");t.unslicked||t.slideHandler(e,!0)})},e.prototype.applyTransition=function(i){var e=this,t={};!1===e.options.fade?t[e.transitionType]=e.transformType+" "+e.options.speed+"ms "+e.options.cssEase:t[e.transitionType]="opacity "+e.options.speed+"ms "+e.options.cssEase,!1===e.options.fade?e.$slideTrack.css(t):e.$slides.eq(i).css(t)},e.prototype.autoPlay=function(){var i=this;i.autoPlayClear(),i.slideCount>i.options.slidesToShow&&(i.autoPlayTimer=setInterval(i.autoPlayIterator,i.options.autoplaySpeed))},e.prototype.autoPlayClear=function(){var i=this;i.autoPlayTimer&&clearInterval(i.autoPlayTimer)},e.prototype.autoPlayIterator=function(){var i=this,e=i.currentSlide+i.options.slidesToScroll;i.paused||i.interrupted||i.focussed||(!1===i.options.infinite&&(1===i.direction&&i.currentSlide+1===i.slideCount-1?i.direction=0:0===i.direction&&(e=i.currentSlide-i.options.slidesToScroll,i.currentSlide-1==0&&(i.direction=1))),i.slideHandler(e))},e.prototype.buildArrows=function(){var e=this;!0===e.options.arrows&&(e.$prevArrow=i(e.options.prevArrow).addClass("slick-arrow"),e.$nextArrow=i(e.options.nextArrow).addClass("slick-arrow"),e.slideCount>e.options.slidesToShow?(e.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),e.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),e.htmlExpr.test(e.options.prevArrow)&&e.$prevArrow.prependTo(e.options.appendArrows),e.htmlExpr.test(e.options.nextArrow)&&e.$nextArrow.appendTo(e.options.appendArrows),!0!==e.options.infinite&&e.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true")):e.$prevArrow.add(e.$nextArrow).addClass("slick-hidden").attr({"aria-disabled":"true",tabindex:"-1"}))},e.prototype.buildDots=function(){var e,t,o=this;if(!0===o.options.dots){for(o.$slider.addClass("slick-dotted"),t=i("<ul />").addClass(o.options.dotsClass),e=0;e<=o.getDotCount();e+=1)t.append(i("<li />").append(o.options.customPaging.call(this,o,e)));o.$dots=t.appendTo(o.options.appendDots),o.$dots.find("li").first().addClass("slick-active")}},e.prototype.buildOut=function(){var e=this;e.$slides=e.$slider.children(e.options.slide+":not(.slick-cloned)").addClass("slick-slide"),e.slideCount=e.$slides.length,e.$slides.each(function(e,t){i(t).attr("data-slick-index",e).data("originalStyling",i(t).attr("style")||"")}),e.$slider.addClass("slick-slider"),e.$slideTrack=0===e.slideCount?i('<div class="slick-track"/>').appendTo(e.$slider):e.$slides.wrapAll('<div class="slick-track"/>').parent(),e.$list=e.$slideTrack.wrap('<div class="slick-list"/>').parent(),e.$slideTrack.css("opacity",0),!0!==e.options.centerMode&&!0!==e.options.swipeToSlide||(e.options.slidesToScroll=1),i("img[data-lazy]",e.$slider).not("[src]").addClass("slick-loading"),e.setupInfinite(),e.buildArrows(),e.buildDots(),e.updateDots(),e.setSlideClasses("number"==typeof e.currentSlide?e.currentSlide:0),!0===e.options.draggable&&e.$list.addClass("draggable")},e.prototype.buildRows=function(){var i,e,t,o,s,n,r,l=this;if(o=document.createDocumentFragment(),n=l.$slider.children(),l.o
vendor: 3,442 bytes, line 1214
1214ptions.rows>1){for(r=l.options.slidesPerRow*l.options.rows,s=Math.ceil(n.length/r),i=0;i<s;i++){var d=document.createElement("div");for(e=0;e<l.options.rows;e++){var a=document.createElement("div");for(t=0;t<l.options.slidesPerRow;t++){var c=i*r+(e*l.options.slidesPerRow+t);n.get(c)&&a.appendChild(n.get(c))}d.appendChild(a)}o.appendChild(d)}l.$slider.empty().append(o),l.$slider.children().children().children().css({width:100/l.options.slidesPerRow+"%",display:"inline-block"})}},e.prototype.checkResponsive=function(e,t){var o,s,n,r=this,l=!1,d=r.$slider.width(),a=window.innerWidth||i(window).width();if("window"===r.respondTo?n=a:"slider"===r.respondTo?n=d:"min"===r.respondTo&&(n=Math.min(a,d)),r.options.responsive&&r.options.responsive.length&&null!==r.options.responsive){s=null;for(o in r.breakpoints)r.breakpoints.hasOwnProperty(o)&&(!1===r.originalSettings.mobileFirst?n<r.breakpoints[o]&&(s=r.breakpoints[o]):n>r.breakpoints[o]&&(s=r.breakpoints[o]));null!==s?null!==r.activeBreakpoint?(s!==r.activeBreakpoint||t)&&(r.activeBreakpoint=s,"unslick"===r.breakpointSettings[s]?r.unslick(s):(r.options=i.extend({},r.originalSettings,r.breakpointSettings[s]),!0===e&&(r.currentSlide=r.options.initialSlide),r.refresh(e)),l=s):(r.activeBreakpoint=s,"unslick"===r.breakpointSettings[s]?r.unslick(s):(r.options=i.extend({},r.originalSettings,r.breakpointSettings[s]),!0===e&&(r.currentSlide=r.options.initialSlide),r.refresh(e)),l=s):null!==r.activeBreakpoint&&(r.activeBreakpoint=null,r.options=r.originalSettings,!0===e&&(r.currentSlide=r.options.initialSlide),r.refresh(e),l=s),e||!1===l||r.$slider.trigger("breakpoint",[r,l])}},e.prototype.changeSlide=function(e,t){var o,s,n,r=this,l=i(e.currentTarget);switch(l.is("a")&&e.preventDefault(),l.is("li")||(l=l.closest("li")),n=r.slideCount%r.options.slidesToScroll!=0,o=n?0:(r.slideCount-r.currentSlide)%r.options.slidesToScroll,e.data.message){case"previous":s=0===o?r.options.slidesToScroll:r.options.slidesToShow-o,r.slideCount>r.options.slidesToShow&&r.slideHandler(r.currentSlide-s,!1,t);break;case"next":s=0===o?r.options.slidesToScroll:o,r.slideCount>r.options.slidesToShow&&r.slideHandler(r.currentSlide+s,!1,t);break;case"index":var d=0===e.data.index?0:e.data.index||l.index()*r.options.slidesToScroll;r.slideHandler(r.checkNavigable(d),!1,t),l.children().trigger("focus");break;default:return}},e.prototype.checkNavigable=function(i){var e,t;if(e=this.getNavigableIndexes(),t=0,i>e[e.length-1])i=e[e.length-1];else for(var o in e){if(i<e[o]){i=t;break}t=e[o]}return i},e.prototype.cleanUpEvents=function(){var e=this;e.options.dots&&null!==e.$dots&&(i("li",e.$dots).off("click.slick",e.changeSlide).off("mouseenter.slick",i.proxy(e.interrupt,e,!0)).off("mouseleave.slick",i.proxy(e.interrupt,e,!1)),!0===e.options.accessibility&&e.$dots.off("keydown.slick",e.keyHandler)),e.$slider.off("focus.slick blur.slick"),!0===e.options.arrows&&e.slideCount>e.options.slidesToShow&&(e.$prevArrow&&e.$prevArrow.off("click.slick",e.changeSlide),e.$nextArrow&&e.$nextArrow.off("click.slick",e.changeSlide),!0===e.options.accessibility&&(e.$prevArrow&&e.$prevArrow.off("keydown.slick",e.keyHandler),e.$nextArrow&&e.$nextArrow.off("keydown.slick",e.keyHandler))),e.$list.off("touchstart.slick mousedown.slick",e.swipeHandler),e.$list.off("touchmove.slick mousemove.slick",e.swipeHandler),e.$list.off("touchend.slick mouseup.slick",e.swipeHandler),e.$list.off("touchcancel.slick mouseleave.
1214slick",e.swipeHandler),e.$list.off("click.slick",e.clickHandler),i(document).off(e.visibilityChange,e.visibility),e.cleanUpSlideEvents(),!0===e.options.accessibility&&e.$list.off("keydown.slick",e.keyHandler),!0===e.options.focusOnSelect&&i(e.$slideTrack).children().off("click.slick",e.selectHandler),i(window).off("orientationchange.slick.slick-"+e.instanceUid,e.orientationChange),i(window).off("resize.slick.slick-"+e.instanceUid,e.resize),i("[draggable!=true]",e.$slideTrack).off("dragstart",e.preventDefault),i(window).off("load.slick.slick-"+e.instanceUid,e.setPosition)},e.prototype.cleanUpSlideEvents=function(){var e=this;e.$list.off("mouseenter.slick",i.proxy(e.interrupt,e,!0)),e.$list.off("mouseleave.slick",i.proxy(e.interrupt,e,!1))},e.prototype.cleanUpRows=function(){var i,e=this;e.options.rows>1&&((i=e.$slides.children().children()).removeAttr("style"),e.$slider.empty().append(i))},e.prototype.clickHandler=function(i){!1===this.shouldClick&&(i.stopImmediatePropagation(),i.stopPropagation(),i.preventDefault())},e.prototype.destroy=function(e){var t=this;t.autoPlayClear(),t.touchObject={},t.cleanUpEvents(),i(".slick-cloned",t.$slider).detach(),t.$dots&&t.$dots.remove(),t.$prevArrow&&t.$prevArrow.length&&(t.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),t.htmlExpr.test(t.options.prevArrow)&&t.$prevArrow.remove()),t.$nextArrow&&t.$nextArrow.length&&(t.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),t.htmlExpr.test(t.options.nextArrow)&&t.$nextArrow.remove()),t.$slides&&(t.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function(){i(this).attr("style",i(this).data("originalStyling"))}),t.$slideTrack.children(this.options.slide).detach(),t.$slideTrack.detach(),t.$list.detach(),t.$slider.append(t.$slides)),t.cleanUpRows(),t.$slider.removeClass("slick-slider"),t.$slider.removeClass("slick-initialized"),t.$slider.removeClass("slick-dotted"),t.unslicked=!0,e||t.$slider.trigger("destroy",[t])},e.prototype.disableTransition=function(i){var e=this,t={};t[e.transitionType]="",!1===e.options.fade?e.$slideTrack.css(t):e.$slides.eq(i).css(t)},e.prototype.fadeSlide=function(i,e){var t=this;!1===t.cssTransitions?(t.$slides.eq(i).css({zIndex:t.options.zIndex}),t.$slides.eq(i).animate({opacity:1},t.options.speed,t.options.easing,e)):(t.applyTransition(i),t.$slides.eq(i).css({opacity:1,zIndex:t.options.zIndex}),e&&setTimeout(function(){t.disableTransition(i),e.call()},t.options.speed))},e.prototype.fadeSlideOut=function(i){var e=this;!1===e.cssTransitions?e.$slides.eq(i).animate({opacity:0,zIndex:e.options.zIndex-2},e.options.speed,e.options.easing):(e.applyTransition(i),e.$slides.eq(i).css({opacity:0,zIndex:e.options.zIndex-2}))},e.prototype.filterSlides=e.prototype.slickFilter=function(i){var e=this;null!==i&&(e.$slidesCache=e.$slides,e.unload(),e.$slideTrack.children(this.options.slide).detach(),e.$slidesCache.filter(i).appendTo(e.$slideTrack),e.reinit())},e.prototype.focusHandler=function(){var e=this;e.$slider.off("focus.slick blur.slick").on("focus.slick blur.slick","*",function(t){t.stopImmediatePropagation();var o=i(this);setTimeout(function(){e.options.pauseOnFocus&&(e.focussed=o.is(":focus"),e.autoPlay())},0)})},e.prototype.getCurrent=e.prototype.slickCurrentSlide=function(){return this.currentSlide},e.prototype.getDotCount=function(){var i=this,e=0,t=0,o=0;if(!0===i.options.infinite)if(i.slideCount<=i.options.slidesToShow)++o;else for(;e<i.slideCount;)++o,e=t+i.options.slidesToScroll,t+=i.options.slidesToScroll<=i.options.slidesToShow?i.options.slidesToScroll:i.options.slidesToShow;else if(!0===i.options.centerMode)o=i.slideCount;else if(i.options.asNavFor)for(;e<i.slideCount;)++o,e=t+i.options.slidesToScroll,t+=i.options.slidesToScroll<=i.options.slidesToShow?i.options.slidesToScroll:i.options.slidesToShow;else o=1+Math.ceil((i.slideCount-i.options.slidesToShow)/i.options.slidesToScroll);return o-1},e.prototype.getLeft=function(i){var e,t,o,s,n=this,r=0;return n.slideOffset=0,t=n.$slides.first().outerHeight(!0),!0===n.options.infinite?(n.slideCount>n.options.slidesToShow&&(n.slideOffset=n.slideWidth*n.options.slidesToShow*-1,s=-1,!0===n.options.vertical&&!0===n.options.centerMode&&(2===n.options.slidesToShow?s=-1.5:1===n.options.slidesToShow&&(s=-2)),r=t*n.options.slidesToShow*s),n.slideCount%n.options.slidesToScroll!=0&&i+n.options.slidesToScroll>n.slideCount&&n.slideCount>n.options.slidesToShow&&(i>n.slideCount?(n.slideOffset=(n.options.slidesToShow-(i-n.slideCount))*n.slideWidth*-1,r=(n.options.slidesToShow-(i-n.slideCount))*t*-1):(n.slideOffset=n.slideCount%n.options.slidesToScroll*n.slideWidth*-1,r=n.slideCount%n.options.slidesToScroll*t*-1))):i+n.options.slidesToShow>n.slideCount&&(n.slideOffset=(i+n.options.slidesToShow-n.slideCount)*n.slideWidth,r=(i+n.options.slidesToShow-n.slideCount)*t),n.slideCount<=n.options.slidesToShow&&(n.slideOffset=0,r=0),!0===n.options.centerMode&&n.slideCount<=n.options.slidesToShow?n.slideOffset=n.slideWidth*Math.floor(n.options.slidesToShow)/2-n.slideWidth*n.slideCount/2:!0===n.options.centerMode&&!0===n.options.infinite?n.slideOffset+=n.slideWidth*Math.floor(n.options.slidesToShow/2)-n.slideWidth:!0===n.options.centerMode&&(n.slideOffset=0,n.slideOffset+=n.slideWidth*Math.floor(n.options.slidesToShow/2)),e=!1===n.options.vertical?i*n.slideWidth*-1+n.slideOffset:i*t*-1+r,!0===n.options.variableWidth&&(o=n.slideCount<=n.options.slidesToShow||!1===n.options.infinite?n.$slideTrack.children(".slick-slide").eq(i):n.$slideTrack.children(".slick-slide").eq(i+n.options.slidesToShow),e=!0===n.options.rtl?o[0]?-1*(n.$slideTrack.width()-o[0].offsetLeft-o.width()):0:o[0]?-1*o[0].offsetLeft:0,!0===n.options.centerMode&&(o=n.slideCount<=n.options.slidesToShow||!1===n.options.infinite?n.$slideTrack.children(".slick-slide").eq(i):n.$slideTrack.children(".slick-slide").eq(i+n.options.slidesToShow+1),e=!0===n.options.rtl?o[0]?-1*(n.$slideTrack.width()-o[0].offsetLeft-o.width()):0:o[0]?-1*o[0].offsetLeft:0,e+=(n.$list.width()-o.outerWidth())/2)),e},e.prototype.getOption=e.prototype.slickGetOption=function(i){return this.options[i]},e.prototype.getNavigableIndexes=function(){var i,e=this,t=0,o=0,s=[];for(!1===e.options.infinite?i=e.slideCount:(t=-1*e.options.slidesToScroll,o=-1*e.options.slidesToScroll,i=2*e.slideCount);t<i;)s.push(t),t=o+e.options.slidesToScroll,o+=e.options.slidesToScroll<=e.options.slidesToShow?e.options.slidesToScroll:e.options.slidesToShow;return s},e.prototype.getSlick=function(){return this},e.prototype.getSlideCount=function(){var e,t,o=this;return t=!0===o.options.centerMode?o.slideWidth*Math.floor(o.options.slidesToShow/2):0,!0===o.options.swipeToSlide?(o.$slideTrack.find(".slick-slide").each(function(s,n){if(n.offsetLeft-t+i(n).outerWidth()/2>-1*o.swipeLeft)return e=n,!1}),Math.abs(i(e).attr("data-slick-index")-o.currentSlide)||1):o.options.slidesToScroll},e.prototype.goTo=e.prototype.slickGoTo=function(i,e){this.changeSlide({data:{message:"index",index:
1214parseInt(i)}},e)},e.prototype.init=function(e){var t=this;i(t.$slider).hasClass("slick-initialized")||(i(t.$slider).addClass("slick-initialized"),t.buildRows(),t.buildOut(),t.setProps(),t.startLoad(),t.loadSlider(),t.initializeEvents(),t.updateArrows(),t.updateDots(),t.checkResponsive(!0),t.focusHandler()),e&&t.$slider.trigger("init",[t]),!0===t.options.accessibility&&t.initADA(),t.options.autoplay&&(t.paused=!1,t.autoPlay())},e.prototype.initADA=function(){var e=this,t=Math.ceil(e.slideCount/e.options.slidesToShow),o=e.getNavigableIndexes().filter(function(i){return i>=0&&i<e.slideCount});e.$slides.add(e.$slideTrack.find(".slick-cloned")).attr({"aria-hidden":"true",tabindex:"-1"}).find("a, input, button, select").attr({tabindex:"-1"}),null!==e.$dots&&(e.$slides.not(e.$slideTrack.find(".slick-cloned")).each(function(t){var s=o.indexOf(t);i(this).attr({role:"tabpanel",id:"slick-slide"+e.instanceUid+t,tabindex:-1}),-1!==s&&i(this).attr({"aria-describedby":"slick-slide-control"+e.instanceUid+s})}),e.$dots.attr("role","tablist").find("li").each(function(s){var n=o[s];i(this).attr({role:"presentation"}),i(this).find("button").first().attr({role:"tab",id:"slick-slide-control"+e.instanceUid+s,"aria-controls":"slick-slide"+e.instanceUid+n,"aria-label":s+1+" of "+t,"aria-selected":null,tabindex:"-1"})}).eq(e.currentSlide).find("button").attr({"aria-selected":"true",tabindex:"0"}).end());for(var s=e.currentSlide,n=s+e.options.slidesToShow;s<n;s++)e.$slides.eq(s).attr("tabindex",0);e.activateADA()},e.prototype.initArrowEvents=function(){var i=this;!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.off("click.slick").on("click.slick",{message:"previous"},i.changeSlide),i.$nextArrow.off("click.slick").on("click.slick",{message:"next"},i.changeSlide),!0===i.options.accessibility&&(i.$prevArrow.on("keydown.slick",i.keyHandler),i.$nextArrow.on("keydown.slick",i.keyHandler)))},e.prototype.initDotEvents=function(){var e=this;!0===e.options.dots&&(i("li",e.$dots).on("click.slick",{message:"index"},e.changeSlide),!0===e.options.accessibility&&e.$dots.on("keydown.slick",e.keyHandler)),!0===e.options.dots&&!0===e.options.pauseOnDotsHover&&i("li",e.$dots).on("mouseenter.slick",i.proxy(e.interrupt,e,!0)).on("mouseleave.slick",i.proxy(e.interrupt,e,!1))},e.prototype.initSlideEvents=function(){var e=this;e.options.pauseOnHover&&(e.$list.on("mouseenter.slick",i.proxy(e.interrupt,e,!0)),e.$list.on("mouseleave.slick",i.proxy(e.interrupt,e,!1)))},e.prototype.initializeEvents=function(){var e=this;e.initArrowEvents(),e.initDotEvents(),e.initSlideEvents(),e.$list.on("touchstart.slick mousedown.slick",{action:"start"},e.swipeHandler),e.$list.on("touchmove.slick mousemove.slick",{action:"move"},e.swipeHandler),e.$list.on("touchend.slick mouseup.slick",{action:"end"}
1214,e.swipeHandler),e.$list.on("touchcancel.slick mouseleave.slick",{action:"end"},e.swipeHandler),e.$list.on("click.slick",e.clickHandler),i(document).on(e.visibilityChange,i.proxy(e.visibility,e)),!0===e.options.accessibility&&e.$list.on("keydown.slick",e.keyHandler),!0===e.options.focusOnSelect&&i(e.$slideTrack).children().on("click.slick",e.selectHandler),i(window).on("orientationchange.slick.slick-"+e.instanceUid,i.proxy(e.orientationChange,e)),i(window).on("resize.slick.slick-"+e.instanceUid,i.proxy(e.resize,e)),i("[draggable!=true]",e.$slideTrack).on("dragstart",e.preventDefault),i(window).on("load.slick.slick-"+e.instanceUid,e.setPosition),i(e.setPosition)},e.prototype.initUI=function(){var i=this;!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.show(),i.$nextArrow.show()),!0===i.options.dots&&i.slideCount>i.options.slidesToShow&&i.$dots.show()},e.prototype.keyHandler=function(i){var e=this;i.target.tagName.match("TEXTAREA|INPUT|SELECT")||(37===i.keyCode&&!0===e.options.accessibility?e.changeSlide({data:{message:!0===e.options.rtl?"next":"previous"}}):39===i.keyCode&&!0===e.options.accessibility&&e.changeSlide({data:{message:!0===e.options.rtl?"previous":"next"}}))},e.prototype.lazyLoad=function(){function e(e){i("img[data-lazy]",e).each(function(){var e=i(this),t=i(this).attr("data-lazy"),o=i(this).attr("data-srcset"),s=i(this).attr("data-sizes")||n.$slider.attr("data-sizes"),r=document.createElement("img");r.onload=function(){e.animate({opacity:0}
vendor: 5,619 bytes, line 1214
1214,100,function(){o&&(e.attr("srcset",o),s&&e.attr("sizes",s)),e.attr("src",t).animate({opacity:1},200,function(){e.removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading")}),n.$slider.trigger("lazyLoaded",[n,e,t])})},r.onerror=function(){e.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),n.$slider.trigger("lazyLoadError",[n,e,t])},r.src=t})}var t,o,s,n=this;if(!0===n.options.centerMode?!0===n.options.infinite?s=(o=n.currentSlide+(n.options.slidesToShow/2+1))+n.options.slidesToShow+2:(o=Math.max(0,n.currentSlide-(n.options.slidesToShow/2+1)),s=n.options.slidesToShow/2+1+2+n.currentSlide):(o=n.options.infinite?n.options.slidesToShow+n.currentSlide:n.currentSlide,s=Math.ceil(o+n.options.slidesToShow),!0===n.options.fade&&(o>0&&o--,s<=n.slideCount&&s++)),t=n.$slider.find(".slick-slide").slice(o,s),"anticipated"===n.options.lazyLoad)for(var r=o-1,l=s,d=n.$slider.find(".slick-slide"),a=0;a<n.options.slidesToScroll;a++)r<0&&(r=n.slideCount-1),t=(t=t.add(d.eq(r))).add(d.eq(l)),r--,l++;e(t),n.slideCount<=n.options.slidesToShow?e(n.$slider.find(".slick-slide")):n.currentSlide>=n.slideCount-n.options.slidesToShow?e(n.$slider.find(".slick-cloned").slice(0,n.options.slidesToShow)):0===n.currentSlide&&e(n.$slider.find(".slick-cloned").slice(-1*n.options.slidesToShow))},e.prototype.loadSlider=function(){var i=this;i.setPosition(),i.$slideTrack.css({opacity:1}),i.$slider.removeClass("slick-loading"),i.initUI(),"progressive"===i.options.lazyLoad&&i.progressiveLazyLoad()},e.prototype.next=e.prototype.slickNext=function(){this.changeSlide({data:{message:"next"}})},e.prototype.orientationChange=function(){var i=this;i.checkResponsive(),i.setPosition()},e.prototype.pause=e.prototype.slickPause=function(){var i=this;i.autoPlayClear(),i.paused=!0},e.prototype.play=e.prototype.slickPlay=function(){var i=this;i.autoPlay(),i.options.autoplay=!0,i.paused=!1,i.focussed=!1,i.interrupted=!1},e.prototype.postSlide=function(e){var t=this;t.unslicked||(t.$slider.trigger("afterChange",[t,e]),t.animating=!1,t.slideCount>t.options.slidesToShow&&t.setPosition(),t.swipeLeft=null,t.options.autoplay&&t.autoPlay(),!0===t.options.accessibility&&(t.initADA(),t.options.focusOnChange&&i(t.$slides.get(t.currentSlide)).attr("tabindex",0).focus()))},e.prototype.prev=e.prototype.slickPrev=function(){this.changeSlide({data:{message:"previous"}})},e.prototype.preventDefault=function(i){i.preventDefault()},e.prototype.progressiveLazyLoad=function(e){e=e||1;var t,o,s,n,r,l=this,d=i("img[data-lazy]",l.$slider);d.length?(t=d.first(),o=t.attr("data-lazy"),s=t.attr("data-srcset"),n=t.attr("data-sizes")||l.$slider.attr("data-sizes"),(r=document.createElement("img")).onload=function(){s&&(t.attr("srcset",s),n&&t.attr("sizes",n)),t.attr("src",o).removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading"),!0===l.options.adaptiveHeight&&l.setPosition(),l.$slider.trigger("lazyLoaded",[l,t,o]),l.progressiveLazyLoad()},r.onerror=function(){e<3?setTimeout(function(){l.progressiveLazyLoad(e+1)},500):(t.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),l.$slider.trigger("lazyLoadError",[l,t,o]),l.progressiveLazyLoad())},r.src=o):l.$slider.trigger("allImagesLoaded",[l])},e.prototype.refresh=function(e){var t,o,s=this;o=s.slideCount-s.options.slidesToShow,!s.options.infinite&&s.currentSlide>o&&(s.currentSlide=o),s.slideCount<=s.options.slidesToShow&&(s.currentSlide=0),t=s.currentSlide,s.destroy(!0),i.extend(s,s.initials,{currentSlide:t}),s.init(),e||s.changeSlide({data:{message:"index",index:t}},!1)},e.prototype.registerBreakpoints=function(){var e,t,o,s=this,n=s.options.responsive||null;if("array"===i.type(n)&&n.length){s.respondTo=s.options.respondTo||"window";for(e in n)if(o=s.breakpoints.length-1,n.hasOwnProperty(e)){for(t=n[e].breakpoint;o>=0;)s.breakpoints[o]&&s.breakpoints[o]===t&&s.breakpoints.splice(o,1),o--;s.breakpoints.push(t),s.breakpointSettings[t]=n[e].settings}s.breakpoints.sort(function(i,e){return s.options.mobileFirst?i-e:e-i})}},e.prototype.reinit=function(){var e=this;e.$slides=e.$slideTrack.children(e.options.slide).addClass("slick-slide"),e.slideCount=e.$slides.length,e.currentSlide>=e.slideCount&&0!==e.currentSlide&&(e.currentSlide=e.currentSlide-e.options.slidesToScroll),e.slideCount<=e.options.slidesToShow&&(e.currentSlide=0),e.registerBreakpoints(),e.setProps(),e.setupInfinite(),e.buildArrows(),e.updateArrows(),e.initArrowEvents(),e.buildDots(),e.updateDots(),e.initDotEvents(),e.cleanUpSlideEvents(),e.initSlideEvents(),e.checkResponsive(!1,!0),!0===e.options.focusOnSelect&&i(e.$slideTrack).children().on("click.slick",e.selectHandler),e.setSlideClasses("number"==typeof e.currentSlide?e.currentSlide:0),e.setPosition(),e.focusHandler(),e.paused=!e.options.autoplay,e.autoPlay(),e.$slider.trigger("reInit",[e])},e.prototype.resize=function(){var e=this;i(window).width()!==e.windowWidth&&(clearTimeout(e.windowDelay),e.windowDelay=window.setTimeout(function(){e.windowWidth=i(window).width(),e.checkResponsive(),e.unslicked||e.setPosition()},50))},e.prototype.removeSlide=e.prototype.slickRemove=function(i,e,t){var o=this;if(i="boolean"==typeof i?!0===(e=i)?0:o.slideCount-1:!0===e?--i:i,o.slideCount<1||i<0||i>o.slideCount-1)return!1;o.unload(),!0===t?o.$slideTrack.children().remove():o.$slideTrack.children(this.options.slide).eq(i).remove(),o.$slides=o.$slideTrack.children(this.options.slide),o.$slideTrack.children(this.options.slide).detach(),o.$slideTrack.append(o.$slides),o.$slidesCache=o.$slides,o.reinit()},e.prototype.setCSS=function(i){var e,t,o=this,s={};
1214!0===o.options.rtl&&(i=-i),e="left"==o.positionProp?Math.ceil(i)+"px":"0px",t="top"==o.positionProp?Math.ceil(i)+"px":"0px",s[o.positionProp]=i,!1===o.transformsEnabled?o.$slideTrack.css(s):(s={},!1===o.cssTransitions?(s[o.animType]="translate("+e+", "+t+")",o.$slideTrack.css(s)):(s[o.animType]="translate3d("+e+", "+t+", 0px)",o.$slideTrack.css(s)))},e.prototype.setDimensions=function(){var i=this;!1===i.options.vertical?!0===i.options.centerMode&&i.$list.css({padding:"0px "+i.options.centerPadding}):(i.$list.height(i.$slides.first().outerHeight(!0)*i.options.slidesToShow),!0===i.options.centerMode&&i.$list.css({padding:i.options.centerPadding+" 0px"})),i.listWidth=i.$list.width(),i.listHeight=i.$list.height(),!1===i.options.vertical&&!1===i.options.variableWidth?(i.slideWidth=Math.ceil(i.listWidth/i.options.slidesToShow),i.$slideTrack.width(Math.ceil(i.slideWidth*i.$slideTrack.children(".slick-slide").length))):!0===i.options.variableWidth?i.$slideTrack.width(5e3*i.slideCount):(i.slideWidth=Math.ceil(i.listWidth),i.$slideTrack.height(Math.ceil(i.$slides.first().outerHeight(!0)*i.$slideTrack.children(".slick-slide").length)));var e=i.$slides.first().outerWidth(!0)-i.$slides.first().width();!1===i.options.variableWidth&&i.$slideTrack.children(".slick-slide").width(i.slideWidth-e)},e.prototype.setFade=function(){var e,t=this;t.$slides.each(function(o,s){e=t.slideWidth*o*-1,!0===t.options.rtl?i(s).css({position:"relative",right:e,top:0,zIndex:t.options.zIndex-2,opacity:0}
1214):i(s).css({position:"relative",left:e,top:0,zIndex:t.options.zIndex-2,opacity:0})}),t.$slides.eq(t.currentSlide).css({zIndex:t.options.zIndex-1,opacity:1})},e.prototype.setHeight=function(){var i=this;if(1===i.options.slidesToShow&&!0===i.options.adaptiveHeight&&!1===i.options.vertical){var e=i.$slides.eq(i.currentSlide).outerHeight(!0);i.$list.css("height",e)}},e.prototype.setOption=e.prototype.slickSetOption=function(){var e,t,o,s,n,r=this,l=!1;if("object"===i.type(arguments[0])?(o=arguments[0],l=arguments[1],n="multiple"):"string"===i.type(arguments[0])&&(o=arguments[0],s=arguments[1],l=arguments[2],"responsive"===arguments[0]&&"array"===i.type(arguments[1])?n="responsive":void 0!==arguments[1]&&(n="single")),"single"===n)r.options[o]=s;else if("multiple"===n)i.each(o,function(i,e){r.options[i]=e});else if("responsive"===n)for(t in s)if("array"!==i.type(r.options.responsive))r.options.responsive=[s[t]];else{for(e=r.options.responsive.length-1;e>=0;)r.options.responsive[e].breakpoint===s[t].breakpoint&&r.options.responsive.splice(e,1),e--;r.options.responsive.push(s[t])}l&&(r.unload(),r.reinit())},e.prototype.setPosition=function(){var i=this;i.setDimensions(),i.setHeight(),!1===i.options.fade?i.setCSS(i.getLeft(i.currentSlide)):i.setFade(),i.$slider.trigger("setPosition",[i])},e.prototype.setProps=function(){var i=this,e=document.body.style;i.positionProp=!0===i.options.vertical?"top":"left","top"===i.positionProp?i.$slider.addClass("slick-vertical"):i.$slider.removeClass("slick-vertical"),void 0===e.WebkitTransition&&void 0===e.MozTransition&&void 0===e.msTransition||!0===i.options.useCSS&&(i.cssTransitions=!0),i.options.fade&&("number"==typeof i.options.zIndex?i.options.zIndex<3&&(i.options.zIndex=3):i.options.zIndex=i.defaults.zIndex),void 0!==e.OTransform&&(i.animType="OTransform",i.transformType="-o-transform",i.transitionType="OTransition",void 0===e.perspectiveProperty&&void 0===e.webkitPerspective&&(i.animType=!1)),void 0!==e.MozTransform&&(i.animType="MozTransform",i.transformType="-moz-transform",i.transitionType="MozTransition",void 0===e.perspectiveProperty&&void 0===e.MozPerspective&&(i.animType=!1)),void 0!==e.webkitTransform&&(i.animType="webkitTransform",i.transformType="-webkit-transform",i.transitionType="webkitTransition",void 0===e.perspectiveProperty&&void 0===e.webkitPerspective&&(i.animType=!1)),void 0!==e.msTransform&&(i.animType="msTransform",i.transformType="-ms-transform",i.transitionType="msTransition",void 0===e.msTransform&&(i.animType=!1)),void 0!==e.transform&&!1!==i.animType&&(i.animType="transform",i.transformType="transform",i.transitionType="transition"),i.transformsEnabled=i.options.useTransform&&null!==i.animType&&!1!==i.animType},e.prototype.setSlideClasses=function(i){var e,t,o,s,n=this;if(t=n.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden","true"),n.$slides.eq(i).addClass("slick-current"),!0===n.options.centerMode){var r=n.options.slidesToShow%2==0?1:0;e=Math.floor(n.options.slidesToShow/2),!0===n.options.infinite&&(i>=e&&i<=n.slideCount-1-e?n.$slides.slice(i-e+r,i+e+1).addClass("slick-active").attr("aria-hidden","false"):(o=n.options.slidesToShow+i,t.slice(o-e+1+r,o+e+2).addClass("slick-active").attr("aria-hidden","false")),0===i?t.eq(t.length-1-n.options.slidesToShow).addClass("slick-center"):i===n.slideCount-1&&t.eq(n.options.slidesToShow).addClass("slick-center")),n.$slides.eq(i).addClass("slick-center")}else i>=0&&i<=n.slideCount-n.options.slidesToShow?n.$slides.slice(i,i+n.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false"):t.length<=n.options.slidesToShow?t.addClass("slick-active").attr("aria-hidden","false"):(s=n.slideCount%n.options.slidesToShow,o=!0===n.options.infinite?n.options.slidesToShow+i:i,n.options.slidesToShow==n.options.slidesToScroll&&n.slideCount-i<n.options.slidesToShow?t.slice(o-(n.options.slidesToShow-s),o+s).addClass("slick-active").attr("aria-hidden","false"):t.slice(o,o+n.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false"));"ondemand"!==n.options.lazyLoad&&"anticipated"!==n.options.lazyLoad||n.lazyLoad()},e.prototype.setupInfinite=function(){var e,t,o,s=this;if(!0===s.options.fade&&(s.options.centerMode=!1),!0===s.options.infinite&&!1===s.options.fade&&(t=null,s.slideCount>s.options.slidesToShow)){for(o=!0===s.options.centerMode?s.options.slidesToShow+1:s.options.slidesToShow,e=s.slideCount;e>s.slideCount-o;e-=1)t=e-1,i(s.$slides[t]).clone(!0).attr("id","").attr("data-slick-index",t-s.slideCount).prependTo(s.$slideTrack).addClass("slick-cloned");for(e=0;e<o+s.slideCount;e+=1)t=e,i(s.$slides[t]).clone(!0).attr("id","").attr("data-slick-index",t+s.slideCount).appendTo(s.$slideTrack).addClass("slick-cloned");s.$slideTrack.find(".slick-cloned").find("[id]").each(function(){i(this).attr("id","")})}},e.prototype.interrupt=function(i){var e=this;i||e.autoPlay(),e.interrupted=i},e.prototype.selectHandler=function(e){var t=this,o=i(e.target).is(".slick-slide")?i(e.target):i(e.target).parents(".slick-slide"),s=parseInt(o.attr("data-slick-index"));s||(s=0),t.slideCount<=t.options.slidesToShow?t.slideHandler(s,!1,!0):t.slideHandler(s)},e.prototype.slideHandler=function(i,e,t){var o,s,n,r,l,d=null,a=this;if(e=e||!1,!(!0===a.animating&&!0===a.options.waitForAnimate||!0===a.options.fade&&a.currentSlide===i))if(!1===e&&a.asNavFor(i),o=i,d=a.getLeft(o),r=a.getLeft(a.currentSlide),a.currentLeft=null===a.swipeLeft?r:a.swipeLeft,!1===a.options.infinite&&!1===a.options.centerMode&&(i<0||i>a.getDotCount()*a.options.slidesToScroll))!1===a.options.fade&&(o=a.currentSlide,!0!==t?a.animateSlide(r,function(){a.postSlide(o)}):a.postSlide(o));else if(!1===a.options.infinite&&!0===a.options.centerMode&&(i<0||i>a.slideCount-a.options.slidesToScroll))!1===a.options.fade&&(o=a.currentSlide,!0!==t?a.animateSlide(r,function(){a.postSlide(o)}):a.postSlide(o));else{if(a.options.autoplay&&clearInterval(a.autoPlayTimer),s=o<0?a.slideCount%a.options.slidesToScroll!=0?a.slideCount-a.slideCount%a.options.slidesToScroll:a.slideCount+
1214o:o>=a.slideCount?a.slideCount%a.options.slidesToScroll!=0?0:o-a.slideCount:o,a.animating=!0,a.$slider.trigger("beforeChange",[a,a.currentSlide,s]),n=a.currentSlide,a.currentSlide=s,a.setSlideClasses(a.currentSlide),a.options.asNavFor&&(l=(l=a.getNavTarget()).slick("getSlick")).slideCount<=l.options.slidesToShow&&l.setSlideClasses(a.currentSlide),a.updateDots(),a.updateArrows(),!0===a.options.fade)return!0!==t?(a.fadeSlideOut(n),a.fadeSlide(s,function(){a.postSlide(s)})):a.postSlide(s),void a.animateHeight();!0!==t?a.animateSlide(d,function(){a.postSlide(s)}):a.postSlide(s)}},e.prototype.startLoad=function(){var i=this;!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.hide(),i.$nextArrow.hide()),!0===i.options.dots&&i.slideCount>i.options.slidesToShow&&i.$dots.hide(),i.$slider.addClass("slick-loading")},e.prototype.swipeDirection=function(){var i,e,t,o,s=this;return i=s.touchObject.startX-s.touchObject.curX,e=s.touchObject.startY-s.touchObject.curY,t=Math.atan2(e,i),(o=Math.round(180*t/Math.PI))<0&&(o=360-Math.abs(o)),o<=45&&o>=0?!1===s.options.rtl?"left":"right":o<=360&&o>=315?!1===s.options.rtl?"left":"right":o>=135&&o<=225?!1===s.options.rtl?"right":"left":!0===s.options.verticalSwiping?o>=35&&o<=135?"down":"up":"vertical"},e.prototype.swipeEnd=function(i){var e,t,o=this;if(o.dragging=!1,o.swiping=!1,o.scrolling)return o.scrolling=!1,!1;if(o.interrupted=!1,o.shouldClick=!(o.touchObject.swipeLength>10),void 0===o.touchObject.curX)return!1;if(!0===o.touchObject.edgeHit&&o.$slider.trigger("edge",[o,o.swipeDirection()]),o.touchObject.swipeLength>=o.touchObject.minSwipe){switch(t=o.swipeDirection()){case"left":case"down":e=o.options.swipeToSlide?o.checkNavigable(o.currentSlide+o.getSlideCount()):o.currentSlide+o.getSlideCount(),o.currentDirection=0;break;case"right":case"up":e=o.options.swipeToSlide?o.checkNavigable(o.currentSlide-o.getSlideCount()):o.currentSlide-o.getSlideCount(),o.currentDirection=1}"vertical"!=t&&(o.slideHandler(e),o.touchObject={},o.$slider.trigger("swipe",[o,t]))}else o.touchObject.startX!==o.touchObject.curX&&(o.slideHandler(o.currentSlide),o.touchObject={})},e.prototype.swipeHandler=function(i){var e=this;if(!(!1===e.options.swipe||"ontouchend"in document&&!1===e.options.swipe||!1===e.options.draggable&&-1!==i.type.indexOf("mouse")))switch(e.touchObject.fingerCount=i.originalEvent&&void 0!==i.originalEvent.touches?i.originalEvent.touches.length:1,e.touchObject.minSwipe=e.listWidth/e.options.touchThreshold,!0===e.options.verticalSwiping&&(e.touchObject.minSwipe=e.listHeight/e.options.touchThreshold),i.data.action){case"start":e.swipeStart(i);break;case"move":e.swipeMove(i);break;case"end":e.swipeEnd(i)}},e.prototype.swipeMove=function(i){var e,t,o,s,n,r,l=this;return n=void 0!==i.originalEvent?i.originalEvent.touches:null,!(!l.dragging||l.scrolling||n&&1!==n.length)&&(e=l.getLeft(l.currentSlide),l.touchObject.curX=void 0!==n?n[0].pageX:i.clientX,l.touchObject.curY=void 0!==n?n[0].pageY:i.clientY,l.touchObject.swipeLength=Math.round(Math.sqrt(Math.pow(l.touchObject.curX-l.touchObject.startX,2))),r=Math.round(Math.sqrt(Math.pow(l.touchObject.curY-l.touchObject.startY,2))),!l.options.verticalSwiping&&!l.swiping&&r>4?(l.scrolling=!0,!1):(!0===l.options.verticalSwiping&&(l.touchObject.swipeLength=r),t=l.swipeDirection(),void 0!==i.originalEvent&&l.touchObject.swipeLength>4&&(l.swiping=!0,i.preventDefault()),s=(!1===l.options.rtl?1:-1)*(l.touchObject.curX>l.touchObject.startX?1:-1),!0===l.options.verticalSwiping&&(s=l.touchObject.curY>l.touchObject.startY?1:-1),o=l.touchObject.swipeLength,l.touchObject.edgeHit=!1,!1===l.options.infinite&&(0===l.currentSlide&&"right"===t||l.currentSlide>=l.getDotCount()&&"left"===t)&&(o=l.touchObject.swipeLength*l.options.edgeFriction,l.touchObject.edgeHit=!0),!1===l.options.vertical?l.swipeLeft=e+o*s:l.swipeLeft=e+o*(l.$list.height()/l.listWidth)*s,!0===l.options.verticalSwiping&&(l.swipeLeft=e+o*s),!0!==l.options.fade&&!1!==l.options.touchMove&&(!0===l.animating?(l.swipeLeft=null,!1):void l.setCSS(l.swipeLeft))))},e.prototype.swipeStart=function(i){var e,t=this;if(t.interrupted=!0,1!==t.touchObject.fingerCount||t.slideCount<=t.options.slidesToShow)return t.touchObject={},!1;void 0!==i.originalEvent&&void 0!==i.originalEvent.touches&&(e=i.originalEvent.touches[0]),t.touchObject.startX=t.touchObject.curX=void 0!==e?e.pageX:i.clientX,t.touchObject.startY=t.touchObject.curY=void 0!==e?e.pageY:i.clientY,t.dragging=!0},e.prototype.unfilterSlides=e.prototype.slickUnfilter=function(){var i=this;null!==i.$slidesCache&&(i.unload(),i.$slideTrack.children(this.options.slide).detach(),i.$slidesCache.appendTo(i.$slideTrack),i.reinit())},e.prototype.unload=function(){var e=this;i(".slick-cloned",e.$slider).remove(),e.$dots&&e.$dots.remove(),e.$prevArrow&&e.htmlExpr.test(e.options.prevArrow)&&e.$prevArrow.remove(),e.$nextArrow&&e.htmlExpr.test(e.options.nextArrow)&&e.$nextArrow.remove(),e.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden","true").css("width","")}
1214,e.prototype.unslick=function(i){var e=this;e.$slider.trigger("unslick",[e,i]),e.destroy()},e.prototype.updateArrows=function(){var i=this;Math.floor(i.options.slidesToShow/2),!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&!i.options.infinite&&(i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false"),i.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false"),0===i.currentSlide?(i.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true"),i.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false")):i.currentSlide>=i.slideCount-i.options.slidesToShow&&!1===i.options.centerMode?(i.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")):i.currentSlide>=i.slideCount-1&&!0===i.options.centerMode&&(i.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")))},e.prototype.updateDots=function(){var i=this;null!==i.$dots&&(i.$dots.find("li").removeClass("slick-active").end(),i.$dots.find("li").eq(Math.floor(i.currentSlide/i.options.slidesToScroll)).addClass("slick-active"))},e.prototype.visibility=function(){var i=this;i.options.autoplay&&(document[i.hidden]?i.interrupted=!0:i.interrupted=!1)},i.fn.slick=function(){var i,t,o=this,s=arguments[0],n=Array.prototype.slice.call(arguments,1),r=o.length;for(i=0;i<r;i++)if("object"==typeof s||void 0===s?o[i].slick=new e(o[i],s):t=o[i].slick[s].apply(o[i].slick,n),void 0!==t)return t;return o}});
1215
1216const swiffyslider={version:"1.6.0",init(e=document.body){e.querySelectorAll(".swiffy-slider").forEach((e=>this.initSlider(e)))},initSlider(e){if(e.querySelectorAll(".slider-nav").forEach((t=>t.addEventListener("click",(()=>this.slide(e,t.classList.contains("slider-nav-next"))),{passive:!0}))),e.querySelectorAll(".slider-indicators").forEach((t=>{t.addEventListener("click",(()=>this.slideToByIndicator())),this.onSlideEnd(e,(()=>this.handleIndicators(e)),60)})),e.classList.contains("slider-nav-autoplay")){const t=e.getAttribute("data-slider-nav-autoplay-interval")?e.getAttribute("data-slider-nav-autoplay-interval"):2500;this.autoPlay(e,t,e.classList.contains("slider-nav-autopause"))}if(["slider-nav-autohide","slider-nav-animation"].some((t=>e.classList.contains(t)))){const t=e.getAttribute("data-slider-nav-animation-threshold")?e.getAttribute("data-slider-nav-animation-threshold"):.3;this.setVisibleSlides(e,t)}},setVisibleSlides(e,t=.3){let i=new IntersectionObserver((t=>{t.forEach((e=>{e.isIntersecting?e.target.classList.add("slide-visible"):e.target.classList.remove("slide-visible")})),e.querySelector(".slider-container>*:first-child").classList.contains("slide-visible")?e.classList.add("slider-item-first-visible"):e.classList.remove("slider-item-first-visible"),e.querySelector(".slider-container>*:last-child").classList.contains("slide-visible")?e.classList.add("slider-item-last-visible"):e.classList.remove("slider-item-last-visible")}),{root:e.querySelector(".slider-container"),threshold:t});e.querySelectorAll(".slider-container>*").forEach((e=>i.observe(e)))},slide(e,t=!0){const i=e.querySelector(".slider-container"),s=e.classList.contains("slider-nav-page"),l=e.classList.contains("slider-nav-noloop"),r=e.classList.contains("slider-nav-nodelay"),a=i.children,o=parseInt(window.getComputedStyle(i).columnGap),n=a[0].offsetWidth+o;let d=t?i.scrollLeft+n:i.scrollLeft-n;s&&(d=t?i.scrollLeft+i.offsetWidth:i.scrollLeft-i.offsetWidth),i.scrollLeft<1&&!t&&!l&&(d=i.scrollWidth-i.offsetWidth),Math.ceil(i.scrollLeft)>=i.scrollWidth-i.offsetWidth&&t&&!l&&(d=0),i.scroll({left:d,behavior:r?"auto":"smooth"})},slideToByIndicator(){const e=window.event.target,t=Array.from(e.parentElement.children).indexOf(e),i=e.parentElement.children.length,s=e.closest(".swiffy-slider"),l=s.querySelector(".slider-container").children.length/i*t;this.slideTo(s,l)},slideTo(e,t){const i=e.querySelector(".slider-container"),s=parseInt(window.getComputedStyle(i).columnGap),l=i.children[0].offsetWidth+s,r=e.classList.contains("slider-nav-nodelay");i.scroll({left:l*t,behavior:r?"auto":"smooth"})},onSlideEnd(e,t,i=125){let s;e.querySelector(".slider-container").addEventListener("scroll",(()=>{window.clearTimeout(s),s=setTimeout(t,i)}),{capture:!1,passive:!0})},autoPlay(e,t,i){t=t<750?750:t;let s=setInterval((()=>this.slide(e)),t);const autoplayer=()=>this.autoPlay(e,t,i);return i&&(["mouseover","touchstart"].forEach((t=>{e.addEventListener(t,(()=>{window.clearTimeout(s)}),{once:!0,passive:!0})}
1216)),["mouseout","touchend"].forEach((t=>{e.addEventListener(t,(()=>{autoplayer()}),{once:!0,passive:!0})}))),s},handleIndicators(e){if(!e)return;const t=e.querySelector(".slider-container"),i=t.scrollWidth-t.offsetWidth,s=t.scrollLeft/i;e.querySelectorAll(".slider-indicators").forEach((e=>{let t=e.children,i=Math.abs(Math.round((t.length-1)*s));for(let e of t)e.classList.remove("active");t[i].classList.add("active")}))}};window.swiffyslider=swiffyslider,document.currentScript.hasAttribute("data-noinit")||(document.currentScript.hasAttribute("defer")?swiffyslider.init():document.onreadystatechange=()=>{"interactive"===document.readyState&&swiffyslider.init()});

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.