/* Minification failed. Returning unminified contents.
(1898,82471-82478): run-time error JS1019: Can't have 'break' outside of loop: break a
(1898,73270-73277): run-time error JS1019: Can't have 'break' outside of loop: break a
 */
"use strict";function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly)symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable;});keys.push.apply(keys,symbols);}return keys;}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(Object(source),true).forEach(function(key){_defineProperty(target,key,source[key]);});}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source));}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}}return target;}function _classCallCheck2(instance,Constructor){if(!_instanceof(instance,Constructor)){throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass2(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor;}function _possibleConstructorReturn2(self,call){if(call&&(_typeof2(call)==="object"||typeof call==="function")){return call;}return _assertThisInitialized(self);}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _inherits2(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}function _instanceof(left,right){if(right!=null&&typeof Symbol!=="undefined"&&right[Symbol.hasInstance]){return!!right[Symbol.hasInstance](left);}else{return left instanceof right;}}function _typeof2(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof2=function _typeof2(obj){return typeof obj;};}else{_typeof2=function _typeof2(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};}return _typeof2(obj);}var _typeof=typeof Symbol==="function"&&_typeof2(Symbol.iterator)==="symbol"?function(obj){return _typeof2(obj);}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":_typeof2(obj);};/*!
 * jQuery JavaScript Library v3.2.1
 * https://jquery.com/
 *
 * Includes Sizzle.js
 * https://sizzlejs.com/
 *
 * Copyright JS Foundation and other contributors
 * Released under the MIT license
 * https://jquery.org/license
 *
 * Date: 2017-03-20T18:59Z
 */(function(global,factory){"use strict";if((typeof module==="undefined"?"undefined":_typeof(module))==="object"&&_typeof(module.exports)==="object"){// For CommonJS and CommonJS-like environments where a proper `window`
// is present, execute the factory and get jQuery.
// For environments that do not have a `window` with a `document`
// (such as Node.js), expose a factory as module.exports.
// This accentuates the need for the creation of a real `window`.
// e.g. var jQuery = require("jquery")(window);
// See ticket #14549 for more info.
module.exports=global.document?factory(global,true):function(w){if(!w.document){throw new Error("jQuery requires a window with a document");}return factory(w);};}else{factory(global);}// Pass this if window is not defined yet
})(typeof window!=="undefined"?window:undefined,function(window,noGlobal){// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1
// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode
// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common
// enough that all such attempts are guarded in a try block.
"use strict";var arr=[];var document=window.document;var getProto=Object.getPrototypeOf;var _slice=arr.slice;var concat=arr.concat;var push=arr.push;var indexOf=arr.indexOf;var class2type={};var toString=class2type.toString;var hasOwn=class2type.hasOwnProperty;var fnToString=hasOwn.toString;var ObjectFunctionString=fnToString.call(Object);var support={};function DOMEval(code,doc){doc=doc||document;var script=doc.createElement("script");script.text=code;doc.head.appendChild(script).parentNode.removeChild(script);}/* global Symbol */ // Defining this global in .eslintrc.json would create a danger of using the global
// unguarded in another place, it seems safer to define global only for this module
var version="3.2.1",// Define a local copy of jQuery
jQuery=function jQuery(selector,context){// The jQuery object is actually just the init constructor 'enhanced'
// Need init if jQuery is called (just allow error to be thrown if not included)
return new jQuery.fn.init(selector,context);},// Support: Android <=4.0 only
// Make sure we trim BOM and NBSP
rtrim=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,// Matches dashed string for camelizing
rmsPrefix=/^-ms-/,rdashAlpha=/-([a-z])/g,// Used by jQuery.camelCase as callback to replace()
fcamelCase=function fcamelCase(all,letter){return letter.toUpperCase();};jQuery.fn=jQuery.prototype={// The current version of jQuery being used
jquery:version,constructor:jQuery,// The default length of a jQuery object is 0
length:0,toArray:function toArray(){return _slice.call(this);},// Get the Nth element in the matched element set OR
// Get the whole matched element set as a clean array
get:function get(num){// Return all the elements in a clean array
if(num==null){return _slice.call(this);}// Return just the one element from the set
return num<0?this[num+this.length]:this[num];},// Take an array of elements and push it onto the stack
// (returning the new matched element set)
pushStack:function pushStack(elems){// Build a new jQuery matched element set
var ret=jQuery.merge(this.constructor(),elems);// Add the old object onto the stack (as a reference)
ret.prevObject=this;// Return the newly-formed element set
return ret;},// Execute a callback for every element in the matched set.
each:function each(callback){return jQuery.each(this,callback);},map:function map(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},slice:function slice(){return this.pushStack(_slice.apply(this,arguments));},first:function first(){return this.eq(0);},last:function last(){return this.eq(-1);},eq:function eq(i){var len=this.length,j=+i+(i<0?len:0);return this.pushStack(j>=0&&j<len?[this[j]]:[]);},end:function end(){return this.prevObject||this.constructor();},// For internal use only.
// Behaves like an Array's method, not like a jQuery method.
push:push,sort:arr.sort,splice:arr.splice};jQuery.extend=jQuery.fn.extend=function(){var options,name,src,copy,copyIsArray,clone,target=arguments[0]||{},i=1,length=arguments.length,deep=false;// Handle a deep copy situation
if(typeof target==="boolean"){deep=target;// Skip the boolean and the target
target=arguments[i]||{};i++;}// Handle case when target is a string or something (possible in deep copy)
if((typeof target==="undefined"?"undefined":_typeof(target))!=="object"&&!jQuery.isFunction(target)){target={};}// Extend jQuery itself if only one argument is passed
if(i===length){target=this;i--;}for(;i<length;i++){// Only deal with non-null/undefined values
if((options=arguments[i])!=null){// Extend the base object
for(name in options){src=target[name];copy=options[name];// Prevent never-ending loop
if(target===copy){continue;}// Recurse if we're merging plain objects or arrays
if(deep&&copy&&(jQuery.isPlainObject(copy)||(copyIsArray=Array.isArray(copy)))){if(copyIsArray){copyIsArray=false;clone=src&&Array.isArray(src)?src:[];}else{clone=src&&jQuery.isPlainObject(src)?src:{};}// Never move original objects, clone them
target[name]=jQuery.extend(deep,clone,copy);// Don't bring in undefined values
}else if(copy!==undefined){target[name]=copy;}}}}// Return the modified object
return target;};jQuery.extend({// Unique for each copy of jQuery on the page
expando:"jQuery"+(version+Math.random()).replace(/\D/g,""),// Assume jQuery is ready without the ready module
isReady:true,error:function error(msg){throw new Error(msg);},noop:function noop(){},isFunction:function isFunction(obj){return jQuery.type(obj)==="function";},isWindow:function isWindow(obj){return obj!=null&&obj===obj.window;},isNumeric:function isNumeric(obj){// As of jQuery 3.0, isNumeric is limited to
// strings and numbers (primitives or objects)
// that can be coerced to finite numbers (gh-2662)
var type=jQuery.type(obj);return(type==="number"||type==="string")&&// parseFloat NaNs numeric-cast false positives ("")
// ...but misinterprets leading-number strings, particularly hex literals ("0x...")
// subtraction forces infinities to NaN
!isNaN(obj-parseFloat(obj));},isPlainObject:function isPlainObject(obj){var proto,Ctor;// Detect obvious negatives
// Use toString instead of jQuery.type to catch host objects
if(!obj||toString.call(obj)!=="[object Object]"){return false;}proto=getProto(obj);// Objects with no prototype (e.g., `Object.create( null )`) are plain
if(!proto){return true;}// Objects with prototype are plain iff they were constructed by a global Object function
Ctor=hasOwn.call(proto,"constructor")&&proto.constructor;return typeof Ctor==="function"&&fnToString.call(Ctor)===ObjectFunctionString;},isEmptyObject:function isEmptyObject(obj){/* eslint-disable no-unused-vars */ // See https://github.com/eslint/eslint/issues/6125
var name;for(name in obj){return false;}return true;},type:function type(obj){if(obj==null){return obj+"";}// Support: Android <=2.3 only (functionish RegExp)
return(typeof obj==="undefined"?"undefined":_typeof(obj))==="object"||typeof obj==="function"?class2type[toString.call(obj)]||"object":typeof obj==="undefined"?"undefined":_typeof(obj);},// Evaluates a script in a global context
globalEval:function globalEval(code){DOMEval(code);},// Convert dashed to camelCase; used by the css and data modules
// Support: IE <=9 - 11, Edge 12 - 13
// Microsoft forgot to hump their vendor prefix (#9572)
camelCase:function camelCase(string){return string.replace(rmsPrefix,"ms-").replace(rdashAlpha,fcamelCase);},each:function each(obj,callback){var length,i=0;if(isArrayLike(obj)){length=obj.length;for(;i<length;i++){if(callback.call(obj[i],i,obj[i])===false){break;}}}else{for(i in obj){if(callback.call(obj[i],i,obj[i])===false){break;}}}return obj;},// Support: Android <=4.0 only
trim:function trim(text){return text==null?"":(text+"").replace(rtrim,"");},// results is for internal usage only
makeArray:function makeArray(arr,results){var ret=results||[];if(arr!=null){if(isArrayLike(Object(arr))){jQuery.merge(ret,typeof arr==="string"?[arr]:arr);}else{push.call(ret,arr);}}return ret;},inArray:function inArray(elem,arr,i){return arr==null?-1:indexOf.call(arr,elem,i);},// Support: Android <=4.0 only, PhantomJS 1 only
// push.apply(_, arraylike) throws on ancient WebKit
merge:function merge(first,second){var len=+second.length,j=0,i=first.length;for(;j<len;j++){first[i++]=second[j];}first.length=i;return first;},grep:function grep(elems,callback,invert){var callbackInverse,matches=[],i=0,length=elems.length,callbackExpect=!invert;// Go through the array, only saving the items
// that pass the validator function
for(;i<length;i++){callbackInverse=!callback(elems[i],i);if(callbackInverse!==callbackExpect){matches.push(elems[i]);}}return matches;},// arg is for internal usage only
map:function map(elems,callback,arg){var length,value,i=0,ret=[];// Go through the array, translating each of the items to their new values
if(isArrayLike(elems)){length=elems.length;for(;i<length;i++){value=callback(elems[i],i,arg);if(value!=null){ret.push(value);}}// Go through every key on the object,
}else{for(i in elems){value=callback(elems[i],i,arg);if(value!=null){ret.push(value);}}}// Flatten any nested arrays
return concat.apply([],ret);},// A global GUID counter for objects
guid:1,// Bind a function to a context, optionally partially applying any
// arguments.
proxy:function proxy(fn,context){var tmp,args,proxy;if(typeof context==="string"){tmp=fn[context];context=fn;fn=tmp;}// Quick check to determine if target is callable, in the spec
// this throws a TypeError, but we will just return undefined.
if(!jQuery.isFunction(fn)){return undefined;}// Simulated bind
args=_slice.call(arguments,2);proxy=function proxy(){return fn.apply(context||this,args.concat(_slice.call(arguments)));};// Set the guid of unique handler to the same of original handler, so it can be removed
proxy.guid=fn.guid=fn.guid||jQuery.guid++;return proxy;},now:Date.now,// jQuery.support is not used in Core but other projects attach their
// properties to it so it needs to exist.
support:support});if(typeof Symbol==="function"){jQuery.fn[Symbol.iterator]=arr[Symbol.iterator];}// Populate the class2type map
jQuery.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(i,name){class2type["[object "+name+"]"]=name.toLowerCase();});function isArrayLike(obj){// Support: real iOS 8.2 only (not reproducible in simulator)
// `in` check used to prevent JIT error (gh-2145)
// hasOwn isn't used here due to false negatives
// regarding Nodelist length in IE
var length=!!obj&&"length"in obj&&obj.length,type=jQuery.type(obj);if(type==="function"||jQuery.isWindow(obj)){return false;}return type==="array"||length===0||typeof length==="number"&&length>0&&length-1 in obj;}var Sizzle=/*!
  * Sizzle CSS Selector Engine v2.3.3
  * https://sizzlejs.com/
  *
  * Copyright jQuery Foundation and other contributors
  * Released under the MIT license
  * http://jquery.org/license
  *
  * Date: 2016-08-08
  */function(window){var i,support,Expr,getText,isXML,tokenize,compile,select,outermostContext,sortInput,hasDuplicate,// Local document vars
setDocument,document,docElem,documentIsHTML,rbuggyQSA,rbuggyMatches,matches,contains,// Instance-specific data
expando="sizzle"+1*new Date(),preferredDoc=window.document,dirruns=0,done=0,classCache=createCache(),tokenCache=createCache(),compilerCache=createCache(),sortOrder=function sortOrder(a,b){if(a===b){hasDuplicate=true;}return 0;},// Instance methods
hasOwn={}.hasOwnProperty,arr=[],pop=arr.pop,push_native=arr.push,push=arr.push,slice=arr.slice,// Use a stripped-down indexOf as it's faster than native
// https://jsperf.com/thor-indexof-vs-for/5
indexOf=function indexOf(list,elem){var i=0,len=list.length;for(;i<len;i++){if(list[i]===elem){return i;}}return-1;},booleans="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",// Regular expressions
// http://www.w3.org/TR/css3-selectors/#whitespace
whitespace="[\\x20\\t\\r\\n\\f]",// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
identifier="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
attributes="\\["+whitespace+"*("+identifier+")(?:"+whitespace+// Operator (capture 2)
"*([*^$|!~]?=)"+whitespace+// "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+identifier+"))|)"+whitespace+"*\\]",pseudos=":("+identifier+")(?:\\(("+// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
// 1. quoted (capture 3; capture 4 or capture 5)
"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|"+// 2. simple (capture 6)
"((?:\\\\.|[^\\\\()[\\]]|"+attributes+")*)|"+// 3. anything else (capture 2)
".*"+")\\)|)",// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
rwhitespace=new RegExp(whitespace+"+","g"),rtrim=new RegExp("^"+whitespace+"+|((?:^|[^\\\\])(?:\\\\.)*)"+whitespace+"+$","g"),rcomma=new RegExp("^"+whitespace+"*,"+whitespace+"*"),rcombinators=new RegExp("^"+whitespace+"*([>+~]|"+whitespace+")"+whitespace+"*"),rattributeQuotes=new RegExp("="+whitespace+"*([^\\]'\"]*?)"+whitespace+"*\\]","g"),rpseudo=new RegExp(pseudos),ridentifier=new RegExp("^"+identifier+"$"),matchExpr={"ID":new RegExp("^#("+identifier+")"),"CLASS":new RegExp("^\\.("+identifier+")"),"TAG":new RegExp("^("+identifier+"|[*])"),"ATTR":new RegExp("^"+attributes),"PSEUDO":new RegExp("^"+pseudos),"CHILD":new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+whitespace+"*(even|odd|(([+-]|)(\\d*)n|)"+whitespace+"*(?:([+-]|)"+whitespace+"*(\\d+)|))"+whitespace+"*\\)|)","i"),"bool":new RegExp("^(?:"+booleans+")$","i"),// For use in libraries implementing .is()
// We use this for POS matching in `select`
"needsContext":new RegExp("^"+whitespace+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+whitespace+"*((?:-\\d)?\\d*)"+whitespace+"*\\)|)(?=[^-]|$)","i")},rinputs=/^(?:input|select|textarea|button)$/i,rheader=/^h\d$/i,rnative=/^[^{]+\{\s*\[native \w/,// Easily-parseable/retrievable ID or TAG or CLASS selectors
rquickExpr=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,rsibling=/[+~]/,// CSS escapes
// http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
runescape=new RegExp("\\\\([\\da-f]{1,6}"+whitespace+"?|("+whitespace+")|.)","ig"),funescape=function funescape(_,escaped,escapedWhitespace){var high="0x"+escaped-0x10000;// NaN means non-codepoint
// Support: Firefox<24
// Workaround erroneous numeric interpretation of +"0x"
return high!==high||escapedWhitespace?escaped:high<0?// BMP codepoint
String.fromCharCode(high+0x10000):// Supplemental Plane codepoint (surrogate pair)
String.fromCharCode(high>>10|0xD800,high&0x3FF|0xDC00);},// CSS string/identifier serialization
// https://drafts.csswg.org/cssom/#common-serializing-idioms
rcssescape=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,fcssescape=function fcssescape(ch,asCodePoint){if(asCodePoint){// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
if(ch==="\0"){return"\uFFFD";}// Control characters and (dependent upon position) numbers get escaped as code points
return ch.slice(0,-1)+"\\"+ch.charCodeAt(ch.length-1).toString(16)+" ";}// Other potentially-special ASCII characters get backslash-escaped
return"\\"+ch;},// Used for iframes
// See setDocument()
// Removing the function wrapper causes a "Permission Denied"
// error in IE
unloadHandler=function unloadHandler(){setDocument();},disabledAncestor=addCombinator(function(elem){return elem.disabled===true&&("form"in elem||"label"in elem);},{dir:"parentNode",next:"legend"});// Optimize for push.apply( _, NodeList )
try{push.apply(arr=slice.call(preferredDoc.childNodes),preferredDoc.childNodes);// Support: Android<4.0
// Detect silently failing push.apply
arr[preferredDoc.childNodes.length].nodeType;}catch(e){push={apply:arr.length?// Leverage slice if possible
function(target,els){push_native.apply(target,slice.call(els));}:// Support: IE<9
// Otherwise append directly
function(target,els){var j=target.length,i=0;// Can't trust NodeList.length
while(target[j++]=els[i++]){}target.length=j-1;}};}function Sizzle(selector,context,results,seed){var m,i,elem,nid,match,groups,newSelector,newContext=context&&context.ownerDocument,// nodeType defaults to 9, since context defaults to document
nodeType=context?context.nodeType:9;results=results||[];// Return early from calls with invalid selector or context
if(typeof selector!=="string"||!selector||nodeType!==1&&nodeType!==9&&nodeType!==11){return results;}// Try to shortcut find operations (as opposed to filters) in HTML documents
if(!seed){if((context?context.ownerDocument||context:preferredDoc)!==document){setDocument(context);}context=context||document;if(documentIsHTML){// If the selector is sufficiently simple, try using a "get*By*" DOM method
// (excepting DocumentFragment context, where the methods don't exist)
if(nodeType!==11&&(match=rquickExpr.exec(selector))){// ID selector
if(m=match[1]){// Document context
if(nodeType===9){if(elem=context.getElementById(m)){// Support: IE, Opera, Webkit
// TODO: identify versions
// getElementById can match elements by name instead of ID
if(elem.id===m){results.push(elem);return results;}}else{return results;}// Element context
}else{// Support: IE, Opera, Webkit
// TODO: identify versions
// getElementById can match elements by name instead of ID
if(newContext&&(elem=newContext.getElementById(m))&&contains(context,elem)&&elem.id===m){results.push(elem);return results;}}// Type selector
}else if(match[2]){push.apply(results,context.getElementsByTagName(selector));return results;// Class selector
}else if((m=match[3])&&support.getElementsByClassName&&context.getElementsByClassName){push.apply(results,context.getElementsByClassName(m));return results;}}// Take advantage of querySelectorAll
if(support.qsa&&!compilerCache[selector+" "]&&(!rbuggyQSA||!rbuggyQSA.test(selector))){if(nodeType!==1){newContext=context;newSelector=selector;// qSA looks outside Element context, which is not what we want
// Thanks to Andrew Dupont for this workaround technique
// Support: IE <=8
// Exclude object elements
}else if(context.nodeName.toLowerCase()!=="object"){// Capture the context ID, setting it first if necessary
if(nid=context.getAttribute("id")){nid=nid.replace(rcssescape,fcssescape);}else{context.setAttribute("id",nid=expando);}// Prefix every selector in the list
groups=tokenize(selector);i=groups.length;while(i--){groups[i]="#"+nid+" "+toSelector(groups[i]);}newSelector=groups.join(",");// Expand context for sibling selectors
newContext=rsibling.test(selector)&&testContext(context.parentNode)||context;}if(newSelector){try{push.apply(results,newContext.querySelectorAll(newSelector));return results;}catch(qsaError){}finally{if(nid===expando){context.removeAttribute("id");}}}}}}// All others
return select(selector.replace(rtrim,"$1"),context,results,seed);}/**
   * Create key-value caches of limited size
   * @returns {function(string, object)} Returns the Object data after storing it on itself with
   *	property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
   *	deleting the oldest entry
   */function createCache(){var keys=[];function cache(key,value){// Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
if(keys.push(key+" ")>Expr.cacheLength){// Only keep the most recent entries
delete cache[keys.shift()];}return cache[key+" "]=value;}return cache;}/**
   * Mark a function for special use by Sizzle
   * @param {Function} fn The function to mark
   */function markFunction(fn){fn[expando]=true;return fn;}/**
   * Support testing using an element
   * @param {Function} fn Passed the created element and returns a boolean result
   */function assert(fn){var el=document.createElement("fieldset");try{return!!fn(el);}catch(e){return false;}finally{// Remove from its parent by default
if(el.parentNode){el.parentNode.removeChild(el);}// release memory in IE
el=null;}}/**
   * Adds the same handler for all of the specified attrs
   * @param {String} attrs Pipe-separated list of attributes
   * @param {Function} handler The method that will be applied
   */function addHandle(attrs,handler){var arr=attrs.split("|"),i=arr.length;while(i--){Expr.attrHandle[arr[i]]=handler;}}/**
   * Checks document order of two siblings
   * @param {Element} a
   * @param {Element} b
   * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
   */function siblingCheck(a,b){var cur=b&&a,diff=cur&&a.nodeType===1&&b.nodeType===1&&a.sourceIndex-b.sourceIndex;// Use IE sourceIndex if available on both nodes
if(diff){return diff;}// Check if b follows a
if(cur){while(cur=cur.nextSibling){if(cur===b){return-1;}}}return a?1:-1;}/**
   * Returns a function to use in pseudos for input types
   * @param {String} type
   */function createInputPseudo(type){return function(elem){var name=elem.nodeName.toLowerCase();return name==="input"&&elem.type===type;};}/**
   * Returns a function to use in pseudos for buttons
   * @param {String} type
   */function createButtonPseudo(type){return function(elem){var name=elem.nodeName.toLowerCase();return(name==="input"||name==="button")&&elem.type===type;};}/**
   * Returns a function to use in pseudos for :enabled/:disabled
   * @param {Boolean} disabled true for :disabled; false for :enabled
   */function createDisabledPseudo(disabled){// Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable
return function(elem){// Only certain elements can match :enabled or :disabled
// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled
// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled
if("form"in elem){// Check for inherited disabledness on relevant non-disabled elements:
// * listed form-associated elements in a disabled fieldset
//   https://html.spec.whatwg.org/multipage/forms.html#category-listed
//   https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled
// * option elements in a disabled optgroup
//   https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled
// All such elements have a "form" property.
if(elem.parentNode&&elem.disabled===false){// Option elements defer to a parent optgroup if present
if("label"in elem){if("label"in elem.parentNode){return elem.parentNode.disabled===disabled;}else{return elem.disabled===disabled;}}// Support: IE 6 - 11
// Use the isDisabled shortcut property to check for disabled fieldset ancestors
return elem.isDisabled===disabled||// Where there is no isDisabled, check manually
/* jshint -W018 */elem.isDisabled!==!disabled&&disabledAncestor(elem)===disabled;}return elem.disabled===disabled;// Try to winnow out elements that can't be disabled before trusting the disabled property.
// Some victims get caught in our net (label, legend, menu, track), but it shouldn't
// even exist on them, let alone have a boolean value.
}else if("label"in elem){return elem.disabled===disabled;}// Remaining elements are neither :enabled nor :disabled
return false;};}/**
   * Returns a function to use in pseudos for positionals
   * @param {Function} fn
   */function createPositionalPseudo(fn){return markFunction(function(argument){argument=+argument;return markFunction(function(seed,matches){var j,matchIndexes=fn([],seed.length,argument),i=matchIndexes.length;// Match elements found at the specified indexes
while(i--){if(seed[j=matchIndexes[i]]){seed[j]=!(matches[j]=seed[j]);}}});});}/**
   * Checks a node for validity as a Sizzle context
   * @param {Element|Object=} context
   * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
   */function testContext(context){return context&&typeof context.getElementsByTagName!=="undefined"&&context;}// Expose support vars for convenience
support=Sizzle.support={};/**
   * Detects XML nodes
   * @param {Element|Object} elem An element or a document
   * @returns {Boolean} True iff elem is a non-HTML XML node
   */isXML=Sizzle.isXML=function(elem){// documentElement is verified for cases where it doesn't yet exist
// (such as loading iframes in IE - #4833)
var documentElement=elem&&(elem.ownerDocument||elem).documentElement;return documentElement?documentElement.nodeName!=="HTML":false;};/**
   * Sets document-related variables once based on the current document
   * @param {Element|Object} [doc] An element or document object to use to set the document
   * @returns {Object} Returns the current document
   */setDocument=Sizzle.setDocument=function(node){var hasCompare,subWindow,doc=node?node.ownerDocument||node:preferredDoc;// Return early if doc is invalid or already selected
if(doc===document||doc.nodeType!==9||!doc.documentElement){return document;}// Update global variables
document=doc;docElem=document.documentElement;documentIsHTML=!isXML(document);// Support: IE 9-11, Edge
// Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
if(preferredDoc!==document&&(subWindow=document.defaultView)&&subWindow.top!==subWindow){// Support: IE 11, Edge
if(subWindow.addEventListener){subWindow.addEventListener("unload",unloadHandler,false);// Support: IE 9 - 10 only
}else if(subWindow.attachEvent){subWindow.attachEvent("onunload",unloadHandler);}}/* Attributes
   ---------------------------------------------------------------------- */ // Support: IE<8
// Verify that getAttribute really returns attributes and not properties
// (excepting IE8 booleans)
support.attributes=assert(function(el){el.className="i";return!el.getAttribute("className");});/* getElement(s)By*
   ---------------------------------------------------------------------- */ // Check if getElementsByTagName("*") returns only elements
support.getElementsByTagName=assert(function(el){el.appendChild(document.createComment(""));return!el.getElementsByTagName("*").length;});// Support: IE<9
support.getElementsByClassName=rnative.test(document.getElementsByClassName);// Support: IE<10
// Check if getElementById returns elements by name
// The broken getElementById methods don't pick up programmatically-set names,
// so use a roundabout getElementsByName test
support.getById=assert(function(el){docElem.appendChild(el).id=expando;return!document.getElementsByName||!document.getElementsByName(expando).length;});// ID filter and find
if(support.getById){Expr.filter["ID"]=function(id){var attrId=id.replace(runescape,funescape);return function(elem){return elem.getAttribute("id")===attrId;};};Expr.find["ID"]=function(id,context){if(typeof context.getElementById!=="undefined"&&documentIsHTML){var elem=context.getElementById(id);return elem?[elem]:[];}};}else{Expr.filter["ID"]=function(id){var attrId=id.replace(runescape,funescape);return function(elem){var node=typeof elem.getAttributeNode!=="undefined"&&elem.getAttributeNode("id");return node&&node.value===attrId;};};// Support: IE 6 - 7 only
// getElementById is not reliable as a find shortcut
Expr.find["ID"]=function(id,context){if(typeof context.getElementById!=="undefined"&&documentIsHTML){var node,i,elems,elem=context.getElementById(id);if(elem){// Verify the id attribute
node=elem.getAttributeNode("id");if(node&&node.value===id){return[elem];}// Fall back on getElementsByName
elems=context.getElementsByName(id);i=0;while(elem=elems[i++]){node=elem.getAttributeNode("id");if(node&&node.value===id){return[elem];}}}return[];}};}// Tag
Expr.find["TAG"]=support.getElementsByTagName?function(tag,context){if(typeof context.getElementsByTagName!=="undefined"){return context.getElementsByTagName(tag);// DocumentFragment nodes don't have gEBTN
}else if(support.qsa){return context.querySelectorAll(tag);}}:function(tag,context){var elem,tmp=[],i=0,// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
results=context.getElementsByTagName(tag);// Filter out possible comments
if(tag==="*"){while(elem=results[i++]){if(elem.nodeType===1){tmp.push(elem);}}return tmp;}return results;};// Class
Expr.find["CLASS"]=support.getElementsByClassName&&function(className,context){if(typeof context.getElementsByClassName!=="undefined"&&documentIsHTML){return context.getElementsByClassName(className);}};/* QSA/matchesSelector
   ---------------------------------------------------------------------- */ // QSA and matchesSelector support
// matchesSelector(:active) reports false when true (IE9/Opera 11.5)
rbuggyMatches=[];// qSa(:focus) reports false when true (Chrome 21)
// We allow this because of a bug in IE8/9 that throws an error
// whenever `document.activeElement` is accessed on an iframe
// So, we allow :focus to pass through QSA all the time to avoid the IE error
// See https://bugs.jquery.com/ticket/13378
rbuggyQSA=[];if(support.qsa=rnative.test(document.querySelectorAll)){// Build QSA regex
// Regex strategy adopted from Diego Perini
assert(function(el){// Select is set to empty string on purpose
// This is to test IE's treatment of not explicitly
// setting a boolean content attribute,
// since its presence should be enough
// https://bugs.jquery.com/ticket/12359
docElem.appendChild(el).innerHTML="<a id='"+expando+"'></a>"+"<select id='"+expando+"-\r\\' msallowcapture=''>"+"<option selected=''></option></select>";// Support: IE8, Opera 11-12.16
// Nothing should be selected when empty strings follow ^= or $= or *=
// The test attribute must be unknown in Opera but "safe" for WinRT
// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
if(el.querySelectorAll("[msallowcapture^='']").length){rbuggyQSA.push("[*^$]="+whitespace+"*(?:''|\"\")");}// Support: IE8
// Boolean attributes and "value" are not treated correctly
if(!el.querySelectorAll("[selected]").length){rbuggyQSA.push("\\["+whitespace+"*(?:value|"+booleans+")");}// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
if(!el.querySelectorAll("[id~="+expando+"-]").length){rbuggyQSA.push("~=");}// Webkit/Opera - :checked should return selected option elements
// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
// IE8 throws error here and will not see later tests
if(!el.querySelectorAll(":checked").length){rbuggyQSA.push(":checked");}// Support: Safari 8+, iOS 8+
// https://bugs.webkit.org/show_bug.cgi?id=136851
// In-page `selector#id sibling-combinator selector` fails
if(!el.querySelectorAll("a#"+expando+"+*").length){rbuggyQSA.push(".#.+[+~]");}});assert(function(el){el.innerHTML="<a href='' disabled='disabled'></a>"+"<select disabled='disabled'><option/></select>";// Support: Windows 8 Native Apps
// The type and name attributes are restricted during .innerHTML assignment
var input=document.createElement("input");input.setAttribute("type","hidden");el.appendChild(input).setAttribute("name","D");// Support: IE8
// Enforce case-sensitivity of name attribute
if(el.querySelectorAll("[name=d]").length){rbuggyQSA.push("name"+whitespace+"*[*^$|!~]?=");}// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
// IE8 throws error here and will not see later tests
if(el.querySelectorAll(":enabled").length!==2){rbuggyQSA.push(":enabled",":disabled");}// Support: IE9-11+
// IE's :disabled selector does not pick up the children of disabled fieldsets
docElem.appendChild(el).disabled=true;if(el.querySelectorAll(":disabled").length!==2){rbuggyQSA.push(":enabled",":disabled");}// Opera 10-11 does not throw on post-comma invalid pseudos
el.querySelectorAll("*,:x");rbuggyQSA.push(",.*:");});}if(support.matchesSelector=rnative.test(matches=docElem.matches||docElem.webkitMatchesSelector||docElem.mozMatchesSelector||docElem.oMatchesSelector||docElem.msMatchesSelector)){assert(function(el){// Check to see if it's possible to do matchesSelector
// on a disconnected node (IE 9)
support.disconnectedMatch=matches.call(el,"*");// This should fail with an exception
// Gecko does not error, returns false instead
matches.call(el,"[s!='']:x");rbuggyMatches.push("!=",pseudos);});}rbuggyQSA=rbuggyQSA.length&&new RegExp(rbuggyQSA.join("|"));rbuggyMatches=rbuggyMatches.length&&new RegExp(rbuggyMatches.join("|"));/* Contains
   ---------------------------------------------------------------------- */hasCompare=rnative.test(docElem.compareDocumentPosition);// Element contains another
// Purposefully self-exclusive
// As in, an element does not contain itself
contains=hasCompare||rnative.test(docElem.contains)?function(a,b){var adown=a.nodeType===9?a.documentElement:a,bup=b&&b.parentNode;return a===bup||!!(bup&&bup.nodeType===1&&(adown.contains?adown.contains(bup):a.compareDocumentPosition&&a.compareDocumentPosition(bup)&16));}:function(a,b){if(b){while(b=b.parentNode){if(b===a){return true;}}}return false;};/* Sorting
   ---------------------------------------------------------------------- */ // Document order sorting
sortOrder=hasCompare?function(a,b){// Flag for duplicate removal
if(a===b){hasDuplicate=true;return 0;}// Sort on method existence if only one input has compareDocumentPosition
var compare=!a.compareDocumentPosition-!b.compareDocumentPosition;if(compare){return compare;}// Calculate position if both inputs belong to the same document
compare=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):// Otherwise we know they are disconnected
1;// Disconnected nodes
if(compare&1||!support.sortDetached&&b.compareDocumentPosition(a)===compare){// Choose the first element that is related to our preferred document
if(a===document||a.ownerDocument===preferredDoc&&contains(preferredDoc,a)){return-1;}if(b===document||b.ownerDocument===preferredDoc&&contains(preferredDoc,b)){return 1;}// Maintain original order
return sortInput?indexOf(sortInput,a)-indexOf(sortInput,b):0;}return compare&4?-1:1;}:function(a,b){// Exit early if the nodes are identical
if(a===b){hasDuplicate=true;return 0;}var cur,i=0,aup=a.parentNode,bup=b.parentNode,ap=[a],bp=[b];// Parentless nodes are either documents or disconnected
if(!aup||!bup){return a===document?-1:b===document?1:aup?-1:bup?1:sortInput?indexOf(sortInput,a)-indexOf(sortInput,b):0;// If the nodes are siblings, we can do a quick check
}else if(aup===bup){return siblingCheck(a,b);}// Otherwise we need full lists of their ancestors for comparison
cur=a;while(cur=cur.parentNode){ap.unshift(cur);}cur=b;while(cur=cur.parentNode){bp.unshift(cur);}// Walk down the tree looking for a discrepancy
while(ap[i]===bp[i]){i++;}return i?// Do a sibling check if the nodes have a common ancestor
siblingCheck(ap[i],bp[i]):// Otherwise nodes in our document sort first
ap[i]===preferredDoc?-1:bp[i]===preferredDoc?1:0;};return document;};Sizzle.matches=function(expr,elements){return Sizzle(expr,null,null,elements);};Sizzle.matchesSelector=function(elem,expr){// Set document vars if needed
if((elem.ownerDocument||elem)!==document){setDocument(elem);}// Make sure that attribute selectors are quoted
expr=expr.replace(rattributeQuotes,"='$1']");if(support.matchesSelector&&documentIsHTML&&!compilerCache[expr+" "]&&(!rbuggyMatches||!rbuggyMatches.test(expr))&&(!rbuggyQSA||!rbuggyQSA.test(expr))){try{var ret=matches.call(elem,expr);// IE 9's matchesSelector returns false on disconnected nodes
if(ret||support.disconnectedMatch||// As well, disconnected nodes are said to be in a document
// fragment in IE 9
elem.document&&elem.document.nodeType!==11){return ret;}}catch(e){}}return Sizzle(expr,document,null,[elem]).length>0;};Sizzle.contains=function(context,elem){// Set document vars if needed
if((context.ownerDocument||context)!==document){setDocument(context);}return contains(context,elem);};Sizzle.attr=function(elem,name){// Set document vars if needed
if((elem.ownerDocument||elem)!==document){setDocument(elem);}var fn=Expr.attrHandle[name.toLowerCase()],// Don't get fooled by Object.prototype properties (jQuery #13807)
val=fn&&hasOwn.call(Expr.attrHandle,name.toLowerCase())?fn(elem,name,!documentIsHTML):undefined;return val!==undefined?val:support.attributes||!documentIsHTML?elem.getAttribute(name):(val=elem.getAttributeNode(name))&&val.specified?val.value:null;};Sizzle.escape=function(sel){return(sel+"").replace(rcssescape,fcssescape);};Sizzle.error=function(msg){throw new Error("Syntax error, unrecognized expression: "+msg);};/**
   * Document sorting and removing duplicates
   * @param {ArrayLike} results
   */Sizzle.uniqueSort=function(results){var elem,duplicates=[],j=0,i=0;// Unless we *know* we can detect duplicates, assume their presence
hasDuplicate=!support.detectDuplicates;sortInput=!support.sortStable&&results.slice(0);results.sort(sortOrder);if(hasDuplicate){while(elem=results[i++]){if(elem===results[i]){j=duplicates.push(i);}}while(j--){results.splice(duplicates[j],1);}}// Clear input after sorting to release objects
// See https://github.com/jquery/sizzle/pull/225
sortInput=null;return results;};/**
   * Utility function for retrieving the text value of an array of DOM nodes
   * @param {Array|Element} elem
   */getText=Sizzle.getText=function(elem){var node,ret="",i=0,nodeType=elem.nodeType;if(!nodeType){// If no nodeType, this is expected to be an array
while(node=elem[i++]){// Do not traverse comment nodes
ret+=getText(node);}}else if(nodeType===1||nodeType===9||nodeType===11){// Use textContent for elements
// innerText usage removed for consistency of new lines (jQuery #11153)
if(typeof elem.textContent==="string"){return elem.textContent;}else{// Traverse its children
for(elem=elem.firstChild;elem;elem=elem.nextSibling){ret+=getText(elem);}}}else if(nodeType===3||nodeType===4){return elem.nodeValue;}// Do not include comment or processing instruction nodes
return ret;};Expr=Sizzle.selectors={// Can be adjusted by the user
cacheLength:50,createPseudo:markFunction,match:matchExpr,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:true}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:true},"~":{dir:"previousSibling"}},preFilter:{"ATTR":function ATTR(match){match[1]=match[1].replace(runescape,funescape);// Move the given value to match[3] whether quoted or unquoted
match[3]=(match[3]||match[4]||match[5]||"").replace(runescape,funescape);if(match[2]==="~="){match[3]=" "+match[3]+" ";}return match.slice(0,4);},"CHILD":function CHILD(match){/* matches from matchExpr["CHILD"]
     	1 type (only|nth|...)
     	2 what (child|of-type)
     	3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
     	4 xn-component of xn+y argument ([+-]?\d*n|)
     	5 sign of xn-component
     	6 x of xn-component
     	7 sign of y-component
     	8 y of y-component
     */match[1]=match[1].toLowerCase();if(match[1].slice(0,3)==="nth"){// nth-* requires argument
if(!match[3]){Sizzle.error(match[0]);}// numeric x and y parameters for Expr.filter.CHILD
// remember that false/true cast respectively to 0/1
match[4]=+(match[4]?match[5]+(match[6]||1):2*(match[3]==="even"||match[3]==="odd"));match[5]=+(match[7]+match[8]||match[3]==="odd");// other types prohibit arguments
}else if(match[3]){Sizzle.error(match[0]);}return match;},"PSEUDO":function PSEUDO(match){var excess,unquoted=!match[6]&&match[2];if(matchExpr["CHILD"].test(match[0])){return null;}// Accept quoted arguments as-is
if(match[3]){match[2]=match[4]||match[5]||"";// Strip excess characters from unquoted arguments
}else if(unquoted&&rpseudo.test(unquoted)&&(// Get excess from tokenize (recursively)
excess=tokenize(unquoted,true))&&(// advance to the next closing parenthesis
excess=unquoted.indexOf(")",unquoted.length-excess)-unquoted.length)){// excess is a negative index
match[0]=match[0].slice(0,excess);match[2]=unquoted.slice(0,excess);}// Return only captures needed by the pseudo filter method (type and argument)
return match.slice(0,3);}},filter:{"TAG":function TAG(nodeNameSelector){var nodeName=nodeNameSelector.replace(runescape,funescape).toLowerCase();return nodeNameSelector==="*"?function(){return true;}:function(elem){return elem.nodeName&&elem.nodeName.toLowerCase()===nodeName;};},"CLASS":function CLASS(className){var pattern=classCache[className+" "];return pattern||(pattern=new RegExp("(^|"+whitespace+")"+className+"("+whitespace+"|$)"))&&classCache(className,function(elem){return pattern.test(typeof elem.className==="string"&&elem.className||typeof elem.getAttribute!=="undefined"&&elem.getAttribute("class")||"");});},"ATTR":function ATTR(name,operator,check){return function(elem){var result=Sizzle.attr(elem,name);if(result==null){return operator==="!=";}if(!operator){return true;}result+="";return operator==="="?result===check:operator==="!="?result!==check:operator==="^="?check&&result.indexOf(check)===0:operator==="*="?check&&result.indexOf(check)>-1:operator==="$="?check&&result.slice(-check.length)===check:operator==="~="?(" "+result.replace(rwhitespace," ")+" ").indexOf(check)>-1:operator==="|="?result===check||result.slice(0,check.length+1)===check+"-":false;};},"CHILD":function CHILD(type,what,argument,first,last){var simple=type.slice(0,3)!=="nth",forward=type.slice(-4)!=="last",ofType=what==="of-type";return first===1&&last===0?// Shortcut for :nth-*(n)
function(elem){return!!elem.parentNode;}:function(elem,context,xml){var cache,uniqueCache,outerCache,node,nodeIndex,start,dir=simple!==forward?"nextSibling":"previousSibling",parent=elem.parentNode,name=ofType&&elem.nodeName.toLowerCase(),useCache=!xml&&!ofType,diff=false;if(parent){// :(first|last|only)-(child|of-type)
if(simple){while(dir){node=elem;while(node=node[dir]){if(ofType?node.nodeName.toLowerCase()===name:node.nodeType===1){return false;}}// Reverse direction for :only-* (if we haven't yet done so)
start=dir=type==="only"&&!start&&"nextSibling";}return true;}start=[forward?parent.firstChild:parent.lastChild];// non-xml :nth-child(...) stores cache data on `parent`
if(forward&&useCache){// Seek `elem` from a previously-cached index
// ...in a gzip-friendly way
node=parent;outerCache=node[expando]||(node[expando]={});// Support: IE <9 only
// Defend against cloned attroperties (jQuery gh-1709)
uniqueCache=outerCache[node.uniqueID]||(outerCache[node.uniqueID]={});cache=uniqueCache[type]||[];nodeIndex=cache[0]===dirruns&&cache[1];diff=nodeIndex&&cache[2];node=nodeIndex&&parent.childNodes[nodeIndex];while(node=++nodeIndex&&node&&node[dir]||(// Fallback to seeking `elem` from the start
diff=nodeIndex=0)||start.pop()){// When found, cache indexes on `parent` and break
if(node.nodeType===1&&++diff&&node===elem){uniqueCache[type]=[dirruns,nodeIndex,diff];break;}}}else{// Use previously-cached element index if available
if(useCache){// ...in a gzip-friendly way
node=elem;outerCache=node[expando]||(node[expando]={});// Support: IE <9 only
// Defend against cloned attroperties (jQuery gh-1709)
uniqueCache=outerCache[node.uniqueID]||(outerCache[node.uniqueID]={});cache=uniqueCache[type]||[];nodeIndex=cache[0]===dirruns&&cache[1];diff=nodeIndex;}// xml :nth-child(...)
// or :nth-last-child(...) or :nth(-last)?-of-type(...)
if(diff===false){// Use the same loop as above to seek `elem` from the start
while(node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop()){if((ofType?node.nodeName.toLowerCase()===name:node.nodeType===1)&&++diff){// Cache the index of each encountered element
if(useCache){outerCache=node[expando]||(node[expando]={});// Support: IE <9 only
// Defend against cloned attroperties (jQuery gh-1709)
uniqueCache=outerCache[node.uniqueID]||(outerCache[node.uniqueID]={});uniqueCache[type]=[dirruns,diff];}if(node===elem){break;}}}}}// Incorporate the offset, then check against cycle size
diff-=last;return diff===first||diff%first===0&&diff/first>=0;}};},"PSEUDO":function PSEUDO(pseudo,argument){// pseudo-class names are case-insensitive
// http://www.w3.org/TR/selectors/#pseudo-classes
// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
// Remember that setFilters inherits from pseudos
var args,fn=Expr.pseudos[pseudo]||Expr.setFilters[pseudo.toLowerCase()]||Sizzle.error("unsupported pseudo: "+pseudo);// The user may use createPseudo to indicate that
// arguments are needed to create the filter function
// just as Sizzle does
if(fn[expando]){return fn(argument);}// But maintain support for old signatures
if(fn.length>1){args=[pseudo,pseudo,"",argument];return Expr.setFilters.hasOwnProperty(pseudo.toLowerCase())?markFunction(function(seed,matches){var idx,matched=fn(seed,argument),i=matched.length;while(i--){idx=indexOf(seed,matched[i]);seed[idx]=!(matches[idx]=matched[i]);}}):function(elem){return fn(elem,0,args);};}return fn;}},pseudos:{// Potentially complex pseudos
"not":markFunction(function(selector){// Trim the selector passed to compile
// to avoid treating leading and trailing
// spaces as combinators
var input=[],results=[],matcher=compile(selector.replace(rtrim,"$1"));return matcher[expando]?markFunction(function(seed,matches,context,xml){var elem,unmatched=matcher(seed,null,xml,[]),i=seed.length;// Match elements unmatched by `matcher`
while(i--){if(elem=unmatched[i]){seed[i]=!(matches[i]=elem);}}}):function(elem,context,xml){input[0]=elem;matcher(input,null,xml,results);// Don't keep the element (issue #299)
input[0]=null;return!results.pop();};}),"has":markFunction(function(selector){return function(elem){return Sizzle(selector,elem).length>0;};}),"contains":markFunction(function(text){text=text.replace(runescape,funescape);return function(elem){return(elem.textContent||elem.innerText||getText(elem)).indexOf(text)>-1;};}),// "Whether an element is represented by a :lang() selector
// is based solely on the element's language value
// being equal to the identifier C,
// or beginning with the identifier C immediately followed by "-".
// The matching of C against the element's language value is performed case-insensitively.
// The identifier C does not have to be a valid language name."
// http://www.w3.org/TR/selectors/#lang-pseudo
"lang":markFunction(function(lang){// lang value must be a valid identifier
if(!ridentifier.test(lang||"")){Sizzle.error("unsupported lang: "+lang);}lang=lang.replace(runescape,funescape).toLowerCase();return function(elem){var elemLang;do{if(elemLang=documentIsHTML?elem.lang:elem.getAttribute("xml:lang")||elem.getAttribute("lang")){elemLang=elemLang.toLowerCase();return elemLang===lang||elemLang.indexOf(lang+"-")===0;}}while((elem=elem.parentNode)&&elem.nodeType===1);return false;};}),// Miscellaneous
"target":function target(elem){var hash=window.location&&window.location.hash;return hash&&hash.slice(1)===elem.id;},"root":function root(elem){return elem===docElem;},"focus":function focus(elem){return elem===document.activeElement&&(!document.hasFocus||document.hasFocus())&&!!(elem.type||elem.href||~elem.tabIndex);},// Boolean properties
"enabled":createDisabledPseudo(false),"disabled":createDisabledPseudo(true),"checked":function checked(elem){// In CSS3, :checked should return both checked and selected elements
// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
var nodeName=elem.nodeName.toLowerCase();return nodeName==="input"&&!!elem.checked||nodeName==="option"&&!!elem.selected;},"selected":function selected(elem){// Accessing this property makes selected-by-default
// options in Safari work properly
if(elem.parentNode){elem.parentNode.selectedIndex;}return elem.selected===true;},// Contents
"empty":function empty(elem){// http://www.w3.org/TR/selectors/#empty-pseudo
// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
//   but not by others (comment: 8; processing instruction: 7; etc.)
// nodeType < 6 works because attributes (2) do not appear as children
for(elem=elem.firstChild;elem;elem=elem.nextSibling){if(elem.nodeType<6){return false;}}return true;},"parent":function parent(elem){return!Expr.pseudos["empty"](elem);},// Element/input types
"header":function header(elem){return rheader.test(elem.nodeName);},"input":function input(elem){return rinputs.test(elem.nodeName);},"button":function button(elem){var name=elem.nodeName.toLowerCase();return name==="input"&&elem.type==="button"||name==="button";},"text":function text(elem){var attr;return elem.nodeName.toLowerCase()==="input"&&elem.type==="text"&&(// Support: IE<8
// New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
(attr=elem.getAttribute("type"))==null||attr.toLowerCase()==="text");},// Position-in-collection
"first":createPositionalPseudo(function(){return[0];}),"last":createPositionalPseudo(function(matchIndexes,length){return[length-1];}),"eq":createPositionalPseudo(function(matchIndexes,length,argument){return[argument<0?argument+length:argument];}),"even":createPositionalPseudo(function(matchIndexes,length){var i=0;for(;i<length;i+=2){matchIndexes.push(i);}return matchIndexes;}),"odd":createPositionalPseudo(function(matchIndexes,length){var i=1;for(;i<length;i+=2){matchIndexes.push(i);}return matchIndexes;}),"lt":createPositionalPseudo(function(matchIndexes,length,argument){var i=argument<0?argument+length:argument;for(;--i>=0;){matchIndexes.push(i);}return matchIndexes;}),"gt":createPositionalPseudo(function(matchIndexes,length,argument){var i=argument<0?argument+length:argument;for(;++i<length;){matchIndexes.push(i);}return matchIndexes;})}};Expr.pseudos["nth"]=Expr.pseudos["eq"];// Add button/input type pseudos
for(i in{radio:true,checkbox:true,file:true,password:true,image:true}){Expr.pseudos[i]=createInputPseudo(i);}for(i in{submit:true,reset:true}){Expr.pseudos[i]=createButtonPseudo(i);}// Easy API for creating new setFilters
function setFilters(){}setFilters.prototype=Expr.filters=Expr.pseudos;Expr.setFilters=new setFilters();tokenize=Sizzle.tokenize=function(selector,parseOnly){var matched,match,tokens,type,soFar,groups,preFilters,cached=tokenCache[selector+" "];if(cached){return parseOnly?0:cached.slice(0);}soFar=selector;groups=[];preFilters=Expr.preFilter;while(soFar){// Comma and first run
if(!matched||(match=rcomma.exec(soFar))){if(match){// Don't consume trailing commas as valid
soFar=soFar.slice(match[0].length)||soFar;}groups.push(tokens=[]);}matched=false;// Combinators
if(match=rcombinators.exec(soFar)){matched=match.shift();tokens.push({value:matched,// Cast descendant combinators to space
type:match[0].replace(rtrim," ")});soFar=soFar.slice(matched.length);}// Filters
for(type in Expr.filter){if((match=matchExpr[type].exec(soFar))&&(!preFilters[type]||(match=preFilters[type](match)))){matched=match.shift();tokens.push({value:matched,type:type,matches:match});soFar=soFar.slice(matched.length);}}if(!matched){break;}}// Return the length of the invalid excess
// if we're just parsing
// Otherwise, throw an error or return tokens
return parseOnly?soFar.length:soFar?Sizzle.error(selector):// Cache the tokens
tokenCache(selector,groups).slice(0);};function toSelector(tokens){var i=0,len=tokens.length,selector="";for(;i<len;i++){selector+=tokens[i].value;}return selector;}function addCombinator(matcher,combinator,base){var dir=combinator.dir,skip=combinator.next,key=skip||dir,checkNonElements=base&&key==="parentNode",doneName=done++;return combinator.first?// Check against closest ancestor/preceding element
function(elem,context,xml){while(elem=elem[dir]){if(elem.nodeType===1||checkNonElements){return matcher(elem,context,xml);}}return false;}:// Check against all ancestor/preceding elements
function(elem,context,xml){var oldCache,uniqueCache,outerCache,newCache=[dirruns,doneName];// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
if(xml){while(elem=elem[dir]){if(elem.nodeType===1||checkNonElements){if(matcher(elem,context,xml)){return true;}}}}else{while(elem=elem[dir]){if(elem.nodeType===1||checkNonElements){outerCache=elem[expando]||(elem[expando]={});// Support: IE <9 only
// Defend against cloned attroperties (jQuery gh-1709)
uniqueCache=outerCache[elem.uniqueID]||(outerCache[elem.uniqueID]={});if(skip&&skip===elem.nodeName.toLowerCase()){elem=elem[dir]||elem;}else if((oldCache=uniqueCache[key])&&oldCache[0]===dirruns&&oldCache[1]===doneName){// Assign to newCache so results back-propagate to previous elements
return newCache[2]=oldCache[2];}else{// Reuse newcache so results back-propagate to previous elements
uniqueCache[key]=newCache;// A match means we're done; a fail means we have to keep checking
if(newCache[2]=matcher(elem,context,xml)){return true;}}}}}return false;};}function elementMatcher(matchers){return matchers.length>1?function(elem,context,xml){var i=matchers.length;while(i--){if(!matchers[i](elem,context,xml)){return false;}}return true;}:matchers[0];}function multipleContexts(selector,contexts,results){var i=0,len=contexts.length;for(;i<len;i++){Sizzle(selector,contexts[i],results);}return results;}function condense(unmatched,map,filter,context,xml){var elem,newUnmatched=[],i=0,len=unmatched.length,mapped=map!=null;for(;i<len;i++){if(elem=unmatched[i]){if(!filter||filter(elem,context,xml)){newUnmatched.push(elem);if(mapped){map.push(i);}}}}return newUnmatched;}function setMatcher(preFilter,selector,matcher,postFilter,postFinder,postSelector){if(postFilter&&!postFilter[expando]){postFilter=setMatcher(postFilter);}if(postFinder&&!postFinder[expando]){postFinder=setMatcher(postFinder,postSelector);}return markFunction(function(seed,results,context,xml){var temp,i,elem,preMap=[],postMap=[],preexisting=results.length,// Get initial elements from seed or context
elems=seed||multipleContexts(selector||"*",context.nodeType?[context]:context,[]),// Prefilter to get matcher input, preserving a map for seed-results synchronization
matcherIn=preFilter&&(seed||!selector)?condense(elems,preMap,preFilter,context,xml):elems,matcherOut=matcher?// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
postFinder||(seed?preFilter:preexisting||postFilter)?// ...intermediate processing is necessary
[]:// ...otherwise use results directly
results:matcherIn;// Find primary matches
if(matcher){matcher(matcherIn,matcherOut,context,xml);}// Apply postFilter
if(postFilter){temp=condense(matcherOut,postMap);postFilter(temp,[],context,xml);// Un-match failing elements by moving them back to matcherIn
i=temp.length;while(i--){if(elem=temp[i]){matcherOut[postMap[i]]=!(matcherIn[postMap[i]]=elem);}}}if(seed){if(postFinder||preFilter){if(postFinder){// Get the final matcherOut by condensing this intermediate into postFinder contexts
temp=[];i=matcherOut.length;while(i--){if(elem=matcherOut[i]){// Restore matcherIn since elem is not yet a final match
temp.push(matcherIn[i]=elem);}}postFinder(null,matcherOut=[],temp,xml);}// Move matched elements from seed to results to keep them synchronized
i=matcherOut.length;while(i--){if((elem=matcherOut[i])&&(temp=postFinder?indexOf(seed,elem):preMap[i])>-1){seed[temp]=!(results[temp]=elem);}}}// Add elements to results, through postFinder if defined
}else{matcherOut=condense(matcherOut===results?matcherOut.splice(preexisting,matcherOut.length):matcherOut);if(postFinder){postFinder(null,results,matcherOut,xml);}else{push.apply(results,matcherOut);}}});}function matcherFromTokens(tokens){var checkContext,matcher,j,len=tokens.length,leadingRelative=Expr.relative[tokens[0].type],implicitRelative=leadingRelative||Expr.relative[" "],i=leadingRelative?1:0,// The foundational matcher ensures that elements are reachable from top-level context(s)
matchContext=addCombinator(function(elem){return elem===checkContext;},implicitRelative,true),matchAnyContext=addCombinator(function(elem){return indexOf(checkContext,elem)>-1;},implicitRelative,true),matchers=[function(elem,context,xml){var ret=!leadingRelative&&(xml||context!==outermostContext)||((checkContext=context).nodeType?matchContext(elem,context,xml):matchAnyContext(elem,context,xml));// Avoid hanging onto element (issue #299)
checkContext=null;return ret;}];for(;i<len;i++){if(matcher=Expr.relative[tokens[i].type]){matchers=[addCombinator(elementMatcher(matchers),matcher)];}else{matcher=Expr.filter[tokens[i].type].apply(null,tokens[i].matches);// Return special upon seeing a positional matcher
if(matcher[expando]){// Find the next relative operator (if any) for proper handling
j=++i;for(;j<len;j++){if(Expr.relative[tokens[j].type]){break;}}return setMatcher(i>1&&elementMatcher(matchers),i>1&&toSelector(// If the preceding token was a descendant combinator, insert an implicit any-element `*`
tokens.slice(0,i-1).concat({value:tokens[i-2].type===" "?"*":""})).replace(rtrim,"$1"),matcher,i<j&&matcherFromTokens(tokens.slice(i,j)),j<len&&matcherFromTokens(tokens=tokens.slice(j)),j<len&&toSelector(tokens));}matchers.push(matcher);}}return elementMatcher(matchers);}function matcherFromGroupMatchers(elementMatchers,setMatchers){var bySet=setMatchers.length>0,byElement=elementMatchers.length>0,superMatcher=function superMatcher(seed,context,xml,results,outermost){var elem,j,matcher,matchedCount=0,i="0",unmatched=seed&&[],setMatched=[],contextBackup=outermostContext,// We must always have either seed elements or outermost context
elems=seed||byElement&&Expr.find["TAG"]("*",outermost),// Use integer dirruns iff this is the outermost matcher
dirrunsUnique=dirruns+=contextBackup==null?1:Math.random()||0.1,len=elems.length;if(outermost){outermostContext=context===document||context||outermost;}// Add elements passing elementMatchers directly to results
// Support: IE<9, Safari
// Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
for(;i!==len&&(elem=elems[i])!=null;i++){if(byElement&&elem){j=0;if(!context&&elem.ownerDocument!==document){setDocument(elem);xml=!documentIsHTML;}while(matcher=elementMatchers[j++]){if(matcher(elem,context||document,xml)){results.push(elem);break;}}if(outermost){dirruns=dirrunsUnique;}}// Track unmatched elements for set filters
if(bySet){// They will have gone through all possible matchers
if(elem=!matcher&&elem){matchedCount--;}// Lengthen the array for every element, matched or not
if(seed){unmatched.push(elem);}}}// `i` is now the count of elements visited above, and adding it to `matchedCount`
// makes the latter nonnegative.
matchedCount+=i;// Apply set filters to unmatched elements
// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`
// equals `i`), unless we didn't visit _any_ elements in the above loop because we have
// no element matchers and no seed.
// Incrementing an initially-string "0" `i` allows `i` to remain a string only in that
// case, which will result in a "00" `matchedCount` that differs from `i` but is also
// numerically zero.
if(bySet&&i!==matchedCount){j=0;while(matcher=setMatchers[j++]){matcher(unmatched,setMatched,context,xml);}if(seed){// Reintegrate element matches to eliminate the need for sorting
if(matchedCount>0){while(i--){if(!(unmatched[i]||setMatched[i])){setMatched[i]=pop.call(results);}}}// Discard index placeholder values to get only actual matches
setMatched=condense(setMatched);}// Add matches to results
push.apply(results,setMatched);// Seedless set matches succeeding multiple successful matchers stipulate sorting
if(outermost&&!seed&&setMatched.length>0&&matchedCount+setMatchers.length>1){Sizzle.uniqueSort(results);}}// Override manipulation of globals by nested matchers
if(outermost){dirruns=dirrunsUnique;outermostContext=contextBackup;}return unmatched;};return bySet?markFunction(superMatcher):superMatcher;}compile=Sizzle.compile=function(selector,match/* Internal Use Only */){var i,setMatchers=[],elementMatchers=[],cached=compilerCache[selector+" "];if(!cached){// Generate a function of recursive functions that can be used to check each element
if(!match){match=tokenize(selector);}i=match.length;while(i--){cached=matcherFromTokens(match[i]);if(cached[expando]){setMatchers.push(cached);}else{elementMatchers.push(cached);}}// Cache the compiled function
cached=compilerCache(selector,matcherFromGroupMatchers(elementMatchers,setMatchers));// Save selector and tokenization
cached.selector=selector;}return cached;};/**
   * A low-level selection function that works with Sizzle's compiled
   *  selector functions
   * @param {String|Function} selector A selector or a pre-compiled
   *  selector function built with Sizzle.compile
   * @param {Element} context
   * @param {Array} [results]
   * @param {Array} [seed] A set of elements to match against
   */select=Sizzle.select=function(selector,context,results,seed){var i,tokens,token,type,find,compiled=typeof selector==="function"&&selector,match=!seed&&tokenize(selector=compiled.selector||selector);results=results||[];// Try to minimize operations if there is only one selector in the list and no seed
// (the latter of which guarantees us context)
if(match.length===1){// Reduce context if the leading compound selector is an ID
tokens=match[0]=match[0].slice(0);if(tokens.length>2&&(token=tokens[0]).type==="ID"&&context.nodeType===9&&documentIsHTML&&Expr.relative[tokens[1].type]){context=(Expr.find["ID"](token.matches[0].replace(runescape,funescape),context)||[])[0];if(!context){return results;// Precompiled matchers will still verify ancestry, so step up a level
}else if(compiled){context=context.parentNode;}selector=selector.slice(tokens.shift().value.length);}// Fetch a seed set for right-to-left matching
i=matchExpr["needsContext"].test(selector)?0:tokens.length;while(i--){token=tokens[i];// Abort if we hit a combinator
if(Expr.relative[type=token.type]){break;}if(find=Expr.find[type]){// Search, expanding context for leading sibling combinators
if(seed=find(token.matches[0].replace(runescape,funescape),rsibling.test(tokens[0].type)&&testContext(context.parentNode)||context)){// If seed is empty or no tokens remain, we can return early
tokens.splice(i,1);selector=seed.length&&toSelector(tokens);if(!selector){push.apply(results,seed);return results;}break;}}}}// Compile and execute a filtering function if one is not provided
// Provide `match` to avoid retokenization if we modified the selector above
(compiled||compile(selector,match))(seed,context,!documentIsHTML,results,!context||rsibling.test(selector)&&testContext(context.parentNode)||context);return results;};// One-time assignments
// Sort stability
support.sortStable=expando.split("").sort(sortOrder).join("")===expando;// Support: Chrome 14-35+
// Always assume duplicates if they aren't passed to the comparison function
support.detectDuplicates=!!hasDuplicate;// Initialize against the default document
setDocument();// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
// Detached nodes confoundingly follow *each other*
support.sortDetached=assert(function(el){// Should return 1, but returns 4 (following)
return el.compareDocumentPosition(document.createElement("fieldset"))&1;});// Support: IE<8
// Prevent attribute/property "interpolation"
// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
if(!assert(function(el){el.innerHTML="<a href='#'></a>";return el.firstChild.getAttribute("href")==="#";})){addHandle("type|href|height|width",function(elem,name,isXML){if(!isXML){return elem.getAttribute(name,name.toLowerCase()==="type"?1:2);}});}// Support: IE<9
// Use defaultValue in place of getAttribute("value")
if(!support.attributes||!assert(function(el){el.innerHTML="<input/>";el.firstChild.setAttribute("value","");return el.firstChild.getAttribute("value")==="";})){addHandle("value",function(elem,name,isXML){if(!isXML&&elem.nodeName.toLowerCase()==="input"){return elem.defaultValue;}});}// Support: IE<9
// Use getAttributeNode to fetch booleans when getAttribute lies
if(!assert(function(el){return el.getAttribute("disabled")==null;})){addHandle(booleans,function(elem,name,isXML){var val;if(!isXML){return elem[name]===true?name.toLowerCase():(val=elem.getAttributeNode(name))&&val.specified?val.value:null;}});}return Sizzle;}(window);jQuery.find=Sizzle;jQuery.expr=Sizzle.selectors;// Deprecated
jQuery.expr[":"]=jQuery.expr.pseudos;jQuery.uniqueSort=jQuery.unique=Sizzle.uniqueSort;jQuery.text=Sizzle.getText;jQuery.isXMLDoc=Sizzle.isXML;jQuery.contains=Sizzle.contains;jQuery.escapeSelector=Sizzle.escape;var dir=function dir(elem,_dir,until){var matched=[],truncate=until!==undefined;while((elem=elem[_dir])&&elem.nodeType!==9){if(elem.nodeType===1){if(truncate&&jQuery(elem).is(until)){break;}matched.push(elem);}}return matched;};var _siblings=function _siblings(n,elem){var matched=[];for(;n;n=n.nextSibling){if(n.nodeType===1&&n!==elem){matched.push(n);}}return matched;};var rneedsContext=jQuery.expr.match.needsContext;function nodeName(elem,name){return elem.nodeName&&elem.nodeName.toLowerCase()===name.toLowerCase();};var rsingleTag=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;var risSimple=/^.[^:#\[\.,]*$/;// Implement the identical functionality for filter and not
function winnow(elements,qualifier,not){if(jQuery.isFunction(qualifier)){return jQuery.grep(elements,function(elem,i){return!!qualifier.call(elem,i,elem)!==not;});}// Single element
if(qualifier.nodeType){return jQuery.grep(elements,function(elem){return elem===qualifier!==not;});}// Arraylike of elements (jQuery, arguments, Array)
if(typeof qualifier!=="string"){return jQuery.grep(elements,function(elem){return indexOf.call(qualifier,elem)>-1!==not;});}// Simple selector that can be filtered directly, removing non-Elements
if(risSimple.test(qualifier)){return jQuery.filter(qualifier,elements,not);}// Complex selector, compare the two sets, removing non-Elements
qualifier=jQuery.filter(qualifier,elements);return jQuery.grep(elements,function(elem){return indexOf.call(qualifier,elem)>-1!==not&&elem.nodeType===1;});}jQuery.filter=function(expr,elems,not){var elem=elems[0];if(not){expr=":not("+expr+")";}if(elems.length===1&&elem.nodeType===1){return jQuery.find.matchesSelector(elem,expr)?[elem]:[];}return jQuery.find.matches(expr,jQuery.grep(elems,function(elem){return elem.nodeType===1;}));};jQuery.fn.extend({find:function find(selector){var i,ret,len=this.length,self=this;if(typeof selector!=="string"){return this.pushStack(jQuery(selector).filter(function(){for(i=0;i<len;i++){if(jQuery.contains(self[i],this)){return true;}}}));}ret=this.pushStack([]);for(i=0;i<len;i++){jQuery.find(selector,self[i],ret);}return len>1?jQuery.uniqueSort(ret):ret;},filter:function filter(selector){return this.pushStack(winnow(this,selector||[],false));},not:function not(selector){return this.pushStack(winnow(this,selector||[],true));},is:function is(selector){return!!winnow(this,// If this is a positional/relative selector, check membership in the returned set
// so $("p:first").is("p:last") won't return true for a doc with two "p".
typeof selector==="string"&&rneedsContext.test(selector)?jQuery(selector):selector||[],false).length;}});// Initialize a jQuery object
// A central reference to the root jQuery(document)
var rootjQuery,// A simple way to check for HTML strings
// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
// Strict HTML recognition (#11290: must start with <)
// Shortcut simple #id case for speed
rquickExpr=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,init=jQuery.fn.init=function(selector,context,root){var match,elem;// HANDLE: $(""), $(null), $(undefined), $(false)
if(!selector){return this;}// Method init() accepts an alternate rootjQuery
// so migrate can support jQuery.sub (gh-2101)
root=root||rootjQuery;// Handle HTML strings
if(typeof selector==="string"){if(selector[0]==="<"&&selector[selector.length-1]===">"&&selector.length>=3){// Assume that strings that start and end with <> are HTML and skip the regex check
match=[null,selector,null];}else{match=rquickExpr.exec(selector);}// Match html or make sure no context is specified for #id
if(match&&(match[1]||!context)){// HANDLE: $(html) -> $(array)
if(match[1]){context=_instanceof(context,jQuery)?context[0]:context;// Option to run scripts is true for back-compat
// Intentionally let the error be thrown if parseHTML is not present
jQuery.merge(this,jQuery.parseHTML(match[1],context&&context.nodeType?context.ownerDocument||context:document,true));// HANDLE: $(html, props)
if(rsingleTag.test(match[1])&&jQuery.isPlainObject(context)){for(match in context){// Properties of context are called as methods if possible
if(jQuery.isFunction(this[match])){this[match](context[match]);// ...and otherwise set as attributes
}else{this.attr(match,context[match]);}}}return this;// HANDLE: $(#id)
}else{elem=document.getElementById(match[2]);if(elem){// Inject the element directly into the jQuery object
this[0]=elem;this.length=1;}return this;}// HANDLE: $(expr, $(...))
}else if(!context||context.jquery){return(context||root).find(selector);// HANDLE: $(expr, context)
// (which is just equivalent to: $(context).find(expr)
}else{return this.constructor(context).find(selector);}// HANDLE: $(DOMElement)
}else if(selector.nodeType){this[0]=selector;this.length=1;return this;// HANDLE: $(function)
// Shortcut for document ready
}else if(jQuery.isFunction(selector)){return root.ready!==undefined?root.ready(selector):// Execute immediately if ready is not present
selector(jQuery);}return jQuery.makeArray(selector,this);};// Give the init function the jQuery prototype for later instantiation
init.prototype=jQuery.fn;// Initialize central reference
rootjQuery=jQuery(document);var rparentsprev=/^(?:parents|prev(?:Until|All))/,// Methods guaranteed to produce a unique set when starting from a unique set
guaranteedUnique={children:true,contents:true,next:true,prev:true};jQuery.fn.extend({has:function has(target){var targets=jQuery(target,this),l=targets.length;return this.filter(function(){var i=0;for(;i<l;i++){if(jQuery.contains(this,targets[i])){return true;}}});},closest:function closest(selectors,context){var cur,i=0,l=this.length,matched=[],targets=typeof selectors!=="string"&&jQuery(selectors);// Positional selectors never match, since there's no _selection_ context
if(!rneedsContext.test(selectors)){for(;i<l;i++){for(cur=this[i];cur&&cur!==context;cur=cur.parentNode){// Always skip document fragments
if(cur.nodeType<11&&(targets?targets.index(cur)>-1:// Don't pass non-elements to Sizzle
cur.nodeType===1&&jQuery.find.matchesSelector(cur,selectors))){matched.push(cur);break;}}}}return this.pushStack(matched.length>1?jQuery.uniqueSort(matched):matched);},// Determine the position of an element within the set
index:function index(elem){// No argument, return index in parent
if(!elem){return this[0]&&this[0].parentNode?this.first().prevAll().length:-1;}// Index in selector
if(typeof elem==="string"){return indexOf.call(jQuery(elem),this[0]);}// Locate the position of the desired element
return indexOf.call(this,// If it receives a jQuery object, the first element is used
elem.jquery?elem[0]:elem);},add:function add(selector,context){return this.pushStack(jQuery.uniqueSort(jQuery.merge(this.get(),jQuery(selector,context))));},addBack:function addBack(selector){return this.add(selector==null?this.prevObject:this.prevObject.filter(selector));}});function sibling(cur,dir){while((cur=cur[dir])&&cur.nodeType!==1){}return cur;}jQuery.each({parent:function parent(elem){var parent=elem.parentNode;return parent&&parent.nodeType!==11?parent:null;},parents:function parents(elem){return dir(elem,"parentNode");},parentsUntil:function parentsUntil(elem,i,until){return dir(elem,"parentNode",until);},next:function next(elem){return sibling(elem,"nextSibling");},prev:function prev(elem){return sibling(elem,"previousSibling");},nextAll:function nextAll(elem){return dir(elem,"nextSibling");},prevAll:function prevAll(elem){return dir(elem,"previousSibling");},nextUntil:function nextUntil(elem,i,until){return dir(elem,"nextSibling",until);},prevUntil:function prevUntil(elem,i,until){return dir(elem,"previousSibling",until);},siblings:function siblings(elem){return _siblings((elem.parentNode||{}).firstChild,elem);},children:function children(elem){return _siblings(elem.firstChild);},contents:function contents(elem){if(nodeName(elem,"iframe")){return elem.contentDocument;}// Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
// Treat the template element as a regular one in browsers that
// don't support it.
if(nodeName(elem,"template")){elem=elem.content||elem;}return jQuery.merge([],elem.childNodes);}},function(name,fn){jQuery.fn[name]=function(until,selector){var matched=jQuery.map(this,fn,until);if(name.slice(-5)!=="Until"){selector=until;}if(selector&&typeof selector==="string"){matched=jQuery.filter(selector,matched);}if(this.length>1){// Remove duplicates
if(!guaranteedUnique[name]){jQuery.uniqueSort(matched);}// Reverse order for parents* and prev-derivatives
if(rparentsprev.test(name)){matched.reverse();}}return this.pushStack(matched);};});var rnothtmlwhite=/[^\x20\t\r\n\f]+/g;// Convert String-formatted options into Object-formatted ones
function createOptions(options){var object={};jQuery.each(options.match(rnothtmlwhite)||[],function(_,flag){object[flag]=true;});return object;}/*
  * Create a callback list using the following parameters:
  *
  *	options: an optional list of space-separated options that will change how
  *			the callback list behaves or a more traditional option object
  *
  * By default a callback list will act like an event callback list and can be
  * "fired" multiple times.
  *
  * Possible options:
  *
  *	once:			will ensure the callback list can only be fired once (like a Deferred)
  *
  *	memory:			will keep track of previous values and will call any callback added
  *					after the list has been fired right away with the latest "memorized"
  *					values (like a Deferred)
  *
  *	unique:			will ensure a callback can only be added once (no duplicate in the list)
  *
  *	stopOnFalse:	interrupt callings when a callback returns false
  *
  */jQuery.Callbacks=function(options){// Convert options from String-formatted to Object-formatted if needed
// (we check in cache first)
options=typeof options==="string"?createOptions(options):jQuery.extend({},options);var// Flag to know if list is currently firing
firing,// Last fire value for non-forgettable lists
memory,// Flag to know if list was already fired
_fired,// Flag to prevent firing
_locked,// Actual callback list
list=[],// Queue of execution data for repeatable lists
queue=[],// Index of currently firing callback (modified by add/remove as needed)
firingIndex=-1,// Fire callbacks
fire=function fire(){// Enforce single-firing
_locked=_locked||options.once;// Execute callbacks for all pending executions,
// respecting firingIndex overrides and runtime changes
_fired=firing=true;for(;queue.length;firingIndex=-1){memory=queue.shift();while(++firingIndex<list.length){// Run callback and check for early termination
if(list[firingIndex].apply(memory[0],memory[1])===false&&options.stopOnFalse){// Jump to end and forget the data so .add doesn't re-fire
firingIndex=list.length;memory=false;}}}// Forget the data if we're done with it
if(!options.memory){memory=false;}firing=false;// Clean up if we're done firing for good
if(_locked){// Keep an empty list if we have data for future add calls
if(memory){list=[];// Otherwise, this object is spent
}else{list="";}}},// Actual Callbacks object
self={// Add a callback or a collection of callbacks to the list
add:function add(){if(list){// If we have memory from a past run, we should fire after adding
if(memory&&!firing){firingIndex=list.length-1;queue.push(memory);}(function add(args){jQuery.each(args,function(_,arg){if(jQuery.isFunction(arg)){if(!options.unique||!self.has(arg)){list.push(arg);}}else if(arg&&arg.length&&jQuery.type(arg)!=="string"){// Inspect recursively
add(arg);}});})(arguments);if(memory&&!firing){fire();}}return this;},// Remove a callback from the list
remove:function remove(){jQuery.each(arguments,function(_,arg){var index;while((index=jQuery.inArray(arg,list,index))>-1){list.splice(index,1);// Handle firing indexes
if(index<=firingIndex){firingIndex--;}}});return this;},// Check if a given callback is in the list.
// If no argument is given, return whether or not list has callbacks attached.
has:function has(fn){return fn?jQuery.inArray(fn,list)>-1:list.length>0;},// Remove all callbacks from the list
empty:function empty(){if(list){list=[];}return this;},// Disable .fire and .add
// Abort any current/pending executions
// Clear all callbacks and values
disable:function disable(){_locked=queue=[];list=memory="";return this;},disabled:function disabled(){return!list;},// Disable .fire
// Also disable .add unless we have memory (since it would have no effect)
// Abort any pending executions
lock:function lock(){_locked=queue=[];if(!memory&&!firing){list=memory="";}return this;},locked:function locked(){return!!_locked;},// Call all callbacks with the given context and arguments
fireWith:function fireWith(context,args){if(!_locked){args=args||[];args=[context,args.slice?args.slice():args];queue.push(args);if(!firing){fire();}}return this;},// Call all the callbacks with the given arguments
fire:function fire(){self.fireWith(this,arguments);return this;},// To know if the callbacks have already been called at least once
fired:function fired(){return!!_fired;}};return self;};function Identity(v){return v;}function Thrower(ex){throw ex;}function adoptValue(value,resolve,reject,noValue){var method;try{// Check for promise aspect first to privilege synchronous behavior
if(value&&jQuery.isFunction(method=value.promise)){method.call(value).done(resolve).fail(reject);// Other thenables
}else if(value&&jQuery.isFunction(method=value.then)){method.call(value,resolve,reject);// Other non-thenables
}else{// Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:
// * false: [ value ].slice( 0 ) => resolve( value )
// * true: [ value ].slice( 1 ) => resolve()
resolve.apply(undefined,[value].slice(noValue));}// For Promises/A+, convert exceptions into rejections
// Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in
// Deferred#then to conditionally suppress rejection.
}catch(value){// Support: Android 4.0 only
// Strict mode functions invoked without .call/.apply get global-object context
reject.apply(undefined,[value]);}}jQuery.extend({Deferred:function Deferred(func){var tuples=[// action, add listener, callbacks,
// ... .then handlers, argument index, [final state]
["notify","progress",jQuery.Callbacks("memory"),jQuery.Callbacks("memory"),2],["resolve","done",jQuery.Callbacks("once memory"),jQuery.Callbacks("once memory"),0,"resolved"],["reject","fail",jQuery.Callbacks("once memory"),jQuery.Callbacks("once memory"),1,"rejected"]],_state="pending",_promise={state:function state(){return _state;},always:function always(){deferred.done(arguments).fail(arguments);return this;},"catch":function _catch(fn){return _promise.then(null,fn);},// Keep pipe for back-compat
pipe:function pipe()/* fnDone, fnFail, fnProgress */{var fns=arguments;return jQuery.Deferred(function(newDefer){jQuery.each(tuples,function(i,tuple){// Map tuples (progress, done, fail) to arguments (done, fail, progress)
var fn=jQuery.isFunction(fns[tuple[4]])&&fns[tuple[4]];// deferred.progress(function() { bind to newDefer or newDefer.notify })
// deferred.done(function() { bind to newDefer or newDefer.resolve })
// deferred.fail(function() { bind to newDefer or newDefer.reject })
deferred[tuple[1]](function(){var returned=fn&&fn.apply(this,arguments);if(returned&&jQuery.isFunction(returned.promise)){returned.promise().progress(newDefer.notify).done(newDefer.resolve).fail(newDefer.reject);}else{newDefer[tuple[0]+"With"](this,fn?[returned]:arguments);}});});fns=null;}).promise();},then:function then(onFulfilled,onRejected,onProgress){var maxDepth=0;function resolve(depth,deferred,handler,special){return function(){var that=this,args=arguments,mightThrow=function mightThrow(){var returned,then;// Support: Promises/A+ section 2.3.3.3.3
// https://promisesaplus.com/#point-59
// Ignore double-resolution attempts
if(depth<maxDepth){return;}returned=handler.apply(that,args);// Support: Promises/A+ section 2.3.1
// https://promisesaplus.com/#point-48
if(returned===deferred.promise()){throw new TypeError("Thenable self-resolution");}// Support: Promises/A+ sections 2.3.3.1, 3.5
// https://promisesaplus.com/#point-54
// https://promisesaplus.com/#point-75
// Retrieve `then` only once
then=returned&&(// Support: Promises/A+ section 2.3.4
// https://promisesaplus.com/#point-64
// Only check objects and functions for thenability
(typeof returned==="undefined"?"undefined":_typeof(returned))==="object"||typeof returned==="function")&&returned.then;// Handle a returned thenable
if(jQuery.isFunction(then)){// Special processors (notify) just wait for resolution
if(special){then.call(returned,resolve(maxDepth,deferred,Identity,special),resolve(maxDepth,deferred,Thrower,special));// Normal processors (resolve) also hook into progress
}else{// ...and disregard older resolution values
maxDepth++;then.call(returned,resolve(maxDepth,deferred,Identity,special),resolve(maxDepth,deferred,Thrower,special),resolve(maxDepth,deferred,Identity,deferred.notifyWith));}// Handle all other returned values
}else{// Only substitute handlers pass on context
// and multiple values (non-spec behavior)
if(handler!==Identity){that=undefined;args=[returned];}// Process the value(s)
// Default process is resolve
(special||deferred.resolveWith)(that,args);}},// Only normal processors (resolve) catch and reject exceptions
process=special?mightThrow:function(){try{mightThrow();}catch(e){if(jQuery.Deferred.exceptionHook){jQuery.Deferred.exceptionHook(e,process.stackTrace);}// Support: Promises/A+ section 2.3.3.3.4.1
// https://promisesaplus.com/#point-61
// Ignore post-resolution exceptions
if(depth+1>=maxDepth){// Only substitute handlers pass on context
// and multiple values (non-spec behavior)
if(handler!==Thrower){that=undefined;args=[e];}deferred.rejectWith(that,args);}}};// Support: Promises/A+ section 2.3.3.3.1
// https://promisesaplus.com/#point-57
// Re-resolve promises immediately to dodge false rejection from
// subsequent errors
if(depth){process();}else{// Call an optional hook to record the stack, in case of exception
// since it's otherwise lost when execution goes async
if(jQuery.Deferred.getStackHook){process.stackTrace=jQuery.Deferred.getStackHook();}window.setTimeout(process);}};}return jQuery.Deferred(function(newDefer){// progress_handlers.add( ... )
tuples[0][3].add(resolve(0,newDefer,jQuery.isFunction(onProgress)?onProgress:Identity,newDefer.notifyWith));// fulfilled_handlers.add( ... )
tuples[1][3].add(resolve(0,newDefer,jQuery.isFunction(onFulfilled)?onFulfilled:Identity));// rejected_handlers.add( ... )
tuples[2][3].add(resolve(0,newDefer,jQuery.isFunction(onRejected)?onRejected:Thrower));}).promise();},// Get a promise for this deferred
// If obj is provided, the promise aspect is added to the object
promise:function promise(obj){return obj!=null?jQuery.extend(obj,_promise):_promise;}},deferred={};// Add list-specific methods
jQuery.each(tuples,function(i,tuple){var list=tuple[2],stateString=tuple[5];// promise.progress = list.add
// promise.done = list.add
// promise.fail = list.add
_promise[tuple[1]]=list.add;// Handle state
if(stateString){list.add(function(){// state = "resolved" (i.e., fulfilled)
// state = "rejected"
_state=stateString;},// rejected_callbacks.disable
// fulfilled_callbacks.disable
tuples[3-i][2].disable,// progress_callbacks.lock
tuples[0][2].lock);}// progress_handlers.fire
// fulfilled_handlers.fire
// rejected_handlers.fire
list.add(tuple[3].fire);// deferred.notify = function() { deferred.notifyWith(...) }
// deferred.resolve = function() { deferred.resolveWith(...) }
// deferred.reject = function() { deferred.rejectWith(...) }
deferred[tuple[0]]=function(){deferred[tuple[0]+"With"](this===deferred?undefined:this,arguments);return this;};// deferred.notifyWith = list.fireWith
// deferred.resolveWith = list.fireWith
// deferred.rejectWith = list.fireWith
deferred[tuple[0]+"With"]=list.fireWith;});// Make the deferred a promise
_promise.promise(deferred);// Call given func if any
if(func){func.call(deferred,deferred);}// All done!
return deferred;},// Deferred helper
when:function when(singleValue){var// count of uncompleted subordinates
remaining=arguments.length,// count of unprocessed arguments
i=remaining,// subordinate fulfillment data
resolveContexts=Array(i),resolveValues=_slice.call(arguments),// the master Deferred
master=jQuery.Deferred(),// subordinate callback factory
updateFunc=function updateFunc(i){return function(value){resolveContexts[i]=this;resolveValues[i]=arguments.length>1?_slice.call(arguments):value;if(! --remaining){master.resolveWith(resolveContexts,resolveValues);}};};// Single- and empty arguments are adopted like Promise.resolve
if(remaining<=1){adoptValue(singleValue,master.done(updateFunc(i)).resolve,master.reject,!remaining);// Use .then() to unwrap secondary thenables (cf. gh-3000)
if(master.state()==="pending"||jQuery.isFunction(resolveValues[i]&&resolveValues[i].then)){return master.then();}}// Multiple arguments are aggregated like Promise.all array elements
while(i--){adoptValue(resolveValues[i],updateFunc(i),master.reject);}return master.promise();}});// These usually indicate a programmer mistake during development,
// warn about them ASAP rather than swallowing them by default.
var rerrorNames=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;jQuery.Deferred.exceptionHook=function(error,stack){// Support: IE 8 - 9 only
// Console exists when dev tools are open, which can happen at any time
if(window.console&&window.console.warn&&error&&rerrorNames.test(error.name)){window.console.warn("jQuery.Deferred exception: "+error.message,error.stack,stack);}};jQuery.readyException=function(error){window.setTimeout(function(){throw error;});};// The deferred used on DOM ready
var readyList=jQuery.Deferred();jQuery.fn.ready=function(fn){readyList.then(fn)// Wrap jQuery.readyException in a function so that the lookup
// happens at the time of error handling instead of callback
// registration.
.catch(function(error){jQuery.readyException(error);});return this;};jQuery.extend({// Is the DOM ready to be used? Set to true once it occurs.
isReady:false,// A counter to track how many items to wait for before
// the ready event fires. See #6781
readyWait:1,// Handle when the DOM is ready
ready:function ready(wait){// Abort if there are pending holds or we're already ready
if(wait===true?--jQuery.readyWait:jQuery.isReady){return;}// Remember that the DOM is ready
jQuery.isReady=true;// If a normal DOM Ready event fired, decrement, and wait if need be
if(wait!==true&&--jQuery.readyWait>0){return;}// If there are functions bound, to execute
readyList.resolveWith(document,[jQuery]);}});jQuery.ready.then=readyList.then;// The ready event handler and self cleanup method
function completed(){document.removeEventListener("DOMContentLoaded",completed);window.removeEventListener("load",completed);jQuery.ready();}// Catch cases where $(document).ready() is called
// after the browser event has already occurred.
// Support: IE <=9 - 10 only
// Older IE sometimes signals "interactive" too soon
if(document.readyState==="complete"||document.readyState!=="loading"&&!document.documentElement.doScroll){// Handle it asynchronously to allow scripts the opportunity to delay ready
window.setTimeout(jQuery.ready);}else{// Use the handy event callback
document.addEventListener("DOMContentLoaded",completed);// A fallback to window.onload, that will always work
window.addEventListener("load",completed);}// Multifunctional method to get and set values of a collection
// The value/s can optionally be executed if it's a function
var access=function access(elems,fn,key,value,chainable,emptyGet,raw){var i=0,len=elems.length,bulk=key==null;// Sets many values
if(jQuery.type(key)==="object"){chainable=true;for(i in key){access(elems,fn,i,key[i],true,emptyGet,raw);}// Sets one value
}else if(value!==undefined){chainable=true;if(!jQuery.isFunction(value)){raw=true;}if(bulk){// Bulk operations run against the entire set
if(raw){fn.call(elems,value);fn=null;// ...except when executing function values
}else{bulk=fn;fn=function fn(elem,key,value){return bulk.call(jQuery(elem),value);};}}if(fn){for(;i<len;i++){fn(elems[i],key,raw?value:value.call(elems[i],i,fn(elems[i],key)));}}}if(chainable){return elems;}// Gets
if(bulk){return fn.call(elems);}return len?fn(elems[0],key):emptyGet;};var acceptData=function acceptData(owner){// Accepts only:
//  - Node
//    - Node.ELEMENT_NODE
//    - Node.DOCUMENT_NODE
//  - Object
//    - Any
return owner.nodeType===1||owner.nodeType===9||!+owner.nodeType;};function Data(){this.expando=jQuery.expando+Data.uid++;}Data.uid=1;Data.prototype={cache:function cache(owner){// Check if the owner object already has a cache
var value=owner[this.expando];// If not, create one
if(!value){value={};// We can accept data for non-element nodes in modern browsers,
// but we should not, see #8335.
// Always return an empty object.
if(acceptData(owner)){// If it is a node unlikely to be stringify-ed or looped over
// use plain assignment
if(owner.nodeType){owner[this.expando]=value;// Otherwise secure it in a non-enumerable property
// configurable must be true to allow the property to be
// deleted when data is removed
}else{Object.defineProperty(owner,this.expando,{value:value,configurable:true});}}}return value;},set:function set(owner,data,value){var prop,cache=this.cache(owner);// Handle: [ owner, key, value ] args
// Always use camelCase key (gh-2257)
if(typeof data==="string"){cache[jQuery.camelCase(data)]=value;// Handle: [ owner, { properties } ] args
}else{// Copy the properties one-by-one to the cache object
for(prop in data){cache[jQuery.camelCase(prop)]=data[prop];}}return cache;},get:function get(owner,key){return key===undefined?this.cache(owner):// Always use camelCase key (gh-2257)
owner[this.expando]&&owner[this.expando][jQuery.camelCase(key)];},access:function access(owner,key,value){// In cases where either:
//
//   1. No key was specified
//   2. A string key was specified, but no value provided
//
// Take the "read" path and allow the get method to determine
// which value to return, respectively either:
//
//   1. The entire cache object
//   2. The data stored at the key
//
if(key===undefined||key&&typeof key==="string"&&value===undefined){return this.get(owner,key);}// When the key is not a string, or both a key and value
// are specified, set or extend (existing objects) with either:
//
//   1. An object of properties
//   2. A key and value
//
this.set(owner,key,value);// Since the "set" path can have two possible entry points
// return the expected data based on which path was taken[*]
return value!==undefined?value:key;},remove:function remove(owner,key){var i,cache=owner[this.expando];if(cache===undefined){return;}if(key!==undefined){// Support array or space separated string of keys
if(Array.isArray(key)){// If key is an array of keys...
// We always set camelCase keys, so remove that.
key=key.map(jQuery.camelCase);}else{key=jQuery.camelCase(key);// If a key with the spaces exists, use it.
// Otherwise, create an array by matching non-whitespace
key=key in cache?[key]:key.match(rnothtmlwhite)||[];}i=key.length;while(i--){delete cache[key[i]];}}// Remove the expando if there's no more data
if(key===undefined||jQuery.isEmptyObject(cache)){// Support: Chrome <=35 - 45
// Webkit & Blink performance suffers when deleting properties
// from DOM nodes, so set to undefined instead
// https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)
if(owner.nodeType){owner[this.expando]=undefined;}else{delete owner[this.expando];}}},hasData:function hasData(owner){var cache=owner[this.expando];return cache!==undefined&&!jQuery.isEmptyObject(cache);}};var dataPriv=new Data();var dataUser=new Data();//	Implementation Summary
//
//	1. Enforce API surface and semantic compatibility with 1.9.x branch
//	2. Improve the module's maintainability by reducing the storage
//		paths to a single mechanism.
//	3. Use the same single mechanism to support "private" and "user" data.
//	4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData)
//	5. Avoid exposing implementation details on user objects (eg. expando properties)
//	6. Provide a clear path for implementation upgrade to WeakMap in 2014
var rbrace=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,rmultiDash=/[A-Z]/g;function getData(data){if(data==="true"){return true;}if(data==="false"){return false;}if(data==="null"){return null;}// Only convert to a number if it doesn't change the string
if(data===+data+""){return+data;}if(rbrace.test(data)){return JSON.parse(data);}return data;}function dataAttr(elem,key,data){var name;// If nothing was found internally, try to fetch any
// data from the HTML5 data-* attribute
if(data===undefined&&elem.nodeType===1){name="data-"+key.replace(rmultiDash,"-$&").toLowerCase();data=elem.getAttribute(name);if(typeof data==="string"){try{data=getData(data);}catch(e){}// Make sure we set the data so it isn't changed later
dataUser.set(elem,key,data);}else{data=undefined;}}return data;}jQuery.extend({hasData:function hasData(elem){return dataUser.hasData(elem)||dataPriv.hasData(elem);},data:function data(elem,name,_data){return dataUser.access(elem,name,_data);},removeData:function removeData(elem,name){dataUser.remove(elem,name);},// TODO: Now that all calls to _data and _removeData have been replaced
// with direct calls to dataPriv methods, these can be deprecated.
_data:function _data(elem,name,data){return dataPriv.access(elem,name,data);},_removeData:function _removeData(elem,name){dataPriv.remove(elem,name);}});jQuery.fn.extend({data:function data(key,value){var i,name,data,elem=this[0],attrs=elem&&elem.attributes;// Gets all values
if(key===undefined){if(this.length){data=dataUser.get(elem);if(elem.nodeType===1&&!dataPriv.get(elem,"hasDataAttrs")){i=attrs.length;while(i--){// Support: IE 11 only
// The attrs elements can be null (#14894)
if(attrs[i]){name=attrs[i].name;if(name.indexOf("data-")===0){name=jQuery.camelCase(name.slice(5));dataAttr(elem,name,data[name]);}}}dataPriv.set(elem,"hasDataAttrs",true);}}return data;}// Sets multiple values
if((typeof key==="undefined"?"undefined":_typeof(key))==="object"){return this.each(function(){dataUser.set(this,key);});}return access(this,function(value){var data;// The calling jQuery object (element matches) is not empty
// (and therefore has an element appears at this[ 0 ]) and the
// `value` parameter was not undefined. An empty jQuery object
// will result in `undefined` for elem = this[ 0 ] which will
// throw an exception if an attempt to read a data cache is made.
if(elem&&value===undefined){// Attempt to get data from the cache
// The key will always be camelCased in Data
data=dataUser.get(elem,key);if(data!==undefined){return data;}// Attempt to "discover" the data in
// HTML5 custom data-* attrs
data=dataAttr(elem,key);if(data!==undefined){return data;}// We tried really hard, but the data doesn't exist.
return;}// Set the data...
this.each(function(){// We always store the camelCased key
dataUser.set(this,key,value);});},null,value,arguments.length>1,null,true);},removeData:function removeData(key){return this.each(function(){dataUser.remove(this,key);});}});jQuery.extend({queue:function queue(elem,type,data){var queue;if(elem){type=(type||"fx")+"queue";queue=dataPriv.get(elem,type);// Speed up dequeue by getting out quickly if this is just a lookup
if(data){if(!queue||Array.isArray(data)){queue=dataPriv.access(elem,type,jQuery.makeArray(data));}else{queue.push(data);}}return queue||[];}},dequeue:function dequeue(elem,type){type=type||"fx";var queue=jQuery.queue(elem,type),startLength=queue.length,fn=queue.shift(),hooks=jQuery._queueHooks(elem,type),next=function next(){jQuery.dequeue(elem,type);};// If the fx queue is dequeued, always remove the progress sentinel
if(fn==="inprogress"){fn=queue.shift();startLength--;}if(fn){// Add a progress sentinel to prevent the fx queue from being
// automatically dequeued
if(type==="fx"){queue.unshift("inprogress");}// Clear up the last queue stop function
delete hooks.stop;fn.call(elem,next,hooks);}if(!startLength&&hooks){hooks.empty.fire();}},// Not public - generate a queueHooks object, or return the current one
_queueHooks:function _queueHooks(elem,type){var key=type+"queueHooks";return dataPriv.get(elem,key)||dataPriv.access(elem,key,{empty:jQuery.Callbacks("once memory").add(function(){dataPriv.remove(elem,[type+"queue",key]);})});}});jQuery.fn.extend({queue:function queue(type,data){var setter=2;if(typeof type!=="string"){data=type;type="fx";setter--;}if(arguments.length<setter){return jQuery.queue(this[0],type);}return data===undefined?this:this.each(function(){var queue=jQuery.queue(this,type,data);// Ensure a hooks for this queue
jQuery._queueHooks(this,type);if(type==="fx"&&queue[0]!=="inprogress"){jQuery.dequeue(this,type);}});},dequeue:function dequeue(type){return this.each(function(){jQuery.dequeue(this,type);});},clearQueue:function clearQueue(type){return this.queue(type||"fx",[]);},// Get a promise resolved when queues of a certain type
// are emptied (fx is the type by default)
promise:function promise(type,obj){var tmp,count=1,defer=jQuery.Deferred(),elements=this,i=this.length,resolve=function resolve(){if(! --count){defer.resolveWith(elements,[elements]);}};if(typeof type!=="string"){obj=type;type=undefined;}type=type||"fx";while(i--){tmp=dataPriv.get(elements[i],type+"queueHooks");if(tmp&&tmp.empty){count++;tmp.empty.add(resolve);}}resolve();return defer.promise(obj);}});var pnum=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source;var rcssNum=new RegExp("^(?:([+-])=|)("+pnum+")([a-z%]*)$","i");var cssExpand=["Top","Right","Bottom","Left"];var isHiddenWithinTree=function isHiddenWithinTree(elem,el){// isHiddenWithinTree might be called from jQuery#filter function;
// in that case, element will be second argument
elem=el||elem;// Inline style trumps all
return elem.style.display==="none"||elem.style.display===""&&// Otherwise, check computed style
// Support: Firefox <=43 - 45
// Disconnected elements can have computed display: none, so first confirm that elem is
// in the document.
jQuery.contains(elem.ownerDocument,elem)&&jQuery.css(elem,"display")==="none";};var swap=function swap(elem,options,callback,args){var ret,name,old={};// Remember the old values, and insert the new ones
for(name in options){old[name]=elem.style[name];elem.style[name]=options[name];}ret=callback.apply(elem,args||[]);// Revert the old values
for(name in options){elem.style[name]=old[name];}return ret;};function adjustCSS(elem,prop,valueParts,tween){var adjusted,scale=1,maxIterations=20,currentValue=tween?function(){return tween.cur();}:function(){return jQuery.css(elem,prop,"");},initial=currentValue(),unit=valueParts&&valueParts[3]||(jQuery.cssNumber[prop]?"":"px"),// Starting value computation is required for potential unit mismatches
initialInUnit=(jQuery.cssNumber[prop]||unit!=="px"&&+initial)&&rcssNum.exec(jQuery.css(elem,prop));if(initialInUnit&&initialInUnit[3]!==unit){// Trust units reported by jQuery.css
unit=unit||initialInUnit[3];// Make sure we update the tween properties later on
valueParts=valueParts||[];// Iteratively approximate from a nonzero starting point
initialInUnit=+initial||1;do{// If previous iteration zeroed out, double until we get *something*.
// Use string for doubling so we don't accidentally see scale as unchanged below
scale=scale||".5";// Adjust and apply
initialInUnit=initialInUnit/scale;jQuery.style(elem,prop,initialInUnit+unit);// Update scale, tolerating zero or NaN from tween.cur()
// Break the loop if scale is unchanged or perfect, or if we've just had enough.
}while(scale!==(scale=currentValue()/initial)&&scale!==1&&--maxIterations);}if(valueParts){initialInUnit=+initialInUnit||+initial||0;// Apply relative offset (+=/-=) if specified
adjusted=valueParts[1]?initialInUnit+(valueParts[1]+1)*valueParts[2]:+valueParts[2];if(tween){tween.unit=unit;tween.start=initialInUnit;tween.end=adjusted;}}return adjusted;}var defaultDisplayMap={};function getDefaultDisplay(elem){var temp,doc=elem.ownerDocument,nodeName=elem.nodeName,display=defaultDisplayMap[nodeName];if(display){return display;}temp=doc.body.appendChild(doc.createElement(nodeName));display=jQuery.css(temp,"display");temp.parentNode.removeChild(temp);if(display==="none"){display="block";}defaultDisplayMap[nodeName]=display;return display;}function showHide(elements,show){var display,elem,values=[],index=0,length=elements.length;// Determine new display value for elements that need to change
for(;index<length;index++){elem=elements[index];if(!elem.style){continue;}display=elem.style.display;if(show){// Since we force visibility upon cascade-hidden elements, an immediate (and slow)
// check is required in this first loop unless we have a nonempty display value (either
// inline or about-to-be-restored)
if(display==="none"){values[index]=dataPriv.get(elem,"display")||null;if(!values[index]){elem.style.display="";}}if(elem.style.display===""&&isHiddenWithinTree(elem)){values[index]=getDefaultDisplay(elem);}}else{if(display!=="none"){values[index]="none";// Remember what we're overwriting
dataPriv.set(elem,"display",display);}}}// Set the display of the elements in a second loop to avoid constant reflow
for(index=0;index<length;index++){if(values[index]!=null){elements[index].style.display=values[index];}}return elements;}jQuery.fn.extend({show:function show(){return showHide(this,true);},hide:function hide(){return showHide(this);},toggle:function toggle(state){if(typeof state==="boolean"){return state?this.show():this.hide();}return this.each(function(){if(isHiddenWithinTree(this)){jQuery(this).show();}else{jQuery(this).hide();}});}});var rcheckableType=/^(?:checkbox|radio)$/i;var rtagName=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i;var rscriptType=/^$|\/(?:java|ecma)script/i;// We have to close these tags to support XHTML (#13200)
var wrapMap={// Support: IE <=9 only
option:[1,"<select multiple='multiple'>","</select>"],// XHTML parsers do not magically insert elements in the
// same way that tag soup parsers do. So we cannot shorten
// this by omitting <tbody> or other required elements.
thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};// Support: IE <=9 only
wrapMap.optgroup=wrapMap.option;wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead;wrapMap.th=wrapMap.td;function getAll(context,tag){// Support: IE <=9 - 11 only
// Use typeof to avoid zero-argument method invocation on host objects (#15151)
var ret;if(typeof context.getElementsByTagName!=="undefined"){ret=context.getElementsByTagName(tag||"*");}else if(typeof context.querySelectorAll!=="undefined"){ret=context.querySelectorAll(tag||"*");}else{ret=[];}if(tag===undefined||tag&&nodeName(context,tag)){return jQuery.merge([context],ret);}return ret;}// Mark scripts as having already been evaluated
function setGlobalEval(elems,refElements){var i=0,l=elems.length;for(;i<l;i++){dataPriv.set(elems[i],"globalEval",!refElements||dataPriv.get(refElements[i],"globalEval"));}}var rhtml=/<|&#?\w+;/;function buildFragment(elems,context,scripts,selection,ignored){var elem,tmp,tag,wrap,contains,j,fragment=context.createDocumentFragment(),nodes=[],i=0,l=elems.length;for(;i<l;i++){elem=elems[i];if(elem||elem===0){// Add nodes directly
if(jQuery.type(elem)==="object"){// Support: Android <=4.0 only, PhantomJS 1 only
// push.apply(_, arraylike) throws on ancient WebKit
jQuery.merge(nodes,elem.nodeType?[elem]:elem);// Convert non-html into a text node
}else if(!rhtml.test(elem)){nodes.push(context.createTextNode(elem));// Convert html into DOM nodes
}else{tmp=tmp||fragment.appendChild(context.createElement("div"));// Deserialize a standard representation
tag=(rtagName.exec(elem)||["",""])[1].toLowerCase();wrap=wrapMap[tag]||wrapMap._default;tmp.innerHTML=wrap[1]+jQuery.htmlPrefilter(elem)+wrap[2];// Descend through wrappers to the right content
j=wrap[0];while(j--){tmp=tmp.lastChild;}// Support: Android <=4.0 only, PhantomJS 1 only
// push.apply(_, arraylike) throws on ancient WebKit
jQuery.merge(nodes,tmp.childNodes);// Remember the top-level container
tmp=fragment.firstChild;// Ensure the created nodes are orphaned (#12392)
tmp.textContent="";}}}// Remove wrapper from fragment
fragment.textContent="";i=0;while(elem=nodes[i++]){// Skip elements already in the context collection (trac-4087)
if(selection&&jQuery.inArray(elem,selection)>-1){if(ignored){ignored.push(elem);}continue;}contains=jQuery.contains(elem.ownerDocument,elem);// Append to fragment
tmp=getAll(fragment.appendChild(elem),"script");// Preserve script evaluation history
if(contains){setGlobalEval(tmp);}// Capture executables
if(scripts){j=0;while(elem=tmp[j++]){if(rscriptType.test(elem.type||"")){scripts.push(elem);}}}}return fragment;}(function(){var fragment=document.createDocumentFragment(),div=fragment.appendChild(document.createElement("div")),input=document.createElement("input");// Support: Android 4.0 - 4.3 only
// Check state lost if the name is set (#11217)
// Support: Windows Web Apps (WWA)
// `name` and `type` must use .setAttribute for WWA (#14901)
input.setAttribute("type","radio");input.setAttribute("checked","checked");input.setAttribute("name","t");div.appendChild(input);// Support: Android <=4.1 only
// Older WebKit doesn't clone checked state correctly in fragments
support.checkClone=div.cloneNode(true).cloneNode(true).lastChild.checked;// Support: IE <=11 only
// Make sure textarea (and checkbox) defaultValue is properly cloned
div.innerHTML="<textarea>x</textarea>";support.noCloneChecked=!!div.cloneNode(true).lastChild.defaultValue;})();var documentElement=document.documentElement;var rkeyEvent=/^key/,rmouseEvent=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,rtypenamespace=/^([^.]*)(?:\.(.+)|)/;function returnTrue(){return true;}function returnFalse(){return false;}// Support: IE <=9 only
// See #13393 for more info
function safeActiveElement(){try{return document.activeElement;}catch(err){}}function _on(elem,types,selector,data,fn,one){var origFn,type;// Types can be a map of types/handlers
if((typeof types==="undefined"?"undefined":_typeof(types))==="object"){// ( types-Object, selector, data )
if(typeof selector!=="string"){// ( types-Object, data )
data=data||selector;selector=undefined;}for(type in types){_on(elem,type,selector,data,types[type],one);}return elem;}if(data==null&&fn==null){// ( types, fn )
fn=selector;data=selector=undefined;}else if(fn==null){if(typeof selector==="string"){// ( types, selector, fn )
fn=data;data=undefined;}else{// ( types, data, fn )
fn=data;data=selector;selector=undefined;}}if(fn===false){fn=returnFalse;}else if(!fn){return elem;}if(one===1){origFn=fn;fn=function fn(event){// Can use an empty set, since event contains the info
jQuery().off(event);return origFn.apply(this,arguments);};// Use same guid so caller can remove using origFn
fn.guid=origFn.guid||(origFn.guid=jQuery.guid++);}return elem.each(function(){jQuery.event.add(this,types,fn,data,selector);});}/*
  * Helper functions for managing events -- not part of the public interface.
  * Props to Dean Edwards' addEvent library for many of the ideas.
  */jQuery.event={global:{},add:function add(elem,types,handler,data,selector){var handleObjIn,eventHandle,tmp,events,t,handleObj,special,handlers,type,namespaces,origType,elemData=dataPriv.get(elem);// Don't attach events to noData or text/comment nodes (but allow plain objects)
if(!elemData){return;}// Caller can pass in an object of custom data in lieu of the handler
if(handler.handler){handleObjIn=handler;handler=handleObjIn.handler;selector=handleObjIn.selector;}// Ensure that invalid selectors throw exceptions at attach time
// Evaluate against documentElement in case elem is a non-element node (e.g., document)
if(selector){jQuery.find.matchesSelector(documentElement,selector);}// Make sure that the handler has a unique ID, used to find/remove it later
if(!handler.guid){handler.guid=jQuery.guid++;}// Init the element's event structure and main handler, if this is the first
if(!(events=elemData.events)){events=elemData.events={};}if(!(eventHandle=elemData.handle)){eventHandle=elemData.handle=function(e){// Discard the second event of a jQuery.event.trigger() and
// when an event is called after a page has unloaded
return typeof jQuery!=="undefined"&&jQuery.event.triggered!==e.type?jQuery.event.dispatch.apply(elem,arguments):undefined;};}// Handle multiple events separated by a space
types=(types||"").match(rnothtmlwhite)||[""];t=types.length;while(t--){tmp=rtypenamespace.exec(types[t])||[];type=origType=tmp[1];namespaces=(tmp[2]||"").split(".").sort();// There *must* be a type, no attaching namespace-only handlers
if(!type){continue;}// If event changes its type, use the special event handlers for the changed type
special=jQuery.event.special[type]||{};// If selector defined, determine special event api type, otherwise given type
type=(selector?special.delegateType:special.bindType)||type;// Update special based on newly reset type
special=jQuery.event.special[type]||{};// handleObj is passed to all event handlers
handleObj=jQuery.extend({type:type,origType:origType,data:data,handler:handler,guid:handler.guid,selector:selector,needsContext:selector&&jQuery.expr.match.needsContext.test(selector),namespace:namespaces.join(".")},handleObjIn);// Init the event handler queue if we're the first
if(!(handlers=events[type])){handlers=events[type]=[];handlers.delegateCount=0;// Only use addEventListener if the special events handler returns false
if(!special.setup||special.setup.call(elem,data,namespaces,eventHandle)===false){if(elem.addEventListener){elem.addEventListener(type,eventHandle);}}}if(special.add){special.add.call(elem,handleObj);if(!handleObj.handler.guid){handleObj.handler.guid=handler.guid;}}// Add to the element's handler list, delegates in front
if(selector){handlers.splice(handlers.delegateCount++,0,handleObj);}else{handlers.push(handleObj);}// Keep track of which events have ever been used, for event optimization
jQuery.event.global[type]=true;}},// Detach an event or set of events from an element
remove:function remove(elem,types,handler,selector,mappedTypes){var j,origCount,tmp,events,t,handleObj,special,handlers,type,namespaces,origType,elemData=dataPriv.hasData(elem)&&dataPriv.get(elem);if(!elemData||!(events=elemData.events)){return;}// Once for each type.namespace in types; type may be omitted
types=(types||"").match(rnothtmlwhite)||[""];t=types.length;while(t--){tmp=rtypenamespace.exec(types[t])||[];type=origType=tmp[1];namespaces=(tmp[2]||"").split(".").sort();// Unbind all events (on this namespace, if provided) for the element
if(!type){for(type in events){jQuery.event.remove(elem,type+types[t],handler,selector,true);}continue;}special=jQuery.event.special[type]||{};type=(selector?special.delegateType:special.bindType)||type;handlers=events[type]||[];tmp=tmp[2]&&new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)");// Remove matching events
origCount=j=handlers.length;while(j--){handleObj=handlers[j];if((mappedTypes||origType===handleObj.origType)&&(!handler||handler.guid===handleObj.guid)&&(!tmp||tmp.test(handleObj.namespace))&&(!selector||selector===handleObj.selector||selector==="**"&&handleObj.selector)){handlers.splice(j,1);if(handleObj.selector){handlers.delegateCount--;}if(special.remove){special.remove.call(elem,handleObj);}}}// Remove generic event handler if we removed something and no more handlers exist
// (avoids potential for endless recursion during removal of special event handlers)
if(origCount&&!handlers.length){if(!special.teardown||special.teardown.call(elem,namespaces,elemData.handle)===false){jQuery.removeEvent(elem,type,elemData.handle);}delete events[type];}}// Remove data and the expando if it's no longer used
if(jQuery.isEmptyObject(events)){dataPriv.remove(elem,"handle events");}},dispatch:function dispatch(nativeEvent){// Make a writable jQuery.Event from the native event object
var event=jQuery.event.fix(nativeEvent);var i,j,ret,matched,handleObj,handlerQueue,args=new Array(arguments.length),handlers=(dataPriv.get(this,"events")||{})[event.type]||[],special=jQuery.event.special[event.type]||{};// Use the fix-ed jQuery.Event rather than the (read-only) native event
args[0]=event;for(i=1;i<arguments.length;i++){args[i]=arguments[i];}event.delegateTarget=this;// Call the preDispatch hook for the mapped type, and let it bail if desired
if(special.preDispatch&&special.preDispatch.call(this,event)===false){return;}// Determine handlers
handlerQueue=jQuery.event.handlers.call(this,event,handlers);// Run delegates first; they may want to stop propagation beneath us
i=0;while((matched=handlerQueue[i++])&&!event.isPropagationStopped()){event.currentTarget=matched.elem;j=0;while((handleObj=matched.handlers[j++])&&!event.isImmediatePropagationStopped()){// Triggered event must either 1) have no namespace, or 2) have namespace(s)
// a subset or equal to those in the bound event (both can have no namespace).
if(!event.rnamespace||event.rnamespace.test(handleObj.namespace)){event.handleObj=handleObj;event.data=handleObj.data;ret=((jQuery.event.special[handleObj.origType]||{}).handle||handleObj.handler).apply(matched.elem,args);if(ret!==undefined){if((event.result=ret)===false){event.preventDefault();event.stopPropagation();}}}}}// Call the postDispatch hook for the mapped type
if(special.postDispatch){special.postDispatch.call(this,event);}return event.result;},handlers:function handlers(event,_handlers){var i,handleObj,sel,matchedHandlers,matchedSelectors,handlerQueue=[],delegateCount=_handlers.delegateCount,cur=event.target;// Find delegate handlers
if(delegateCount&&// Support: IE <=9
// Black-hole SVG <use> instance trees (trac-13180)
cur.nodeType&&// Support: Firefox <=42
// Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)
// https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click
// Support: IE 11 only
// ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343)
!(event.type==="click"&&event.button>=1)){for(;cur!==this;cur=cur.parentNode||this){// Don't check non-elements (#13208)
// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
if(cur.nodeType===1&&!(event.type==="click"&&cur.disabled===true)){matchedHandlers=[];matchedSelectors={};for(i=0;i<delegateCount;i++){handleObj=_handlers[i];// Don't conflict with Object.prototype properties (#13203)
sel=handleObj.selector+" ";if(matchedSelectors[sel]===undefined){matchedSelectors[sel]=handleObj.needsContext?jQuery(sel,this).index(cur)>-1:jQuery.find(sel,this,null,[cur]).length;}if(matchedSelectors[sel]){matchedHandlers.push(handleObj);}}if(matchedHandlers.length){handlerQueue.push({elem:cur,handlers:matchedHandlers});}}}}// Add the remaining (directly-bound) handlers
cur=this;if(delegateCount<_handlers.length){handlerQueue.push({elem:cur,handlers:_handlers.slice(delegateCount)});}return handlerQueue;},addProp:function addProp(name,hook){Object.defineProperty(jQuery.Event.prototype,name,{enumerable:true,configurable:true,get:jQuery.isFunction(hook)?function(){if(this.originalEvent){return hook(this.originalEvent);}}:function(){if(this.originalEvent){return this.originalEvent[name];}},set:function set(value){Object.defineProperty(this,name,{enumerable:true,configurable:true,writable:true,value:value});}});},fix:function fix(originalEvent){return originalEvent[jQuery.expando]?originalEvent:new jQuery.Event(originalEvent);},special:{load:{// Prevent triggered image.load events from bubbling to window.load
noBubble:true},focus:{// Fire native event if possible so blur/focus sequence is correct
trigger:function trigger(){if(this!==safeActiveElement()&&this.focus){this.focus();return false;}},delegateType:"focusin"},blur:{trigger:function trigger(){if(this===safeActiveElement()&&this.blur){this.blur();return false;}},delegateType:"focusout"},click:{// For checkbox, fire native event so checked state will be right
trigger:function trigger(){if(this.type==="checkbox"&&this.click&&nodeName(this,"input")){this.click();return false;}},// For cross-browser consistency, don't fire native .click() on links
_default:function _default(event){return nodeName(event.target,"a");}},beforeunload:{postDispatch:function postDispatch(event){// Support: Firefox 20+
// Firefox doesn't alert if the returnValue field is not set.
if(event.result!==undefined&&event.originalEvent){event.originalEvent.returnValue=event.result;}}}}};jQuery.removeEvent=function(elem,type,handle){// This "if" is needed for plain objects
if(elem.removeEventListener){elem.removeEventListener(type,handle);}};jQuery.Event=function(src,props){// Allow instantiation without the 'new' keyword
if(!_instanceof(this,jQuery.Event)){return new jQuery.Event(src,props);}// Event object
if(src&&src.type){this.originalEvent=src;this.type=src.type;// Events bubbling up the document may have been marked as prevented
// by a handler lower down the tree; reflect the correct value.
this.isDefaultPrevented=src.defaultPrevented||src.defaultPrevented===undefined&&// Support: Android <=2.3 only
src.returnValue===false?returnTrue:returnFalse;// Create target properties
// Support: Safari <=6 - 7 only
// Target should not be a text node (#504, #13143)
this.target=src.target&&src.target.nodeType===3?src.target.parentNode:src.target;this.currentTarget=src.currentTarget;this.relatedTarget=src.relatedTarget;// Event type
}else{this.type=src;}// Put explicitly provided properties onto the event object
if(props){jQuery.extend(this,props);}// Create a timestamp if incoming event doesn't have one
this.timeStamp=src&&src.timeStamp||jQuery.now();// Mark it as fixed
this[jQuery.expando]=true;};// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
jQuery.Event.prototype={constructor:jQuery.Event,isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse,isSimulated:false,preventDefault:function preventDefault(){var e=this.originalEvent;this.isDefaultPrevented=returnTrue;if(e&&!this.isSimulated){e.preventDefault();}},stopPropagation:function stopPropagation(){var e=this.originalEvent;this.isPropagationStopped=returnTrue;if(e&&!this.isSimulated){e.stopPropagation();}},stopImmediatePropagation:function stopImmediatePropagation(){var e=this.originalEvent;this.isImmediatePropagationStopped=returnTrue;if(e&&!this.isSimulated){e.stopImmediatePropagation();}this.stopPropagation();}};// Includes all common event props including KeyEvent and MouseEvent specific props
jQuery.each({altKey:true,bubbles:true,cancelable:true,changedTouches:true,ctrlKey:true,detail:true,eventPhase:true,metaKey:true,pageX:true,pageY:true,shiftKey:true,view:true,"char":true,charCode:true,key:true,keyCode:true,button:true,buttons:true,clientX:true,clientY:true,offsetX:true,offsetY:true,pointerId:true,pointerType:true,screenX:true,screenY:true,targetTouches:true,toElement:true,touches:true,which:function which(event){var button=event.button;// Add which for key events
if(event.which==null&&rkeyEvent.test(event.type)){return event.charCode!=null?event.charCode:event.keyCode;}// Add which for click: 1 === left; 2 === middle; 3 === right
if(!event.which&&button!==undefined&&rmouseEvent.test(event.type)){if(button&1){return 1;}if(button&2){return 3;}if(button&4){return 2;}return 0;}return event.which;}},jQuery.event.addProp);// Create mouseenter/leave events using mouseover/out and event-time checks
// so that event delegation works in jQuery.
// Do the same for pointerenter/pointerleave and pointerover/pointerout
//
// Support: Safari 7 only
// Safari sends mouseenter too often; see:
// https://bugs.chromium.org/p/chromium/issues/detail?id=470258
// for the description of the bug (it existed in older Chrome versions as well).
jQuery.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(orig,fix){jQuery.event.special[orig]={delegateType:fix,bindType:fix,handle:function handle(event){var ret,target=this,related=event.relatedTarget,handleObj=event.handleObj;// For mouseenter/leave call the handler if related is outside the target.
// NB: No relatedTarget if the mouse left/entered the browser window
if(!related||related!==target&&!jQuery.contains(target,related)){event.type=handleObj.origType;ret=handleObj.handler.apply(this,arguments);event.type=fix;}return ret;}};});jQuery.fn.extend({on:function on(types,selector,data,fn){return _on(this,types,selector,data,fn);},one:function one(types,selector,data,fn){return _on(this,types,selector,data,fn,1);},off:function off(types,selector,fn){var handleObj,type;if(types&&types.preventDefault&&types.handleObj){// ( event )  dispatched jQuery.Event
handleObj=types.handleObj;jQuery(types.delegateTarget).off(handleObj.namespace?handleObj.origType+"."+handleObj.namespace:handleObj.origType,handleObj.selector,handleObj.handler);return this;}if((typeof types==="undefined"?"undefined":_typeof(types))==="object"){// ( types-object [, selector] )
for(type in types){this.off(type,selector,types[type]);}return this;}if(selector===false||typeof selector==="function"){// ( types [, fn] )
fn=selector;selector=undefined;}if(fn===false){fn=returnFalse;}return this.each(function(){jQuery.event.remove(this,types,fn,selector);});}});var/* eslint-disable max-len */ // See https://github.com/eslint/eslint/issues/3229
rxhtmlTag=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,/* eslint-enable */ // Support: IE <=10 - 11, Edge 12 - 13
// In IE/Edge using regex groups here causes severe slowdowns.
// See https://connect.microsoft.com/IE/feedback/details/1736512/
rnoInnerhtml=/<script|<style|<link/i,// checked="checked" or checked
rchecked=/checked\s*(?:[^=]|=\s*.checked.)/i,rscriptTypeMasked=/^true\/(.*)/,rcleanScript=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;// Prefer a tbody over its parent table for containing new rows
function manipulationTarget(elem,content){if(nodeName(elem,"table")&&nodeName(content.nodeType!==11?content:content.firstChild,"tr")){return jQuery(">tbody",elem)[0]||elem;}return elem;}// Replace/restore the type attribute of script elements for safe DOM manipulation
function disableScript(elem){elem.type=(elem.getAttribute("type")!==null)+"/"+elem.type;return elem;}function restoreScript(elem){var match=rscriptTypeMasked.exec(elem.type);if(match){elem.type=match[1];}else{elem.removeAttribute("type");}return elem;}function cloneCopyEvent(src,dest){var i,l,type,pdataOld,pdataCur,udataOld,udataCur,events;if(dest.nodeType!==1){return;}// 1. Copy private data: events, handlers, etc.
if(dataPriv.hasData(src)){pdataOld=dataPriv.access(src);pdataCur=dataPriv.set(dest,pdataOld);events=pdataOld.events;if(events){delete pdataCur.handle;pdataCur.events={};for(type in events){for(i=0,l=events[type].length;i<l;i++){jQuery.event.add(dest,type,events[type][i]);}}}}// 2. Copy user data
if(dataUser.hasData(src)){udataOld=dataUser.access(src);udataCur=jQuery.extend({},udataOld);dataUser.set(dest,udataCur);}}// Fix IE bugs, see support tests
function fixInput(src,dest){var nodeName=dest.nodeName.toLowerCase();// Fails to persist the checked state of a cloned checkbox or radio button.
if(nodeName==="input"&&rcheckableType.test(src.type)){dest.checked=src.checked;// Fails to return the selected option to the default selected state when cloning options
}else if(nodeName==="input"||nodeName==="textarea"){dest.defaultValue=src.defaultValue;}}function domManip(collection,args,callback,ignored){// Flatten any nested arrays
args=concat.apply([],args);var fragment,first,scripts,hasScripts,node,doc,i=0,l=collection.length,iNoClone=l-1,value=args[0],isFunction=jQuery.isFunction(value);// We can't cloneNode fragments that contain checked, in WebKit
if(isFunction||l>1&&typeof value==="string"&&!support.checkClone&&rchecked.test(value)){return collection.each(function(index){var self=collection.eq(index);if(isFunction){args[0]=value.call(this,index,self.html());}domManip(self,args,callback,ignored);});}if(l){fragment=buildFragment(args,collection[0].ownerDocument,false,collection,ignored);first=fragment.firstChild;if(fragment.childNodes.length===1){fragment=first;}// Require either new content or an interest in ignored elements to invoke the callback
if(first||ignored){scripts=jQuery.map(getAll(fragment,"script"),disableScript);hasScripts=scripts.length;// Use the original fragment for the last item
// instead of the first because it can end up
// being emptied incorrectly in certain situations (#8070).
for(;i<l;i++){node=fragment;if(i!==iNoClone){node=jQuery.clone(node,true,true);// Keep references to cloned scripts for later restoration
if(hasScripts){// Support: Android <=4.0 only, PhantomJS 1 only
// push.apply(_, arraylike) throws on ancient WebKit
jQuery.merge(scripts,getAll(node,"script"));}}callback.call(collection[i],node,i);}if(hasScripts){doc=scripts[scripts.length-1].ownerDocument;// Reenable scripts
jQuery.map(scripts,restoreScript);// Evaluate executable scripts on first document insertion
for(i=0;i<hasScripts;i++){node=scripts[i];if(rscriptType.test(node.type||"")&&!dataPriv.access(node,"globalEval")&&jQuery.contains(doc,node)){if(node.src){// Optional AJAX dependency, but won't run scripts if not present
if(jQuery._evalUrl){jQuery._evalUrl(node.src);}}else{DOMEval(node.textContent.replace(rcleanScript,""),doc);}}}}}}return collection;}function _remove(elem,selector,keepData){var node,nodes=selector?jQuery.filter(selector,elem):elem,i=0;for(;(node=nodes[i])!=null;i++){if(!keepData&&node.nodeType===1){jQuery.cleanData(getAll(node));}if(node.parentNode){if(keepData&&jQuery.contains(node.ownerDocument,node)){setGlobalEval(getAll(node,"script"));}node.parentNode.removeChild(node);}}return elem;}jQuery.extend({htmlPrefilter:function htmlPrefilter(html){return html.replace(rxhtmlTag,"<$1></$2>");},clone:function clone(elem,dataAndEvents,deepDataAndEvents){var i,l,srcElements,destElements,clone=elem.cloneNode(true),inPage=jQuery.contains(elem.ownerDocument,elem);// Fix IE cloning issues
if(!support.noCloneChecked&&(elem.nodeType===1||elem.nodeType===11)&&!jQuery.isXMLDoc(elem)){// We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2
destElements=getAll(clone);srcElements=getAll(elem);for(i=0,l=srcElements.length;i<l;i++){fixInput(srcElements[i],destElements[i]);}}// Copy the events from the original to the clone
if(dataAndEvents){if(deepDataAndEvents){srcElements=srcElements||getAll(elem);destElements=destElements||getAll(clone);for(i=0,l=srcElements.length;i<l;i++){cloneCopyEvent(srcElements[i],destElements[i]);}}else{cloneCopyEvent(elem,clone);}}// Preserve script evaluation history
destElements=getAll(clone,"script");if(destElements.length>0){setGlobalEval(destElements,!inPage&&getAll(elem,"script"));}// Return the cloned set
return clone;},cleanData:function cleanData(elems){var data,elem,type,special=jQuery.event.special,i=0;for(;(elem=elems[i])!==undefined;i++){if(acceptData(elem)){if(data=elem[dataPriv.expando]){if(data.events){for(type in data.events){if(special[type]){jQuery.event.remove(elem,type);// This is a shortcut to avoid jQuery.event.remove's overhead
}else{jQuery.removeEvent(elem,type,data.handle);}}}// Support: Chrome <=35 - 45+
// Assign undefined instead of using delete, see Data#remove
elem[dataPriv.expando]=undefined;}if(elem[dataUser.expando]){// Support: Chrome <=35 - 45+
// Assign undefined instead of using delete, see Data#remove
elem[dataUser.expando]=undefined;}}}}});jQuery.fn.extend({detach:function detach(selector){return _remove(this,selector,true);},remove:function remove(selector){return _remove(this,selector);},text:function text(value){return access(this,function(value){return value===undefined?jQuery.text(this):this.empty().each(function(){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){this.textContent=value;}});},null,value,arguments.length);},append:function append(){return domManip(this,arguments,function(elem){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var target=manipulationTarget(this,elem);target.appendChild(elem);}});},prepend:function prepend(){return domManip(this,arguments,function(elem){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var target=manipulationTarget(this,elem);target.insertBefore(elem,target.firstChild);}});},before:function before(){return domManip(this,arguments,function(elem){if(this.parentNode){this.parentNode.insertBefore(elem,this);}});},after:function after(){return domManip(this,arguments,function(elem){if(this.parentNode){this.parentNode.insertBefore(elem,this.nextSibling);}});},empty:function empty(){var elem,i=0;for(;(elem=this[i])!=null;i++){if(elem.nodeType===1){// Prevent memory leaks
jQuery.cleanData(getAll(elem,false));// Remove any remaining nodes
elem.textContent="";}}return this;},clone:function clone(dataAndEvents,deepDataAndEvents){dataAndEvents=dataAndEvents==null?false:dataAndEvents;deepDataAndEvents=deepDataAndEvents==null?dataAndEvents:deepDataAndEvents;return this.map(function(){return jQuery.clone(this,dataAndEvents,deepDataAndEvents);});},html:function html(value){return access(this,function(value){var elem=this[0]||{},i=0,l=this.length;if(value===undefined&&elem.nodeType===1){return elem.innerHTML;}// See if we can take a shortcut and just use innerHTML
if(typeof value==="string"&&!rnoInnerhtml.test(value)&&!wrapMap[(rtagName.exec(value)||["",""])[1].toLowerCase()]){value=jQuery.htmlPrefilter(value);try{for(;i<l;i++){elem=this[i]||{};// Remove element nodes and prevent memory leaks
if(elem.nodeType===1){jQuery.cleanData(getAll(elem,false));elem.innerHTML=value;}}elem=0;// If using innerHTML throws an exception, use the fallback method
}catch(e){}}if(elem){this.empty().append(value);}},null,value,arguments.length);},replaceWith:function replaceWith(){var ignored=[];// Make the changes, replacing each non-ignored context element with the new content
return domManip(this,arguments,function(elem){var parent=this.parentNode;if(jQuery.inArray(this,ignored)<0){jQuery.cleanData(getAll(this));if(parent){parent.replaceChild(elem,this);}}// Force callback invocation
},ignored);}});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){var elems,ret=[],insert=jQuery(selector),last=insert.length-1,i=0;for(;i<=last;i++){elems=i===last?this:this.clone(true);jQuery(insert[i])[original](elems);// Support: Android <=4.0 only, PhantomJS 1 only
// .get() because push.apply(_, arraylike) throws on ancient WebKit
push.apply(ret,elems.get());}return this.pushStack(ret);};});var rmargin=/^margin/;var rnumnonpx=new RegExp("^("+pnum+")(?!px)[a-z%]+$","i");var getStyles=function getStyles(elem){// Support: IE <=11 only, Firefox <=30 (#15098, #14150)
// IE throws on elements created in popups
// FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
var view=elem.ownerDocument.defaultView;if(!view||!view.opener){view=window;}return view.getComputedStyle(elem);};(function(){// Executing both pixelPosition & boxSizingReliable tests require only one layout
// so they're executed at the same time to save the second computation.
function computeStyleTests(){// This is a singleton, we need to execute it only once
if(!div){return;}div.style.cssText="box-sizing:border-box;"+"position:relative;display:block;"+"margin:auto;border:1px;padding:1px;"+"top:1%;width:50%";div.innerHTML="";documentElement.appendChild(container);var divStyle=window.getComputedStyle(div);pixelPositionVal=divStyle.top!=="1%";// Support: Android 4.0 - 4.3 only, Firefox <=3 - 44
reliableMarginLeftVal=divStyle.marginLeft==="2px";boxSizingReliableVal=divStyle.width==="4px";// Support: Android 4.0 - 4.3 only
// Some styles come back with percentage values, even though they shouldn't
div.style.marginRight="50%";pixelMarginRightVal=divStyle.marginRight==="4px";documentElement.removeChild(container);// Nullify the div so it wouldn't be stored in the memory and
// it will also be a sign that checks already performed
div=null;}var pixelPositionVal,boxSizingReliableVal,pixelMarginRightVal,reliableMarginLeftVal,container=document.createElement("div"),div=document.createElement("div");// Finish early in limited (non-browser) environments
if(!div.style){return;}// Support: IE <=9 - 11 only
// Style of cloned element affects source element cloned (#8908)
div.style.backgroundClip="content-box";div.cloneNode(true).style.backgroundClip="";support.clearCloneStyle=div.style.backgroundClip==="content-box";container.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;"+"padding:0;margin-top:1px;position:absolute";container.appendChild(div);jQuery.extend(support,{pixelPosition:function pixelPosition(){computeStyleTests();return pixelPositionVal;},boxSizingReliable:function boxSizingReliable(){computeStyleTests();return boxSizingReliableVal;},pixelMarginRight:function pixelMarginRight(){computeStyleTests();return pixelMarginRightVal;},reliableMarginLeft:function reliableMarginLeft(){computeStyleTests();return reliableMarginLeftVal;}});})();function curCSS(elem,name,computed){var width,minWidth,maxWidth,ret,// Support: Firefox 51+
// Retrieving style before computed somehow
// fixes an issue with getting wrong values
// on detached elements
style=elem.style;computed=computed||getStyles(elem);// getPropertyValue is needed for:
//   .css('filter') (IE 9 only, #12537)
//   .css('--customProperty) (#3144)
if(computed){ret=computed.getPropertyValue(name)||computed[name];if(ret===""&&!jQuery.contains(elem.ownerDocument,elem)){ret=jQuery.style(elem,name);}// A tribute to the "awesome hack by Dean Edwards"
// Android Browser returns percentage for some values,
// but width seems to be reliably pixels.
// This is against the CSSOM draft spec:
// https://drafts.csswg.org/cssom/#resolved-values
if(!support.pixelMarginRight()&&rnumnonpx.test(ret)&&rmargin.test(name)){// Remember the original values
width=style.width;minWidth=style.minWidth;maxWidth=style.maxWidth;// Put in the new values to get a computed value out
style.minWidth=style.maxWidth=style.width=ret;ret=computed.width;// Revert the changed values
style.width=width;style.minWidth=minWidth;style.maxWidth=maxWidth;}}return ret!==undefined?// Support: IE <=9 - 11 only
// IE returns zIndex value as an integer.
ret+"":ret;}function addGetHookIf(conditionFn,hookFn){// Define the hook, we'll check on the first run if it's really needed.
return{get:function get(){if(conditionFn()){// Hook not needed (or it's not possible to use it due
// to missing dependency), remove it.
delete this.get;return;}// Hook needed; redefine it so that the support test is not executed again.
return(this.get=hookFn).apply(this,arguments);}};}var// Swappable if display is none or starts with table
// except "table", "table-cell", or "table-caption"
// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
rdisplayswap=/^(none|table(?!-c[ea]).+)/,rcustomProp=/^--/,cssShow={position:"absolute",visibility:"hidden",display:"block"},cssNormalTransform={letterSpacing:"0",fontWeight:"400"},cssPrefixes=["Webkit","Moz","ms"],emptyStyle=document.createElement("div").style;// Return a css property mapped to a potentially vendor prefixed property
function vendorPropName(name){// Shortcut for names that are not vendor prefixed
if(name in emptyStyle){return name;}// Check for vendor prefixed names
var capName=name[0].toUpperCase()+name.slice(1),i=cssPrefixes.length;while(i--){name=cssPrefixes[i]+capName;if(name in emptyStyle){return name;}}}// Return a property mapped along what jQuery.cssProps suggests or to
// a vendor prefixed property.
function finalPropName(name){var ret=jQuery.cssProps[name];if(!ret){ret=jQuery.cssProps[name]=vendorPropName(name)||name;}return ret;}function setPositiveNumber(elem,value,subtract){// Any relative (+/-) values have already been
// normalized at this point
var matches=rcssNum.exec(value);return matches?// Guard against undefined "subtract", e.g., when used as in cssHooks
Math.max(0,matches[2]-(subtract||0))+(matches[3]||"px"):value;}function augmentWidthOrHeight(elem,name,extra,isBorderBox,styles){var i,val=0;// If we already have the right measurement, avoid augmentation
if(extra===(isBorderBox?"border":"content")){i=4;// Otherwise initialize for horizontal or vertical properties
}else{i=name==="width"?1:0;}for(;i<4;i+=2){// Both box models exclude margin, so add it if we want it
if(extra==="margin"){val+=jQuery.css(elem,extra+cssExpand[i],true,styles);}if(isBorderBox){// border-box includes padding, so remove it if we want content
if(extra==="content"){val-=jQuery.css(elem,"padding"+cssExpand[i],true,styles);}// At this point, extra isn't border nor margin, so remove border
if(extra!=="margin"){val-=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles);}}else{// At this point, extra isn't content, so add padding
val+=jQuery.css(elem,"padding"+cssExpand[i],true,styles);// At this point, extra isn't content nor padding, so add border
if(extra!=="padding"){val+=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles);}}}return val;}function getWidthOrHeight(elem,name,extra){// Start with computed style
var valueIsBorderBox,styles=getStyles(elem),val=curCSS(elem,name,styles),isBorderBox=jQuery.css(elem,"boxSizing",false,styles)==="border-box";// Computed unit is not pixels. Stop here and return.
if(rnumnonpx.test(val)){return val;}// Check for style in case a browser which returns unreliable values
// for getComputedStyle silently falls back to the reliable elem.style
valueIsBorderBox=isBorderBox&&(support.boxSizingReliable()||val===elem.style[name]);// Fall back to offsetWidth/Height when value is "auto"
// This happens for inline elements with no explicit setting (gh-3571)
if(val==="auto"){val=elem["offset"+name[0].toUpperCase()+name.slice(1)];}// Normalize "", auto, and prepare for extra
val=parseFloat(val)||0;// Use the active box-sizing model to add/subtract irrelevant styles
return val+augmentWidthOrHeight(elem,name,extra||(isBorderBox?"border":"content"),valueIsBorderBox,styles)+"px";}jQuery.extend({// Add in style property hooks for overriding the default
// behavior of getting and setting a style property
cssHooks:{opacity:{get:function get(elem,computed){if(computed){// We should always get a number back from opacity
var ret=curCSS(elem,"opacity");return ret===""?"1":ret;}}}},// Don't automatically add "px" to these possibly-unitless properties
cssNumber:{"animationIterationCount":true,"columnCount":true,"fillOpacity":true,"flexGrow":true,"flexShrink":true,"fontWeight":true,"lineHeight":true,"opacity":true,"order":true,"orphans":true,"widows":true,"zIndex":true,"zoom":true},// Add in properties whose names you wish to fix before
// setting or getting the value
cssProps:{"float":"cssFloat"},// Get and set the style property on a DOM Node
style:function style(elem,name,value,extra){// Don't set styles on text and comment nodes
if(!elem||elem.nodeType===3||elem.nodeType===8||!elem.style){return;}// Make sure that we're working with the right name
var ret,type,hooks,origName=jQuery.camelCase(name),isCustomProp=rcustomProp.test(name),style=elem.style;// Make sure that we're working with the right name. We don't
// want to query the value if it is a CSS custom property
// since they are user-defined.
if(!isCustomProp){name=finalPropName(origName);}// Gets hook for the prefixed version, then unprefixed version
hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName];// Check if we're setting a value
if(value!==undefined){type=typeof value==="undefined"?"undefined":_typeof(value);// Convert "+=" or "-=" to relative numbers (#7345)
if(type==="string"&&(ret=rcssNum.exec(value))&&ret[1]){value=adjustCSS(elem,name,ret);// Fixes bug #9237
type="number";}// Make sure that null and NaN values aren't set (#7116)
if(value==null||value!==value){return;}// If a number was passed in, add the unit (except for certain CSS properties)
if(type==="number"){value+=ret&&ret[3]||(jQuery.cssNumber[origName]?"":"px");}// background-* props affect original clone's values
if(!support.clearCloneStyle&&value===""&&name.indexOf("background")===0){style[name]="inherit";}// If a hook was provided, use that value, otherwise just set the specified value
if(!hooks||!("set"in hooks)||(value=hooks.set(elem,value,extra))!==undefined){if(isCustomProp){style.setProperty(name,value);}else{style[name]=value;}}}else{// If a hook was provided get the non-computed value from there
if(hooks&&"get"in hooks&&(ret=hooks.get(elem,false,extra))!==undefined){return ret;}// Otherwise just get the value from the style object
return style[name];}},css:function css(elem,name,extra,styles){var val,num,hooks,origName=jQuery.camelCase(name),isCustomProp=rcustomProp.test(name);// Make sure that we're working with the right name. We don't
// want to modify the value if it is a CSS custom property
// since they are user-defined.
if(!isCustomProp){name=finalPropName(origName);}// Try prefixed name followed by the unprefixed name
hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName];// If a hook was provided get the computed value from there
if(hooks&&"get"in hooks){val=hooks.get(elem,true,extra);}// Otherwise, if a way to get the computed value exists, use that
if(val===undefined){val=curCSS(elem,name,styles);}// Convert "normal" to computed value
if(val==="normal"&&name in cssNormalTransform){val=cssNormalTransform[name];}// Make numeric if forced or a qualifier was provided and val looks numeric
if(extra===""||extra){num=parseFloat(val);return extra===true||isFinite(num)?num||0:val;}return val;}});jQuery.each(["height","width"],function(i,name){jQuery.cssHooks[name]={get:function get(elem,computed,extra){if(computed){// Certain elements can have dimension info if we invisibly show them
// but it must have a current display style that would benefit
return rdisplayswap.test(jQuery.css(elem,"display"))&&(// Support: Safari 8+
// Table columns in Safari have non-zero offsetWidth & zero
// getBoundingClientRect().width unless display is changed.
// Support: IE <=11 only
// Running getBoundingClientRect on a disconnected node
// in IE throws an error.
!elem.getClientRects().length||!elem.getBoundingClientRect().width)?swap(elem,cssShow,function(){return getWidthOrHeight(elem,name,extra);}):getWidthOrHeight(elem,name,extra);}},set:function set(elem,value,extra){var matches,styles=extra&&getStyles(elem),subtract=extra&&augmentWidthOrHeight(elem,name,extra,jQuery.css(elem,"boxSizing",false,styles)==="border-box",styles);// Convert to pixels if value adjustment is needed
if(subtract&&(matches=rcssNum.exec(value))&&(matches[3]||"px")!=="px"){elem.style[name]=value;value=jQuery.css(elem,name);}return setPositiveNumber(elem,value,subtract);}};});jQuery.cssHooks.marginLeft=addGetHookIf(support.reliableMarginLeft,function(elem,computed){if(computed){return(parseFloat(curCSS(elem,"marginLeft"))||elem.getBoundingClientRect().left-swap(elem,{marginLeft:0},function(){return elem.getBoundingClientRect().left;}))+"px";}});// These hooks are used by animate to expand properties
jQuery.each({margin:"",padding:"",border:"Width"},function(prefix,suffix){jQuery.cssHooks[prefix+suffix]={expand:function expand(value){var i=0,expanded={},// Assumes a single number if not a string
parts=typeof value==="string"?value.split(" "):[value];for(;i<4;i++){expanded[prefix+cssExpand[i]+suffix]=parts[i]||parts[i-2]||parts[0];}return expanded;}};if(!rmargin.test(prefix)){jQuery.cssHooks[prefix+suffix].set=setPositiveNumber;}});jQuery.fn.extend({css:function css(name,value){return access(this,function(elem,name,value){var styles,len,map={},i=0;if(Array.isArray(name)){styles=getStyles(elem);len=name.length;for(;i<len;i++){map[name[i]]=jQuery.css(elem,name[i],false,styles);}return map;}return value!==undefined?jQuery.style(elem,name,value):jQuery.css(elem,name);},name,value,arguments.length>1);}});function Tween(elem,options,prop,end,easing){return new Tween.prototype.init(elem,options,prop,end,easing);}jQuery.Tween=Tween;Tween.prototype={constructor:Tween,init:function init(elem,options,prop,end,easing,unit){this.elem=elem;this.prop=prop;this.easing=easing||jQuery.easing._default;this.options=options;this.start=this.now=this.cur();this.end=end;this.unit=unit||(jQuery.cssNumber[prop]?"":"px");},cur:function cur(){var hooks=Tween.propHooks[this.prop];return hooks&&hooks.get?hooks.get(this):Tween.propHooks._default.get(this);},run:function run(percent){var eased,hooks=Tween.propHooks[this.prop];if(this.options.duration){this.pos=eased=jQuery.easing[this.easing](percent,this.options.duration*percent,0,1,this.options.duration);}else{this.pos=eased=percent;}this.now=(this.end-this.start)*eased+this.start;if(this.options.step){this.options.step.call(this.elem,this.now,this);}if(hooks&&hooks.set){hooks.set(this);}else{Tween.propHooks._default.set(this);}return this;}};Tween.prototype.init.prototype=Tween.prototype;Tween.propHooks={_default:{get:function get(tween){var result;// Use a property on the element directly when it is not a DOM element,
// or when there is no matching style property that exists.
if(tween.elem.nodeType!==1||tween.elem[tween.prop]!=null&&tween.elem.style[tween.prop]==null){return tween.elem[tween.prop];}// Passing an empty string as a 3rd parameter to .css will automatically
// attempt a parseFloat and fallback to a string if the parse fails.
// Simple values such as "10px" are parsed to Float;
// complex values such as "rotate(1rad)" are returned as-is.
result=jQuery.css(tween.elem,tween.prop,"");// Empty strings, null, undefined and "auto" are converted to 0.
return!result||result==="auto"?0:result;},set:function set(tween){// Use step hook for back compat.
// Use cssHook if its there.
// Use .style if available and use plain properties where available.
if(jQuery.fx.step[tween.prop]){jQuery.fx.step[tween.prop](tween);}else if(tween.elem.nodeType===1&&(tween.elem.style[jQuery.cssProps[tween.prop]]!=null||jQuery.cssHooks[tween.prop])){jQuery.style(tween.elem,tween.prop,tween.now+tween.unit);}else{tween.elem[tween.prop]=tween.now;}}}};// Support: IE <=9 only
// Panic based approach to setting things on disconnected nodes
Tween.propHooks.scrollTop=Tween.propHooks.scrollLeft={set:function set(tween){if(tween.elem.nodeType&&tween.elem.parentNode){tween.elem[tween.prop]=tween.now;}}};jQuery.easing={linear:function linear(p){return p;},swing:function swing(p){return 0.5-Math.cos(p*Math.PI)/2;},_default:"swing"};jQuery.fx=Tween.prototype.init;// Back compat <1.8 extension point
jQuery.fx.step={};var fxNow,inProgress,rfxtypes=/^(?:toggle|show|hide)$/,rrun=/queueHooks$/;function schedule(){if(inProgress){if(document.hidden===false&&window.requestAnimationFrame){window.requestAnimationFrame(schedule);}else{window.setTimeout(schedule,jQuery.fx.interval);}jQuery.fx.tick();}}// Animations created synchronously will run synchronously
function createFxNow(){window.setTimeout(function(){fxNow=undefined;});return fxNow=jQuery.now();}// Generate parameters to create a standard animation
function genFx(type,includeWidth){var which,i=0,attrs={height:type};// If we include width, step value is 1 to do all cssExpand values,
// otherwise step value is 2 to skip over Left and Right
includeWidth=includeWidth?1:0;for(;i<4;i+=2-includeWidth){which=cssExpand[i];attrs["margin"+which]=attrs["padding"+which]=type;}if(includeWidth){attrs.opacity=attrs.width=type;}return attrs;}function createTween(value,prop,animation){var tween,collection=(Animation.tweeners[prop]||[]).concat(Animation.tweeners["*"]),index=0,length=collection.length;for(;index<length;index++){if(tween=collection[index].call(animation,prop,value)){// We're done with this property
return tween;}}}function defaultPrefilter(elem,props,opts){var prop,value,toggle,hooks,oldfire,propTween,restoreDisplay,display,isBox="width"in props||"height"in props,anim=this,orig={},style=elem.style,hidden=elem.nodeType&&isHiddenWithinTree(elem),dataShow=dataPriv.get(elem,"fxshow");// Queue-skipping animations hijack the fx hooks
if(!opts.queue){hooks=jQuery._queueHooks(elem,"fx");if(hooks.unqueued==null){hooks.unqueued=0;oldfire=hooks.empty.fire;hooks.empty.fire=function(){if(!hooks.unqueued){oldfire();}};}hooks.unqueued++;anim.always(function(){// Ensure the complete handler is called before this completes
anim.always(function(){hooks.unqueued--;if(!jQuery.queue(elem,"fx").length){hooks.empty.fire();}});});}// Detect show/hide animations
for(prop in props){value=props[prop];if(rfxtypes.test(value)){delete props[prop];toggle=toggle||value==="toggle";if(value===(hidden?"hide":"show")){// Pretend to be hidden if this is a "show" and
// there is still data from a stopped show/hide
if(value==="show"&&dataShow&&dataShow[prop]!==undefined){hidden=true;// Ignore all other no-op show/hide data
}else{continue;}}orig[prop]=dataShow&&dataShow[prop]||jQuery.style(elem,prop);}}// Bail out if this is a no-op like .hide().hide()
propTween=!jQuery.isEmptyObject(props);if(!propTween&&jQuery.isEmptyObject(orig)){return;}// Restrict "overflow" and "display" styles during box animations
if(isBox&&elem.nodeType===1){// Support: IE <=9 - 11, Edge 12 - 13
// Record all 3 overflow attributes because IE does not infer the shorthand
// from identically-valued overflowX and overflowY
opts.overflow=[style.overflow,style.overflowX,style.overflowY];// Identify a display type, preferring old show/hide data over the CSS cascade
restoreDisplay=dataShow&&dataShow.display;if(restoreDisplay==null){restoreDisplay=dataPriv.get(elem,"display");}display=jQuery.css(elem,"display");if(display==="none"){if(restoreDisplay){display=restoreDisplay;}else{// Get nonempty value(s) by temporarily forcing visibility
showHide([elem],true);restoreDisplay=elem.style.display||restoreDisplay;display=jQuery.css(elem,"display");showHide([elem]);}}// Animate inline elements as inline-block
if(display==="inline"||display==="inline-block"&&restoreDisplay!=null){if(jQuery.css(elem,"float")==="none"){// Restore the original display value at the end of pure show/hide animations
if(!propTween){anim.done(function(){style.display=restoreDisplay;});if(restoreDisplay==null){display=style.display;restoreDisplay=display==="none"?"":display;}}style.display="inline-block";}}}if(opts.overflow){style.overflow="hidden";anim.always(function(){style.overflow=opts.overflow[0];style.overflowX=opts.overflow[1];style.overflowY=opts.overflow[2];});}// Implement show/hide animations
propTween=false;for(prop in orig){// General show/hide setup for this element animation
if(!propTween){if(dataShow){if("hidden"in dataShow){hidden=dataShow.hidden;}}else{dataShow=dataPriv.access(elem,"fxshow",{display:restoreDisplay});}// Store hidden/visible for toggle so `.stop().toggle()` "reverses"
if(toggle){dataShow.hidden=!hidden;}// Show elements before animating them
if(hidden){showHide([elem],true);}/* eslint-disable no-loop-func */anim.done(function(){/* eslint-enable no-loop-func */ // The final step of a "hide" animation is actually hiding the element
if(!hidden){showHide([elem]);}dataPriv.remove(elem,"fxshow");for(prop in orig){jQuery.style(elem,prop,orig[prop]);}});}// Per-property setup
propTween=createTween(hidden?dataShow[prop]:0,prop,anim);if(!(prop in dataShow)){dataShow[prop]=propTween.start;if(hidden){propTween.end=propTween.start;propTween.start=0;}}}}function propFilter(props,specialEasing){var index,name,easing,value,hooks;// camelCase, specialEasing and expand cssHook pass
for(index in props){name=jQuery.camelCase(index);easing=specialEasing[name];value=props[index];if(Array.isArray(value)){easing=value[1];value=props[index]=value[0];}if(index!==name){props[name]=value;delete props[index];}hooks=jQuery.cssHooks[name];if(hooks&&"expand"in hooks){value=hooks.expand(value);delete props[name];// Not quite $.extend, this won't overwrite existing keys.
// Reusing 'index' because we have the correct "name"
for(index in value){if(!(index in props)){props[index]=value[index];specialEasing[index]=easing;}}}else{specialEasing[name]=easing;}}}function Animation(elem,properties,options){var result,stopped,index=0,length=Animation.prefilters.length,deferred=jQuery.Deferred().always(function(){// Don't match elem in the :animated selector
delete tick.elem;}),tick=function tick(){if(stopped){return false;}var currentTime=fxNow||createFxNow(),remaining=Math.max(0,animation.startTime+animation.duration-currentTime),// Support: Android 2.3 only
// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)
temp=remaining/animation.duration||0,percent=1-temp,index=0,length=animation.tweens.length;for(;index<length;index++){animation.tweens[index].run(percent);}deferred.notifyWith(elem,[animation,percent,remaining]);// If there's more to do, yield
if(percent<1&&length){return remaining;}// If this was an empty animation, synthesize a final progress notification
if(!length){deferred.notifyWith(elem,[animation,1,0]);}// Resolve the animation and report its conclusion
deferred.resolveWith(elem,[animation]);return false;},animation=deferred.promise({elem:elem,props:jQuery.extend({},properties),opts:jQuery.extend(true,{specialEasing:{},easing:jQuery.easing._default},options),originalProperties:properties,originalOptions:options,startTime:fxNow||createFxNow(),duration:options.duration,tweens:[],createTween:function createTween(prop,end){var tween=jQuery.Tween(elem,animation.opts,prop,end,animation.opts.specialEasing[prop]||animation.opts.easing);animation.tweens.push(tween);return tween;},stop:function stop(gotoEnd){var index=0,// If we are going to the end, we want to run all the tweens
// otherwise we skip this part
length=gotoEnd?animation.tweens.length:0;if(stopped){return this;}stopped=true;for(;index<length;index++){animation.tweens[index].run(1);}// Resolve when we played the last frame; otherwise, reject
if(gotoEnd){deferred.notifyWith(elem,[animation,1,0]);deferred.resolveWith(elem,[animation,gotoEnd]);}else{deferred.rejectWith(elem,[animation,gotoEnd]);}return this;}}),props=animation.props;propFilter(props,animation.opts.specialEasing);for(;index<length;index++){result=Animation.prefilters[index].call(animation,elem,props,animation.opts);if(result){if(jQuery.isFunction(result.stop)){jQuery._queueHooks(animation.elem,animation.opts.queue).stop=jQuery.proxy(result.stop,result);}return result;}}jQuery.map(props,createTween,animation);if(jQuery.isFunction(animation.opts.start)){animation.opts.start.call(elem,animation);}// Attach callbacks from options
animation.progress(animation.opts.progress).done(animation.opts.done,animation.opts.complete).fail(animation.opts.fail).always(animation.opts.always);jQuery.fx.timer(jQuery.extend(tick,{elem:elem,anim:animation,queue:animation.opts.queue}));return animation;}jQuery.Animation=jQuery.extend(Animation,{tweeners:{"*":[function(prop,value){var tween=this.createTween(prop,value);adjustCSS(tween.elem,prop,rcssNum.exec(value),tween);return tween;}]},tweener:function tweener(props,callback){if(jQuery.isFunction(props)){callback=props;props=["*"];}else{props=props.match(rnothtmlwhite);}var prop,index=0,length=props.length;for(;index<length;index++){prop=props[index];Animation.tweeners[prop]=Animation.tweeners[prop]||[];Animation.tweeners[prop].unshift(callback);}},prefilters:[defaultPrefilter],prefilter:function prefilter(callback,prepend){if(prepend){Animation.prefilters.unshift(callback);}else{Animation.prefilters.push(callback);}}});jQuery.speed=function(speed,easing,fn){var opt=speed&&(typeof speed==="undefined"?"undefined":_typeof(speed))==="object"?jQuery.extend({},speed):{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};// Go to the end state if fx are off
if(jQuery.fx.off){opt.duration=0;}else{if(typeof opt.duration!=="number"){if(opt.duration in jQuery.fx.speeds){opt.duration=jQuery.fx.speeds[opt.duration];}else{opt.duration=jQuery.fx.speeds._default;}}}// Normalize opt.queue - true/undefined/null -> "fx"
if(opt.queue==null||opt.queue===true){opt.queue="fx";}// Queueing
opt.old=opt.complete;opt.complete=function(){if(jQuery.isFunction(opt.old)){opt.old.call(this);}if(opt.queue){jQuery.dequeue(this,opt.queue);}};return opt;};jQuery.fn.extend({fadeTo:function fadeTo(speed,to,easing,callback){// Show any hidden elements after setting opacity to 0
return this.filter(isHiddenWithinTree).css("opacity",0).show()// Animate to the value specified
.end().animate({opacity:to},speed,easing,callback);},animate:function animate(prop,speed,easing,callback){var empty=jQuery.isEmptyObject(prop),optall=jQuery.speed(speed,easing,callback),doAnimation=function doAnimation(){// Operate on a copy of prop so per-property easing won't be lost
var anim=Animation(this,jQuery.extend({},prop),optall);// Empty animations, or finishing resolves immediately
if(empty||dataPriv.get(this,"finish")){anim.stop(true);}};doAnimation.finish=doAnimation;return empty||optall.queue===false?this.each(doAnimation):this.queue(optall.queue,doAnimation);},stop:function stop(type,clearQueue,gotoEnd){var stopQueue=function stopQueue(hooks){var stop=hooks.stop;delete hooks.stop;stop(gotoEnd);};if(typeof type!=="string"){gotoEnd=clearQueue;clearQueue=type;type=undefined;}if(clearQueue&&type!==false){this.queue(type||"fx",[]);}return this.each(function(){var dequeue=true,index=type!=null&&type+"queueHooks",timers=jQuery.timers,data=dataPriv.get(this);if(index){if(data[index]&&data[index].stop){stopQueue(data[index]);}}else{for(index in data){if(data[index]&&data[index].stop&&rrun.test(index)){stopQueue(data[index]);}}}for(index=timers.length;index--;){if(timers[index].elem===this&&(type==null||timers[index].queue===type)){timers[index].anim.stop(gotoEnd);dequeue=false;timers.splice(index,1);}}// Start the next in the queue if the last step wasn't forced.
// Timers currently will call their complete callbacks, which
// will dequeue but only if they were gotoEnd.
if(dequeue||!gotoEnd){jQuery.dequeue(this,type);}});},finish:function finish(type){if(type!==false){type=type||"fx";}return this.each(function(){var index,data=dataPriv.get(this),queue=data[type+"queue"],hooks=data[type+"queueHooks"],timers=jQuery.timers,length=queue?queue.length:0;// Enable finishing flag on private data
data.finish=true;// Empty the queue first
jQuery.queue(this,type,[]);if(hooks&&hooks.stop){hooks.stop.call(this,true);}// Look for any active animations, and finish them
for(index=timers.length;index--;){if(timers[index].elem===this&&timers[index].queue===type){timers[index].anim.stop(true);timers.splice(index,1);}}// Look for any animations in the old queue and finish them
for(index=0;index<length;index++){if(queue[index]&&queue[index].finish){queue[index].finish.call(this);}}// Turn off finishing flag
delete data.finish;});}});jQuery.each(["toggle","show","hide"],function(i,name){var cssFn=jQuery.fn[name];jQuery.fn[name]=function(speed,easing,callback){return speed==null||typeof speed==="boolean"?cssFn.apply(this,arguments):this.animate(genFx(name,true),speed,easing,callback);};});// Generate shortcuts for custom animations
jQuery.each({slideDown:genFx("show"),slideUp:genFx("hide"),slideToggle:genFx("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(name,props){jQuery.fn[name]=function(speed,easing,callback){return this.animate(props,speed,easing,callback);};});jQuery.timers=[];jQuery.fx.tick=function(){var timer,i=0,timers=jQuery.timers;fxNow=jQuery.now();for(;i<timers.length;i++){timer=timers[i];// Run the timer and safely remove it when done (allowing for external removal)
if(!timer()&&timers[i]===timer){timers.splice(i--,1);}}if(!timers.length){jQuery.fx.stop();}fxNow=undefined;};jQuery.fx.timer=function(timer){jQuery.timers.push(timer);jQuery.fx.start();};jQuery.fx.interval=13;jQuery.fx.start=function(){if(inProgress){return;}inProgress=true;schedule();};jQuery.fx.stop=function(){inProgress=null;};jQuery.fx.speeds={slow:600,fast:200,// Default speed
_default:400};// Based off of the plugin by Clint Helfers, with permission.
// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
jQuery.fn.delay=function(time,type){time=jQuery.fx?jQuery.fx.speeds[time]||time:time;type=type||"fx";return this.queue(type,function(next,hooks){var timeout=window.setTimeout(next,time);hooks.stop=function(){window.clearTimeout(timeout);};});};(function(){var input=document.createElement("input"),select=document.createElement("select"),opt=select.appendChild(document.createElement("option"));input.type="checkbox";// Support: Android <=4.3 only
// Default value for a checkbox should be "on"
support.checkOn=input.value!=="";// Support: IE <=11 only
// Must access selectedIndex to make default options select
support.optSelected=opt.selected;// Support: IE <=11 only
// An input loses its value after becoming a radio
input=document.createElement("input");input.value="t";input.type="radio";support.radioValue=input.value==="t";})();var boolHook,attrHandle=jQuery.expr.attrHandle;jQuery.fn.extend({attr:function attr(name,value){return access(this,jQuery.attr,name,value,arguments.length>1);},removeAttr:function removeAttr(name){return this.each(function(){jQuery.removeAttr(this,name);});}});jQuery.extend({attr:function attr(elem,name,value){var ret,hooks,nType=elem.nodeType;// Don't get/set attributes on text, comment and attribute nodes
if(nType===3||nType===8||nType===2){return;}// Fallback to prop when attributes are not supported
if(typeof elem.getAttribute==="undefined"){return jQuery.prop(elem,name,value);}// Attribute hooks are determined by the lowercase version
// Grab necessary hook if one is defined
if(nType!==1||!jQuery.isXMLDoc(elem)){hooks=jQuery.attrHooks[name.toLowerCase()]||(jQuery.expr.match.bool.test(name)?boolHook:undefined);}if(value!==undefined){if(value===null){jQuery.removeAttr(elem,name);return;}if(hooks&&"set"in hooks&&(ret=hooks.set(elem,value,name))!==undefined){return ret;}elem.setAttribute(name,value+"");return value;}if(hooks&&"get"in hooks&&(ret=hooks.get(elem,name))!==null){return ret;}ret=jQuery.find.attr(elem,name);// Non-existent attributes return null, we normalize to undefined
return ret==null?undefined:ret;},attrHooks:{type:{set:function set(elem,value){if(!support.radioValue&&value==="radio"&&nodeName(elem,"input")){var val=elem.value;elem.setAttribute("type",value);if(val){elem.value=val;}return value;}}}},removeAttr:function removeAttr(elem,value){var name,i=0,// Attribute names can contain non-HTML whitespace characters
// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2
attrNames=value&&value.match(rnothtmlwhite);if(attrNames&&elem.nodeType===1){while(name=attrNames[i++]){elem.removeAttribute(name);}}}});// Hooks for boolean attributes
boolHook={set:function set(elem,value,name){if(value===false){// Remove boolean attributes when set to false
jQuery.removeAttr(elem,name);}else{elem.setAttribute(name,name);}return name;}};jQuery.each(jQuery.expr.match.bool.source.match(/\w+/g),function(i,name){var getter=attrHandle[name]||jQuery.find.attr;attrHandle[name]=function(elem,name,isXML){var ret,handle,lowercaseName=name.toLowerCase();if(!isXML){// Avoid an infinite loop by temporarily removing this function from the getter
handle=attrHandle[lowercaseName];attrHandle[lowercaseName]=ret;ret=getter(elem,name,isXML)!=null?lowercaseName:null;attrHandle[lowercaseName]=handle;}return ret;};});var rfocusable=/^(?:input|select|textarea|button)$/i,rclickable=/^(?:a|area)$/i;jQuery.fn.extend({prop:function prop(name,value){return access(this,jQuery.prop,name,value,arguments.length>1);},removeProp:function removeProp(name){return this.each(function(){delete this[jQuery.propFix[name]||name];});}});jQuery.extend({prop:function prop(elem,name,value){var ret,hooks,nType=elem.nodeType;// Don't get/set properties on text, comment and attribute nodes
if(nType===3||nType===8||nType===2){return;}if(nType!==1||!jQuery.isXMLDoc(elem)){// Fix name and attach hooks
name=jQuery.propFix[name]||name;hooks=jQuery.propHooks[name];}if(value!==undefined){if(hooks&&"set"in hooks&&(ret=hooks.set(elem,value,name))!==undefined){return ret;}return elem[name]=value;}if(hooks&&"get"in hooks&&(ret=hooks.get(elem,name))!==null){return ret;}return elem[name];},propHooks:{tabIndex:{get:function get(elem){// Support: IE <=9 - 11 only
// elem.tabIndex doesn't always return the
// correct value when it hasn't been explicitly set
// https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
// Use proper attribute retrieval(#12072)
var tabindex=jQuery.find.attr(elem,"tabindex");if(tabindex){return parseInt(tabindex,10);}if(rfocusable.test(elem.nodeName)||rclickable.test(elem.nodeName)&&elem.href){return 0;}return-1;}}},propFix:{"for":"htmlFor","class":"className"}});// Support: IE <=11 only
// Accessing the selectedIndex property
// forces the browser to respect setting selected
// on the option
// The getter ensures a default option is selected
// when in an optgroup
// eslint rule "no-unused-expressions" is disabled for this code
// since it considers such accessions noop
if(!support.optSelected){jQuery.propHooks.selected={get:function get(elem){/* eslint no-unused-expressions: "off" */var parent=elem.parentNode;if(parent&&parent.parentNode){parent.parentNode.selectedIndex;}return null;},set:function set(elem){/* eslint no-unused-expressions: "off" */var parent=elem.parentNode;if(parent){parent.selectedIndex;if(parent.parentNode){parent.parentNode.selectedIndex;}}}};}jQuery.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){jQuery.propFix[this.toLowerCase()]=this;});// Strip and collapse whitespace according to HTML spec
// https://html.spec.whatwg.org/multipage/infrastructure.html#strip-and-collapse-whitespace
function stripAndCollapse(value){var tokens=value.match(rnothtmlwhite)||[];return tokens.join(" ");}function getClass(elem){return elem.getAttribute&&elem.getAttribute("class")||"";}jQuery.fn.extend({addClass:function addClass(value){var classes,elem,cur,curValue,clazz,j,finalValue,i=0;if(jQuery.isFunction(value)){return this.each(function(j){jQuery(this).addClass(value.call(this,j,getClass(this)));});}if(typeof value==="string"&&value){classes=value.match(rnothtmlwhite)||[];while(elem=this[i++]){curValue=getClass(elem);cur=elem.nodeType===1&&" "+stripAndCollapse(curValue)+" ";if(cur){j=0;while(clazz=classes[j++]){if(cur.indexOf(" "+clazz+" ")<0){cur+=clazz+" ";}}// Only assign if different to avoid unneeded rendering.
finalValue=stripAndCollapse(cur);if(curValue!==finalValue){elem.setAttribute("class",finalValue);}}}}return this;},removeClass:function removeClass(value){var classes,elem,cur,curValue,clazz,j,finalValue,i=0;if(jQuery.isFunction(value)){return this.each(function(j){jQuery(this).removeClass(value.call(this,j,getClass(this)));});}if(!arguments.length){return this.attr("class","");}if(typeof value==="string"&&value){classes=value.match(rnothtmlwhite)||[];while(elem=this[i++]){curValue=getClass(elem);// This expression is here for better compressibility (see addClass)
cur=elem.nodeType===1&&" "+stripAndCollapse(curValue)+" ";if(cur){j=0;while(clazz=classes[j++]){// Remove *all* instances
while(cur.indexOf(" "+clazz+" ")>-1){cur=cur.replace(" "+clazz+" "," ");}}// Only assign if different to avoid unneeded rendering.
finalValue=stripAndCollapse(cur);if(curValue!==finalValue){elem.setAttribute("class",finalValue);}}}}return this;},toggleClass:function toggleClass(value,stateVal){var type=typeof value==="undefined"?"undefined":_typeof(value);if(typeof stateVal==="boolean"&&type==="string"){return stateVal?this.addClass(value):this.removeClass(value);}if(jQuery.isFunction(value)){return this.each(function(i){jQuery(this).toggleClass(value.call(this,i,getClass(this),stateVal),stateVal);});}return this.each(function(){var className,i,self,classNames;if(type==="string"){// Toggle individual class names
i=0;self=jQuery(this);classNames=value.match(rnothtmlwhite)||[];while(className=classNames[i++]){// Check each className given, space separated list
if(self.hasClass(className)){self.removeClass(className);}else{self.addClass(className);}}// Toggle whole class name
}else if(value===undefined||type==="boolean"){className=getClass(this);if(className){// Store className if set
dataPriv.set(this,"__className__",className);}// If the element has a class name or if we're passed `false`,
// then remove the whole classname (if there was one, the above saved it).
// Otherwise bring back whatever was previously saved (if anything),
// falling back to the empty string if nothing was stored.
if(this.setAttribute){this.setAttribute("class",className||value===false?"":dataPriv.get(this,"__className__")||"");}}});},hasClass:function hasClass(selector){var className,elem,i=0;className=" "+selector+" ";while(elem=this[i++]){if(elem.nodeType===1&&(" "+stripAndCollapse(getClass(elem))+" ").indexOf(className)>-1){return true;}}return false;}});var rreturn=/\r/g;jQuery.fn.extend({val:function val(value){var hooks,ret,isFunction,elem=this[0];if(!arguments.length){if(elem){hooks=jQuery.valHooks[elem.type]||jQuery.valHooks[elem.nodeName.toLowerCase()];if(hooks&&"get"in hooks&&(ret=hooks.get(elem,"value"))!==undefined){return ret;}ret=elem.value;// Handle most common string cases
if(typeof ret==="string"){return ret.replace(rreturn,"");}// Handle cases where value is null/undef or number
return ret==null?"":ret;}return;}isFunction=jQuery.isFunction(value);return this.each(function(i){var val;if(this.nodeType!==1){return;}if(isFunction){val=value.call(this,i,jQuery(this).val());}else{val=value;}// Treat null/undefined as ""; convert numbers to string
if(val==null){val="";}else if(typeof val==="number"){val+="";}else if(Array.isArray(val)){val=jQuery.map(val,function(value){return value==null?"":value+"";});}hooks=jQuery.valHooks[this.type]||jQuery.valHooks[this.nodeName.toLowerCase()];// If set returns undefined, fall back to normal setting
if(!hooks||!("set"in hooks)||hooks.set(this,val,"value")===undefined){this.value=val;}});}});jQuery.extend({valHooks:{option:{get:function get(elem){var val=jQuery.find.attr(elem,"value");return val!=null?val:// Support: IE <=10 - 11 only
// option.text throws exceptions (#14686, #14858)
// Strip and collapse whitespace
// https://html.spec.whatwg.org/#strip-and-collapse-whitespace
stripAndCollapse(jQuery.text(elem));}},select:{get:function get(elem){var value,option,i,options=elem.options,index=elem.selectedIndex,one=elem.type==="select-one",values=one?null:[],max=one?index+1:options.length;if(index<0){i=max;}else{i=one?index:0;}// Loop through all the selected options
for(;i<max;i++){option=options[i];// Support: IE <=9 only
// IE8-9 doesn't update selected after form reset (#2551)
if((option.selected||i===index)&&// Don't return options that are disabled or in a disabled optgroup
!option.disabled&&(!option.parentNode.disabled||!nodeName(option.parentNode,"optgroup"))){// Get the specific value for the option
value=jQuery(option).val();// We don't need an array for one selects
if(one){return value;}// Multi-Selects return an array
values.push(value);}}return values;},set:function set(elem,value){var optionSet,option,options=elem.options,values=jQuery.makeArray(value),i=options.length;while(i--){option=options[i];/* eslint-disable no-cond-assign */if(option.selected=jQuery.inArray(jQuery.valHooks.option.get(option),values)>-1){optionSet=true;}/* eslint-enable no-cond-assign */}// Force browsers to behave consistently when non-matching value is set
if(!optionSet){elem.selectedIndex=-1;}return values;}}}});// Radios and checkboxes getter/setter
jQuery.each(["radio","checkbox"],function(){jQuery.valHooks[this]={set:function set(elem,value){if(Array.isArray(value)){return elem.checked=jQuery.inArray(jQuery(elem).val(),value)>-1;}}};if(!support.checkOn){jQuery.valHooks[this].get=function(elem){return elem.getAttribute("value")===null?"on":elem.value;};}});// Return jQuery for attributes-only inclusion
var rfocusMorph=/^(?:focusinfocus|focusoutblur)$/;jQuery.extend(jQuery.event,{trigger:function trigger(event,data,elem,onlyHandlers){var i,cur,tmp,bubbleType,ontype,handle,special,eventPath=[elem||document],type=hasOwn.call(event,"type")?event.type:event,namespaces=hasOwn.call(event,"namespace")?event.namespace.split("."):[];cur=tmp=elem=elem||document;// Don't do events on text and comment nodes
if(elem.nodeType===3||elem.nodeType===8){return;}// focus/blur morphs to focusin/out; ensure we're not firing them right now
if(rfocusMorph.test(type+jQuery.event.triggered)){return;}if(type.indexOf(".")>-1){// Namespaced trigger; create a regexp to match event type in handle()
namespaces=type.split(".");type=namespaces.shift();namespaces.sort();}ontype=type.indexOf(":")<0&&"on"+type;// Caller can pass in a jQuery.Event object, Object, or just an event type string
event=event[jQuery.expando]?event:new jQuery.Event(type,(typeof event==="undefined"?"undefined":_typeof(event))==="object"&&event);// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
event.isTrigger=onlyHandlers?2:3;event.namespace=namespaces.join(".");event.rnamespace=event.namespace?new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)"):null;// Clean up the event in case it is being reused
event.result=undefined;if(!event.target){event.target=elem;}// Clone any incoming data and prepend the event, creating the handler arg list
data=data==null?[event]:jQuery.makeArray(data,[event]);// Allow special events to draw outside the lines
special=jQuery.event.special[type]||{};if(!onlyHandlers&&special.trigger&&special.trigger.apply(elem,data)===false){return;}// Determine event propagation path in advance, per W3C events spec (#9951)
// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
if(!onlyHandlers&&!special.noBubble&&!jQuery.isWindow(elem)){bubbleType=special.delegateType||type;if(!rfocusMorph.test(bubbleType+type)){cur=cur.parentNode;}for(;cur;cur=cur.parentNode){eventPath.push(cur);tmp=cur;}// Only add window if we got to document (e.g., not plain obj or detached DOM)
if(tmp===(elem.ownerDocument||document)){eventPath.push(tmp.defaultView||tmp.parentWindow||window);}}// Fire handlers on the event path
i=0;while((cur=eventPath[i++])&&!event.isPropagationStopped()){event.type=i>1?bubbleType:special.bindType||type;// jQuery handler
handle=(dataPriv.get(cur,"events")||{})[event.type]&&dataPriv.get(cur,"handle");if(handle){handle.apply(cur,data);}// Native handler
handle=ontype&&cur[ontype];if(handle&&handle.apply&&acceptData(cur)){event.result=handle.apply(cur,data);if(event.result===false){event.preventDefault();}}}event.type=type;// If nobody prevented the default action, do it now
if(!onlyHandlers&&!event.isDefaultPrevented()){if((!special._default||special._default.apply(eventPath.pop(),data)===false)&&acceptData(elem)){// Call a native DOM method on the target with the same name as the event.
// Don't do default actions on window, that's where global variables be (#6170)
if(ontype&&jQuery.isFunction(elem[type])&&!jQuery.isWindow(elem)){// Don't re-trigger an onFOO event when we call its FOO() method
tmp=elem[ontype];if(tmp){elem[ontype]=null;}// Prevent re-triggering of the same event, since we already bubbled it above
jQuery.event.triggered=type;elem[type]();jQuery.event.triggered=undefined;if(tmp){elem[ontype]=tmp;}}}}return event.result;},// Piggyback on a donor event to simulate a different one
// Used only for `focus(in | out)` events
simulate:function simulate(type,elem,event){var e=jQuery.extend(new jQuery.Event(),event,{type:type,isSimulated:true});jQuery.event.trigger(e,null,elem);}});jQuery.fn.extend({trigger:function trigger(type,data){return this.each(function(){jQuery.event.trigger(type,data,this);});},triggerHandler:function triggerHandler(type,data){var elem=this[0];if(elem){return jQuery.event.trigger(type,data,elem,true);}}});jQuery.each(("blur focus focusin focusout resize scroll click dblclick "+"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave "+"change select submit keydown keypress keyup contextmenu").split(" "),function(i,name){// Handle event binding
jQuery.fn[name]=function(data,fn){return arguments.length>0?this.on(name,null,data,fn):this.trigger(name);};});jQuery.fn.extend({hover:function hover(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut||fnOver);}});support.focusin="onfocusin"in window;// Support: Firefox <=44
// Firefox doesn't have focus(in | out) events
// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
//
// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1
// focus(in | out) events fire after focus & blur events,
// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857
if(!support.focusin){jQuery.each({focus:"focusin",blur:"focusout"},function(orig,fix){// Attach a single capturing handler on the document while someone wants focusin/focusout
var handler=function handler(event){jQuery.event.simulate(fix,event.target,jQuery.event.fix(event));};jQuery.event.special[fix]={setup:function setup(){var doc=this.ownerDocument||this,attaches=dataPriv.access(doc,fix);if(!attaches){doc.addEventListener(orig,handler,true);}dataPriv.access(doc,fix,(attaches||0)+1);},teardown:function teardown(){var doc=this.ownerDocument||this,attaches=dataPriv.access(doc,fix)-1;if(!attaches){doc.removeEventListener(orig,handler,true);dataPriv.remove(doc,fix);}else{dataPriv.access(doc,fix,attaches);}}};});}var location=window.location;var nonce=jQuery.now();var rquery=/\?/;// Cross-browser xml parsing
jQuery.parseXML=function(data){var xml;if(!data||typeof data!=="string"){return null;}// Support: IE 9 - 11 only
// IE throws on parseFromString with invalid input.
try{xml=new window.DOMParser().parseFromString(data,"text/xml");}catch(e){xml=undefined;}if(!xml||xml.getElementsByTagName("parsererror").length){jQuery.error("Invalid XML: "+data);}return xml;};var rbracket=/\[\]$/,rCRLF=/\r?\n/g,rsubmitterTypes=/^(?:submit|button|image|reset|file)$/i,rsubmittable=/^(?:input|select|textarea|keygen)/i;function buildParams(prefix,obj,traditional,add){var name;if(Array.isArray(obj)){// Serialize array item.
jQuery.each(obj,function(i,v){if(traditional||rbracket.test(prefix)){// Treat each array item as a scalar.
add(prefix,v);}else{// Item is non-scalar (array or object), encode its numeric index.
buildParams(prefix+"["+((typeof v==="undefined"?"undefined":_typeof(v))==="object"&&v!=null?i:"")+"]",v,traditional,add);}});}else if(!traditional&&jQuery.type(obj)==="object"){// Serialize object item.
for(name in obj){buildParams(prefix+"["+name+"]",obj[name],traditional,add);}}else{// Serialize scalar item.
add(prefix,obj);}}// Serialize an array of form elements or a set of
// key/values into a query string
jQuery.param=function(a,traditional){var prefix,s=[],add=function add(key,valueOrFunction){// If value is a function, invoke it and use its return value
var value=jQuery.isFunction(valueOrFunction)?valueOrFunction():valueOrFunction;s[s.length]=encodeURIComponent(key)+"="+encodeURIComponent(value==null?"":value);};// If an array was passed in, assume that it is an array of form elements.
if(Array.isArray(a)||a.jquery&&!jQuery.isPlainObject(a)){// Serialize the form elements
jQuery.each(a,function(){add(this.name,this.value);});}else{// If traditional, encode the "old" way (the way 1.3.2 or older
// did it), otherwise encode params recursively.
for(prefix in a){buildParams(prefix,a[prefix],traditional,add);}}// Return the resulting serialization
return s.join("&");};jQuery.fn.extend({serialize:function serialize(){return jQuery.param(this.serializeArray());},serializeArray:function serializeArray(){return this.map(function(){// Can add propHook for "elements" to filter or add form elements
var elements=jQuery.prop(this,"elements");return elements?jQuery.makeArray(elements):this;}).filter(function(){var type=this.type;// Use .is( ":disabled" ) so that fieldset[disabled] works
return this.name&&!jQuery(this).is(":disabled")&&rsubmittable.test(this.nodeName)&&!rsubmitterTypes.test(type)&&(this.checked||!rcheckableType.test(type));}).map(function(i,elem){var val=jQuery(this).val();if(val==null){return null;}if(Array.isArray(val)){return jQuery.map(val,function(val){return{name:elem.name,value:val.replace(rCRLF,"\r\n")};});}return{name:elem.name,value:val.replace(rCRLF,"\r\n")};}).get();}});var r20=/%20/g,rhash=/#.*$/,rantiCache=/([?&])_=[^&]*/,rheaders=/^(.*?):[ \t]*([^\r\n]*)$/mg,// #7653, #8125, #8152: local protocol detection
rlocalProtocol=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,rnoContent=/^(?:GET|HEAD)$/,rprotocol=/^\/\//,/* Prefilters
  * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
  * 2) These are called:
  *    - BEFORE asking for a transport
  *    - AFTER param serialization (s.data is a string if s.processData is true)
  * 3) key is the dataType
  * 4) the catchall symbol "*" can be used
  * 5) execution will start with transport dataType and THEN continue down to "*" if needed
  */prefilters={},/* Transports bindings
  * 1) key is the dataType
  * 2) the catchall symbol "*" can be used
  * 3) selection will start with transport dataType and THEN go to "*" if needed
  */transports={},// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
allTypes="*/".concat("*"),// Anchor tag for parsing the document origin
originAnchor=document.createElement("a");originAnchor.href=location.href;// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
function addToPrefiltersOrTransports(structure){// dataTypeExpression is optional and defaults to "*"
return function(dataTypeExpression,func){if(typeof dataTypeExpression!=="string"){func=dataTypeExpression;dataTypeExpression="*";}var dataType,i=0,dataTypes=dataTypeExpression.toLowerCase().match(rnothtmlwhite)||[];if(jQuery.isFunction(func)){// For each dataType in the dataTypeExpression
while(dataType=dataTypes[i++]){// Prepend if requested
if(dataType[0]==="+"){dataType=dataType.slice(1)||"*";(structure[dataType]=structure[dataType]||[]).unshift(func);// Otherwise append
}else{(structure[dataType]=structure[dataType]||[]).push(func);}}}};}// Base inspection function for prefilters and transports
function inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR){var inspected={},seekingTransport=structure===transports;function inspect(dataType){var selected;inspected[dataType]=true;jQuery.each(structure[dataType]||[],function(_,prefilterOrFactory){var dataTypeOrTransport=prefilterOrFactory(options,originalOptions,jqXHR);if(typeof dataTypeOrTransport==="string"&&!seekingTransport&&!inspected[dataTypeOrTransport]){options.dataTypes.unshift(dataTypeOrTransport);inspect(dataTypeOrTransport);return false;}else if(seekingTransport){return!(selected=dataTypeOrTransport);}});return selected;}return inspect(options.dataTypes[0])||!inspected["*"]&&inspect("*");}// A special extend for ajax options
// that takes "flat" options (not to be deep extended)
// Fixes #9887
function ajaxExtend(target,src){var key,deep,flatOptions=jQuery.ajaxSettings.flatOptions||{};for(key in src){if(src[key]!==undefined){(flatOptions[key]?target:deep||(deep={}))[key]=src[key];}}if(deep){jQuery.extend(true,target,deep);}return target;}/* Handles responses to an ajax request:
  * - finds the right dataType (mediates between content-type and expected dataType)
  * - returns the corresponding response
  */function ajaxHandleResponses(s,jqXHR,responses){var ct,type,finalDataType,firstDataType,contents=s.contents,dataTypes=s.dataTypes;// Remove auto dataType and get content-type in the process
while(dataTypes[0]==="*"){dataTypes.shift();if(ct===undefined){ct=s.mimeType||jqXHR.getResponseHeader("Content-Type");}}// Check if we're dealing with a known content-type
if(ct){for(type in contents){if(contents[type]&&contents[type].test(ct)){dataTypes.unshift(type);break;}}}// Check to see if we have a response for the expected dataType
if(dataTypes[0]in responses){finalDataType=dataTypes[0];}else{// Try convertible dataTypes
for(type in responses){if(!dataTypes[0]||s.converters[type+" "+dataTypes[0]]){finalDataType=type;break;}if(!firstDataType){firstDataType=type;}}// Or just use first one
finalDataType=finalDataType||firstDataType;}// If we found a dataType
// We add the dataType to the list if needed
// and return the corresponding response
if(finalDataType){if(finalDataType!==dataTypes[0]){dataTypes.unshift(finalDataType);}return responses[finalDataType];}}/* Chain conversions given the request and the original response
  * Also sets the responseXXX fields on the jqXHR instance
  */function ajaxConvert(s,response,jqXHR,isSuccess){var conv2,current,conv,tmp,prev,converters={},// Work with a copy of dataTypes in case we need to modify it for conversion
dataTypes=s.dataTypes.slice();// Create converters map with lowercased keys
if(dataTypes[1]){for(conv in s.converters){converters[conv.toLowerCase()]=s.converters[conv];}}current=dataTypes.shift();// Convert to each sequential dataType
while(current){if(s.responseFields[current]){jqXHR[s.responseFields[current]]=response;}// Apply the dataFilter if provided
if(!prev&&isSuccess&&s.dataFilter){response=s.dataFilter(response,s.dataType);}prev=current;current=dataTypes.shift();if(current){// There's only work to do if current dataType is non-auto
if(current==="*"){current=prev;// Convert response if prev dataType is non-auto and differs from current
}else if(prev!=="*"&&prev!==current){// Seek a direct converter
conv=converters[prev+" "+current]||converters["* "+current];// If none found, seek a pair
if(!conv){for(conv2 in converters){// If conv2 outputs current
tmp=conv2.split(" ");if(tmp[1]===current){// If prev can be converted to accepted input
conv=converters[prev+" "+tmp[0]]||converters["* "+tmp[0]];if(conv){// Condense equivalence converters
if(conv===true){conv=converters[conv2];// Otherwise, insert the intermediate dataType
}else if(converters[conv2]!==true){current=tmp[0];dataTypes.unshift(tmp[1]);}break;}}}}// Apply converter (if not an equivalence)
if(conv!==true){// Unless errors are allowed to bubble, catch and return them
if(conv&&s.throws){response=conv(response);}else{try{response=conv(response);}catch(e){return{state:"parsererror",error:conv?e:"No conversion from "+prev+" to "+current};}}}}}}return{state:"success",data:response};}jQuery.extend({// Counter for holding the number of active queries
active:0,// Last-Modified header cache for next request
lastModified:{},etag:{},ajaxSettings:{url:location.href,type:"GET",isLocal:rlocalProtocol.test(location.protocol),global:true,processData:true,async:true,contentType:"application/x-www-form-urlencoded; charset=UTF-8",/*
   timeout: 0,
   data: null,
   dataType: null,
   username: null,
   password: null,
   cache: null,
   throws: false,
   traditional: false,
   headers: {},
   */accepts:{"*":allTypes,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},// Data converters
// Keys separate source (or catchall "*") and destination types with a single space
converters:{// Convert anything to text
"* text":String,// Text to html (true = no transformation)
"text html":true,// Evaluate text as a json expression
"text json":JSON.parse,// Parse text as xml
"text xml":jQuery.parseXML},// For options that shouldn't be deep extended:
// you can add your own custom options here if
// and when you create one that shouldn't be
// deep extended (see ajaxExtend)
flatOptions:{url:true,context:true}},// Creates a full fledged settings object into target
// with both ajaxSettings and settings fields.
// If target is omitted, writes into ajaxSettings.
ajaxSetup:function ajaxSetup(target,settings){return settings?// Building a settings object
ajaxExtend(ajaxExtend(target,jQuery.ajaxSettings),settings):// Extending ajaxSettings
ajaxExtend(jQuery.ajaxSettings,target);},ajaxPrefilter:addToPrefiltersOrTransports(prefilters),ajaxTransport:addToPrefiltersOrTransports(transports),// Main method
ajax:function ajax(url,options){// If url is an object, simulate pre-1.5 signature
if((typeof url==="undefined"?"undefined":_typeof(url))==="object"){options=url;url=undefined;}// Force options to be an object
options=options||{};var transport,// URL without anti-cache param
cacheURL,// Response headers
responseHeadersString,responseHeaders,// timeout handle
timeoutTimer,// Url cleanup var
urlAnchor,// Request state (becomes false upon send and true upon completion)
completed,// To know if global events are to be dispatched
fireGlobals,// Loop variable
i,// uncached part of the url
uncached,// Create the final options object
s=jQuery.ajaxSetup({},options),// Callbacks context
callbackContext=s.context||s,// Context for global events is callbackContext if it is a DOM node or jQuery collection
globalEventContext=s.context&&(callbackContext.nodeType||callbackContext.jquery)?jQuery(callbackContext):jQuery.event,// Deferreds
deferred=jQuery.Deferred(),completeDeferred=jQuery.Callbacks("once memory"),// Status-dependent callbacks
_statusCode=s.statusCode||{},// Headers (they are sent all at once)
requestHeaders={},requestHeadersNames={},// Default abort message
strAbort="canceled",// Fake xhr
jqXHR={readyState:0,// Builds headers hashtable if needed
getResponseHeader:function getResponseHeader(key){var match;if(completed){if(!responseHeaders){responseHeaders={};while(match=rheaders.exec(responseHeadersString)){responseHeaders[match[1].toLowerCase()]=match[2];}}match=responseHeaders[key.toLowerCase()];}return match==null?null:match;},// Raw string
getAllResponseHeaders:function getAllResponseHeaders(){return completed?responseHeadersString:null;},// Caches the header
setRequestHeader:function setRequestHeader(name,value){if(completed==null){name=requestHeadersNames[name.toLowerCase()]=requestHeadersNames[name.toLowerCase()]||name;requestHeaders[name]=value;}return this;},// Overrides response content-type header
overrideMimeType:function overrideMimeType(type){if(completed==null){s.mimeType=type;}return this;},// Status-dependent callbacks
statusCode:function statusCode(map){var code;if(map){if(completed){// Execute the appropriate callbacks
jqXHR.always(map[jqXHR.status]);}else{// Lazy-add the new callbacks in a way that preserves old ones
for(code in map){_statusCode[code]=[_statusCode[code],map[code]];}}}return this;},// Cancel the request
abort:function abort(statusText){var finalText=statusText||strAbort;if(transport){transport.abort(finalText);}done(0,finalText);return this;}};// Attach deferreds
deferred.promise(jqXHR);// Add protocol if not provided (prefilters might expect it)
// Handle falsy url in the settings object (#10093: consistency with old signature)
// We also use the url parameter if available
s.url=((url||s.url||location.href)+"").replace(rprotocol,location.protocol+"//");// Alias method option to type as per ticket #12004
s.type=options.method||options.type||s.method||s.type;// Extract dataTypes list
s.dataTypes=(s.dataType||"*").toLowerCase().match(rnothtmlwhite)||[""];// A cross-domain request is in order when the origin doesn't match the current origin.
if(s.crossDomain==null){urlAnchor=document.createElement("a");// Support: IE <=8 - 11, Edge 12 - 13
// IE throws exception on accessing the href property if url is malformed,
// e.g. http://example.com:80x/
try{urlAnchor.href=s.url;// Support: IE <=8 - 11 only
// Anchor's host property isn't correctly set when s.url is relative
urlAnchor.href=urlAnchor.href;s.crossDomain=originAnchor.protocol+"//"+originAnchor.host!==urlAnchor.protocol+"//"+urlAnchor.host;}catch(e){// If there is an error parsing the URL, assume it is crossDomain,
// it can be rejected by the transport if it is invalid
s.crossDomain=true;}}// Convert data if not already a string
if(s.data&&s.processData&&typeof s.data!=="string"){s.data=jQuery.param(s.data,s.traditional);}// Apply prefilters
inspectPrefiltersOrTransports(prefilters,s,options,jqXHR);// If request was aborted inside a prefilter, stop there
if(completed){return jqXHR;}// We can fire global events as of now if asked to
// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)
fireGlobals=jQuery.event&&s.global;// Watch for a new set of requests
if(fireGlobals&&jQuery.active++===0){jQuery.event.trigger("ajaxStart");}// Uppercase the type
s.type=s.type.toUpperCase();// Determine if request has content
s.hasContent=!rnoContent.test(s.type);// Save the URL in case we're toying with the If-Modified-Since
// and/or If-None-Match header later on
// Remove hash to simplify url manipulation
cacheURL=s.url.replace(rhash,"");// More options handling for requests with no content
if(!s.hasContent){// Remember the hash so we can put it back
uncached=s.url.slice(cacheURL.length);// If data is available, append data to url
if(s.data){cacheURL+=(rquery.test(cacheURL)?"&":"?")+s.data;// #9682: remove data so that it's not used in an eventual retry
delete s.data;}// Add or update anti-cache param if needed
if(s.cache===false){cacheURL=cacheURL.replace(rantiCache,"$1");uncached=(rquery.test(cacheURL)?"&":"?")+"_="+nonce++ +uncached;}// Put hash and anti-cache on the URL that will be requested (gh-1732)
s.url=cacheURL+uncached;// Change '%20' to '+' if this is encoded form body content (gh-2658)
}else if(s.data&&s.processData&&(s.contentType||"").indexOf("application/x-www-form-urlencoded")===0){s.data=s.data.replace(r20,"+");}// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
if(s.ifModified){if(jQuery.lastModified[cacheURL]){jqXHR.setRequestHeader("If-Modified-Since",jQuery.lastModified[cacheURL]);}if(jQuery.etag[cacheURL]){jqXHR.setRequestHeader("If-None-Match",jQuery.etag[cacheURL]);}}// Set the correct header, if data is being sent
if(s.data&&s.hasContent&&s.contentType!==false||options.contentType){jqXHR.setRequestHeader("Content-Type",s.contentType);}// Set the Accepts header for the server, depending on the dataType
jqXHR.setRequestHeader("Accept",s.dataTypes[0]&&s.accepts[s.dataTypes[0]]?s.accepts[s.dataTypes[0]]+(s.dataTypes[0]!=="*"?", "+allTypes+"; q=0.01":""):s.accepts["*"]);// Check for headers option
for(i in s.headers){jqXHR.setRequestHeader(i,s.headers[i]);}// Allow custom headers/mimetypes and early abort
if(s.beforeSend&&(s.beforeSend.call(callbackContext,jqXHR,s)===false||completed)){// Abort if not done already and return
return jqXHR.abort();}// Aborting is no longer a cancellation
strAbort="abort";// Install callbacks on deferreds
completeDeferred.add(s.complete);jqXHR.done(s.success);jqXHR.fail(s.error);// Get transport
transport=inspectPrefiltersOrTransports(transports,s,options,jqXHR);// If no transport, we auto-abort
if(!transport){done(-1,"No Transport");}else{jqXHR.readyState=1;// Send global event
if(fireGlobals){globalEventContext.trigger("ajaxSend",[jqXHR,s]);}// If request was aborted inside ajaxSend, stop there
if(completed){return jqXHR;}// Timeout
if(s.async&&s.timeout>0){timeoutTimer=window.setTimeout(function(){jqXHR.abort("timeout");},s.timeout);}try{completed=false;transport.send(requestHeaders,done);}catch(e){// Rethrow post-completion exceptions
if(completed){throw e;}// Propagate others as results
done(-1,e);}}// Callback for when everything is done
function done(status,nativeStatusText,responses,headers){var isSuccess,success,error,response,modified,statusText=nativeStatusText;// Ignore repeat invocations
if(completed){return;}completed=true;// Clear timeout if it exists
if(timeoutTimer){window.clearTimeout(timeoutTimer);}// Dereference transport for early garbage collection
// (no matter how long the jqXHR object will be used)
transport=undefined;// Cache response headers
responseHeadersString=headers||"";// Set readyState
jqXHR.readyState=status>0?4:0;// Determine if successful
isSuccess=status>=200&&status<300||status===304;// Get response data
if(responses){response=ajaxHandleResponses(s,jqXHR,responses);}// Convert no matter what (that way responseXXX fields are always set)
response=ajaxConvert(s,response,jqXHR,isSuccess);// If successful, handle type chaining
if(isSuccess){// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
if(s.ifModified){modified=jqXHR.getResponseHeader("Last-Modified");if(modified){jQuery.lastModified[cacheURL]=modified;}modified=jqXHR.getResponseHeader("etag");if(modified){jQuery.etag[cacheURL]=modified;}}// if no content
if(status===204||s.type==="HEAD"){statusText="nocontent";// if not modified
}else if(status===304){statusText="notmodified";// If we have data, let's convert it
}else{statusText=response.state;success=response.data;error=response.error;isSuccess=!error;}}else{// Extract error from statusText and normalize for non-aborts
error=statusText;if(status||!statusText){statusText="error";if(status<0){status=0;}}}// Set data for the fake xhr object
jqXHR.status=status;jqXHR.statusText=(nativeStatusText||statusText)+"";// Success/Error
if(isSuccess){deferred.resolveWith(callbackContext,[success,statusText,jqXHR]);}else{deferred.rejectWith(callbackContext,[jqXHR,statusText,error]);}// Status-dependent callbacks
jqXHR.statusCode(_statusCode);_statusCode=undefined;if(fireGlobals){globalEventContext.trigger(isSuccess?"ajaxSuccess":"ajaxError",[jqXHR,s,isSuccess?success:error]);}// Complete
completeDeferred.fireWith(callbackContext,[jqXHR,statusText]);if(fireGlobals){globalEventContext.trigger("ajaxComplete",[jqXHR,s]);// Handle the global AJAX counter
if(! --jQuery.active){jQuery.event.trigger("ajaxStop");}}}return jqXHR;},getJSON:function getJSON(url,data,callback){return jQuery.get(url,data,callback,"json");},getScript:function getScript(url,callback){return jQuery.get(url,undefined,callback,"script");}});jQuery.each(["get","post"],function(i,method){jQuery[method]=function(url,data,callback,type){// Shift arguments if data argument was omitted
if(jQuery.isFunction(data)){type=type||callback;callback=data;data=undefined;}// The url can be an options object (which then must have .url)
return jQuery.ajax(jQuery.extend({url:url,type:method,dataType:type,data:data,success:callback},jQuery.isPlainObject(url)&&url));};});jQuery._evalUrl=function(url){return jQuery.ajax({url:url,// Make this explicit, since user can override this through ajaxSetup (#11264)
type:"GET",dataType:"script",cache:true,async:false,global:false,"throws":true});};jQuery.fn.extend({wrapAll:function wrapAll(html){var wrap;if(this[0]){if(jQuery.isFunction(html)){html=html.call(this[0]);}// The elements to wrap the target around
wrap=jQuery(html,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){wrap.insertBefore(this[0]);}wrap.map(function(){var elem=this;while(elem.firstElementChild){elem=elem.firstElementChild;}return elem;}).append(this);}return this;},wrapInner:function wrapInner(html){if(jQuery.isFunction(html)){return this.each(function(i){jQuery(this).wrapInner(html.call(this,i));});}return this.each(function(){var self=jQuery(this),contents=self.contents();if(contents.length){contents.wrapAll(html);}else{self.append(html);}});},wrap:function wrap(html){var isFunction=jQuery.isFunction(html);return this.each(function(i){jQuery(this).wrapAll(isFunction?html.call(this,i):html);});},unwrap:function unwrap(selector){this.parent(selector).not("body").each(function(){jQuery(this).replaceWith(this.childNodes);});return this;}});jQuery.expr.pseudos.hidden=function(elem){return!jQuery.expr.pseudos.visible(elem);};jQuery.expr.pseudos.visible=function(elem){return!!(elem.offsetWidth||elem.offsetHeight||elem.getClientRects().length);};jQuery.ajaxSettings.xhr=function(){try{return new window.XMLHttpRequest();}catch(e){}};var xhrSuccessStatus={// File protocol always yields status code 0, assume 200
0:200,// Support: IE <=9 only
// #1450: sometimes IE returns 1223 when it should be 204
1223:204},xhrSupported=jQuery.ajaxSettings.xhr();support.cors=!!xhrSupported&&"withCredentials"in xhrSupported;support.ajax=xhrSupported=!!xhrSupported;jQuery.ajaxTransport(function(options){var _callback,errorCallback;// Cross domain only allowed if supported through XMLHttpRequest
if(support.cors||xhrSupported&&!options.crossDomain){return{send:function send(headers,complete){var i,xhr=options.xhr();xhr.open(options.type,options.url,options.async,options.username,options.password);// Apply custom fields if provided
if(options.xhrFields){for(i in options.xhrFields){xhr[i]=options.xhrFields[i];}}// Override mime type if needed
if(options.mimeType&&xhr.overrideMimeType){xhr.overrideMimeType(options.mimeType);}// X-Requested-With header
// For cross-domain requests, seeing as conditions for a preflight are
// akin to a jigsaw puzzle, we simply never set it to be sure.
// (it can always be set on a per-request basis or even using ajaxSetup)
// For same-domain requests, won't change header if already provided.
if(!options.crossDomain&&!headers["X-Requested-With"]){headers["X-Requested-With"]="XMLHttpRequest";}// Set headers
for(i in headers){xhr.setRequestHeader(i,headers[i]);}// Callback
_callback=function callback(type){return function(){if(_callback){_callback=errorCallback=xhr.onload=xhr.onerror=xhr.onabort=xhr.onreadystatechange=null;if(type==="abort"){xhr.abort();}else if(type==="error"){// Support: IE <=9 only
// On a manual native abort, IE9 throws
// errors on any property access that is not readyState
if(typeof xhr.status!=="number"){complete(0,"error");}else{complete(// File: protocol always yields status 0; see #8605, #14207
xhr.status,xhr.statusText);}}else{complete(xhrSuccessStatus[xhr.status]||xhr.status,xhr.statusText,// Support: IE <=9 only
// IE9 has no XHR2 but throws on binary (trac-11426)
// For XHR2 non-text, let the caller handle it (gh-2498)
(xhr.responseType||"text")!=="text"||typeof xhr.responseText!=="string"?{binary:xhr.response}:{text:xhr.responseText},xhr.getAllResponseHeaders());}}};};// Listen to events
xhr.onload=_callback();errorCallback=xhr.onerror=_callback("error");// Support: IE 9 only
// Use onreadystatechange to replace onabort
// to handle uncaught aborts
if(xhr.onabort!==undefined){xhr.onabort=errorCallback;}else{xhr.onreadystatechange=function(){// Check readyState before timeout as it changes
if(xhr.readyState===4){// Allow onerror to be called first,
// but that will not handle a native abort
// Also, save errorCallback to a variable
// as xhr.onerror cannot be accessed
window.setTimeout(function(){if(_callback){errorCallback();}});}};}// Create the abort callback
_callback=_callback("abort");try{// Do send the request (this may raise an exception)
xhr.send(options.hasContent&&options.data||null);}catch(e){// #14683: Only rethrow if this hasn't been notified as an error yet
if(_callback){throw e;}}},abort:function abort(){if(_callback){_callback();}}};}});// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)
jQuery.ajaxPrefilter(function(s){if(s.crossDomain){s.contents.script=false;}});// Install script dataType
jQuery.ajaxSetup({accepts:{script:"text/javascript, application/javascript, "+"application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function textScript(text){jQuery.globalEval(text);return text;}}});// Handle cache's special case and crossDomain
jQuery.ajaxPrefilter("script",function(s){if(s.cache===undefined){s.cache=false;}if(s.crossDomain){s.type="GET";}});// Bind script tag hack transport
jQuery.ajaxTransport("script",function(s){// This transport only deals with cross domain requests
if(s.crossDomain){var script,_callback2;return{send:function send(_,complete){script=jQuery("<script>").prop({charset:s.scriptCharset,src:s.url}).on("load error",_callback2=function callback(evt){script.remove();_callback2=null;if(evt){complete(evt.type==="error"?404:200,evt.type);}});// Use native DOM manipulation to avoid our domManip AJAX trickery
document.head.appendChild(script[0]);},abort:function abort(){if(_callback2){_callback2();}}};}});var oldCallbacks=[],rjsonp=/(=)\?(?=&|$)|\?\?/;// Default jsonp settings
jQuery.ajaxSetup({jsonp:"callback",jsonpCallback:function jsonpCallback(){var callback=oldCallbacks.pop()||jQuery.expando+"_"+nonce++;this[callback]=true;return callback;}});// Detect, normalize options and install callbacks for jsonp requests
jQuery.ajaxPrefilter("json jsonp",function(s,originalSettings,jqXHR){var callbackName,overwritten,responseContainer,jsonProp=s.jsonp!==false&&(rjsonp.test(s.url)?"url":typeof s.data==="string"&&(s.contentType||"").indexOf("application/x-www-form-urlencoded")===0&&rjsonp.test(s.data)&&"data");// Handle iff the expected data type is "jsonp" or we have a parameter to set
if(jsonProp||s.dataTypes[0]==="jsonp"){// Get callback name, remembering preexisting value associated with it
callbackName=s.jsonpCallback=jQuery.isFunction(s.jsonpCallback)?s.jsonpCallback():s.jsonpCallback;// Insert callback into url or form data
if(jsonProp){s[jsonProp]=s[jsonProp].replace(rjsonp,"$1"+callbackName);}else if(s.jsonp!==false){s.url+=(rquery.test(s.url)?"&":"?")+s.jsonp+"="+callbackName;}// Use data converter to retrieve json after script execution
s.converters["script json"]=function(){if(!responseContainer){jQuery.error(callbackName+" was not called");}return responseContainer[0];};// Force json dataType
s.dataTypes[0]="json";// Install callback
overwritten=window[callbackName];window[callbackName]=function(){responseContainer=arguments;};// Clean-up function (fires after converters)
jqXHR.always(function(){// If previous value didn't exist - remove it
if(overwritten===undefined){jQuery(window).removeProp(callbackName);// Otherwise restore preexisting value
}else{window[callbackName]=overwritten;}// Save back as free
if(s[callbackName]){// Make sure that re-using the options doesn't screw things around
s.jsonpCallback=originalSettings.jsonpCallback;// Save the callback name for future use
oldCallbacks.push(callbackName);}// Call if it was a function and we have a response
if(responseContainer&&jQuery.isFunction(overwritten)){overwritten(responseContainer[0]);}responseContainer=overwritten=undefined;});// Delegate to script
return"script";}});// Support: Safari 8 only
// In Safari 8 documents created via document.implementation.createHTMLDocument
// collapse sibling forms: the second one becomes a child of the first one.
// Because of that, this security measure has to be disabled in Safari 8.
// https://bugs.webkit.org/show_bug.cgi?id=137337
support.createHTMLDocument=function(){var body=document.implementation.createHTMLDocument("").body;body.innerHTML="<form></form><form></form>";return body.childNodes.length===2;}();// Argument "data" should be string of html
// context (optional): If specified, the fragment will be created in this context,
// defaults to document
// keepScripts (optional): If true, will include scripts passed in the html string
jQuery.parseHTML=function(data,context,keepScripts){if(typeof data!=="string"){return[];}if(typeof context==="boolean"){keepScripts=context;context=false;}var base,parsed,scripts;if(!context){// Stop scripts or inline event handlers from being executed immediately
// by using document.implementation
if(support.createHTMLDocument){context=document.implementation.createHTMLDocument("");// Set the base href for the created document
// so any parsed elements with URLs
// are based on the document's URL (gh-2965)
base=context.createElement("base");base.href=document.location.href;context.head.appendChild(base);}else{context=document;}}parsed=rsingleTag.exec(data);scripts=!keepScripts&&[];// Single tag
if(parsed){return[context.createElement(parsed[1])];}parsed=buildFragment([data],context,scripts);if(scripts&&scripts.length){jQuery(scripts).remove();}return jQuery.merge([],parsed.childNodes);};/**
  * Load a url into a page
  */jQuery.fn.load=function(url,params,callback){var selector,type,response,self=this,off=url.indexOf(" ");if(off>-1){selector=stripAndCollapse(url.slice(off));url=url.slice(0,off);}// If it's a function
if(jQuery.isFunction(params)){// We assume that it's the callback
callback=params;params=undefined;// Otherwise, build a param string
}else if(params&&(typeof params==="undefined"?"undefined":_typeof(params))==="object"){type="POST";}// If we have elements to modify, make the request
if(self.length>0){jQuery.ajax({url:url,// If "type" variable is undefined, then "GET" method will be used.
// Make value of this field explicit since
// user can override it through ajaxSetup method
type:type||"GET",dataType:"html",data:params}).done(function(responseText){// Save response for use in complete callback
response=arguments;self.html(selector?// If a selector was specified, locate the right elements in a dummy div
// Exclude scripts to avoid IE 'Permission Denied' errors
jQuery("<div>").append(jQuery.parseHTML(responseText)).find(selector):// Otherwise use the full result
responseText);// If the request succeeds, this function gets "data", "status", "jqXHR"
// but they are ignored because response was set above.
// If it fails, this function gets "jqXHR", "status", "error"
}).always(callback&&function(jqXHR,status){self.each(function(){callback.apply(this,response||[jqXHR.responseText,status,jqXHR]);});});}return this;};// Attach a bunch of functions for handling common AJAX events
jQuery.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(i,type){jQuery.fn[type]=function(fn){return this.on(type,fn);};});jQuery.expr.pseudos.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem;}).length;};jQuery.offset={setOffset:function setOffset(elem,options,i){var curPosition,curLeft,curCSSTop,curTop,curOffset,curCSSLeft,calculatePosition,position=jQuery.css(elem,"position"),curElem=jQuery(elem),props={};// Set position first, in-case top/left are set even on static elem
if(position==="static"){elem.style.position="relative";}curOffset=curElem.offset();curCSSTop=jQuery.css(elem,"top");curCSSLeft=jQuery.css(elem,"left");calculatePosition=(position==="absolute"||position==="fixed")&&(curCSSTop+curCSSLeft).indexOf("auto")>-1;// Need to be able to calculate position if either
// top or left is auto and position is either absolute or fixed
if(calculatePosition){curPosition=curElem.position();curTop=curPosition.top;curLeft=curPosition.left;}else{curTop=parseFloat(curCSSTop)||0;curLeft=parseFloat(curCSSLeft)||0;}if(jQuery.isFunction(options)){// Use jQuery.extend here to allow modification of coordinates argument (gh-1848)
options=options.call(elem,i,jQuery.extend({},curOffset));}if(options.top!=null){props.top=options.top-curOffset.top+curTop;}if(options.left!=null){props.left=options.left-curOffset.left+curLeft;}if("using"in options){options.using.call(elem,props);}else{curElem.css(props);}}};jQuery.fn.extend({offset:function offset(options){// Preserve chaining for setter
if(arguments.length){return options===undefined?this:this.each(function(i){jQuery.offset.setOffset(this,options,i);});}var doc,docElem,rect,win,elem=this[0];if(!elem){return;}// Return zeros for disconnected and hidden (display: none) elements (gh-2310)
// Support: IE <=11 only
// Running getBoundingClientRect on a
// disconnected node in IE throws an error
if(!elem.getClientRects().length){return{top:0,left:0};}rect=elem.getBoundingClientRect();doc=elem.ownerDocument;docElem=doc.documentElement;win=doc.defaultView;return{top:rect.top+win.pageYOffset-docElem.clientTop,left:rect.left+win.pageXOffset-docElem.clientLeft};},position:function position(){if(!this[0]){return;}var offsetParent,offset,elem=this[0],parentOffset={top:0,left:0};// Fixed elements are offset from window (parentOffset = {top:0, left: 0},
// because it is its only offset parent
if(jQuery.css(elem,"position")==="fixed"){// Assume getBoundingClientRect is there when computed position is fixed
offset=elem.getBoundingClientRect();}else{// Get *real* offsetParent
offsetParent=this.offsetParent();// Get correct offsets
offset=this.offset();if(!nodeName(offsetParent[0],"html")){parentOffset=offsetParent.offset();}// Add offsetParent borders
parentOffset={top:parentOffset.top+jQuery.css(offsetParent[0],"borderTopWidth",true),left:parentOffset.left+jQuery.css(offsetParent[0],"borderLeftWidth",true)};}// Subtract parent offsets and element margins
return{top:offset.top-parentOffset.top-jQuery.css(elem,"marginTop",true),left:offset.left-parentOffset.left-jQuery.css(elem,"marginLeft",true)};},// This method will return documentElement in the following cases:
// 1) For the element inside the iframe without offsetParent, this method will return
//    documentElement of the parent window
// 2) For the hidden or detached element
// 3) For body or html element, i.e. in case of the html node - it will return itself
//
// but those exceptions were never presented as a real life use-cases
// and might be considered as more preferable results.
//
// This logic, however, is not guaranteed and can change at any point in the future
offsetParent:function offsetParent(){return this.map(function(){var offsetParent=this.offsetParent;while(offsetParent&&jQuery.css(offsetParent,"position")==="static"){offsetParent=offsetParent.offsetParent;}return offsetParent||documentElement;});}});// Create scrollLeft and scrollTop methods
jQuery.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(method,prop){var top="pageYOffset"===prop;jQuery.fn[method]=function(val){return access(this,function(elem,method,val){// Coalesce documents and windows
var win;if(jQuery.isWindow(elem)){win=elem;}else if(elem.nodeType===9){win=elem.defaultView;}if(val===undefined){return win?win[prop]:elem[method];}if(win){win.scrollTo(!top?val:win.pageXOffset,top?val:win.pageYOffset);}else{elem[method]=val;}},method,val,arguments.length);};});// Support: Safari <=7 - 9.1, Chrome <=37 - 49
// Add the top/left cssHooks using jQuery.fn.position
// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084
// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347
// getComputedStyle returns percent when specified for top/left/bottom/right;
// rather than make the css module depend on the offset module, just check for it here
jQuery.each(["top","left"],function(i,prop){jQuery.cssHooks[prop]=addGetHookIf(support.pixelPosition,function(elem,computed){if(computed){computed=curCSS(elem,prop);// If curCSS returns percentage, fallback to offset
return rnumnonpx.test(computed)?jQuery(elem).position()[prop]+"px":computed;}});});// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
jQuery.each({Height:"height",Width:"width"},function(name,type){jQuery.each({padding:"inner"+name,content:type,"":"outer"+name},function(defaultExtra,funcName){// Margin is only for outerHeight, outerWidth
jQuery.fn[funcName]=function(margin,value){var chainable=arguments.length&&(defaultExtra||typeof margin!=="boolean"),extra=defaultExtra||(margin===true||value===true?"margin":"border");return access(this,function(elem,type,value){var doc;if(jQuery.isWindow(elem)){// $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)
return funcName.indexOf("outer")===0?elem["inner"+name]:elem.document.documentElement["client"+name];}// Get document width or height
if(elem.nodeType===9){doc=elem.documentElement;// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],
// whichever is greatest
return Math.max(elem.body["scroll"+name],doc["scroll"+name],elem.body["offset"+name],doc["offset"+name],doc["client"+name]);}return value===undefined?// Get width or height on the element, requesting but not forcing parseFloat
jQuery.css(elem,type,extra):// Set width or height on the element
jQuery.style(elem,type,value,extra);},type,chainable?margin:undefined,chainable);};});});jQuery.fn.extend({bind:function bind(types,data,fn){return this.on(types,null,data,fn);},unbind:function unbind(types,fn){return this.off(types,null,fn);},delegate:function delegate(selector,types,data,fn){return this.on(types,selector,data,fn);},undelegate:function undelegate(selector,types,fn){// ( namespace ) or ( selector, types [, fn] )
return arguments.length===1?this.off(selector,"**"):this.off(types,selector||"**",fn);}});jQuery.holdReady=function(hold){if(hold){jQuery.readyWait++;}else{jQuery.ready(true);}};jQuery.isArray=Array.isArray;jQuery.parseJSON=JSON.parse;jQuery.nodeName=nodeName;// Register as a named AMD module, since jQuery can be concatenated with other
// files that may use define, but not via a proper concatenation script that
// understands anonymous AMD modules. A named AMD is safest and most robust
// way to register. Lowercase jquery is used because AMD module names are
// derived from file names, and jQuery is normally delivered in a lowercase
// file name. Do this after creating the global so that if an AMD module wants
// to call noConflict to hide this version of jQuery, it will work.
// Note that for maximum portability, libraries that are not jQuery should
// declare themselves as anonymous modules, and avoid setting a global if an
// AMD loader is present. jQuery is a special case. For more information, see
// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon
if(typeof define==="function"&&define.amd){define("jquery",[],function(){return jQuery;});}var// Map over jQuery in case of overwrite
_jQuery=window.jQuery,// Map over the $ in case of overwrite
_$=window.$;jQuery.noConflict=function(deep){if(window.$===jQuery){window.$=_$;}if(deep&&window.jQuery===jQuery){window.jQuery=_jQuery;}return jQuery;};// Expose jQuery and $ identifiers, even in AMD
// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
// and CommonJS for browser emulators (#13566)
if(!noGlobal){window.jQuery=window.$=jQuery;}return jQuery;});;/* NUGET: BEGIN LICENSE TEXT
 *
 * Microsoft grants you the right to use these script files for the sole
 * purpose of either: (i) interacting through your browser with the Microsoft
 * website or online service, subject to the applicable licensing or use
 * terms; or (ii) using the files as included with a Microsoft product subject
 * to that product's license terms. Microsoft reserves all other rights to the
 * files not expressly granted by Microsoft, whether by implication, estoppel
 * or otherwise. Insofar as a script file is dual licensed under GPL,
 * Microsoft neither took the code under GPL nor distributes it thereunder but
 * under the terms set out in this paragraph. All notices and licenses
 * below are for informational purposes only.
 *
 * NUGET: END LICENSE TEXT */ /*!
 * jQuery Validation Plugin 1.11.1
 *
 * http://bassistance.de/jquery-plugins/jquery-plugin-validation/
 * http://docs.jquery.com/Plugins/Validation
 *
 * Copyright 2013 Jörn Zaefferer
 * Released under the MIT license:
 *   http://www.opensource.org/licenses/mit-license.php
 */(function($){$.extend($.fn,{// http://docs.jquery.com/Plugins/Validation/validate
validate:function validate(options){// if nothing is selected, return nothing; can't chain anyway
if(!this.length){if(options&&options.debug&&window.console){console.warn("Nothing selected, can't validate, returning nothing.");}return;}// check if a validator for this form was already created
var validator=$.data(this[0],"validator");if(validator){return validator;}// Add novalidate tag if HTML5.
this.attr("novalidate","novalidate");validator=new $.validator(options,this[0]);$.data(this[0],"validator",validator);if(validator.settings.onsubmit){this.validateDelegate(":submit","click",function(event){if(validator.settings.submitHandler){validator.submitButton=event.target;}// allow suppressing validation by adding a cancel class to the submit button
if($(event.target).hasClass("cancel")){validator.cancelSubmit=true;}// allow suppressing validation by adding the html5 formnovalidate attribute to the submit button
if($(event.target).attr("formnovalidate")!==undefined){validator.cancelSubmit=true;}});// validate the form on submit
this.submit(function(event){if(validator.settings.debug){// prevent form submit to be able to see console output
event.preventDefault();}function handle(){var hidden;if(validator.settings.submitHandler){if(validator.submitButton){// insert a hidden input as a replacement for the missing submit button
hidden=$("<input type='hidden'/>").attr("name",validator.submitButton.name).val($(validator.submitButton).val()).appendTo(validator.currentForm);}validator.settings.submitHandler.call(validator,validator.currentForm,event);if(validator.submitButton){// and clean up afterwards; thanks to no-block-scope, hidden can be referenced
hidden.remove();}return false;}return true;}// prevent submit for invalid forms or custom submit handlers
if(validator.cancelSubmit){validator.cancelSubmit=false;return handle();}if(validator.form()){if(validator.pendingRequest){validator.formSubmitted=true;return false;}return handle();}else{validator.focusInvalid();return false;}});}return validator;},// http://docs.jquery.com/Plugins/Validation/valid
valid:function valid(){if($(this[0]).is("form")){return this.validate().form();}else{var valid=true;var validator=$(this[0].form).validate();this.each(function(){valid=valid&&validator.element(this);});return valid;}},// attributes: space seperated list of attributes to retrieve and remove
removeAttrs:function removeAttrs(attributes){var result={},$element=this;$.each(attributes.split(/\s/),function(index,value){result[value]=$element.attr(value);$element.removeAttr(value);});return result;},// http://docs.jquery.com/Plugins/Validation/rules
rules:function rules(command,argument){var element=this[0];if(command){var settings=$.data(element.form,"validator").settings;var staticRules=settings.rules;var existingRules=$.validator.staticRules(element);switch(command){case"add":$.extend(existingRules,$.validator.normalizeRule(argument));// remove messages from rules, but allow them to be set separetely
delete existingRules.messages;staticRules[element.name]=existingRules;if(argument.messages){settings.messages[element.name]=$.extend(settings.messages[element.name],argument.messages);}break;case"remove":if(!argument){delete staticRules[element.name];return existingRules;}var filtered={};$.each(argument.split(/\s/),function(index,method){filtered[method]=existingRules[method];delete existingRules[method];});return filtered;}}var data=$.validator.normalizeRules($.extend({},$.validator.classRules(element),$.validator.attributeRules(element),$.validator.dataRules(element),$.validator.staticRules(element)),element);// make sure required is at front
if(data.required){var param=data.required;delete data.required;data=$.extend({required:param},data);}return data;}});// Custom selectors
$.extend($.expr[":"],{// http://docs.jquery.com/Plugins/Validation/blank
blank:function blank(a){return!$.trim(""+$(a).val());},// http://docs.jquery.com/Plugins/Validation/filled
filled:function filled(a){return!!$.trim(""+$(a).val());},// http://docs.jquery.com/Plugins/Validation/unchecked
unchecked:function unchecked(a){return!$(a).prop("checked");}});// constructor for validator
$.validator=function(options,form){this.settings=$.extend(true,{},$.validator.defaults,options);this.currentForm=form;this.init();};$.validator.format=function(source,params){if(arguments.length===1){return function(){var args=$.makeArray(arguments);args.unshift(source);return $.validator.format.apply(this,args);};}if(arguments.length>2&&params.constructor!==Array){params=$.makeArray(arguments).slice(1);}if(params.constructor!==Array){params=[params];}$.each(params,function(i,n){source=source.replace(new RegExp("\\{"+i+"\\}","g"),function(){return n;});});return source;};$.extend($.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusInvalid:true,errorContainer:$([]),errorLabelContainer:$([]),onsubmit:true,ignore:":hidden",ignoreTitle:false,onfocusin:function onfocusin(element,event){this.lastActive=element;// hide error label and remove error class on focus if enabled
if(this.settings.focusCleanup&&!this.blockFocusCleanup){if(this.settings.unhighlight){this.settings.unhighlight.call(this,element,this.settings.errorClass,this.settings.validClass);}this.addWrapper(this.errorsFor(element)).hide();}},onfocusout:function onfocusout(element,event){if(!this.checkable(element)&&(element.name in this.submitted||!this.optional(element))){this.element(element);}},onkeyup:function onkeyup(element,event){if(event.which===9&&this.elementValue(element)===""){return;}else if(element.name in this.submitted||element===this.lastElement){this.element(element);}},onclick:function onclick(element,event){// click on selects, radiobuttons and checkboxes
if(element.name in this.submitted){this.element(element);}// or option elements, check parent select in that case
else if(element.parentNode.name in this.submitted){this.element(element.parentNode);}},highlight:function highlight(element,errorClass,validClass){if(element.type==="radio"){this.findByName(element.name).addClass(errorClass).removeClass(validClass);}else{$(element).addClass(errorClass).removeClass(validClass);}},unhighlight:function unhighlight(element,errorClass,validClass){if(element.type==="radio"){this.findByName(element.name).removeClass(errorClass).addClass(validClass);}else{$(element).removeClass(errorClass).addClass(validClass);}}},// http://docs.jquery.com/Plugins/Validation/Validator/setDefaults
setDefaults:function setDefaults(settings){$.extend($.validator.defaults,settings);},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",maxlength:$.validator.format("Please enter no more than {0} characters."),minlength:$.validator.format("Please enter at least {0} characters."),rangelength:$.validator.format("Please enter a value between {0} and {1} characters long."),range:$.validator.format("Please enter a value between {0} and {1}."),max:$.validator.format("Please enter a value less than or equal to {0}."),min:$.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:false,prototype:{init:function init(){this.labelContainer=$(this.settings.errorLabelContainer);this.errorContext=this.labelContainer.length&&this.labelContainer||$(this.currentForm);this.containers=$(this.settings.errorContainer).add(this.settings.errorLabelContainer);this.submitted={};this.valueCache={};this.pendingRequest=0;this.pending={};this.invalid={};this.reset();var groups=this.groups={};$.each(this.settings.groups,function(key,value){if(typeof value==="string"){value=value.split(/\s/);}$.each(value,function(index,name){groups[name]=key;});});var rules=this.settings.rules;$.each(rules,function(key,value){rules[key]=$.validator.normalizeRule(value);});function delegate(event){var validator=$.data(this[0].form,"validator"),eventType="on"+event.type.replace(/^validate/,"");if(validator.settings[eventType]){validator.settings[eventType].call(validator,this[0],event);}}$(this.currentForm).validateDelegate(":text, [type='password'], [type='file'], select, textarea, "+"[type='number'], [type='search'] ,[type='tel'], [type='url'], "+"[type='email'], [type='datetime'], [type='date'], [type='month'], "+"[type='week'], [type='time'], [type='datetime-local'], "+"[type='range'], [type='color'] ","focusin focusout keyup",delegate).validateDelegate("[type='radio'], [type='checkbox'], select, option","click",delegate);if(this.settings.invalidHandler){$(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler);}},// http://docs.jquery.com/Plugins/Validation/Validator/form
form:function form(){this.checkForm();$.extend(this.submitted,this.errorMap);this.invalid=$.extend({},this.errorMap);if(!this.valid()){$(this.currentForm).triggerHandler("invalid-form",[this]);}this.showErrors();return this.valid();},checkForm:function checkForm(){this.prepareForm();for(var i=0,elements=this.currentElements=this.elements();elements[i];i++){this.check(elements[i]);}return this.valid();},// http://docs.jquery.com/Plugins/Validation/Validator/element
element:function element(_element){_element=this.validationTargetFor(this.clean(_element));this.lastElement=_element;this.prepareElement(_element);this.currentElements=$(_element);var result=this.check(_element)!==false;if(result){delete this.invalid[_element.name];}else{this.invalid[_element.name]=true;}if(!this.numberOfInvalids()){// Hide error containers on last error
this.toHide=this.toHide.add(this.containers);}this.showErrors();return result;},// http://docs.jquery.com/Plugins/Validation/Validator/showErrors
showErrors:function showErrors(errors){if(errors){// add items to error list and map
$.extend(this.errorMap,errors);this.errorList=[];for(var name in errors){this.errorList.push({message:errors[name],element:this.findByName(name)[0]});}// remove items from success list
this.successList=$.grep(this.successList,function(element){return!(element.name in errors);});}if(this.settings.showErrors){this.settings.showErrors.call(this,this.errorMap,this.errorList);}else{this.defaultShowErrors();}},// http://docs.jquery.com/Plugins/Validation/Validator/resetForm
resetForm:function resetForm(){if($.fn.resetForm){$(this.currentForm).resetForm();}this.submitted={};this.lastElement=null;this.prepareForm();this.hideErrors();this.elements().removeClass(this.settings.errorClass).removeData("previousValue");},numberOfInvalids:function numberOfInvalids(){return this.objectLength(this.invalid);},objectLength:function objectLength(obj){var count=0;for(var i in obj){count++;}return count;},hideErrors:function hideErrors(){this.addWrapper(this.toHide).hide();},valid:function valid(){return this.size()===0;},size:function size(){return this.errorList.length;},focusInvalid:function focusInvalid(){if(this.settings.focusInvalid){try{$(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus()// manually trigger focusin event; without it, focusin handler isn't called, findLastActive won't have anything to find
.trigger("focusin");}catch(e){// ignore IE throwing errors when focusing hidden elements
}}},findLastActive:function findLastActive(){var lastActive=this.lastActive;return lastActive&&$.grep(this.errorList,function(n){return n.element.name===lastActive.name;}).length===1&&lastActive;},elements:function elements(){var validator=this,rulesCache={};// select all valid inputs inside the form (no submit or reset buttons)
return $(this.currentForm).find("input, select, textarea").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){if(!this.name&&validator.settings.debug&&window.console){console.error("%o has no name assigned",this);}// select only the first element for each name, and only those with rules specified
if(this.name in rulesCache||!validator.objectLength($(this).rules())){return false;}rulesCache[this.name]=true;return true;});},clean:function clean(selector){return $(selector)[0];},errors:function errors(){var errorClass=this.settings.errorClass.replace(" ",".");return $(this.settings.errorElement+"."+errorClass,this.errorContext);},reset:function reset(){this.successList=[];this.errorList=[];this.errorMap={};this.toShow=$([]);this.toHide=$([]);this.currentElements=$([]);},prepareForm:function prepareForm(){this.reset();this.toHide=this.errors().add(this.containers);},prepareElement:function prepareElement(element){this.reset();this.toHide=this.errorsFor(element);},elementValue:function elementValue(element){var type=$(element).attr("type"),val=$(element).val();if(type==="radio"||type==="checkbox"){return $("input[name='"+$(element).attr("name")+"']:checked").val();}if(typeof val==="string"){return val.replace(/\r/g,"");}return val;},check:function check(element){element=this.validationTargetFor(this.clean(element));var rules=$(element).rules();var dependencyMismatch=false;var val=this.elementValue(element);var result;for(var method in rules){var rule={method:method,parameters:rules[method]};try{result=$.validator.methods[method].call(this,val,element,rule.parameters);// if a method indicates that the field is optional and therefore valid,
// don't mark it as valid when there are no other rules
if(result==="dependency-mismatch"){dependencyMismatch=true;continue;}dependencyMismatch=false;if(result==="pending"){this.toHide=this.toHide.not(this.errorsFor(element));return;}if(!result){this.formatAndAdd(element,rule);return false;}}catch(e){if(this.settings.debug&&window.console){console.log("Exception occurred when checking element "+element.id+", check the '"+rule.method+"' method.",e);}throw e;}}if(dependencyMismatch){return;}if(this.objectLength(rules)){this.successList.push(element);}return true;},// return the custom message for the given element and validation method
// specified in the element's HTML5 data attribute
customDataMessage:function customDataMessage(element,method){return $(element).data("msg-"+method.toLowerCase())||element.attributes&&$(element).attr("data-msg-"+method.toLowerCase());},// return the custom message for the given element name and validation method
customMessage:function customMessage(name,method){var m=this.settings.messages[name];return m&&(m.constructor===String?m:m[method]);},// return the first defined argument, allowing empty strings
findDefined:function findDefined(){for(var i=0;i<arguments.length;i++){if(arguments[i]!==undefined){return arguments[i];}}return undefined;},defaultMessage:function defaultMessage(element,method){return this.findDefined(this.customMessage(element.name,method),this.customDataMessage(element,method),// title is never undefined, so handle empty string as undefined
!this.settings.ignoreTitle&&element.title||undefined,$.validator.messages[method],"<strong>Warning: No message defined for "+element.name+"</strong>");},formatAndAdd:function formatAndAdd(element,rule){var message=this.defaultMessage(element,rule.method),theregex=/\$?\{(\d+)\}/g;if(typeof message==="function"){message=message.call(this,rule.parameters,element);}else if(theregex.test(message)){message=$.validator.format(message.replace(theregex,"{$1}"),rule.parameters);}this.errorList.push({message:message,element:element});this.errorMap[element.name]=message;this.submitted[element.name]=message;},addWrapper:function addWrapper(toToggle){if(this.settings.wrapper){toToggle=toToggle.add(toToggle.parent(this.settings.wrapper));}return toToggle;},defaultShowErrors:function defaultShowErrors(){var i,elements;for(i=0;this.errorList[i];i++){var error=this.errorList[i];if(this.settings.highlight){this.settings.highlight.call(this,error.element,this.settings.errorClass,this.settings.validClass);}this.showLabel(error.element,error.message);}if(this.errorList.length){this.toShow=this.toShow.add(this.containers);}if(this.settings.success){for(i=0;this.successList[i];i++){this.showLabel(this.successList[i]);}}if(this.settings.unhighlight){for(i=0,elements=this.validElements();elements[i];i++){this.settings.unhighlight.call(this,elements[i],this.settings.errorClass,this.settings.validClass);}}this.toHide=this.toHide.not(this.toShow);this.hideErrors();this.addWrapper(this.toShow).show();},validElements:function validElements(){return this.currentElements.not(this.invalidElements());},invalidElements:function invalidElements(){return $(this.errorList).map(function(){return this.element;});},showLabel:function showLabel(element,message){var label=this.errorsFor(element);if(label.length){// refresh error/success class
label.removeClass(this.settings.validClass).addClass(this.settings.errorClass);// replace message on existing label
label.html(message);}else{// create label
label=$("<"+this.settings.errorElement+">").attr("for",this.idOrName(element)).addClass(this.settings.errorClass).html(message||"");if(this.settings.wrapper){// make sure the element is visible, even in IE
// actually showing the wrapped element is handled elsewhere
label=label.hide().show().wrap("<"+this.settings.wrapper+"/>").parent();}if(!this.labelContainer.append(label).length){if(this.settings.errorPlacement){this.settings.errorPlacement(label,$(element));}else{label.insertAfter(element);}}}if(!message&&this.settings.success){label.text("");if(typeof this.settings.success==="string"){label.addClass(this.settings.success);}else{this.settings.success(label,element);}}this.toShow=this.toShow.add(label);},errorsFor:function errorsFor(element){var name=this.idOrName(element);return this.errors().filter(function(){return $(this).attr("for")===name;});},idOrName:function idOrName(element){return this.groups[element.name]||(this.checkable(element)?element.name:element.id||element.name);},validationTargetFor:function validationTargetFor(element){// if radio/checkbox, validate first element in group instead
if(this.checkable(element)){element=this.findByName(element.name).not(this.settings.ignore)[0];}return element;},checkable:function checkable(element){return /radio|checkbox/i.test(element.type);},findByName:function findByName(name){return $(this.currentForm).find("[name='"+name+"']");},getLength:function getLength(value,element){switch(element.nodeName.toLowerCase()){case"select":return $("option:selected",element).length;case"input":if(this.checkable(element)){return this.findByName(element.name).filter(":checked").length;}}return value.length;},depend:function depend(param,element){return this.dependTypes[_typeof2(param)]?this.dependTypes[_typeof2(param)](param,element):true;},dependTypes:{"boolean":function boolean(param,element){return param;},"string":function string(param,element){return!!$(param,element.form).length;},"function":function _function(param,element){return param(element);}},optional:function optional(element){var val=this.elementValue(element);return!$.validator.methods.required.call(this,val,element)&&"dependency-mismatch";},startRequest:function startRequest(element){if(!this.pending[element.name]){this.pendingRequest++;this.pending[element.name]=true;}},stopRequest:function stopRequest(element,valid){this.pendingRequest--;// sometimes synchronization fails, make sure pendingRequest is never < 0
if(this.pendingRequest<0){this.pendingRequest=0;}delete this.pending[element.name];if(valid&&this.pendingRequest===0&&this.formSubmitted&&this.form()){$(this.currentForm).submit();this.formSubmitted=false;}else if(!valid&&this.pendingRequest===0&&this.formSubmitted){$(this.currentForm).triggerHandler("invalid-form",[this]);this.formSubmitted=false;}},previousValue:function previousValue(element){return $.data(element,"previousValue")||$.data(element,"previousValue",{old:null,valid:true,message:this.defaultMessage(element,"remote")});}},classRuleSettings:{required:{required:true},email:{email:true},url:{url:true},date:{date:true},dateISO:{dateISO:true},number:{number:true},digits:{digits:true},creditcard:{creditcard:true}},addClassRules:function addClassRules(className,rules){if(className.constructor===String){this.classRuleSettings[className]=rules;}else{$.extend(this.classRuleSettings,className);}},classRules:function classRules(element){var rules={};var classes=$(element).attr("class");if(classes){$.each(classes.split(" "),function(){if(this in $.validator.classRuleSettings){$.extend(rules,$.validator.classRuleSettings[this]);}});}return rules;},attributeRules:function attributeRules(element){var rules={};var $element=$(element);var type=$element[0].getAttribute("type");for(var method in $.validator.methods){var value;// support for <input required> in both html5 and older browsers
if(method==="required"){value=$element.get(0).getAttribute(method);// Some browsers return an empty string for the required attribute
// and non-HTML5 browsers might have required="" markup
if(value===""){value=true;}// force non-HTML5 browsers to return bool
value=!!value;}else{value=$element.attr(method);}// convert the value to a number for number inputs, and for text for backwards compability
// allows type="date" and others to be compared as strings
if(/min|max/.test(method)&&(type===null||/number|range|text/.test(type))){value=Number(value);}if(value){rules[method]=value;}else if(type===method&&type!=='range'){// exception: the jquery validate 'range' method
// does not test for the html5 'range' type
rules[method]=true;}}// maxlength may be returned as -1, 2147483647 (IE) and 524288 (safari) for text inputs
if(rules.maxlength&&/-1|2147483647|524288/.test(rules.maxlength)){delete rules.maxlength;}return rules;},dataRules:function dataRules(element){var method,value,rules={},$element=$(element);for(method in $.validator.methods){value=$element.data("rule-"+method.toLowerCase());if(value!==undefined){rules[method]=value;}}return rules;},staticRules:function staticRules(element){var rules={};var validator=$.data(element.form,"validator");if(validator.settings.rules){rules=$.validator.normalizeRule(validator.settings.rules[element.name])||{};}return rules;},normalizeRules:function normalizeRules(rules,element){// handle dependency check
$.each(rules,function(prop,val){// ignore rule when param is explicitly false, eg. required:false
if(val===false){delete rules[prop];return;}if(val.param||val.depends){var keepRule=true;switch(_typeof2(val.depends)){case"string":keepRule=!!$(val.depends,element.form).length;break;case"function":keepRule=val.depends.call(element,element);break;}if(keepRule){rules[prop]=val.param!==undefined?val.param:true;}else{delete rules[prop];}}});// evaluate parameters
$.each(rules,function(rule,parameter){rules[rule]=$.isFunction(parameter)?parameter(element):parameter;});// clean number parameters
$.each(['minlength','maxlength'],function(){if(rules[this]){rules[this]=Number(rules[this]);}});$.each(['rangelength','range'],function(){var parts;if(rules[this]){if($.isArray(rules[this])){rules[this]=[Number(rules[this][0]),Number(rules[this][1])];}else if(typeof rules[this]==="string"){parts=rules[this].split(/[\s,]+/);rules[this]=[Number(parts[0]),Number(parts[1])];}}});if($.validator.autoCreateRanges){// auto-create ranges
if(rules.min&&rules.max){rules.range=[rules.min,rules.max];delete rules.min;delete rules.max;}if(rules.minlength&&rules.maxlength){rules.rangelength=[rules.minlength,rules.maxlength];delete rules.minlength;delete rules.maxlength;}}return rules;},// Converts a simple string to a {string: true} rule, e.g., "required" to {required:true}
normalizeRule:function normalizeRule(data){if(typeof data==="string"){var transformed={};$.each(data.split(/\s/),function(){transformed[this]=true;});data=transformed;}return data;},// http://docs.jquery.com/Plugins/Validation/Validator/addMethod
addMethod:function addMethod(name,method,message){$.validator.methods[name]=method;$.validator.messages[name]=message!==undefined?message:$.validator.messages[name];if(method.length<3){$.validator.addClassRules(name,$.validator.normalizeRule(name));}},methods:{// http://docs.jquery.com/Plugins/Validation/Methods/required
required:function required(value,element,param){// check if dependency is met
if(!this.depend(param,element)){return"dependency-mismatch";}if(element.nodeName.toLowerCase()==="select"){// could be an array for select-multiple or a string, both are fine this way
var val=$(element).val();return val&&val.length>0;}if(this.checkable(element)){return this.getLength(value,element)>0;}return $.trim(value).length>0;},// http://docs.jquery.com/Plugins/Validation/Methods/email
email:function email(value,element){// contributed by Scott Gonzalez: http://projects.scottsplayground.com/email_address_validation/
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);},// http://docs.jquery.com/Plugins/Validation/Methods/url
url:function url(value,element){// contributed by Scott Gonzalez: http://projects.scottsplayground.com/iri/
return this.optional(element)||/^(https?|s?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);},// http://docs.jquery.com/Plugins/Validation/Methods/date
date:function date(value,element){return this.optional(element)||!/Invalid|NaN/.test(new Date(value).toString());},// http://docs.jquery.com/Plugins/Validation/Methods/dateISO
dateISO:function dateISO(value,element){return this.optional(element)||/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/.test(value);},// http://docs.jquery.com/Plugins/Validation/Methods/number
number:function number(value,element){return this.optional(element)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(value);},// http://docs.jquery.com/Plugins/Validation/Methods/digits
digits:function digits(value,element){return this.optional(element)||/^\d+$/.test(value);},// http://docs.jquery.com/Plugins/Validation/Methods/creditcard
// based on http://en.wikipedia.org/wiki/Luhn
creditcard:function creditcard(value,element){if(this.optional(element)){return"dependency-mismatch";}// accept only spaces, digits and dashes
if(/[^0-9 \-]+/.test(value)){return false;}var nCheck=0,nDigit=0,bEven=false;value=value.replace(/\D/g,"");for(var n=value.length-1;n>=0;n--){var cDigit=value.charAt(n);nDigit=parseInt(cDigit,10);if(bEven){if((nDigit*=2)>9){nDigit-=9;}}nCheck+=nDigit;bEven=!bEven;}return nCheck%10===0;},// http://docs.jquery.com/Plugins/Validation/Methods/minlength
minlength:function minlength(value,element,param){var length=$.isArray(value)?value.length:this.getLength($.trim(value),element);return this.optional(element)||length>=param;},// http://docs.jquery.com/Plugins/Validation/Methods/maxlength
maxlength:function maxlength(value,element,param){var length=$.isArray(value)?value.length:this.getLength($.trim(value),element);return this.optional(element)||length<=param;},// http://docs.jquery.com/Plugins/Validation/Methods/rangelength
rangelength:function rangelength(value,element,param){var length=$.isArray(value)?value.length:this.getLength($.trim(value),element);return this.optional(element)||length>=param[0]&&length<=param[1];},// http://docs.jquery.com/Plugins/Validation/Methods/min
min:function min(value,element,param){return this.optional(element)||value>=param;},// http://docs.jquery.com/Plugins/Validation/Methods/max
max:function max(value,element,param){return this.optional(element)||value<=param;},// http://docs.jquery.com/Plugins/Validation/Methods/range
range:function range(value,element,param){return this.optional(element)||value>=param[0]&&value<=param[1];},// http://docs.jquery.com/Plugins/Validation/Methods/equalTo
equalTo:function equalTo(value,element,param){// bind to the blur event of the target in order to revalidate whenever the target field is updated
// TODO find a way to bind the event just once, avoiding the unbind-rebind overhead
var target=$(param);if(this.settings.onfocusout){target.unbind(".validate-equalTo").bind("blur.validate-equalTo",function(){$(element).valid();});}return value===target.val();},// http://docs.jquery.com/Plugins/Validation/Methods/remote
remote:function remote(value,element,param){if(this.optional(element)){return"dependency-mismatch";}var previous=this.previousValue(element);if(!this.settings.messages[element.name]){this.settings.messages[element.name]={};}previous.originalMessage=this.settings.messages[element.name].remote;this.settings.messages[element.name].remote=previous.message;param=typeof param==="string"&&{url:param}||param;if(previous.old===value){return previous.valid;}previous.old=value;var validator=this;this.startRequest(element);var data={};data[element.name]=value;$.ajax($.extend(true,{url:param,mode:"abort",port:"validate"+element.name,dataType:"json",data:data,success:function success(response){validator.settings.messages[element.name].remote=previous.originalMessage;var valid=response===true||response==="true";if(valid){var submitted=validator.formSubmitted;validator.prepareElement(element);validator.formSubmitted=submitted;validator.successList.push(element);delete validator.invalid[element.name];validator.showErrors();}else{var errors={};var message=response||validator.defaultMessage(element,"remote");errors[element.name]=previous.message=$.isFunction(message)?message(value):message;validator.invalid[element.name]=true;validator.showErrors(errors);}previous.valid=valid;validator.stopRequest(element,valid);}},param));return"pending";}}});// deprecated, use $.validator.format instead
$.format=$.validator.format;})(jQuery);// ajax mode: abort
// usage: $.ajax({ mode: "abort"[, port: "uniqueport"]});
// if mode:"abort" is used, the previous request on that port (port can be undefined) is aborted via XMLHttpRequest.abort()
(function($){var pendingRequests={};// Use a prefilter if available (1.5+)
if($.ajaxPrefilter){$.ajaxPrefilter(function(settings,_,xhr){var port=settings.port;if(settings.mode==="abort"){if(pendingRequests[port]){pendingRequests[port].abort();}pendingRequests[port]=xhr;}});}else{// Proxy ajax
var ajax=$.ajax;$.ajax=function(settings){var mode=("mode"in settings?settings:$.ajaxSettings).mode,port=("port"in settings?settings:$.ajaxSettings).port;if(mode==="abort"){if(pendingRequests[port]){pendingRequests[port].abort();}pendingRequests[port]=ajax.apply(this,arguments);return pendingRequests[port];}return ajax.apply(this,arguments);};}})(jQuery);// provides delegate(type: String, delegate: Selector, handler: Callback) plugin for easier event delegation
// handler is only called when $(event.target).is(delegate), in the scope of the jquery-object for event.target
(function($){$.extend($.fn,{validateDelegate:function validateDelegate(delegate,type,handler){return this.bind(type,function(event){var target=$(event.target);if(target.is(delegate)){return handler.apply(target,arguments);}});}});})(jQuery);;/* NUGET: BEGIN LICENSE TEXT
 *
 * Microsoft grants you the right to use these script files for the sole
 * purpose of either: (i) interacting through your browser with the Microsoft
 * website or online service, subject to the applicable licensing or use
 * terms; or (ii) using the files as included with a Microsoft product subject
 * to that product's license terms. Microsoft reserves all other rights to the
 * files not expressly granted by Microsoft, whether by implication, estoppel
 * or otherwise. Insofar as a script file is dual licensed under GPL,
 * Microsoft neither took the code under GPL nor distributes it thereunder but
 * under the terms set out in this paragraph. All notices and licenses
 * below are for informational purposes only.
 *
 * NUGET: END LICENSE TEXT */ /*!
** Unobtrusive validation support library for jQuery and jQuery Validate
** Copyright (C) Microsoft Corporation. All rights reserved.
*/ /*jslint white: true, browser: true, onevar: true, undef: true, nomen: true, eqeqeq: true, plusplus: true, bitwise: true, regexp: true, newcap: true, immed: true, strict: false */ /*global document: false, jQuery: false */(function($){var $jQval=$.validator,adapters,data_validation="unobtrusiveValidation";function setValidationValues(options,ruleName,value){options.rules[ruleName]=value;if(options.message){options.messages[ruleName]=options.message;}}function splitAndTrim(value){return value.replace(/^\s+|\s+$/g,"").split(/\s*,\s*/g);}function escapeAttributeValue(value){// As mentioned on http://api.jquery.com/category/selectors/
return value.replace(/([!"#$%&'()*+,./:;<=>?@\[\\\]^`{|}~])/g,"\\$1");}function getModelPrefix(fieldName){return fieldName.substr(0,fieldName.lastIndexOf(".")+1);}function appendModelPrefix(value,prefix){if(value.indexOf("*.")===0){value=value.replace("*.",prefix);}return value;}function onError(error,inputElement){// 'this' is the form element
var container=$(this).find("[data-valmsg-for='"+escapeAttributeValue(inputElement[0].name)+"']"),replaceAttrValue=container.attr("data-valmsg-replace"),replace=replaceAttrValue?$.parseJSON(replaceAttrValue)!==false:null;container.removeClass("field-validation-valid").addClass("field-validation-error");error.data("unobtrusiveContainer",container);if(replace){container.empty();error.removeClass("input-validation-error").appendTo(container);}else{error.hide();}}function onErrors(event,validator){// 'this' is the form element
var container=$(this).find("[data-valmsg-summary=true]"),list=container.find("ul");if(list&&list.length&&validator.errorList.length){list.empty();container.addClass("validation-summary-errors").removeClass("validation-summary-valid");$.each(validator.errorList,function(){$("<li />").html(this.message).appendTo(list);});}}function onSuccess(error){// 'this' is the form element
var container=error.data("unobtrusiveContainer"),replaceAttrValue=container.attr("data-valmsg-replace"),replace=replaceAttrValue?$.parseJSON(replaceAttrValue):null;if(container){container.addClass("field-validation-valid").removeClass("field-validation-error");error.removeData("unobtrusiveContainer");if(replace){container.empty();}}}function onReset(event){// 'this' is the form element
var $form=$(this),key='__jquery_unobtrusive_validation_form_reset';if($form.data(key)){return;}// Set a flag that indicates we're currently resetting the form.
$form.data(key,true);try{$form.data("validator").resetForm();}finally{$form.removeData(key);}$form.find(".validation-summary-errors").addClass("validation-summary-valid").removeClass("validation-summary-errors");$form.find(".field-validation-error").addClass("field-validation-valid").removeClass("field-validation-error").removeData("unobtrusiveContainer").find(">*")// If we were using valmsg-replace, get the underlying error
.removeData("unobtrusiveContainer");}function validationInfo(form){var $form=$(form),result=$form.data(data_validation),onResetProxy=$.proxy(onReset,form),defaultOptions=$jQval.unobtrusive.options||{},execInContext=function execInContext(name,args){var func=defaultOptions[name];func&&$.isFunction(func)&&func.apply(form,args);};if(!result){result={options:{// options structure passed to jQuery Validate's validate() method
errorClass:defaultOptions.errorClass||"input-validation-error",errorElement:defaultOptions.errorElement||"span",errorPlacement:function errorPlacement(){onError.apply(form,arguments);execInContext("errorPlacement",arguments);},invalidHandler:function invalidHandler(){onErrors.apply(form,arguments);execInContext("invalidHandler",arguments);},messages:{},rules:{},success:function success(){onSuccess.apply(form,arguments);execInContext("success",arguments);}},attachValidation:function attachValidation(){$form.off("reset."+data_validation,onResetProxy).on("reset."+data_validation,onResetProxy).validate(this.options);},validate:function validate(){// a validation function that is called by unobtrusive Ajax
$form.validate();return $form.valid();}};$form.data(data_validation,result);}return result;}$jQval.unobtrusive={adapters:[],parseElement:function parseElement(element,skipAttach){/// <summary>
/// Parses a single HTML element for unobtrusive validation attributes.
/// </summary>
/// <param name="element" domElement="true">The HTML element to be parsed.</param>
/// <param name="skipAttach" type="Boolean">[Optional] true to skip attaching the
/// validation to the form. If parsing just this single element, you should specify true.
/// If parsing several elements, you should specify false, and manually attach the validation
/// to the form when you are finished. The default is false.</param>
var $element=$(element),form=$element.parents("form")[0],valInfo,rules,messages;if(!form){// Cannot do client-side validation without a form
return;}valInfo=validationInfo(form);valInfo.options.rules[element.name]=rules={};valInfo.options.messages[element.name]=messages={};$.each(this.adapters,function(){var prefix="data-val-"+this.name,message=$element.attr(prefix),paramValues={};if(message!==undefined){// Compare against undefined, because an empty message is legal (and falsy)
prefix+="-";$.each(this.params,function(){paramValues[this]=$element.attr(prefix+this);});this.adapt({element:element,form:form,message:message,params:paramValues,rules:rules,messages:messages});}});$.extend(rules,{"__dummy__":true});if(!skipAttach){valInfo.attachValidation();}},parse:function parse(selector){/// <summary>
/// Parses all the HTML elements in the specified selector. It looks for input elements decorated
/// with the [data-val=true] attribute value and enables validation according to the data-val-*
/// attribute values.
/// </summary>
/// <param name="selector" type="String">Any valid jQuery selector.</param>
// $forms includes all forms in selector's DOM hierarchy (parent, children and self) that have at least one
// element with data-val=true
var $selector=$(selector),$forms=$selector.parents().addBack().filter("form").add($selector.find("form")).has("[data-val=true]");$selector.find("[data-val=true]").each(function(){$jQval.unobtrusive.parseElement(this,true);});$forms.each(function(){var info=validationInfo(this);if(info){info.attachValidation();}});}};adapters=$jQval.unobtrusive.adapters;adapters.add=function(adapterName,params,fn){/// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation.</summary>
/// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
/// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).</param>
/// <param name="params" type="Array" optional="true">[Optional] An array of parameter names (strings) that will
/// be extracted from the data-val-nnnn-mmmm HTML attributes (where nnnn is the adapter name, and
/// mmmm is the parameter name).</param>
/// <param name="fn" type="Function">The function to call, which adapts the values from the HTML
/// attributes into jQuery Validate rules and/or messages.</param>
/// <returns type="jQuery.validator.unobtrusive.adapters" />
if(!fn){// Called with no params, just a function
fn=params;params=[];}this.push({name:adapterName,params:params,adapt:fn});return this;};adapters.addBool=function(adapterName,ruleName){/// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where
/// the jQuery Validate validation rule has no parameter values.</summary>
/// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
/// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).</param>
/// <param name="ruleName" type="String" optional="true">[Optional] The name of the jQuery Validate rule. If not provided, the value
/// of adapterName will be used instead.</param>
/// <returns type="jQuery.validator.unobtrusive.adapters" />
return this.add(adapterName,function(options){setValidationValues(options,ruleName||adapterName,true);});};adapters.addMinMax=function(adapterName,minRuleName,maxRuleName,minMaxRuleName,minAttribute,maxAttribute){/// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where
/// the jQuery Validate validation has three potential rules (one for min-only, one for max-only, and
/// one for min-and-max). The HTML parameters are expected to be named -min and -max.</summary>
/// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
/// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).</param>
/// <param name="minRuleName" type="String">The name of the jQuery Validate rule to be used when you only
/// have a minimum value.</param>
/// <param name="maxRuleName" type="String">The name of the jQuery Validate rule to be used when you only
/// have a maximum value.</param>
/// <param name="minMaxRuleName" type="String">The name of the jQuery Validate rule to be used when you
/// have both a minimum and maximum value.</param>
/// <param name="minAttribute" type="String" optional="true">[Optional] The name of the HTML attribute that
/// contains the minimum value. The default is "min".</param>
/// <param name="maxAttribute" type="String" optional="true">[Optional] The name of the HTML attribute that
/// contains the maximum value. The default is "max".</param>
/// <returns type="jQuery.validator.unobtrusive.adapters" />
return this.add(adapterName,[minAttribute||"min",maxAttribute||"max"],function(options){var min=options.params.min,max=options.params.max;if(min&&max){setValidationValues(options,minMaxRuleName,[min,max]);}else if(min){setValidationValues(options,minRuleName,min);}else if(max){setValidationValues(options,maxRuleName,max);}});};adapters.addSingleVal=function(adapterName,attribute,ruleName){/// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where
/// the jQuery Validate validation rule has a single value.</summary>
/// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
/// in the data-val-nnnn HTML attribute(where nnnn is the adapter name).</param>
/// <param name="attribute" type="String">[Optional] The name of the HTML attribute that contains the value.
/// The default is "val".</param>
/// <param name="ruleName" type="String" optional="true">[Optional] The name of the jQuery Validate rule. If not provided, the value
/// of adapterName will be used instead.</param>
/// <returns type="jQuery.validator.unobtrusive.adapters" />
return this.add(adapterName,[attribute||"val"],function(options){setValidationValues(options,ruleName||adapterName,options.params[attribute]);});};$jQval.addMethod("__dummy__",function(value,element,params){return true;});$jQval.addMethod("regex",function(value,element,params){var match;if(this.optional(element)){return true;}match=new RegExp(params).exec(value);return match&&match.index===0&&match[0].length===value.length;});$jQval.addMethod("nonalphamin",function(value,element,nonalphamin){var match;if(nonalphamin){match=value.match(/\W/g);match=match&&match.length>=nonalphamin;}return match;});if($jQval.methods.extension){adapters.addSingleVal("accept","mimtype");adapters.addSingleVal("extension","extension");}else{// for backward compatibility, when the 'extension' validation method does not exist, such as with versions
// of JQuery Validation plugin prior to 1.10, we should use the 'accept' method for
// validating the extension, and ignore mime-type validations as they are not supported.
adapters.addSingleVal("extension","extension","accept");}adapters.addSingleVal("regex","pattern");adapters.addBool("creditcard").addBool("date").addBool("digits").addBool("email").addBool("number").addBool("url");adapters.addMinMax("length","minlength","maxlength","rangelength").addMinMax("range","min","max","range");adapters.addMinMax("minlength","minlength").addMinMax("maxlength","minlength","maxlength");adapters.add("equalto",["other"],function(options){var prefix=getModelPrefix(options.element.name),other=options.params.other,fullOtherName=appendModelPrefix(other,prefix),element=$(options.form).find(":input").filter("[name='"+escapeAttributeValue(fullOtherName)+"']")[0];setValidationValues(options,"equalTo",element);});adapters.add("required",function(options){// jQuery Validate equates "required" with "mandatory" for checkbox elements
if(options.element.tagName.toUpperCase()!=="INPUT"||options.element.type.toUpperCase()!=="CHECKBOX"){setValidationValues(options,"required",true);}});adapters.add("remote",["url","type","additionalfields"],function(options){var value={url:options.params.url,type:options.params.type||"GET",data:{}},prefix=getModelPrefix(options.element.name);$.each(splitAndTrim(options.params.additionalfields||options.element.name),function(i,fieldName){var paramName=appendModelPrefix(fieldName,prefix);value.data[paramName]=function(){var field=$(options.form).find(":input").filter("[name='"+escapeAttributeValue(paramName)+"']");// For checkboxes and radio buttons, only pick up values from checked fields.
if(field.is(":checkbox")){return field.filter(":checked").val()||field.filter(":hidden").val()||'';}else if(field.is(":radio")){return field.filter(":checked").val()||'';}return field.val();};});setValidationValues(options,"remote",value);});adapters.add("password",["min","nonalphamin","regex"],function(options){if(options.params.min){setValidationValues(options,"minlength",options.params.min);}if(options.params.nonalphamin){setValidationValues(options,"nonalphamin",options.params.nonalphamin);}if(options.params.regex){setValidationValues(options,"regex",options.params.regex);}});$(function(){$jQval.unobtrusive.parse(document);});})(jQuery);;// Unobtrusive Ajax support library for jQuery
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
// @version v3.2.6
// 
// Microsoft grants you the right to use these script files for the sole
// purpose of either: (i) interacting through your browser with the Microsoft
// website or online service, subject to the applicable licensing or use
// terms; or (ii) using the files as included with a Microsoft product subject
// to that product's license terms. Microsoft reserves all other rights to the
// files not expressly granted by Microsoft, whether by implication, estoppel
// or otherwise. Insofar as a script file is dual licensed under GPL,
// Microsoft neither took the code under GPL nor distributes it thereunder but
// under the terms set out in this paragraph. All notices and licenses
// below are for informational purposes only.
!function(t){function a(t,a){for(var e=window,r=(t||"").split(".");e&&r.length;){e=e[r.shift()];}return"function"==typeof e?e:(a.push(t),Function.constructor.apply(null,a));}function e(t){return"GET"===t||"POST"===t;}function r(t,a){e(a)||t.setRequestHeader("X-HTTP-Method-Override",a);}function n(a,e,r){var n;r.indexOf("application/x-javascript")===-1&&(n=(a.getAttribute("data-ajax-mode")||"").toUpperCase(),t(a.getAttribute("data-ajax-update")).each(function(a,r){switch(n){case"BEFORE":t(r).prepend(e);break;case"AFTER":t(r).append(e);break;case"REPLACE-WITH":t(r).replaceWith(e);break;default:t(r).html(e);}}));}function i(i,u){var o,c,d,s;if(o=i.getAttribute("data-ajax-confirm"),!o||window.confirm(o)){c=t(i.getAttribute("data-ajax-loading")),s=parseInt(i.getAttribute("data-ajax-loading-duration"),10)||0,t.extend(u,{type:i.getAttribute("data-ajax-method")||void 0,url:i.getAttribute("data-ajax-url")||void 0,cache:"true"===(i.getAttribute("data-ajax-cache")||"").toLowerCase(),beforeSend:function beforeSend(t){var e;return r(t,d),e=a(i.getAttribute("data-ajax-begin"),["xhr"]).apply(i,arguments),e!==!1&&c.show(s),e;},complete:function complete(){c.hide(s),a(i.getAttribute("data-ajax-complete"),["xhr","status"]).apply(i,arguments);},success:function success(t,e,r){n(i,t,r.getResponseHeader("Content-Type")||"text/html"),a(i.getAttribute("data-ajax-success"),["data","status","xhr"]).apply(i,arguments);},error:function error(){a(i.getAttribute("data-ajax-failure"),["xhr","status","error"]).apply(i,arguments);}}),u.data.push({name:"X-Requested-With",value:"XMLHttpRequest"}),d=u.type.toUpperCase(),e(d)||(u.type="POST",u.data.push({name:"X-HTTP-Method-Override",value:d}));var p=t(i);if(p.is("form")&&"multipart/form-data"==p.attr("enctype")){var f=new FormData();t.each(u.data,function(t,a){f.append(a.name,a.value);}),t("input[type=file]",p).each(function(){var a=this;t.each(a.files,function(t,e){f.append(a.name,e);});}),t.extend(u,{processData:!1,contentType:!1,data:f});}t.ajax(u);}}function u(a){var e=t(a).data(d);return!e||!e.validate||e.validate();}var o="unobtrusiveAjaxClick",c="unobtrusiveAjaxClickTarget",d="unobtrusiveValidation";t(document).on("click","a[data-ajax=true]",function(t){t.preventDefault(),i(this,{url:this.href,type:"GET",data:[]});}),t(document).on("click","form[data-ajax=true] input[type=image]",function(a){var e=a.target.name,r=t(a.target),n=t(r.parents("form")[0]),i=r.offset();n.data(o,[{name:e+".x",value:Math.round(a.pageX-i.left)},{name:e+".y",value:Math.round(a.pageY-i.top)}]),setTimeout(function(){n.removeData(o);},0);}),t(document).on("click","form[data-ajax=true] :submit",function(a){var e=a.currentTarget.name,r=t(a.target),n=t(r.parents("form")[0]);n.data(o,e?[{name:e,value:a.currentTarget.value}]:[]),n.data(c,r),setTimeout(function(){n.removeData(o),n.removeData(c);},0);}),t(document).on("submit","form[data-ajax=true]",function(a){var e=t(this).data(o)||[],r=t(this).data(c),n=r&&(r.hasClass("cancel")||void 0!==r.attr("formnovalidate"));a.preventDefault(),(n||u(this))&&i(this,{url:this.action,type:this.method||"GET",data:e.concat(t(this).serializeArray())});});}(jQuery);;/** @license React v16.12.0
 * react.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */'use strict';(function(v,m){"object"===(typeof exports==="undefined"?"undefined":_typeof2(exports))&&"undefined"!==typeof module?module.exports=m():"function"===typeof define&&define.amd?define(m):v.React=m();})(this,function(){function v(a){for(var b="https://reactjs.org/docs/error-decoder.html?invariant="+a,c=1;c<arguments.length;c++){b+="&args[]="+encodeURIComponent(arguments[c]);}return"Minified React error #"+a+"; visit "+b+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";}function m(a,b,c){this.props=a;this.context=b;this.refs=da;this.updater=c||ea;}function fa(){}function M(a,b,c){this.props=a;this.context=b;this.refs=da;this.updater=c||ea;}function ha(a,b,c){var d,e={},p=null,f=null;if(null!=b)for(d in void 0!==b.ref&&(f=b.ref),void 0!==b.key&&(p=""+b.key),b){ia.call(b,d)&&!ja.hasOwnProperty(d)&&(e[d]=b[d]);}var g=arguments.length-2;if(1===g)e.children=c;else if(1<g){for(var k=Array(g),h=0;h<g;h++){k[h]=arguments[h+2];}e.children=k;}if(a&&a.defaultProps)for(d in g=a.defaultProps,g){void 0===e[d]&&(e[d]=g[d]);}return{$$typeof:y,type:a,key:p,ref:f,props:e,_owner:N.current};}function wa(a,b){return{$$typeof:y,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner};}function O(a){return"object"===_typeof2(a)&&null!==a&&a.$$typeof===y;}function xa(a){var b={"=":"=0",":":"=2"};return"$"+(""+a).replace(/[=:]/g,function(a){return b[a];});}function ka(a,b,c,d){if(D.length){var e=D.pop();e.result=a;e.keyPrefix=b;e.func=c;e.context=d;e.count=0;return e;}return{result:a,keyPrefix:b,func:c,context:d,count:0};}function la(a){a.result=null;a.keyPrefix=null;a.func=null;a.context=null;a.count=0;10>D.length&&D.push(a);}function P(a,b,c,d){var e=_typeof2(a);if("undefined"===e||"boolean"===e)a=null;var p=!1;if(null===a)p=!0;else switch(e){case"string":case"number":p=!0;break;case"object":switch(a.$$typeof){case y:case ya:p=!0;}}if(p)return c(d,a,""===b?"."+Q(a,0):b),1;p=0;b=""===b?".":b+":";if(Array.isArray(a))for(var f=0;f<a.length;f++){e=a[f];var g=b+Q(e,f);p+=P(e,g,c,d);}else if(null===a||"object"!==_typeof2(a)?g=null:(g=ma&&a[ma]||a["@@iterator"],g="function"===typeof g?g:null),"function"===typeof g)for(a=g.call(a),f=0;!(e=a.next()).done;){e=e.value,g=b+Q(e,f++),p+=P(e,g,c,d);}else if("object"===e)throw c=""+a,Error(v(31,"[object Object]"===c?"object with keys {"+Object.keys(a).join(", ")+"}":c,""));return p;}function R(a,b,c){return null==a?0:P(a,"",b,c);}function Q(a,b){return"object"===_typeof2(a)&&null!==a&&null!=a.key?xa(a.key):b.toString(36);}function za(a,b,c){a.func.call(a.context,b,a.count++);}function Aa(a,b,c){var d=a.result,e=a.keyPrefix;a=a.func.call(a.context,b,a.count++);Array.isArray(a)?S(a,d,c,function(a){return a;}):null!=a&&(O(a)&&(a=wa(a,e+(!a.key||b&&b.key===a.key?"":(""+a.key).replace(na,"$&/")+"/")+c)),d.push(a));}function S(a,b,c,d,e){var f="";null!=c&&(f=(""+c).replace(na,"$&/")+"/");b=ka(b,f,d,e);R(a,Aa,b);la(b);}function t(){var a=oa.current;if(null===a)throw Error(v(321));return a;}function T(a,b){var c=a.length;a.push(b);a:for(;;){var d=Math.floor((c-1)/2),e=a[d];if(void 0!==e&&0<E(e,b))a[d]=b,a[c]=e,c=d;else break a;}}function n(a){a=a[0];return void 0===a?null:a;}function F(a){var b=a[0];if(void 0!==b){var c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length;d<e;){var f=2*(d+1)-1,h=a[f],g=f+1,k=a[g];if(void 0!==h&&0>E(h,c))void 0!==k&&0>E(k,h)?(a[d]=k,a[g]=c,d=g):(a[d]=h,a[f]=c,d=f);else if(void 0!==k&&0>E(k,c))a[d]=k,a[g]=c,d=g;else break a;}}return b;}return null;}function E(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id;}function G(a){for(var b=n(u);null!==b;){if(null===b.callback)F(u);else if(b.startTime<=a)F(u),b.sortIndex=b.expirationTime,T(q,b);else break;b=n(u);}}function U(a){z=!1;G(a);if(!w)if(null!==n(q))w=!0,_A(V);else{var b=n(u);null!==b&&H(U,b.startTime-a);}}function V(a,b){w=!1;z&&(z=!1,W());I=!0;var c=h;try{G(b);for(l=n(q);null!==l&&(!(l.expirationTime>b)||a&&!X());){var d=l.callback;if(null!==d){l.callback=null;h=l.priorityLevel;var e=d(l.expirationTime<=b);b=r();"function"===typeof e?l.callback=e:l===n(q)&&F(q);G(b);}else F(q);l=n(q);}if(null!==l)var f=!0;else{var m=n(u);null!==m&&H(U,m.startTime-b);f=!1;}return f;}finally{l=null,h=c,I=!1;}}function pa(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3;}}var f="function"===typeof Symbol&&Symbol.for,y=f?Symbol.for("react.element"):60103,ya=f?Symbol.for("react.portal"):60106,x=f?Symbol.for("react.fragment"):60107,Y=f?Symbol.for("react.strict_mode"):60108,Ba=f?Symbol.for("react.profiler"):60114,Ca=f?Symbol.for("react.provider"):60109,Da=f?Symbol.for("react.context"):60110,Ea=f?Symbol.for("react.forward_ref"):60112,Fa=f?Symbol.for("react.suspense"):60113;f&&Symbol.for("react.suspense_list");var Ga=f?Symbol.for("react.memo"):60115,Ha=f?Symbol.for("react.lazy"):60116;f&&Symbol.for("react.fundamental");f&&Symbol.for("react.responder");f&&Symbol.for("react.scope");var ma="function"===typeof Symbol&&Symbol.iterator,qa=Object.getOwnPropertySymbols,Ia=Object.prototype.hasOwnProperty,Ja=Object.prototype.propertyIsEnumerable,J=function(){try{if(!Object.assign)return!1;var a=new String("abc");a[5]="de";if("5"===Object.getOwnPropertyNames(a)[0])return!1;var b={};for(a=0;10>a;a++){b["_"+String.fromCharCode(a)]=a;}if("0123456789"!==Object.getOwnPropertyNames(b).map(function(a){return b[a];}).join(""))return!1;var c={};"abcdefghijklmnopqrst".split("").forEach(function(a){c[a]=a;});return"abcdefghijklmnopqrst"!==Object.keys(Object.assign({},c)).join("")?!1:!0;}catch(d){return!1;}}()?Object.assign:function(a,b){if(null===a||void 0===a)throw new TypeError("Object.assign cannot be called with null or undefined");var c=Object(a);for(var d,e=1;e<arguments.length;e++){var f=Object(arguments[e]);for(var h in f){Ia.call(f,h)&&(c[h]=f[h]);}if(qa){d=qa(f);for(var g=0;g<d.length;g++){Ja.call(f,d[g])&&(c[d[g]]=f[d[g]]);}}}return c;},ea={isMounted:function isMounted(a){return!1;},enqueueForceUpdate:function enqueueForceUpdate(a,b,c){},enqueueReplaceState:function enqueueReplaceState(a,b,c,d){},enqueueSetState:function enqueueSetState(a,b,c,d){}},da={};m.prototype.isReactComponent={};m.prototype.setState=function(a,b){if("object"!==_typeof2(a)&&"function"!==typeof a&&null!=a)throw Error(v(85));this.updater.enqueueSetState(this,a,b,"setState");};m.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,"forceUpdate");};fa.prototype=m.prototype;f=M.prototype=new fa();f.constructor=M;J(f,m.prototype);f.isPureReactComponent=!0;var oa={current:null},N={current:null},ia=Object.prototype.hasOwnProperty,ja={key:!0,ref:!0,__self:!0,__source:!0},na=/\/+/g,D=[],Z;if("undefined"===typeof window||"function"!==typeof MessageChannel){var B=null,ra=null,sa=function sa(){if(null!==B)try{var a=r();B(!0,a);B=null;}catch(b){throw setTimeout(sa,0),b;}},Ka=Date.now();var r=function r(){return Date.now()-Ka;};var _A=function A(a){null!==B?setTimeout(_A,0,a):(B=a,setTimeout(sa,0));};var H=function H(a,b){ra=setTimeout(a,b);};var W=function W(){clearTimeout(ra);};var X=function X(){return!1;};f=Z=function Z(){};}else{var aa=window.performance,ta=window.Date,La=window.setTimeout,Ma=window.clearTimeout;"undefined"!==typeof console&&(f=window.cancelAnimationFrame,"function"!==typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),"function"!==typeof f&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"));if("object"===_typeof2(aa)&&"function"===typeof aa.now)r=function r(){return aa.now();};else{var Na=ta.now();r=function r(){return ta.now()-Na;};}var K=!1,L=null,ba=-1,ua=5,va=0;X=function X(){return r()>=va;};f=function f(){};Z=function Z(a){0>a||125<a?console.error("forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported"):ua=0<a?Math.floor(1E3/a):5;};var C=new MessageChannel(),ca=C.port2;C.port1.onmessage=function(){if(null!==L){var a=r();va=a+ua;try{L(!0,a)?ca.postMessage(null):(K=!1,L=null);}catch(b){throw ca.postMessage(null),b;}}else K=!1;};_A=function _A(a){L=a;K||(K=!0,ca.postMessage(null));};H=function H(a,b){ba=La(function(){a(r());},b);};W=function W(){Ma(ba);ba=-1;};}var q=[],u=[],Oa=1,l=null,h=3,I=!1,w=!1,z=!1,Pa=0;C={ReactCurrentDispatcher:oa,ReactCurrentOwner:N,IsSomeRendererActing:{current:!1},assign:J};J(C,{Scheduler:{unstable_ImmediatePriority:1,unstable_UserBlockingPriority:2,unstable_NormalPriority:3,unstable_IdlePriority:5,unstable_LowPriority:4,unstable_runWithPriority:function unstable_runWithPriority(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3;}var c=h;h=a;try{return b();}finally{h=c;}},unstable_next:function unstable_next(a){switch(h){case 1:case 2:case 3:var b=3;break;default:b=h;}var c=h;h=b;try{return a();}finally{h=c;}},unstable_scheduleCallback:function unstable_scheduleCallback(a,b,c){var d=r();if("object"===_typeof2(c)&&null!==c){var e=c.delay;e="number"===typeof e&&0<e?d+e:d;c="number"===typeof c.timeout?c.timeout:pa(a);}else c=pa(a),e=d;c=e+c;a={id:Oa++,callback:b,priorityLevel:a,startTime:e,expirationTime:c,sortIndex:-1};e>d?(a.sortIndex=e,T(u,a),null===n(q)&&a===n(u)&&(z?W():z=!0,H(U,e-d))):(a.sortIndex=c,T(q,a),w||I||(w=!0,_A(V)));return a;},unstable_cancelCallback:function unstable_cancelCallback(a){a.callback=null;},unstable_wrapCallback:function unstable_wrapCallback(a){var b=h;return function(){var c=h;h=b;try{return a.apply(this,arguments);}finally{h=c;}};},unstable_getCurrentPriorityLevel:function unstable_getCurrentPriorityLevel(){return h;},unstable_shouldYield:function unstable_shouldYield(){var a=r();G(a);var b=n(q);return b!==l&&null!==l&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime<l.expirationTime||X();},unstable_requestPaint:f,unstable_continueExecution:function unstable_continueExecution(){w||I||(w=!0,_A(V));},unstable_pauseExecution:function unstable_pauseExecution(){},unstable_getFirstCallbackNode:function unstable_getFirstCallbackNode(){return n(q);},get unstable_now(){return r;},get unstable_forceFrameRate(){return Z;},unstable_Profiling:null},SchedulerTracing:{get __interactionsRef(){return null;},get __subscriberRef(){return null;},unstable_clear:function unstable_clear(a){return a();},unstable_getCurrent:function unstable_getCurrent(){return null;},unstable_getThreadID:function unstable_getThreadID(){return++Pa;},unstable_trace:function unstable_trace(a,b,c){return c();},unstable_wrap:function unstable_wrap(a){return a;},unstable_subscribe:function unstable_subscribe(a){},unstable_unsubscribe:function unstable_unsubscribe(a){}}});x={Children:{map:function map(a,b,c){if(null==a)return a;var d=[];S(a,d,null,b,c);return d;},forEach:function forEach(a,b,c){if(null==a)return a;b=ka(null,null,b,c);R(a,za,b);la(b);},count:function count(a){return R(a,function(){return null;},null);},toArray:function toArray(a){var b=[];S(a,b,null,function(a){return a;});return b;},only:function only(a){if(!O(a))throw Error(v(143));return a;}},createRef:function createRef(){return{current:null};},Component:m,PureComponent:M,createContext:function createContext(a,b){void 0===b&&(b=null);a={$$typeof:Da,_calculateChangedBits:b,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null};a.Provider={$$typeof:Ca,_context:a};return a.Consumer=a;},forwardRef:function forwardRef(a){return{$$typeof:Ea,render:a};},lazy:function lazy(a){return{$$typeof:Ha,_ctor:a,_status:-1,_result:null};},memo:function memo(a,b){return{$$typeof:Ga,type:a,compare:void 0===b?null:b};},useCallback:function useCallback(a,b){return t().useCallback(a,b);},useContext:function useContext(a,b){return t().useContext(a,b);},useEffect:function useEffect(a,b){return t().useEffect(a,b);},useImperativeHandle:function useImperativeHandle(a,b,c){return t().useImperativeHandle(a,b,c);},useDebugValue:function useDebugValue(a,b){},useLayoutEffect:function useLayoutEffect(a,b){return t().useLayoutEffect(a,b);},useMemo:function useMemo(a,b){return t().useMemo(a,b);},useReducer:function useReducer(a,b,c){return t().useReducer(a,b,c);},useRef:function useRef(a){return t().useRef(a);},useState:function useState(a){return t().useState(a);},Fragment:x,Profiler:Ba,StrictMode:Y,Suspense:Fa,createElement:ha,cloneElement:function cloneElement(a,b,c){if(null===a||void 0===a)throw Error(v(267,a));var d=J({},a.props),e=a.key,f=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(f=b.ref,h=N.current);void 0!==b.key&&(e=""+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(k in b){ia.call(b,k)&&!ja.hasOwnProperty(k)&&(d[k]=void 0===b[k]&&void 0!==g?g[k]:b[k]);}}var k=arguments.length-2;if(1===k)d.children=c;else if(1<k){g=Array(k);for(var l=0;l<k;l++){g[l]=arguments[l+2];}d.children=g;}return{$$typeof:y,type:a.type,key:e,ref:f,props:d,_owner:h};},createFactory:function createFactory(a){var b=ha.bind(null,a);b.type=a;return b;},isValidElement:O,version:"16.12.0",__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:C};x=(Y={default:x},x)||Y;return x.default||x;});;/** @license React v16.12.0
 * react-dom.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */ /*
 Modernizr 3.0.0pre (Custom Build) | MIT
*/'use strict';(function(la,m){"object"===(typeof exports==="undefined"?"undefined":_typeof2(exports))&&"undefined"!==typeof module?module.exports=m(require("react")):"function"===typeof define&&define.amd?define(["react"],m):la.ReactDOM=m(la.React);})(this,function(la){function m(a){for(var b="https://reactjs.org/docs/error-decoder.html?invariant="+a,c=1;c<arguments.length;c++){b+="&args[]="+encodeURIComponent(arguments[c]);}return"Minified React error #"+a+"; visit "+b+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";}function uf(){if(qc)for(var a in bb){var b=bb[a],c=qc.indexOf(a);if(!(-1<c))throw Error(m(96,a));if(!rc[c]){if(!b.extractEvents)throw Error(m(97,a));rc[c]=b;c=b.eventTypes;for(var d in c){var e=void 0;var f=c[d],g=b,h=d;if(wd.hasOwnProperty(h))throw Error(m(99,h));wd[h]=f;var k=f.phasedRegistrationNames;if(k){for(e in k){k.hasOwnProperty(e)&&vf(k[e],g,h);}e=!0;}else f.registrationName?(vf(f.registrationName,g,h),e=!0):e=!1;if(!e)throw Error(m(98,d,a));}}}}function vf(a,b,c){if(cb[a])throw Error(m(100,a));cb[a]=b;xd[a]=b.eventTypes[c].dependencies;}function Ai(a,b,c,d,e,f,g,h,k){Cb=!1;sc=null;Bi.apply(Ci,arguments);}function Di(a,b,c,d,e,f,g,h,k){Ai.apply(this,arguments);if(Cb){if(Cb){var l=sc;Cb=!1;sc=null;}else throw Error(m(198));tc||(tc=!0,yd=l);}}function wf(a,b,c){var d=a.type||"unknown-event";a.currentTarget=xf(c);Di(d,b,void 0,a);a.currentTarget=null;}function db(a,b){if(null==b)throw Error(m(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a;}return Array.isArray(b)?[a].concat(b):[a,b];}function zd(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a);}function uc(a){null!==a&&(Db=db(Db,a));a=Db;Db=null;if(a){zd(a,Ei);if(Db)throw Error(m(95));if(tc)throw a=yd,tc=!1,yd=null,a;}}function yf(a,b){var c=a.stateNode;if(!c)return null;var d=Ad(c);if(!d)return null;c=d[b];a:switch(b){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":(d=!d.disabled)||(a=a.type,d=!("button"===a||"input"===a||"select"===a||"textarea"===a));a=!d;break a;default:a=!1;}if(a)return null;if(c&&"function"!==typeof c)throw Error(m(231,b,_typeof2(c)));return c;}function Eb(a){if(null===a||"object"!==_typeof2(a))return null;a=zf&&a[zf]||a["@@iterator"];return"function"===typeof a?a:null;}function Fi(a){if(-1===a._status){a._status=0;var b=a._ctor;b=b();a._result=b;b.then(function(b){0===a._status&&(b=b.default,a._status=1,a._result=b);},function(b){0===a._status&&(a._status=2,a._result=b);});}}function ua(a){if(null==a)return null;if("function"===typeof a)return a.displayName||a.name||null;if("string"===typeof a)return a;switch(a){case va:return"Fragment";case eb:return"Portal";case vc:return"Profiler";case Af:return"StrictMode";case wc:return"Suspense";case Bd:return"SuspenseList";}if("object"===_typeof2(a))switch(a.$$typeof){case Bf:return"Context.Consumer";case Cf:return"Context.Provider";case Cd:var b=a.render;b=b.displayName||b.name||"";return a.displayName||(""!==b?"ForwardRef("+b+")":"ForwardRef");case Dd:return ua(a.type);case Df:if(a=1===a._status?a._result:null)return ua(a);}return null;}function Ed(a){var b="";do{a:switch(a.tag){case 3:case 4:case 6:case 7:case 10:case 9:var c="";break a;default:var d=a._debugOwner,e=a._debugSource,f=ua(a.type);c=null;d&&(c=ua(d.type));d=f;f="";e?f=" (at "+e.fileName.replace(Gi,"")+":"+e.lineNumber+")":c&&(f=" (created by "+c+")");c="\n    in "+(d||"Unknown")+f;}b+=c;a=a.return;}while(a);return b;}function Ef(a){if(a=Ff(a)){if("function"!==typeof Fd)throw Error(m(280));var b=Ad(a.stateNode);Fd(a.stateNode,a.type,b);}}function Gf(a){fb?gb?gb.push(a):gb=[a]:fb=a;}function Hf(){if(fb){var a=fb,b=gb;gb=fb=null;Ef(a);if(b)for(a=0;a<b.length;a++){Ef(b[a]);}}}function Gd(){if(null!==fb||null!==gb)Hd(),Hf();}function Hi(a){if(If.call(Jf,a))return!0;if(If.call(Kf,a))return!1;if(Ii.test(a))return Jf[a]=!0;Kf[a]=!0;return!1;}function Ji(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(_typeof2(b)){case"function":case"symbol":return!0;case"boolean":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return"data-"!==a&&"aria-"!==a;default:return!1;}}function Ki(a,b,c,d){if(null===b||"undefined"===typeof b||Ji(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b;}return!1;}function E(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;}function wa(a){switch(_typeof2(a)){case"boolean":case"number":case"object":case"string":case"undefined":return a;default:return"";}}function Id(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2<b.length)||"o"!==b[0]&&"O"!==b[0]||"n"!==b[1]&&"N"!==b[1]?!1:!0;f||(Ki(b,c,e,d)&&(c=null),d||null===e?Hi(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,""+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:"":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?"":""+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c))));}function Lf(a){var b=a.type;return(a=a.nodeName)&&"input"===a.toLowerCase()&&("checkbox"===b||"radio"===b);}function Li(a){var b=Lf(a)?"checked":"value",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=""+a[b];if(!a.hasOwnProperty(b)&&"undefined"!==typeof c&&"function"===typeof c.get&&"function"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function get(){return e.call(this);},set:function set(a){d=""+a;f.call(this,a);}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function getValue(){return d;},setValue:function setValue(a){d=""+a;},stopTracking:function stopTracking(){a._valueTracker=null;delete a[b];}};}}function xc(a){a._valueTracker||(a._valueTracker=Li(a));}function Mf(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d="";a&&(d=Lf(a)?a.checked?"true":"false":a.value);a=d;return a!==c?(b.setValue(a),!0):!1;}function Jd(a,b){var c=b.checked;return J({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked});}function Nf(a,b){var c=null==b.defaultValue?"":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=wa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:"checkbox"===b.type||"radio"===b.type?null!=b.checked:null!=b.value};}function Of(a,b){b=b.checked;null!=b&&Id(a,"checked",b,!1);}function Kd(a,b){Of(a,b);var c=wa(b.value),d=b.type;if(null!=c){if("number"===d){if(0===c&&""===a.value||a.value!=c)a.value=""+c;}else a.value!==""+c&&(a.value=""+c);}else if("submit"===d||"reset"===d){a.removeAttribute("value");return;}b.hasOwnProperty("value")?Ld(a,b.type,c):b.hasOwnProperty("defaultValue")&&Ld(a,b.type,wa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked);}function Pf(a,b,c){if(b.hasOwnProperty("value")||b.hasOwnProperty("defaultValue")){var d=b.type;if(!("submit"!==d&&"reset"!==d||void 0!==b.value&&null!==b.value))return;b=""+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b;}c=a.name;""!==c&&(a.name="");a.defaultChecked=!a.defaultChecked;a.defaultChecked=!!a._wrapperState.initialChecked;""!==c&&(a.name=c);}function Ld(a,b,c){if("number"!==b||a.ownerDocument.activeElement!==a)null==c?a.defaultValue=""+a._wrapperState.initialValue:a.defaultValue!==""+c&&(a.defaultValue=""+c);}function Mi(a){var b="";la.Children.forEach(a,function(a){null!=a&&(b+=a);});return b;}function Md(a,b){a=J({children:void 0},b);if(b=Mi(b.children))a.children=b;return a;}function hb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++){b["$"+c[e]]=!0;}for(c=0;c<a.length;c++){e=b.hasOwnProperty("$"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0);}}else{c=""+wa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return;}null!==b||a[e].disabled||(b=a[e]);}null!==b&&(b.selected=!0);}}function Nd(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(m(91));return J({},b,{value:void 0,defaultValue:void 0,children:""+a._wrapperState.initialValue});}function Qf(a,b){var c=b.value;if(null==c){c=b.defaultValue;b=b.children;if(null!=b){if(null!=c)throw Error(m(92));if(Array.isArray(b)){if(!(1>=b.length))throw Error(m(93));b=b[0];}c=b;}null==c&&(c="");}a._wrapperState={initialValue:wa(c)};}function Rf(a,b){var c=wa(b.value),d=wa(b.defaultValue);null!=c&&(c=""+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=""+d);}function Sf(a,b){b=a.textContent;b===a._wrapperState.initialValue&&""!==b&&null!==b&&(a.value=b);}function Tf(a){switch(a){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml";}}function Od(a,b){return null==a||"http://www.w3.org/1999/xhtml"===a?Tf(b):"http://www.w3.org/2000/svg"===a&&"foreignObject"===b?"http://www.w3.org/1999/xhtml":a;}function yc(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c["Webkit"+a]="webkit"+b;c["Moz"+a]="moz"+b;return c;}function zc(a){if(Pd[a])return Pd[a];if(!ib[a])return a;var b=ib[a],c;for(c in b){if(b.hasOwnProperty(c)&&c in Uf)return Pd[a]=b[c];}return a;}function Na(a){var b=a,c=a;if(a.alternate)for(;b.return;){b=b.return;}else{a=b;do{b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;}while(a);}return 3===b.tag?c:null;}function Vf(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated;}return null;}function Wf(a){if(Na(a)!==a)throw Error(m(188));}function Ni(a){var b=a.alternate;if(!b){b=Na(a);if(null===b)throw Error(m(188));return b!==a?null:a;}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue;}break;}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Wf(e),a;if(f===d)return Wf(e),b;f=f.sibling;}throw Error(m(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break;}if(h===d){g=!0;d=e;c=f;break;}h=h.sibling;}if(!g){for(h=f.child;h;){if(h===c){g=!0;c=f;d=e;break;}if(h===d){g=!0;d=f;c=e;break;}h=h.sibling;}if(!g)throw Error(m(189));}}if(c.alternate!==d)throw Error(m(190));}if(3!==c.tag)throw Error(m(188));return c.stateNode.current===c?a:b;}function Xf(a){a=Ni(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return;}b.sibling.return=b.return;b=b.sibling;}}return null;}function Oi(a){var b=Qd(a);Rd.forEach(function(c){Sd(c,a,b);});Pi.forEach(function(c){Sd(c,a,b);});}function Td(a,b,c,d){return{blockedOn:a,topLevelType:b,eventSystemFlags:c|32,nativeEvent:d};}function Yf(a,b){switch(a){case"focus":case"blur":xa=null;break;case"dragenter":case"dragleave":ya=null;break;case"mouseover":case"mouseout":za=null;break;case"pointerover":case"pointerout":Fb.delete(b.pointerId);break;case"gotpointercapture":case"lostpointercapture":Gb.delete(b.pointerId);}}function Hb(a,b,c,d,e){if(null===a||a.nativeEvent!==e)return a=Td(b,c,d,e),null!==b&&(b=Ib(b),null!==b&&Zf(b)),a;a.eventSystemFlags|=d;return a;}function Qi(a,b,c,d){switch(b){case"focus":return xa=Hb(xa,a,b,c,d),!0;case"dragenter":return ya=Hb(ya,a,b,c,d),!0;case"mouseover":return za=Hb(za,a,b,c,d),!0;case"pointerover":var e=d.pointerId;Fb.set(e,Hb(Fb.get(e)||null,a,b,c,d));return!0;case"gotpointercapture":return e=d.pointerId,Gb.set(e,Hb(Gb.get(e)||null,a,b,c,d)),!0;}return!1;}function Ri(a){var b=Jb(a.target);if(null!==b){var c=Na(b);if(null!==c)if(b=c.tag,13===b){if(b=Vf(c),null!==b){a.blockedOn=b;Ud(a.priority,function(){Si(c);});return;}}else if(3===b&&c.stateNode.hydrate){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return;}}a.blockedOn=null;}function Ac(a){if(null!==a.blockedOn)return!1;var b=Vd(a.topLevelType,a.eventSystemFlags,a.nativeEvent);if(null!==b){var c=Ib(b);null!==c&&Zf(c);a.blockedOn=b;return!1;}return!0;}function $f(a,b,c){Ac(a)&&c.delete(b);}function Ti(){for(Wd=!1;0<ba.length;){var a=ba[0];if(null!==a.blockedOn){a=Ib(a.blockedOn);null!==a&&Ui(a);break;}var b=Vd(a.topLevelType,a.eventSystemFlags,a.nativeEvent);null!==b?a.blockedOn=b:ba.shift();}null!==xa&&Ac(xa)&&(xa=null);null!==ya&&Ac(ya)&&(ya=null);null!==za&&Ac(za)&&(za=null);Fb.forEach($f);Gb.forEach($f);}function Kb(a,b){a.blockedOn===b&&(a.blockedOn=null,Wd||(Wd=!0,ag(bg,Ti)));}function cg(a){if(0<ba.length){Kb(ba[0],a);for(var b=1;b<ba.length;b++){var c=ba[b];c.blockedOn===a&&(c.blockedOn=null);}}null!==xa&&Kb(xa,a);null!==ya&&Kb(ya,a);null!==za&&Kb(za,a);b=function b(_b2){return Kb(_b2,a);};Fb.forEach(b);Gb.forEach(b);for(b=0;b<Lb.length;b++){c=Lb[b],c.blockedOn===a&&(c.blockedOn=null);}for(;0<Lb.length&&(b=Lb[0],null===b.blockedOn);){Ri(b),null===b.blockedOn&&Lb.shift();}}function Xd(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a;}function ma(a){do{a=a.return;}while(a&&5!==a.tag);return a?a:null;}function dg(a,b,c){if(b=yf(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=db(c._dispatchListeners,b),c._dispatchInstances=db(c._dispatchInstances,a);}function Vi(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;){c.push(b),b=ma(b);}for(b=c.length;0<b--;){dg(c[b],"captured",a);}for(b=0;b<c.length;b++){dg(c[b],"bubbled",a);}}}function Yd(a,b,c){a&&c&&c.dispatchConfig.registrationName&&(b=yf(a,c.dispatchConfig.registrationName))&&(c._dispatchListeners=db(c._dispatchListeners,b),c._dispatchInstances=db(c._dispatchInstances,a));}function Wi(a){a&&a.dispatchConfig.registrationName&&Yd(a._targetInst,null,a);}function jb(a){zd(a,Vi);}function Bc(){return!0;}function Cc(){return!1;}function M(a,b,c,d){this.dispatchConfig=a;this._targetInst=b;this.nativeEvent=c;a=this.constructor.Interface;for(var e in a){a.hasOwnProperty(e)&&((b=a[e])?this[e]=b(c):"target"===e?this.target=d:this[e]=c[e]);}this.isDefaultPrevented=(null!=c.defaultPrevented?c.defaultPrevented:!1===c.returnValue)?Bc:Cc;this.isPropagationStopped=Cc;return this;}function Xi(a,b,c,d){if(this.eventPool.length){var e=this.eventPool.pop();this.call(e,a,b,c,d);return e;}return new this(a,b,c,d);}function Yi(a){if(!_instanceof(a,this))throw Error(m(279));a.destructor();10>this.eventPool.length&&this.eventPool.push(a);}function eg(a){a.eventPool=[];a.getPooled=Xi;a.release=Yi;}function Dc(a){var b=a.keyCode;"charCode"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0;}function Zi(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=$i[a])?!!b[a]:!1;}function Zd(a){return Zi;}function aj(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break;}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;){d=d.return;}d=3!==d.tag?null:d.stateNode.containerInfo;}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=Jb(d);}while(c);for(c=0;c<a.ancestors.length;c++){b=a.ancestors[c];var e=Xd(a.nativeEvent);d=a.topLevelType;for(var f=a.nativeEvent,g=a.eventSystemFlags,h=null,k=0;k<rc.length;k++){var l=rc[k];l&&(l=l.extractEvents(d,b,f,e,g))&&(h=db(h,l));}uc(h);}}function x(a,b){Mb(b,a,!1);}function Mb(a,b,c){switch(bj(b)){case 0:var d=cj.bind(null,b,1);break;case 1:d=dj.bind(null,b,1);break;default:d=Ec.bind(null,b,1);}c?a.addEventListener(b,d,!0):a.addEventListener(b,d,!1);}function cj(a,b,c){Oa||Hd();var d=Ec,e=Oa;Oa=!0;try{fg(d,a,b,c);}finally{(Oa=e)||Gd();}}function dj(a,b,c){ej(fj,Ec.bind(null,a,b,c));}function gg(a,b,c,d){if(Fc.length){var e=Fc.pop();e.topLevelType=a;e.eventSystemFlags=b;e.nativeEvent=c;e.targetInst=d;a=e;}else a={topLevelType:a,eventSystemFlags:b,nativeEvent:c,targetInst:d,ancestors:[]};try{if(b=aj,c=a,$d)b(c,void 0);else{$d=!0;try{hg(b,c,void 0);}finally{$d=!1,Gd();}}}finally{a.topLevelType=null,a.nativeEvent=null,a.targetInst=null,a.ancestors.length=0,Fc.length<gj&&Fc.push(a);}}function Ec(a,b,c){if(Gc)if(0<ba.length&&-1<Rd.indexOf(a))a=Td(null,a,b,c),ba.push(a);else{var d=Vd(a,b,c);null===d?Yf(a,c):-1<Rd.indexOf(a)?(a=Td(d,a,b,c),ba.push(a)):Qi(d,a,b,c)||(Yf(a,c),gg(a,b,c,null));}}function Vd(a,b,c){var d=Xd(c);d=Jb(d);if(null!==d){var e=Na(d);if(null===e)d=null;else{var f=e.tag;if(13===f){d=Vf(e);if(null!==d)return d;d=null;}else if(3===f){if(e.stateNode.hydrate)return 3===e.tag?e.stateNode.containerInfo:null;d=null;}else e!==d&&(d=null);}}gg(a,b,c,d);return null;}function ig(a){if(!Aa)return!1;a="on"+a;var b=a in document;b||(b=document.createElement("div"),b.setAttribute(a,"return;"),b="function"===typeof b[a]);return b;}function Qd(a){var b=jg.get(a);void 0===b&&(b=new Set(),jg.set(a,b));return b;}function Sd(a,b,c){if(!c.has(a)){switch(a){case"scroll":Mb(b,"scroll",!0);break;case"focus":case"blur":Mb(b,"focus",!0);Mb(b,"blur",!0);c.add("blur");c.add("focus");break;case"cancel":case"close":ig(a)&&Mb(b,a,!0);break;case"invalid":case"submit":case"reset":break;default:-1===Nb.indexOf(a)&&x(a,b);}c.add(a);}}function kg(a,b,c){return null==b||"boolean"===typeof b||""===b?"":c||"number"!==typeof b||0===b||Ob.hasOwnProperty(a)&&Ob[a]?(""+b).trim():b+"px";}function lg(a,b){a=a.style;for(var c in b){if(b.hasOwnProperty(c)){var d=0===c.indexOf("--"),e=kg(c,b[c],d);"float"===c&&(c="cssFloat");d?a.setProperty(c,e):a[c]=e;}}}function ae(a,b){if(b){if(hj[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(m(137,a,""));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(m(60));if(!("object"===_typeof2(b.dangerouslySetInnerHTML)&&"__html"in b.dangerouslySetInnerHTML))throw Error(m(61));}if(null!=b.style&&"object"!==_typeof2(b.style))throw Error(m(62,""));}}function be(a,b){if(-1===a.indexOf("-"))return"string"===typeof b.is;switch(a){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0;}}function na(a,b){a=9===a.nodeType||11===a.nodeType?a:a.ownerDocument;var c=Qd(a);b=xd[b];for(var d=0;d<b.length;d++){Sd(b[d],a,c);}}function Hc(){}function ce(a){a=a||("undefined"!==typeof document?document:void 0);if("undefined"===typeof a)return null;try{return a.activeElement||a.body;}catch(b){return a.body;}}function mg(a){for(;a&&a.firstChild;){a=a.firstChild;}return a;}function ng(a,b){var c=mg(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d;}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a;}c=c.parentNode;}c=void 0;}c=mg(c);}}function og(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?og(a,b.parentNode):"contains"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1;}function pg(){for(var a=window,b=ce();_instanceof(b,a.HTMLIFrameElement);){try{var c="string"===typeof b.contentWindow.location.href;}catch(d){c=!1;}if(c)a=b.contentWindow;else break;b=ce(a.document);}return b;}function de(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&("input"===b&&("text"===a.type||"search"===a.type||"tel"===a.type||"url"===a.type||"password"===a.type)||"textarea"===b||"true"===a.contentEditable);}function qg(a,b){switch(a){case"button":case"input":case"select":case"textarea":return!!b.autoFocus;}return!1;}function ee(a,b){return"textarea"===a||"option"===a||"noscript"===a||"string"===typeof b.children||"number"===typeof b.children||"object"===_typeof2(b.dangerouslySetInnerHTML)&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html;}function kb(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break;}return a;}function rg(a){a=a.previousSibling;for(var b=0;a;){if(a.nodeType===Pa){var c=a.data;if(c===sg||c===fe||c===ge){if(0===b)return a;b--;}else c===tg&&b++;}a=a.previousSibling;}return null;}function Jb(a){var b=a[Ba];if(b)return b;for(var c=a.parentNode;c;){if(b=c[Pb]||c[Ba]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=rg(a);null!==a;){if(c=a[Ba])return c;a=rg(a);}return b;}a=c;c=a.parentNode;}return null;}function Ib(a){a=a[Ba]||a[Pb];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a;}function Qa(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(m(33));}function he(a){return a[Ic]||null;}function ug(){if(Jc)return Jc;var a,b=ie,c=b.length,d,e="value"in Ca?Ca.value:Ca.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++){;}var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++){;}return Jc=e.slice(a,1<d?1-d:void 0);}function vg(a,b){switch(a){case"keyup":return-1!==ij.indexOf(b.keyCode);case"keydown":return 229!==b.keyCode;case"keypress":case"mousedown":case"blur":return!0;default:return!1;}}function wg(a){a=a.detail;return"object"===_typeof2(a)&&"data"in a?a.data:null;}function jj(a,b){switch(a){case"compositionend":return wg(b);case"keypress":if(32!==b.which)return null;xg=!0;return yg;case"textInput":return a=b.data,a===yg&&xg?null:a;default:return null;}}function kj(a,b){if(lb)return"compositionend"===a||!je&&vg(a,b)?(a=ug(),Jc=ie=Ca=null,lb=!1,a):null;switch(a){case"paste":return null;case"keypress":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which);}return null;case"compositionend":return zg&&"ko"!==b.locale?null:b.data;default:return null;}}function Ag(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return"input"===b?!!lj[a.type]:"textarea"===b?!0:!1;}function Bg(a,b,c){a=M.getPooled(Cg.change,a,b,c);a.type="change";Gf(c);jb(a);return a;}function mj(a){uc(a);}function Kc(a){var b=Qa(a);if(Mf(b))return a;}function nj(a,b){if("change"===a)return b;}function Dg(){Qb&&(Qb.detachEvent("onpropertychange",Eg),Rb=Qb=null);}function Eg(a){if("value"===a.propertyName&&Kc(Rb))if(a=Bg(Rb,a,Xd(a)),Oa)uc(a);else{Oa=!0;try{ke(mj,a);}finally{Oa=!1,Gd();}}}function oj(a,b,c){"focus"===a?(Dg(),Qb=b,Rb=c,Qb.attachEvent("onpropertychange",Eg)):"blur"===a&&Dg();}function pj(a,b){if("selectionchange"===a||"keyup"===a||"keydown"===a)return Kc(Rb);}function qj(a,b){if("click"===a)return Kc(b);}function rj(a,b){if("input"===a||"change"===a)return Kc(b);}function sj(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b;}function Sb(a,b){if(Ra(a,b))return!0;if("object"!==_typeof2(a)||null===a||"object"!==_typeof2(b)||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){if(!tj.call(b,c[d])||!Ra(a[c[d]],b[c[d]]))return!1;}return!0;}function Fg(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(le||null==mb||mb!==ce(c))return null;c=mb;"selectionStart"in c&&de(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return Tb&&Sb(Tb,c)?null:(Tb=c,a=M.getPooled(Gg.select,me,a,b),a.type="select",a.target=mb,jb(a),a);}function B(a,b){0>nb||(a.current=ne[nb],ne[nb]=null,nb--);}function y(a,b,c){nb++;ne[nb]=a.current;a.current=b;}function ob(a,b){var c=a.type.contextTypes;if(!c)return Da;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c){e[f]=b[f];}d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e;}function K(a){a=a.childContextTypes;return null!==a&&void 0!==a;}function Lc(a){B(Q,a);B(L,a);}function oe(a){B(Q,a);B(L,a);}function Hg(a,b,c){if(L.current!==Da)throw Error(m(168));y(L,b,a);y(Q,c,a);}function Ig(a,b,c){var d=a.stateNode;a=b.childContextTypes;if("function"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d){if(!(e in a))throw Error(m(108,ua(b)||"Unknown",e));}return J({},c,{},d);}function Mc(a){var b=a.stateNode;b=b&&b.__reactInternalMemoizedMergedChildContext||Da;Sa=L.current;y(L,b,a);y(Q,Q.current,a);return!0;}function Jg(a,b,c){var d=a.stateNode;if(!d)throw Error(m(169));c?(b=Ig(a,b,Sa),d.__reactInternalMemoizedMergedChildContext=b,B(Q,a),B(L,a),y(L,b,a)):B(Q,a);y(Q,c,a);}function pe(){switch(uj()){case Nc:return 99;case Kg:return 98;case Lg:return 97;case Mg:return 96;case Ng:return 95;default:throw Error(m(332));}}function Og(a){switch(a){case 99:return Nc;case 98:return Kg;case 97:return Lg;case 96:return Mg;case 95:return Ng;default:throw Error(m(332));}}function pb(a,b){a=Og(a);return vj(a,b);}function Pg(a,b,c){a=Og(a);return qe(a,b,c);}function Qg(a){null===oa?(oa=[a],Oc=qe(Nc,Rg)):oa.push(a);return Sg;}function ca(){if(null!==Oc){var a=Oc;Oc=null;Tg(a);}Rg();}function Rg(){if(!re&&null!==oa){re=!0;var a=0;try{var b=oa;pb(99,function(){for(;a<b.length;a++){var c=b[a];do{c=c(!0);}while(null!==c);}});oa=null;}catch(c){throw null!==oa&&(oa=oa.slice(a+1)),qe(Nc,ca),c;}finally{re=!1;}}}function Pc(a,b,c){c/=10;return 1073741821-(((1073741821-a+b/10)/c|0)+1)*c;}function V(a,b){if(a&&a.defaultProps){b=J({},b);a=a.defaultProps;for(var c in a){void 0===b[c]&&(b[c]=a[c]);}}return b;}function se(){Qc=qb=Rc=null;}function Ug(a,b){var c=a.type._context;y(te,c._currentValue,a);c._currentValue=b;}function ue(a){var b=te.current;B(te,a);a.type._context._currentValue=b;}function Vg(a,b){for(;null!==a;){var c=a.alternate;if(a.childExpirationTime<b)a.childExpirationTime=b,null!==c&&c.childExpirationTime<b&&(c.childExpirationTime=b);else if(null!==c&&c.childExpirationTime<b)c.childExpirationTime=b;else break;a=a.return;}}function rb(a,b){Rc=a;Qc=qb=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(a.expirationTime>=b&&(da=!0),a.firstContext=null);}function ea(a,b){if(Qc!==a&&!1!==b&&0!==b){if("number"!==typeof b||1073741823===b)Qc=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===qb){if(null===Rc)throw Error(m(308));qb=b;Rc.dependencies={expirationTime:0,firstContext:b,responders:null};}else qb=qb.next=b;}return a._currentValue;}function Sc(a){return{baseState:a,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null};}function ve(a){return{baseState:a.baseState,firstUpdate:a.firstUpdate,lastUpdate:a.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null};}function Ea(a,b){return{expirationTime:a,suspenseConfig:b,tag:Wg,payload:null,callback:null,next:null,nextEffect:null};}function Tc(a,b){null===a.lastUpdate?a.firstUpdate=a.lastUpdate=b:(a.lastUpdate.next=b,a.lastUpdate=b);}function Fa(a,b){var c=a.alternate;if(null===c){var d=a.updateQueue;var e=null;null===d&&(d=a.updateQueue=Sc(a.memoizedState));}else d=a.updateQueue,e=c.updateQueue,null===d?null===e?(d=a.updateQueue=Sc(a.memoizedState),e=c.updateQueue=Sc(c.memoizedState)):d=a.updateQueue=ve(e):null===e&&(e=c.updateQueue=ve(d));null===e||d===e?Tc(d,b):null===d.lastUpdate||null===e.lastUpdate?(Tc(d,b),Tc(e,b)):(Tc(d,b),e.lastUpdate=b);}function Xg(a,b){var c=a.updateQueue;c=null===c?a.updateQueue=Sc(a.memoizedState):Yg(a,c);null===c.lastCapturedUpdate?c.firstCapturedUpdate=c.lastCapturedUpdate=b:(c.lastCapturedUpdate.next=b,c.lastCapturedUpdate=b);}function Yg(a,b){var c=a.alternate;null!==c&&b===c.updateQueue&&(b=a.updateQueue=ve(b));return b;}function Zg(a,b,c,d,e,f){switch(c.tag){case 1:return a=c.payload,"function"===typeof a?a.call(f,d,e):a;case 3:a.effectTag=a.effectTag&-4097|64;case Wg:a=c.payload;e="function"===typeof a?a.call(f,d,e):a;if(null===e||void 0===e)break;return J({},d,e);case Uc:Ga=!0;}return d;}function Ub(a,b,c,d,e){Ga=!1;b=Yg(a,b);for(var f=b.baseState,g=null,h=0,k=b.firstUpdate,l=f;null!==k;){var m=k.expirationTime;m<e?(null===g&&(g=k,f=l),h<m&&(h=m)):($g(m,k.suspenseConfig),l=Zg(a,b,k,l,c,d),null!==k.callback&&(a.effectTag|=32,k.nextEffect=null,null===b.lastEffect?b.firstEffect=b.lastEffect=k:(b.lastEffect.nextEffect=k,b.lastEffect=k)));k=k.next;}m=null;for(k=b.firstCapturedUpdate;null!==k;){var n=k.expirationTime;n<e?(null===m&&(m=k,null===g&&(f=l)),h<n&&(h=n)):(l=Zg(a,b,k,l,c,d),null!==k.callback&&(a.effectTag|=32,k.nextEffect=null,null===b.lastCapturedEffect?b.firstCapturedEffect=b.lastCapturedEffect=k:(b.lastCapturedEffect.nextEffect=k,b.lastCapturedEffect=k)));k=k.next;}null===g&&(b.lastUpdate=null);null===m?b.lastCapturedUpdate=null:a.effectTag|=32;null===g&&null===m&&(f=l);b.baseState=f;b.firstUpdate=g;b.firstCapturedUpdate=m;Vc(h);a.expirationTime=h;a.memoizedState=l;}function ah(a,b,c,d){null!==b.firstCapturedUpdate&&(null!==b.lastUpdate&&(b.lastUpdate.next=b.firstCapturedUpdate,b.lastUpdate=b.lastCapturedUpdate),b.firstCapturedUpdate=b.lastCapturedUpdate=null);bh(b.firstEffect,c);b.firstEffect=b.lastEffect=null;bh(b.firstCapturedEffect,c);b.firstCapturedEffect=b.lastCapturedEffect=null;}function bh(a,b){for(;null!==a;){var c=a.callback;if(null!==c){a.callback=null;var d=b;if("function"!==typeof c)throw Error(m(191,c));c.call(d);}a=a.nextEffect;}}function Wc(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:J({},b,c);a.memoizedState=c;d=a.updateQueue;null!==d&&0===a.expirationTime&&(d.baseState=c);}function ch(a,b,c,d,e,f,g){a=a.stateNode;return"function"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Sb(c,d)||!Sb(e,f):!0;}function dh(a,b,c,d){var e=!1;d=Da;var f=b.contextType;"object"===_typeof2(f)&&null!==f?f=ea(f):(d=K(b)?Sa:L.current,e=b.contextTypes,f=(e=null!==e&&void 0!==e)?ob(a,d):Da);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Xc;a.stateNode=b;b._reactInternalFiber=a;e&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=d,a.__reactInternalMemoizedMaskedChildContext=f);return b;}function eh(a,b,c,d){a=b.state;"function"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);"function"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Xc.enqueueReplaceState(b,b.state,null);}function we(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=fh;var f=b.contextType;"object"===_typeof2(f)&&null!==f?e.context=ea(f):(f=K(b)?Sa:L.current,e.context=ob(a,f));f=a.updateQueue;null!==f&&(Ub(a,f,c,e,d),e.state=a.memoizedState);f=b.getDerivedStateFromProps;"function"===typeof f&&(Wc(a,b,f,c),e.state=a.memoizedState);"function"===typeof b.getDerivedStateFromProps||"function"===typeof e.getSnapshotBeforeUpdate||"function"!==typeof e.UNSAFE_componentWillMount&&"function"!==typeof e.componentWillMount||(b=e.state,"function"===typeof e.componentWillMount&&e.componentWillMount(),"function"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Xc.enqueueReplaceState(e,e.state,null),f=a.updateQueue,null!==f&&(Ub(a,f,c,e,d),e.state=a.memoizedState));"function"===typeof e.componentDidMount&&(a.effectTag|=4);}function Vb(a,b,c){a=c.ref;if(null!==a&&"function"!==typeof a&&"object"!==_typeof2(a)){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(m(309));var d=c.stateNode;}if(!d)throw Error(m(147,a));var e=""+a;if(null!==b&&null!==b.ref&&"function"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function b(a){var b=d.refs;b===fh&&(b=d.refs={});null===a?delete b[e]:b[e]=a;};b._stringRef=e;return b;}if("string"!==typeof a)throw Error(m(284));if(!c._owner)throw Error(m(290,a));}return a;}function Yc(a,b){if("textarea"!==a.type)throw Error(m(31,"[object Object]"===Object.prototype.toString.call(b)?"object with keys {"+Object.keys(b).join(", ")+"}":b,""));}function gh(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.effectTag=8;}}function c(c,d){if(!a)return null;for(;null!==d;){b(c,d),d=d.sibling;}return null;}function d(a,b){for(a=new Map();null!==b;){null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;}return a;}function e(a,b,c){a=Ta(a,b,c);a.index=0;a.sibling=null;return a;}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.effectTag=2,c):d;b.effectTag=2;return c;}function g(b){a&&null===b.alternate&&(b.effectTag=2);return b;}function h(a,b,c,d){if(null===b||6!==b.tag)return b=xe(c,a.mode,d),b.return=a,b;b=e(b,c,d);b.return=a;return b;}function k(a,b,c,d){if(null!==b&&b.elementType===c.type)return d=e(b,c.props,d),d.ref=Vb(a,b,c),d.return=a,d;d=Zc(c.type,c.key,c.props,null,a.mode,d);d.ref=Vb(a,b,c);d.return=a;return d;}function l(a,b,c,d){if(null===b||4!==b.tag||b.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=ye(c,a.mode,d),b.return=a,b;b=e(b,c.children||[],d);b.return=a;return b;}function p(a,b,c,d,f){if(null===b||7!==b.tag)return b=Ha(c,a.mode,d,f),b.return=a,b;b=e(b,c,d);b.return=a;return b;}function n(a,b,c){if("string"===typeof b||"number"===typeof b)return b=xe(""+b,a.mode,c),b.return=a,b;if("object"===_typeof2(b)&&null!==b){switch(b.$$typeof){case $c:return c=Zc(b.type,b.key,b.props,null,a.mode,c),c.ref=Vb(a,null,b),c.return=a,c;case eb:return b=ye(b,a.mode,c),b.return=a,b;}if(ad(b)||Eb(b))return b=Ha(b,a.mode,c,null),b.return=a,b;Yc(a,b);}return null;}function q(a,b,c,d){var e=null!==b?b.key:null;if("string"===typeof c||"number"===typeof c)return null!==e?null:h(a,b,""+c,d);if("object"===_typeof2(c)&&null!==c){switch(c.$$typeof){case $c:return c.key===e?c.type===va?p(a,b,c.props.children,d,e):k(a,b,c,d):null;case eb:return c.key===e?l(a,b,c,d):null;}if(ad(c)||Eb(c))return null!==e?null:p(a,b,c,d,null);Yc(a,c);}return null;}function v(a,b,c,d,e){if("string"===typeof d||"number"===typeof d)return a=a.get(c)||null,h(b,a,""+d,e);if("object"===_typeof2(d)&&null!==d){switch(d.$$typeof){case $c:return a=a.get(null===d.key?c:d.key)||null,d.type===va?p(b,a,d.props.children,e,d.key):k(b,a,d,e);case eb:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e);}if(ad(d)||Eb(d))return a=a.get(c)||null,p(b,a,d,e,null);Yc(b,d);}return null;}function x(e,g,h,k){for(var l=null,m=null,p=g,t=g=0,z=null;null!==p&&t<h.length;t++){p.index>t?(z=p,p=null):z=p.sibling;var W=q(e,p,h[t],k);if(null===W){null===p&&(p=z);break;}a&&p&&null===W.alternate&&b(e,p);g=f(W,g,t);null===m?l=W:m.sibling=W;m=W;p=z;}if(t===h.length)return c(e,p),l;if(null===p){for(;t<h.length;t++){p=n(e,h[t],k),null!==p&&(g=f(p,g,t),null===m?l=p:m.sibling=p,m=p);}return l;}for(p=d(e,p);t<h.length;t++){z=v(p,e,t,h[t],k),null!==z&&(a&&null!==z.alternate&&p.delete(null===z.key?t:z.key),g=f(z,g,t),null===m?l=z:m.sibling=z,m=z);}a&&p.forEach(function(a){return b(e,a);});return l;}function A(e,g,h,k){var l=Eb(h);if("function"!==typeof l)throw Error(m(150));h=l.call(h);if(null==h)throw Error(m(151));for(var p=l=null,t=g,z=g=0,W=null,r=h.next();null!==t&&!r.done;z++,r=h.next()){t.index>z?(W=t,t=null):W=t.sibling;var sb=q(e,t,r.value,k);if(null===sb){null===t&&(t=W);break;}a&&t&&null===sb.alternate&&b(e,t);g=f(sb,g,z);null===p?l=sb:p.sibling=sb;p=sb;t=W;}if(r.done)return c(e,t),l;if(null===t){for(;!r.done;z++,r=h.next()){r=n(e,r.value,k),null!==r&&(g=f(r,g,z),null===p?l=r:p.sibling=r,p=r);}return l;}for(t=d(e,t);!r.done;z++,r=h.next()){r=v(t,e,z,r.value,k),null!==r&&(a&&null!==r.alternate&&t.delete(null===r.key?z:r.key),g=f(r,g,z),null===p?l=r:p.sibling=r,p=r);}a&&t.forEach(function(a){return b(e,a);});return l;}return function(a,d,f,h){var k="object"===_typeof2(f)&&null!==f&&f.type===va&&null===f.key;k&&(f=f.props.children);var l="object"===_typeof2(f)&&null!==f;if(l)switch(f.$$typeof){case $c:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){if(7===k.tag?f.type===va:k.elementType===f.type){c(a,k.sibling);d=e(k,f.type===va?f.props.children:f.props,h);d.ref=Vb(a,k,f);d.return=a;a=d;break a;}else{c(a,k);break;}}else b(a,k);k=k.sibling;}f.type===va?(d=Ha(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Zc(f.type,f.key,f.props,null,a.mode,h),h.ref=Vb(a,d,f),h.return=a,a=h);}return g(a);case eb:a:{for(k=f.key;null!==d;){if(d.key===k){if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[],h);d.return=a;a=d;break a;}else{c(a,d);break;}}else b(a,d);d=d.sibling;}d=ye(f,a.mode,h);d.return=a;a=d;}return g(a);}if("string"===typeof f||"number"===typeof f)return f=""+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f,h),d.return=a,a=d):(c(a,d),d=xe(f,a.mode,h),d.return=a,a=d),g(a);if(ad(f))return x(a,d,f,h);if(Eb(f))return A(a,d,f,h);l&&Yc(a,f);if("undefined"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(m(152,a.displayName||a.name||"Component"));}return c(a,d);};}function Ua(a){if(a===Wb)throw Error(m(174));return a;}function ze(a,b){y(Xb,b,a);y(Yb,a,a);y(fa,Wb,a);var c=b.nodeType;switch(c){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Od(null,"");break;default:c=c===Pa?b.parentNode:b,b=c.namespaceURI||null,c=c.tagName,b=Od(b,c);}B(fa,a);y(fa,b,a);}function tb(a){B(fa,a);B(Yb,a);B(Xb,a);}function hh(a){Ua(Xb.current);var b=Ua(fa.current);var c=Od(b,a.type);b!==c&&(y(Yb,a,a),y(fa,c,a));}function Ae(a){Yb.current===a&&(B(fa,a),B(Yb,a));}function bd(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===ge||c.data===fe))return b;}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b;}else if(null!==b.child){b.child.return=b;b=b.child;continue;}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return;}b.sibling.return=b.return;b=b.sibling;}return null;}function ih(a,b){return{responder:a,props:b};}function N(){throw Error(m(321));}function Be(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++){if(!Ra(a[c],b[c]))return!1;}return!0;}function Ce(a,b,c,d,e,f){Zb=f;Ia=b;ha=null!==a?a.memoizedState:null;cd.current=null===ha?wj:jh;b=c(d,e);if($b){do{$b=!1,ac+=1,ha=null!==a?a.memoizedState:null,ub=vb,ia=O=H=null,cd.current=jh,b=c(d,e);}while($b);pa=null;ac=0;}cd.current=dd;a=Ia;a.memoizedState=vb;a.expirationTime=wb;a.updateQueue=ia;a.effectTag|=bc;a=null!==H&&null!==H.next;Zb=0;ub=O=vb=ha=H=Ia=null;wb=0;ia=null;bc=0;if(a)throw Error(m(300));return b;}function kh(){cd.current=dd;Zb=0;ub=O=vb=ha=H=Ia=null;wb=0;ia=null;bc=0;$b=!1;pa=null;ac=0;}function xb(){var a={memoizedState:null,baseState:null,queue:null,baseUpdate:null,next:null};null===O?vb=O=a:O=O.next=a;return O;}function cc(){if(null!==ub)O=ub,ub=O.next,H=ha,ha=null!==H?H.next:null;else{if(null===ha)throw Error(m(310));H=ha;var a={memoizedState:H.memoizedState,baseState:H.baseState,queue:H.queue,baseUpdate:H.baseUpdate,next:null};O=null===O?vb=a:O.next=a;ha=H.next;}return O;}function lh(a,b){return"function"===typeof b?b(a):b;}function mh(a,b,c){b=cc();c=b.queue;if(null===c)throw Error(m(311));c.lastRenderedReducer=a;if(0<ac){var d=c.dispatch;if(null!==pa){var e=pa.get(c);if(void 0!==e){pa.delete(c);var f=b.memoizedState;do{f=a(f,e.action),e=e.next;}while(null!==e);Ra(f,b.memoizedState)||(da=!0);b.memoizedState=f;b.baseUpdate===c.last&&(b.baseState=f);c.lastRenderedState=f;return[f,d];}}return[b.memoizedState,d];}d=c.last;var g=b.baseUpdate;f=b.baseState;null!==g?(null!==d&&(d.next=null),d=g.next):d=null!==d?d.next:null;if(null!==d){var h=e=null,k=d,l=!1;do{var p=k.expirationTime;p<Zb?(l||(l=!0,h=g,e=f),p>wb&&(wb=p,Vc(wb))):($g(p,k.suspenseConfig),f=k.eagerReducer===a?k.eagerState:a(f,k.action));g=k;k=k.next;}while(null!==k&&k!==d);l||(h=g,e=f);Ra(f,b.memoizedState)||(da=!0);b.memoizedState=f;b.baseUpdate=h;b.baseState=e;c.lastRenderedState=f;}return[b.memoizedState,c.dispatch];}function De(a){var b=xb();"function"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={last:null,dispatch:null,lastRenderedReducer:lh,lastRenderedState:a};a=a.dispatch=nh.bind(null,Ia,a);return[b.memoizedState,a];}function Ee(a){return mh(lh,a);}function Fe(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};null===ia?(ia={lastEffect:null},ia.lastEffect=a.next=a):(b=ia.lastEffect,null===b?ia.lastEffect=a.next=a:(c=b.next,b.next=a,a.next=c,ia.lastEffect=a));return a;}function Ge(a,b,c,d){var e=xb();bc|=a;e.memoizedState=Fe(b,c,void 0,void 0===d?null:d);}function He(a,b,c,d){var e=cc();d=void 0===d?null:d;var f=void 0;if(null!==H){var g=H.memoizedState;f=g.destroy;if(null!==d&&Be(d,g.deps)){Fe(0,c,f,d);return;}}bc|=a;e.memoizedState=Fe(b,c,f,d);}function oh(a,b){return Ge(516,192,a,b);}function ph(a,b){return He(516,192,a,b);}function qh(a,b){if("function"===typeof b)return a=a(),b(a),function(){b(null);};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null;};}function rh(a,b){}function sh(a,b){xb().memoizedState=[a,void 0===b?null:b];return a;}function th(a,b){var c=cc();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Be(b,d[1]))return d[0];c.memoizedState=[a,b];return a;}function nh(a,b,c){if(!(25>ac))throw Error(m(301));var d=a.alternate;if(a===Ia||null!==d&&d===Ia){if($b=!0,a={expirationTime:Zb,suspenseConfig:null,action:c,eagerReducer:null,eagerState:null,next:null},null===pa&&(pa=new Map()),c=pa.get(b),void 0===c)pa.set(b,a);else{for(b=c;null!==b.next;){b=b.next;}b.next=a;}}else{var e=X(),f=dc.suspense;e=Va(e,a,f);f={expirationTime:e,suspenseConfig:f,action:c,eagerReducer:null,eagerState:null,next:null};var g=b.last;if(null===g)f.next=f;else{var h=g.next;null!==h&&(f.next=h);g.next=f;}b.last=f;if(0===a.expirationTime&&(null===d||0===d.expirationTime)&&(d=b.lastRenderedReducer,null!==d))try{var k=b.lastRenderedState,l=d(k,c);f.eagerReducer=d;f.eagerState=l;if(Ra(l,k))return;}catch(p){}finally{}Ja(a,e);}}function uh(a,b){var c=ja(5,null,null,0);c.elementType="DELETED";c.type="DELETED";c.stateNode=b;c.return=a;c.effectTag=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c;}function vh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=""===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1;}}function Ie(a){if(Wa){var b=Ka;if(b){var c=b;if(!vh(a,b)){b=kb(c.nextSibling);if(!b||!vh(a,b)){a.effectTag=a.effectTag&-1025|2;Wa=!1;qa=a;return;}uh(qa,c);}qa=a;Ka=kb(b.firstChild);}else a.effectTag=a.effectTag&-1025|2,Wa=!1,qa=a;}}function wh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;){a=a.return;}qa=a;}function ed(a){if(a!==qa)return!1;if(!Wa)return wh(a),Wa=!0,!1;var b=a.type;if(5!==a.tag||"head"!==b&&"body"!==b&&!ee(b,a.memoizedProps))for(b=Ka;b;){uh(a,b),b=kb(b.nextSibling);}wh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(m(317));a:{a=a.nextSibling;for(b=0;a;){if(a.nodeType===Pa){var c=a.data;if(c===tg){if(0===b){Ka=kb(a.nextSibling);break a;}b--;}else c!==sg&&c!==fe&&c!==ge||b++;}a=a.nextSibling;}Ka=null;}}else Ka=qa?kb(a.stateNode.nextSibling):null;return!0;}function Je(){Ka=qa=null;Wa=!1;}function P(a,b,c,d){b.child=null===a?Ke(b,null,c,d):yb(b,a.child,c,d);}function xh(a,b,c,d,e){c=c.render;var f=b.ref;rb(b,e);d=Ce(a,b,c,d,f,e);if(null!==a&&!da)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),ra(a,b,e);b.effectTag|=1;P(a,b,d,e);return b.child;}function yh(a,b,c,d,e,f){if(null===a){var g=c.type;if("function"===typeof g&&!Le(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,zh(a,b,g,d,e,f);a=Zc(c.type,null,d,null,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a;}g=a.child;if(e<f&&(e=g.memoizedProps,c=c.compare,c=null!==c?c:Sb,c(e,d)&&a.ref===b.ref))return ra(a,b,f);b.effectTag|=1;a=Ta(g,d,f);a.ref=b.ref;a.return=b;return b.child=a;}function zh(a,b,c,d,e,f){return null!==a&&Sb(a.memoizedProps,d)&&a.ref===b.ref&&(da=!1,e<f)?ra(a,b,f):Me(a,b,c,d,f);}function Ah(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.effectTag|=128;}function Me(a,b,c,d,e){var f=K(c)?Sa:L.current;f=ob(b,f);rb(b,e);c=Ce(a,b,c,d,f,e);if(null!==a&&!da)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),ra(a,b,e);b.effectTag|=1;P(a,b,c,e);return b.child;}function Bh(a,b,c,d,e){if(K(c)){var f=!0;Mc(b);}else f=!1;rb(b,e);if(null===b.stateNode)null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2),dh(b,c,d,e),we(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;"object"===_typeof2(l)&&null!==l?l=ea(l):(l=K(c)?Sa:L.current,l=ob(b,l));var m=c.getDerivedStateFromProps,n="function"===typeof m||"function"===typeof g.getSnapshotBeforeUpdate;n||"function"!==typeof g.UNSAFE_componentWillReceiveProps&&"function"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&eh(b,g,d,l);Ga=!1;var q=b.memoizedState;k=g.state=q;var v=b.updateQueue;null!==v&&(Ub(b,v,d,g,e),k=b.memoizedState);h!==d||q!==k||Q.current||Ga?("function"===typeof m&&(Wc(b,c,m,d),k=b.memoizedState),(h=Ga||ch(b,c,h,d,q,k,l))?(n||"function"!==typeof g.UNSAFE_componentWillMount&&"function"!==typeof g.componentWillMount||("function"===typeof g.componentWillMount&&g.componentWillMount(),"function"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),"function"===typeof g.componentDidMount&&(b.effectTag|=4)):("function"===typeof g.componentDidMount&&(b.effectTag|=4),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):("function"===typeof g.componentDidMount&&(b.effectTag|=4),d=!1);}else g=b.stateNode,h=b.memoizedProps,g.props=b.type===b.elementType?h:V(b.type,h),k=g.context,l=c.contextType,"object"===_typeof2(l)&&null!==l?l=ea(l):(l=K(c)?Sa:L.current,l=ob(b,l)),m=c.getDerivedStateFromProps,(n="function"===typeof m||"function"===typeof g.getSnapshotBeforeUpdate)||"function"!==typeof g.UNSAFE_componentWillReceiveProps&&"function"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&eh(b,g,d,l),Ga=!1,k=b.memoizedState,q=g.state=k,v=b.updateQueue,null!==v&&(Ub(b,v,d,g,e),q=b.memoizedState),h!==d||k!==q||Q.current||Ga?("function"===typeof m&&(Wc(b,c,m,d),q=b.memoizedState),(m=Ga||ch(b,c,h,d,k,q,l))?(n||"function"!==typeof g.UNSAFE_componentWillUpdate&&"function"!==typeof g.componentWillUpdate||("function"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,q,l),"function"===typeof g.UNSAFE_componentWillUpdate&&g.UNSAFE_componentWillUpdate(d,q,l)),"function"===typeof g.componentDidUpdate&&(b.effectTag|=4),"function"===typeof g.getSnapshotBeforeUpdate&&(b.effectTag|=256)):("function"!==typeof g.componentDidUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=4),"function"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=256),b.memoizedProps=d,b.memoizedState=q),g.props=d,g.state=q,g.context=l,d=m):("function"!==typeof g.componentDidUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=4),"function"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=256),d=!1);return Ne(a,b,c,d,f,e);}function Ne(a,b,c,d,e,f){Ah(a,b);var g=0!==(b.effectTag&64);if(!d&&!g)return e&&Jg(b,c,!1),ra(a,b,f);d=b.stateNode;xj.current=b;var h=g&&"function"!==typeof c.getDerivedStateFromError?null:d.render();b.effectTag|=1;null!==a&&g?(b.child=yb(b,a.child,null,f),b.child=yb(b,null,h,f)):P(a,b,h,f);b.memoizedState=d.state;e&&Jg(b,c,!0);return b.child;}function Ch(a){var b=a.stateNode;b.pendingContext?Hg(a,b.pendingContext,b.pendingContext!==b.context):b.context&&Hg(a,b.context,!1);ze(a,b.containerInfo);}function Dh(a,b,c){var d=b.mode,e=b.pendingProps,f=A.current,g=!1,h;(h=0!==(b.effectTag&64))||(h=0!==(f&2)&&(null===a||null!==a.memoizedState));h?(g=!0,b.effectTag&=-65):null!==a&&null===a.memoizedState||void 0===e.fallback||!0===e.unstable_avoidThisFallback||(f|=1);y(A,f&1,b);if(null===a){void 0!==e.fallback&&Ie(b);if(g){g=e.fallback;e=Ha(null,d,0,null);e.return=b;if(0===(b.mode&2))for(a=null!==b.memoizedState?b.child.child:b.child,e.child=a;null!==a;){a.return=e,a=a.sibling;}c=Ha(g,d,c,null);c.return=b;e.sibling=c;b.memoizedState=Oe;b.child=e;return c;}d=e.children;b.memoizedState=null;return b.child=Ke(b,null,d,c);}if(null!==a.memoizedState){a=a.child;d=a.sibling;if(g){e=e.fallback;c=Ta(a,a.pendingProps,0);c.return=b;if(0===(b.mode&2)&&(g=null!==b.memoizedState?b.child.child:b.child,g!==a.child))for(c.child=g;null!==g;){g.return=c,g=g.sibling;}d=Ta(d,e,d.expirationTime);d.return=b;c.sibling=d;c.childExpirationTime=0;b.memoizedState=Oe;b.child=c;return d;}c=yb(b,a.child,e.children,c);b.memoizedState=null;return b.child=c;}a=a.child;if(g){g=e.fallback;e=Ha(null,d,0,null);e.return=b;e.child=a;null!==a&&(a.return=e);if(0===(b.mode&2))for(a=null!==b.memoizedState?b.child.child:b.child,e.child=a;null!==a;){a.return=e,a=a.sibling;}c=Ha(g,d,c,null);c.return=b;e.sibling=c;c.effectTag|=2;e.childExpirationTime=0;b.memoizedState=Oe;b.child=e;return c;}b.memoizedState=null;return b.child=yb(b,a,e.children,c);}function Eh(a,b){a.expirationTime<b&&(a.expirationTime=b);var c=a.alternate;null!==c&&c.expirationTime<b&&(c.expirationTime=b);Vg(a.return,b);}function Pe(a,b,c,d,e,f){var g=a.memoizedState;null===g?a.memoizedState={isBackwards:b,rendering:null,last:d,tail:c,tailExpiration:0,tailMode:e,lastEffect:f}:(g.isBackwards=b,g.rendering=null,g.last=d,g.tail=c,g.tailExpiration=0,g.tailMode=e,g.lastEffect=f);}function Fh(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;P(a,b,d.children,c);d=A.current;if(0!==(d&2))d=d&1|2,b.effectTag|=64;else{if(null!==a&&0!==(a.effectTag&64))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&Eh(a,c);else if(19===a.tag)Eh(a,c);else if(null!==a.child){a.child.return=a;a=a.child;continue;}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return;}a.sibling.return=a.return;a=a.sibling;}d&=1;}y(A,d,b);if(0===(b.mode&2))b.memoizedState=null;else switch(e){case"forwards":c=b.child;for(e=null;null!==c;){a=c.alternate,null!==a&&null===bd(a)&&(e=c),c=c.sibling;}c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);Pe(b,!1,e,c,f,b.lastEffect);break;case"backwards":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===bd(a)){b.child=e;break;}a=e.sibling;e.sibling=c;c=e;e=a;}Pe(b,!0,c,null,f,b.lastEffect);break;case"together":Pe(b,!1,null,null,void 0,b.lastEffect);break;default:b.memoizedState=null;}return b.child;}function ra(a,b,c){null!==a&&(b.dependencies=a.dependencies);var d=b.expirationTime;0!==d&&Vc(d);if(b.childExpirationTime<c)return null;if(null!==a&&b.child!==a.child)throw Error(m(153));if(null!==b.child){a=b.child;c=Ta(a,a.pendingProps,a.expirationTime);b.child=c;for(c.return=b;null!==a.sibling;){a=a.sibling,c=c.sibling=Ta(a,a.pendingProps,a.expirationTime),c.return=b;}c.sibling=null;}return b.child;}function zb(a){a.effectTag|=4;}function fd(a,b){switch(a.tailMode){case"hidden":b=a.tail;for(var c=null;null!==b;){null!==b.alternate&&(c=b),b=b.sibling;}null===c?a.tail=null:c.sibling=null;break;case"collapsed":c=a.tail;for(var d=null;null!==c;){null!==c.alternate&&(d=c),c=c.sibling;}null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null;}}function yj(a,b){switch(a.tag){case 1:return K(a.type)&&Lc(a),b=a.effectTag,b&4096?(a.effectTag=b&-4097|64,a):null;case 3:tb(a);oe(a);b=a.effectTag;if(0!==(b&64))throw Error(m(285));a.effectTag=b&-4097|64;return a;case 5:return Ae(a),null;case 13:return B(A,a),b=a.effectTag,b&4096?(a.effectTag=b&-4097|64,a):null;case 19:return B(A,a),null;case 4:return tb(a),null;case 10:return ue(a),null;default:return null;}}function Qe(a,b){return{value:a,source:b,stack:Ed(b)};}function Re(a,b){var c=b.source,d=b.stack;null===d&&null!==c&&(d=Ed(c));null!==c&&ua(c.type);b=b.value;null!==a&&1===a.tag&&ua(a.type);try{console.error(b);}catch(e){setTimeout(function(){throw e;});}}function zj(a,b){try{b.props=a.memoizedProps,b.state=a.memoizedState,b.componentWillUnmount();}catch(c){Xa(a,c);}}function Gh(a){var b=a.ref;if(null!==b)if("function"===typeof b)try{b(null);}catch(c){Xa(a,c);}else b.current=null;}function Aj(a,b){switch(b.tag){case 0:case 11:case 15:ec(2,0,b);break;case 1:if(b.effectTag&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:V(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b;}break;case 3:case 5:case 6:case 4:case 17:break;default:throw Error(m(163));}}function ec(a,b,c){c=c.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do{if(0!==(d.tag&a)){var e=d.destroy;d.destroy=void 0;void 0!==e&&e();}0!==(d.tag&b)&&(e=d.create,d.destroy=e());d=d.next;}while(d!==c);}}function Hh(a,b,c){"function"===typeof Se&&Se(b);switch(b.tag){case 0:case 11:case 14:case 15:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var d=a.next;pb(97<c?97:c,function(){var a=d;do{var c=a.destroy;if(void 0!==c){var g=b;try{c();}catch(h){Xa(g,h);}}a=a.next;}while(a!==d);});}break;case 1:Gh(b);c=b.stateNode;"function"===typeof c.componentWillUnmount&&zj(b,c);break;case 5:Gh(b);break;case 4:Ih(a,b,c);}}function Jh(a){var b=a.alternate;a.return=null;a.child=null;a.memoizedState=null;a.updateQueue=null;a.dependencies=null;a.alternate=null;a.firstEffect=null;a.lastEffect=null;a.pendingProps=null;a.memoizedProps=null;null!==b&&Jh(b);}function Kh(a){return 5===a.tag||3===a.tag||4===a.tag;}function Lh(a){a:{for(var b=a.return;null!==b;){if(Kh(b)){var c=b;break a;}b=b.return;}throw Error(m(160));}b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(m(161));}c.effectTag&16&&(fc(b,""),c.effectTag&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||Kh(c.return)){c=null;break a;}c=c.return;}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.effectTag&2)continue b;if(null===c.child||4===c.tag)continue b;else c.child.return=c,c=c.child;}if(!(c.effectTag&2)){c=c.stateNode;break a;}}for(var e=a;;){var f=5===e.tag||6===e.tag;if(f){var g=f?e.stateNode:e.stateNode.instance;if(c){if(d){f=b;var h=g;g=c;f.nodeType===Pa?f.parentNode.insertBefore(h,g):f.insertBefore(h,g);}else b.insertBefore(g,c);}else d?(h=b,h.nodeType===Pa?(f=h.parentNode,f.insertBefore(g,h)):(f=h,f.appendChild(g)),h=h._reactRootContainer,null!==h&&void 0!==h||null!==f.onclick||(f.onclick=Hc)):b.appendChild(g);}else if(4!==e.tag&&null!==e.child){e.child.return=e;e=e.child;continue;}if(e===a)break;for(;null===e.sibling;){if(null===e.return||e.return===a)return;e=e.return;}e.sibling.return=e.return;e=e.sibling;}}function Ih(a,b,c){for(var d=b,e=!1,f,g;;){if(!e){e=d.return;a:for(;;){if(null===e)throw Error(m(160));f=e.stateNode;switch(e.tag){case 5:g=!1;break a;case 3:f=f.containerInfo;g=!0;break a;case 4:f=f.containerInfo;g=!0;break a;}e=e.return;}e=!0;}if(5===d.tag||6===d.tag){a:for(var h=a,k=d,l=c,p=k;;){if(Hh(h,p,l),null!==p.child&&4!==p.tag)p.child.return=p,p=p.child;else{if(p===k)break;for(;null===p.sibling;){if(null===p.return||p.return===k)break a;p=p.return;}p.sibling.return=p.return;p=p.sibling;}}g?(h=f,k=d.stateNode,h.nodeType===Pa?h.parentNode.removeChild(k):h.removeChild(k)):f.removeChild(d.stateNode);}else if(4===d.tag){if(null!==d.child){f=d.stateNode.containerInfo;g=!0;d.child.return=d;d=d.child;continue;}}else if(Hh(a,d,c),null!==d.child){d.child.return=d;d=d.child;continue;}if(d===b)break;for(;null===d.sibling;){if(null===d.return||d.return===b)return;d=d.return;4===d.tag&&(e=!1);}d.sibling.return=d.return;d=d.sibling;}}function Te(a,b){switch(b.tag){case 0:case 11:case 14:case 15:ec(4,8,b);break;case 1:break;case 5:var c=b.stateNode;if(null!=c){var d=b.memoizedProps,e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[Ic]=d;"input"===a&&"radio"===d.type&&null!=d.name&&Of(c,d);be(a,e);b=be(a,d);for(e=0;e<f.length;e+=2){var g=f[e],h=f[e+1];"style"===g?lg(c,h):"dangerouslySetInnerHTML"===g?Mh(c,h):"children"===g?fc(c,h):Id(c,g,h,b);}switch(a){case"input":Kd(c,d);break;case"textarea":Rf(c,d);break;case"select":b=c._wrapperState.wasMultiple,c._wrapperState.wasMultiple=!!d.multiple,a=d.value,null!=a?hb(c,!!d.multiple,a,!1):b!==!!d.multiple&&(null!=d.defaultValue?hb(c,!!d.multiple,d.defaultValue,!0):hb(c,!!d.multiple,d.multiple?[]:"",!1));}}}break;case 6:if(null===b.stateNode)throw Error(m(162));b.stateNode.nodeValue=b.memoizedProps;break;case 3:b=b.stateNode;b.hydrate&&(b.hydrate=!1,cg(b.containerInfo));break;case 12:break;case 13:c=b;null===b.memoizedState?d=!1:(d=!0,c=b.child,Ue=Y());if(null!==c)a:for(a=c;;){if(5===a.tag)f=a.stateNode,d?(f=f.style,"function"===typeof f.setProperty?f.setProperty("display","none","important"):f.display="none"):(f=a.stateNode,e=a.memoizedProps.style,e=void 0!==e&&null!==e&&e.hasOwnProperty("display")?e.display:null,f.style.display=kg("display",e));else if(6===a.tag)a.stateNode.nodeValue=d?"":a.memoizedProps;else if(13===a.tag&&null!==a.memoizedState&&null===a.memoizedState.dehydrated){f=a.child.sibling;f.return=a;a=f;continue;}else if(null!==a.child){a.child.return=a;a=a.child;continue;}if(a===c)break a;for(;null===a.sibling;){if(null===a.return||a.return===c)break a;a=a.return;}a.sibling.return=a.return;a=a.sibling;}Nh(b);break;case 19:Nh(b);break;case 17:break;case 20:break;case 21:break;default:throw Error(m(163));}}function Nh(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Bj());b.forEach(function(b){var d=Cj.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d));});}}function Oh(a,b,c){c=Ea(c,null);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){gd||(gd=!0,Ve=d);Re(a,b);};return c;}function Ph(a,b,c){c=Ea(c,null);c.tag=3;var d=a.type.getDerivedStateFromError;if("function"===typeof d){var e=b.value;c.payload=function(){Re(a,b);return d(e);};}var f=a.stateNode;null!==f&&"function"===typeof f.componentDidCatch&&(c.callback=function(){"function"!==typeof d&&(null===La?La=new Set([this]):La.add(this),Re(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:""});});return c;}function X(){return(q&(Z|ka))!==F?1073741821-(Y()/10|0):0!==hd?hd:hd=1073741821-(Y()/10|0);}function Va(a,b,c){b=b.mode;if(0===(b&2))return 1073741823;var d=pe();if(0===(b&4))return 99===d?1073741823:1073741822;if((q&Z)!==F)return R;if(null!==c)a=Pc(a,c.timeoutMs|0||5E3,250);else switch(d){case 99:a=1073741823;break;case 98:a=Pc(a,150,100);break;case 97:case 96:a=Pc(a,5E3,250);break;case 95:a=2;break;default:throw Error(m(326));}null!==S&&a===R&&--a;return a;}function id(a,b){a.expirationTime<b&&(a.expirationTime=b);var c=a.alternate;null!==c&&c.expirationTime<b&&(c.expirationTime=b);var d=a.return,e=null;if(null===d&&3===a.tag)e=a.stateNode;else for(;null!==d;){c=d.alternate;d.childExpirationTime<b&&(d.childExpirationTime=b);null!==c&&c.childExpirationTime<b&&(c.childExpirationTime=b);if(null===d.return&&3===d.tag){e=d.stateNode;break;}d=d.return;}null!==e&&(S===e&&(Vc(b),G===jd&&Ya(e,R)),Qh(e,b));return e;}function kd(a){var b=a.lastExpiredTime;if(0!==b)return b;b=a.firstPendingTime;if(!Rh(a,b))return b;b=a.lastPingedTime;a=a.nextKnownPendingLevel;return b>a?b:a;}function T(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=Qg(We.bind(null,a));else{var b=kd(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=X();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Sg&&Tg(c);}a.callbackExpirationTime=b;a.callbackPriority=d;b=1073741823===b?Qg(We.bind(null,a)):Pg(d,Sh.bind(null,a),{timeout:10*(1073741821-b)-Y()});a.callbackNode=b;}}}function Sh(a,b){hd=0;if(b)return b=X(),Xe(a,b),T(a),null;var c=kd(a);if(0!==c){b=a.callbackNode;if((q&(Z|ka))!==F)throw Error(m(327));Ab();a===S&&c===R||Za(a,c);if(null!==v){var d=q;q|=Z;var e=Th(a);do{try{Dj();break;}catch(h){Uh(a,h);}}while(1);se();q=d;ld.current=e;if(G===md)throw b=nd,Za(a,c),Ya(a,c),T(a),b;if(null===v)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=G,S=null,d){case $a:case md:throw Error(m(345));case Vh:Xe(a,2<c?2:c);break;case od:Ya(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ye(e));if(1073741823===sa&&(e=Ue+Wh-Y(),10<e)){if(pd){var f=a.lastPingedTime;if(0===f||f>=c){a.lastPingedTime=c;Za(a,c);break;}}f=kd(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break;}a.timeoutHandle=Ze(Ma.bind(null,a),e);break;}Ma(a);break;case jd:Ya(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ye(e));if(pd&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Za(a,c);break;}e=kd(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break;}1073741823!==gc?d=10*(1073741821-gc)-Y():1073741823===sa?d=0:(d=10*(1073741821-sa)-5E3,e=Y(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*Ej(d/1960))-d,c<d&&(d=c));if(10<d){a.timeoutHandle=Ze(Ma.bind(null,a),d);break;}Ma(a);break;case $e:if(1073741823!==sa&&null!==qd){f=sa;var g=qd;d=g.busyMinDurationMs|0;0>=d?d=0:(e=g.busyDelayMs|0,f=Y()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10<d){Ya(a,c);a.timeoutHandle=Ze(Ma.bind(null,a),d);break;}}Ma(a);break;default:throw Error(m(329));}T(a);if(a.callbackNode===b)return Sh.bind(null,a);}}return null;}function We(a){var b=a.lastExpiredTime;b=0!==b?b:1073741823;if(a.finishedExpirationTime===b)Ma(a);else{if((q&(Z|ka))!==F)throw Error(m(327));Ab();a===S&&b===R||Za(a,b);if(null!==v){var c=q;q|=Z;var d=Th(a);do{try{Fj();break;}catch(e){Uh(a,e);}}while(1);se();q=c;ld.current=d;if(G===md)throw c=nd,Za(a,b),Ya(a,b),T(a),c;if(null!==v)throw Error(m(261));a.finishedWork=a.current.alternate;a.finishedExpirationTime=b;S=null;Ma(a);T(a);}}return null;}function Gj(){if(null!==ab){var a=ab;ab=null;a.forEach(function(a,c){Xe(c,a);T(c);});ca();}}function Xh(a,b){var c=q;q|=1;try{return a(b);}finally{q=c,q===F&&ca();}}function Yh(a,b){var c=q;q&=-2;q|=af;try{return a(b);}finally{q=c,q===F&&ca();}}function Za(a,b){a.finishedWork=null;a.finishedExpirationTime=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Hj(c));if(null!==v)for(c=v.return;null!==c;){var d=c;switch(d.tag){case 1:var e=d.type.childContextTypes;null!==e&&void 0!==e&&Lc(d);break;case 3:tb(d);oe(d);break;case 5:Ae(d);break;case 4:tb(d);break;case 13:B(A,d);break;case 19:B(A,d);break;case 10:ue(d);}c=c.return;}S=a;v=Ta(a.current,null,b);R=b;G=$a;nd=null;gc=sa=1073741823;qd=null;hc=0;pd=!1;}function Uh(a,b){do{try{se();kh();if(null===v||null===v.return)return G=md,nd=b,null;a:{var c=a,d=v.return,e=v,f=b;b=R;e.effectTag|=2048;e.firstEffect=e.lastEffect=null;if(null!==f&&"object"===_typeof2(f)&&"function"===typeof f.then){var g=f,h=0!==(A.current&1),k=d;do{var l;if(l=13===k.tag){var m=k.memoizedState;if(null!==m)l=null!==m.dehydrated?!0:!1;else{var n=k.memoizedProps;l=void 0===n.fallback?!1:!0!==n.unstable_avoidThisFallback?!0:h?!1:!0;}}if(l){var q=k.updateQueue;if(null===q){var x=new Set();x.add(g);k.updateQueue=x;}else q.add(g);if(0===(k.mode&2)){k.effectTag|=64;e.effectTag&=-2981;if(1===e.tag)if(null===e.alternate)e.tag=17;else{var B=Ea(1073741823,null);B.tag=Uc;Fa(e,B);}e.expirationTime=1073741823;break a;}f=void 0;e=b;var y=c.pingCache;null===y?(y=c.pingCache=new Ij(),f=new Set(),y.set(g,f)):(f=y.get(g),void 0===f&&(f=new Set(),y.set(g,f)));if(!f.has(e)){f.add(e);var t=Jj.bind(null,c,g,e);g.then(t,t);}k.effectTag|=4096;k.expirationTime=b;break a;}k=k.return;}while(null!==k);f=Error((ua(e.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display."+Ed(e));}G!==$e&&(G=Vh);f=Qe(f,e);k=d;do{switch(k.tag){case 3:g=f;k.effectTag|=4096;k.expirationTime=b;var z=Oh(k,g,b);Xg(k,z);break a;case 1:g=f;var F=k.type,r=k.stateNode;if(0===(k.effectTag&64)&&("function"===typeof F.getDerivedStateFromError||null!==r&&"function"===typeof r.componentDidCatch&&(null===La||!La.has(r)))){k.effectTag|=4096;k.expirationTime=b;var u=Ph(k,g,b);Xg(k,u);break a;}}k=k.return;}while(null!==k);}v=Zh(v);}catch(w){b=w;continue;}break;}while(1);}function Th(a){a=ld.current;ld.current=dd;return null===a?dd:a;}function $g(a,b){a<sa&&2<a&&(sa=a);null!==b&&a<gc&&2<a&&(gc=a,qd=b);}function Vc(a){a>hc&&(hc=a);}function Fj(){for(;null!==v;){v=$h(v);}}function Dj(){for(;null!==v&&!Kj();){v=$h(v);}}function $h(a){var b=Lj(a.alternate,a,R);a.memoizedProps=a.pendingProps;null===b&&(b=Zh(a));ai.current=null;return b;}function Zh(a){v=a;do{var b=v.alternate;a=v.return;if(0===(v.effectTag&2048)){a:{var c=b;b=v;var d=R;var e=b.pendingProps;switch(b.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:K(b.type)&&Lc(b);break;case 3:tb(b);oe(b);e=b.stateNode;e.pendingContext&&(e.context=e.pendingContext,e.pendingContext=null);(null===c||null===c.child)&&ed(b)&&zb(b);bi(b);break;case 5:Ae(b);var f=Ua(Xb.current);d=b.type;if(null!==c&&null!=b.stateNode)Mj(c,b,d,e,f),c.ref!==b.ref&&(b.effectTag|=128);else if(e){var g=Ua(fa.current);if(ed(b)){e=b;c=e.stateNode;var h=e.type;g=e.memoizedProps;c[Ba]=e;c[Ic]=g;d=void 0;switch(h){case"iframe":case"object":case"embed":x("load",c);break;case"video":case"audio":for(var k=0;k<Nb.length;k++){x(Nb[k],c);}break;case"source":x("error",c);break;case"img":case"image":case"link":x("error",c);x("load",c);break;case"form":x("reset",c);x("submit",c);break;case"details":x("toggle",c);break;case"input":Nf(c,g);x("invalid",c);na(f,"onChange");break;case"select":c._wrapperState={wasMultiple:!!g.multiple};x("invalid",c);na(f,"onChange");break;case"textarea":Qf(c,g),x("invalid",c),na(f,"onChange");}ae(h,g);k=null;for(d in g){if(g.hasOwnProperty(d)){var l=g[d];"children"===d?"string"===typeof l?c.textContent!==l&&(k=["children",l]):"number"===typeof l&&c.textContent!==""+l&&(k=["children",""+l]):cb.hasOwnProperty(d)&&null!=l&&na(f,d);}}switch(h){case"input":xc(c);Pf(c,g,!0);break;case"textarea":xc(c);Sf(c,g);break;case"select":case"option":break;default:"function"===typeof g.onClick&&(c.onclick=Hc);}f=k;e.updateQueue=f;e=null!==f?!0:!1;e&&zb(b);}else{h=b;c=9===f.nodeType?f:f.ownerDocument;"http://www.w3.org/1999/xhtml"===g&&(g=Tf(d));"http://www.w3.org/1999/xhtml"===g?"script"===d?(c=c.createElement("div"),c.innerHTML="<script>\x3c/script>",c=c.removeChild(c.firstChild)):"string"===typeof e.is?c=c.createElement(d,{is:e.is}):(c=c.createElement(d),"select"===d&&(g=c,e.multiple?g.multiple=!0:e.size&&(g.size=e.size))):c=c.createElementNS(g,d);c[Ba]=h;c[Ic]=e;Nj(c,b,!1,!1);b.stateNode=c;var p=be(d,e);switch(d){case"iframe":case"object":case"embed":x("load",c);h=e;break;case"video":case"audio":for(h=0;h<Nb.length;h++){x(Nb[h],c);}h=e;break;case"source":x("error",c);h=e;break;case"img":case"image":case"link":x("error",c);x("load",c);h=e;break;case"form":x("reset",c);x("submit",c);h=e;break;case"details":x("toggle",c);h=e;break;case"input":Nf(c,e);h=Jd(c,e);x("invalid",c);na(f,"onChange");break;case"option":h=Md(c,e);break;case"select":c._wrapperState={wasMultiple:!!e.multiple};h=J({},e,{value:void 0});x("invalid",c);na(f,"onChange");break;case"textarea":Qf(c,e);h=Nd(c,e);x("invalid",c);na(f,"onChange");break;default:h=e;}ae(d,h);g=void 0;k=d;l=c;var n=h;for(g in n){if(n.hasOwnProperty(g)){var q=n[g];"style"===g?lg(l,q):"dangerouslySetInnerHTML"===g?(q=q?q.__html:void 0,null!=q&&Mh(l,q)):"children"===g?"string"===typeof q?("textarea"!==k||""!==q)&&fc(l,q):"number"===typeof q&&fc(l,""+q):"suppressContentEditableWarning"!==g&&"suppressHydrationWarning"!==g&&"autoFocus"!==g&&(cb.hasOwnProperty(g)?null!=q&&na(f,g):null!=q&&Id(l,g,q,p));}}switch(d){case"input":xc(c);Pf(c,e,!1);break;case"textarea":xc(c);Sf(c,e);break;case"option":null!=e.value&&c.setAttribute("value",""+wa(e.value));break;case"select":f=c;c=e;f.multiple=!!c.multiple;h=c.value;null!=h?hb(f,!!c.multiple,h,!1):null!=c.defaultValue&&hb(f,!!c.multiple,c.defaultValue,!0);break;default:"function"===typeof h.onClick&&(c.onclick=Hc);}qg(d,e)&&zb(b);}null!==b.ref&&(b.effectTag|=128);}else if(null===b.stateNode)throw Error(m(166));break;case 6:if(c&&null!=b.stateNode)Oj(c,b,c.memoizedProps,e);else{if("string"!==typeof e&&null===b.stateNode)throw Error(m(166));d=Ua(Xb.current);Ua(fa.current);ed(b)?(e=b,f=e.stateNode,d=e.memoizedProps,f[Ba]=e,(e=f.nodeValue!==d)&&zb(b)):(f=b,e=(9===d.nodeType?d:d.ownerDocument).createTextNode(e),e[Ba]=f,b.stateNode=e);}break;case 11:break;case 13:B(A,b);e=b.memoizedState;if(0!==(b.effectTag&64)){b.expirationTime=d;break a;}e=null!==e;f=!1;null===c?void 0!==b.memoizedProps.fallback&&ed(b):(d=c.memoizedState,f=null!==d,e||null===d||(d=c.child.sibling,null!==d&&(h=b.firstEffect,null!==h?(b.firstEffect=d,d.nextEffect=h):(b.firstEffect=b.lastEffect=d,d.nextEffect=null),d.effectTag=8)));if(e&&!f&&0!==(b.mode&2))if(null===c&&!0!==b.memoizedProps.unstable_avoidThisFallback||0!==(A.current&1))G===$a&&(G=od);else{if(G===$a||G===od)G=jd;0!==hc&&null!==S&&(Ya(S,R),Qh(S,hc));}if(e||f)b.effectTag|=4;break;case 7:break;case 8:break;case 12:break;case 4:tb(b);bi(b);break;case 10:ue(b);break;case 9:break;case 14:break;case 17:K(b.type)&&Lc(b);break;case 19:B(A,b);e=b.memoizedState;if(null===e)break;f=0!==(b.effectTag&64);h=e.rendering;if(null===h){if(f)fd(e,!1);else{if(G!==$a||null!==c&&0!==(c.effectTag&64))for(c=b.child;null!==c;){h=bd(c);if(null!==h){b.effectTag|=64;fd(e,!1);f=h.updateQueue;null!==f&&(b.updateQueue=f,b.effectTag|=4);null===e.lastEffect&&(b.firstEffect=null);b.lastEffect=e.lastEffect;e=d;for(f=b.child;null!==f;){d=f,c=e,d.effectTag&=2,d.nextEffect=null,d.firstEffect=null,d.lastEffect=null,h=d.alternate,null===h?(d.childExpirationTime=0,d.expirationTime=c,d.child=null,d.memoizedProps=null,d.memoizedState=null,d.updateQueue=null,d.dependencies=null):(d.childExpirationTime=h.childExpirationTime,d.expirationTime=h.expirationTime,d.child=h.child,d.memoizedProps=h.memoizedProps,d.memoizedState=h.memoizedState,d.updateQueue=h.updateQueue,c=h.dependencies,d.dependencies=null===c?null:{expirationTime:c.expirationTime,firstContext:c.firstContext,responders:c.responders}),f=f.sibling;}y(A,A.current&1|2,b);b=b.child;break a;}c=c.sibling;}}}else{if(!f)if(c=bd(h),null!==c){if(b.effectTag|=64,f=!0,d=c.updateQueue,null!==d&&(b.updateQueue=d,b.effectTag|=4),fd(e,!0),null===e.tail&&"hidden"===e.tailMode&&!h.alternate){b=b.lastEffect=e.lastEffect;null!==b&&(b.nextEffect=null);break;}}else Y()>e.tailExpiration&&1<d&&(b.effectTag|=64,f=!0,fd(e,!1),b.expirationTime=b.childExpirationTime=d-1);e.isBackwards?(h.sibling=b.child,b.child=h):(d=e.last,null!==d?d.sibling=h:b.child=h,e.last=h);}if(null!==e.tail){0===e.tailExpiration&&(e.tailExpiration=Y()+500);d=e.tail;e.rendering=d;e.tail=d.sibling;e.lastEffect=b.lastEffect;d.sibling=null;e=A.current;e=f?e&1|2:e&1;y(A,e,b);b=d;break a;}break;case 20:break;case 21:break;default:throw Error(m(156,b.tag));}b=null;}e=v;if(1===R||1!==e.childExpirationTime){f=0;for(d=e.child;null!==d;){c=d.expirationTime,h=d.childExpirationTime,c>f&&(f=c),h>f&&(f=h),d=d.sibling;}e.childExpirationTime=f;}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=v.firstEffect),null!==v.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=v.firstEffect),a.lastEffect=v.lastEffect),1<v.effectTag&&(null!==a.lastEffect?a.lastEffect.nextEffect=v:a.firstEffect=v,a.lastEffect=v));}else{b=yj(v,R);if(null!==b)return b.effectTag&=2047,b;null!==a&&(a.firstEffect=a.lastEffect=null,a.effectTag|=2048);}b=v.sibling;if(null!==b)return b;v=a;}while(null!==v);G===$a&&(G=$e);return null;}function Ye(a){var b=a.expirationTime;a=a.childExpirationTime;return b>a?b:a;}function Ma(a){var b=pe();pb(99,Pj.bind(null,a,b));return null;}function Pj(a,b){do{Ab();}while(null!==ic);if((q&(Z|ka))!==F)throw Error(m(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(m(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Ye(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=d-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===S&&(v=S=null,R=0);1<c.effectTag?null!==c.lastEffect?(c.lastEffect.nextEffect=c,e=c.firstEffect):e=c:e=c.firstEffect;if(null!==e){var f=q;q|=ka;ai.current=null;bf=Gc;var g=pg();if(de(g)){if("selectionStart"in g)var h={start:g.selectionStart,end:g.selectionEnd};else a:{h=(h=g.ownerDocument)&&h.defaultView||window;var k=h.getSelection&&h.getSelection();if(k&&0!==k.rangeCount){h=k.anchorNode;var l=k.anchorOffset,p=k.focusNode;k=k.focusOffset;try{h.nodeType,p.nodeType;}catch(Bb){h=null;break a;}var x=0,y=-1,A=-1,B=0,G=0,t=g,z=null;b:for(;;){for(var C;;){t!==h||0!==l&&3!==t.nodeType||(y=x+l);t!==p||0!==k&&3!==t.nodeType||(A=x+k);3===t.nodeType&&(x+=t.nodeValue.length);if(null===(C=t.firstChild))break;z=t;t=C;}for(;;){if(t===g)break b;z===h&&++B===l&&(y=x);z===p&&++G===k&&(A=x);if(null!==(C=t.nextSibling))break;t=z;z=t.parentNode;}t=C;}h=-1===y||-1===A?null:{start:y,end:A};}else h=null;}h=h||{start:0,end:0};}else h=null;cf={focusedElem:g,selectionRange:h};Gc=!1;n=e;do{try{Qj();}catch(Bb){if(null===n)throw Error(m(330));Xa(n,Bb);n=n.nextEffect;}}while(null!==n);n=e;do{try{for(g=a,h=b;null!==n;){var r=n.effectTag;r&16&&fc(n.stateNode,"");if(r&128){var u=n.alternate;if(null!==u){var w=u.ref;null!==w&&("function"===typeof w?w(null):w.current=null);}}switch(r&1038){case 2:Lh(n);n.effectTag&=-3;break;case 6:Lh(n);n.effectTag&=-3;Te(n.alternate,n);break;case 1024:n.effectTag&=-1025;break;case 1028:n.effectTag&=-1025;Te(n.alternate,n);break;case 4:Te(n.alternate,n);break;case 8:l=n,Ih(g,l,h),Jh(l);}n=n.nextEffect;}}catch(Bb){if(null===n)throw Error(m(330));Xa(n,Bb);n=n.nextEffect;}}while(null!==n);w=cf;u=pg();r=w.focusedElem;h=w.selectionRange;if(u!==r&&r&&r.ownerDocument&&og(r.ownerDocument.documentElement,r)){null!==h&&de(r)&&(u=h.start,w=h.end,void 0===w&&(w=u),"selectionStart"in r?(r.selectionStart=u,r.selectionEnd=Math.min(w,r.value.length)):(w=(u=r.ownerDocument||document)&&u.defaultView||window,w.getSelection&&(w=w.getSelection(),l=r.textContent.length,g=Math.min(h.start,l),h=void 0===h.end?g:Math.min(h.end,l),!w.extend&&g>h&&(l=h,h=g,g=l),l=ng(r,g),p=ng(r,h),l&&p&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==p.node||w.focusOffset!==p.offset)&&(u=u.createRange(),u.setStart(l.node,l.offset),w.removeAllRanges(),g>h?(w.addRange(u),w.extend(p.node,p.offset)):(u.setEnd(p.node,p.offset),w.addRange(u))))));u=[];for(w=r;w=w.parentNode;){1===w.nodeType&&u.push({element:w,left:w.scrollLeft,top:w.scrollTop});}"function"===typeof r.focus&&r.focus();for(r=0;r<u.length;r++){w=u[r],w.element.scrollLeft=w.left,w.element.scrollTop=w.top;}}cf=null;Gc=!!bf;bf=null;a.current=c;n=e;do{try{for(r=d;null!==n;){var H=n.effectTag;if(H&36){var D=n.alternate;u=n;w=r;switch(u.tag){case 0:case 11:case 15:ec(16,32,u);break;case 1:var E=u.stateNode;if(u.effectTag&4)if(null===D)E.componentDidMount();else{var J=u.elementType===u.type?D.memoizedProps:V(u.type,D.memoizedProps);E.componentDidUpdate(J,D.memoizedState,E.__reactInternalSnapshotBeforeUpdate);}var K=u.updateQueue;null!==K&&ah(u,K,E,w);break;case 3:var L=u.updateQueue;if(null!==L){g=null;if(null!==u.child)switch(u.child.tag){case 5:g=u.child.stateNode;break;case 1:g=u.child.stateNode;}ah(u,L,g,w);}break;case 5:var O=u.stateNode;null===D&&u.effectTag&4&&qg(u.type,u.memoizedProps)&&O.focus();break;case 6:break;case 4:break;case 12:break;case 13:if(null===u.memoizedState){var M=u.alternate;if(null!==M){var N=M.memoizedState;if(null!==N){var P=N.dehydrated;null!==P&&cg(P);}}}break;case 19:case 17:case 20:case 21:break;default:throw Error(m(163));}}if(H&128){u=void 0;var I=n.ref;if(null!==I){var Q=n.stateNode;switch(n.tag){case 5:u=Q;break;default:u=Q;}"function"===typeof I?I(u):I.current=u;}}n=n.nextEffect;}}catch(Bb){if(null===n)throw Error(m(330));Xa(n,Bb);n=n.nextEffect;}}while(null!==n);n=null;Rj();q=f;}else a.current=c;if(rd)rd=!1,ic=a,jc=b;else for(n=e;null!==n;){b=n.nextEffect,n.nextEffect=null,n=b;}b=a.firstPendingTime;0===b&&(La=null);1073741823===b?a===df?kc++:(kc=0,df=a):kc=0;"function"===typeof ef&&ef(c.stateNode,d);T(a);if(gd)throw gd=!1,a=Ve,Ve=null,a;if((q&af)!==F)return null;ca();return null;}function Qj(){for(;null!==n;){var a=n.effectTag;0!==(a&256)&&Aj(n.alternate,n);0===(a&512)||rd||(rd=!0,Pg(97,function(){Ab();return null;}));n=n.nextEffect;}}function Ab(){if(90!==jc){var a=97<jc?97:jc;jc=90;return pb(a,Sj);}}function Sj(){if(null===ic)return!1;var a=ic;ic=null;if((q&(Z|ka))!==F)throw Error(m(331));var b=q;q|=ka;for(a=a.current.firstEffect;null!==a;){try{var c=a;if(0!==(c.effectTag&512))switch(c.tag){case 0:case 11:case 15:ec(128,0,c),ec(0,64,c);}}catch(d){if(null===a)throw Error(m(330));Xa(a,d);}c=a.nextEffect;a.nextEffect=null;a=c;}q=b;ca();return!0;}function ci(a,b,c){b=Qe(c,b);b=Oh(a,b,1073741823);Fa(a,b);a=id(a,1073741823);null!==a&&T(a);}function Xa(a,b){if(3===a.tag)ci(a,a,b);else for(var c=a.return;null!==c;){if(3===c.tag){ci(c,a,b);break;}else if(1===c.tag){var d=c.stateNode;if("function"===typeof c.type.getDerivedStateFromError||"function"===typeof d.componentDidCatch&&(null===La||!La.has(d))){a=Qe(b,a);a=Ph(c,a,1073741823);Fa(c,a);c=id(c,1073741823);null!==c&&T(c);break;}}c=c.return;}}function Jj(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);S===a&&R===c?G===jd||G===od&&1073741823===sa&&Y()-Ue<Wh?Za(a,R):pd=!0:Rh(a,c)&&(b=a.lastPingedTime,0!==b&&b<c||(a.lastPingedTime=c,a.finishedExpirationTime===c&&(a.finishedExpirationTime=0,a.finishedWork=null),T(a)));}function Cj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=X(),b=Va(b,a,null));a=id(a,b);null!==a&&T(a);}function Tj(a){if("undefined"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(b.isDisabled||!b.supportsFiber)return!0;try{var c=b.inject(a);ef=function ef(a,e){try{b.onCommitFiberRoot(c,a,void 0,64===(a.current.effectTag&64));}catch(f){}};Se=function Se(a){try{b.onCommitFiberUnmount(c,a);}catch(e){}};}catch(d){}return!0;}function Uj(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.effectTag=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.childExpirationTime=this.expirationTime=0;this.alternate=null;}function Le(a){a=a.prototype;return!(!a||!a.isReactComponent);}function Vj(a){if("function"===typeof a)return Le(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Cd)return 11;if(a===Dd)return 14;}return 2;}function Ta(a,b,c){c=a.alternate;null===c?(c=ja(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.effectTag=0,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null);c.childExpirationTime=a.childExpirationTime;c.expirationTime=a.expirationTime;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{expirationTime:b.expirationTime,firstContext:b.firstContext,responders:b.responders};c.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c;}function Zc(a,b,c,d,e,f){var g=2;d=a;if("function"===typeof a)Le(a)&&(g=1);else if("string"===typeof a)g=5;else a:switch(a){case va:return Ha(c.children,e,f,b);case Wj:g=8;e|=7;break;case Af:g=8;e|=1;break;case vc:return a=ja(12,c,b,e|8),a.elementType=vc,a.type=vc,a.expirationTime=f,a;case wc:return a=ja(13,c,b,e),a.type=wc,a.elementType=wc,a.expirationTime=f,a;case Bd:return a=ja(19,c,b,e),a.elementType=Bd,a.expirationTime=f,a;default:if("object"===_typeof2(a)&&null!==a)switch(a.$$typeof){case Cf:g=10;break a;case Bf:g=9;break a;case Cd:g=11;break a;case Dd:g=14;break a;case Df:g=16;d=null;break a;}throw Error(m(130,null==a?a:_typeof2(a),""));}b=ja(g,c,b,e);b.elementType=a;b.type=d;b.expirationTime=f;return b;}function Ha(a,b,c,d){a=ja(7,a,d,b);a.expirationTime=c;return a;}function xe(a,b,c){a=ja(6,a,null,b);a.expirationTime=c;return a;}function ye(a,b,c){b=ja(4,null!==a.children?a.children:[],a.key,b);b.expirationTime=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b;}function Xj(a,b,c){this.tag=b;this.current=null;this.containerInfo=a;this.pingCache=this.pendingChildren=null;this.finishedExpirationTime=0;this.finishedWork=null;this.timeoutHandle=-1;this.pendingContext=this.context=null;this.hydrate=c;this.callbackNode=null;this.callbackPriority=90;this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0;}function Rh(a,b){var c=a.firstSuspendedTime;a=a.lastSuspendedTime;return 0!==c&&c>=b&&a<=b;}function Ya(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;c<b&&(a.firstSuspendedTime=b);if(d>b||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0);}function Qh(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b));}function Xe(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b;}function sd(a,b,c,d){var e=b.current,f=X(),g=dc.suspense;f=Va(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(Na(c)!==c||1!==c.tag)throw Error(m(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(K(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b;}}h=h.return;}while(null!==h);throw Error(m(171));}if(1===c.tag){var k=c.type;if(K(k)){c=Ig(c,k,h);break a;}}c=h;}else c=Da;null===b.context?b.context=c:b.pendingContext=c;b=Ea(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);Fa(e,b);Ja(e,f);return f;}function ff(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode;}}function di(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime<b&&(a.retryTime=b);}function gf(a,b){di(a,b);(a=a.alternate)&&di(a,b);}function hf(a,b,c){c=null!=c&&!0===c.hydrate;var d=new Xj(a,b,c),e=ja(3,null,null,2===b?7:1===b?3:0);d.current=e;e.stateNode=d;a[Pb]=d.current;c&&0!==b&&Oi(9===a.nodeType?a:a.ownerDocument);this._internalRoot=d;}function lc(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(a.nodeType!==Pa||" react-mount-point-unstable "!==a.nodeValue));}function Yj(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute("data-reactroot")));if(!b)for(var c;c=a.lastChild;){a.removeChild(c);}return new hf(a,0,b?{hydrate:!0}:void 0);}function td(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f._internalRoot;if("function"===typeof e){var h=e;e=function e(){var a=ff(g);h.call(a);};}sd(b,g,a,e);}else{f=c._reactRootContainer=Yj(c,d);g=f._internalRoot;if("function"===typeof e){var k=e;e=function e(){var a=ff(g);k.call(a);};}Yh(function(){sd(b,g,a,e);});}return ff(g);}function Zj(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:eb,key:null==d?null:""+d,children:a,containerInfo:b,implementation:c};}function ei(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!lc(b))throw Error(m(200));return Zj(a,b,null,c);}if(!la)throw Error(m(227));var qc=null,bb={},rc=[],wd={},cb={},xd={},Bi=function Bi(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l);}catch(p){this.onError(p);}},Cb=!1,sc=null,tc=!1,yd=null,Ci={onError:function onError(a){Cb=!0;sc=a;}},Ad=null,Ff=null,xf=null,Db=null,Ei=function Ei(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;d<b.length&&!a.isPropagationStopped();d++){wf(a,b[d],c[d]);}else b&&wf(a,b,c);a._dispatchListeners=null;a._dispatchInstances=null;a.isPersistent()||a.constructor.release(a);}},jf={injectEventPluginOrder:function injectEventPluginOrder(a){if(qc)throw Error(m(101));qc=Array.prototype.slice.call(a);uf();},injectEventPluginsByName:function injectEventPluginsByName(a){var b=!1,c;for(c in a){if(a.hasOwnProperty(c)){var d=a[c];if(!bb.hasOwnProperty(c)||bb[c]!==d){if(bb[c])throw Error(m(102,c));bb[c]=d;b=!0;}}}b&&uf();}},aa=la.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;aa.hasOwnProperty("ReactCurrentDispatcher")||(aa.ReactCurrentDispatcher={current:null});aa.hasOwnProperty("ReactCurrentBatchConfig")||(aa.ReactCurrentBatchConfig={suspense:null});var Gi=/^(.*)[\\\/]/,D="function"===typeof Symbol&&Symbol.for,$c=D?Symbol.for("react.element"):60103,eb=D?Symbol.for("react.portal"):60106,va=D?Symbol.for("react.fragment"):60107,Af=D?Symbol.for("react.strict_mode"):60108,vc=D?Symbol.for("react.profiler"):60114,Cf=D?Symbol.for("react.provider"):60109,Bf=D?Symbol.for("react.context"):60110,Wj=D?Symbol.for("react.concurrent_mode"):60111,Cd=D?Symbol.for("react.forward_ref"):60112,wc=D?Symbol.for("react.suspense"):60113,Bd=D?Symbol.for("react.suspense_list"):60120,Dd=D?Symbol.for("react.memo"):60115,Df=D?Symbol.for("react.lazy"):60116;D&&Symbol.for("react.fundamental");D&&Symbol.for("react.responder");D&&Symbol.for("react.scope");var zf="function"===typeof Symbol&&Symbol.iterator,Aa=!("undefined"===typeof window||"undefined"===typeof window.document||"undefined"===typeof window.document.createElement),J=la.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.assign,Fd=null,fb=null,gb=null,ke=function ke(a,b){return a(b);},fg=function fg(a,b,c,d){return a(b,c,d);},Hd=function Hd(){},hg=ke,Oa=!1,$d=!1,I=la.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.Scheduler,ak=I.unstable_cancelCallback,kf=I.unstable_now,ag=I.unstable_scheduleCallback,bk=I.unstable_shouldYield,fi=I.unstable_requestPaint,Ud=I.unstable_runWithPriority,ud=I.unstable_next,ck=I.unstable_getCurrentPriorityLevel,dk=I.unstable_ImmediatePriority,gi=I.unstable_UserBlockingPriority,bg=I.unstable_NormalPriority,ek=I.unstable_LowPriority,fk=I.unstable_IdlePriority;new Map();var Ii=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,If=Object.prototype.hasOwnProperty,Kf={},Jf={},C={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(a){C[a]=new E(a,0,!1,a,null,!1);});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(a){var b=a[0];C[b]=new E(b,1,!1,a[1],null,!1);});["contentEditable","draggable","spellCheck","value"].forEach(function(a){C[a]=new E(a,2,!1,a.toLowerCase(),null,!1);});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(a){C[a]=new E(a,2,!1,a,null,!1);});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(a){C[a]=new E(a,3,!1,a.toLowerCase(),null,!1);});["checked","multiple","muted","selected"].forEach(function(a){C[a]=new E(a,3,!0,a,null,!1);});["capture","download"].forEach(function(a){C[a]=new E(a,4,!1,a,null,!1);});["cols","rows","size","span"].forEach(function(a){C[a]=new E(a,6,!1,a,null,!1);});["rowSpan","start"].forEach(function(a){C[a]=new E(a,5,!1,a.toLowerCase(),null,!1);});var lf=/[\-:]([a-z])/g,mf=function mf(a){return a[1].toUpperCase();};"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(a){var b=a.replace(lf,mf);C[b]=new E(b,1,!1,a,null,!1);});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(a){var b=a.replace(lf,mf);C[b]=new E(b,1,!1,a,"http://www.w3.org/1999/xlink",!1);});["xml:base","xml:lang","xml:space"].forEach(function(a){var b=a.replace(lf,mf);C[b]=new E(b,1,!1,a,"http://www.w3.org/XML/1998/namespace",!1);});["tabIndex","crossOrigin"].forEach(function(a){C[a]=new E(a,1,!1,a.toLowerCase(),null,!1);});C.xlinkHref=new E("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0);["src","href","action","formAction"].forEach(function(a){C[a]=new E(a,1,!1,a.toLowerCase(),null,!0);});var vd,Mh=function(a){return"undefined"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e);});}:a;}(function(a,b){if("http://www.w3.org/2000/svg"!==a.namespaceURI||"innerHTML"in a)a.innerHTML=b;else{vd=vd||document.createElement("div");vd.innerHTML="<svg>"+b.valueOf().toString()+"</svg>";for(b=vd.firstChild;a.firstChild;){a.removeChild(a.firstChild);}for(;b.firstChild;){a.appendChild(b.firstChild);}}}),Pa=8,fc=function fc(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return;}}a.textContent=b;},ib={animationend:yc("Animation","AnimationEnd"),animationiteration:yc("Animation","AnimationIteration"),animationstart:yc("Animation","AnimationStart"),transitionend:yc("Transition","TransitionEnd")},Pd={},Uf={};Aa&&(Uf=document.createElement("div").style,"AnimationEvent"in window||(delete ib.animationend.animation,delete ib.animationiteration.animation,delete ib.animationstart.animation),"TransitionEvent"in window||delete ib.transitionend.transition);var hi=zc("animationend"),ii=zc("animationiteration"),ji=zc("animationstart"),ki=zc("transitionend"),Nb="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Wd=!1,ba=[],xa=null,ya=null,za=null,Fb=new Map(),Gb=new Map(),Lb=[],Rd="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput close cancel copy cut paste click change contextmenu reset submit".split(" "),Pi="focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture".split(" ");J(M.prototype,{preventDefault:function preventDefault(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():"unknown"!==typeof a.returnValue&&(a.returnValue=!1),this.isDefaultPrevented=Bc);},stopPropagation:function stopPropagation(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():"unknown"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=Bc);},persist:function persist(){this.isPersistent=Bc;},isPersistent:Cc,destructor:function destructor(){var a=this.constructor.Interface,b;for(b in a){this[b]=null;}this.nativeEvent=this._targetInst=this.dispatchConfig=null;this.isPropagationStopped=this.isDefaultPrevented=Cc;this._dispatchInstances=this._dispatchListeners=null;}});M.Interface={type:null,target:null,currentTarget:function currentTarget(){return null;},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function timeStamp(a){return a.timeStamp||Date.now();},defaultPrevented:null,isTrusted:null};M.extend=function(a){function b(){return c.apply(this,arguments);}var c=this,d=function d(){};d.prototype=c.prototype;d=new d();J(d,b.prototype);b.prototype=d;b.prototype.constructor=b;b.Interface=J({},c.Interface,a);b.extend=c.extend;eg(b);return b;};eg(M);var gk=M.extend({animationName:null,elapsedTime:null,pseudoElement:null}),hk=M.extend({clipboardData:function clipboardData(a){return"clipboardData"in a?a.clipboardData:window.clipboardData;}}),mc=M.extend({view:null,detail:null}),ik=mc.extend({relatedTarget:null}),jk={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},kk={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},$i={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"},lk=mc.extend({key:function key(a){if(a.key){var b=jk[a.key]||a.key;if("Unidentified"!==b)return b;}return"keypress"===a.type?(a=Dc(a),13===a?"Enter":String.fromCharCode(a)):"keydown"===a.type||"keyup"===a.type?kk[a.keyCode]||"Unidentified":"";},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:Zd,charCode:function charCode(a){return"keypress"===a.type?Dc(a):0;},keyCode:function keyCode(a){return"keydown"===a.type||"keyup"===a.type?a.keyCode:0;},which:function which(a){return"keypress"===a.type?Dc(a):"keydown"===a.type||"keyup"===a.type?a.keyCode:0;}}),li=0,mi=0,ni=!1,oi=!1,nc=mc.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:Zd,button:null,buttons:null,relatedTarget:function relatedTarget(a){return a.relatedTarget||(a.fromElement===a.srcElement?a.toElement:a.fromElement);},movementX:function movementX(a){if("movementX"in a)return a.movementX;var b=li;li=a.screenX;return ni?"mousemove"===a.type?a.screenX-b:0:(ni=!0,0);},movementY:function movementY(a){if("movementY"in a)return a.movementY;var b=mi;mi=a.screenY;return oi?"mousemove"===a.type?a.screenY-b:0:(oi=!0,0);}}),pi=nc.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),mk=nc.extend({dataTransfer:null}),nk=mc.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:Zd}),ok=M.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),pk=nc.extend({deltaX:function deltaX(a){return"deltaX"in a?a.deltaX:"wheelDeltaX"in a?-a.wheelDeltaX:0;},deltaY:function deltaY(a){return"deltaY"in a?a.deltaY:"wheelDeltaY"in a?-a.wheelDeltaY:"wheelDelta"in a?-a.wheelDelta:0;},deltaZ:null,deltaMode:null}),qi=[["blur","blur",0],["cancel","cancel",0],["click","click",0],["close","close",0],["contextmenu","contextMenu",0],["copy","copy",0],["cut","cut",0],["auxclick","auxClick",0],["dblclick","doubleClick",0],["dragend","dragEnd",0],["dragstart","dragStart",0],["drop","drop",0],["focus","focus",0],["input","input",0],["invalid","invalid",0],["keydown","keyDown",0],["keypress","keyPress",0],["keyup","keyUp",0],["mousedown","mouseDown",0],["mouseup","mouseUp",0],["paste","paste",0],["pause","pause",0],["play","play",0],["pointercancel","pointerCancel",0],["pointerdown","pointerDown",0],["pointerup","pointerUp",0],["ratechange","rateChange",0],["reset","reset",0],["seeked","seeked",0],["submit","submit",0],["touchcancel","touchCancel",0],["touchend","touchEnd",0],["touchstart","touchStart",0],["volumechange","volumeChange",0],["drag","drag",1],["dragenter","dragEnter",1],["dragexit","dragExit",1],["dragleave","dragLeave",1],["dragover","dragOver",1],["mousemove","mouseMove",1],["mouseout","mouseOut",1],["mouseover","mouseOver",1],["pointermove","pointerMove",1],["pointerout","pointerOut",1],["pointerover","pointerOver",1],["scroll","scroll",1],["toggle","toggle",1],["touchmove","touchMove",1],["wheel","wheel",1],["abort","abort",2],[hi,"animationEnd",2],[ii,"animationIteration",2],[ji,"animationStart",2],["canplay","canPlay",2],["canplaythrough","canPlayThrough",2],["durationchange","durationChange",2],["emptied","emptied",2],["encrypted","encrypted",2],["ended","ended",2],["error","error",2],["gotpointercapture","gotPointerCapture",2],["load","load",2],["loadeddata","loadedData",2],["loadedmetadata","loadedMetadata",2],["loadstart","loadStart",2],["lostpointercapture","lostPointerCapture",2],["playing","playing",2],["progress","progress",2],["seeking","seeking",2],["stalled","stalled",2],["suspend","suspend",2],["timeupdate","timeUpdate",2],[ki,"transitionEnd",2],["waiting","waiting",2]],ri={},nf={},of=0;for(;of<qi.length;of++){var pf=qi[of],si=pf[0],qf=pf[1],qk=pf[2],ti="on"+(qf[0].toUpperCase()+qf.slice(1)),ui={phasedRegistrationNames:{bubbled:ti,captured:ti+"Capture"},dependencies:[si],eventPriority:qk};ri[qf]=ui;nf[si]=ui;}var vi={eventTypes:ri,getEventPriority:function getEventPriority(a){a=nf[a];return void 0!==a?a.eventPriority:2;},extractEvents:function extractEvents(a,b,c,d,e){e=nf[a];if(!e)return null;switch(a){case"keypress":if(0===Dc(c))return null;case"keydown":case"keyup":a=lk;break;case"blur":case"focus":a=ik;break;case"click":if(2===c.button)return null;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":a=nc;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":a=mk;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":a=nk;break;case hi:case ii:case ji:a=gk;break;case ki:a=ok;break;case"scroll":a=mc;break;case"wheel":a=pk;break;case"copy":case"cut":case"paste":a=hk;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":a=pi;break;default:a=M;}b=a.getPooled(e,b,c,d);jb(b);return b;}},fj=gi,ej=Ud,bj=vi.getEventPriority,gj=10,Fc=[],Gc=!0,jg=new("function"===typeof WeakMap?WeakMap:Map)(),Ob={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rk=["Webkit","ms","Moz","O"];Object.keys(Ob).forEach(function(a){rk.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);Ob[b]=Ob[a];});});var hj=J({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}),sg="$",tg="/$",ge="$?",fe="$!",bf=null,cf=null,Ze="function"===typeof setTimeout?setTimeout:void 0,Hj="function"===typeof clearTimeout?clearTimeout:void 0,rf=Math.random().toString(36).slice(2),Ba="__reactInternalInstance$"+rf,Ic="__reactEventHandlers$"+rf,Pb="__reactContainere$"+rf,Ca=null,ie=null,Jc=null,sk=M.extend({data:null}),tk=M.extend({data:null}),ij=[9,13,27,32],je=Aa&&"CompositionEvent"in window,oc=null;Aa&&"documentMode"in document&&(oc=document.documentMode);var uk=Aa&&"TextEvent"in window&&!oc,zg=Aa&&(!je||oc&&8<oc&&11>=oc),yg=String.fromCharCode(32),ta={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["compositionend","keypress","textInput","paste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"blur compositionend keydown keypress keyup mousedown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"blur compositionstart keydown keypress keyup mousedown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"blur compositionupdate keydown keypress keyup mousedown".split(" ")}},xg=!1,lb=!1,vk={eventTypes:ta,extractEvents:function extractEvents(a,b,c,d,e){var f;if(je)b:{switch(a){case"compositionstart":var g=ta.compositionStart;break b;case"compositionend":g=ta.compositionEnd;break b;case"compositionupdate":g=ta.compositionUpdate;break b;}g=void 0;}else lb?vg(a,c)&&(g=ta.compositionEnd):"keydown"===a&&229===c.keyCode&&(g=ta.compositionStart);g?(zg&&"ko"!==c.locale&&(lb||g!==ta.compositionStart?g===ta.compositionEnd&&lb&&(f=ug()):(Ca=d,ie="value"in Ca?Ca.value:Ca.textContent,lb=!0)),e=sk.getPooled(g,b,c,d),f?e.data=f:(f=wg(c),null!==f&&(e.data=f)),jb(e),f=e):f=null;(a=uk?jj(a,c):kj(a,c))?(b=tk.getPooled(ta.beforeInput,b,c,d),b.data=a,jb(b)):b=null;return null===f?b:null===b?f:[f,b];}},lj={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0},Cg={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:"blur change click focus input keydown keyup selectionchange".split(" ")}},Qb=null,Rb=null,sf=!1;Aa&&(sf=ig("input")&&(!document.documentMode||9<document.documentMode));var wk={eventTypes:Cg,_isInputEventSupported:sf,extractEvents:function extractEvents(a,b,c,d,e){e=b?Qa(b):window;var f=e.nodeName&&e.nodeName.toLowerCase();if("select"===f||"input"===f&&"file"===e.type)var g=nj;else if(Ag(e)){if(sf)g=rj;else{g=pj;var h=oj;}}else(f=e.nodeName)&&"input"===f.toLowerCase()&&("checkbox"===e.type||"radio"===e.type)&&(g=qj);if(g&&(g=g(a,b)))return Bg(g,c,d);h&&h(a,e,b);"blur"===a&&(a=e._wrapperState)&&a.controlled&&"number"===e.type&&Ld(e,"number",e.value);}},pc={mouseEnter:{registrationName:"onMouseEnter",dependencies:["mouseout","mouseover"]},mouseLeave:{registrationName:"onMouseLeave",dependencies:["mouseout","mouseover"]},pointerEnter:{registrationName:"onPointerEnter",dependencies:["pointerout","pointerover"]},pointerLeave:{registrationName:"onPointerLeave",dependencies:["pointerout","pointerover"]}},tf,xk={eventTypes:pc,extractEvents:function extractEvents(a,b,c,d,e){var f="mouseover"===a||"pointerover"===a,g="mouseout"===a||"pointerout"===a;if(f&&0===(e&32)&&(c.relatedTarget||c.fromElement)||!g&&!f)return null;e=d.window===d?d:(e=d.ownerDocument)?e.defaultView||e.parentWindow:window;if(g){if(g=b,b=(b=c.relatedTarget||c.toElement)?Jb(b):null,null!==b&&(f=Na(b),b!==f||5!==b.tag&&6!==b.tag))b=null;}else g=null;if(g===b)return null;if("mouseout"===a||"mouseover"===a){var h=nc;var k=pc.mouseLeave;var l=pc.mouseEnter;var m="mouse";}else if("pointerout"===a||"pointerover"===a)h=pi,k=pc.pointerLeave,l=pc.pointerEnter,m="pointer";a=null==g?e:Qa(g);e=null==b?e:Qa(b);k=h.getPooled(k,g,c,d);k.type=m+"leave";k.target=a;k.relatedTarget=e;d=h.getPooled(l,b,c,d);d.type=m+"enter";d.target=e;d.relatedTarget=a;h=g;m=b;if(h&&m)a:{l=h;a=m;g=0;for(b=l;b;b=ma(b)){g++;}b=0;for(e=a;e;e=ma(e)){b++;}for(;0<g-b;){l=ma(l),g--;}for(;0<b-g;){a=ma(a),b--;}for(;g--;){if(l===a||l===a.alternate)break a;l=ma(l);a=ma(a);}l=null;}else l=null;a=l;for(l=[];h&&h!==a;){g=h.alternate;if(null!==g&&g===a)break;l.push(h);h=ma(h);}for(h=[];m&&m!==a;){g=m.alternate;if(null!==g&&g===a)break;h.push(m);m=ma(m);}for(m=0;m<l.length;m++){Yd(l[m],"bubbled",k);}for(m=h.length;0<m--;){Yd(h[m],"captured",d);}if(c===tf)return tf=null,[k];tf=c;return[k,d];}},Ra="function"===typeof Object.is?Object.is:sj,tj=Object.prototype.hasOwnProperty,yk=Aa&&"documentMode"in document&&11>=document.documentMode,Gg={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange".split(" ")}},mb=null,me=null,Tb=null,le=!1,zk={eventTypes:Gg,extractEvents:function extractEvents(a,b,c,d,e){e=d.window===d?d.document:9===d.nodeType?d:d.ownerDocument;var f;if(!(f=!e)){a:{e=Qd(e);f=xd.onSelect;for(var g=0;g<f.length;g++){if(!e.has(f[g])){e=!1;break a;}}e=!0;}f=!e;}if(f)return null;e=b?Qa(b):window;switch(a){case"focus":if(Ag(e)||"true"===e.contentEditable)mb=e,me=b,Tb=null;break;case"blur":Tb=me=mb=null;break;case"mousedown":le=!0;break;case"contextmenu":case"mouseup":case"dragend":return le=!1,Fg(c,d);case"selectionchange":if(yk)break;case"keydown":case"keyup":return Fg(c,d);}return null;}};jf.injectEventPluginOrder("ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin".split(" "));(function(a,b,c){Ad=a;Ff=b;xf=c;})(he,Ib,Qa);jf.injectEventPluginsByName({SimpleEventPlugin:vi,EnterLeaveEventPlugin:xk,ChangeEventPlugin:wk,SelectEventPlugin:zk,BeforeInputEventPlugin:vk});new Set();var ne=[],nb=-1,Da={},L={current:Da},Q={current:!1},Sa=Da,vj=Ud,qe=ag,Tg=ak,uj=ck,Nc=dk,Kg=gi,Lg=bg,Mg=ek,Ng=fk,Sg={},Kj=bk,Rj=void 0!==fi?fi:function(){},oa=null,Oc=null,re=!1,wi=kf(),Y=1E4>wi?kf:function(){return kf()-wi;},Ak=3,te={current:null},Rc=null,qb=null,Qc=null,Wg=0,Uc=2,Ga=!1,dc=aa.ReactCurrentBatchConfig,fh=new la.Component().refs,Xc={isMounted:function isMounted(a){return(a=a._reactInternalFiber)?Na(a)===a:!1;},enqueueSetState:function enqueueSetState(a,b,c){a=a._reactInternalFiber;var d=X(),e=dc.suspense;d=Va(d,a,e);e=Ea(d,e);e.payload=b;void 0!==c&&null!==c&&(e.callback=c);Fa(a,e);Ja(a,d);},enqueueReplaceState:function enqueueReplaceState(a,b,c){a=a._reactInternalFiber;var d=X(),e=dc.suspense;d=Va(d,a,e);e=Ea(d,e);e.tag=1;e.payload=b;void 0!==c&&null!==c&&(e.callback=c);Fa(a,e);Ja(a,d);},enqueueForceUpdate:function enqueueForceUpdate(a,b){a=a._reactInternalFiber;var c=X(),d=dc.suspense;c=Va(c,a,d);d=Ea(c,d);d.tag=Uc;void 0!==b&&null!==b&&(d.callback=b);Fa(a,d);Ja(a,c);}},ad=Array.isArray,yb=gh(!0),Ke=gh(!1),Wb={},fa={current:Wb},Yb={current:Wb},Xb={current:Wb},A={current:0},cd=aa.ReactCurrentDispatcher,U=aa.ReactCurrentBatchConfig,Zb=0,Ia=null,H=null,ha=null,vb=null,O=null,ub=null,wb=0,ia=null,bc=0,$b=!1,pa=null,ac=0,dd={readContext:ea,useCallback:N,useContext:N,useEffect:N,useImperativeHandle:N,useLayoutEffect:N,useMemo:N,useReducer:N,useRef:N,useState:N,useDebugValue:N,useResponder:N,useDeferredValue:N,useTransition:N},wj={readContext:ea,useCallback:sh,useContext:ea,useEffect:oh,useImperativeHandle:function useImperativeHandle(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Ge(4,36,qh.bind(null,b,a),c);},useLayoutEffect:function useLayoutEffect(a,b){return Ge(4,36,a,b);},useMemo:function useMemo(a,b){var c=xb();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a;},useReducer:function useReducer(a,b,c){var d=xb();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={last:null,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};a=a.dispatch=nh.bind(null,Ia,a);return[d.memoizedState,a];},useRef:function useRef(a){var b=xb();a={current:a};return b.memoizedState=a;},useState:De,useDebugValue:rh,useResponder:ih,useDeferredValue:function useDeferredValue(a,b){var c=De(a),d=c[0],e=c[1];oh(function(){ud(function(){var c=U.suspense;U.suspense=void 0===b?null:b;try{e(a);}finally{U.suspense=c;}});},[a,b]);return d;},useTransition:function useTransition(a){var b=De(!1),c=b[0],d=b[1];return[sh(function(b){d(!0);ud(function(){var c=U.suspense;U.suspense=void 0===a?null:a;try{d(!1),b();}finally{U.suspense=c;}});},[a,c]),c];}},jh={readContext:ea,useCallback:th,useContext:ea,useEffect:ph,useImperativeHandle:function useImperativeHandle(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return He(4,36,qh.bind(null,b,a),c);},useLayoutEffect:function useLayoutEffect(a,b){return He(4,36,a,b);},useMemo:function useMemo(a,b){var c=cc();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Be(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a;},useReducer:mh,useRef:function useRef(a){return cc().memoizedState;},useState:Ee,useDebugValue:rh,useResponder:ih,useDeferredValue:function useDeferredValue(a,b){var c=Ee(a),d=c[0],e=c[1];ph(function(){ud(function(){var c=U.suspense;U.suspense=void 0===b?null:b;try{e(a);}finally{U.suspense=c;}});},[a,b]);return d;},useTransition:function useTransition(a){var b=Ee(!1),c=b[0],d=b[1];return[th(function(b){d(!0);ud(function(){var c=U.suspense;U.suspense=void 0===a?null:a;try{d(!1),b();}finally{U.suspense=c;}});},[a,c]),c];}},qa=null,Ka=null,Wa=!1,xj=aa.ReactCurrentOwner,da=!1,Oe={dehydrated:null,retryTime:0};var Nj=function Nj(a,b,c,d){for(c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue;}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;}c.sibling.return=c.return;c=c.sibling;}};var bi=function bi(a){};var Mj=function Mj(a,b,c,d,e){var f=a.memoizedProps;if(f!==d){var g=b.stateNode;Ua(fa.current);a=null;switch(c){case"input":f=Jd(g,f);d=Jd(g,d);a=[];break;case"option":f=Md(g,f);d=Md(g,d);a=[];break;case"select":f=J({},f,{value:void 0});d=J({},d,{value:void 0});a=[];break;case"textarea":f=Nd(g,f);d=Nd(g,d);a=[];break;default:"function"!==typeof f.onClick&&"function"===typeof d.onClick&&(g.onclick=Hc);}ae(c,d);var h,k;c=null;for(h in f){if(!d.hasOwnProperty(h)&&f.hasOwnProperty(h)&&null!=f[h])if("style"===h)for(k in g=f[h],g){g.hasOwnProperty(k)&&(c||(c={}),c[k]="");}else"dangerouslySetInnerHTML"!==h&&"children"!==h&&"suppressContentEditableWarning"!==h&&"suppressHydrationWarning"!==h&&"autoFocus"!==h&&(cb.hasOwnProperty(h)?a||(a=[]):(a=a||[]).push(h,null));}for(h in d){var l=d[h];g=null!=f?f[h]:void 0;if(d.hasOwnProperty(h)&&l!==g&&(null!=l||null!=g))if("style"===h){if(g){for(k in g){!g.hasOwnProperty(k)||l&&l.hasOwnProperty(k)||(c||(c={}),c[k]="");}for(k in l){l.hasOwnProperty(k)&&g[k]!==l[k]&&(c||(c={}),c[k]=l[k]);}}else c||(a||(a=[]),a.push(h,c)),c=l;}else"dangerouslySetInnerHTML"===h?(l=l?l.__html:void 0,g=g?g.__html:void 0,null!=l&&g!==l&&(a=a||[]).push(h,""+l)):"children"===h?g===l||"string"!==typeof l&&"number"!==typeof l||(a=a||[]).push(h,""+l):"suppressContentEditableWarning"!==h&&"suppressHydrationWarning"!==h&&(cb.hasOwnProperty(h)?(null!=l&&na(e,h),a||g===l||(a=[])):(a=a||[]).push(h,l));}c&&(a=a||[]).push("style",c);e=a;(b.updateQueue=e)&&zb(b);}};var Oj=function Oj(a,b,c,d){c!==d&&zb(b);};var Bj="function"===typeof WeakSet?WeakSet:Set,Ij="function"===typeof WeakMap?WeakMap:Map,Ej=Math.ceil,ld=aa.ReactCurrentDispatcher,ai=aa.ReactCurrentOwner,F=0,af=8,Z=16,ka=32,$a=0,md=1,Vh=2,od=3,jd=4,$e=5,q=F,S=null,v=null,R=0,G=$a,nd=null,sa=1073741823,gc=1073741823,qd=null,hc=0,pd=!1,Ue=0,Wh=500,n=null,gd=!1,Ve=null,La=null,rd=!1,ic=null,jc=90,ab=null,kc=0,df=null,hd=0,Ja=function Ja(a,b){if(50<kc)throw kc=0,df=null,Error(m(185));a=id(a,b);if(null!==a){var c=pe();1073741823===b?(q&af)!==F&&(q&(Z|ka))===F?We(a):(T(a),q===F&&ca()):T(a);(q&4)===F||98!==c&&99!==c||(null===ab?ab=new Map([[a,b]]):(c=ab.get(a),(void 0===c||c>b)&&ab.set(a,b)));}};var Lj=function Lj(a,b,c){var d=b.expirationTime;if(null!==a){var e=b.pendingProps;if(a.memoizedProps!==e||Q.current)da=!0;else{if(d<c){da=!1;switch(b.tag){case 3:Ch(b);Je();break;case 5:hh(b);if(b.mode&4&&1!==c&&e.hidden)return b.expirationTime=b.childExpirationTime=1,null;break;case 1:K(b.type)&&Mc(b);break;case 4:ze(b,b.stateNode.containerInfo);break;case 10:Ug(b,b.memoizedProps.value);break;case 13:if(null!==b.memoizedState){d=b.child.childExpirationTime;if(0!==d&&d>=c)return Dh(a,b,c);y(A,A.current&1,b);b=ra(a,b,c);return null!==b?b.sibling:null;}y(A,A.current&1,b);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return Fh(a,b,c);b.effectTag|=64;}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);y(A,A.current,b);if(!d)return null;}return ra(a,b,c);}da=!1;}}else da=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=ob(b,L.current);rb(b,c);e=Ce(null,b,d,a,e,c);b.effectTag|=1;if("object"===_typeof2(e)&&null!==e&&"function"===typeof e.render&&void 0===e.$$typeof){b.tag=1;kh();if(K(d)){var f=!0;Mc(b);}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;var g=d.getDerivedStateFromProps;"function"===typeof g&&Wc(b,d,g,a);e.updater=Xc;b.stateNode=e;e._reactInternalFiber=b;we(b,d,a,c);b=Ne(null,b,d,!0,f,c);}else b.tag=0,P(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;Fi(e);if(1!==e._status)throw e._result;e=e._result;b.type=e;f=b.tag=Vj(e);a=V(e,a);switch(f){case 0:b=Me(null,b,e,a,c);break;case 1:b=Bh(null,b,e,a,c);break;case 11:b=xh(null,b,e,a,c);break;case 14:b=yh(null,b,e,V(e.type,a),d,c);break;default:throw Error(m(306,e,""));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:V(d,e),Me(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:V(d,e),Bh(a,b,d,e,c);case 3:Ch(b);d=b.updateQueue;if(null===d)throw Error(m(282));e=b.memoizedState;e=null!==e?e.element:null;Ub(b,d,b.pendingProps,null,c);d=b.memoizedState.element;if(d===e)Je(),b=ra(a,b,c);else{if(e=b.stateNode.hydrate)Ka=kb(b.stateNode.containerInfo.firstChild),qa=b,e=Wa=!0;if(e)for(c=Ke(b,null,d,c),b.child=c;c;){c.effectTag=c.effectTag&-3|1024,c=c.sibling;}else P(a,b,d,c),Je();b=b.child;}return b;case 5:return hh(b),null===a&&Ie(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,ee(d,e)?g=null:null!==f&&ee(d,f)&&(b.effectTag|=16),Ah(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(P(a,b,g,c),b=b.child),b;case 6:return null===a&&Ie(b),null;case 13:return Dh(a,b,c);case 4:return ze(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=yb(b,null,d,c):P(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:V(d,e),xh(a,b,d,e,c);case 7:return P(a,b,b.pendingProps,c),b.child;case 8:return P(a,b,b.pendingProps.children,c),b.child;case 12:return P(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;Ug(b,f);if(null!==g){var h=g.value;f=Ra(h,f)?0:("function"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0;if(0===f){if(g.children===e.children&&!Q.current){b=ra(a,b,c);break a;}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==k){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=Ea(c,null),l.tag=Uc,Fa(h,l));h.expirationTime<c&&(h.expirationTime=c);l=h.alternate;null!==l&&l.expirationTime<c&&(l.expirationTime=c);Vg(h.return,c);k.expirationTime<c&&(k.expirationTime=c);break;}l=l.next;}}else g=10===h.tag?h.type===b.type?null:h.child:h.child;if(null!==g)g.return=h;else for(g=h;null!==g;){if(g===b){g=null;break;}h=g.sibling;if(null!==h){h.return=g.return;g=h;break;}g=g.return;}h=g;}}P(a,b,e.children,c);b=b.child;}return b;case 9:return e=b.type,f=b.pendingProps,d=f.children,rb(b,c),e=ea(e,f.unstable_observedBits),d=d(e),b.effectTag|=1,P(a,b,d,c),b.child;case 14:return e=b.type,f=V(e,b.pendingProps),f=V(e.type,f),yh(a,b,e,f,d,c);case 15:return zh(a,b,b.type,b.pendingProps,d,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:V(d,e),null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2),b.tag=1,K(d)?(a=!0,Mc(b)):a=!1,rb(b,c),dh(b,d,e,c),we(b,d,e,c),Ne(null,b,d,!0,a,c);case 19:return Fh(a,b,c);}throw Error(m(156,b.tag));};var ef=null,Se=null,ja=function ja(a,b,c,d){return new Uj(a,b,c,d);};hf.prototype.render=function(a,b){sd(a,this._internalRoot,null,void 0===b?null:b);};hf.prototype.unmount=function(a){var b=this._internalRoot,c=void 0===a?null:a,d=b.containerInfo;sd(null,b,null,function(){d[Pb]=null;null!==c&&c();});};var Ui=function Ui(a){if(13===a.tag){var b=Pc(X(),150,100);Ja(a,b);gf(a,b);}};var Zf=function Zf(a){if(13===a.tag){X();var b=Ak++;Ja(a,b);gf(a,b);}};var Si=function Si(a){if(13===a.tag){var b=X();b=Va(b,a,null);Ja(a,b);gf(a,b);}};Fd=function Fd(a,b,c){switch(b){case"input":Kd(a,c);b=c.name;if("radio"===c.type&&null!=b){for(c=a;c.parentNode;){c=c.parentNode;}c=c.querySelectorAll("input[name="+JSON.stringify(""+b)+'][type="radio"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=he(d);if(!e)throw Error(m(90));Mf(d);Kd(d,e);}}}break;case"textarea":Rf(a,c);break;case"select":b=c.value,null!=b&&hb(a,!!c.multiple,b,!1);}};(function(a,b,c,d){ke=a;fg=b;Hd=c;hg=d;})(Xh,function(a,b,c,d){var e=q;q|=4;try{return pb(98,a.bind(null,b,c,d));}finally{q=e,q===F&&ca();}},function(){(q&(1|Z|ka))===F&&(Gj(),Ab());},function(a,b){var c=q;q|=2;try{return a(b);}finally{q=c,q===F&&ca();}});var xi={createPortal:ei,findDOMNode:function findDOMNode(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternalFiber;if(void 0===b){if("function"===typeof a.render)throw Error(m(188));throw Error(m(268,Object.keys(a)));}a=Xf(b);a=null===a?null:a.stateNode;return a;},hydrate:function hydrate(a,b,c){if(!lc(b))throw Error(m(200));return td(null,a,b,!0,c);},render:function render(a,b,c){if(!lc(b))throw Error(m(200));return td(null,a,b,!1,c);},unstable_renderSubtreeIntoContainer:function unstable_renderSubtreeIntoContainer(a,b,c,d){if(!lc(c))throw Error(m(200));if(null==a||void 0===a._reactInternalFiber)throw Error(m(38));return td(a,b,c,!1,d);},unmountComponentAtNode:function unmountComponentAtNode(a){if(!lc(a))throw Error(m(40));return a._reactRootContainer?(Yh(function(){td(null,null,a,!1,function(){a._reactRootContainer=null;a[Pb]=null;});}),!0):!1;},unstable_createPortal:function unstable_createPortal(){return ei.apply(void 0,arguments);},unstable_batchedUpdates:Xh,flushSync:function flushSync(a,b){if((q&(Z|ka))!==F)throw Error(m(187));var c=q;q|=1;try{return pb(99,a.bind(null,b));}finally{q=c,ca();}},__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{Events:[Ib,Qa,he,jf.injectEventPluginsByName,wd,jb,function(a){zd(a,Wi);},Gf,Hf,Ec,uc,Ab,{current:!1}]}};(function(a){var b=a.findFiberByHostInstance;return Tj(J({},a,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:aa.ReactCurrentDispatcher,findHostInstanceByFiber:function findHostInstanceByFiber(a){a=Xf(a);return null===a?null:a.stateNode;},findFiberByHostInstance:function findFiberByHostInstance(a){return b?b(a):null;},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null}));})({findFiberByHostInstance:Jb,bundleType:0,version:"16.12.0",rendererPackageName:"react-dom"});var yi={default:xi},zi=yi&&xi||yi;return zi.default||zi;});;!function(f){if("object"==(typeof exports==="undefined"?"undefined":_typeof2(exports))&&"undefined"!=typeof module)module.exports=f();else if("function"==typeof define&&define.amd)define([],f);else{var g;g="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,g.PropTypes=f();}}(function(){return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a="function"==typeof require&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f;}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n||e);},l,l.exports,e,t,n,r);}return n[o].exports;}for(var i="function"==typeof require&&require,o=0;o<r.length;o++){s(r[o]);}return s;}({1:[function(require,module,exports){"use strict";function emptyFunction(){}function emptyFunctionWithReset(){}var ReactPropTypesSecret=require(3);emptyFunctionWithReset.resetWarningCache=emptyFunction,module.exports=function(){function e(e,t,n,r,o,p){if(p!==ReactPropTypesSecret){var c=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c;}}function t(){return e;}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:emptyFunctionWithReset,resetWarningCache:emptyFunction};return n.PropTypes=n,n;};},{3:3}],2:[function(require,module,exports){module.exports=require(1)();},{1:1}],3:[function(require,module,exports){"use strict";module.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";},{}]},{},[2])(2);});;/**
 * what-input - A global utility for tracking the current input method (mouse, keyboard or touch).
 * @version v5.0.5
 * @link https://github.com/ten1seven/what-input
 * @license MIT
 */(function webpackUniversalModuleDefinition(root,factory){if((typeof exports==="undefined"?"undefined":_typeof2(exports))==='object'&&(typeof module==="undefined"?"undefined":_typeof2(module))==='object')module.exports=factory();else if(typeof define==='function'&&define.amd)define("whatInput",[],factory);else if((typeof exports==="undefined"?"undefined":_typeof2(exports))==='object')exports["whatInput"]=factory();else root["whatInput"]=factory();})(this,function(){return(/******/function(modules){// webpackBootstrap
/******/ // The module cache
/******/var installedModules={};/******/ // The require function
/******/function __webpack_require__(moduleId){/******/ // Check if module is in cache
/******/if(installedModules[moduleId])/******/return installedModules[moduleId].exports;/******/ // Create a new module (and put it into the cache)
/******/var module=installedModules[moduleId]={/******/exports:{},/******/id:moduleId,/******/loaded:false/******/};/******/ // Execute the module function
/******/modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);/******/ // Flag the module as loaded
/******/module.loaded=true;/******/ // Return the exports of the module
/******/return module.exports;/******/}/******/ // expose the modules object (__webpack_modules__)
/******/__webpack_require__.m=modules;/******/ // expose the module cache
/******/__webpack_require__.c=installedModules;/******/ // __webpack_public_path__
/******/__webpack_require__.p="";/******/ // Load entry module and return exports
/******/return __webpack_require__(0);/******/}(/************************************************************************/ /******/[/* 0 */ /***/function(module,exports){'use strict';module.exports=function(){/*
	   * bail out if there is no document or window
	   * (i.e. in a node/non-DOM environment)
	   *
	   * Return a stubbed API instead
	   */if(typeof document==='undefined'||typeof window==='undefined'){return{// always return "initial" because no interaction will ever be detected
ask:function ask(){return'initial';},// always return null
element:function element(){return null;},// no-op
ignoreKeys:function ignoreKeys(){},// no-op
registerOnChange:function registerOnChange(){},// no-op
unRegisterOnChange:function unRegisterOnChange(){}};}/*
	   * variables
	   */ // cache document.documentElement
var docElem=document.documentElement;// currently focused dom element
var currentElement=null;// last used input type
var currentInput='initial';// last used input intent
var currentIntent=currentInput;// event buffer timer
var eventTimer=null;// form input types
var formInputs=['input','select','textarea'];// empty array for holding callback functions
var functionList=[];// list of modifier keys commonly used with the mouse and
// can be safely ignored to prevent false keyboard detection
var ignoreMap=[16,// shift
17,// control
18,// alt
91,// Windows key / left Apple cmd
93// Windows menu / right Apple cmd
];// mapping of events to input types
var inputMap={keydown:'keyboard',keyup:'keyboard',mousedown:'mouse',mousemove:'mouse',MSPointerDown:'pointer',MSPointerMove:'pointer',pointerdown:'pointer',pointermove:'pointer',touchstart:'touch'// boolean: true if touch buffer is active
};var isBuffering=false;// boolean: true if the page is being scrolled
var isScrolling=false;// store current mouse position
var mousePos={x:null,y:null// map of IE 10 pointer events
};var pointerMap={2:'touch',3:'touch',// treat pen like touch
4:'mouse'// check support for passive event listeners
};var supportsPassive=false;try{var opts=Object.defineProperty({},'passive',{get:function get(){supportsPassive=true;}});window.addEventListener('test',null,opts);}catch(e){}/*
	   * set up
	   */var setUp=function setUp(){// add correct mouse wheel event mapping to `inputMap`
inputMap[detectWheel()]='mouse';addListeners();doUpdate('input');doUpdate('intent');};/*
	   * events
	   */var addListeners=function addListeners(){// `pointermove`, `MSPointerMove`, `mousemove` and mouse wheel event binding
// can only demonstrate potential, but not actual, interaction
// and are treated separately
var options=supportsPassive?{passive:true}:false;// pointer events (mouse, pen, touch)
if(window.PointerEvent){window.addEventListener('pointerdown',setInput);window.addEventListener('pointermove',setIntent);}else if(window.MSPointerEvent){window.addEventListener('MSPointerDown',setInput);window.addEventListener('MSPointerMove',setIntent);}else{// mouse events
window.addEventListener('mousedown',setInput);window.addEventListener('mousemove',setIntent);// touch events
if('ontouchstart'in window){window.addEventListener('touchstart',eventBuffer,options);window.addEventListener('touchend',setInput);}}// mouse wheel
window.addEventListener(detectWheel(),setIntent,options);// keyboard events
window.addEventListener('keydown',eventBuffer);window.addEventListener('keyup',eventBuffer);// focus events
window.addEventListener('focusin',setElement);window.addEventListener('focusout',clearElement);};// checks conditions before updating new input
var setInput=function setInput(event){// only execute if the event buffer timer isn't running
if(!isBuffering){var eventKey=event.which;var value=inputMap[event.type];if(value==='pointer'){value=pointerType(event);}var shouldUpdate=value==='keyboard'&&eventKey&&ignoreMap.indexOf(eventKey)===-1||value==='mouse'||value==='touch';if(currentInput!==value&&shouldUpdate){currentInput=value;doUpdate('input');}if(currentIntent!==value&&shouldUpdate){// preserve intent for keyboard typing in form fields
var activeElem=document.activeElement;var notFormInput=activeElem&&activeElem.nodeName&&formInputs.indexOf(activeElem.nodeName.toLowerCase())===-1;if(notFormInput){currentIntent=value;doUpdate('intent');}}}};// updates the doc and `inputTypes` array with new input
var doUpdate=function doUpdate(which){docElem.setAttribute('data-what'+which,which==='input'?currentInput:currentIntent);fireFunctions(which);};// updates input intent for `mousemove` and `pointermove`
var setIntent=function setIntent(event){// test to see if `mousemove` happened relative to the screen to detect scrolling versus mousemove
detectScrolling(event);// only execute if the event buffer timer isn't running
// or scrolling isn't happening
if(!isBuffering&&!isScrolling){var value=inputMap[event.type];if(value==='pointer'){value=pointerType(event);}if(currentIntent!==value){currentIntent=value;doUpdate('intent');}}};var setElement=function setElement(event){if(!event.target.nodeName){// If nodeName is undefined, clear the element
// This can happen if click inside an <svg> element.
clearElement();return;}currentElement=event.target.nodeName.toLowerCase();docElem.setAttribute('data-whatelement',currentElement);if(event.target.classList&&event.target.classList.length){docElem.setAttribute('data-whatclasses',event.target.classList.toString().replace(' ',','));}};var clearElement=function clearElement(){currentElement=null;docElem.removeAttribute('data-whatelement');docElem.removeAttribute('data-whatclasses');};// buffers events that frequently also fire mouse events
var eventBuffer=function eventBuffer(event){// set the current input
setInput(event);// clear the timer if it happens to be running
window.clearTimeout(eventTimer);// set the isBuffering to `true`
isBuffering=true;// run the timer
eventTimer=window.setTimeout(function(){// if the timer runs out, set isBuffering back to `false`
isBuffering=false;},100);};/*
	   * utilities
	   */var pointerType=function pointerType(event){if(typeof event.pointerType==='number'){return pointerMap[event.pointerType];}else{// treat pen like touch
return event.pointerType==='pen'?'touch':event.pointerType;}};// detect version of mouse wheel event to use
// via https://developer.mozilla.org/en-US/docs/Web/Events/wheel
var detectWheel=function detectWheel(){var wheelType=void 0;// Modern browsers support "wheel"
if('onwheel'in document.createElement('div')){wheelType='wheel';}else{// Webkit and IE support at least "mousewheel"
// or assume that remaining browsers are older Firefox
wheelType=document.onmousewheel!==undefined?'mousewheel':'DOMMouseScroll';}return wheelType;};// runs callback functions
var fireFunctions=function fireFunctions(type){for(var i=0,len=functionList.length;i<len;i++){if(functionList[i].type===type){functionList[i].fn.call(undefined,type==='input'?currentInput:currentIntent);}}};// finds matching element in an object
var objPos=function objPos(match){for(var i=0,len=functionList.length;i<len;i++){if(functionList[i].fn===match){return i;}}};var detectScrolling=function detectScrolling(event){if(mousePos['x']!==event.screenX||mousePos['y']!==event.screenY){isScrolling=false;mousePos['x']=event.screenX;mousePos['y']=event.screenY;}else{isScrolling=true;}};/*
	   * init
	   */ // don't start script unless browser cuts the mustard
// (also passes if polyfills are used)
if('addEventListener'in window&&Array.prototype.indexOf){setUp();}/*
	   * api
	   */return{// returns string: the current input type
// opt: 'intent'|'input'
// 'input' (default): returns the same value as the `data-whatinput` attribute
// 'intent': includes `data-whatintent` value if it's different than `data-whatinput`
ask:function ask(opt){return opt==='intent'?currentIntent:currentInput;},// returns string: the currently focused element or null
element:function element(){return currentElement;},// overwrites ignored keys with provided array
ignoreKeys:function ignoreKeys(arr){ignoreMap=arr;},// attach functions to input and intent "events"
// funct: function to fire on change
// eventType: 'input'|'intent'
registerOnChange:function registerOnChange(fn,eventType){functionList.push({fn:fn,type:eventType||'input'});},unRegisterOnChange:function unRegisterOnChange(fn){var position=objPos(fn);if(position){functionList.splice(position,1);}}};}();/***/}/******/]));});;;/******/(function(modules){// webpackBootstrap
/******/ // The module cache
/******/var installedModules={};/******/ /******/ // The require function
/******/function __webpack_require__(moduleId){/******/ /******/ // Check if module is in cache
/******/if(installedModules[moduleId]){/******/return installedModules[moduleId].exports;/******/}/******/ // Create a new module (and put it into the cache)
/******/var module=installedModules[moduleId]={/******/i:moduleId,/******/l:false,/******/exports:{}/******/};/******/ /******/ // Execute the module function
/******/modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);/******/ /******/ // Flag the module as loaded
/******/module.l=true;/******/ /******/ // Return the exports of the module
/******/return module.exports;/******/}/******/ /******/ /******/ // expose the modules object (__webpack_modules__)
/******/__webpack_require__.m=modules;/******/ /******/ // expose the module cache
/******/__webpack_require__.c=installedModules;/******/ /******/ // identity function for calling harmony imports with the correct context
/******/__webpack_require__.i=function(value){return value;};/******/ /******/ // define getter function for harmony exports
/******/__webpack_require__.d=function(exports,name,getter){/******/if(!__webpack_require__.o(exports,name)){/******/Object.defineProperty(exports,name,{/******/configurable:false,/******/enumerable:true,/******/get:getter/******/});/******/}/******/};/******/ /******/ // getDefaultExport function for compatibility with non-harmony modules
/******/__webpack_require__.n=function(module){/******/var getter=module&&module.__esModule?/******/function getDefault(){return module['default'];}:/******/function getModuleExports(){return module;};/******/__webpack_require__.d(getter,'a',getter);/******/return getter;/******/};/******/ /******/ // Object.prototype.hasOwnProperty.call
/******/__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property);};/******/ /******/ // __webpack_public_path__
/******/__webpack_require__.p="";/******/ /******/ // Load entry module and return exports
/******/return __webpack_require__(__webpack_require__.s=35);/******/})(/************************************************************************/ /******/[/* 0 */ /***/function(module,exports){module.exports=jQuery;/***/},/* 1 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"b",function(){return rtl;});/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return GetYoDigits;});/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"c",function(){return transitionend;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);// Core Foundation Utilities, utilized in a number of places.
/**
 * Returns a boolean for RTL support
 */function rtl(){return __WEBPACK_IMPORTED_MODULE_0_jquery___default()('html').attr('dir')==='rtl';}/**
 * returns a random base-36 uid with namespacing
 * @function
 * @param {Number} length - number of random base-36 digits desired. Increase for more random strings.
 * @param {String} namespace - name of plugin to be incorporated in uid, optional.
 * @default {String} '' - if no plugin name is provided, nothing is appended to the uid.
 * @returns {String} - unique id
 */function GetYoDigits(length,namespace){length=length||6;return Math.round(Math.pow(36,length+1)-Math.random()*Math.pow(36,length)).toString(36).slice(1)+(namespace?'-'+namespace:'');}function transitionend($elem){var transitions={'transition':'transitionend','WebkitTransition':'webkitTransitionEnd','MozTransition':'transitionend','OTransition':'otransitionend'};var elem=document.createElement('div'),end;for(var t in transitions){if(typeof elem.style[t]!=='undefined'){end=transitions[t];}}if(end){return end;}else{end=setTimeout(function(){$elem.triggerHandler('transitionend',[$elem]);},1);return'transitionend';}}/***/},/* 2 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Plugin;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_core__=__webpack_require__(1);var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!_instanceof(instance,Constructor)){throw new TypeError("Cannot call a class as a function");}}// Abstract class for providing lifecycle hooks. Expect plugins to define AT LEAST
// {function} _setup (replaces previous constructor),
// {function} _destroy (replaces previous destroy)
var Plugin=function(){function Plugin(element,options){_classCallCheck(this,Plugin);this._setup(element,options);var pluginName=getPluginName(this);this.uuid=__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__foundation_util_core__["a"/* GetYoDigits */])(6,pluginName);if(!this.$element.attr('data-'+pluginName)){this.$element.attr('data-'+pluginName,this.uuid);}if(!this.$element.data('zfPlugin')){this.$element.data('zfPlugin',this);}/**
     * Fires when the plugin has initialized.
     * @event Plugin#init
     */this.$element.trigger('init.zf.'+pluginName);}_createClass(Plugin,[{key:'destroy',value:function destroy(){this._destroy();var pluginName=getPluginName(this);this.$element.removeAttr('data-'+pluginName).removeData('zfPlugin')/**
       * Fires when the plugin has been destroyed.
       * @event Plugin#destroyed
       */.trigger('destroyed.zf.'+pluginName);for(var prop in this){this[prop]=null;//clean up script to prep for garbage collection.
}}}]);return Plugin;}();// Convert PascalCase to kebab-case
// Thank you: http://stackoverflow.com/a/8955580
function hyphenate(str){return str.replace(/([a-z])([A-Z])/g,'$1-$2').toLowerCase();}function getPluginName(obj){if(typeof obj.constructor.name!=='undefined'){return hyphenate(obj.constructor.name);}else{return hyphenate(obj.className);}}/***/},/* 3 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return MediaQuery;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);// Default set of media queries
var defaultQueries={'default':'only screen',landscape:'only screen and (orientation: landscape)',portrait:'only screen and (orientation: portrait)',retina:'only screen and (-webkit-min-device-pixel-ratio: 2),'+'only screen and (min--moz-device-pixel-ratio: 2),'+'only screen and (-o-min-device-pixel-ratio: 2/1),'+'only screen and (min-device-pixel-ratio: 2),'+'only screen and (min-resolution: 192dpi),'+'only screen and (min-resolution: 2dppx)'};// matchMedia() polyfill - Test a CSS media type/query in JS.
// Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license
var matchMedia=window.matchMedia||function(){'use strict';// For browsers that support matchMedium api such as IE 9 and webkit
var styleMedia=window.styleMedia||window.media;// For those that don't support matchMedium
if(!styleMedia){var style=document.createElement('style'),script=document.getElementsByTagName('script')[0],info=null;style.type='text/css';style.id='matchmediajs-test';script&&script.parentNode&&script.parentNode.insertBefore(style,script);// 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers
info='getComputedStyle'in window&&window.getComputedStyle(style,null)||style.currentStyle;styleMedia={matchMedium:function matchMedium(media){var text='@media '+media+'{ #matchmediajs-test { width: 1px; } }';// 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers
if(style.styleSheet){style.styleSheet.cssText=text;}else{style.textContent=text;}// Test if media query is true or false
return info.width==='1px';}};}return function(media){return{matches:styleMedia.matchMedium(media||'all'),media:media||'all'};};}();var MediaQuery={queries:[],current:'',/**
   * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher.
   * @function
   * @private
   */_init:function _init(){var self=this;var $meta=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('meta.foundation-mq');if(!$meta.length){__WEBPACK_IMPORTED_MODULE_0_jquery___default()('<meta class="foundation-mq">').appendTo(document.head);}var extractedStyles=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('.foundation-mq').css('font-family');var namedQueries;namedQueries=parseStyleToObject(extractedStyles);for(var key in namedQueries){if(namedQueries.hasOwnProperty(key)){self.queries.push({name:key,value:'only screen and (min-width: '+namedQueries[key]+')'});}}this.current=this._getCurrentSize();this._watcher();},/**
   * Checks if the screen is at least as wide as a breakpoint.
   * @function
   * @param {String} size - Name of the breakpoint to check.
   * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.
   */atLeast:function atLeast(size){var query=this.get(size);if(query){return matchMedia(query).matches;}return false;},/**
   * Checks if the screen matches to a breakpoint.
   * @function
   * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method.
   * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not.
   */is:function is(size){size=size.trim().split(' ');if(size.length>1&&size[1]==='only'){if(size[0]===this._getCurrentSize())return true;}else{return this.atLeast(size[0]);}return false;},/**
   * Gets the media query of a breakpoint.
   * @function
   * @param {String} size - Name of the breakpoint to get.
   * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.
   */get:function get(size){for(var i in this.queries){if(this.queries.hasOwnProperty(i)){var query=this.queries[i];if(size===query.name)return query.value;}}return null;},/**
   * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).
   * @function
   * @private
   * @returns {String} Name of the current breakpoint.
   */_getCurrentSize:function _getCurrentSize(){var matched;for(var i=0;i<this.queries.length;i++){var query=this.queries[i];if(matchMedia(query.value).matches){matched=query;}}if(_typeof2(matched)==='object'){return matched.name;}else{return matched;}},/**
   * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes.
   * @function
   * @private
   */_watcher:function _watcher(){var _this=this;__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).off('resize.zf.mediaquery').on('resize.zf.mediaquery',function(){var newSize=_this._getCurrentSize(),currentSize=_this.current;if(newSize!==currentSize){// Change the current media query
_this.current=newSize;// Broadcast the media query change on the window
__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).trigger('changed.zf.mediaquery',[newSize,currentSize]);}});}};// Thank you: https://github.com/sindresorhus/query-string
function parseStyleToObject(str){var styleObject={};if(typeof str!=='string'){return styleObject;}str=str.trim().slice(1,-1);// browsers re-quote string style values
if(!str){return styleObject;}styleObject=str.split('&').reduce(function(ret,param){var parts=param.replace(/\+/g,' ').split('=');var key=parts[0];var val=parts[1];key=decodeURIComponent(key);// missing `=` should be `null`:
// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters
val=val===undefined?null:decodeURIComponent(val);if(!ret.hasOwnProperty(key)){ret[key]=val;}else if(Array.isArray(ret[key])){ret[key].push(val);}else{ret[key]=[ret[key],val];}return ret;},{});return styleObject;}/***/},/* 4 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Keyboard;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_core__=__webpack_require__(1);/*******************************************
 *                                         *
 * This util was created by Marius Olbertz *
 * Please thank Marius on GitHub /owlbertz *
 * or the web http://www.mariusolbertz.de/ *
 *                                         *
 ******************************************/var keyCodes={9:'TAB',13:'ENTER',27:'ESCAPE',32:'SPACE',35:'END',36:'HOME',37:'ARROW_LEFT',38:'ARROW_UP',39:'ARROW_RIGHT',40:'ARROW_DOWN'};var commands={};// Functions pulled out to be referenceable from internals
function findFocusable($element){if(!$element){return false;}return $element.find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').filter(function(){if(!__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).is(':visible')||__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).attr('tabindex')<0){return false;}//only have visible elements and those that have a tabindex greater or equal 0
return true;});}function parseKey(event){var key=keyCodes[event.which||event.keyCode]||String.fromCharCode(event.which).toUpperCase();// Remove un-printable characters, e.g. for `fromCharCode` calls for CTRL only events
key=key.replace(/\W+/,'');if(event.shiftKey)key='SHIFT_'+key;if(event.ctrlKey)key='CTRL_'+key;if(event.altKey)key='ALT_'+key;// Remove trailing underscore, in case only modifiers were used (e.g. only `CTRL_ALT`)
key=key.replace(/_$/,'');return key;}var Keyboard={keys:getKeyCodes(keyCodes),/**
   * Parses the (keyboard) event and returns a String that represents its key
   * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE
   * @param {Event} event - the event generated by the event handler
   * @return String key - String that represents the key pressed
   */parseKey:parseKey,/**
   * Handles the given (keyboard) event
   * @param {Event} event - the event generated by the event handler
   * @param {String} component - Foundation component's name, e.g. Slider or Reveal
   * @param {Objects} functions - collection of functions that are to be executed
   */handleKey:function handleKey(event,component,functions){var commandList=commands[component],keyCode=this.parseKey(event),cmds,command,fn;if(!commandList)return console.warn('Component not defined!');if(typeof commandList.ltr==='undefined'){// this component does not differentiate between ltr and rtl
cmds=commandList;// use plain list
}else{// merge ltr and rtl: if document is rtl, rtl overwrites ltr and vice versa
if(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__foundation_util_core__["b"/* rtl */])())cmds=__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend({},commandList.ltr,commandList.rtl);else cmds=__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend({},commandList.rtl,commandList.ltr);}command=cmds[keyCode];fn=functions[command];if(fn&&typeof fn==='function'){// execute function  if exists
var returnValue=fn.apply();if(functions.handled||typeof functions.handled==='function'){// execute function when event was handled
functions.handled(returnValue);}}else{if(functions.unhandled||typeof functions.unhandled==='function'){// execute function when event was not handled
functions.unhandled();}}},/**
   * Finds all focusable elements within the given `$element`
   * @param {jQuery} $element - jQuery object to search within
   * @return {jQuery} $focusable - all focusable elements within `$element`
   */findFocusable:findFocusable,/**
   * Returns the component name name
   * @param {Object} component - Foundation component, e.g. Slider or Reveal
   * @return String componentName
   */register:function register(componentName,cmds){commands[componentName]=cmds;},// TODO9438: These references to Keyboard need to not require global. Will 'this' work in this context?
//
/**
   * Traps the focus in the given element.
   * @param  {jQuery} $element  jQuery object to trap the foucs into.
   */trapFocus:function trapFocus($element){var $focusable=findFocusable($element),$firstFocusable=$focusable.eq(0),$lastFocusable=$focusable.eq(-1);$element.on('keydown.zf.trapfocus',function(event){if(event.target===$lastFocusable[0]&&parseKey(event)==='TAB'){event.preventDefault();$firstFocusable.focus();}else if(event.target===$firstFocusable[0]&&parseKey(event)==='SHIFT_TAB'){event.preventDefault();$lastFocusable.focus();}});},/**
   * Releases the trapped focus from the given element.
   * @param  {jQuery} $element  jQuery object to release the focus for.
   */releaseFocus:function releaseFocus($element){$element.off('keydown.zf.trapfocus');}};/*
 * Constants for easier comparing.
 * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE
 */function getKeyCodes(kcs){var k={};for(var kc in kcs){k[kcs[kc]]=kcs[kc];}return k;}/***/},/* 5 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Triggers;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_motion__=__webpack_require__(6);var MutationObserver=function(){var prefixes=['WebKit','Moz','O','Ms',''];for(var i=0;i<prefixes.length;i++){if(prefixes[i]+'MutationObserver'in window){return window[prefixes[i]+'MutationObserver'];}}return false;}();var triggers=function triggers(el,type){el.data(type).split(' ').forEach(function(id){__WEBPACK_IMPORTED_MODULE_0_jquery___default()('#'+id)[type==='close'?'trigger':'triggerHandler'](type+'.zf.trigger',[el]);});};var Triggers={Listeners:{Basic:{},Global:{}},Initializers:{}};Triggers.Listeners.Basic={openListener:function openListener(){triggers(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this),'open');},closeListener:function closeListener(){var id=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).data('close');if(id){triggers(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this),'close');}else{__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).trigger('close.zf.trigger');}},toggleListener:function toggleListener(){var id=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).data('toggle');if(id){triggers(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this),'toggle');}else{__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).trigger('toggle.zf.trigger');}},closeableListener:function closeableListener(e){e.stopPropagation();var animation=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).data('closable');if(animation!==''){__WEBPACK_IMPORTED_MODULE_1__foundation_util_motion__["a"/* Motion */].animateOut(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this),animation,function(){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).trigger('closed.zf');});}else{__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).fadeOut().trigger('closed.zf');}},toggleFocusListener:function toggleFocusListener(){var id=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).data('toggle-focus');__WEBPACK_IMPORTED_MODULE_0_jquery___default()('#'+id).triggerHandler('toggle.zf.trigger',[__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this)]);}};// Elements with [data-open] will reveal a plugin that supports it when clicked.
Triggers.Initializers.addOpenListener=function($elem){$elem.off('click.zf.trigger',Triggers.Listeners.Basic.openListener);$elem.on('click.zf.trigger','[data-open]',Triggers.Listeners.Basic.openListener);};// Elements with [data-close] will close a plugin that supports it when clicked.
// If used without a value on [data-close], the event will bubble, allowing it to close a parent component.
Triggers.Initializers.addCloseListener=function($elem){$elem.off('click.zf.trigger',Triggers.Listeners.Basic.closeListener);$elem.on('click.zf.trigger','[data-close]',Triggers.Listeners.Basic.closeListener);};// Elements with [data-toggle] will toggle a plugin that supports it when clicked.
Triggers.Initializers.addToggleListener=function($elem){$elem.off('click.zf.trigger',Triggers.Listeners.Basic.toggleListener);$elem.on('click.zf.trigger','[data-toggle]',Triggers.Listeners.Basic.toggleListener);};// Elements with [data-closable] will respond to close.zf.trigger events.
Triggers.Initializers.addCloseableListener=function($elem){$elem.off('close.zf.trigger',Triggers.Listeners.Basic.closeableListener);$elem.on('close.zf.trigger','[data-closeable], [data-closable]',Triggers.Listeners.Basic.closeableListener);};// Elements with [data-toggle-focus] will respond to coming in and out of focus
Triggers.Initializers.addToggleFocusListener=function($elem){$elem.off('focus.zf.trigger blur.zf.trigger',Triggers.Listeners.Basic.toggleFocusListener);$elem.on('focus.zf.trigger blur.zf.trigger','[data-toggle-focus]',Triggers.Listeners.Basic.toggleFocusListener);};// More Global/complex listeners and triggers
Triggers.Listeners.Global={resizeListener:function resizeListener($nodes){if(!MutationObserver){//fallback for IE 9
$nodes.each(function(){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).triggerHandler('resizeme.zf.trigger');});}//trigger all listening elements and signal a resize event
$nodes.attr('data-events',"resize");},scrollListener:function scrollListener($nodes){if(!MutationObserver){//fallback for IE 9
$nodes.each(function(){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).triggerHandler('scrollme.zf.trigger');});}//trigger all listening elements and signal a scroll event
$nodes.attr('data-events',"scroll");},closeMeListener:function closeMeListener(e,pluginId){var plugin=e.namespace.split('.')[0];var plugins=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-'+plugin+']').not('[data-yeti-box="'+pluginId+'"]');plugins.each(function(){var _this=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this);_this.triggerHandler('close.zf.trigger',[_this]);});}};// Global, parses whole document.
Triggers.Initializers.addClosemeListener=function(pluginName){var yetiBoxes=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-yeti-box]'),plugNames=['dropdown','tooltip','reveal'];if(pluginName){if(typeof pluginName==='string'){plugNames.push(pluginName);}else if(_typeof2(pluginName)==='object'&&typeof pluginName[0]==='string'){plugNames.concat(pluginName);}else{console.error('Plugin names must be strings');}}if(yetiBoxes.length){var listeners=plugNames.map(function(name){return'closeme.zf.'+name;}).join(' ');__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).off(listeners).on(listeners,Triggers.Listeners.Global.closeMeListener);}};function debounceGlobalListener(debounce,trigger,listener){var timer=void 0,args=Array.prototype.slice.call(arguments,3);__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).off(trigger).on(trigger,function(e){if(timer){clearTimeout(timer);}timer=setTimeout(function(){listener.apply(null,args);},debounce||10);//default time to emit scroll event
});}Triggers.Initializers.addResizeListener=function(debounce){var $nodes=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-resize]');if($nodes.length){debounceGlobalListener(debounce,'resize.zf.trigger',Triggers.Listeners.Global.resizeListener,$nodes);}};Triggers.Initializers.addScrollListener=function(debounce){var $nodes=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-scroll]');if($nodes.length){debounceGlobalListener(debounce,'scroll.zf.trigger',Triggers.Listeners.Global.scrollListener,$nodes);}};Triggers.Initializers.addMutationEventsListener=function($elem){if(!MutationObserver){return false;}var $nodes=$elem.find('[data-resize], [data-scroll], [data-mutate]');//element callback
var listeningElementsMutation=function listeningElementsMutation(mutationRecordsList){var $target=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(mutationRecordsList[0].target);//trigger the event handler for the element depending on type
switch(mutationRecordsList[0].type){case"attributes":if($target.attr("data-events")==="scroll"&&mutationRecordsList[0].attributeName==="data-events"){$target.triggerHandler('scrollme.zf.trigger',[$target,window.pageYOffset]);}if($target.attr("data-events")==="resize"&&mutationRecordsList[0].attributeName==="data-events"){$target.triggerHandler('resizeme.zf.trigger',[$target]);}if(mutationRecordsList[0].attributeName==="style"){$target.closest("[data-mutate]").attr("data-events","mutate");$target.closest("[data-mutate]").triggerHandler('mutateme.zf.trigger',[$target.closest("[data-mutate]")]);}break;case"childList":$target.closest("[data-mutate]").attr("data-events","mutate");$target.closest("[data-mutate]").triggerHandler('mutateme.zf.trigger',[$target.closest("[data-mutate]")]);break;default:return false;//nothing
}};if($nodes.length){//for each element that needs to listen for resizing, scrolling, or mutation add a single observer
for(var i=0;i<=$nodes.length-1;i++){var elementObserver=new MutationObserver(listeningElementsMutation);elementObserver.observe($nodes[i],{attributes:true,childList:true,characterData:false,subtree:true,attributeFilter:["data-events","style"]});}}};Triggers.Initializers.addSimpleListeners=function(){var $document=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(document);Triggers.Initializers.addOpenListener($document);Triggers.Initializers.addCloseListener($document);Triggers.Initializers.addToggleListener($document);Triggers.Initializers.addCloseableListener($document);Triggers.Initializers.addToggleFocusListener($document);};Triggers.Initializers.addGlobalListeners=function(){var $document=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(document);Triggers.Initializers.addMutationEventsListener($document);Triggers.Initializers.addResizeListener();Triggers.Initializers.addScrollListener();Triggers.Initializers.addClosemeListener();};Triggers.init=function($,Foundation){if(typeof $.triggersInitialized==='undefined'){var $document=$(document);if(document.readyState==="complete"){Triggers.Initializers.addSimpleListeners();Triggers.Initializers.addGlobalListeners();}else{$(window).on('load',function(){Triggers.Initializers.addSimpleListeners();Triggers.Initializers.addGlobalListeners();});}$.triggersInitialized=true;}if(Foundation){Foundation.Triggers=Triggers;// Legacy included to be backwards compatible for now.
Foundation.IHearYou=Triggers.Initializers.addGlobalListeners;}};/***/},/* 6 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"b",function(){return Move;});/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Motion;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_core__=__webpack_require__(1);/**
 * Motion module.
 * @module foundation.motion
 */var initClasses=['mui-enter','mui-leave'];var activeClasses=['mui-enter-active','mui-leave-active'];var Motion={animateIn:function animateIn(element,animation,cb){animate(true,element,animation,cb);},animateOut:function animateOut(element,animation,cb){animate(false,element,animation,cb);}};function Move(duration,elem,fn){var anim,prog,start=null;// console.log('called');
if(duration===0){fn.apply(elem);elem.trigger('finished.zf.animate',[elem]).triggerHandler('finished.zf.animate',[elem]);return;}function move(ts){if(!start)start=ts;// console.log(start, ts);
prog=ts-start;fn.apply(elem);if(prog<duration){anim=window.requestAnimationFrame(move,elem);}else{window.cancelAnimationFrame(anim);elem.trigger('finished.zf.animate',[elem]).triggerHandler('finished.zf.animate',[elem]);}}anim=window.requestAnimationFrame(move);}/**
 * Animates an element in or out using a CSS transition class.
 * @function
 * @private
 * @param {Boolean} isIn - Defines if the animation is in or out.
 * @param {Object} element - jQuery or HTML object to animate.
 * @param {String} animation - CSS class to use.
 * @param {Function} cb - Callback to run when animation is finished.
 */function animate(isIn,element,animation,cb){element=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(element).eq(0);if(!element.length)return;var initClass=isIn?initClasses[0]:initClasses[1];var activeClass=isIn?activeClasses[0]:activeClasses[1];// Set up the animation
reset();element.addClass(animation).css('transition','none');requestAnimationFrame(function(){element.addClass(initClass);if(isIn)element.show();});// Start the animation
requestAnimationFrame(function(){element[0].offsetWidth;element.css('transition','').addClass(activeClass);});// Clean up the animation when it finishes
element.one(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__foundation_util_core__["c"/* transitionend */])(element),finish);// Hides the element (for out animations), resets the element, and runs a callback
function finish(){if(!isIn)element.hide();reset();if(cb)cb.apply(element);}// Resets transitions and removes motion-specific classes
function reset(){element[0].style.transitionDuration=0;element.removeClass(initClass+' '+activeClass+' '+animation);}}/***/},/* 7 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Box;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0__foundation_util_core__=__webpack_require__(1);var Box={ImNotTouchingYou:ImNotTouchingYou,OverlapArea:OverlapArea,GetDimensions:GetDimensions,GetOffsets:GetOffsets,GetExplicitOffsets:GetExplicitOffsets};/**
 * Compares the dimensions of an element to a container and determines collision events with container.
 * @function
 * @param {jQuery} element - jQuery object to test for collisions.
 * @param {jQuery} parent - jQuery object to use as bounding container.
 * @param {Boolean} lrOnly - set to true to check left and right values only.
 * @param {Boolean} tbOnly - set to true to check top and bottom values only.
 * @default if no parent object passed, detects collisions with `window`.
 * @returns {Boolean} - true if collision free, false if a collision in any direction.
 */function ImNotTouchingYou(element,parent,lrOnly,tbOnly,ignoreBottom){return OverlapArea(element,parent,lrOnly,tbOnly,ignoreBottom)===0;};function OverlapArea(element,parent,lrOnly,tbOnly,ignoreBottom){var eleDims=GetDimensions(element),topOver,bottomOver,leftOver,rightOver;if(parent){var parDims=GetDimensions(parent);bottomOver=parDims.height+parDims.offset.top-(eleDims.offset.top+eleDims.height);topOver=eleDims.offset.top-parDims.offset.top;leftOver=eleDims.offset.left-parDims.offset.left;rightOver=parDims.width+parDims.offset.left-(eleDims.offset.left+eleDims.width);}else{bottomOver=eleDims.windowDims.height+eleDims.windowDims.offset.top-(eleDims.offset.top+eleDims.height);topOver=eleDims.offset.top-eleDims.windowDims.offset.top;leftOver=eleDims.offset.left-eleDims.windowDims.offset.left;rightOver=eleDims.windowDims.width-(eleDims.offset.left+eleDims.width);}bottomOver=ignoreBottom?0:Math.min(bottomOver,0);topOver=Math.min(topOver,0);leftOver=Math.min(leftOver,0);rightOver=Math.min(rightOver,0);if(lrOnly){return leftOver+rightOver;}if(tbOnly){return topOver+bottomOver;}// use sum of squares b/c we care about overlap area.
return Math.sqrt(topOver*topOver+bottomOver*bottomOver+leftOver*leftOver+rightOver*rightOver);}/**
 * Uses native methods to return an object of dimension values.
 * @function
 * @param {jQuery || HTML} element - jQuery object or DOM element for which to get the dimensions. Can be any element other that document or window.
 * @returns {Object} - nested object of integer pixel values
 * TODO - if element is window, return only those values.
 */function GetDimensions(elem){elem=elem.length?elem[0]:elem;if(elem===window||elem===document){throw new Error("I'm sorry, Dave. I'm afraid I can't do that.");}var rect=elem.getBoundingClientRect(),parRect=elem.parentNode.getBoundingClientRect(),winRect=document.body.getBoundingClientRect(),winY=window.pageYOffset,winX=window.pageXOffset;return{width:rect.width,height:rect.height,offset:{top:rect.top+winY,left:rect.left+winX},parentDims:{width:parRect.width,height:parRect.height,offset:{top:parRect.top+winY,left:parRect.left+winX}},windowDims:{width:winRect.width,height:winRect.height,offset:{top:winY,left:winX}}};}/**
 * Returns an object of top and left integer pixel values for dynamically rendered elements,
 * such as: Tooltip, Reveal, and Dropdown. Maintained for backwards compatibility, and where
 * you don't know alignment, but generally from
 * 6.4 forward you should use GetExplicitOffsets, as GetOffsets conflates position and alignment.
 * @function
 * @param {jQuery} element - jQuery object for the element being positioned.
 * @param {jQuery} anchor - jQuery object for the element's anchor point.
 * @param {String} position - a string relating to the desired position of the element, relative to it's anchor
 * @param {Number} vOffset - integer pixel value of desired vertical separation between anchor and element.
 * @param {Number} hOffset - integer pixel value of desired horizontal separation between anchor and element.
 * @param {Boolean} isOverflow - if a collision event is detected, sets to true to default the element to full width - any desired offset.
 * TODO alter/rewrite to work with `em` values as well/instead of pixels
 */function GetOffsets(element,anchor,position,vOffset,hOffset,isOverflow){console.log("NOTE: GetOffsets is deprecated in favor of GetExplicitOffsets and will be removed in 6.5");switch(position){case'top':return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__foundation_util_core__["b"/* rtl */])()?GetExplicitOffsets(element,anchor,'top','left',vOffset,hOffset,isOverflow):GetExplicitOffsets(element,anchor,'top','right',vOffset,hOffset,isOverflow);case'bottom':return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__foundation_util_core__["b"/* rtl */])()?GetExplicitOffsets(element,anchor,'bottom','left',vOffset,hOffset,isOverflow):GetExplicitOffsets(element,anchor,'bottom','right',vOffset,hOffset,isOverflow);case'center top':return GetExplicitOffsets(element,anchor,'top','center',vOffset,hOffset,isOverflow);case'center bottom':return GetExplicitOffsets(element,anchor,'bottom','center',vOffset,hOffset,isOverflow);case'center left':return GetExplicitOffsets(element,anchor,'left','center',vOffset,hOffset,isOverflow);case'center right':return GetExplicitOffsets(element,anchor,'right','center',vOffset,hOffset,isOverflow);case'left bottom':return GetExplicitOffsets(element,anchor,'bottom','left',vOffset,hOffset,isOverflow);case'right bottom':return GetExplicitOffsets(element,anchor,'bottom','right',vOffset,hOffset,isOverflow);// Backwards compatibility... this along with the reveal and reveal full
// classes are the only ones that didn't reference anchor
case'center':return{left:$eleDims.windowDims.offset.left+$eleDims.windowDims.width/2-$eleDims.width/2+hOffset,top:$eleDims.windowDims.offset.top+$eleDims.windowDims.height/2-($eleDims.height/2+vOffset)};case'reveal':return{left:($eleDims.windowDims.width-$eleDims.width)/2+hOffset,top:$eleDims.windowDims.offset.top+vOffset};case'reveal full':return{left:$eleDims.windowDims.offset.left,top:$eleDims.windowDims.offset.top};break;default:return{left:__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__foundation_util_core__["b"/* rtl */])()?$anchorDims.offset.left-$eleDims.width+$anchorDims.width-hOffset:$anchorDims.offset.left+hOffset,top:$anchorDims.offset.top+$anchorDims.height+vOffset};}}function GetExplicitOffsets(element,anchor,position,alignment,vOffset,hOffset,isOverflow){var $eleDims=GetDimensions(element),$anchorDims=anchor?GetDimensions(anchor):null;var topVal,leftVal;// set position related attribute
switch(position){case'top':topVal=$anchorDims.offset.top-($eleDims.height+vOffset);break;case'bottom':topVal=$anchorDims.offset.top+$anchorDims.height+vOffset;break;case'left':leftVal=$anchorDims.offset.left-($eleDims.width+hOffset);break;case'right':leftVal=$anchorDims.offset.left+$anchorDims.width+hOffset;break;}// set alignment related attribute
switch(position){case'top':case'bottom':switch(alignment){case'left':leftVal=$anchorDims.offset.left+hOffset;break;case'right':leftVal=$anchorDims.offset.left-$eleDims.width+$anchorDims.width-hOffset;break;case'center':leftVal=isOverflow?hOffset:$anchorDims.offset.left+$anchorDims.width/2-$eleDims.width/2+hOffset;break;}break;case'right':case'left':switch(alignment){case'bottom':topVal=$anchorDims.offset.top-vOffset+$anchorDims.height-$eleDims.height;break;case'top':topVal=$anchorDims.offset.top+vOffset;break;case'center':topVal=$anchorDims.offset.top+vOffset+$anchorDims.height/2-$eleDims.height/2;break;}break;}return{top:topVal,left:leftVal};}/***/},/* 8 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return onImagesLoaded;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/**
 * Runs a callback function when images are fully loaded.
 * @param {Object} images - Image(s) to check if loaded.
 * @param {Func} callback - Function to execute when image is fully loaded.
 */function onImagesLoaded(images,callback){var self=this,unloaded=images.length;if(unloaded===0){callback();}images.each(function(){// Check if image is loaded
if(this.complete&&this.naturalWidth!==undefined){singleImageLoaded();}else{// If the above check failed, simulate loading on detached element.
var image=new Image();// Still count image as loaded if it finalizes with an error.
var events="load.zf.images error.zf.images";__WEBPACK_IMPORTED_MODULE_0_jquery___default()(image).one(events,function me(event){// Unbind the event listeners. We're using 'one' but only one of the two events will have fired.
__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).off(events,me);singleImageLoaded();});image.src=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).attr('src');}});function singleImageLoaded(){unloaded--;if(unloaded===0){callback();}}}/***/},/* 9 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Nest;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);var Nest={Feather:function Feather(menu){var type=arguments.length>1&&arguments[1]!==undefined?arguments[1]:'zf';menu.attr('role','menubar');var items=menu.find('li').attr({'role':'menuitem'}),subMenuClass='is-'+type+'-submenu',subItemClass=subMenuClass+'-item',hasSubClass='is-'+type+'-submenu-parent',applyAria=type!=='accordion';// Accordions handle their own ARIA attriutes.
items.each(function(){var $item=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this),$sub=$item.children('ul');if($sub.length){$item.addClass(hasSubClass);$sub.addClass('submenu '+subMenuClass).attr({'data-submenu':''});if(applyAria){$item.attr({'aria-haspopup':true,'aria-label':$item.children('a:first').text()});// Note:  Drilldowns behave differently in how they hide, and so need
// additional attributes.  We should look if this possibly over-generalized
// utility (Nest) is appropriate when we rework menus in 6.4
if(type==='drilldown'){$item.attr({'aria-expanded':false});}}$sub.addClass('submenu '+subMenuClass).attr({'data-submenu':'','role':'menu'});if(type==='drilldown'){$sub.attr({'aria-hidden':true});}}if($item.parent('[data-submenu]').length){$item.addClass('is-submenu-item '+subItemClass);}});return;},Burn:function Burn(menu,type){var//items = menu.find('li'),
subMenuClass='is-'+type+'-submenu',subItemClass=subMenuClass+'-item',hasSubClass='is-'+type+'-submenu-parent';menu.find('>li, .menu, .menu > li').removeClass(subMenuClass+' '+subItemClass+' '+hasSubClass+' is-submenu-item submenu is-active').removeAttr('data-submenu').css('display','');}};/***/},/* 10 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Accordion;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__=__webpack_require__(4);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2__foundation_util_core__=__webpack_require__(1);/* harmony import */var __WEBPACK_IMPORTED_MODULE_3__foundation_plugin__=__webpack_require__(2);var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!_instanceof(instance,Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(_typeof2(call)==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+_typeof2(superClass));}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}/**
 * Accordion module.
 * @module foundation.accordion
 * @requires foundation.util.keyboard
 */var Accordion=function(_Plugin){_inherits(Accordion,_Plugin);function Accordion(){_classCallCheck(this,Accordion);return _possibleConstructorReturn(this,(Accordion.__proto__||Object.getPrototypeOf(Accordion)).apply(this,arguments));}_createClass(Accordion,[{key:'_setup',/**
     * Creates a new instance of an accordion.
     * @class
     * @name Accordion
     * @fires Accordion#init
     * @param {jQuery} element - jQuery object to make into an accordion.
     * @param {Object} options - a plain object with settings to override the default options.
     */value:function _setup(element,options){this.$element=element;this.options=__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend({},Accordion.defaults,this.$element.data(),options);this.className='Accordion';// ie9 back compat
this._init();__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a"/* Keyboard */].register('Accordion',{'ENTER':'toggle','SPACE':'toggle','ARROW_DOWN':'next','ARROW_UP':'previous'});}/**
     * Initializes the accordion by animating the preset active pane(s).
     * @private
     */},{key:'_init',value:function _init(){var _this3=this;this.$element.attr('role','tablist');this.$tabs=this.$element.children('[data-accordion-item]');this.$tabs.each(function(idx,el){var $el=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(el),$content=$el.children('[data-tab-content]'),id=$content[0].id||__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__foundation_util_core__["a"/* GetYoDigits */])(6,'accordion'),linkId=el.id||id+'-label';$el.find('a:first').attr({'aria-controls':id,'role':'tab','id':linkId,'aria-expanded':false,'aria-selected':false});$content.attr({'role':'tabpanel','aria-labelledby':linkId,'aria-hidden':true,'id':id});});var $initActive=this.$element.find('.is-active').children('[data-tab-content]');this.firstTimeInit=true;if($initActive.length){this.down($initActive,this.firstTimeInit);this.firstTimeInit=false;}this._checkDeepLink=function(){var anchor=window.location.hash;//need a hash and a relevant anchor in this tabset
if(anchor.length){var $link=_this3.$element.find('[href$="'+anchor+'"]'),$anchor=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(anchor);if($link.length&&$anchor){if(!$link.parent('[data-accordion-item]').hasClass('is-active')){_this3.down($anchor,_this3.firstTimeInit);_this3.firstTimeInit=false;};//roll up a little to show the titles
if(_this3.options.deepLinkSmudge){var _this=_this3;__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).load(function(){var offset=_this.$element.offset();__WEBPACK_IMPORTED_MODULE_0_jquery___default()('html, body').animate({scrollTop:offset.top},_this.options.deepLinkSmudgeDelay);});}/**
              * Fires when the zplugin has deeplinked at pageload
              * @event Accordion#deeplink
              */_this3.$element.trigger('deeplink.zf.accordion',[$link,$anchor]);}}};//use browser to open a tab, if it exists in this tabset
if(this.options.deepLink){this._checkDeepLink();}this._events();}/**
     * Adds event handlers for items within the accordion.
     * @private
     */},{key:'_events',value:function _events(){var _this=this;this.$tabs.each(function(){var $elem=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this);var $tabContent=$elem.children('[data-tab-content]');if($tabContent.length){$elem.children('a').off('click.zf.accordion keydown.zf.accordion').on('click.zf.accordion',function(e){e.preventDefault();_this.toggle($tabContent);}).on('keydown.zf.accordion',function(e){__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a"/* Keyboard */].handleKey(e,'Accordion',{toggle:function toggle(){_this.toggle($tabContent);},next:function next(){var $a=$elem.next().find('a').focus();if(!_this.options.multiExpand){$a.trigger('click.zf.accordion');}},previous:function previous(){var $a=$elem.prev().find('a').focus();if(!_this.options.multiExpand){$a.trigger('click.zf.accordion');}},handled:function handled(){e.preventDefault();e.stopPropagation();}});});}});if(this.options.deepLink){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).on('popstate',this._checkDeepLink);}}/**
     * Toggles the selected content pane's open/close state.
     * @param {jQuery} $target - jQuery object of the pane to toggle (`.accordion-content`).
     * @function
     */},{key:'toggle',value:function toggle($target){if($target.closest('[data-accordion]').is('[disabled]')){console.info('Cannot toggle an accordion that is disabled.');return;}if($target.parent().hasClass('is-active')){this.up($target);}else{this.down($target);}//either replace or update browser history
if(this.options.deepLink){var anchor=$target.prev('a').attr('href');if(this.options.updateHistory){history.pushState({},'',anchor);}else{history.replaceState({},'',anchor);}}}/**
     * Opens the accordion tab defined by `$target`.
     * @param {jQuery} $target - Accordion pane to open (`.accordion-content`).
     * @param {Boolean} firstTime - flag to determine if reflow should happen.
     * @fires Accordion#down
     * @function
     */},{key:'down',value:function down($target,firstTime){var _this4=this;/**
       * checking firstTime allows for initial render of the accordion
       * to render preset is-active panes.
       */if($target.closest('[data-accordion]').is('[disabled]')&&!firstTime){console.info('Cannot call down on an accordion that is disabled.');return;}$target.attr('aria-hidden',false).parent('[data-tab-content]').addBack().parent().addClass('is-active');if(!this.options.multiExpand&&!firstTime){var $currentActive=this.$element.children('.is-active').children('[data-tab-content]');if($currentActive.length){this.up($currentActive.not($target));}}$target.slideDown(this.options.slideSpeed,function(){/**
         * Fires when the tab is done opening.
         * @event Accordion#down
         */_this4.$element.trigger('down.zf.accordion',[$target]);});__WEBPACK_IMPORTED_MODULE_0_jquery___default()('#'+$target.attr('aria-labelledby')).attr({'aria-expanded':true,'aria-selected':true});}/**
     * Closes the tab defined by `$target`.
     * @param {jQuery} $target - Accordion tab to close (`.accordion-content`).
     * @fires Accordion#up
     * @function
     */},{key:'up',value:function up($target){if($target.closest('[data-accordion]').is('[disabled]')){console.info('Cannot call up on an accordion that is disabled.');return;}var $aunts=$target.parent().siblings(),_this=this;if(!this.options.allowAllClosed&&!$aunts.hasClass('is-active')||!$target.parent().hasClass('is-active')){return;}$target.slideUp(_this.options.slideSpeed,function(){/**
         * Fires when the tab is done collapsing up.
         * @event Accordion#up
         */_this.$element.trigger('up.zf.accordion',[$target]);});$target.attr('aria-hidden',true).parent().removeClass('is-active');__WEBPACK_IMPORTED_MODULE_0_jquery___default()('#'+$target.attr('aria-labelledby')).attr({'aria-expanded':false,'aria-selected':false});}/**
     * Destroys an instance of an accordion.
     * @fires Accordion#destroyed
     * @function
     */},{key:'_destroy',value:function _destroy(){this.$element.find('[data-tab-content]').stop(true).slideUp(0).css('display','');this.$element.find('a').off('.zf.accordion');if(this.options.deepLink){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).off('popstate',this._checkDeepLink);}}}]);return Accordion;}(__WEBPACK_IMPORTED_MODULE_3__foundation_plugin__["a"/* Plugin */]);Accordion.defaults={/**
   * Amount of time to animate the opening of an accordion pane.
   * @option
   * @type {number}
   * @default 250
   */slideSpeed:250,/**
   * Allow the accordion to have multiple open panes.
   * @option
   * @type {boolean}
   * @default false
   */multiExpand:false,/**
   * Allow the accordion to close all panes.
   * @option
   * @type {boolean}
   * @default false
   */allowAllClosed:false,/**
   * Allows the window to scroll to content of pane specified by hash anchor
   * @option
   * @type {boolean}
   * @default false
   */deepLink:false,/**
   * Adjust the deep link scroll to make sure the top of the accordion panel is visible
   * @option
   * @type {boolean}
   * @default false
   */deepLinkSmudge:false,/**
   * Animation time (ms) for the deep link adjustment
   * @option
   * @type {number}
   * @default 300
   */deepLinkSmudgeDelay:300,/**
   * Update the browser history with the open accordion
   * @option
   * @type {boolean}
   * @default false
   */updateHistory:false};/***/},/* 11 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return AccordionMenu;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__=__webpack_require__(4);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2__foundation_util_nest__=__webpack_require__(9);/* harmony import */var __WEBPACK_IMPORTED_MODULE_3__foundation_util_core__=__webpack_require__(1);/* harmony import */var __WEBPACK_IMPORTED_MODULE_4__foundation_plugin__=__webpack_require__(2);var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!_instanceof(instance,Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(_typeof2(call)==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+_typeof2(superClass));}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}/**
 * AccordionMenu module.
 * @module foundation.accordionMenu
 * @requires foundation.util.keyboard
 * @requires foundation.util.nest
 */var AccordionMenu=function(_Plugin){_inherits(AccordionMenu,_Plugin);function AccordionMenu(){_classCallCheck(this,AccordionMenu);return _possibleConstructorReturn(this,(AccordionMenu.__proto__||Object.getPrototypeOf(AccordionMenu)).apply(this,arguments));}_createClass(AccordionMenu,[{key:'_setup',/**
     * Creates a new instance of an accordion menu.
     * @class
     * @name AccordionMenu
     * @fires AccordionMenu#init
     * @param {jQuery} element - jQuery object to make into an accordion menu.
     * @param {Object} options - Overrides to the default plugin settings.
     */value:function _setup(element,options){this.$element=element;this.options=__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend({},AccordionMenu.defaults,this.$element.data(),options);this.className='AccordionMenu';// ie9 back compat
this._init();__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a"/* Keyboard */].register('AccordionMenu',{'ENTER':'toggle','SPACE':'toggle','ARROW_RIGHT':'open','ARROW_UP':'up','ARROW_DOWN':'down','ARROW_LEFT':'close','ESCAPE':'closeAll'});}/**
     * Initializes the accordion menu by hiding all nested menus.
     * @private
     */},{key:'_init',value:function _init(){__WEBPACK_IMPORTED_MODULE_2__foundation_util_nest__["a"/* Nest */].Feather(this.$element,'accordion');var _this=this;this.$element.find('[data-submenu]').not('.is-active').slideUp(0);//.find('a').css('padding-left', '1rem');
this.$element.attr({'role':'tree','aria-multiselectable':this.options.multiOpen});this.$menuLinks=this.$element.find('.is-accordion-submenu-parent');this.$menuLinks.each(function(){var linkId=this.id||__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__foundation_util_core__["a"/* GetYoDigits */])(6,'acc-menu-link'),$elem=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this),$sub=$elem.children('[data-submenu]'),subId=$sub[0].id||__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__foundation_util_core__["a"/* GetYoDigits */])(6,'acc-menu'),isActive=$sub.hasClass('is-active');if(_this.options.submenuToggle){$elem.addClass('has-submenu-toggle');$elem.children('a').after('<button id="'+linkId+'" class="submenu-toggle" aria-controls="'+subId+'" aria-expanded="'+isActive+'" title="'+_this.options.submenuToggleText+'"><span class="submenu-toggle-text">'+_this.options.submenuToggleText+'</span></button>');}else{$elem.attr({'aria-controls':subId,'aria-expanded':isActive,'id':linkId});}$sub.attr({'aria-labelledby':linkId,'aria-hidden':!isActive,'role':'group','id':subId});});this.$element.find('li').attr({'role':'treeitem'});var initPanes=this.$element.find('.is-active');if(initPanes.length){var _this=this;initPanes.each(function(){_this.down(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this));});}this._events();}/**
     * Adds event handlers for items within the menu.
     * @private
     */},{key:'_events',value:function _events(){var _this=this;this.$element.find('li').each(function(){var $submenu=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).children('[data-submenu]');if($submenu.length){if(_this.options.submenuToggle){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).children('.submenu-toggle').off('click.zf.accordionMenu').on('click.zf.accordionMenu',function(e){_this.toggle($submenu);});}else{__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).children('a').off('click.zf.accordionMenu').on('click.zf.accordionMenu',function(e){e.preventDefault();_this.toggle($submenu);});}}}).on('keydown.zf.accordionmenu',function(e){var $element=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this),$elements=$element.parent('ul').children('li'),$prevElement,$nextElement,$target=$element.children('[data-submenu]');$elements.each(function(i){if(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).is($element)){$prevElement=$elements.eq(Math.max(0,i-1)).find('a').first();$nextElement=$elements.eq(Math.min(i+1,$elements.length-1)).find('a').first();if(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).children('[data-submenu]:visible').length){// has open sub menu
$nextElement=$element.find('li:first-child').find('a').first();}if(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).is(':first-child')){// is first element of sub menu
$prevElement=$element.parents('li').first().find('a').first();}else if($prevElement.parents('li').first().children('[data-submenu]:visible').length){// if previous element has open sub menu
$prevElement=$prevElement.parents('li').find('li:last-child').find('a').first();}if(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).is(':last-child')){// is last element of sub menu
$nextElement=$element.parents('li').first().next('li').find('a').first();}return;}});__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a"/* Keyboard */].handleKey(e,'AccordionMenu',{open:function open(){if($target.is(':hidden')){_this.down($target);$target.find('li').first().find('a').first().focus();}},close:function close(){if($target.length&&!$target.is(':hidden')){// close active sub of this item
_this.up($target);}else if($element.parent('[data-submenu]').length){// close currently open sub
_this.up($element.parent('[data-submenu]'));$element.parents('li').first().find('a').first().focus();}},up:function up(){$prevElement.focus();return true;},down:function down(){$nextElement.focus();return true;},toggle:function toggle(){if(_this.options.submenuToggle){return false;}if($element.children('[data-submenu]').length){_this.toggle($element.children('[data-submenu]'));return true;}},closeAll:function closeAll(){_this.hideAll();},handled:function handled(preventDefault){if(preventDefault){e.preventDefault();}e.stopImmediatePropagation();}});});//.attr('tabindex', 0);
}/**
     * Closes all panes of the menu.
     * @function
     */},{key:'hideAll',value:function hideAll(){this.up(this.$element.find('[data-submenu]'));}/**
     * Opens all panes of the menu.
     * @function
     */},{key:'showAll',value:function showAll(){this.down(this.$element.find('[data-submenu]'));}/**
     * Toggles the open/close state of a submenu.
     * @function
     * @param {jQuery} $target - the submenu to toggle
     */},{key:'toggle',value:function toggle($target){if(!$target.is(':animated')){if(!$target.is(':hidden')){this.up($target);}else{this.down($target);}}}/**
     * Opens the sub-menu defined by `$target`.
     * @param {jQuery} $target - Sub-menu to open.
     * @fires AccordionMenu#down
     */},{key:'down',value:function down($target){var _this=this;if(!this.options.multiOpen){this.up(this.$element.find('.is-active').not($target.parentsUntil(this.$element).add($target)));}$target.addClass('is-active').attr({'aria-hidden':false});if(this.options.submenuToggle){$target.prev('.submenu-toggle').attr({'aria-expanded':true});}else{$target.parent('.is-accordion-submenu-parent').attr({'aria-expanded':true});}$target.slideDown(_this.options.slideSpeed,function(){/**
         * Fires when the menu is done opening.
         * @event AccordionMenu#down
         */_this.$element.trigger('down.zf.accordionMenu',[$target]);});}/**
     * Closes the sub-menu defined by `$target`. All sub-menus inside the target will be closed as well.
     * @param {jQuery} $target - Sub-menu to close.
     * @fires AccordionMenu#up
     */},{key:'up',value:function up($target){var _this=this;$target.slideUp(_this.options.slideSpeed,function(){/**
         * Fires when the menu is done collapsing up.
         * @event AccordionMenu#up
         */_this.$element.trigger('up.zf.accordionMenu',[$target]);});var $menus=$target.find('[data-submenu]').slideUp(0).addBack().attr('aria-hidden',true);if(this.options.submenuToggle){$menus.prev('.submenu-toggle').attr('aria-expanded',false);}else{$menus.parent('.is-accordion-submenu-parent').attr('aria-expanded',false);}}/**
     * Destroys an instance of accordion menu.
     * @fires AccordionMenu#destroyed
     */},{key:'_destroy',value:function _destroy(){this.$element.find('[data-submenu]').slideDown(0).css('display','');this.$element.find('a').off('click.zf.accordionMenu');if(this.options.submenuToggle){this.$element.find('.has-submenu-toggle').removeClass('has-submenu-toggle');this.$element.find('.submenu-toggle').remove();}__WEBPACK_IMPORTED_MODULE_2__foundation_util_nest__["a"/* Nest */].Burn(this.$element,'accordion');}}]);return AccordionMenu;}(__WEBPACK_IMPORTED_MODULE_4__foundation_plugin__["a"/* Plugin */]);AccordionMenu.defaults={/**
   * Amount of time to animate the opening of a submenu in ms.
   * @option
   * @type {number}
   * @default 250
   */slideSpeed:250,/**
   * Adds a separate submenu toggle button. This allows the parent item to have a link.
   * @option
   * @example true
   */submenuToggle:false,/**
   * The text used for the submenu toggle if enabled. This is used for screen readers only.
   * @option
   * @example true
   */submenuToggleText:'Toggle menu',/**
   * Allow the menu to have multiple open panes.
   * @option
   * @type {boolean}
   * @default true
   */multiOpen:true};/***/},/* 12 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Drilldown;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__=__webpack_require__(4);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2__foundation_util_nest__=__webpack_require__(9);/* harmony import */var __WEBPACK_IMPORTED_MODULE_3__foundation_util_core__=__webpack_require__(1);/* harmony import */var __WEBPACK_IMPORTED_MODULE_4__foundation_util_box__=__webpack_require__(7);/* harmony import */var __WEBPACK_IMPORTED_MODULE_5__foundation_plugin__=__webpack_require__(2);var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!_instanceof(instance,Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(_typeof2(call)==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+_typeof2(superClass));}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}/**
 * Drilldown module.
 * @module foundation.drilldown
 * @requires foundation.util.keyboard
 * @requires foundation.util.nest
 * @requires foundation.util.box
 */var Drilldown=function(_Plugin){_inherits(Drilldown,_Plugin);function Drilldown(){_classCallCheck(this,Drilldown);return _possibleConstructorReturn(this,(Drilldown.__proto__||Object.getPrototypeOf(Drilldown)).apply(this,arguments));}_createClass(Drilldown,[{key:'_setup',/**
     * Creates a new instance of a drilldown menu.
     * @class
     * @name Drilldown
     * @param {jQuery} element - jQuery object to make into an accordion menu.
     * @param {Object} options - Overrides to the default plugin settings.
     */value:function _setup(element,options){this.$element=element;this.options=__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend({},Drilldown.defaults,this.$element.data(),options);this.className='Drilldown';// ie9 back compat
this._init();__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a"/* Keyboard */].register('Drilldown',{'ENTER':'open','SPACE':'open','ARROW_RIGHT':'next','ARROW_UP':'up','ARROW_DOWN':'down','ARROW_LEFT':'previous','ESCAPE':'close','TAB':'down','SHIFT_TAB':'up'});}/**
     * Initializes the drilldown by creating jQuery collections of elements
     * @private
     */},{key:'_init',value:function _init(){__WEBPACK_IMPORTED_MODULE_2__foundation_util_nest__["a"/* Nest */].Feather(this.$element,'drilldown');if(this.options.autoApplyClass){this.$element.addClass('drilldown');}this.$element.attr({'role':'tree','aria-multiselectable':false});this.$submenuAnchors=this.$element.find('li.is-drilldown-submenu-parent').children('a');this.$submenus=this.$submenuAnchors.parent('li').children('[data-submenu]').attr('role','group');this.$menuItems=this.$element.find('li').not('.js-drilldown-back').attr('role','treeitem').find('a');this.$element.attr('data-mutate',this.$element.attr('data-drilldown')||__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__foundation_util_core__["a"/* GetYoDigits */])(6,'drilldown'));this._prepareMenu();this._registerEvents();this._keyboardEvents();}/**
     * prepares drilldown menu by setting attributes to links and elements
     * sets a min height to prevent content jumping
     * wraps the element if not already wrapped
     * @private
     * @function
     */},{key:'_prepareMenu',value:function _prepareMenu(){var _this=this;// if(!this.options.holdOpen){
//   this._menuLinkEvents();
// }
this.$submenuAnchors.each(function(){var $link=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this);var $sub=$link.parent();if(_this.options.parentLink){$link.clone().prependTo($sub.children('[data-submenu]')).wrap('<li class="is-submenu-parent-item is-submenu-item is-drilldown-submenu-item" role="menuitem"></li>');}$link.data('savedHref',$link.attr('href')).removeAttr('href').attr('tabindex',0);$link.children('[data-submenu]').attr({'aria-hidden':true,'tabindex':0,'role':'group'});_this._events($link);});this.$submenus.each(function(){var $menu=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this),$back=$menu.find('.js-drilldown-back');if(!$back.length){switch(_this.options.backButtonPosition){case"bottom":$menu.append(_this.options.backButton);break;case"top":$menu.prepend(_this.options.backButton);break;default:console.error("Unsupported backButtonPosition value '"+_this.options.backButtonPosition+"'");}}_this._back($menu);});this.$submenus.addClass('invisible');if(!this.options.autoHeight){this.$submenus.addClass('drilldown-submenu-cover-previous');}// create a wrapper on element if it doesn't exist.
if(!this.$element.parent().hasClass('is-drilldown')){this.$wrapper=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.options.wrapper).addClass('is-drilldown');if(this.options.animateHeight)this.$wrapper.addClass('animate-height');this.$element.wrap(this.$wrapper);}// set wrapper
this.$wrapper=this.$element.parent();this.$wrapper.css(this._getMaxDims());}},{key:'_resize',value:function _resize(){this.$wrapper.css({'max-width':'none','min-height':'none'});// _getMaxDims has side effects (boo) but calling it should update all other necessary heights & widths
this.$wrapper.css(this._getMaxDims());}/**
     * Adds event handlers to elements in the menu.
     * @function
     * @private
     * @param {jQuery} $elem - the current menu item to add handlers to.
     */},{key:'_events',value:function _events($elem){var _this=this;$elem.off('click.zf.drilldown').on('click.zf.drilldown',function(e){if(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(e.target).parentsUntil('ul','li').hasClass('is-drilldown-submenu-parent')){e.stopImmediatePropagation();e.preventDefault();}// if(e.target !== e.currentTarget.firstElementChild){
//   return false;
// }
_this._show($elem.parent('li'));if(_this.options.closeOnClick){var $body=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('body');$body.off('.zf.drilldown').on('click.zf.drilldown',function(e){if(e.target===_this.$element[0]||__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.contains(_this.$element[0],e.target)){return;}e.preventDefault();_this._hideAll();$body.off('.zf.drilldown');});}});}/**
     * Adds event handlers to the menu element.
     * @function
     * @private
     */},{key:'_registerEvents',value:function _registerEvents(){if(this.options.scrollTop){this._bindHandler=this._scrollTop.bind(this);this.$element.on('open.zf.drilldown hide.zf.drilldown closed.zf.drilldown',this._bindHandler);}this.$element.on('mutateme.zf.trigger',this._resize.bind(this));}/**
     * Scroll to Top of Element or data-scroll-top-element
     * @function
     * @fires Drilldown#scrollme
     */},{key:'_scrollTop',value:function _scrollTop(){var _this=this;var $scrollTopElement=_this.options.scrollTopElement!=''?__WEBPACK_IMPORTED_MODULE_0_jquery___default()(_this.options.scrollTopElement):_this.$element,scrollPos=parseInt($scrollTopElement.offset().top+_this.options.scrollTopOffset,10);__WEBPACK_IMPORTED_MODULE_0_jquery___default()('html, body').stop(true).animate({scrollTop:scrollPos},_this.options.animationDuration,_this.options.animationEasing,function(){/**
          * Fires after the menu has scrolled
          * @event Drilldown#scrollme
          */if(this===__WEBPACK_IMPORTED_MODULE_0_jquery___default()('html')[0])_this.$element.trigger('scrollme.zf.drilldown');});}/**
     * Adds keydown event listener to `li`'s in the menu.
     * @private
     */},{key:'_keyboardEvents',value:function _keyboardEvents(){var _this=this;this.$menuItems.add(this.$element.find('.js-drilldown-back > a, .is-submenu-parent-item > a')).on('keydown.zf.drilldown',function(e){var $element=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this),$elements=$element.parent('li').parent('ul').children('li').children('a'),$prevElement,$nextElement;$elements.each(function(i){if(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).is($element)){$prevElement=$elements.eq(Math.max(0,i-1));$nextElement=$elements.eq(Math.min(i+1,$elements.length-1));return;}});__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a"/* Keyboard */].handleKey(e,'Drilldown',{next:function next(){if($element.is(_this.$submenuAnchors)){_this._show($element.parent('li'));$element.parent('li').one(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__foundation_util_core__["c"/* transitionend */])($element),function(){$element.parent('li').find('ul li a').filter(_this.$menuItems).first().focus();});return true;}},previous:function previous(){_this._hide($element.parent('li').parent('ul'));$element.parent('li').parent('ul').one(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__foundation_util_core__["c"/* transitionend */])($element),function(){setTimeout(function(){$element.parent('li').parent('ul').parent('li').children('a').first().focus();},1);});return true;},up:function up(){$prevElement.focus();// Don't tap focus on first element in root ul
return!$element.is(_this.$element.find('> li:first-child > a'));},down:function down(){$nextElement.focus();// Don't tap focus on last element in root ul
return!$element.is(_this.$element.find('> li:last-child > a'));},close:function close(){// Don't close on element in root ul
if(!$element.is(_this.$element.find('> li > a'))){_this._hide($element.parent().parent());$element.parent().parent().siblings('a').focus();}},open:function open(){if(!$element.is(_this.$menuItems)){// not menu item means back button
_this._hide($element.parent('li').parent('ul'));$element.parent('li').parent('ul').one(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__foundation_util_core__["c"/* transitionend */])($element),function(){setTimeout(function(){$element.parent('li').parent('ul').parent('li').children('a').first().focus();},1);});return true;}else if($element.is(_this.$submenuAnchors)){_this._show($element.parent('li'));$element.parent('li').one(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__foundation_util_core__["c"/* transitionend */])($element),function(){$element.parent('li').find('ul li a').filter(_this.$menuItems).first().focus();});return true;}},handled:function handled(preventDefault){if(preventDefault){e.preventDefault();}e.stopImmediatePropagation();}});});// end keyboardAccess
}/**
     * Closes all open elements, and returns to root menu.
     * @function
     * @fires Drilldown#closed
     */},{key:'_hideAll',value:function _hideAll(){var $elem=this.$element.find('.is-drilldown-submenu.is-active').addClass('is-closing');if(this.options.autoHeight)this.$wrapper.css({height:$elem.parent().closest('ul').data('calcHeight')});$elem.one(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__foundation_util_core__["c"/* transitionend */])($elem),function(e){$elem.removeClass('is-active is-closing');});/**
       * Fires when the menu is fully closed.
       * @event Drilldown#closed
       */this.$element.trigger('closed.zf.drilldown');}/**
     * Adds event listener for each `back` button, and closes open menus.
     * @function
     * @fires Drilldown#back
     * @param {jQuery} $elem - the current sub-menu to add `back` event.
     */},{key:'_back',value:function _back($elem){var _this=this;$elem.off('click.zf.drilldown');$elem.children('.js-drilldown-back').on('click.zf.drilldown',function(e){e.stopImmediatePropagation();// console.log('mouseup on back');
_this._hide($elem);// If there is a parent submenu, call show
var parentSubMenu=$elem.parent('li').parent('ul').parent('li');if(parentSubMenu.length){_this._show(parentSubMenu);}});}/**
     * Adds event listener to menu items w/o submenus to close open menus on click.
     * @function
     * @private
     */},{key:'_menuLinkEvents',value:function _menuLinkEvents(){var _this=this;this.$menuItems.not('.is-drilldown-submenu-parent').off('click.zf.drilldown').on('click.zf.drilldown',function(e){// e.stopImmediatePropagation();
setTimeout(function(){_this._hideAll();},0);});}/**
     * Opens a submenu.
     * @function
     * @fires Drilldown#open
     * @param {jQuery} $elem - the current element with a submenu to open, i.e. the `li` tag.
     */},{key:'_show',value:function _show($elem){if(this.options.autoHeight)this.$wrapper.css({height:$elem.children('[data-submenu]').data('calcHeight')});$elem.attr('aria-expanded',true);$elem.children('[data-submenu]').addClass('is-active').removeClass('invisible').attr('aria-hidden',false);/**
       * Fires when the submenu has opened.
       * @event Drilldown#open
       */this.$element.trigger('open.zf.drilldown',[$elem]);}},{key:'_hide',/**
     * Hides a submenu
     * @function
     * @fires Drilldown#hide
     * @param {jQuery} $elem - the current sub-menu to hide, i.e. the `ul` tag.
     */value:function _hide($elem){if(this.options.autoHeight)this.$wrapper.css({height:$elem.parent().closest('ul').data('calcHeight')});var _this=this;$elem.parent('li').attr('aria-expanded',false);$elem.attr('aria-hidden',true).addClass('is-closing');$elem.addClass('is-closing').one(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__foundation_util_core__["c"/* transitionend */])($elem),function(){$elem.removeClass('is-active is-closing');$elem.blur().addClass('invisible');});/**
       * Fires when the submenu has closed.
       * @event Drilldown#hide
       */$elem.trigger('hide.zf.drilldown',[$elem]);}/**
     * Iterates through the nested menus to calculate the min-height, and max-width for the menu.
     * Prevents content jumping.
     * @function
     * @private
     */},{key:'_getMaxDims',value:function _getMaxDims(){var maxHeight=0,result={},_this=this;this.$submenus.add(this.$element).each(function(){var numOfElems=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).children('li').length;var height=__WEBPACK_IMPORTED_MODULE_4__foundation_util_box__["a"/* Box */].GetDimensions(this).height;maxHeight=height>maxHeight?height:maxHeight;if(_this.options.autoHeight){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).data('calcHeight',height);if(!__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).hasClass('is-drilldown-submenu'))result['height']=height;}});if(!this.options.autoHeight)result['min-height']=maxHeight+'px';result['max-width']=this.$element[0].getBoundingClientRect().width+'px';return result;}/**
     * Destroys the Drilldown Menu
     * @function
     */},{key:'_destroy',value:function _destroy(){if(this.options.scrollTop)this.$element.off('.zf.drilldown',this._bindHandler);this._hideAll();this.$element.off('mutateme.zf.trigger');__WEBPACK_IMPORTED_MODULE_2__foundation_util_nest__["a"/* Nest */].Burn(this.$element,'drilldown');this.$element.unwrap().find('.js-drilldown-back, .is-submenu-parent-item').remove().end().find('.is-active, .is-closing, .is-drilldown-submenu').removeClass('is-active is-closing is-drilldown-submenu').end().find('[data-submenu]').removeAttr('aria-hidden tabindex role');this.$submenuAnchors.each(function(){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).off('.zf.drilldown');});this.$submenus.removeClass('drilldown-submenu-cover-previous invisible');this.$element.find('a').each(function(){var $link=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this);$link.removeAttr('tabindex');if($link.data('savedHref')){$link.attr('href',$link.data('savedHref')).removeData('savedHref');}else{return;}});}}]);return Drilldown;}(__WEBPACK_IMPORTED_MODULE_5__foundation_plugin__["a"/* Plugin */]);Drilldown.defaults={/**
   * Drilldowns depend on styles in order to function properly; in the default build of Foundation these are
   * on the `drilldown` class. This option auto-applies this class to the drilldown upon initialization.
   * @option
   * @type {boolian}
   * @default true
   */autoApplyClass:true,/**
   * Markup used for JS generated back button. Prepended  or appended (see backButtonPosition) to submenu lists and deleted on `destroy` method, 'js-drilldown-back' class required. Remove the backslash (`\`) if copy and pasting.
   * @option
   * @type {string}
   * @default '<li class="js-drilldown-back"><a tabindex="0">Back</a></li>'
   */backButton:'<li class="js-drilldown-back"><a tabindex="0">Back</a></li>',/**
   * Position the back button either at the top or bottom of drilldown submenus. Can be `'left'` or `'bottom'`.
   * @option
   * @type {string}
   * @default top
   */backButtonPosition:'top',/**
   * Markup used to wrap drilldown menu. Use a class name for independent styling; the JS applied class: `is-drilldown` is required. Remove the backslash (`\`) if copy and pasting.
   * @option
   * @type {string}
   * @default '<div></div>'
   */wrapper:'<div></div>',/**
   * Adds the parent link to the submenu.
   * @option
   * @type {boolean}
   * @default false
   */parentLink:false,/**
   * Allow the menu to return to root list on body click.
   * @option
   * @type {boolean}
   * @default false
   */closeOnClick:false,/**
   * Allow the menu to auto adjust height.
   * @option
   * @type {boolean}
   * @default false
   */autoHeight:false,/**
   * Animate the auto adjust height.
   * @option
   * @type {boolean}
   * @default false
   */animateHeight:false,/**
   * Scroll to the top of the menu after opening a submenu or navigating back using the menu back button
   * @option
   * @type {boolean}
   * @default false
   */scrollTop:false,/**
   * String jquery selector (for example 'body') of element to take offset().top from, if empty string the drilldown menu offset().top is taken
   * @option
   * @type {string}
   * @default ''
   */scrollTopElement:'',/**
   * ScrollTop offset
   * @option
   * @type {number}
   * @default 0
   */scrollTopOffset:0,/**
   * Scroll animation duration
   * @option
   * @type {number}
   * @default 500
   */animationDuration:500,/**
   * Scroll animation easing. Can be `'swing'` or `'linear'`.
   * @option
   * @type {string}
   * @see {@link https://api.jquery.com/animate|JQuery animate}
   * @default 'swing'
   */animationEasing:'swing'// holdOpen: false
};/***/},/* 13 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return DropdownMenu;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__=__webpack_require__(4);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2__foundation_util_nest__=__webpack_require__(9);/* harmony import */var __WEBPACK_IMPORTED_MODULE_3__foundation_util_box__=__webpack_require__(7);/* harmony import */var __WEBPACK_IMPORTED_MODULE_4__foundation_util_core__=__webpack_require__(1);/* harmony import */var __WEBPACK_IMPORTED_MODULE_5__foundation_plugin__=__webpack_require__(2);var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!_instanceof(instance,Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(_typeof2(call)==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+_typeof2(superClass));}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}/**
 * DropdownMenu module.
 * @module foundation.dropdown-menu
 * @requires foundation.util.keyboard
 * @requires foundation.util.box
 * @requires foundation.util.nest
 */var DropdownMenu=function(_Plugin){_inherits(DropdownMenu,_Plugin);function DropdownMenu(){_classCallCheck(this,DropdownMenu);return _possibleConstructorReturn(this,(DropdownMenu.__proto__||Object.getPrototypeOf(DropdownMenu)).apply(this,arguments));}_createClass(DropdownMenu,[{key:'_setup',/**
     * Creates a new instance of DropdownMenu.
     * @class
     * @name DropdownMenu
     * @fires DropdownMenu#init
     * @param {jQuery} element - jQuery object to make into a dropdown menu.
     * @param {Object} options - Overrides to the default plugin settings.
     */value:function _setup(element,options){this.$element=element;this.options=__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend({},DropdownMenu.defaults,this.$element.data(),options);this.className='DropdownMenu';// ie9 back compat
this._init();__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a"/* Keyboard */].register('DropdownMenu',{'ENTER':'open','SPACE':'open','ARROW_RIGHT':'next','ARROW_UP':'up','ARROW_DOWN':'down','ARROW_LEFT':'previous','ESCAPE':'close'});}/**
     * Initializes the plugin, and calls _prepareMenu
     * @private
     * @function
     */},{key:'_init',value:function _init(){__WEBPACK_IMPORTED_MODULE_2__foundation_util_nest__["a"/* Nest */].Feather(this.$element,'dropdown');var subs=this.$element.find('li.is-dropdown-submenu-parent');this.$element.children('.is-dropdown-submenu-parent').children('.is-dropdown-submenu').addClass('first-sub');this.$menuItems=this.$element.find('[role="menuitem"]');this.$tabs=this.$element.children('[role="menuitem"]');this.$tabs.find('ul.is-dropdown-submenu').addClass(this.options.verticalClass);if(this.options.alignment==='auto'){if(this.$element.hasClass(this.options.rightClass)||__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__foundation_util_core__["b"/* rtl */])()||this.$element.parents('.top-bar-right').is('*')){this.options.alignment='right';subs.addClass('opens-left');}else{this.options.alignment='left';subs.addClass('opens-right');}}else{if(this.options.alignment==='right'){subs.addClass('opens-left');}else{subs.addClass('opens-right');}}this.changed=false;this._events();}},{key:'_isVertical',value:function _isVertical(){return this.$tabs.css('display')==='block'||this.$element.css('flex-direction')==='column';}},{key:'_isRtl',value:function _isRtl(){return this.$element.hasClass('align-right')||__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__foundation_util_core__["b"/* rtl */])()&&!this.$element.hasClass('align-left');}/**
     * Adds event listeners to elements within the menu
     * @private
     * @function
     */},{key:'_events',value:function _events(){var _this=this,hasTouch='ontouchstart'in window||typeof window.ontouchstart!=='undefined',parClass='is-dropdown-submenu-parent';// used for onClick and in the keyboard handlers
var handleClickFn=function handleClickFn(e){var $elem=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(e.target).parentsUntil('ul','.'+parClass),hasSub=$elem.hasClass(parClass),hasClicked=$elem.attr('data-is-click')==='true',$sub=$elem.children('.is-dropdown-submenu');if(hasSub){if(hasClicked){if(!_this.options.closeOnClick||!_this.options.clickOpen&&!hasTouch||_this.options.forceFollow&&hasTouch){return;}else{e.stopImmediatePropagation();e.preventDefault();_this._hide($elem);}}else{e.preventDefault();e.stopImmediatePropagation();_this._show($sub);$elem.add($elem.parentsUntil(_this.$element,'.'+parClass)).attr('data-is-click',true);}}};if(this.options.clickOpen||hasTouch){this.$menuItems.on('click.zf.dropdownmenu touchstart.zf.dropdownmenu',handleClickFn);}// Handle Leaf element Clicks
if(_this.options.closeOnClickInside){this.$menuItems.on('click.zf.dropdownmenu',function(e){var $elem=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this),hasSub=$elem.hasClass(parClass);if(!hasSub){_this._hide();}});}if(!this.options.disableHover){this.$menuItems.on('mouseenter.zf.dropdownmenu',function(e){var $elem=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this),hasSub=$elem.hasClass(parClass);if(hasSub){clearTimeout($elem.data('_delay'));$elem.data('_delay',setTimeout(function(){_this._show($elem.children('.is-dropdown-submenu'));},_this.options.hoverDelay));}}).on('mouseleave.zf.dropdownmenu',function(e){var $elem=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this),hasSub=$elem.hasClass(parClass);if(hasSub&&_this.options.autoclose){if($elem.attr('data-is-click')==='true'&&_this.options.clickOpen){return false;}clearTimeout($elem.data('_delay'));$elem.data('_delay',setTimeout(function(){_this._hide($elem);},_this.options.closingTime));}});}this.$menuItems.on('keydown.zf.dropdownmenu',function(e){var $element=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(e.target).parentsUntil('ul','[role="menuitem"]'),isTab=_this.$tabs.index($element)>-1,$elements=isTab?_this.$tabs:$element.siblings('li').add($element),$prevElement,$nextElement;$elements.each(function(i){if(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).is($element)){$prevElement=$elements.eq(i-1);$nextElement=$elements.eq(i+1);return;}});var nextSibling=function nextSibling(){$nextElement.children('a:first').focus();e.preventDefault();},prevSibling=function prevSibling(){$prevElement.children('a:first').focus();e.preventDefault();},openSub=function openSub(){var $sub=$element.children('ul.is-dropdown-submenu');if($sub.length){_this._show($sub);$element.find('li > a:first').focus();e.preventDefault();}else{return;}},closeSub=function closeSub(){//if ($element.is(':first-child')) {
var close=$element.parent('ul').parent('li');close.children('a:first').focus();_this._hide(close);e.preventDefault();//}
};var functions={open:openSub,close:function close(){_this._hide(_this.$element);_this.$menuItems.eq(0).children('a').focus();// focus to first element
e.preventDefault();},handled:function handled(){e.stopImmediatePropagation();}};if(isTab){if(_this._isVertical()){// vertical menu
if(_this._isRtl()){// right aligned
__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend(functions,{down:nextSibling,up:prevSibling,next:closeSub,previous:openSub});}else{// left aligned
__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend(functions,{down:nextSibling,up:prevSibling,next:openSub,previous:closeSub});}}else{// horizontal menu
if(_this._isRtl()){// right aligned
__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend(functions,{next:prevSibling,previous:nextSibling,down:openSub,up:closeSub});}else{// left aligned
__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend(functions,{next:nextSibling,previous:prevSibling,down:openSub,up:closeSub});}}}else{// not tabs -> one sub
if(_this._isRtl()){// right aligned
__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend(functions,{next:closeSub,previous:openSub,down:nextSibling,up:prevSibling});}else{// left aligned
__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend(functions,{next:openSub,previous:closeSub,down:nextSibling,up:prevSibling});}}__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a"/* Keyboard */].handleKey(e,'DropdownMenu',functions);});}/**
     * Adds an event handler to the body to close any dropdowns on a click.
     * @function
     * @private
     */},{key:'_addBodyHandler',value:function _addBodyHandler(){var $body=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(document.body),_this=this;$body.off('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu').on('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu',function(e){var $link=_this.$element.find(e.target);if($link.length){return;}_this._hide();$body.off('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu');});}/**
     * Opens a dropdown pane, and checks for collisions first.
     * @param {jQuery} $sub - ul element that is a submenu to show
     * @function
     * @private
     * @fires DropdownMenu#show
     */},{key:'_show',value:function _show($sub){var idx=this.$tabs.index(this.$tabs.filter(function(i,el){return __WEBPACK_IMPORTED_MODULE_0_jquery___default()(el).find($sub).length>0;}));var $sibs=$sub.parent('li.is-dropdown-submenu-parent').siblings('li.is-dropdown-submenu-parent');this._hide($sibs,idx);$sub.css('visibility','hidden').addClass('js-dropdown-active').parent('li.is-dropdown-submenu-parent').addClass('is-active');var clear=__WEBPACK_IMPORTED_MODULE_3__foundation_util_box__["a"/* Box */].ImNotTouchingYou($sub,null,true);if(!clear){var oldClass=this.options.alignment==='left'?'-right':'-left',$parentLi=$sub.parent('.is-dropdown-submenu-parent');$parentLi.removeClass('opens'+oldClass).addClass('opens-'+this.options.alignment);clear=__WEBPACK_IMPORTED_MODULE_3__foundation_util_box__["a"/* Box */].ImNotTouchingYou($sub,null,true);if(!clear){$parentLi.removeClass('opens-'+this.options.alignment).addClass('opens-inner');}this.changed=true;}$sub.css('visibility','');if(this.options.closeOnClick){this._addBodyHandler();}/**
       * Fires when the new dropdown pane is visible.
       * @event DropdownMenu#show
       */this.$element.trigger('show.zf.dropdownmenu',[$sub]);}/**
     * Hides a single, currently open dropdown pane, if passed a parameter, otherwise, hides everything.
     * @function
     * @param {jQuery} $elem - element with a submenu to hide
     * @param {Number} idx - index of the $tabs collection to hide
     * @private
     */},{key:'_hide',value:function _hide($elem,idx){var $toClose;if($elem&&$elem.length){$toClose=$elem;}else if(idx!==undefined){$toClose=this.$tabs.not(function(i,el){return i===idx;});}else{$toClose=this.$element;}var somethingToClose=$toClose.hasClass('is-active')||$toClose.find('.is-active').length>0;if(somethingToClose){$toClose.find('li.is-active').add($toClose).attr({'data-is-click':false}).removeClass('is-active');$toClose.find('ul.js-dropdown-active').removeClass('js-dropdown-active');if(this.changed||$toClose.find('opens-inner').length){var oldClass=this.options.alignment==='left'?'right':'left';$toClose.find('li.is-dropdown-submenu-parent').add($toClose).removeClass('opens-inner opens-'+this.options.alignment).addClass('opens-'+oldClass);this.changed=false;}/**
         * Fires when the open menus are closed.
         * @event DropdownMenu#hide
         */this.$element.trigger('hide.zf.dropdownmenu',[$toClose]);}}/**
     * Destroys the plugin.
     * @function
     */},{key:'_destroy',value:function _destroy(){this.$menuItems.off('.zf.dropdownmenu').removeAttr('data-is-click').removeClass('is-right-arrow is-left-arrow is-down-arrow opens-right opens-left opens-inner');__WEBPACK_IMPORTED_MODULE_0_jquery___default()(document.body).off('.zf.dropdownmenu');__WEBPACK_IMPORTED_MODULE_2__foundation_util_nest__["a"/* Nest */].Burn(this.$element,'dropdown');}}]);return DropdownMenu;}(__WEBPACK_IMPORTED_MODULE_5__foundation_plugin__["a"/* Plugin */]);/**
 * Default settings for plugin
 */DropdownMenu.defaults={/**
   * Disallows hover events from opening submenus
   * @option
   * @type {boolean}
   * @default false
   */disableHover:false,/**
   * Allow a submenu to automatically close on a mouseleave event, if not clicked open.
   * @option
   * @type {boolean}
   * @default true
   */autoclose:true,/**
   * Amount of time to delay opening a submenu on hover event.
   * @option
   * @type {number}
   * @default 50
   */hoverDelay:50,/**
   * Allow a submenu to open/remain open on parent click event. Allows cursor to move away from menu.
   * @option
   * @type {boolean}
   * @default false
   */clickOpen:false,/**
   * Amount of time to delay closing a submenu on a mouseleave event.
   * @option
   * @type {number}
   * @default 500
   */closingTime:500,/**
   * Position of the menu relative to what direction the submenus should open. Handled by JS. Can be `'auto'`, `'left'` or `'right'`.
   * @option
   * @type {string}
   * @default 'auto'
   */alignment:'auto',/**
   * Allow clicks on the body to close any open submenus.
   * @option
   * @type {boolean}
   * @default true
   */closeOnClick:true,/**
   * Allow clicks on leaf anchor links to close any open submenus.
   * @option
   * @type {boolean}
   * @default true
   */closeOnClickInside:true,/**
   * Class applied to vertical oriented menus, Foundation default is `vertical`. Update this if using your own class.
   * @option
   * @type {string}
   * @default 'vertical'
   */verticalClass:'vertical',/**
   * Class applied to right-side oriented menus, Foundation default is `align-right`. Update this if using your own class.
   * @option
   * @type {string}
   * @default 'align-right'
   */rightClass:'align-right',/**
   * Boolean to force overide the clicking of links to perform default action, on second touch event for mobile.
   * @option
   * @type {boolean}
   * @default true
   */forceFollow:true};/***/},/* 14 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Tabs;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__=__webpack_require__(4);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2__foundation_util_imageLoader__=__webpack_require__(8);/* harmony import */var __WEBPACK_IMPORTED_MODULE_3__foundation_plugin__=__webpack_require__(2);var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!_instanceof(instance,Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(_typeof2(call)==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+_typeof2(superClass));}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}/**
 * Tabs module.
 * @module foundation.tabs
 * @requires foundation.util.keyboard
 * @requires foundation.util.imageLoader if tabs contain images
 */var Tabs=function(_Plugin){_inherits(Tabs,_Plugin);function Tabs(){_classCallCheck(this,Tabs);return _possibleConstructorReturn(this,(Tabs.__proto__||Object.getPrototypeOf(Tabs)).apply(this,arguments));}_createClass(Tabs,[{key:'_setup',/**
     * Creates a new instance of tabs.
     * @class
     * @name Tabs
     * @fires Tabs#init
     * @param {jQuery} element - jQuery object to make into tabs.
     * @param {Object} options - Overrides to the default plugin settings.
     */value:function _setup(element,options){this.$element=element;this.options=__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend({},Tabs.defaults,this.$element.data(),options);this.className='Tabs';// ie9 back compat
this._init();__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a"/* Keyboard */].register('Tabs',{'ENTER':'open','SPACE':'open','ARROW_RIGHT':'next','ARROW_UP':'previous','ARROW_DOWN':'next','ARROW_LEFT':'previous'// 'TAB': 'next',
// 'SHIFT_TAB': 'previous'
});}/**
     * Initializes the tabs by showing and focusing (if autoFocus=true) the preset active tab.
     * @private
     */},{key:'_init',value:function _init(){var _this3=this;var _this=this;this.$element.attr({'role':'tablist'});this.$tabTitles=this.$element.find('.'+this.options.linkClass);this.$tabContent=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-tabs-content="'+this.$element[0].id+'"]');this.$tabTitles.each(function(){var $elem=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this),$link=$elem.find('a'),isActive=$elem.hasClass(''+_this.options.linkActiveClass),hash=$link.attr('data-tabs-target')||$link[0].hash.slice(1),linkId=$link[0].id?$link[0].id:hash+'-label',$tabContent=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('#'+hash);$elem.attr({'role':'presentation'});$link.attr({'role':'tab','aria-controls':hash,'aria-selected':isActive,'id':linkId,'tabindex':isActive?'0':'-1'});$tabContent.attr({'role':'tabpanel','aria-labelledby':linkId});if(!isActive){$tabContent.attr('aria-hidden','true');}if(isActive&&_this.options.autoFocus){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).load(function(){__WEBPACK_IMPORTED_MODULE_0_jquery___default()('html, body').animate({scrollTop:$elem.offset().top},_this.options.deepLinkSmudgeDelay,function(){$link.focus();});});}});if(this.options.matchHeight){var $images=this.$tabContent.find('img');if($images.length){__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__foundation_util_imageLoader__["a"/* onImagesLoaded */])($images,this._setHeight.bind(this));}else{this._setHeight();}}//current context-bound function to open tabs on page load or history popstate
this._checkDeepLink=function(){var anchor=window.location.hash;//need a hash and a relevant anchor in this tabset
if(anchor.length){var $link=_this3.$element.find('[href$="'+anchor+'"]');if($link.length){_this3.selectTab(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(anchor),true);//roll up a little to show the titles
if(_this3.options.deepLinkSmudge){var offset=_this3.$element.offset();__WEBPACK_IMPORTED_MODULE_0_jquery___default()('html, body').animate({scrollTop:offset.top},_this3.options.deepLinkSmudgeDelay);}/**
              * Fires when the zplugin has deeplinked at pageload
              * @event Tabs#deeplink
              */_this3.$element.trigger('deeplink.zf.tabs',[$link,__WEBPACK_IMPORTED_MODULE_0_jquery___default()(anchor)]);}}};//use browser to open a tab, if it exists in this tabset
if(this.options.deepLink){this._checkDeepLink();}this._events();}/**
     * Adds event handlers for items within the tabs.
     * @private
     */},{key:'_events',value:function _events(){this._addKeyHandler();this._addClickHandler();this._setHeightMqHandler=null;if(this.options.matchHeight){this._setHeightMqHandler=this._setHeight.bind(this);__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).on('changed.zf.mediaquery',this._setHeightMqHandler);}if(this.options.deepLink){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).on('popstate',this._checkDeepLink);}}/**
     * Adds click handlers for items within the tabs.
     * @private
     */},{key:'_addClickHandler',value:function _addClickHandler(){var _this=this;this.$element.off('click.zf.tabs').on('click.zf.tabs','.'+this.options.linkClass,function(e){e.preventDefault();e.stopPropagation();_this._handleTabChange(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this));});}/**
     * Adds keyboard event handlers for items within the tabs.
     * @private
     */},{key:'_addKeyHandler',value:function _addKeyHandler(){var _this=this;this.$tabTitles.off('keydown.zf.tabs').on('keydown.zf.tabs',function(e){if(e.which===9)return;var $element=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this),$elements=$element.parent('ul').children('li'),$prevElement,$nextElement;$elements.each(function(i){if(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).is($element)){if(_this.options.wrapOnKeys){$prevElement=i===0?$elements.last():$elements.eq(i-1);$nextElement=i===$elements.length-1?$elements.first():$elements.eq(i+1);}else{$prevElement=$elements.eq(Math.max(0,i-1));$nextElement=$elements.eq(Math.min(i+1,$elements.length-1));}return;}});// handle keyboard event with keyboard util
__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a"/* Keyboard */].handleKey(e,'Tabs',{open:function open(){$element.find('[role="tab"]').focus();_this._handleTabChange($element);},previous:function previous(){$prevElement.find('[role="tab"]').focus();_this._handleTabChange($prevElement);},next:function next(){$nextElement.find('[role="tab"]').focus();_this._handleTabChange($nextElement);},handled:function handled(){e.stopPropagation();e.preventDefault();}});});}/**
     * Opens the tab `$targetContent` defined by `$target`. Collapses active tab.
     * @param {jQuery} $target - Tab to open.
     * @param {boolean} historyHandled - browser has already handled a history update
     * @fires Tabs#change
     * @function
     */},{key:'_handleTabChange',value:function _handleTabChange($target,historyHandled){/**
       * Check for active class on target. Collapse if exists.
       */if($target.hasClass(''+this.options.linkActiveClass)){if(this.options.activeCollapse){this._collapseTab($target);/**
           * Fires when the zplugin has successfully collapsed tabs.
           * @event Tabs#collapse
           */this.$element.trigger('collapse.zf.tabs',[$target]);}return;}var $oldTab=this.$element.find('.'+this.options.linkClass+'.'+this.options.linkActiveClass),$tabLink=$target.find('[role="tab"]'),hash=$tabLink.attr('data-tabs-target')||$tabLink[0].hash.slice(1),$targetContent=this.$tabContent.find('#'+hash);//close old tab
this._collapseTab($oldTab);//open new tab
this._openTab($target);//either replace or update browser history
if(this.options.deepLink&&!historyHandled){var anchor=$target.find('a').attr('href');if(this.options.updateHistory){history.pushState({},'',anchor);}else{history.replaceState({},'',anchor);}}/**
       * Fires when the plugin has successfully changed tabs.
       * @event Tabs#change
       */this.$element.trigger('change.zf.tabs',[$target,$targetContent]);//fire to children a mutation event
$targetContent.find("[data-mutate]").trigger("mutateme.zf.trigger");}/**
     * Opens the tab `$targetContent` defined by `$target`.
     * @param {jQuery} $target - Tab to Open.
     * @function
     */},{key:'_openTab',value:function _openTab($target){var $tabLink=$target.find('[role="tab"]'),hash=$tabLink.attr('data-tabs-target')||$tabLink[0].hash.slice(1),$targetContent=this.$tabContent.find('#'+hash);$target.addClass(''+this.options.linkActiveClass);$tabLink.attr({'aria-selected':'true','tabindex':'0'});$targetContent.addClass(''+this.options.panelActiveClass).removeAttr('aria-hidden');}/**
     * Collapses `$targetContent` defined by `$target`.
     * @param {jQuery} $target - Tab to Open.
     * @function
     */},{key:'_collapseTab',value:function _collapseTab($target){var $target_anchor=$target.removeClass(''+this.options.linkActiveClass).find('[role="tab"]').attr({'aria-selected':'false','tabindex':-1});__WEBPACK_IMPORTED_MODULE_0_jquery___default()('#'+$target_anchor.attr('aria-controls')).removeClass(''+this.options.panelActiveClass).attr({'aria-hidden':'true'});}/**
     * Public method for selecting a content pane to display.
     * @param {jQuery | String} elem - jQuery object or string of the id of the pane to display.
     * @param {boolean} historyHandled - browser has already handled a history update
     * @function
     */},{key:'selectTab',value:function selectTab(elem,historyHandled){var idStr;if(_typeof2(elem)==='object'){idStr=elem[0].id;}else{idStr=elem;}if(idStr.indexOf('#')<0){idStr='#'+idStr;}var $target=this.$tabTitles.find('[href$="'+idStr+'"]').parent('.'+this.options.linkClass);this._handleTabChange($target,historyHandled);}},{key:'_setHeight',/**
     * Sets the height of each panel to the height of the tallest panel.
     * If enabled in options, gets called on media query change.
     * If loading content via external source, can be called directly or with _reflow.
     * If enabled with `data-match-height="true"`, tabs sets to equal height
     * @function
     * @private
     */value:function _setHeight(){var max=0,_this=this;// Lock down the `this` value for the root tabs object
this.$tabContent.find('.'+this.options.panelClass).css('height','').each(function(){var panel=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this),isActive=panel.hasClass(''+_this.options.panelActiveClass);// get the options from the parent instead of trying to get them from the child
if(!isActive){panel.css({'visibility':'hidden','display':'block'});}var temp=this.getBoundingClientRect().height;if(!isActive){panel.css({'visibility':'','display':''});}max=temp>max?temp:max;}).css('height',max+'px');}/**
     * Destroys an instance of an tabs.
     * @fires Tabs#destroyed
     */},{key:'_destroy',value:function _destroy(){this.$element.find('.'+this.options.linkClass).off('.zf.tabs').hide().end().find('.'+this.options.panelClass).hide();if(this.options.matchHeight){if(this._setHeightMqHandler!=null){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).off('changed.zf.mediaquery',this._setHeightMqHandler);}}if(this.options.deepLink){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).off('popstate',this._checkDeepLink);}}}]);return Tabs;}(__WEBPACK_IMPORTED_MODULE_3__foundation_plugin__["a"/* Plugin */]);Tabs.defaults={/**
   * Allows the window to scroll to content of pane specified by hash anchor
   * @option
   * @type {boolean}
   * @default false
   */deepLink:false,/**
   * Adjust the deep link scroll to make sure the top of the tab panel is visible
   * @option
   * @type {boolean}
   * @default false
   */deepLinkSmudge:false,/**
   * Animation time (ms) for the deep link adjustment
   * @option
   * @type {number}
   * @default 300
   */deepLinkSmudgeDelay:300,/**
   * Update the browser history with the open tab
   * @option
   * @type {boolean}
   * @default false
   */updateHistory:false,/**
   * Allows the window to scroll to content of active pane on load if set to true.
   * Not recommended if more than one tab panel per page.
   * @option
   * @type {boolean}
   * @default false
   */autoFocus:false,/**
   * Allows keyboard input to 'wrap' around the tab links.
   * @option
   * @type {boolean}
   * @default true
   */wrapOnKeys:true,/**
   * Allows the tab content panes to match heights if set to true.
   * @option
   * @type {boolean}
   * @default false
   */matchHeight:false,/**
   * Allows active tabs to collapse when clicked.
   * @option
   * @type {boolean}
   * @default false
   */activeCollapse:false,/**
   * Class applied to `li`'s in tab link list.
   * @option
   * @type {string}
   * @default 'tabs-title'
   */linkClass:'tabs-title',/**
   * Class applied to the active `li` in tab link list.
   * @option
   * @type {string}
   * @default 'is-active'
   */linkActiveClass:'is-active',/**
   * Class applied to the content containers.
   * @option
   * @type {string}
   * @default 'tabs-panel'
   */panelClass:'tabs-panel',/**
   * Class applied to the active content container.
   * @option
   * @type {string}
   * @default 'is-active'
   */panelActiveClass:'is-active'};/***/},/* 15 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Positionable;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0__foundation_util_box__=__webpack_require__(7);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_plugin__=__webpack_require__(2);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2__foundation_util_core__=__webpack_require__(1);var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!_instanceof(instance,Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(_typeof2(call)==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+_typeof2(superClass));}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var POSITIONS=['left','right','top','bottom'];var VERTICAL_ALIGNMENTS=['top','bottom','center'];var HORIZONTAL_ALIGNMENTS=['left','right','center'];var ALIGNMENTS={'left':VERTICAL_ALIGNMENTS,'right':VERTICAL_ALIGNMENTS,'top':HORIZONTAL_ALIGNMENTS,'bottom':HORIZONTAL_ALIGNMENTS};function nextItem(item,array){var currentIdx=array.indexOf(item);if(currentIdx===array.length-1){return array[0];}else{return array[currentIdx+1];}}var Positionable=function(_Plugin){_inherits(Positionable,_Plugin);function Positionable(){_classCallCheck(this,Positionable);return _possibleConstructorReturn(this,(Positionable.__proto__||Object.getPrototypeOf(Positionable)).apply(this,arguments));}_createClass(Positionable,[{key:'_init',/**
     * Abstract class encapsulating the tether-like explicit positioning logic
     * including repositioning based on overlap.
     * Expects classes to define defaults for vOffset, hOffset, position,
     * alignment, allowOverlap, and allowBottomOverlap. They can do this by
     * extending the defaults, or (for now recommended due to the way docs are
     * generated) by explicitly declaring them.
     *
     **/value:function _init(){this.triedPositions={};this.position=this.options.position==='auto'?this._getDefaultPosition():this.options.position;this.alignment=this.options.alignment==='auto'?this._getDefaultAlignment():this.options.alignment;}},{key:'_getDefaultPosition',value:function _getDefaultPosition(){return'bottom';}},{key:'_getDefaultAlignment',value:function _getDefaultAlignment(){switch(this.position){case'bottom':case'top':return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__foundation_util_core__["b"/* rtl */])()?'right':'left';case'left':case'right':return'bottom';}}/**
     * Adjusts the positionable possible positions by iterating through alignments
     * and positions.
     * @function
     * @private
     */},{key:'_reposition',value:function _reposition(){if(this._alignmentsExhausted(this.position)){this.position=nextItem(this.position,POSITIONS);this.alignment=ALIGNMENTS[this.position][0];}else{this._realign();}}/**
     * Adjusts the dropdown pane possible positions by iterating through alignments
     * on the current position.
     * @function
     * @private
     */},{key:'_realign',value:function _realign(){this._addTriedPosition(this.position,this.alignment);this.alignment=nextItem(this.alignment,ALIGNMENTS[this.position]);}},{key:'_addTriedPosition',value:function _addTriedPosition(position,alignment){this.triedPositions[position]=this.triedPositions[position]||[];this.triedPositions[position].push(alignment);}},{key:'_positionsExhausted',value:function _positionsExhausted(){var isExhausted=true;for(var i=0;i<POSITIONS.length;i++){isExhausted=isExhausted&&this._alignmentsExhausted(POSITIONS[i]);}return isExhausted;}},{key:'_alignmentsExhausted',value:function _alignmentsExhausted(position){return this.triedPositions[position]&&this.triedPositions[position].length==ALIGNMENTS[position].length;}// When we're trying to center, we don't want to apply offset that's going to
// take us just off center, so wrap around to return 0 for the appropriate
// offset in those alignments.  TODO: Figure out if we want to make this
// configurable behavior... it feels more intuitive, especially for tooltips, but
// it's possible someone might actually want to start from center and then nudge
// slightly off.
},{key:'_getVOffset',value:function _getVOffset(){return this.options.vOffset;}},{key:'_getHOffset',value:function _getHOffset(){return this.options.hOffset;}},{key:'_setPosition',value:function _setPosition($anchor,$element,$parent){if($anchor.attr('aria-expanded')==='false'){return false;}var $eleDims=__WEBPACK_IMPORTED_MODULE_0__foundation_util_box__["a"/* Box */].GetDimensions($element),$anchorDims=__WEBPACK_IMPORTED_MODULE_0__foundation_util_box__["a"/* Box */].GetDimensions($anchor);$element.offset(__WEBPACK_IMPORTED_MODULE_0__foundation_util_box__["a"/* Box */].GetExplicitOffsets($element,$anchor,this.position,this.alignment,this._getVOffset(),this._getHOffset()));if(!this.options.allowOverlap){var overlaps={};var minOverlap=100000000;// default coordinates to how we start, in case we can't figure out better
var minCoordinates={position:this.position,alignment:this.alignment};while(!this._positionsExhausted()){var overlap=__WEBPACK_IMPORTED_MODULE_0__foundation_util_box__["a"/* Box */].OverlapArea($element,$parent,false,false,this.options.allowBottomOverlap);if(overlap===0){return;}if(overlap<minOverlap){minOverlap=overlap;minCoordinates={position:this.position,alignment:this.alignment};}this._reposition();$element.offset(__WEBPACK_IMPORTED_MODULE_0__foundation_util_box__["a"/* Box */].GetExplicitOffsets($element,$anchor,this.position,this.alignment,this._getVOffset(),this._getHOffset()));}// If we get through the entire loop, there was no non-overlapping
// position available. Pick the version with least overlap.
this.position=minCoordinates.position;this.alignment=minCoordinates.alignment;$element.offset(__WEBPACK_IMPORTED_MODULE_0__foundation_util_box__["a"/* Box */].GetExplicitOffsets($element,$anchor,this.position,this.alignment,this._getVOffset(),this._getHOffset()));}}}]);return Positionable;}(__WEBPACK_IMPORTED_MODULE_1__foundation_plugin__["a"/* Plugin */]);Positionable.defaults={/**
   * Position of positionable relative to anchor. Can be left, right, bottom, top, or auto.
   * @option
   * @type {string}
   * @default 'auto'
   */position:'auto',/**
   * Alignment of positionable relative to anchor. Can be left, right, bottom, top, center, or auto.
   * @option
   * @type {string}
   * @default 'auto'
   */alignment:'auto',/**
   * Allow overlap of container/window. If false, dropdown positionable first
   * try to position as defined by data-position and data-alignment, but
   * reposition if it would cause an overflow.
   * @option
   * @type {boolean}
   * @default false
   */allowOverlap:false,/**
   * Allow overlap of only the bottom of the container. This is the most common
   * behavior for dropdowns, allowing the dropdown to extend the bottom of the
   * screen but not otherwise influence or break out of the container.
   * @option
   * @type {boolean}
   * @default true
   */allowBottomOverlap:true,/**
   * Number of pixels the positionable should be separated vertically from anchor
   * @option
   * @type {number}
   * @default 0
   */vOffset:0,/**
   * Number of pixels the positionable should be separated horizontally from anchor
   * @option
   * @type {number}
   * @default 0
   */hOffset:0};/***/},/* 16 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Touch;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!_instanceof(instance,Constructor)){throw new TypeError("Cannot call a class as a function");}}//**************************************************
//**Work inspired by multiple jquery swipe plugins**
//**Done by Yohai Ararat ***************************
//**************************************************
var Touch={};var startPosX,startPosY,startTime,elapsedTime,isMoving=false;function onTouchEnd(){//  alert(this);
this.removeEventListener('touchmove',onTouchMove);this.removeEventListener('touchend',onTouchEnd);isMoving=false;}function onTouchMove(e){if(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.spotSwipe.preventDefault){e.preventDefault();}if(isMoving){var x=e.touches[0].pageX;var y=e.touches[0].pageY;var dx=startPosX-x;var dy=startPosY-y;var dir;elapsedTime=new Date().getTime()-startTime;if(Math.abs(dx)>=__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.spotSwipe.moveThreshold&&elapsedTime<=__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.spotSwipe.timeThreshold){dir=dx>0?'left':'right';}// else if(Math.abs(dy) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {
//   dir = dy > 0 ? 'down' : 'up';
// }
if(dir){e.preventDefault();onTouchEnd.call(this);__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).trigger('swipe',dir).trigger('swipe'+dir);}}}function onTouchStart(e){if(e.touches.length==1){startPosX=e.touches[0].pageX;startPosY=e.touches[0].pageY;isMoving=true;startTime=new Date().getTime();this.addEventListener('touchmove',onTouchMove,false);this.addEventListener('touchend',onTouchEnd,false);}}function init(){this.addEventListener&&this.addEventListener('touchstart',onTouchStart,false);}function teardown(){this.removeEventListener('touchstart',onTouchStart);}var SpotSwipe=function(){function SpotSwipe($){_classCallCheck(this,SpotSwipe);this.version='1.0.0';this.enabled='ontouchstart'in document.documentElement;this.preventDefault=false;this.moveThreshold=75;this.timeThreshold=200;this.$=$;this._init();}_createClass(SpotSwipe,[{key:'_init',value:function _init(){var $=this.$;$.event.special.swipe={setup:init};$.each(['left','up','down','right'],function(){$.event.special['swipe'+this]={setup:function setup(){$(this).on('swipe',$.noop);}};});}}]);return SpotSwipe;}();/****************************************************
 * As far as I can tell, both setupSpotSwipe and    *
 * setupTouchHandler should be idempotent,          *
 * because they directly replace functions &        *
 * values, and do not add event handlers directly.  *
 ****************************************************/Touch.setupSpotSwipe=function($){$.spotSwipe=new SpotSwipe($);};/****************************************************
 * Method for adding pseudo drag events to elements *
 ***************************************************/Touch.setupTouchHandler=function($){$.fn.addTouch=function(){this.each(function(i,el){$(el).bind('touchstart touchmove touchend touchcancel',function(){//we pass the original event object because the jQuery event
//object is normalized to w3c specs and does not provide the TouchList
handleTouch(event);});});var handleTouch=function handleTouch(event){var touches=event.changedTouches,first=touches[0],eventTypes={touchstart:'mousedown',touchmove:'mousemove',touchend:'mouseup'},type=eventTypes[event.type],simulatedEvent;if('MouseEvent'in window&&typeof window.MouseEvent==='function'){simulatedEvent=new window.MouseEvent(type,{'bubbles':true,'cancelable':true,'screenX':first.screenX,'screenY':first.screenY,'clientX':first.clientX,'clientY':first.clientY});}else{simulatedEvent=document.createEvent('MouseEvent');simulatedEvent.initMouseEvent(type,true,true,window,1,first.screenX,first.screenY,first.clientX,first.clientY,false,false,false,false,0/*left*/,null);}first.target.dispatchEvent(simulatedEvent);};};};Touch.init=function($){if(typeof $.spotSwipe==='undefined'){Touch.setupSpotSwipe($);Touch.setupTouchHandler($);}};/***/},/* 17 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Abide;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_plugin__=__webpack_require__(2);var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!_instanceof(instance,Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(_typeof2(call)==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+_typeof2(superClass));}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}/**
 * Abide module.
 * @module foundation.abide
 */var Abide=function(_Plugin){_inherits(Abide,_Plugin);function Abide(){_classCallCheck(this,Abide);return _possibleConstructorReturn(this,(Abide.__proto__||Object.getPrototypeOf(Abide)).apply(this,arguments));}_createClass(Abide,[{key:'_setup',/**
     * Creates a new instance of Abide.
     * @class
     * @name Abide
     * @fires Abide#init
     * @param {Object} element - jQuery object to add the trigger to.
     * @param {Object} options - Overrides to the default plugin settings.
     */value:function _setup(element){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};this.$element=element;this.options=__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend(true,{},Abide.defaults,this.$element.data(),options);this.className='Abide';// ie9 back compat
this._init();}/**
     * Initializes the Abide plugin and calls functions to get Abide functioning on load.
     * @private
     */},{key:'_init',value:function _init(){this.$inputs=this.$element.find('input, textarea, select');this._events();}/**
     * Initializes events for Abide.
     * @private
     */},{key:'_events',value:function _events(){var _this3=this;this.$element.off('.abide').on('reset.zf.abide',function(){_this3.resetForm();}).on('submit.zf.abide',function(){return _this3.validateForm();});if(this.options.validateOn==='fieldChange'){this.$inputs.off('change.zf.abide').on('change.zf.abide',function(e){_this3.validateInput(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(e.target));});}if(this.options.liveValidate){this.$inputs.off('input.zf.abide').on('input.zf.abide',function(e){_this3.validateInput(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(e.target));});}if(this.options.validateOnBlur){this.$inputs.off('blur.zf.abide').on('blur.zf.abide',function(e){_this3.validateInput(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(e.target));});}}/**
     * Calls necessary functions to update Abide upon DOM change
     * @private
     */},{key:'_reflow',value:function _reflow(){this._init();}/**
     * Checks whether or not a form element has the required attribute and if it's checked or not
     * @param {Object} element - jQuery object to check for required attribute
     * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty
     */},{key:'requiredCheck',value:function requiredCheck($el){if(!$el.attr('required'))return true;var isGood=true;switch($el[0].type){case'checkbox':isGood=$el[0].checked;break;case'select':case'select-one':case'select-multiple':var opt=$el.find('option:selected');if(!opt.length||!opt.val())isGood=false;break;default:if(!$el.val()||!$el.val().length)isGood=false;}return isGood;}/**
     * Get:
     * - Based on $el, the first element(s) corresponding to `formErrorSelector` in this order:
     *   1. The element's direct sibling('s).
     *   2. The element's parent's children.
     * - Element(s) with the attribute `[data-form-error-for]` set with the element's id.
     *
     * This allows for multiple form errors per input, though if none are found, no form errors will be shown.
     *
     * @param {Object} $el - jQuery object to use as reference to find the form error selector.
     * @returns {Object} jQuery object with the selector.
     */},{key:'findFormError',value:function findFormError($el){var id=$el[0].id;var $error=$el.siblings(this.options.formErrorSelector);if(!$error.length){$error=$el.parent().find(this.options.formErrorSelector);}$error=$error.add(this.$element.find('[data-form-error-for="'+id+'"]'));return $error;}/**
     * Get the first element in this order:
     * 2. The <label> with the attribute `[for="someInputId"]`
     * 3. The `.closest()` <label>
     *
     * @param {Object} $el - jQuery object to check for required attribute
     * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty
     */},{key:'findLabel',value:function findLabel($el){var id=$el[0].id;var $label=this.$element.find('label[for="'+id+'"]');if(!$label.length){return $el.closest('label');}return $label;}/**
     * Get the set of labels associated with a set of radio els in this order
     * 2. The <label> with the attribute `[for="someInputId"]`
     * 3. The `.closest()` <label>
     *
     * @param {Object} $el - jQuery object to check for required attribute
     * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty
     */},{key:'findRadioLabels',value:function findRadioLabels($els){var _this4=this;var labels=$els.map(function(i,el){var id=el.id;var $label=_this4.$element.find('label[for="'+id+'"]');if(!$label.length){$label=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(el).closest('label');}return $label[0];});return __WEBPACK_IMPORTED_MODULE_0_jquery___default()(labels);}/**
     * Adds the CSS error class as specified by the Abide settings to the label, input, and the form
     * @param {Object} $el - jQuery object to add the class to
     */},{key:'addErrorClasses',value:function addErrorClasses($el){var $label=this.findLabel($el);var $formError=this.findFormError($el);if($label.length){$label.addClass(this.options.labelErrorClass);}if($formError.length){$formError.addClass(this.options.formErrorClass);}$el.addClass(this.options.inputErrorClass).attr('data-invalid','');}/**
     * Remove CSS error classes etc from an entire radio button group
     * @param {String} groupName - A string that specifies the name of a radio button group
     *
     */},{key:'removeRadioErrorClasses',value:function removeRadioErrorClasses(groupName){var $els=this.$element.find(':radio[name="'+groupName+'"]');var $labels=this.findRadioLabels($els);var $formErrors=this.findFormError($els);if($labels.length){$labels.removeClass(this.options.labelErrorClass);}if($formErrors.length){$formErrors.removeClass(this.options.formErrorClass);}$els.removeClass(this.options.inputErrorClass).removeAttr('data-invalid');}/**
     * Removes CSS error class as specified by the Abide settings from the label, input, and the form
     * @param {Object} $el - jQuery object to remove the class from
     */},{key:'removeErrorClasses',value:function removeErrorClasses($el){// radios need to clear all of the els
if($el[0].type=='radio'){return this.removeRadioErrorClasses($el.attr('name'));}var $label=this.findLabel($el);var $formError=this.findFormError($el);if($label.length){$label.removeClass(this.options.labelErrorClass);}if($formError.length){$formError.removeClass(this.options.formErrorClass);}$el.removeClass(this.options.inputErrorClass).removeAttr('data-invalid');}/**
     * Goes through a form to find inputs and proceeds to validate them in ways specific to their type.
     * Ignores inputs with data-abide-ignore, type="hidden" or disabled attributes set
     * @fires Abide#invalid
     * @fires Abide#valid
     * @param {Object} element - jQuery object to validate, should be an HTML input
     * @returns {Boolean} goodToGo - If the input is valid or not.
     */},{key:'validateInput',value:function validateInput($el){var _this5=this;var clearRequire=this.requiredCheck($el),validated=false,customValidator=true,validator=$el.attr('data-validator'),equalTo=true;// don't validate ignored inputs or hidden inputs or disabled inputs
if($el.is('[data-abide-ignore]')||$el.is('[type="hidden"]')||$el.is('[disabled]')){return true;}switch($el[0].type){case'radio':validated=this.validateRadio($el.attr('name'));break;case'checkbox':validated=clearRequire;break;case'select':case'select-one':case'select-multiple':validated=clearRequire;break;default:validated=this.validateText($el);}if(validator){customValidator=this.matchValidation($el,validator,$el.attr('required'));}if($el.attr('data-equalto')){equalTo=this.options.validators.equalTo($el);}var goodToGo=[clearRequire,validated,customValidator,equalTo].indexOf(false)===-1;var message=(goodToGo?'valid':'invalid')+'.zf.abide';if(goodToGo){// Re-validate inputs that depend on this one with equalto
var dependentElements=this.$element.find('[data-equalto="'+$el.attr('id')+'"]');if(dependentElements.length){(function(){var _this=_this5;dependentElements.each(function(){if(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).val()){_this.validateInput(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this));}});})();}}this[goodToGo?'removeErrorClasses':'addErrorClasses']($el);/**
       * Fires when the input is done checking for validation. Event trigger is either `valid.zf.abide` or `invalid.zf.abide`
       * Trigger includes the DOM element of the input.
       * @event Abide#valid
       * @event Abide#invalid
       */$el.trigger(message,[$el]);return goodToGo;}/**
     * Goes through a form and if there are any invalid inputs, it will display the form error element
     * @returns {Boolean} noError - true if no errors were detected...
     * @fires Abide#formvalid
     * @fires Abide#forminvalid
     */},{key:'validateForm',value:function validateForm(){var acc=[];var _this=this;this.$inputs.each(function(){acc.push(_this.validateInput(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this)));});var noError=acc.indexOf(false)===-1;this.$element.find('[data-abide-error]').css('display',noError?'none':'block');/**
       * Fires when the form is finished validating. Event trigger is either `formvalid.zf.abide` or `forminvalid.zf.abide`.
       * Trigger includes the element of the form.
       * @event Abide#formvalid
       * @event Abide#forminvalid
       */this.$element.trigger((noError?'formvalid':'forminvalid')+'.zf.abide',[this.$element]);return noError;}/**
     * Determines whether or a not a text input is valid based on the pattern specified in the attribute. If no matching pattern is found, returns true.
     * @param {Object} $el - jQuery object to validate, should be a text input HTML element
     * @param {String} pattern - string value of one of the RegEx patterns in Abide.options.patterns
     * @returns {Boolean} Boolean value depends on whether or not the input value matches the pattern specified
     */},{key:'validateText',value:function validateText($el,pattern){// A pattern can be passed to this function, or it will be infered from the input's "pattern" attribute, or it's "type" attribute
pattern=pattern||$el.attr('pattern')||$el.attr('type');var inputText=$el.val();var valid=false;if(inputText.length){// If the pattern attribute on the element is in Abide's list of patterns, then test that regexp
if(this.options.patterns.hasOwnProperty(pattern)){valid=this.options.patterns[pattern].test(inputText);}// If the pattern name isn't also the type attribute of the field, then test it as a regexp
else if(pattern!==$el.attr('type')){valid=new RegExp(pattern).test(inputText);}else{valid=true;}}// An empty field is valid if it's not required
else if(!$el.prop('required')){valid=true;}return valid;}/**
     * Determines whether or a not a radio input is valid based on whether or not it is required and selected. Although the function targets a single `<input>`, it validates by checking the `required` and `checked` properties of all radio buttons in its group.
     * @param {String} groupName - A string that specifies the name of a radio button group
     * @returns {Boolean} Boolean value depends on whether or not at least one radio input has been selected (if it's required)
     */},{key:'validateRadio',value:function validateRadio(groupName){// If at least one radio in the group has the `required` attribute, the group is considered required
// Per W3C spec, all radio buttons in a group should have `required`, but we're being nice
var $group=this.$element.find(':radio[name="'+groupName+'"]');var valid=false,required=false;// For the group to be required, at least one radio needs to be required
$group.each(function(i,e){if(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(e).attr('required')){required=true;}});if(!required)valid=true;if(!valid){// For the group to be valid, at least one radio needs to be checked
$group.each(function(i,e){if(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(e).prop('checked')){valid=true;}});};return valid;}/**
     * Determines if a selected input passes a custom validation function. Multiple validations can be used, if passed to the element with `data-validator="foo bar baz"` in a space separated listed.
     * @param {Object} $el - jQuery input element.
     * @param {String} validators - a string of function names matching functions in the Abide.options.validators object.
     * @param {Boolean} required - self explanatory?
     * @returns {Boolean} - true if validations passed.
     */},{key:'matchValidation',value:function matchValidation($el,validators,required){var _this6=this;required=required?true:false;var clear=validators.split(' ').map(function(v){return _this6.options.validators[v]($el,required,$el.parent());});return clear.indexOf(false)===-1;}/**
     * Resets form inputs and styles
     * @fires Abide#formreset
     */},{key:'resetForm',value:function resetForm(){var $form=this.$element,opts=this.options;__WEBPACK_IMPORTED_MODULE_0_jquery___default()('.'+opts.labelErrorClass,$form).not('small').removeClass(opts.labelErrorClass);__WEBPACK_IMPORTED_MODULE_0_jquery___default()('.'+opts.inputErrorClass,$form).not('small').removeClass(opts.inputErrorClass);__WEBPACK_IMPORTED_MODULE_0_jquery___default()(opts.formErrorSelector+'.'+opts.formErrorClass).removeClass(opts.formErrorClass);$form.find('[data-abide-error]').css('display','none');__WEBPACK_IMPORTED_MODULE_0_jquery___default()(':input',$form).not(':button, :submit, :reset, :hidden, :radio, :checkbox, [data-abide-ignore]').val('').removeAttr('data-invalid');__WEBPACK_IMPORTED_MODULE_0_jquery___default()(':input:radio',$form).not('[data-abide-ignore]').prop('checked',false).removeAttr('data-invalid');__WEBPACK_IMPORTED_MODULE_0_jquery___default()(':input:checkbox',$form).not('[data-abide-ignore]').prop('checked',false).removeAttr('data-invalid');/**
       * Fires when the form has been reset.
       * @event Abide#formreset
       */$form.trigger('formreset.zf.abide',[$form]);}/**
     * Destroys an instance of Abide.
     * Removes error styles and classes from elements, without resetting their values.
     */},{key:'_destroy',value:function _destroy(){var _this=this;this.$element.off('.abide').find('[data-abide-error]').css('display','none');this.$inputs.off('.abide').each(function(){_this.removeErrorClasses(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this));});}}]);return Abide;}(__WEBPACK_IMPORTED_MODULE_1__foundation_plugin__["a"/* Plugin */]);/**
 * Default settings for plugin
 */Abide.defaults={/**
   * The default event to validate inputs. Checkboxes and radios validate immediately.
   * Remove or change this value for manual validation.
   * @option
   * @type {?string}
   * @default 'fieldChange'
   */validateOn:'fieldChange',/**
   * Class to be applied to input labels on failed validation.
   * @option
   * @type {string}
   * @default 'is-invalid-label'
   */labelErrorClass:'is-invalid-label',/**
   * Class to be applied to inputs on failed validation.
   * @option
   * @type {string}
   * @default 'is-invalid-input'
   */inputErrorClass:'is-invalid-input',/**
   * Class selector to use to target Form Errors for show/hide.
   * @option
   * @type {string}
   * @default '.form-error'
   */formErrorSelector:'.form-error',/**
   * Class added to Form Errors on failed validation.
   * @option
   * @type {string}
   * @default 'is-visible'
   */formErrorClass:'is-visible',/**
   * Set to true to validate text inputs on any value change.
   * @option
   * @type {boolean}
   * @default false
   */liveValidate:false,/**
   * Set to true to validate inputs on blur.
   * @option
   * @type {boolean}
   * @default false
   */validateOnBlur:false,patterns:{alpha:/^[a-zA-Z]+$/,alpha_numeric:/^[a-zA-Z0-9]+$/,integer:/^[-+]?\d+$/,number:/^[-+]?\d*(?:[\.\,]\d+)?$/,// amex, visa, diners
card:/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|(?:222[1-9]|2[3-6][0-9]{2}|27[0-1][0-9]|2720)[0-9]{12}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,cvv:/^([0-9]){3,4}$/,// http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address
email:/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/,url:/^(https?|ftp|file|ssh):\/\/(((([a-zA-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-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/,// abc.de
domain:/^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/,datetime:/^([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))$/,// YYYY-MM-DD
date:/(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/,// HH:MM:SS
time:/^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,dateISO:/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/,// MM/DD/YYYY
month_day_year:/^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/,// DD/MM/YYYY
day_month_year:/^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/,// #FFF or #FFFFFF
color:/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/,// Domain || URL
website:{test:function test(text){return Abide.defaults.patterns['domain'].test(text)||Abide.defaults.patterns['url'].test(text);}}},/**
   * Optional validation functions to be used. `equalTo` being the only default included function.
   * Functions should return only a boolean if the input is valid or not. Functions are given the following arguments:
   * el : The jQuery element to validate.
   * required : Boolean value of the required attribute be present or not.
   * parent : The direct parent of the input.
   * @option
   */validators:{equalTo:function equalTo(el,required,parent){return __WEBPACK_IMPORTED_MODULE_0_jquery___default()('#'+el.attr('data-equalto')).val()===el.val();}}};/***/},/* 18 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Foundation;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_core__=__webpack_require__(1);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2__foundation_util_mediaQuery__=__webpack_require__(3);var FOUNDATION_VERSION='6.4.2';// Global Foundation object
// This is attached to the window, or used as a module for AMD/Browserify
var Foundation={version:FOUNDATION_VERSION,/**
   * Stores initialized plugins.
   */_plugins:{},/**
   * Stores generated unique ids for plugin instances
   */_uuids:[],/**
   * Defines a Foundation plugin, adding it to the `Foundation` namespace and the list of plugins to initialize when reflowing.
   * @param {Object} plugin - The constructor of the plugin.
   */plugin:function plugin(_plugin,name){// Object key to use when adding to global Foundation object
// Examples: Foundation.Reveal, Foundation.OffCanvas
var className=name||functionName(_plugin);// Object key to use when storing the plugin, also used to create the identifying data attribute for the plugin
// Examples: data-reveal, data-off-canvas
var attrName=hyphenate(className);// Add to the Foundation object and the plugins list (for reflowing)
this._plugins[attrName]=this[className]=_plugin;},/**
   * @function
   * Populates the _uuids array with pointers to each individual plugin instance.
   * Adds the `zfPlugin` data-attribute to programmatically created plugins to allow use of $(selector).foundation(method) calls.
   * Also fires the initialization event for each plugin, consolidating repetitive code.
   * @param {Object} plugin - an instance of a plugin, usually `this` in context.
   * @param {String} name - the name of the plugin, passed as a camelCased string.
   * @fires Plugin#init
   */registerPlugin:function registerPlugin(plugin,name){var pluginName=name?hyphenate(name):functionName(plugin.constructor).toLowerCase();plugin.uuid=__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__foundation_util_core__["a"/* GetYoDigits */])(6,pluginName);if(!plugin.$element.attr('data-'+pluginName)){plugin.$element.attr('data-'+pluginName,plugin.uuid);}if(!plugin.$element.data('zfPlugin')){plugin.$element.data('zfPlugin',plugin);}/**
     * Fires when the plugin has initialized.
     * @event Plugin#init
     */plugin.$element.trigger('init.zf.'+pluginName);this._uuids.push(plugin.uuid);return;},/**
   * @function
   * Removes the plugins uuid from the _uuids array.
   * Removes the zfPlugin data attribute, as well as the data-plugin-name attribute.
   * Also fires the destroyed event for the plugin, consolidating repetitive code.
   * @param {Object} plugin - an instance of a plugin, usually `this` in context.
   * @fires Plugin#destroyed
   */unregisterPlugin:function unregisterPlugin(plugin){var pluginName=hyphenate(functionName(plugin.$element.data('zfPlugin').constructor));this._uuids.splice(this._uuids.indexOf(plugin.uuid),1);plugin.$element.removeAttr('data-'+pluginName).removeData('zfPlugin')/**
     * Fires when the plugin has been destroyed.
     * @event Plugin#destroyed
     */.trigger('destroyed.zf.'+pluginName);for(var prop in plugin){plugin[prop]=null;//clean up script to prep for garbage collection.
}return;},/**
   * @function
   * Causes one or more active plugins to re-initialize, resetting event listeners, recalculating positions, etc.
   * @param {String} plugins - optional string of an individual plugin key, attained by calling `$(element).data('pluginName')`, or string of a plugin class i.e. `'dropdown'`
   * @default If no argument is passed, reflow all currently active plugins.
   */reInit:function reInit(plugins){var isJQ=_instanceof(plugins,__WEBPACK_IMPORTED_MODULE_0_jquery___default.a);try{if(isJQ){plugins.each(function(){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).data('zfPlugin')._init();});}else{var type=_typeof2(plugins),_this=this,fns={'object':function object(plgs){plgs.forEach(function(p){p=hyphenate(p);__WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-'+p+']').foundation('_init');});},'string':function string(){plugins=hyphenate(plugins);__WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-'+plugins+']').foundation('_init');},'undefined':function undefined(){this['object'](Object.keys(_this._plugins));}};fns[type](plugins);}}catch(err){console.error(err);}finally{return plugins;}},/**
   * Initialize plugins on any elements within `elem` (and `elem` itself) that aren't already initialized.
   * @param {Object} elem - jQuery object containing the element to check inside. Also checks the element itself, unless it's the `document` object.
   * @param {String|Array} plugins - A list of plugins to initialize. Leave this out to initialize everything.
   */reflow:function reflow(elem,plugins){// If plugins is undefined, just grab everything
if(typeof plugins==='undefined'){plugins=Object.keys(this._plugins);}// If plugins is a string, convert it to an array with one item
else if(typeof plugins==='string'){plugins=[plugins];}var _this=this;// Iterate through each plugin
__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.each(plugins,function(i,name){// Get the current plugin
var plugin=_this._plugins[name];// Localize the search to all elements inside elem, as well as elem itself, unless elem === document
var $elem=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(elem).find('[data-'+name+']').addBack('[data-'+name+']');// For each plugin found, initialize it
$elem.each(function(){var $el=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this),opts={};// Don't double-dip on plugins
if($el.data('zfPlugin')){console.warn("Tried to initialize "+name+" on an element that already has a Foundation plugin.");return;}if($el.attr('data-options')){var thing=$el.attr('data-options').split(';').forEach(function(e,i){var opt=e.split(':').map(function(el){return el.trim();});if(opt[0])opts[opt[0]]=parseValue(opt[1]);});}try{$el.data('zfPlugin',new plugin(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this),opts));}catch(er){console.error(er);}finally{return;}});});},getFnName:functionName,addToJquery:function addToJquery($){// TODO: consider not making this a jQuery function
// TODO: need way to reflow vs. re-initialize
/**
     * The Foundation jQuery method.
     * @param {String|Array} method - An action to perform on the current jQuery object.
     */var foundation=function foundation(method){var type=_typeof2(method),$noJS=$('.no-js');if($noJS.length){$noJS.removeClass('no-js');}if(type==='undefined'){//needs to initialize the Foundation object, or an individual plugin.
__WEBPACK_IMPORTED_MODULE_2__foundation_util_mediaQuery__["a"/* MediaQuery */]._init();Foundation.reflow(this);}else if(type==='string'){//an individual method to invoke on a plugin or group of plugins
var args=Array.prototype.slice.call(arguments,1);//collect all the arguments, if necessary
var plugClass=this.data('zfPlugin');//determine the class of plugin
if(plugClass!==undefined&&plugClass[method]!==undefined){//make sure both the class and method exist
if(this.length===1){//if there's only one, call it directly.
plugClass[method].apply(plugClass,args);}else{this.each(function(i,el){//otherwise loop through the jQuery collection and invoke the method on each
plugClass[method].apply($(el).data('zfPlugin'),args);});}}else{//error for no class or no method
throw new ReferenceError("We're sorry, '"+method+"' is not an available method for "+(plugClass?functionName(plugClass):'this element')+'.');}}else{//error for invalid argument type
throw new TypeError('We\'re sorry, '+type+' is not a valid parameter. You must use a string representing the method you wish to invoke.');}return this;};$.fn.foundation=foundation;return $;}};Foundation.util={/**
   * Function for applying a debounce effect to a function call.
   * @function
   * @param {Function} func - Function to be called at end of timeout.
   * @param {Number} delay - Time in ms to delay the call of `func`.
   * @returns function
   */throttle:function throttle(func,delay){var timer=null;return function(){var context=this,args=arguments;if(timer===null){timer=setTimeout(function(){func.apply(context,args);timer=null;},delay);}};}};window.Foundation=Foundation;// Polyfill for requestAnimationFrame
(function(){if(!Date.now||!window.Date.now)window.Date.now=Date.now=function(){return new Date().getTime();};var vendors=['webkit','moz'];for(var i=0;i<vendors.length&&!window.requestAnimationFrame;++i){var vp=vendors[i];window.requestAnimationFrame=window[vp+'RequestAnimationFrame'];window.cancelAnimationFrame=window[vp+'CancelAnimationFrame']||window[vp+'CancelRequestAnimationFrame'];}if(/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent)||!window.requestAnimationFrame||!window.cancelAnimationFrame){var lastTime=0;window.requestAnimationFrame=function(callback){var now=Date.now();var nextTime=Math.max(lastTime+16,now);return setTimeout(function(){callback(lastTime=nextTime);},nextTime-now);};window.cancelAnimationFrame=clearTimeout;}/**
   * Polyfill for performance.now, required by rAF
   */if(!window.performance||!window.performance.now){window.performance={start:Date.now(),now:function now(){return Date.now()-this.start;}};}})();if(!Function.prototype.bind){Function.prototype.bind=function(oThis){if(typeof this!=='function'){// closest thing possible to the ECMAScript 5
// internal IsCallable function
throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable');}var aArgs=Array.prototype.slice.call(arguments,1),fToBind=this,fNOP=function fNOP(){},fBound=function fBound(){return fToBind.apply(_instanceof(this,fNOP)?this:oThis,aArgs.concat(Array.prototype.slice.call(arguments)));};if(this.prototype){// native functions don't have a prototype
fNOP.prototype=this.prototype;}fBound.prototype=new fNOP();return fBound;};}// Polyfill to get the name of a function in IE9
function functionName(fn){if(Function.prototype.name===undefined){var funcNameRegex=/function\s([^(]{1,})\(/;var results=funcNameRegex.exec(fn.toString());return results&&results.length>1?results[1].trim():"";}else if(fn.prototype===undefined){return fn.constructor.name;}else{return fn.prototype.constructor.name;}}function parseValue(str){if('true'===str)return true;else if('false'===str)return false;else if(!isNaN(str*1))return parseFloat(str);return str;}// Convert PascalCase to kebab-case
// Thank you: http://stackoverflow.com/a/8955580
function hyphenate(str){return str.replace(/([a-z])([A-Z])/g,'$1-$2').toLowerCase();}/***/},/* 19 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Dropdown;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__=__webpack_require__(4);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2__foundation_util_core__=__webpack_require__(1);/* harmony import */var __WEBPACK_IMPORTED_MODULE_3__foundation_positionable__=__webpack_require__(15);/* harmony import */var __WEBPACK_IMPORTED_MODULE_4__foundation_util_triggers__=__webpack_require__(5);var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();var _get=function get(object,property,receiver){if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined;}else{return get(parent,property,receiver);}}else if("value"in desc){return desc.value;}else{var getter=desc.get;if(getter===undefined){return undefined;}return getter.call(receiver);}};function _classCallCheck(instance,Constructor){if(!_instanceof(instance,Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(_typeof2(call)==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+_typeof2(superClass));}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}/**
 * Dropdown module.
 * @module foundation.dropdown
 * @requires foundation.util.keyboard
 * @requires foundation.util.box
 * @requires foundation.util.triggers
 */var Dropdown=function(_Positionable){_inherits(Dropdown,_Positionable);function Dropdown(){_classCallCheck(this,Dropdown);return _possibleConstructorReturn(this,(Dropdown.__proto__||Object.getPrototypeOf(Dropdown)).apply(this,arguments));}_createClass(Dropdown,[{key:'_setup',/**
     * Creates a new instance of a dropdown.
     * @class
     * @name Dropdown
     * @param {jQuery} element - jQuery object to make into a dropdown.
     *        Object should be of the dropdown panel, rather than its anchor.
     * @param {Object} options - Overrides to the default plugin settings.
     */value:function _setup(element,options){this.$element=element;this.options=__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend({},Dropdown.defaults,this.$element.data(),options);this.className='Dropdown';// ie9 back compat
// Triggers init is idempotent, just need to make sure it is initialized
__WEBPACK_IMPORTED_MODULE_4__foundation_util_triggers__["a"/* Triggers */].init(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a);this._init();__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a"/* Keyboard */].register('Dropdown',{'ENTER':'open','SPACE':'open','ESCAPE':'close'});}/**
     * Initializes the plugin by setting/checking options and attributes, adding helper variables, and saving the anchor.
     * @function
     * @private
     */},{key:'_init',value:function _init(){var $id=this.$element.attr('id');this.$anchors=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-toggle="'+$id+'"]').length?__WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-toggle="'+$id+'"]'):__WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-open="'+$id+'"]');this.$anchors.attr({'aria-controls':$id,'data-is-focus':false,'data-yeti-box':$id,'aria-haspopup':true,'aria-expanded':false});this._setCurrentAnchor(this.$anchors.first());if(this.options.parentClass){this.$parent=this.$element.parents('.'+this.options.parentClass);}else{this.$parent=null;}this.$element.attr({'aria-hidden':'true','data-yeti-box':$id,'data-resize':$id,'aria-labelledby':this.$currentAnchor.id||__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__foundation_util_core__["a"/* GetYoDigits */])(6,'dd-anchor')});_get(Dropdown.prototype.__proto__||Object.getPrototypeOf(Dropdown.prototype),'_init',this).call(this);this._events();}},{key:'_getDefaultPosition',value:function _getDefaultPosition(){// handle legacy classnames
var position=this.$element[0].className.match(/(top|left|right|bottom)/g);if(position){return position[0];}else{return'bottom';}}},{key:'_getDefaultAlignment',value:function _getDefaultAlignment(){// handle legacy float approach
var horizontalPosition=/float-(\S+)/.exec(this.$currentAnchor.className);if(horizontalPosition){return horizontalPosition[1];}return _get(Dropdown.prototype.__proto__||Object.getPrototypeOf(Dropdown.prototype),'_getDefaultAlignment',this).call(this);}/**
     * Sets the position and orientation of the dropdown pane, checks for collisions if allow-overlap is not true.
     * Recursively calls itself if a collision is detected, with a new position class.
     * @function
     * @private
     */},{key:'_setPosition',value:function _setPosition(){_get(Dropdown.prototype.__proto__||Object.getPrototypeOf(Dropdown.prototype),'_setPosition',this).call(this,this.$currentAnchor,this.$element,this.$parent);}/**
     * Make it a current anchor.
     * Current anchor as the reference for the position of Dropdown panes.
     * @param {HTML} el - DOM element of the anchor.
     * @function
     * @private
     */},{key:'_setCurrentAnchor',value:function _setCurrentAnchor(el){this.$currentAnchor=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(el);}/**
     * Adds event listeners to the element utilizing the triggers utility library.
     * @function
     * @private
     */},{key:'_events',value:function _events(){var _this=this;this.$element.on({'open.zf.trigger':this.open.bind(this),'close.zf.trigger':this.close.bind(this),'toggle.zf.trigger':this.toggle.bind(this),'resizeme.zf.trigger':this._setPosition.bind(this)});this.$anchors.off('click.zf.trigger').on('click.zf.trigger',function(){_this._setCurrentAnchor(this);});if(this.options.hover){this.$anchors.off('mouseenter.zf.dropdown mouseleave.zf.dropdown').on('mouseenter.zf.dropdown',function(){_this._setCurrentAnchor(this);var bodyData=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('body').data();if(typeof bodyData.whatinput==='undefined'||bodyData.whatinput==='mouse'){clearTimeout(_this.timeout);_this.timeout=setTimeout(function(){_this.open();_this.$anchors.data('hover',true);},_this.options.hoverDelay);}}).on('mouseleave.zf.dropdown',function(){clearTimeout(_this.timeout);_this.timeout=setTimeout(function(){_this.close();_this.$anchors.data('hover',false);},_this.options.hoverDelay);});if(this.options.hoverPane){this.$element.off('mouseenter.zf.dropdown mouseleave.zf.dropdown').on('mouseenter.zf.dropdown',function(){clearTimeout(_this.timeout);}).on('mouseleave.zf.dropdown',function(){clearTimeout(_this.timeout);_this.timeout=setTimeout(function(){_this.close();_this.$anchors.data('hover',false);},_this.options.hoverDelay);});}}this.$anchors.add(this.$element).on('keydown.zf.dropdown',function(e){var $target=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this),visibleFocusableElements=__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a"/* Keyboard */].findFocusable(_this.$element);__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a"/* Keyboard */].handleKey(e,'Dropdown',{open:function open(){if($target.is(_this.$anchors)){_this.open();_this.$element.attr('tabindex',-1).focus();e.preventDefault();}},close:function close(){_this.close();_this.$anchors.focus();}});});}/**
     * Adds an event handler to the body to close any dropdowns on a click.
     * @function
     * @private
     */},{key:'_addBodyHandler',value:function _addBodyHandler(){var $body=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(document.body).not(this.$element),_this=this;$body.off('click.zf.dropdown').on('click.zf.dropdown',function(e){if(_this.$anchors.is(e.target)||_this.$anchors.find(e.target).length){return;}if(_this.$element.find(e.target).length){return;}_this.close();$body.off('click.zf.dropdown');});}/**
     * Opens the dropdown pane, and fires a bubbling event to close other dropdowns.
     * @function
     * @fires Dropdown#closeme
     * @fires Dropdown#show
     */},{key:'open',value:function open(){// var _this = this;
/**
       * Fires to close other open dropdowns, typically when dropdown is opening
       * @event Dropdown#closeme
       */this.$element.trigger('closeme.zf.dropdown',this.$element.attr('id'));this.$anchors.addClass('hover').attr({'aria-expanded':true});// this.$element/*.show()*/;
this.$element.addClass('is-opening');this._setPosition();this.$element.removeClass('is-opening').addClass('is-open').attr({'aria-hidden':false});if(this.options.autoFocus){var $focusable=__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a"/* Keyboard */].findFocusable(this.$element);if($focusable.length){$focusable.eq(0).focus();}}if(this.options.closeOnClick){this._addBodyHandler();}if(this.options.trapFocus){__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a"/* Keyboard */].trapFocus(this.$element);}/**
       * Fires once the dropdown is visible.
       * @event Dropdown#show
       */this.$element.trigger('show.zf.dropdown',[this.$element]);}/**
     * Closes the open dropdown pane.
     * @function
     * @fires Dropdown#hide
     */},{key:'close',value:function close(){if(!this.$element.hasClass('is-open')){return false;}this.$element.removeClass('is-open').attr({'aria-hidden':true});this.$anchors.removeClass('hover').attr('aria-expanded',false);/**
       * Fires once the dropdown is no longer visible.
       * @event Dropdown#hide
       */this.$element.trigger('hide.zf.dropdown',[this.$element]);if(this.options.trapFocus){__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a"/* Keyboard */].releaseFocus(this.$element);}}/**
     * Toggles the dropdown pane's visibility.
     * @function
     */},{key:'toggle',value:function toggle(){if(this.$element.hasClass('is-open')){if(this.$anchors.data('hover'))return;this.close();}else{this.open();}}/**
     * Destroys the dropdown.
     * @function
     */},{key:'_destroy',value:function _destroy(){this.$element.off('.zf.trigger').hide();this.$anchors.off('.zf.dropdown');__WEBPACK_IMPORTED_MODULE_0_jquery___default()(document.body).off('click.zf.dropdown');}}]);return Dropdown;}(__WEBPACK_IMPORTED_MODULE_3__foundation_positionable__["a"/* Positionable */]);Dropdown.defaults={/**
   * Class that designates bounding container of Dropdown (default: window)
   * @option
   * @type {?string}
   * @default null
   */parentClass:null,/**
   * Amount of time to delay opening a submenu on hover event.
   * @option
   * @type {number}
   * @default 250
   */hoverDelay:250,/**
   * Allow submenus to open on hover events
   * @option
   * @type {boolean}
   * @default false
   */hover:false,/**
   * Don't close dropdown when hovering over dropdown pane
   * @option
   * @type {boolean}
   * @default false
   */hoverPane:false,/**
   * Number of pixels between the dropdown pane and the triggering element on open.
   * @option
   * @type {number}
   * @default 0
   */vOffset:0,/**
   * Number of pixels between the dropdown pane and the triggering element on open.
   * @option
   * @type {number}
   * @default 0
   */hOffset:0,/**
   * DEPRECATED: Class applied to adjust open position.
   * @option
   * @type {string}
   * @default ''
   */positionClass:'',/**
   * Position of dropdown. Can be left, right, bottom, top, or auto.
   * @option
   * @type {string}
   * @default 'auto'
   */position:'auto',/**
   * Alignment of dropdown relative to anchor. Can be left, right, bottom, top, center, or auto.
   * @option
   * @type {string}
   * @default 'auto'
   */alignment:'auto',/**
   * Allow overlap of container/window. If false, dropdown will first try to position as defined by data-position and data-alignment, but reposition if it would cause an overflow.
   * @option
   * @type {boolean}
   * @default false
   */allowOverlap:false,/**
   * Allow overlap of only the bottom of the container. This is the most common
   * behavior for dropdowns, allowing the dropdown to extend the bottom of the
   * screen but not otherwise influence or break out of the container.
   * @option
   * @type {boolean}
   * @default true
   */allowBottomOverlap:true,/**
   * Allow the plugin to trap focus to the dropdown pane if opened with keyboard commands.
   * @option
   * @type {boolean}
   * @default false
   */trapFocus:false,/**
   * Allow the plugin to set focus to the first focusable element within the pane, regardless of method of opening.
   * @option
   * @type {boolean}
   * @default false
   */autoFocus:false,/**
   * Allows a click on the body to close the dropdown.
   * @option
   * @type {boolean}
   * @default false
   */closeOnClick:false};/***/},/* 20 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Equalizer;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_mediaQuery__=__webpack_require__(3);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2__foundation_util_imageLoader__=__webpack_require__(8);/* harmony import */var __WEBPACK_IMPORTED_MODULE_3__foundation_util_core__=__webpack_require__(1);/* harmony import */var __WEBPACK_IMPORTED_MODULE_4__foundation_plugin__=__webpack_require__(2);var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!_instanceof(instance,Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(_typeof2(call)==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+_typeof2(superClass));}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}/**
 * Equalizer module.
 * @module foundation.equalizer
 * @requires foundation.util.mediaQuery
 * @requires foundation.util.imageLoader if equalizer contains images
 */var Equalizer=function(_Plugin){_inherits(Equalizer,_Plugin);function Equalizer(){_classCallCheck(this,Equalizer);return _possibleConstructorReturn(this,(Equalizer.__proto__||Object.getPrototypeOf(Equalizer)).apply(this,arguments));}_createClass(Equalizer,[{key:'_setup',/**
     * Creates a new instance of Equalizer.
     * @class
     * @name Equalizer
     * @fires Equalizer#init
     * @param {Object} element - jQuery object to add the trigger to.
     * @param {Object} options - Overrides to the default plugin settings.
     */value:function _setup(element,options){this.$element=element;this.options=__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend({},Equalizer.defaults,this.$element.data(),options);this.className='Equalizer';// ie9 back compat
this._init();}/**
     * Initializes the Equalizer plugin and calls functions to get equalizer functioning on load.
     * @private
     */},{key:'_init',value:function _init(){var eqId=this.$element.attr('data-equalizer')||'';var $watched=this.$element.find('[data-equalizer-watch="'+eqId+'"]');__WEBPACK_IMPORTED_MODULE_1__foundation_util_mediaQuery__["a"/* MediaQuery */]._init();this.$watched=$watched.length?$watched:this.$element.find('[data-equalizer-watch]');this.$element.attr('data-resize',eqId||__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__foundation_util_core__["a"/* GetYoDigits */])(6,'eq'));this.$element.attr('data-mutate',eqId||__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__foundation_util_core__["a"/* GetYoDigits */])(6,'eq'));this.hasNested=this.$element.find('[data-equalizer]').length>0;this.isNested=this.$element.parentsUntil(document.body,'[data-equalizer]').length>0;this.isOn=false;this._bindHandler={onResizeMeBound:this._onResizeMe.bind(this),onPostEqualizedBound:this._onPostEqualized.bind(this)};var imgs=this.$element.find('img');var tooSmall;if(this.options.equalizeOn){tooSmall=this._checkMQ();__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).on('changed.zf.mediaquery',this._checkMQ.bind(this));}else{this._events();}if(tooSmall!==undefined&&tooSmall===false||tooSmall===undefined){if(imgs.length){__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__foundation_util_imageLoader__["a"/* onImagesLoaded */])(imgs,this._reflow.bind(this));}else{this._reflow();}}}/**
     * Removes event listeners if the breakpoint is too small.
     * @private
     */},{key:'_pauseEvents',value:function _pauseEvents(){this.isOn=false;this.$element.off({'.zf.equalizer':this._bindHandler.onPostEqualizedBound,'resizeme.zf.trigger':this._bindHandler.onResizeMeBound,'mutateme.zf.trigger':this._bindHandler.onResizeMeBound});}/**
     * function to handle $elements resizeme.zf.trigger, with bound this on _bindHandler.onResizeMeBound
     * @private
     */},{key:'_onResizeMe',value:function _onResizeMe(e){this._reflow();}/**
     * function to handle $elements postequalized.zf.equalizer, with bound this on _bindHandler.onPostEqualizedBound
     * @private
     */},{key:'_onPostEqualized',value:function _onPostEqualized(e){if(e.target!==this.$element[0]){this._reflow();}}/**
     * Initializes events for Equalizer.
     * @private
     */},{key:'_events',value:function _events(){var _this=this;this._pauseEvents();if(this.hasNested){this.$element.on('postequalized.zf.equalizer',this._bindHandler.onPostEqualizedBound);}else{this.$element.on('resizeme.zf.trigger',this._bindHandler.onResizeMeBound);this.$element.on('mutateme.zf.trigger',this._bindHandler.onResizeMeBound);}this.isOn=true;}/**
     * Checks the current breakpoint to the minimum required size.
     * @private
     */},{key:'_checkMQ',value:function _checkMQ(){var tooSmall=!__WEBPACK_IMPORTED_MODULE_1__foundation_util_mediaQuery__["a"/* MediaQuery */].is(this.options.equalizeOn);if(tooSmall){if(this.isOn){this._pauseEvents();this.$watched.css('height','auto');}}else{if(!this.isOn){this._events();}}return tooSmall;}/**
     * A noop version for the plugin
     * @private
     */},{key:'_killswitch',value:function _killswitch(){return;}/**
     * Calls necessary functions to update Equalizer upon DOM change
     * @private
     */},{key:'_reflow',value:function _reflow(){if(!this.options.equalizeOnStack){if(this._isStacked()){this.$watched.css('height','auto');return false;}}if(this.options.equalizeByRow){this.getHeightsByRow(this.applyHeightByRow.bind(this));}else{this.getHeights(this.applyHeight.bind(this));}}/**
     * Manually determines if the first 2 elements are *NOT* stacked.
     * @private
     */},{key:'_isStacked',value:function _isStacked(){if(!this.$watched[0]||!this.$watched[1]){return true;}return this.$watched[0].getBoundingClientRect().top!==this.$watched[1].getBoundingClientRect().top;}/**
     * Finds the outer heights of children contained within an Equalizer parent and returns them in an array
     * @param {Function} cb - A non-optional callback to return the heights array to.
     * @returns {Array} heights - An array of heights of children within Equalizer container
     */},{key:'getHeights',value:function getHeights(cb){var heights=[];for(var i=0,len=this.$watched.length;i<len;i++){this.$watched[i].style.height='auto';heights.push(this.$watched[i].offsetHeight);}cb(heights);}/**
     * Finds the outer heights of children contained within an Equalizer parent and returns them in an array
     * @param {Function} cb - A non-optional callback to return the heights array to.
     * @returns {Array} groups - An array of heights of children within Equalizer container grouped by row with element,height and max as last child
     */},{key:'getHeightsByRow',value:function getHeightsByRow(cb){var lastElTopOffset=this.$watched.length?this.$watched.first().offset().top:0,groups=[],group=0;//group by Row
groups[group]=[];for(var i=0,len=this.$watched.length;i<len;i++){this.$watched[i].style.height='auto';//maybe could use this.$watched[i].offsetTop
var elOffsetTop=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$watched[i]).offset().top;if(elOffsetTop!=lastElTopOffset){group++;groups[group]=[];lastElTopOffset=elOffsetTop;}groups[group].push([this.$watched[i],this.$watched[i].offsetHeight]);}for(var j=0,ln=groups.length;j<ln;j++){var heights=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(groups[j]).map(function(){return this[1];}).get();var max=Math.max.apply(null,heights);groups[j].push(max);}cb(groups);}/**
     * Changes the CSS height property of each child in an Equalizer parent to match the tallest
     * @param {array} heights - An array of heights of children within Equalizer container
     * @fires Equalizer#preequalized
     * @fires Equalizer#postequalized
     */},{key:'applyHeight',value:function applyHeight(heights){var max=Math.max.apply(null,heights);/**
       * Fires before the heights are applied
       * @event Equalizer#preequalized
       */this.$element.trigger('preequalized.zf.equalizer');this.$watched.css('height',max);/**
       * Fires when the heights have been applied
       * @event Equalizer#postequalized
       */this.$element.trigger('postequalized.zf.equalizer');}/**
     * Changes the CSS height property of each child in an Equalizer parent to match the tallest by row
     * @param {array} groups - An array of heights of children within Equalizer container grouped by row with element,height and max as last child
     * @fires Equalizer#preequalized
     * @fires Equalizer#preequalizedrow
     * @fires Equalizer#postequalizedrow
     * @fires Equalizer#postequalized
     */},{key:'applyHeightByRow',value:function applyHeightByRow(groups){/**
       * Fires before the heights are applied
       */this.$element.trigger('preequalized.zf.equalizer');for(var i=0,len=groups.length;i<len;i++){var groupsILength=groups[i].length,max=groups[i][groupsILength-1];if(groupsILength<=2){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(groups[i][0][0]).css({'height':'auto'});continue;}/**
          * Fires before the heights per row are applied
          * @event Equalizer#preequalizedrow
          */this.$element.trigger('preequalizedrow.zf.equalizer');for(var j=0,lenJ=groupsILength-1;j<lenJ;j++){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(groups[i][j][0]).css({'height':max});}/**
          * Fires when the heights per row have been applied
          * @event Equalizer#postequalizedrow
          */this.$element.trigger('postequalizedrow.zf.equalizer');}/**
       * Fires when the heights have been applied
       */this.$element.trigger('postequalized.zf.equalizer');}/**
     * Destroys an instance of Equalizer.
     * @function
     */},{key:'_destroy',value:function _destroy(){this._pauseEvents();this.$watched.css('height','auto');}}]);return Equalizer;}(__WEBPACK_IMPORTED_MODULE_4__foundation_plugin__["a"/* Plugin */]);/**
 * Default settings for plugin
 */Equalizer.defaults={/**
   * Enable height equalization when stacked on smaller screens.
   * @option
   * @type {boolean}
   * @default false
   */equalizeOnStack:false,/**
   * Enable height equalization row by row.
   * @option
   * @type {boolean}
   * @default false
   */equalizeByRow:false,/**
   * String representing the minimum breakpoint size the plugin should equalize heights on.
   * @option
   * @type {string}
   * @default ''
   */equalizeOn:''};/***/},/* 21 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Interchange;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_mediaQuery__=__webpack_require__(3);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2__foundation_plugin__=__webpack_require__(2);/* harmony import */var __WEBPACK_IMPORTED_MODULE_3__foundation_util_core__=__webpack_require__(1);var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!_instanceof(instance,Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(_typeof2(call)==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+_typeof2(superClass));}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}/**
 * Interchange module.
 * @module foundation.interchange
 * @requires foundation.util.mediaQuery
 */var Interchange=function(_Plugin){_inherits(Interchange,_Plugin);function Interchange(){_classCallCheck(this,Interchange);return _possibleConstructorReturn(this,(Interchange.__proto__||Object.getPrototypeOf(Interchange)).apply(this,arguments));}_createClass(Interchange,[{key:'_setup',/**
     * Creates a new instance of Interchange.
     * @class
     * @name Interchange
     * @fires Interchange#init
     * @param {Object} element - jQuery object to add the trigger to.
     * @param {Object} options - Overrides to the default plugin settings.
     */value:function _setup(element,options){this.$element=element;this.options=__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend({},Interchange.defaults,options);this.rules=[];this.currentPath='';this.className='Interchange';// ie9 back compat
this._init();this._events();}/**
     * Initializes the Interchange plugin and calls functions to get interchange functioning on load.
     * @function
     * @private
     */},{key:'_init',value:function _init(){__WEBPACK_IMPORTED_MODULE_1__foundation_util_mediaQuery__["a"/* MediaQuery */]._init();var id=this.$element[0].id||__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__foundation_util_core__["a"/* GetYoDigits */])(6,'interchange');this.$element.attr({'data-resize':id,'id':id});this._addBreakpoints();this._generateRules();this._reflow();}/**
     * Initializes events for Interchange.
     * @function
     * @private
     */},{key:'_events',value:function _events(){var _this3=this;this.$element.off('resizeme.zf.trigger').on('resizeme.zf.trigger',function(){return _this3._reflow();});}/**
     * Calls necessary functions to update Interchange upon DOM change
     * @function
     * @private
     */},{key:'_reflow',value:function _reflow(){var match;// Iterate through each rule, but only save the last match
for(var i in this.rules){if(this.rules.hasOwnProperty(i)){var rule=this.rules[i];if(window.matchMedia(rule.query).matches){match=rule;}}}if(match){this.replace(match.path);}}/**
     * Gets the Foundation breakpoints and adds them to the Interchange.SPECIAL_QUERIES object.
     * @function
     * @private
     */},{key:'_addBreakpoints',value:function _addBreakpoints(){for(var i in __WEBPACK_IMPORTED_MODULE_1__foundation_util_mediaQuery__["a"/* MediaQuery */].queries){if(__WEBPACK_IMPORTED_MODULE_1__foundation_util_mediaQuery__["a"/* MediaQuery */].queries.hasOwnProperty(i)){var query=__WEBPACK_IMPORTED_MODULE_1__foundation_util_mediaQuery__["a"/* MediaQuery */].queries[i];Interchange.SPECIAL_QUERIES[query.name]=query.value;}}}/**
     * Checks the Interchange element for the provided media query + content pairings
     * @function
     * @private
     * @param {Object} element - jQuery object that is an Interchange instance
     * @returns {Array} scenarios - Array of objects that have 'mq' and 'path' keys with corresponding keys
     */},{key:'_generateRules',value:function _generateRules(element){var rulesList=[];var rules;if(this.options.rules){rules=this.options.rules;}else{rules=this.$element.data('interchange');}rules=typeof rules==='string'?rules.match(/\[.*?\]/g):rules;for(var i in rules){if(rules.hasOwnProperty(i)){var rule=rules[i].slice(1,-1).split(', ');var path=rule.slice(0,-1).join('');var query=rule[rule.length-1];if(Interchange.SPECIAL_QUERIES[query]){query=Interchange.SPECIAL_QUERIES[query];}rulesList.push({path:path,query:query});}}this.rules=rulesList;}/**
     * Update the `src` property of an image, or change the HTML of a container, to the specified path.
     * @function
     * @param {String} path - Path to the image or HTML partial.
     * @fires Interchange#replaced
     */},{key:'replace',value:function replace(path){if(this.currentPath===path)return;var _this=this,trigger='replaced.zf.interchange';// Replacing images
if(this.$element[0].nodeName==='IMG'){this.$element.attr('src',path).on('load',function(){_this.currentPath=path;}).trigger(trigger);}// Replacing background images
else if(path.match(/\.(gif|jpg|jpeg|png|svg|tiff)([?#].*)?/i)){path=path.replace(/\(/g,'%28').replace(/\)/g,'%29');this.$element.css({'background-image':'url('+path+')'}).trigger(trigger);}// Replacing HTML
else{__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.get(path,function(response){_this.$element.html(response).trigger(trigger);__WEBPACK_IMPORTED_MODULE_0_jquery___default()(response).foundation();_this.currentPath=path;});}/**
       * Fires when content in an Interchange element is done being loaded.
       * @event Interchange#replaced
       */ // this.$element.trigger('replaced.zf.interchange');
}/**
     * Destroys an instance of interchange.
     * @function
     */},{key:'_destroy',value:function _destroy(){this.$element.off('resizeme.zf.trigger');}}]);return Interchange;}(__WEBPACK_IMPORTED_MODULE_2__foundation_plugin__["a"/* Plugin */]);/**
 * Default settings for plugin
 */Interchange.defaults={/**
   * Rules to be applied to Interchange elements. Set with the `data-interchange` array notation.
   * @option
   * @type {?array}
   * @default null
   */rules:null};Interchange.SPECIAL_QUERIES={'landscape':'screen and (orientation: landscape)','portrait':'screen and (orientation: portrait)','retina':'only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx)'};/***/},/* 22 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Magellan;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_core__=__webpack_require__(1);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2__foundation_plugin__=__webpack_require__(2);/* harmony import */var __WEBPACK_IMPORTED_MODULE_3__foundation_smoothScroll__=__webpack_require__(33);var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!_instanceof(instance,Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(_typeof2(call)==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+_typeof2(superClass));}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}/**
 * Magellan module.
 * @module foundation.magellan
 * @requires foundation.smoothScroll
 */var Magellan=function(_Plugin){_inherits(Magellan,_Plugin);function Magellan(){_classCallCheck(this,Magellan);return _possibleConstructorReturn(this,(Magellan.__proto__||Object.getPrototypeOf(Magellan)).apply(this,arguments));}_createClass(Magellan,[{key:'_setup',/**
     * Creates a new instance of Magellan.
     * @class
     * @name Magellan
     * @fires Magellan#init
     * @param {Object} element - jQuery object to add the trigger to.
     * @param {Object} options - Overrides to the default plugin settings.
     */value:function _setup(element,options){this.$element=element;this.options=__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend({},Magellan.defaults,this.$element.data(),options);this.className='Magellan';// ie9 back compat
this._init();this.calcPoints();}/**
     * Initializes the Magellan plugin and calls functions to get equalizer functioning on load.
     * @private
     */},{key:'_init',value:function _init(){var id=this.$element[0].id||__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__foundation_util_core__["a"/* GetYoDigits */])(6,'magellan');var _this=this;this.$targets=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-magellan-target]');this.$links=this.$element.find('a');this.$element.attr({'data-resize':id,'data-scroll':id,'id':id});this.$active=__WEBPACK_IMPORTED_MODULE_0_jquery___default()();this.scrollPos=parseInt(window.pageYOffset,10);this._events();}/**
     * Calculates an array of pixel values that are the demarcation lines between locations on the page.
     * Can be invoked if new elements are added or the size of a location changes.
     * @function
     */},{key:'calcPoints',value:function calcPoints(){var _this=this,body=document.body,html=document.documentElement;this.points=[];this.winHeight=Math.round(Math.max(window.innerHeight,html.clientHeight));this.docHeight=Math.round(Math.max(body.scrollHeight,body.offsetHeight,html.clientHeight,html.scrollHeight,html.offsetHeight));this.$targets.each(function(){var $tar=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this),pt=Math.round($tar.offset().top-_this.options.threshold);$tar.targetPoint=pt;_this.points.push(pt);});}/**
     * Initializes events for Magellan.
     * @private
     */},{key:'_events',value:function _events(){var _this=this,$body=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('html, body'),opts={duration:_this.options.animationDuration,easing:_this.options.animationEasing};__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).one('load',function(){if(_this.options.deepLinking){if(location.hash){_this.scrollToLoc(location.hash);}}_this.calcPoints();_this._updateActive();});this.$element.on({'resizeme.zf.trigger':this.reflow.bind(this),'scrollme.zf.trigger':this._updateActive.bind(this)}).on('click.zf.magellan','a[href^="#"]',function(e){e.preventDefault();var arrival=this.getAttribute('href');_this.scrollToLoc(arrival);});this._deepLinkScroll=function(e){if(_this.options.deepLinking){_this.scrollToLoc(window.location.hash);}};__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).on('popstate',this._deepLinkScroll);}/**
     * Function to scroll to a given location on the page.
     * @param {String} loc - a properly formatted jQuery id selector. Example: '#foo'
     * @function
     */},{key:'scrollToLoc',value:function scrollToLoc(loc){this._inTransition=true;var _this=this;var options={animationEasing:this.options.animationEasing,animationDuration:this.options.animationDuration,threshold:this.options.threshold,offset:this.options.offset};__WEBPACK_IMPORTED_MODULE_3__foundation_smoothScroll__["a"/* SmoothScroll */].scrollToLoc(loc,options,function(){_this._inTransition=false;_this._updateActive();});}/**
     * Calls necessary functions to update Magellan upon DOM change
     * @function
     */},{key:'reflow',value:function reflow(){this.calcPoints();this._updateActive();}/**
     * Updates the visibility of an active location link, and updates the url hash for the page, if deepLinking enabled.
     * @private
     * @function
     * @fires Magellan#update
     */},{key:'_updateActive',value:function _updateActive()/*evt, elem, scrollPos*/{if(this._inTransition){return;}var winPos=/*scrollPos ||*/parseInt(window.pageYOffset,10),curIdx;if(winPos+this.winHeight===this.docHeight){curIdx=this.points.length-1;}else if(winPos<this.points[0]){curIdx=undefined;}else{var isDown=this.scrollPos<winPos,_this=this,curVisible=this.points.filter(function(p,i){return isDown?p-_this.options.offset<=winPos:p-_this.options.offset-_this.options.threshold<=winPos;});curIdx=curVisible.length?curVisible.length-1:0;}this.$active.removeClass(this.options.activeClass);this.$active=this.$links.filter('[href="#'+this.$targets.eq(curIdx).data('magellan-target')+'"]').addClass(this.options.activeClass);if(this.options.deepLinking){var hash="";if(curIdx!=undefined){hash=this.$active[0].getAttribute('href');}if(hash!==window.location.hash){if(window.history.pushState){window.history.pushState(null,null,hash);}else{window.location.hash=hash;}}}this.scrollPos=winPos;/**
       * Fires when magellan is finished updating to the new active element.
       * @event Magellan#update
       */this.$element.trigger('update.zf.magellan',[this.$active]);}/**
     * Destroys an instance of Magellan and resets the url of the window.
     * @function
     */},{key:'_destroy',value:function _destroy(){this.$element.off('.zf.trigger .zf.magellan').find('.'+this.options.activeClass).removeClass(this.options.activeClass);if(this.options.deepLinking){var hash=this.$active[0].getAttribute('href');window.location.hash.replace(hash,'');}__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).off('popstate',this._deepLinkScroll);}}]);return Magellan;}(__WEBPACK_IMPORTED_MODULE_2__foundation_plugin__["a"/* Plugin */]);/**
 * Default settings for plugin
 */Magellan.defaults={/**
   * Amount of time, in ms, the animated scrolling should take between locations.
   * @option
   * @type {number}
   * @default 500
   */animationDuration:500,/**
   * Animation style to use when scrolling between locations. Can be `'swing'` or `'linear'`.
   * @option
   * @type {string}
   * @default 'linear'
   * @see {@link https://api.jquery.com/animate|Jquery animate}
   */animationEasing:'linear',/**
   * Number of pixels to use as a marker for location changes.
   * @option
   * @type {number}
   * @default 50
   */threshold:50,/**
   * Class applied to the active locations link on the magellan container.
   * @option
   * @type {string}
   * @default 'is-active'
   */activeClass:'is-active',/**
   * Allows the script to manipulate the url of the current page, and if supported, alter the history.
   * @option
   * @type {boolean}
   * @default false
   */deepLinking:false,/**
   * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar.
   * @option
   * @type {number}
   * @default 0
   */offset:0};/***/},/* 23 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return OffCanvas;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__=__webpack_require__(4);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2__foundation_util_mediaQuery__=__webpack_require__(3);/* harmony import */var __WEBPACK_IMPORTED_MODULE_3__foundation_util_core__=__webpack_require__(1);/* harmony import */var __WEBPACK_IMPORTED_MODULE_4__foundation_plugin__=__webpack_require__(2);/* harmony import */var __WEBPACK_IMPORTED_MODULE_5__foundation_util_triggers__=__webpack_require__(5);var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!_instanceof(instance,Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(_typeof2(call)==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+_typeof2(superClass));}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}/**
 * OffCanvas module.
 * @module foundation.offcanvas
 * @requires foundation.util.keyboard
 * @requires foundation.util.mediaQuery
 * @requires foundation.util.triggers
 */var OffCanvas=function(_Plugin){_inherits(OffCanvas,_Plugin);function OffCanvas(){_classCallCheck(this,OffCanvas);return _possibleConstructorReturn(this,(OffCanvas.__proto__||Object.getPrototypeOf(OffCanvas)).apply(this,arguments));}_createClass(OffCanvas,[{key:'_setup',/**
     * Creates a new instance of an off-canvas wrapper.
     * @class
     * @name OffCanvas
     * @fires OffCanvas#init
     * @param {Object} element - jQuery object to initialize.
     * @param {Object} options - Overrides to the default plugin settings.
     */value:function _setup(element,options){var _this3=this;this.className='OffCanvas';// ie9 back compat
this.$element=element;this.options=__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend({},OffCanvas.defaults,this.$element.data(),options);this.contentClasses={base:[],reveal:[]};this.$lastTrigger=__WEBPACK_IMPORTED_MODULE_0_jquery___default()();this.$triggers=__WEBPACK_IMPORTED_MODULE_0_jquery___default()();this.position='left';this.$content=__WEBPACK_IMPORTED_MODULE_0_jquery___default()();this.nested=!!this.options.nested;// Defines the CSS transition/position classes of the off-canvas content container.
__WEBPACK_IMPORTED_MODULE_0_jquery___default()(['push','overlap']).each(function(index,val){_this3.contentClasses.base.push('has-transition-'+val);});__WEBPACK_IMPORTED_MODULE_0_jquery___default()(['left','right','top','bottom']).each(function(index,val){_this3.contentClasses.base.push('has-position-'+val);_this3.contentClasses.reveal.push('has-reveal-'+val);});// Triggers init is idempotent, just need to make sure it is initialized
__WEBPACK_IMPORTED_MODULE_5__foundation_util_triggers__["a"/* Triggers */].init(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a);__WEBPACK_IMPORTED_MODULE_2__foundation_util_mediaQuery__["a"/* MediaQuery */]._init();this._init();this._events();__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a"/* Keyboard */].register('OffCanvas',{'ESCAPE':'close'});}/**
     * Initializes the off-canvas wrapper by adding the exit overlay (if needed).
     * @function
     * @private
     */},{key:'_init',value:function _init(){var id=this.$element.attr('id');this.$element.attr('aria-hidden','true');// Find off-canvas content, either by ID (if specified), by siblings or by closest selector (fallback)
if(this.options.contentId){this.$content=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('#'+this.options.contentId);}else if(this.$element.siblings('[data-off-canvas-content]').length){this.$content=this.$element.siblings('[data-off-canvas-content]').first();}else{this.$content=this.$element.closest('[data-off-canvas-content]').first();}if(!this.options.contentId){// Assume that the off-canvas element is nested if it isn't a sibling of the content
this.nested=this.$element.siblings('[data-off-canvas-content]').length===0;}else if(this.options.contentId&&this.options.nested===null){// Warning if using content ID without setting the nested option
// Once the element is nested it is required to work properly in this case
console.warn('Remember to use the nested option if using the content ID option!');}if(this.nested===true){// Force transition overlap if nested
this.options.transition='overlap';// Remove appropriate classes if already assigned in markup
this.$element.removeClass('is-transition-push');}this.$element.addClass('is-transition-'+this.options.transition+' is-closed');// Find triggers that affect this element and add aria-expanded to them
this.$triggers=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(document).find('[data-open="'+id+'"], [data-close="'+id+'"], [data-toggle="'+id+'"]').attr('aria-expanded','false').attr('aria-controls',id);// Get position by checking for related CSS class
this.position=this.$element.is('.position-left, .position-top, .position-right, .position-bottom')?this.$element.attr('class').match(/position\-(left|top|right|bottom)/)[1]:this.position;// Add an overlay over the content if necessary
if(this.options.contentOverlay===true){var overlay=document.createElement('div');var overlayPosition=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$element).css("position")==='fixed'?'is-overlay-fixed':'is-overlay-absolute';overlay.setAttribute('class','js-off-canvas-overlay '+overlayPosition);this.$overlay=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(overlay);if(overlayPosition==='is-overlay-fixed'){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$overlay).insertAfter(this.$element);}else{this.$content.append(this.$overlay);}}this.options.isRevealed=this.options.isRevealed||new RegExp(this.options.revealClass,'g').test(this.$element[0].className);if(this.options.isRevealed===true){this.options.revealOn=this.options.revealOn||this.$element[0].className.match(/(reveal-for-medium|reveal-for-large)/g)[0].split('-')[2];this._setMQChecker();}if(this.options.transitionTime){this.$element.css('transition-duration',this.options.transitionTime);}// Initally remove all transition/position CSS classes from off-canvas content container.
this._removeContentClasses();}/**
     * Adds event handlers to the off-canvas wrapper and the exit overlay.
     * @function
     * @private
     */},{key:'_events',value:function _events(){this.$element.off('.zf.trigger .zf.offcanvas').on({'open.zf.trigger':this.open.bind(this),'close.zf.trigger':this.close.bind(this),'toggle.zf.trigger':this.toggle.bind(this),'keydown.zf.offcanvas':this._handleKeyboard.bind(this)});if(this.options.closeOnClick===true){var $target=this.options.contentOverlay?this.$overlay:this.$content;$target.on({'click.zf.offcanvas':this.close.bind(this)});}}/**
     * Applies event listener for elements that will reveal at certain breakpoints.
     * @private
     */},{key:'_setMQChecker',value:function _setMQChecker(){var _this=this;__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).on('changed.zf.mediaquery',function(){if(__WEBPACK_IMPORTED_MODULE_2__foundation_util_mediaQuery__["a"/* MediaQuery */].atLeast(_this.options.revealOn)){_this.reveal(true);}else{_this.reveal(false);}}).one('load.zf.offcanvas',function(){if(__WEBPACK_IMPORTED_MODULE_2__foundation_util_mediaQuery__["a"/* MediaQuery */].atLeast(_this.options.revealOn)){_this.reveal(true);}});}/**
     * Removes the CSS transition/position classes of the off-canvas content container.
     * Removing the classes is important when another off-canvas gets opened that uses the same content container.
     * @param {Boolean} hasReveal - true if related off-canvas element is revealed.
     * @private
     */},{key:'_removeContentClasses',value:function _removeContentClasses(hasReveal){if(typeof hasReveal!=='boolean'){this.$content.removeClass(this.contentClasses.base.join(' '));}else if(hasReveal===false){this.$content.removeClass('has-reveal-'+this.position);}}/**
     * Adds the CSS transition/position classes of the off-canvas content container, based on the opening off-canvas element.
     * Beforehand any transition/position class gets removed.
     * @param {Boolean} hasReveal - true if related off-canvas element is revealed.
     * @private
     */},{key:'_addContentClasses',value:function _addContentClasses(hasReveal){this._removeContentClasses(hasReveal);if(typeof hasReveal!=='boolean'){this.$content.addClass('has-transition-'+this.options.transition+' has-position-'+this.position);}else if(hasReveal===true){this.$content.addClass('has-reveal-'+this.position);}}/**
     * Handles the revealing/hiding the off-canvas at breakpoints, not the same as open.
     * @param {Boolean} isRevealed - true if element should be revealed.
     * @function
     */},{key:'reveal',value:function reveal(isRevealed){if(isRevealed){this.close();this.isRevealed=true;this.$element.attr('aria-hidden','false');this.$element.off('open.zf.trigger toggle.zf.trigger');this.$element.removeClass('is-closed');}else{this.isRevealed=false;this.$element.attr('aria-hidden','true');this.$element.off('open.zf.trigger toggle.zf.trigger').on({'open.zf.trigger':this.open.bind(this),'toggle.zf.trigger':this.toggle.bind(this)});this.$element.addClass('is-closed');}this._addContentClasses(isRevealed);}/**
     * Stops scrolling of the body when offcanvas is open on mobile Safari and other troublesome browsers.
     * @private
     */},{key:'_stopScrolling',value:function _stopScrolling(event){return false;}// Taken and adapted from http://stackoverflow.com/questions/16889447/prevent-full-page-scrolling-ios
// Only really works for y, not sure how to extend to x or if we need to.
},{key:'_recordScrollable',value:function _recordScrollable(event){var elem=this;// called from event handler context with this as elem
// If the element is scrollable (content overflows), then...
if(elem.scrollHeight!==elem.clientHeight){// If we're at the top, scroll down one pixel to allow scrolling up
if(elem.scrollTop===0){elem.scrollTop=1;}// If we're at the bottom, scroll up one pixel to allow scrolling down
if(elem.scrollTop===elem.scrollHeight-elem.clientHeight){elem.scrollTop=elem.scrollHeight-elem.clientHeight-1;}}elem.allowUp=elem.scrollTop>0;elem.allowDown=elem.scrollTop<elem.scrollHeight-elem.clientHeight;elem.lastY=event.originalEvent.pageY;}},{key:'_stopScrollPropagation',value:function _stopScrollPropagation(event){var elem=this;// called from event handler context with this as elem
var up=event.pageY<elem.lastY;var down=!up;elem.lastY=event.pageY;if(up&&elem.allowUp||down&&elem.allowDown){event.stopPropagation();}else{event.preventDefault();}}/**
     * Opens the off-canvas menu.
     * @function
     * @param {Object} event - Event object passed from listener.
     * @param {jQuery} trigger - element that triggered the off-canvas to open.
     * @fires OffCanvas#opened
     */},{key:'open',value:function open(event,trigger){if(this.$element.hasClass('is-open')||this.isRevealed){return;}var _this=this;if(trigger){this.$lastTrigger=trigger;}if(this.options.forceTo==='top'){window.scrollTo(0,0);}else if(this.options.forceTo==='bottom'){window.scrollTo(0,document.body.scrollHeight);}if(this.options.transitionTime&&this.options.transition!=='overlap'){this.$element.siblings('[data-off-canvas-content]').css('transition-duration',this.options.transitionTime);}else{this.$element.siblings('[data-off-canvas-content]').css('transition-duration','');}/**
       * Fires when the off-canvas menu opens.
       * @event OffCanvas#opened
       */this.$element.addClass('is-open').removeClass('is-closed');this.$triggers.attr('aria-expanded','true');this.$element.attr('aria-hidden','false').trigger('opened.zf.offcanvas');this.$content.addClass('is-open-'+this.position);// If `contentScroll` is set to false, add class and disable scrolling on touch devices.
if(this.options.contentScroll===false){__WEBPACK_IMPORTED_MODULE_0_jquery___default()('body').addClass('is-off-canvas-open').on('touchmove',this._stopScrolling);this.$element.on('touchstart',this._recordScrollable);this.$element.on('touchmove',this._stopScrollPropagation);}if(this.options.contentOverlay===true){this.$overlay.addClass('is-visible');}if(this.options.closeOnClick===true&&this.options.contentOverlay===true){this.$overlay.addClass('is-closable');}if(this.options.autoFocus===true){this.$element.one(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__foundation_util_core__["c"/* transitionend */])(this.$element),function(){if(!_this.$element.hasClass('is-open')){return;// exit if prematurely closed
}var canvasFocus=_this.$element.find('[data-autofocus]');if(canvasFocus.length){canvasFocus.eq(0).focus();}else{_this.$element.find('a, button').eq(0).focus();}});}if(this.options.trapFocus===true){this.$content.attr('tabindex','-1');__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a"/* Keyboard */].trapFocus(this.$element);}this._addContentClasses();}/**
     * Closes the off-canvas menu.
     * @function
     * @param {Function} cb - optional cb to fire after closure.
     * @fires OffCanvas#closed
     */},{key:'close',value:function close(cb){if(!this.$element.hasClass('is-open')||this.isRevealed){return;}var _this=this;this.$element.removeClass('is-open');this.$element.attr('aria-hidden','true')/**
       * Fires when the off-canvas menu opens.
       * @event OffCanvas#closed
       */.trigger('closed.zf.offcanvas');this.$content.removeClass('is-open-left is-open-top is-open-right is-open-bottom');// If `contentScroll` is set to false, remove class and re-enable scrolling on touch devices.
if(this.options.contentScroll===false){__WEBPACK_IMPORTED_MODULE_0_jquery___default()('body').removeClass('is-off-canvas-open').off('touchmove',this._stopScrolling);this.$element.off('touchstart',this._recordScrollable);this.$element.off('touchmove',this._stopScrollPropagation);}if(this.options.contentOverlay===true){this.$overlay.removeClass('is-visible');}if(this.options.closeOnClick===true&&this.options.contentOverlay===true){this.$overlay.removeClass('is-closable');}this.$triggers.attr('aria-expanded','false');if(this.options.trapFocus===true){this.$content.removeAttr('tabindex');__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a"/* Keyboard */].releaseFocus(this.$element);}// Listen to transitionEnd and add class when done.
this.$element.one(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__foundation_util_core__["c"/* transitionend */])(this.$element),function(e){_this.$element.addClass('is-closed');_this._removeContentClasses();});}/**
     * Toggles the off-canvas menu open or closed.
     * @function
     * @param {Object} event - Event object passed from listener.
     * @param {jQuery} trigger - element that triggered the off-canvas to open.
     */},{key:'toggle',value:function toggle(event,trigger){if(this.$element.hasClass('is-open')){this.close(event,trigger);}else{this.open(event,trigger);}}/**
     * Handles keyboard input when detected. When the escape key is pressed, the off-canvas menu closes, and focus is restored to the element that opened the menu.
     * @function
     * @private
     */},{key:'_handleKeyboard',value:function _handleKeyboard(e){var _this4=this;__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a"/* Keyboard */].handleKey(e,'OffCanvas',{close:function close(){_this4.close();_this4.$lastTrigger.focus();return true;},handled:function handled(){e.stopPropagation();e.preventDefault();}});}/**
     * Destroys the offcanvas plugin.
     * @function
     */},{key:'_destroy',value:function _destroy(){this.close();this.$element.off('.zf.trigger .zf.offcanvas');this.$overlay.off('.zf.offcanvas');}}]);return OffCanvas;}(__WEBPACK_IMPORTED_MODULE_4__foundation_plugin__["a"/* Plugin */]);OffCanvas.defaults={/**
   * Allow the user to click outside of the menu to close it.
   * @option
   * @type {boolean}
   * @default true
   */closeOnClick:true,/**
   * Adds an overlay on top of `[data-off-canvas-content]`.
   * @option
   * @type {boolean}
   * @default true
   */contentOverlay:true,/**
   * Target an off-canvas content container by ID that may be placed anywhere. If null the closest content container will be taken.
   * @option
   * @type {?string}
   * @default null
   */contentId:null,/**
   * Define the off-canvas element is nested in an off-canvas content. This is required when using the contentId option for a nested element.
   * @option
   * @type {boolean}
   * @default null
   */nested:null,/**
   * Enable/disable scrolling of the main content when an off canvas panel is open.
   * @option
   * @type {boolean}
   * @default true
   */contentScroll:true,/**
   * Amount of time in ms the open and close transition requires. If none selected, pulls from body style.
   * @option
   * @type {number}
   * @default null
   */transitionTime:null,/**
   * Type of transition for the offcanvas menu. Options are 'push', 'detached' or 'slide'.
   * @option
   * @type {string}
   * @default push
   */transition:'push',/**
   * Force the page to scroll to top or bottom on open.
   * @option
   * @type {?string}
   * @default null
   */forceTo:null,/**
   * Allow the offcanvas to remain open for certain breakpoints.
   * @option
   * @type {boolean}
   * @default false
   */isRevealed:false,/**
   * Breakpoint at which to reveal. JS will use a RegExp to target standard classes, if changing classnames, pass your class with the `revealClass` option.
   * @option
   * @type {?string}
   * @default null
   */revealOn:null,/**
   * Force focus to the offcanvas on open. If true, will focus the opening trigger on close.
   * @option
   * @type {boolean}
   * @default true
   */autoFocus:true,/**
   * Class used to force an offcanvas to remain open. Foundation defaults for this are `reveal-for-large` & `reveal-for-medium`.
   * @option
   * @type {string}
   * @default reveal-for-
   * @todo improve the regex testing for this.
   */revealClass:'reveal-for-',/**
   * Triggers optional focus trapping when opening an offcanvas. Sets tabindex of [data-off-canvas-content] to -1 for accessibility purposes.
   * @option
   * @type {boolean}
   * @default false
   */trapFocus:false};/***/},/* 24 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Orbit;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__=__webpack_require__(4);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2__foundation_util_motion__=__webpack_require__(6);/* harmony import */var __WEBPACK_IMPORTED_MODULE_3__foundation_util_timer__=__webpack_require__(34);/* harmony import */var __WEBPACK_IMPORTED_MODULE_4__foundation_util_imageLoader__=__webpack_require__(8);/* harmony import */var __WEBPACK_IMPORTED_MODULE_5__foundation_util_core__=__webpack_require__(1);/* harmony import */var __WEBPACK_IMPORTED_MODULE_6__foundation_plugin__=__webpack_require__(2);/* harmony import */var __WEBPACK_IMPORTED_MODULE_7__foundation_util_touch__=__webpack_require__(16);var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!_instanceof(instance,Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(_typeof2(call)==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+_typeof2(superClass));}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}/**
 * Orbit module.
 * @module foundation.orbit
 * @requires foundation.util.keyboard
 * @requires foundation.util.motion
 * @requires foundation.util.timer
 * @requires foundation.util.imageLoader
 * @requires foundation.util.touch
 */var Orbit=function(_Plugin){_inherits(Orbit,_Plugin);function Orbit(){_classCallCheck(this,Orbit);return _possibleConstructorReturn(this,(Orbit.__proto__||Object.getPrototypeOf(Orbit)).apply(this,arguments));}_createClass(Orbit,[{key:'_setup',/**
    * Creates a new instance of an orbit carousel.
    * @class
    * @name Orbit
    * @param {jQuery} element - jQuery object to make into an Orbit Carousel.
    * @param {Object} options - Overrides to the default plugin settings.
    */value:function _setup(element,options){this.$element=element;this.options=__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend({},Orbit.defaults,this.$element.data(),options);this.className='Orbit';// ie9 back compat
__WEBPACK_IMPORTED_MODULE_7__foundation_util_touch__["a"/* Touch */].init(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a);// Touch init is idempotent, we just need to make sure it's initialied.
this._init();__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a"/* Keyboard */].register('Orbit',{'ltr':{'ARROW_RIGHT':'next','ARROW_LEFT':'previous'},'rtl':{'ARROW_LEFT':'next','ARROW_RIGHT':'previous'}});}/**
    * Initializes the plugin by creating jQuery collections, setting attributes, and starting the animation.
    * @function
    * @private
    */},{key:'_init',value:function _init(){// @TODO: consider discussion on PR #9278 about DOM pollution by changeSlide
this._reset();this.$wrapper=this.$element.find('.'+this.options.containerClass);this.$slides=this.$element.find('.'+this.options.slideClass);var $images=this.$element.find('img'),initActive=this.$slides.filter('.is-active'),id=this.$element[0].id||__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__foundation_util_core__["a"/* GetYoDigits */])(6,'orbit');this.$element.attr({'data-resize':id,'id':id});if(!initActive.length){this.$slides.eq(0).addClass('is-active');}if(!this.options.useMUI){this.$slides.addClass('no-motionui');}if($images.length){__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__foundation_util_imageLoader__["a"/* onImagesLoaded */])($images,this._prepareForOrbit.bind(this));}else{this._prepareForOrbit();//hehe
}if(this.options.bullets){this._loadBullets();}this._events();if(this.options.autoPlay&&this.$slides.length>1){this.geoSync();}if(this.options.accessible){// allow wrapper to be focusable to enable arrow navigation
this.$wrapper.attr('tabindex',0);}}/**
    * Creates a jQuery collection of bullets, if they are being used.
    * @function
    * @private
    */},{key:'_loadBullets',value:function _loadBullets(){this.$bullets=this.$element.find('.'+this.options.boxOfBullets).find('button');}/**
    * Sets a `timer` object on the orbit, and starts the counter for the next slide.
    * @function
    */},{key:'geoSync',value:function geoSync(){var _this=this;this.timer=new __WEBPACK_IMPORTED_MODULE_3__foundation_util_timer__["a"/* Timer */](this.$element,{duration:this.options.timerDelay,infinite:false},function(){_this.changeSlide(true);});this.timer.start();}/**
    * Sets wrapper and slide heights for the orbit.
    * @function
    * @private
    */},{key:'_prepareForOrbit',value:function _prepareForOrbit(){var _this=this;this._setWrapperHeight();}/**
    * Calulates the height of each slide in the collection, and uses the tallest one for the wrapper height.
    * @function
    * @private
    * @param {Function} cb - a callback function to fire when complete.
    */},{key:'_setWrapperHeight',value:function _setWrapperHeight(cb){//rewrite this to `for` loop
var max=0,temp,counter=0,_this=this;this.$slides.each(function(){temp=this.getBoundingClientRect().height;__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).attr('data-slide',counter);if(!/mui/g.test(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this)[0].className)&&_this.$slides.filter('.is-active')[0]!==_this.$slides.eq(counter)[0]){//if not the active slide, set css position and display property
__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).css({'position':'relative','display':'none'});}max=temp>max?temp:max;counter++;});if(counter===this.$slides.length){this.$wrapper.css({'height':max});//only change the wrapper height property once.
if(cb){cb(max);}//fire callback with max height dimension.
}}/**
    * Sets the max-height of each slide.
    * @function
    * @private
    */},{key:'_setSlideHeight',value:function _setSlideHeight(height){this.$slides.each(function(){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).css('max-height',height);});}/**
    * Adds event listeners to basically everything within the element.
    * @function
    * @private
    */},{key:'_events',value:function _events(){var _this=this;//***************************************
//**Now using custom event - thanks to:**
//**      Yohai Ararat of Toronto      **
//***************************************
//
this.$element.off('.resizeme.zf.trigger').on({'resizeme.zf.trigger':this._prepareForOrbit.bind(this)});if(this.$slides.length>1){if(this.options.swipe){this.$slides.off('swipeleft.zf.orbit swiperight.zf.orbit').on('swipeleft.zf.orbit',function(e){e.preventDefault();_this.changeSlide(true);}).on('swiperight.zf.orbit',function(e){e.preventDefault();_this.changeSlide(false);});}//***************************************
if(this.options.autoPlay){this.$slides.on('click.zf.orbit',function(){_this.$element.data('clickedOn',_this.$element.data('clickedOn')?false:true);_this.timer[_this.$element.data('clickedOn')?'pause':'start']();});if(this.options.pauseOnHover){this.$element.on('mouseenter.zf.orbit',function(){_this.timer.pause();}).on('mouseleave.zf.orbit',function(){if(!_this.$element.data('clickedOn')){_this.timer.start();}});}}if(this.options.navButtons){var $controls=this.$element.find('.'+this.options.nextClass+', .'+this.options.prevClass);$controls.attr('tabindex',0)//also need to handle enter/return and spacebar key presses
.on('click.zf.orbit touchend.zf.orbit',function(e){e.preventDefault();_this.changeSlide(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).hasClass(_this.options.nextClass));});}if(this.options.bullets){this.$bullets.on('click.zf.orbit touchend.zf.orbit',function(){if(/is-active/g.test(this.className)){return false;}//if this is active, kick out of function.
var idx=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).data('slide'),ltr=idx>_this.$slides.filter('.is-active').data('slide'),$slide=_this.$slides.eq(idx);_this.changeSlide(ltr,$slide,idx);});}if(this.options.accessible){this.$wrapper.add(this.$bullets).on('keydown.zf.orbit',function(e){// handle keyboard event with keyboard util
__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a"/* Keyboard */].handleKey(e,'Orbit',{next:function next(){_this.changeSlide(true);},previous:function previous(){_this.changeSlide(false);},handled:function handled(){// if bullet is focused, make sure focus moves
if(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(e.target).is(_this.$bullets)){_this.$bullets.filter('.is-active').focus();}}});});}}}/**
     * Resets Orbit so it can be reinitialized
     */},{key:'_reset',value:function _reset(){// Don't do anything if there are no slides (first run)
if(typeof this.$slides=='undefined'){return;}if(this.$slides.length>1){// Remove old events
this.$element.off('.zf.orbit').find('*').off('.zf.orbit');// Restart timer if autoPlay is enabled
if(this.options.autoPlay){this.timer.restart();}// Reset all sliddes
this.$slides.each(function(el){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(el).removeClass('is-active is-active is-in').removeAttr('aria-live').hide();});// Show the first slide
this.$slides.first().addClass('is-active').show();// Triggers when the slide has finished animating
this.$element.trigger('slidechange.zf.orbit',[this.$slides.first()]);// Select first bullet if bullets are present
if(this.options.bullets){this._updateBullets(0);}}}/**
    * Changes the current slide to a new one.
    * @function
    * @param {Boolean} isLTR - flag if the slide should move left to right.
    * @param {jQuery} chosenSlide - the jQuery element of the slide to show next, if one is selected.
    * @param {Number} idx - the index of the new slide in its collection, if one chosen.
    * @fires Orbit#slidechange
    */},{key:'changeSlide',value:function changeSlide(isLTR,chosenSlide,idx){if(!this.$slides){return;}// Don't freak out if we're in the middle of cleanup
var $curSlide=this.$slides.filter('.is-active').eq(0);if(/mui/g.test($curSlide[0].className)){return false;}//if the slide is currently animating, kick out of the function
var $firstSlide=this.$slides.first(),$lastSlide=this.$slides.last(),dirIn=isLTR?'Right':'Left',dirOut=isLTR?'Left':'Right',_this=this,$newSlide;if(!chosenSlide){//most of the time, this will be auto played or clicked from the navButtons.
$newSlide=isLTR?//if wrapping enabled, check to see if there is a `next` or `prev` sibling, if not, select the first or last slide to fill in. if wrapping not enabled, attempt to select `next` or `prev`, if there's nothing there, the function will kick out on next step. CRAZY NESTED TERNARIES!!!!!
this.options.infiniteWrap?$curSlide.next('.'+this.options.slideClass).length?$curSlide.next('.'+this.options.slideClass):$firstSlide:$curSlide.next('.'+this.options.slideClass)://pick next slide if moving left to right
this.options.infiniteWrap?$curSlide.prev('.'+this.options.slideClass).length?$curSlide.prev('.'+this.options.slideClass):$lastSlide:$curSlide.prev('.'+this.options.slideClass);//pick prev slide if moving right to left
}else{$newSlide=chosenSlide;}if($newSlide.length){/**
        * Triggers before the next slide starts animating in and only if a next slide has been found.
        * @event Orbit#beforeslidechange
        */this.$element.trigger('beforeslidechange.zf.orbit',[$curSlide,$newSlide]);if(this.options.bullets){idx=idx||this.$slides.index($newSlide);//grab index to update bullets
this._updateBullets(idx);}if(this.options.useMUI&&!this.$element.is(':hidden')){__WEBPACK_IMPORTED_MODULE_2__foundation_util_motion__["a"/* Motion */].animateIn($newSlide.addClass('is-active').css({'position':'absolute','top':0}),this.options['animInFrom'+dirIn],function(){$newSlide.css({'position':'relative','display':'block'}).attr('aria-live','polite');});__WEBPACK_IMPORTED_MODULE_2__foundation_util_motion__["a"/* Motion */].animateOut($curSlide.removeClass('is-active'),this.options['animOutTo'+dirOut],function(){$curSlide.removeAttr('aria-live');if(_this.options.autoPlay&&!_this.timer.isPaused){_this.timer.restart();}//do stuff?
});}else{$curSlide.removeClass('is-active is-in').removeAttr('aria-live').hide();$newSlide.addClass('is-active is-in').attr('aria-live','polite').show();if(this.options.autoPlay&&!this.timer.isPaused){this.timer.restart();}}/**
        * Triggers when the slide has finished animating in.
        * @event Orbit#slidechange
        */this.$element.trigger('slidechange.zf.orbit',[$newSlide]);}}/**
    * Updates the active state of the bullets, if displayed.
    * @function
    * @private
    * @param {Number} idx - the index of the current slide.
    */},{key:'_updateBullets',value:function _updateBullets(idx){var $oldBullet=this.$element.find('.'+this.options.boxOfBullets).find('.is-active').removeClass('is-active').blur(),span=$oldBullet.find('span:last').detach(),$newBullet=this.$bullets.eq(idx).addClass('is-active').append(span);}/**
    * Destroys the carousel and hides the element.
    * @function
    */},{key:'_destroy',value:function _destroy(){this.$element.off('.zf.orbit').find('*').off('.zf.orbit').end().hide();}}]);return Orbit;}(__WEBPACK_IMPORTED_MODULE_6__foundation_plugin__["a"/* Plugin */]);Orbit.defaults={/**
  * Tells the JS to look for and loadBullets.
  * @option
   * @type {boolean}
  * @default true
  */bullets:true,/**
  * Tells the JS to apply event listeners to nav buttons
  * @option
   * @type {boolean}
  * @default true
  */navButtons:true,/**
  * motion-ui animation class to apply
  * @option
   * @type {string}
  * @default 'slide-in-right'
  */animInFromRight:'slide-in-right',/**
  * motion-ui animation class to apply
  * @option
   * @type {string}
  * @default 'slide-out-right'
  */animOutToRight:'slide-out-right',/**
  * motion-ui animation class to apply
  * @option
   * @type {string}
  * @default 'slide-in-left'
  *
  */animInFromLeft:'slide-in-left',/**
  * motion-ui animation class to apply
  * @option
   * @type {string}
  * @default 'slide-out-left'
  */animOutToLeft:'slide-out-left',/**
  * Allows Orbit to automatically animate on page load.
  * @option
   * @type {boolean}
  * @default true
  */autoPlay:true,/**
  * Amount of time, in ms, between slide transitions
  * @option
   * @type {number}
  * @default 5000
  */timerDelay:5000,/**
  * Allows Orbit to infinitely loop through the slides
  * @option
   * @type {boolean}
  * @default true
  */infiniteWrap:true,/**
  * Allows the Orbit slides to bind to swipe events for mobile, requires an additional util library
  * @option
   * @type {boolean}
  * @default true
  */swipe:true,/**
  * Allows the timing function to pause animation on hover.
  * @option
   * @type {boolean}
  * @default true
  */pauseOnHover:true,/**
  * Allows Orbit to bind keyboard events to the slider, to animate frames with arrow keys
  * @option
   * @type {boolean}
  * @default true
  */accessible:true,/**
  * Class applied to the container of Orbit
  * @option
   * @type {string}
  * @default 'orbit-container'
  */containerClass:'orbit-container',/**
  * Class applied to individual slides.
  * @option
   * @type {string}
  * @default 'orbit-slide'
  */slideClass:'orbit-slide',/**
  * Class applied to the bullet container. You're welcome.
  * @option
   * @type {string}
  * @default 'orbit-bullets'
  */boxOfBullets:'orbit-bullets',/**
  * Class applied to the `next` navigation button.
  * @option
   * @type {string}
  * @default 'orbit-next'
  */nextClass:'orbit-next',/**
  * Class applied to the `previous` navigation button.
  * @option
   * @type {string}
  * @default 'orbit-previous'
  */prevClass:'orbit-previous',/**
  * Boolean to flag the js to use motion ui classes or not. Default to true for backwards compatability.
  * @option
   * @type {boolean}
  * @default true
  */useMUI:true};/***/},/* 25 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return ResponsiveAccordionTabs;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_mediaQuery__=__webpack_require__(3);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2__foundation_util_core__=__webpack_require__(1);/* harmony import */var __WEBPACK_IMPORTED_MODULE_3__foundation_plugin__=__webpack_require__(2);/* harmony import */var __WEBPACK_IMPORTED_MODULE_4__foundation_accordion__=__webpack_require__(10);/* harmony import */var __WEBPACK_IMPORTED_MODULE_5__foundation_tabs__=__webpack_require__(14);var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!_instanceof(instance,Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(_typeof2(call)==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+_typeof2(superClass));}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}// The plugin matches the plugin classes with these plugin instances.
var MenuPlugins={tabs:{cssClass:'tabs',plugin:__WEBPACK_IMPORTED_MODULE_5__foundation_tabs__["a"/* Tabs */]},accordion:{cssClass:'accordion',plugin:__WEBPACK_IMPORTED_MODULE_4__foundation_accordion__["a"/* Accordion */]}};/**
 * ResponsiveAccordionTabs module.
 * @module foundation.responsiveAccordionTabs
 * @requires foundation.util.motion
 * @requires foundation.accordion
 * @requires foundation.tabs
 */var ResponsiveAccordionTabs=function(_Plugin){_inherits(ResponsiveAccordionTabs,_Plugin);function ResponsiveAccordionTabs(){_classCallCheck(this,ResponsiveAccordionTabs);return _possibleConstructorReturn(this,(ResponsiveAccordionTabs.__proto__||Object.getPrototypeOf(ResponsiveAccordionTabs)).apply(this,arguments));}_createClass(ResponsiveAccordionTabs,[{key:'_setup',/**
     * Creates a new instance of a responsive accordion tabs.
     * @class
     * @name ResponsiveAccordionTabs
     * @fires ResponsiveAccordionTabs#init
     * @param {jQuery} element - jQuery object to make into Responsive Accordion Tabs.
     * @param {Object} options - Overrides to the default plugin settings.
     */value:function _setup(element,options){this.$element=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(element);this.options=__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend({},this.$element.data(),options);this.rules=this.$element.data('responsive-accordion-tabs');this.currentMq=null;this.currentPlugin=null;this.className='ResponsiveAccordionTabs';// ie9 back compat
if(!this.$element.attr('id')){this.$element.attr('id',__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__foundation_util_core__["a"/* GetYoDigits */])(6,'responsiveaccordiontabs'));};this._init();this._events();}/**
     * Initializes the Menu by parsing the classes from the 'data-responsive-accordion-tabs' attribute on the element.
     * @function
     * @private
     */},{key:'_init',value:function _init(){__WEBPACK_IMPORTED_MODULE_1__foundation_util_mediaQuery__["a"/* MediaQuery */]._init();// The first time an Interchange plugin is initialized, this.rules is converted from a string of "classes" to an object of rules
if(typeof this.rules==='string'){var rulesTree={};// Parse rules from "classes" pulled from data attribute
var rules=this.rules.split(' ');// Iterate through every rule found
for(var i=0;i<rules.length;i++){var rule=rules[i].split('-');var ruleSize=rule.length>1?rule[0]:'small';var rulePlugin=rule.length>1?rule[1]:rule[0];if(MenuPlugins[rulePlugin]!==null){rulesTree[ruleSize]=MenuPlugins[rulePlugin];}}this.rules=rulesTree;}this._getAllOptions();if(!__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.isEmptyObject(this.rules)){this._checkMediaQueries();}}},{key:'_getAllOptions',value:function _getAllOptions(){//get all defaults and options
var _this=this;_this.allOptions={};for(var key in MenuPlugins){if(MenuPlugins.hasOwnProperty(key)){var obj=MenuPlugins[key];try{var dummyPlugin=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('<ul></ul>');var tmpPlugin=new obj.plugin(dummyPlugin,_this.options);for(var keyKey in tmpPlugin.options){if(tmpPlugin.options.hasOwnProperty(keyKey)&&keyKey!=='zfPlugin'){var objObj=tmpPlugin.options[keyKey];_this.allOptions[keyKey]=objObj;}}tmpPlugin.destroy();}catch(e){}}}}/**
     * Initializes events for the Menu.
     * @function
     * @private
     */},{key:'_events',value:function _events(){var _this=this;__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).on('changed.zf.mediaquery',function(){_this._checkMediaQueries();});}/**
     * Checks the current screen width against available media queries. If the media query has changed, and the plugin needed has changed, the plugins will swap out.
     * @function
     * @private
     */},{key:'_checkMediaQueries',value:function _checkMediaQueries(){var matchedMq,_this=this;// Iterate through each rule and find the last matching rule
__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.each(this.rules,function(key){if(__WEBPACK_IMPORTED_MODULE_1__foundation_util_mediaQuery__["a"/* MediaQuery */].atLeast(key)){matchedMq=key;}});// No match? No dice
if(!matchedMq)return;// Plugin already initialized? We good
if(_instanceof(this.currentPlugin,this.rules[matchedMq].plugin))return;// Remove existing plugin-specific CSS classes
__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.each(MenuPlugins,function(key,value){_this.$element.removeClass(value.cssClass);});// Add the CSS class for the new plugin
this.$element.addClass(this.rules[matchedMq].cssClass);// Create an instance of the new plugin
if(this.currentPlugin){//don't know why but on nested elements data zfPlugin get's lost
if(!this.currentPlugin.$element.data('zfPlugin')&&this.storezfData)this.currentPlugin.$element.data('zfPlugin',this.storezfData);this.currentPlugin.destroy();}this._handleMarkup(this.rules[matchedMq].cssClass);this.currentPlugin=new this.rules[matchedMq].plugin(this.$element,{});this.storezfData=this.currentPlugin.$element.data('zfPlugin');}},{key:'_handleMarkup',value:function _handleMarkup(toSet){var _this=this,fromString='accordion';var $panels=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-tabs-content='+this.$element.attr('id')+']');if($panels.length)fromString='tabs';if(fromString===toSet){return;};var tabsTitle=_this.allOptions.linkClass?_this.allOptions.linkClass:'tabs-title';var tabsPanel=_this.allOptions.panelClass?_this.allOptions.panelClass:'tabs-panel';this.$element.removeAttr('role');var $liHeads=this.$element.children('.'+tabsTitle+',[data-accordion-item]').removeClass(tabsTitle).removeClass('accordion-item').removeAttr('data-accordion-item');var $liHeadsA=$liHeads.children('a').removeClass('accordion-title');if(fromString==='tabs'){$panels=$panels.children('.'+tabsPanel).removeClass(tabsPanel).removeAttr('role').removeAttr('aria-hidden').removeAttr('aria-labelledby');$panels.children('a').removeAttr('role').removeAttr('aria-controls').removeAttr('aria-selected');}else{$panels=$liHeads.children('[data-tab-content]').removeClass('accordion-content');};$panels.css({display:'',visibility:''});$liHeads.css({display:'',visibility:''});if(toSet==='accordion'){$panels.each(function(key,value){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(value).appendTo($liHeads.get(key)).addClass('accordion-content').attr('data-tab-content','').removeClass('is-active').css({height:''});__WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-tabs-content='+_this.$element.attr('id')+']').after('<div id="tabs-placeholder-'+_this.$element.attr('id')+'"></div>').detach();$liHeads.addClass('accordion-item').attr('data-accordion-item','');$liHeadsA.addClass('accordion-title');});}else if(toSet==='tabs'){var $tabsContent=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-tabs-content='+_this.$element.attr('id')+']');var $placeholder=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('#tabs-placeholder-'+_this.$element.attr('id'));if($placeholder.length){$tabsContent=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('<div class="tabs-content"></div>').insertAfter($placeholder).attr('data-tabs-content',_this.$element.attr('id'));$placeholder.remove();}else{$tabsContent=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('<div class="tabs-content"></div>').insertAfter(_this.$element).attr('data-tabs-content',_this.$element.attr('id'));};$panels.each(function(key,value){var tempValue=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(value).appendTo($tabsContent).addClass(tabsPanel);var hash=$liHeadsA.get(key).hash.slice(1);var id=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(value).attr('id')||__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__foundation_util_core__["a"/* GetYoDigits */])(6,'accordion');if(hash!==id){if(hash!==''){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(value).attr('id',hash);}else{hash=id;__WEBPACK_IMPORTED_MODULE_0_jquery___default()(value).attr('id',hash);__WEBPACK_IMPORTED_MODULE_0_jquery___default()($liHeadsA.get(key)).attr('href',__WEBPACK_IMPORTED_MODULE_0_jquery___default()($liHeadsA.get(key)).attr('href').replace('#','')+'#'+hash);};};var isActive=__WEBPACK_IMPORTED_MODULE_0_jquery___default()($liHeads.get(key)).hasClass('is-active');if(isActive){tempValue.addClass('is-active');};});$liHeads.addClass(tabsTitle);};}/**
     * Destroys the instance of the current plugin on this element, as well as the window resize handler that switches the plugins out.
     * @function
     */},{key:'_destroy',value:function _destroy(){if(this.currentPlugin)this.currentPlugin.destroy();__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).off('.zf.ResponsiveAccordionTabs');}}]);return ResponsiveAccordionTabs;}(__WEBPACK_IMPORTED_MODULE_3__foundation_plugin__["a"/* Plugin */]);ResponsiveAccordionTabs.defaults={};/***/},/* 26 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return ResponsiveMenu;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_mediaQuery__=__webpack_require__(3);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2__foundation_util_core__=__webpack_require__(1);/* harmony import */var __WEBPACK_IMPORTED_MODULE_3__foundation_plugin__=__webpack_require__(2);/* harmony import */var __WEBPACK_IMPORTED_MODULE_4__foundation_dropdownMenu__=__webpack_require__(13);/* harmony import */var __WEBPACK_IMPORTED_MODULE_5__foundation_drilldown__=__webpack_require__(12);/* harmony import */var __WEBPACK_IMPORTED_MODULE_6__foundation_accordionMenu__=__webpack_require__(11);var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!_instanceof(instance,Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(_typeof2(call)==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+_typeof2(superClass));}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var MenuPlugins={dropdown:{cssClass:'dropdown',plugin:__WEBPACK_IMPORTED_MODULE_4__foundation_dropdownMenu__["a"/* DropdownMenu */]},drilldown:{cssClass:'drilldown',plugin:__WEBPACK_IMPORTED_MODULE_5__foundation_drilldown__["a"/* Drilldown */]},accordion:{cssClass:'accordion-menu',plugin:__WEBPACK_IMPORTED_MODULE_6__foundation_accordionMenu__["a"/* AccordionMenu */]}};// import "foundation.util.triggers.js";
/**
 * ResponsiveMenu module.
 * @module foundation.responsiveMenu
 * @requires foundation.util.triggers
 * @requires foundation.util.mediaQuery
 */var ResponsiveMenu=function(_Plugin){_inherits(ResponsiveMenu,_Plugin);function ResponsiveMenu(){_classCallCheck(this,ResponsiveMenu);return _possibleConstructorReturn(this,(ResponsiveMenu.__proto__||Object.getPrototypeOf(ResponsiveMenu)).apply(this,arguments));}_createClass(ResponsiveMenu,[{key:'_setup',/**
     * Creates a new instance of a responsive menu.
     * @class
     * @name ResponsiveMenu
     * @fires ResponsiveMenu#init
     * @param {jQuery} element - jQuery object to make into a dropdown menu.
     * @param {Object} options - Overrides to the default plugin settings.
     */value:function _setup(element,options){this.$element=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(element);this.rules=this.$element.data('responsive-menu');this.currentMq=null;this.currentPlugin=null;this.className='ResponsiveMenu';// ie9 back compat
this._init();this._events();}/**
     * Initializes the Menu by parsing the classes from the 'data-ResponsiveMenu' attribute on the element.
     * @function
     * @private
     */},{key:'_init',value:function _init(){__WEBPACK_IMPORTED_MODULE_1__foundation_util_mediaQuery__["a"/* MediaQuery */]._init();// The first time an Interchange plugin is initialized, this.rules is converted from a string of "classes" to an object of rules
if(typeof this.rules==='string'){var rulesTree={};// Parse rules from "classes" pulled from data attribute
var rules=this.rules.split(' ');// Iterate through every rule found
for(var i=0;i<rules.length;i++){var rule=rules[i].split('-');var ruleSize=rule.length>1?rule[0]:'small';var rulePlugin=rule.length>1?rule[1]:rule[0];if(MenuPlugins[rulePlugin]!==null){rulesTree[ruleSize]=MenuPlugins[rulePlugin];}}this.rules=rulesTree;}if(!__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.isEmptyObject(this.rules)){this._checkMediaQueries();}// Add data-mutate since children may need it.
this.$element.attr('data-mutate',this.$element.attr('data-mutate')||__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__foundation_util_core__["a"/* GetYoDigits */])(6,'responsive-menu'));}/**
     * Initializes events for the Menu.
     * @function
     * @private
     */},{key:'_events',value:function _events(){var _this=this;__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).on('changed.zf.mediaquery',function(){_this._checkMediaQueries();});// $(window).on('resize.zf.ResponsiveMenu', function() {
//   _this._checkMediaQueries();
// });
}/**
     * Checks the current screen width against available media queries. If the media query has changed, and the plugin needed has changed, the plugins will swap out.
     * @function
     * @private
     */},{key:'_checkMediaQueries',value:function _checkMediaQueries(){var matchedMq,_this=this;// Iterate through each rule and find the last matching rule
__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.each(this.rules,function(key){if(__WEBPACK_IMPORTED_MODULE_1__foundation_util_mediaQuery__["a"/* MediaQuery */].atLeast(key)){matchedMq=key;}});// No match? No dice
if(!matchedMq)return;// Plugin already initialized? We good
if(_instanceof(this.currentPlugin,this.rules[matchedMq].plugin))return;// Remove existing plugin-specific CSS classes
__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.each(MenuPlugins,function(key,value){_this.$element.removeClass(value.cssClass);});// Add the CSS class for the new plugin
this.$element.addClass(this.rules[matchedMq].cssClass);// Create an instance of the new plugin
if(this.currentPlugin)this.currentPlugin.destroy();this.currentPlugin=new this.rules[matchedMq].plugin(this.$element,{});}/**
     * Destroys the instance of the current plugin on this element, as well as the window resize handler that switches the plugins out.
     * @function
     */},{key:'_destroy',value:function _destroy(){this.currentPlugin.destroy();__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).off('.zf.ResponsiveMenu');}}]);return ResponsiveMenu;}(__WEBPACK_IMPORTED_MODULE_3__foundation_plugin__["a"/* Plugin */]);ResponsiveMenu.defaults={};/***/},/* 27 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return ResponsiveToggle;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_mediaQuery__=__webpack_require__(3);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2__foundation_util_motion__=__webpack_require__(6);/* harmony import */var __WEBPACK_IMPORTED_MODULE_3__foundation_plugin__=__webpack_require__(2);var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!_instanceof(instance,Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(_typeof2(call)==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+_typeof2(superClass));}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}/**
 * ResponsiveToggle module.
 * @module foundation.responsiveToggle
 * @requires foundation.util.mediaQuery
 * @requires foundation.util.motion
 */var ResponsiveToggle=function(_Plugin){_inherits(ResponsiveToggle,_Plugin);function ResponsiveToggle(){_classCallCheck(this,ResponsiveToggle);return _possibleConstructorReturn(this,(ResponsiveToggle.__proto__||Object.getPrototypeOf(ResponsiveToggle)).apply(this,arguments));}_createClass(ResponsiveToggle,[{key:'_setup',/**
     * Creates a new instance of Tab Bar.
     * @class
     * @name ResponsiveToggle
     * @fires ResponsiveToggle#init
     * @param {jQuery} element - jQuery object to attach tab bar functionality to.
     * @param {Object} options - Overrides to the default plugin settings.
     */value:function _setup(element,options){this.$element=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(element);this.options=__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend({},ResponsiveToggle.defaults,this.$element.data(),options);this.className='ResponsiveToggle';// ie9 back compat
this._init();this._events();}/**
     * Initializes the tab bar by finding the target element, toggling element, and running update().
     * @function
     * @private
     */},{key:'_init',value:function _init(){__WEBPACK_IMPORTED_MODULE_1__foundation_util_mediaQuery__["a"/* MediaQuery */]._init();var targetID=this.$element.data('responsive-toggle');if(!targetID){console.error('Your tab bar needs an ID of a Menu as the value of data-tab-bar.');}this.$targetMenu=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('#'+targetID);this.$toggler=this.$element.find('[data-toggle]').filter(function(){var target=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).data('toggle');return target===targetID||target==="";});this.options=__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend({},this.options,this.$targetMenu.data());// If they were set, parse the animation classes
if(this.options.animate){var input=this.options.animate.split(' ');this.animationIn=input[0];this.animationOut=input[1]||null;}this._update();}/**
     * Adds necessary event handlers for the tab bar to work.
     * @function
     * @private
     */},{key:'_events',value:function _events(){var _this=this;this._updateMqHandler=this._update.bind(this);__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).on('changed.zf.mediaquery',this._updateMqHandler);this.$toggler.on('click.zf.responsiveToggle',this.toggleMenu.bind(this));}/**
     * Checks the current media query to determine if the tab bar should be visible or hidden.
     * @function
     * @private
     */},{key:'_update',value:function _update(){// Mobile
if(!__WEBPACK_IMPORTED_MODULE_1__foundation_util_mediaQuery__["a"/* MediaQuery */].atLeast(this.options.hideFor)){this.$element.show();this.$targetMenu.hide();}// Desktop
else{this.$element.hide();this.$targetMenu.show();}}/**
     * Toggles the element attached to the tab bar. The toggle only happens if the screen is small enough to allow it.
     * @function
     * @fires ResponsiveToggle#toggled
     */},{key:'toggleMenu',value:function toggleMenu(){var _this3=this;if(!__WEBPACK_IMPORTED_MODULE_1__foundation_util_mediaQuery__["a"/* MediaQuery */].atLeast(this.options.hideFor)){/**
         * Fires when the element attached to the tab bar toggles.
         * @event ResponsiveToggle#toggled
         */if(this.options.animate){if(this.$targetMenu.is(':hidden')){__WEBPACK_IMPORTED_MODULE_2__foundation_util_motion__["a"/* Motion */].animateIn(this.$targetMenu,this.animationIn,function(){_this3.$element.trigger('toggled.zf.responsiveToggle');_this3.$targetMenu.find('[data-mutate]').triggerHandler('mutateme.zf.trigger');});}else{__WEBPACK_IMPORTED_MODULE_2__foundation_util_motion__["a"/* Motion */].animateOut(this.$targetMenu,this.animationOut,function(){_this3.$element.trigger('toggled.zf.responsiveToggle');});}}else{this.$targetMenu.toggle(0);this.$targetMenu.find('[data-mutate]').trigger('mutateme.zf.trigger');this.$element.trigger('toggled.zf.responsiveToggle');}}}},{key:'_destroy',value:function _destroy(){this.$element.off('.zf.responsiveToggle');this.$toggler.off('.zf.responsiveToggle');__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).off('changed.zf.mediaquery',this._updateMqHandler);}}]);return ResponsiveToggle;}(__WEBPACK_IMPORTED_MODULE_3__foundation_plugin__["a"/* Plugin */]);ResponsiveToggle.defaults={/**
   * The breakpoint after which the menu is always shown, and the tab bar is hidden.
   * @option
   * @type {string}
   * @default 'medium'
   */hideFor:'medium',/**
   * To decide if the toggle should be animated or not.
   * @option
   * @type {boolean}
   * @default false
   */animate:false};/***/},/* 28 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Reveal;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__=__webpack_require__(4);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2__foundation_util_mediaQuery__=__webpack_require__(3);/* harmony import */var __WEBPACK_IMPORTED_MODULE_3__foundation_util_motion__=__webpack_require__(6);/* harmony import */var __WEBPACK_IMPORTED_MODULE_4__foundation_plugin__=__webpack_require__(2);/* harmony import */var __WEBPACK_IMPORTED_MODULE_5__foundation_util_triggers__=__webpack_require__(5);var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!_instanceof(instance,Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(_typeof2(call)==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+_typeof2(superClass));}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}/**
 * Reveal module.
 * @module foundation.reveal
 * @requires foundation.util.keyboard
 * @requires foundation.util.triggers
 * @requires foundation.util.mediaQuery
 * @requires foundation.util.motion if using animations
 */var Reveal=function(_Plugin){_inherits(Reveal,_Plugin);function Reveal(){_classCallCheck(this,Reveal);return _possibleConstructorReturn(this,(Reveal.__proto__||Object.getPrototypeOf(Reveal)).apply(this,arguments));}_createClass(Reveal,[{key:'_setup',/**
     * Creates a new instance of Reveal.
     * @class
     * @name Reveal
     * @param {jQuery} element - jQuery object to use for the modal.
     * @param {Object} options - optional parameters.
     */value:function _setup(element,options){this.$element=element;this.options=__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend({},Reveal.defaults,this.$element.data(),options);this.className='Reveal';// ie9 back compat
this._init();// Triggers init is idempotent, just need to make sure it is initialized
__WEBPACK_IMPORTED_MODULE_5__foundation_util_triggers__["a"/* Triggers */].init(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a);__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a"/* Keyboard */].register('Reveal',{'ESCAPE':'close'});}/**
     * Initializes the modal by adding the overlay and close buttons, (if selected).
     * @private
     */},{key:'_init',value:function _init(){__WEBPACK_IMPORTED_MODULE_2__foundation_util_mediaQuery__["a"/* MediaQuery */]._init();this.id=this.$element.attr('id');this.isActive=false;this.cached={mq:__WEBPACK_IMPORTED_MODULE_2__foundation_util_mediaQuery__["a"/* MediaQuery */].current};this.isMobile=mobileSniff();this.$anchor=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-open="'+this.id+'"]').length?__WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-open="'+this.id+'"]'):__WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-toggle="'+this.id+'"]');this.$anchor.attr({'aria-controls':this.id,'aria-haspopup':true,'tabindex':0});if(this.options.fullScreen||this.$element.hasClass('full')){this.options.fullScreen=true;this.options.overlay=false;}if(this.options.overlay&&!this.$overlay){this.$overlay=this._makeOverlay(this.id);}this.$element.attr({'role':'dialog','aria-hidden':true,'data-yeti-box':this.id,'data-resize':this.id});if(this.$overlay){this.$element.detach().appendTo(this.$overlay);}else{this.$element.detach().appendTo(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.options.appendTo));this.$element.addClass('without-overlay');}this._events();if(this.options.deepLink&&window.location.hash==='#'+this.id){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).one('load.zf.reveal',this.open.bind(this));}}/**
     * Creates an overlay div to display behind the modal.
     * @private
     */},{key:'_makeOverlay',value:function _makeOverlay(){var additionalOverlayClasses='';if(this.options.additionalOverlayClasses){additionalOverlayClasses=' '+this.options.additionalOverlayClasses;}return __WEBPACK_IMPORTED_MODULE_0_jquery___default()('<div></div>').addClass('reveal-overlay'+additionalOverlayClasses).appendTo(this.options.appendTo);}/**
     * Updates position of modal
     * TODO:  Figure out if we actually need to cache these values or if it doesn't matter
     * @private
     */},{key:'_updatePosition',value:function _updatePosition(){var width=this.$element.outerWidth();var outerWidth=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).width();var height=this.$element.outerHeight();var outerHeight=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).height();var left,top;if(this.options.hOffset==='auto'){left=parseInt((outerWidth-width)/2,10);}else{left=parseInt(this.options.hOffset,10);}if(this.options.vOffset==='auto'){if(height>outerHeight){top=parseInt(Math.min(100,outerHeight/10),10);}else{top=parseInt((outerHeight-height)/4,10);}}else{top=parseInt(this.options.vOffset,10);}this.$element.css({top:top+'px'});// only worry about left if we don't have an overlay or we havea  horizontal offset,
// otherwise we're perfectly in the middle
if(!this.$overlay||this.options.hOffset!=='auto'){this.$element.css({left:left+'px'});this.$element.css({margin:'0px'});}}/**
     * Adds event handlers for the modal.
     * @private
     */},{key:'_events',value:function _events(){var _this3=this;var _this=this;this.$element.on({'open.zf.trigger':this.open.bind(this),'close.zf.trigger':function closeZfTrigger(event,$element){if(event.target===_this.$element[0]||__WEBPACK_IMPORTED_MODULE_0_jquery___default()(event.target).parents('[data-closable]')[0]===$element){// only close reveal when it's explicitly called
return _this3.close.apply(_this3);}},'toggle.zf.trigger':this.toggle.bind(this),'resizeme.zf.trigger':function resizemeZfTrigger(){_this._updatePosition();}});if(this.options.closeOnClick&&this.options.overlay){this.$overlay.off('.zf.reveal').on('click.zf.reveal',function(e){if(e.target===_this.$element[0]||__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.contains(_this.$element[0],e.target)||!__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.contains(document,e.target)){return;}_this.close();});}if(this.options.deepLink){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).on('popstate.zf.reveal:'+this.id,this._handleState.bind(this));}}/**
     * Handles modal methods on back/forward button clicks or any other event that triggers popstate.
     * @private
     */},{key:'_handleState',value:function _handleState(e){if(window.location.hash==='#'+this.id&&!this.isActive){this.open();}else{this.close();}}/**
     * Opens the modal controlled by `this.$anchor`, and closes all others by default.
     * @function
     * @fires Reveal#closeme
     * @fires Reveal#open
     */},{key:'open',value:function open(){var _this4=this;// either update or replace browser history
if(this.options.deepLink){var hash='#'+this.id;if(window.history.pushState){if(this.options.updateHistory){window.history.pushState({},'',hash);}else{window.history.replaceState({},'',hash);}}else{window.location.hash=hash;}}this.isActive=true;// Make elements invisible, but remove display: none so we can get size and positioning
this.$element.css({'visibility':'hidden'}).show().scrollTop(0);if(this.options.overlay){this.$overlay.css({'visibility':'hidden'}).show();}this._updatePosition();this.$element.hide().css({'visibility':''});if(this.$overlay){this.$overlay.css({'visibility':''}).hide();if(this.$element.hasClass('fast')){this.$overlay.addClass('fast');}else if(this.$element.hasClass('slow')){this.$overlay.addClass('slow');}}if(!this.options.multipleOpened){/**
         * Fires immediately before the modal opens.
         * Closes any other modals that are currently open
         * @event Reveal#closeme
         */this.$element.trigger('closeme.zf.reveal',this.id);}var _this=this;function addRevealOpenClasses(){if(_this.isMobile){if(!_this.originalScrollPos){_this.originalScrollPos=window.pageYOffset;}__WEBPACK_IMPORTED_MODULE_0_jquery___default()('html, body').addClass('is-reveal-open');}else{__WEBPACK_IMPORTED_MODULE_0_jquery___default()('body').addClass('is-reveal-open');}}// Motion UI method of reveal
if(this.options.animationIn){(function(){var afterAnimation=function afterAnimation(){_this.$element.attr({'aria-hidden':false,'tabindex':-1}).focus();addRevealOpenClasses();__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a"/* Keyboard */].trapFocus(_this.$element);};if(_this4.options.overlay){__WEBPACK_IMPORTED_MODULE_3__foundation_util_motion__["a"/* Motion */].animateIn(_this4.$overlay,'fade-in');}__WEBPACK_IMPORTED_MODULE_3__foundation_util_motion__["a"/* Motion */].animateIn(_this4.$element,_this4.options.animationIn,function(){if(_this4.$element){// protect against object having been removed
_this4.focusableElements=__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a"/* Keyboard */].findFocusable(_this4.$element);afterAnimation();}});})();}// jQuery method of reveal
else{if(this.options.overlay){this.$overlay.show(0);}this.$element.show(this.options.showDelay);}// handle accessibility
this.$element.attr({'aria-hidden':false,'tabindex':-1}).focus();__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a"/* Keyboard */].trapFocus(this.$element);addRevealOpenClasses();this._extraHandlers();/**
       * Fires when the modal has successfully opened.
       * @event Reveal#open
       */this.$element.trigger('open.zf.reveal');}/**
     * Adds extra event handlers for the body and window if necessary.
     * @private
     */},{key:'_extraHandlers',value:function _extraHandlers(){var _this=this;if(!this.$element){return;}// If we're in the middle of cleanup, don't freak out
this.focusableElements=__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a"/* Keyboard */].findFocusable(this.$element);if(!this.options.overlay&&this.options.closeOnClick&&!this.options.fullScreen){__WEBPACK_IMPORTED_MODULE_0_jquery___default()('body').on('click.zf.reveal',function(e){if(e.target===_this.$element[0]||__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.contains(_this.$element[0],e.target)||!__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.contains(document,e.target)){return;}_this.close();});}if(this.options.closeOnEsc){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).on('keydown.zf.reveal',function(e){__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a"/* Keyboard */].handleKey(e,'Reveal',{close:function close(){if(_this.options.closeOnEsc){_this.close();}}});});}}/**
     * Closes the modal.
     * @function
     * @fires Reveal#closed
     */},{key:'close',value:function close(){if(!this.isActive||!this.$element.is(':visible')){return false;}var _this=this;// Motion UI method of hiding
if(this.options.animationOut){if(this.options.overlay){__WEBPACK_IMPORTED_MODULE_3__foundation_util_motion__["a"/* Motion */].animateOut(this.$overlay,'fade-out');}__WEBPACK_IMPORTED_MODULE_3__foundation_util_motion__["a"/* Motion */].animateOut(this.$element,this.options.animationOut,finishUp);}// jQuery method of hiding
else{this.$element.hide(this.options.hideDelay);if(this.options.overlay){this.$overlay.hide(0,finishUp);}else{finishUp();}}// Conditionals to remove extra event listeners added on open
if(this.options.closeOnEsc){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).off('keydown.zf.reveal');}if(!this.options.overlay&&this.options.closeOnClick){__WEBPACK_IMPORTED_MODULE_0_jquery___default()('body').off('click.zf.reveal');}this.$element.off('keydown.zf.reveal');function finishUp(){if(_this.isMobile){if(__WEBPACK_IMPORTED_MODULE_0_jquery___default()('.reveal:visible').length===0){__WEBPACK_IMPORTED_MODULE_0_jquery___default()('html, body').removeClass('is-reveal-open');}if(_this.originalScrollPos){__WEBPACK_IMPORTED_MODULE_0_jquery___default()('body').scrollTop(_this.originalScrollPos);_this.originalScrollPos=null;}}else{if(__WEBPACK_IMPORTED_MODULE_0_jquery___default()('.reveal:visible').length===0){__WEBPACK_IMPORTED_MODULE_0_jquery___default()('body').removeClass('is-reveal-open');}}__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a"/* Keyboard */].releaseFocus(_this.$element);_this.$element.attr('aria-hidden',true);/**
        * Fires when the modal is done closing.
        * @event Reveal#closed
        */_this.$element.trigger('closed.zf.reveal');}/**
      * Resets the modal content
      * This prevents a running video to keep going in the background
      */if(this.options.resetOnClose){this.$element.html(this.$element.html());}this.isActive=false;if(_this.options.deepLink){if(window.history.replaceState){window.history.replaceState('',document.title,window.location.href.replace('#'+this.id,''));}else{window.location.hash='';}}this.$anchor.focus();}/**
     * Toggles the open/closed state of a modal.
     * @function
     */},{key:'toggle',value:function toggle(){if(this.isActive){this.close();}else{this.open();}}},{key:'_destroy',/**
     * Destroys an instance of a modal.
     * @function
     */value:function _destroy(){if(this.options.overlay){this.$element.appendTo(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.options.appendTo));// move $element outside of $overlay to prevent error unregisterPlugin()
this.$overlay.hide().off().remove();}this.$element.hide().off();this.$anchor.off('.zf');__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).off('.zf.reveal:'+this.id);}}]);return Reveal;}(__WEBPACK_IMPORTED_MODULE_4__foundation_plugin__["a"/* Plugin */]);Reveal.defaults={/**
   * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.
   * @option
   * @type {string}
   * @default ''
   */animationIn:'',/**
   * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.
   * @option
   * @type {string}
   * @default ''
   */animationOut:'',/**
   * Time, in ms, to delay the opening of a modal after a click if no animation used.
   * @option
   * @type {number}
   * @default 0
   */showDelay:0,/**
   * Time, in ms, to delay the closing of a modal after a click if no animation used.
   * @option
   * @type {number}
   * @default 0
   */hideDelay:0,/**
   * Allows a click on the body/overlay to close the modal.
   * @option
   * @type {boolean}
   * @default true
   */closeOnClick:true,/**
   * Allows the modal to close if the user presses the `ESCAPE` key.
   * @option
   * @type {boolean}
   * @default true
   */closeOnEsc:true,/**
   * If true, allows multiple modals to be displayed at once.
   * @option
   * @type {boolean}
   * @default false
   */multipleOpened:false,/**
   * Distance, in pixels, the modal should push down from the top of the screen.
   * @option
   * @type {number|string}
   * @default auto
   */vOffset:'auto',/**
   * Distance, in pixels, the modal should push in from the side of the screen.
   * @option
   * @type {number|string}
   * @default auto
   */hOffset:'auto',/**
   * Allows the modal to be fullscreen, completely blocking out the rest of the view. JS checks for this as well.
   * @option
   * @type {boolean}
   * @default false
   */fullScreen:false,/**
   * Percentage of screen height the modal should push up from the bottom of the view.
   * @option
   * @type {number}
   * @default 10
   */btmOffsetPct:10,/**
   * Allows the modal to generate an overlay div, which will cover the view when modal opens.
   * @option
   * @type {boolean}
   * @default true
   */overlay:true,/**
   * Allows the modal to remove and reinject markup on close. Should be true if using video elements w/o using provider's api, otherwise, videos will continue to play in the background.
   * @option
   * @type {boolean}
   * @default false
   */resetOnClose:false,/**
   * Allows the modal to alter the url on open/close, and allows the use of the `back` button to close modals. ALSO, allows a modal to auto-maniacally open on page load IF the hash === the modal's user-set id.
   * @option
   * @type {boolean}
   * @default false
   */deepLink:false,/**
   * Update the browser history with the open modal
   * @option
   * @default false
   */updateHistory:false,/**
  * Allows the modal to append to custom div.
  * @option
  * @type {string}
  * @default "body"
  */appendTo:"body",/**
   * Allows adding additional class names to the reveal overlay.
   * @option
   * @type {string}
   * @default ''
   */additionalOverlayClasses:''};function iPhoneSniff(){return /iP(ad|hone|od).*OS/.test(window.navigator.userAgent);}function androidSniff(){return /Android/.test(window.navigator.userAgent);}function mobileSniff(){return iPhoneSniff()||androidSniff();}/***/},/* 29 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Slider;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__=__webpack_require__(4);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2__foundation_util_motion__=__webpack_require__(6);/* harmony import */var __WEBPACK_IMPORTED_MODULE_3__foundation_util_core__=__webpack_require__(1);/* harmony import */var __WEBPACK_IMPORTED_MODULE_4__foundation_plugin__=__webpack_require__(2);/* harmony import */var __WEBPACK_IMPORTED_MODULE_5__foundation_util_touch__=__webpack_require__(16);/* harmony import */var __WEBPACK_IMPORTED_MODULE_6__foundation_util_triggers__=__webpack_require__(5);var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!_instanceof(instance,Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(_typeof2(call)==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+_typeof2(superClass));}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}/**
 * Slider module.
 * @module foundation.slider
 * @requires foundation.util.motion
 * @requires foundation.util.triggers
 * @requires foundation.util.keyboard
 * @requires foundation.util.touch
 */var Slider=function(_Plugin){_inherits(Slider,_Plugin);function Slider(){_classCallCheck(this,Slider);return _possibleConstructorReturn(this,(Slider.__proto__||Object.getPrototypeOf(Slider)).apply(this,arguments));}_createClass(Slider,[{key:'_setup',/**
     * Creates a new instance of a slider control.
     * @class
     * @name Slider
     * @param {jQuery} element - jQuery object to make into a slider control.
     * @param {Object} options - Overrides to the default plugin settings.
     */value:function _setup(element,options){this.$element=element;this.options=__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend({},Slider.defaults,this.$element.data(),options);this.className='Slider';// ie9 back compat
// Touch and Triggers inits are idempotent, we just need to make sure it's initialied.
__WEBPACK_IMPORTED_MODULE_5__foundation_util_touch__["a"/* Touch */].init(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a);__WEBPACK_IMPORTED_MODULE_6__foundation_util_triggers__["a"/* Triggers */].init(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a);this._init();__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a"/* Keyboard */].register('Slider',{'ltr':{'ARROW_RIGHT':'increase','ARROW_UP':'increase','ARROW_DOWN':'decrease','ARROW_LEFT':'decrease','SHIFT_ARROW_RIGHT':'increase_fast','SHIFT_ARROW_UP':'increase_fast','SHIFT_ARROW_DOWN':'decrease_fast','SHIFT_ARROW_LEFT':'decrease_fast','HOME':'min','END':'max'},'rtl':{'ARROW_LEFT':'increase','ARROW_RIGHT':'decrease','SHIFT_ARROW_LEFT':'increase_fast','SHIFT_ARROW_RIGHT':'decrease_fast'}});}/**
     * Initilizes the plugin by reading/setting attributes, creating collections and setting the initial position of the handle(s).
     * @function
     * @private
     */},{key:'_init',value:function _init(){this.inputs=this.$element.find('input');this.handles=this.$element.find('[data-slider-handle]');this.$handle=this.handles.eq(0);this.$input=this.inputs.length?this.inputs.eq(0):__WEBPACK_IMPORTED_MODULE_0_jquery___default()('#'+this.$handle.attr('aria-controls'));this.$fill=this.$element.find('[data-slider-fill]').css(this.options.vertical?'height':'width',0);var isDbl=false,_this=this;if(this.options.disabled||this.$element.hasClass(this.options.disabledClass)){this.options.disabled=true;this.$element.addClass(this.options.disabledClass);}if(!this.inputs.length){this.inputs=__WEBPACK_IMPORTED_MODULE_0_jquery___default()().add(this.$input);this.options.binding=true;}this._setInitAttr(0);if(this.handles[1]){this.options.doubleSided=true;this.$handle2=this.handles.eq(1);this.$input2=this.inputs.length>1?this.inputs.eq(1):__WEBPACK_IMPORTED_MODULE_0_jquery___default()('#'+this.$handle2.attr('aria-controls'));if(!this.inputs[1]){this.inputs=this.inputs.add(this.$input2);}isDbl=true;// this.$handle.triggerHandler('click.zf.slider');
this._setInitAttr(1);}// Set handle positions
this.setHandles();this._events();}},{key:'setHandles',value:function setHandles(){var _this3=this;if(this.handles[1]){this._setHandlePos(this.$handle,this.inputs.eq(0).val(),true,function(){_this3._setHandlePos(_this3.$handle2,_this3.inputs.eq(1).val(),true);});}else{this._setHandlePos(this.$handle,this.inputs.eq(0).val(),true);}}},{key:'_reflow',value:function _reflow(){this.setHandles();}/**
    * @function
    * @private
    * @param {Number} value - floating point (the value) to be transformed using to a relative position on the slider (the inverse of _value)
    */},{key:'_pctOfBar',value:function _pctOfBar(value){var pctOfBar=percent(value-this.options.start,this.options.end-this.options.start);switch(this.options.positionValueFunction){case"pow":pctOfBar=this._logTransform(pctOfBar);break;case"log":pctOfBar=this._powTransform(pctOfBar);break;}return pctOfBar.toFixed(2);}/**
    * @function
    * @private
    * @param {Number} pctOfBar - floating point, the relative position of the slider (typically between 0-1) to be transformed to a value
    */},{key:'_value',value:function _value(pctOfBar){switch(this.options.positionValueFunction){case"pow":pctOfBar=this._powTransform(pctOfBar);break;case"log":pctOfBar=this._logTransform(pctOfBar);break;}var value=(this.options.end-this.options.start)*pctOfBar+this.options.start;return value;}/**
    * @function
    * @private
    * @param {Number} value - floating point (typically between 0-1) to be transformed using the log function
    */},{key:'_logTransform',value:function _logTransform(value){return baseLog(this.options.nonLinearBase,value*(this.options.nonLinearBase-1)+1);}/**
    * @function
    * @private
    * @param {Number} value - floating point (typically between 0-1) to be transformed using the power function
    */},{key:'_powTransform',value:function _powTransform(value){return(Math.pow(this.options.nonLinearBase,value)-1)/(this.options.nonLinearBase-1);}/**
     * Sets the position of the selected handle and fill bar.
     * @function
     * @private
     * @param {jQuery} $hndl - the selected handle to move.
     * @param {Number} location - floating point between the start and end values of the slider bar.
     * @param {Function} cb - callback function to fire on completion.
     * @fires Slider#moved
     * @fires Slider#changed
     */},{key:'_setHandlePos',value:function _setHandlePos($hndl,location,noInvert,cb){// don't move if the slider has been disabled since its initialization
if(this.$element.hasClass(this.options.disabledClass)){return;}//might need to alter that slightly for bars that will have odd number selections.
location=parseFloat(location);//on input change events, convert string to number...grumble.
// prevent slider from running out of bounds, if value exceeds the limits set through options, override the value to min/max
if(location<this.options.start){location=this.options.start;}else if(location>this.options.end){location=this.options.end;}var isDbl=this.options.doubleSided;//this is for single-handled vertical sliders, it adjusts the value to account for the slider being "upside-down"
//for click and drag events, it's weird due to the scale(-1, 1) css property
if(this.options.vertical&&!noInvert){location=this.options.end-location;}if(isDbl){//this block is to prevent 2 handles from crossing eachother. Could/should be improved.
if(this.handles.index($hndl)===0){var h2Val=parseFloat(this.$handle2.attr('aria-valuenow'));location=location>=h2Val?h2Val-this.options.step:location;}else{var h1Val=parseFloat(this.$handle.attr('aria-valuenow'));location=location<=h1Val?h1Val+this.options.step:location;}}var _this=this,vert=this.options.vertical,hOrW=vert?'height':'width',lOrT=vert?'top':'left',handleDim=$hndl[0].getBoundingClientRect()[hOrW],elemDim=this.$element[0].getBoundingClientRect()[hOrW],//percentage of bar min/max value based on click or drag point
pctOfBar=this._pctOfBar(location),//number of actual pixels to shift the handle, based on the percentage obtained above
pxToMove=(elemDim-handleDim)*pctOfBar,//percentage of bar to shift the handle
movement=(percent(pxToMove,elemDim)*100).toFixed(this.options.decimal);//fixing the decimal value for the location number, is passed to other methods as a fixed floating-point value
location=parseFloat(location.toFixed(this.options.decimal));// declare empty object for css adjustments, only used with 2 handled-sliders
var css={};this._setValues($hndl,location);// TODO update to calculate based on values set to respective inputs??
if(isDbl){var isLeftHndl=this.handles.index($hndl)===0,//empty variable, will be used for min-height/width for fill bar
dim,//percentage w/h of the handle compared to the slider bar
handlePct=~~(percent(handleDim,elemDim)*100);//if left handle, the math is slightly different than if it's the right handle, and the left/top property needs to be changed for the fill bar
if(isLeftHndl){//left or top percentage value to apply to the fill bar.
css[lOrT]=movement+'%';//calculate the new min-height/width for the fill bar.
dim=parseFloat(this.$handle2[0].style[lOrT])-movement+handlePct;//this callback is necessary to prevent errors and allow the proper placement and initialization of a 2-handled slider
//plus, it means we don't care if 'dim' isNaN on init, it won't be in the future.
if(cb&&typeof cb==='function'){cb();}//this is only needed for the initialization of 2 handled sliders
}else{//just caching the value of the left/bottom handle's left/top property
var handlePos=parseFloat(this.$handle[0].style[lOrT]);//calculate the new min-height/width for the fill bar. Use isNaN to prevent false positives for numbers <= 0
//based on the percentage of movement of the handle being manipulated, less the opposing handle's left/top position, plus the percentage w/h of the handle itself
dim=movement-(isNaN(handlePos)?(this.options.initialStart-this.options.start)/((this.options.end-this.options.start)/100):handlePos)+handlePct;}// assign the min-height/width to our css object
css['min-'+hOrW]=dim+'%';}this.$element.one('finished.zf.animate',function(){/**
         * Fires when the handle is done moving.
         * @event Slider#moved
         */_this.$element.trigger('moved.zf.slider',[$hndl]);});//because we don't know exactly how the handle will be moved, check the amount of time it should take to move.
var moveTime=this.$element.data('dragging')?1000/60:this.options.moveTime;__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__foundation_util_motion__["b"/* Move */])(moveTime,$hndl,function(){// adjusting the left/top property of the handle, based on the percentage calculated above
// if movement isNaN, that is because the slider is hidden and we cannot determine handle width,
// fall back to next best guess.
if(isNaN(movement)){$hndl.css(lOrT,pctOfBar*100+'%');}else{$hndl.css(lOrT,movement+'%');}if(!_this.options.doubleSided){//if single-handled, a simple method to expand the fill bar
_this.$fill.css(hOrW,pctOfBar*100+'%');}else{//otherwise, use the css object we created above
_this.$fill.css(css);}});/**
       * Fires when the value has not been change for a given time.
       * @event Slider#changed
       */clearTimeout(_this.timeout);_this.timeout=setTimeout(function(){_this.$element.trigger('changed.zf.slider',[$hndl]);},_this.options.changedDelay);}/**
     * Sets the initial attribute for the slider element.
     * @function
     * @private
     * @param {Number} idx - index of the current handle/input to use.
     */},{key:'_setInitAttr',value:function _setInitAttr(idx){var initVal=idx===0?this.options.initialStart:this.options.initialEnd;var id=this.inputs.eq(idx).attr('id')||__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__foundation_util_core__["a"/* GetYoDigits */])(6,'slider');this.inputs.eq(idx).attr({'id':id,'max':this.options.end,'min':this.options.start,'step':this.options.step});this.inputs.eq(idx).val(initVal);this.handles.eq(idx).attr({'role':'slider','aria-controls':id,'aria-valuemax':this.options.end,'aria-valuemin':this.options.start,'aria-valuenow':initVal,'aria-orientation':this.options.vertical?'vertical':'horizontal','tabindex':0});}/**
     * Sets the input and `aria-valuenow` values for the slider element.
     * @function
     * @private
     * @param {jQuery} $handle - the currently selected handle.
     * @param {Number} val - floating point of the new value.
     */},{key:'_setValues',value:function _setValues($handle,val){var idx=this.options.doubleSided?this.handles.index($handle):0;this.inputs.eq(idx).val(val);$handle.attr('aria-valuenow',val);}/**
     * Handles events on the slider element.
     * Calculates the new location of the current handle.
     * If there are two handles and the bar was clicked, it determines which handle to move.
     * @function
     * @private
     * @param {Object} e - the `event` object passed from the listener.
     * @param {jQuery} $handle - the current handle to calculate for, if selected.
     * @param {Number} val - floating point number for the new value of the slider.
     * TODO clean this up, there's a lot of repeated code between this and the _setHandlePos fn.
     */},{key:'_handleEvent',value:function _handleEvent(e,$handle,val){var value,hasVal;if(!val){//click or drag events
e.preventDefault();var _this=this,vertical=this.options.vertical,param=vertical?'height':'width',direction=vertical?'top':'left',eventOffset=vertical?e.pageY:e.pageX,halfOfHandle=this.$handle[0].getBoundingClientRect()[param]/2,barDim=this.$element[0].getBoundingClientRect()[param],windowScroll=vertical?__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).scrollTop():__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).scrollLeft();var elemOffset=this.$element.offset()[direction];// touch events emulated by the touch util give position relative to screen, add window.scroll to event coordinates...
// best way to guess this is simulated is if clientY == pageY
if(e.clientY===e.pageY){eventOffset=eventOffset+windowScroll;}var eventFromBar=eventOffset-elemOffset;var barXY;if(eventFromBar<0){barXY=0;}else if(eventFromBar>barDim){barXY=barDim;}else{barXY=eventFromBar;}var offsetPct=percent(barXY,barDim);value=this._value(offsetPct);// turn everything around for RTL, yay math!
if(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__foundation_util_core__["b"/* rtl */])()&&!this.options.vertical){value=this.options.end-value;}value=_this._adjustValue(null,value);//boolean flag for the setHandlePos fn, specifically for vertical sliders
hasVal=false;if(!$handle){//figure out which handle it is, pass it to the next function.
var firstHndlPos=absPosition(this.$handle,direction,barXY,param),secndHndlPos=absPosition(this.$handle2,direction,barXY,param);$handle=firstHndlPos<=secndHndlPos?this.$handle:this.$handle2;}}else{//change event on input
value=this._adjustValue(null,val);hasVal=true;}this._setHandlePos($handle,value,hasVal);}/**
     * Adjustes value for handle in regard to step value. returns adjusted value
     * @function
     * @private
     * @param {jQuery} $handle - the selected handle.
     * @param {Number} value - value to adjust. used if $handle is falsy
     */},{key:'_adjustValue',value:function _adjustValue($handle,value){var val,step=this.options.step,div=parseFloat(step/2),left,prev_val,next_val;if(!!$handle){val=parseFloat($handle.attr('aria-valuenow'));}else{val=value;}left=val%step;prev_val=val-left;next_val=prev_val+step;if(left===0){return val;}val=val>=prev_val+div?next_val:prev_val;return val;}/**
     * Adds event listeners to the slider elements.
     * @function
     * @private
     */},{key:'_events',value:function _events(){this._eventsForHandle(this.$handle);if(this.handles[1]){this._eventsForHandle(this.$handle2);}}/**
     * Adds event listeners a particular handle
     * @function
     * @private
     * @param {jQuery} $handle - the current handle to apply listeners to.
     */},{key:'_eventsForHandle',value:function _eventsForHandle($handle){var _this=this,curHandle,timer;this.inputs.off('change.zf.slider').on('change.zf.slider',function(e){var idx=_this.inputs.index(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this));_this._handleEvent(e,_this.handles.eq(idx),__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).val());});if(this.options.clickSelect){this.$element.off('click.zf.slider').on('click.zf.slider',function(e){if(_this.$element.data('dragging')){return false;}if(!__WEBPACK_IMPORTED_MODULE_0_jquery___default()(e.target).is('[data-slider-handle]')){if(_this.options.doubleSided){_this._handleEvent(e);}else{_this._handleEvent(e,_this.$handle);}}});}if(this.options.draggable){this.handles.addTouch();var $body=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('body');$handle.off('mousedown.zf.slider').on('mousedown.zf.slider',function(e){$handle.addClass('is-dragging');_this.$fill.addClass('is-dragging');//
_this.$element.data('dragging',true);curHandle=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(e.currentTarget);$body.on('mousemove.zf.slider',function(e){e.preventDefault();_this._handleEvent(e,curHandle);}).on('mouseup.zf.slider',function(e){_this._handleEvent(e,curHandle);$handle.removeClass('is-dragging');_this.$fill.removeClass('is-dragging');_this.$element.data('dragging',false);$body.off('mousemove.zf.slider mouseup.zf.slider');});})// prevent events triggered by touch
.on('selectstart.zf.slider touchmove.zf.slider',function(e){e.preventDefault();});}$handle.off('keydown.zf.slider').on('keydown.zf.slider',function(e){var _$handle=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this),idx=_this.options.doubleSided?_this.handles.index(_$handle):0,oldValue=parseFloat(_this.inputs.eq(idx).val()),newValue;// handle keyboard event with keyboard util
__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a"/* Keyboard */].handleKey(e,'Slider',{decrease:function decrease(){newValue=oldValue-_this.options.step;},increase:function increase(){newValue=oldValue+_this.options.step;},decrease_fast:function decrease_fast(){newValue=oldValue-_this.options.step*10;},increase_fast:function increase_fast(){newValue=oldValue+_this.options.step*10;},min:function min(){newValue=_this.options.start;},max:function max(){newValue=_this.options.end;},handled:function handled(){// only set handle pos when event was handled specially
e.preventDefault();_this._setHandlePos(_$handle,newValue,true);}});/*if (newValue) { // if pressed key has special function, update value
          e.preventDefault();
          _this._setHandlePos(_$handle, newValue);
        }*/});}/**
     * Destroys the slider plugin.
     */},{key:'_destroy',value:function _destroy(){this.handles.off('.zf.slider');this.inputs.off('.zf.slider');this.$element.off('.zf.slider');clearTimeout(this.timeout);}}]);return Slider;}(__WEBPACK_IMPORTED_MODULE_4__foundation_plugin__["a"/* Plugin */]);Slider.defaults={/**
   * Minimum value for the slider scale.
   * @option
   * @type {number}
   * @default 0
   */start:0,/**
   * Maximum value for the slider scale.
   * @option
   * @type {number}
   * @default 100
   */end:100,/**
   * Minimum value change per change event.
   * @option
   * @type {number}
   * @default 1
   */step:1,/**
   * Value at which the handle/input *(left handle/first input)* should be set to on initialization.
   * @option
   * @type {number}
   * @default 0
   */initialStart:0,/**
   * Value at which the right handle/second input should be set to on initialization.
   * @option
   * @type {number}
   * @default 100
   */initialEnd:100,/**
   * Allows the input to be located outside the container and visible. Set to by the JS
   * @option
   * @type {boolean}
   * @default false
   */binding:false,/**
   * Allows the user to click/tap on the slider bar to select a value.
   * @option
   * @type {boolean}
   * @default true
   */clickSelect:true,/**
   * Set to true and use the `vertical` class to change alignment to vertical.
   * @option
   * @type {boolean}
   * @default false
   */vertical:false,/**
   * Allows the user to drag the slider handle(s) to select a value.
   * @option
   * @type {boolean}
   * @default true
   */draggable:true,/**
   * Disables the slider and prevents event listeners from being applied. Double checked by JS with `disabledClass`.
   * @option
   * @type {boolean}
   * @default false
   */disabled:false,/**
   * Allows the use of two handles. Double checked by the JS. Changes some logic handling.
   * @option
   * @type {boolean}
   * @default false
   */doubleSided:false,/**
   * Potential future feature.
   */ // steps: 100,
/**
   * Number of decimal places the plugin should go to for floating point precision.
   * @option
   * @type {number}
   * @default 2
   */decimal:2,/**
   * Time delay for dragged elements.
   */ // dragDelay: 0,
/**
   * Time, in ms, to animate the movement of a slider handle if user clicks/taps on the bar. Needs to be manually set if updating the transition time in the Sass settings.
   * @option
   * @type {number}
   * @default 200
   */moveTime:200,//update this if changing the transition time in the sass
/**
   * Class applied to disabled sliders.
   * @option
   * @type {string}
   * @default 'disabled'
   */disabledClass:'disabled',/**
   * Will invert the default layout for a vertical<span data-tooltip title="who would do this???"> </span>slider.
   * @option
   * @type {boolean}
   * @default false
   */invertVertical:false,/**
   * Milliseconds before the `changed.zf-slider` event is triggered after value change.
   * @option
   * @type {number}
   * @default 500
   */changedDelay:500,/**
  * Basevalue for non-linear sliders
  * @option
  * @type {number}
  * @default 5
  */nonLinearBase:5,/**
  * Basevalue for non-linear sliders, possible values are: `'linear'`, `'pow'` & `'log'`. Pow and Log use the nonLinearBase setting.
  * @option
  * @type {string}
  * @default 'linear'
  */positionValueFunction:'linear'};function percent(frac,num){return frac/num;}function absPosition($handle,dir,clickPos,param){return Math.abs($handle.position()[dir]+$handle[param]()/2-clickPos);}function baseLog(base,value){return Math.log(value)/Math.log(base);}/***/},/* 30 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Sticky;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_core__=__webpack_require__(1);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2__foundation_util_mediaQuery__=__webpack_require__(3);/* harmony import */var __WEBPACK_IMPORTED_MODULE_3__foundation_plugin__=__webpack_require__(2);/* harmony import */var __WEBPACK_IMPORTED_MODULE_4__foundation_util_triggers__=__webpack_require__(5);var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!_instanceof(instance,Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(_typeof2(call)==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+_typeof2(superClass));}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}/**
 * Sticky module.
 * @module foundation.sticky
 * @requires foundation.util.triggers
 * @requires foundation.util.mediaQuery
 */var Sticky=function(_Plugin){_inherits(Sticky,_Plugin);function Sticky(){_classCallCheck(this,Sticky);return _possibleConstructorReturn(this,(Sticky.__proto__||Object.getPrototypeOf(Sticky)).apply(this,arguments));}_createClass(Sticky,[{key:'_setup',/**
     * Creates a new instance of a sticky thing.
     * @class
     * @name Sticky
     * @param {jQuery} element - jQuery object to make sticky.
     * @param {Object} options - options object passed when creating the element programmatically.
     */value:function _setup(element,options){this.$element=element;this.options=__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend({},Sticky.defaults,this.$element.data(),options);this.className='Sticky';// ie9 back compat
// Triggers init is idempotent, just need to make sure it is initialized
__WEBPACK_IMPORTED_MODULE_4__foundation_util_triggers__["a"/* Triggers */].init(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a);this._init();}/**
     * Initializes the sticky element by adding classes, getting/setting dimensions, breakpoints and attributes
     * @function
     * @private
     */},{key:'_init',value:function _init(){__WEBPACK_IMPORTED_MODULE_2__foundation_util_mediaQuery__["a"/* MediaQuery */]._init();var $parent=this.$element.parent('[data-sticky-container]'),id=this.$element[0].id||__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__foundation_util_core__["a"/* GetYoDigits */])(6,'sticky'),_this=this;if($parent.length){this.$container=$parent;}else{this.wasWrapped=true;this.$element.wrap(this.options.container);this.$container=this.$element.parent();}this.$container.addClass(this.options.containerClass);this.$element.addClass(this.options.stickyClass).attr({'data-resize':id,'data-mutate':id});if(this.options.anchor!==''){__WEBPACK_IMPORTED_MODULE_0_jquery___default()('#'+_this.options.anchor).attr({'data-mutate':id});}this.scrollCount=this.options.checkEvery;this.isStuck=false;__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).one('load.zf.sticky',function(){//We calculate the container height to have correct values for anchor points offset calculation.
_this.containerHeight=_this.$element.css("display")=="none"?0:_this.$element[0].getBoundingClientRect().height;_this.$container.css('height',_this.containerHeight);_this.elemHeight=_this.containerHeight;if(_this.options.anchor!==''){_this.$anchor=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('#'+_this.options.anchor);}else{_this._parsePoints();}_this._setSizes(function(){var scroll=window.pageYOffset;_this._calc(false,scroll);//Unstick the element will ensure that proper classes are set.
if(!_this.isStuck){_this._removeSticky(scroll>=_this.topPoint?false:true);}});_this._events(id.split('-').reverse().join('-'));});}/**
     * If using multiple elements as anchors, calculates the top and bottom pixel values the sticky thing should stick and unstick on.
     * @function
     * @private
     */},{key:'_parsePoints',value:function _parsePoints(){var top=this.options.topAnchor==""?1:this.options.topAnchor,btm=this.options.btmAnchor==""?document.documentElement.scrollHeight:this.options.btmAnchor,pts=[top,btm],breaks={};for(var i=0,len=pts.length;i<len&&pts[i];i++){var pt;if(typeof pts[i]==='number'){pt=pts[i];}else{var place=pts[i].split(':'),anchor=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('#'+place[0]);pt=anchor.offset().top;if(place[1]&&place[1].toLowerCase()==='bottom'){pt+=anchor[0].getBoundingClientRect().height;}}breaks[i]=pt;}this.points=breaks;return;}/**
     * Adds event handlers for the scrolling element.
     * @private
     * @param {String} id - pseudo-random id for unique scroll event listener.
     */},{key:'_events',value:function _events(id){var _this=this,scrollListener=this.scrollListener='scroll.zf.'+id;if(this.isOn){return;}if(this.canStick){this.isOn=true;__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).off(scrollListener).on(scrollListener,function(e){if(_this.scrollCount===0){_this.scrollCount=_this.options.checkEvery;_this._setSizes(function(){_this._calc(false,window.pageYOffset);});}else{_this.scrollCount--;_this._calc(false,window.pageYOffset);}});}this.$element.off('resizeme.zf.trigger').on('resizeme.zf.trigger',function(e,el){_this._eventsHandler(id);});this.$element.on('mutateme.zf.trigger',function(e,el){_this._eventsHandler(id);});if(this.$anchor){this.$anchor.on('mutateme.zf.trigger',function(e,el){_this._eventsHandler(id);});}}/**
     * Handler for events.
     * @private
     * @param {String} id - pseudo-random id for unique scroll event listener.
     */},{key:'_eventsHandler',value:function _eventsHandler(id){var _this=this,scrollListener=this.scrollListener='scroll.zf.'+id;_this._setSizes(function(){_this._calc(false);if(_this.canStick){if(!_this.isOn){_this._events(id);}}else if(_this.isOn){_this._pauseListeners(scrollListener);}});}/**
     * Removes event handlers for scroll and change events on anchor.
     * @fires Sticky#pause
     * @param {String} scrollListener - unique, namespaced scroll listener attached to `window`
     */},{key:'_pauseListeners',value:function _pauseListeners(scrollListener){this.isOn=false;__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).off(scrollListener);/**
       * Fires when the plugin is paused due to resize event shrinking the view.
       * @event Sticky#pause
       * @private
       */this.$element.trigger('pause.zf.sticky');}/**
     * Called on every `scroll` event and on `_init`
     * fires functions based on booleans and cached values
     * @param {Boolean} checkSizes - true if plugin should recalculate sizes and breakpoints.
     * @param {Number} scroll - current scroll position passed from scroll event cb function. If not passed, defaults to `window.pageYOffset`.
     */},{key:'_calc',value:function _calc(checkSizes,scroll){if(checkSizes){this._setSizes();}if(!this.canStick){if(this.isStuck){this._removeSticky(true);}return false;}if(!scroll){scroll=window.pageYOffset;}if(scroll>=this.topPoint){if(scroll<=this.bottomPoint){if(!this.isStuck){this._setSticky();}}else{if(this.isStuck){this._removeSticky(false);}}}else{if(this.isStuck){this._removeSticky(true);}}}/**
     * Causes the $element to become stuck.
     * Adds `position: fixed;`, and helper classes.
     * @fires Sticky#stuckto
     * @function
     * @private
     */},{key:'_setSticky',value:function _setSticky(){var _this=this,stickTo=this.options.stickTo,mrgn=stickTo==='top'?'marginTop':'marginBottom',notStuckTo=stickTo==='top'?'bottom':'top',css={};css[mrgn]=this.options[mrgn]+'em';css[stickTo]=0;css[notStuckTo]='auto';this.isStuck=true;this.$element.removeClass('is-anchored is-at-'+notStuckTo).addClass('is-stuck is-at-'+stickTo).css(css)/**
       * Fires when the $element has become `position: fixed;`
       * Namespaced to `top` or `bottom`, e.g. `sticky.zf.stuckto:top`
       * @event Sticky#stuckto
       */.trigger('sticky.zf.stuckto:'+stickTo);this.$element.on("transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd",function(){_this._setSizes();});}/**
     * Causes the $element to become unstuck.
     * Removes `position: fixed;`, and helper classes.
     * Adds other helper classes.
     * @param {Boolean} isTop - tells the function if the $element should anchor to the top or bottom of its $anchor element.
     * @fires Sticky#unstuckfrom
     * @private
     */},{key:'_removeSticky',value:function _removeSticky(isTop){var stickTo=this.options.stickTo,stickToTop=stickTo==='top',css={},anchorPt=(this.points?this.points[1]-this.points[0]:this.anchorHeight)-this.elemHeight,mrgn=stickToTop?'marginTop':'marginBottom',notStuckTo=stickToTop?'bottom':'top',topOrBottom=isTop?'top':'bottom';css[mrgn]=0;css['bottom']='auto';if(isTop){css['top']=0;}else{css['top']=anchorPt;}this.isStuck=false;this.$element.removeClass('is-stuck is-at-'+stickTo).addClass('is-anchored is-at-'+topOrBottom).css(css)/**
       * Fires when the $element has become anchored.
       * Namespaced to `top` or `bottom`, e.g. `sticky.zf.unstuckfrom:bottom`
       * @event Sticky#unstuckfrom
       */.trigger('sticky.zf.unstuckfrom:'+topOrBottom);}/**
     * Sets the $element and $container sizes for plugin.
     * Calls `_setBreakPoints`.
     * @param {Function} cb - optional callback function to fire on completion of `_setBreakPoints`.
     * @private
     */},{key:'_setSizes',value:function _setSizes(cb){this.canStick=__WEBPACK_IMPORTED_MODULE_2__foundation_util_mediaQuery__["a"/* MediaQuery */].is(this.options.stickyOn);if(!this.canStick){if(cb&&typeof cb==='function'){cb();}}var _this=this,newElemWidth=this.$container[0].getBoundingClientRect().width,comp=window.getComputedStyle(this.$container[0]),pdngl=parseInt(comp['padding-left'],10),pdngr=parseInt(comp['padding-right'],10);if(this.$anchor&&this.$anchor.length){this.anchorHeight=this.$anchor[0].getBoundingClientRect().height;}else{this._parsePoints();}this.$element.css({'max-width':newElemWidth-pdngl-pdngr+'px'});var newContainerHeight=this.$element[0].getBoundingClientRect().height||this.containerHeight;if(this.$element.css("display")=="none"){newContainerHeight=0;}this.containerHeight=newContainerHeight;this.$container.css({height:newContainerHeight});this.elemHeight=newContainerHeight;if(!this.isStuck){if(this.$element.hasClass('is-at-bottom')){var anchorPt=(this.points?this.points[1]-this.$container.offset().top:this.anchorHeight)-this.elemHeight;this.$element.css('top',anchorPt);}}this._setBreakPoints(newContainerHeight,function(){if(cb&&typeof cb==='function'){cb();}});}/**
     * Sets the upper and lower breakpoints for the element to become sticky/unsticky.
     * @param {Number} elemHeight - px value for sticky.$element height, calculated by `_setSizes`.
     * @param {Function} cb - optional callback function to be called on completion.
     * @private
     */},{key:'_setBreakPoints',value:function _setBreakPoints(elemHeight,cb){if(!this.canStick){if(cb&&typeof cb==='function'){cb();}else{return false;}}var mTop=emCalc(this.options.marginTop),mBtm=emCalc(this.options.marginBottom),topPoint=this.points?this.points[0]:this.$anchor.offset().top,bottomPoint=this.points?this.points[1]:topPoint+this.anchorHeight,// topPoint = this.$anchor.offset().top || this.points[0],
// bottomPoint = topPoint + this.anchorHeight || this.points[1],
winHeight=window.innerHeight;if(this.options.stickTo==='top'){topPoint-=mTop;bottomPoint-=elemHeight+mTop;}else if(this.options.stickTo==='bottom'){topPoint-=winHeight-(elemHeight+mBtm);bottomPoint-=winHeight-mBtm;}else{//this would be the stickTo: both option... tricky
}this.topPoint=topPoint;this.bottomPoint=bottomPoint;if(cb&&typeof cb==='function'){cb();}}/**
     * Destroys the current sticky element.
     * Resets the element to the top position first.
     * Removes event listeners, JS-added css properties and classes, and unwraps the $element if the JS added the $container.
     * @function
     */},{key:'_destroy',value:function _destroy(){this._removeSticky(true);this.$element.removeClass(this.options.stickyClass+' is-anchored is-at-top').css({height:'',top:'',bottom:'','max-width':''}).off('resizeme.zf.trigger').off('mutateme.zf.trigger');if(this.$anchor&&this.$anchor.length){this.$anchor.off('change.zf.sticky');}__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).off(this.scrollListener);if(this.wasWrapped){this.$element.unwrap();}else{this.$container.removeClass(this.options.containerClass).css({height:''});}}}]);return Sticky;}(__WEBPACK_IMPORTED_MODULE_3__foundation_plugin__["a"/* Plugin */]);Sticky.defaults={/**
   * Customizable container template. Add your own classes for styling and sizing.
   * @option
   * @type {string}
   * @default '&lt;div data-sticky-container&gt;&lt;/div&gt;'
   */container:'<div data-sticky-container></div>',/**
   * Location in the view the element sticks to. Can be `'top'` or `'bottom'`.
   * @option
   * @type {string}
   * @default 'top'
   */stickTo:'top',/**
   * If anchored to a single element, the id of that element.
   * @option
   * @type {string}
   * @default ''
   */anchor:'',/**
   * If using more than one element as anchor points, the id of the top anchor.
   * @option
   * @type {string}
   * @default ''
   */topAnchor:'',/**
   * If using more than one element as anchor points, the id of the bottom anchor.
   * @option
   * @type {string}
   * @default ''
   */btmAnchor:'',/**
   * Margin, in `em`'s to apply to the top of the element when it becomes sticky.
   * @option
   * @type {number}
   * @default 1
   */marginTop:1,/**
   * Margin, in `em`'s to apply to the bottom of the element when it becomes sticky.
   * @option
   * @type {number}
   * @default 1
   */marginBottom:1,/**
   * Breakpoint string that is the minimum screen size an element should become sticky.
   * @option
   * @type {string}
   * @default 'medium'
   */stickyOn:'medium',/**
   * Class applied to sticky element, and removed on destruction. Foundation defaults to `sticky`.
   * @option
   * @type {string}
   * @default 'sticky'
   */stickyClass:'sticky',/**
   * Class applied to sticky container. Foundation defaults to `sticky-container`.
   * @option
   * @type {string}
   * @default 'sticky-container'
   */containerClass:'sticky-container',/**
   * Number of scroll events between the plugin's recalculating sticky points. Setting it to `0` will cause it to recalc every scroll event, setting it to `-1` will prevent recalc on scroll.
   * @option
   * @type {number}
   * @default -1
   */checkEvery:-1};/**
 * Helper function to calculate em values
 * @param Number {em} - number of em's to calculate into pixels
 */function emCalc(em){return parseInt(window.getComputedStyle(document.body,null).fontSize,10)*em;}/***/},/* 31 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Toggler;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_motion__=__webpack_require__(6);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2__foundation_plugin__=__webpack_require__(2);/* harmony import */var __WEBPACK_IMPORTED_MODULE_3__foundation_util_triggers__=__webpack_require__(5);var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!_instanceof(instance,Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(_typeof2(call)==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+_typeof2(superClass));}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}/**
 * Toggler module.
 * @module foundation.toggler
 * @requires foundation.util.motion
 * @requires foundation.util.triggers
 */var Toggler=function(_Plugin){_inherits(Toggler,_Plugin);function Toggler(){_classCallCheck(this,Toggler);return _possibleConstructorReturn(this,(Toggler.__proto__||Object.getPrototypeOf(Toggler)).apply(this,arguments));}_createClass(Toggler,[{key:'_setup',/**
     * Creates a new instance of Toggler.
     * @class
     * @name Toggler
     * @fires Toggler#init
     * @param {Object} element - jQuery object to add the trigger to.
     * @param {Object} options - Overrides to the default plugin settings.
     */value:function _setup(element,options){this.$element=element;this.options=__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend({},Toggler.defaults,element.data(),options);this.className='';this.className='Toggler';// ie9 back compat
// Triggers init is idempotent, just need to make sure it is initialized
__WEBPACK_IMPORTED_MODULE_3__foundation_util_triggers__["a"/* Triggers */].init(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a);this._init();this._events();}/**
     * Initializes the Toggler plugin by parsing the toggle class from data-toggler, or animation classes from data-animate.
     * @function
     * @private
     */},{key:'_init',value:function _init(){var input;// Parse animation classes if they were set
if(this.options.animate){input=this.options.animate.split(' ');this.animationIn=input[0];this.animationOut=input[1]||null;}// Otherwise, parse toggle class
else{input=this.$element.data('toggler');// Allow for a . at the beginning of the string
this.className=input[0]==='.'?input.slice(1):input;}// Add ARIA attributes to triggers
var id=this.$element[0].id;__WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-open="'+id+'"], [data-close="'+id+'"], [data-toggle="'+id+'"]').attr('aria-controls',id);// If the target is hidden, add aria-hidden
this.$element.attr('aria-expanded',this.$element.is(':hidden')?false:true);}/**
     * Initializes events for the toggle trigger.
     * @function
     * @private
     */},{key:'_events',value:function _events(){this.$element.off('toggle.zf.trigger').on('toggle.zf.trigger',this.toggle.bind(this));}/**
     * Toggles the target class on the target element. An event is fired from the original trigger depending on if the resultant state was "on" or "off".
     * @function
     * @fires Toggler#on
     * @fires Toggler#off
     */},{key:'toggle',value:function toggle(){this[this.options.animate?'_toggleAnimate':'_toggleClass']();}},{key:'_toggleClass',value:function _toggleClass(){this.$element.toggleClass(this.className);var isOn=this.$element.hasClass(this.className);if(isOn){/**
         * Fires if the target element has the class after a toggle.
         * @event Toggler#on
         */this.$element.trigger('on.zf.toggler');}else{/**
         * Fires if the target element does not have the class after a toggle.
         * @event Toggler#off
         */this.$element.trigger('off.zf.toggler');}this._updateARIA(isOn);this.$element.find('[data-mutate]').trigger('mutateme.zf.trigger');}},{key:'_toggleAnimate',value:function _toggleAnimate(){var _this=this;if(this.$element.is(':hidden')){__WEBPACK_IMPORTED_MODULE_1__foundation_util_motion__["a"/* Motion */].animateIn(this.$element,this.animationIn,function(){_this._updateARIA(true);this.trigger('on.zf.toggler');this.find('[data-mutate]').trigger('mutateme.zf.trigger');});}else{__WEBPACK_IMPORTED_MODULE_1__foundation_util_motion__["a"/* Motion */].animateOut(this.$element,this.animationOut,function(){_this._updateARIA(false);this.trigger('off.zf.toggler');this.find('[data-mutate]').trigger('mutateme.zf.trigger');});}}},{key:'_updateARIA',value:function _updateARIA(isOn){this.$element.attr('aria-expanded',isOn?true:false);}/**
     * Destroys the instance of Toggler on the element.
     * @function
     */},{key:'_destroy',value:function _destroy(){this.$element.off('.zf.toggler');}}]);return Toggler;}(__WEBPACK_IMPORTED_MODULE_2__foundation_plugin__["a"/* Plugin */]);Toggler.defaults={/**
   * Tells the plugin if the element should animated when toggled.
   * @option
   * @type {boolean}
   * @default false
   */animate:false};/***/},/* 32 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Tooltip;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_core__=__webpack_require__(1);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2__foundation_util_mediaQuery__=__webpack_require__(3);/* harmony import */var __WEBPACK_IMPORTED_MODULE_3__foundation_util_triggers__=__webpack_require__(5);/* harmony import */var __WEBPACK_IMPORTED_MODULE_4__foundation_positionable__=__webpack_require__(15);var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();var _get=function get(object,property,receiver){if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined;}else{return get(parent,property,receiver);}}else if("value"in desc){return desc.value;}else{var getter=desc.get;if(getter===undefined){return undefined;}return getter.call(receiver);}};function _classCallCheck(instance,Constructor){if(!_instanceof(instance,Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(_typeof2(call)==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+_typeof2(superClass));}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}/**
 * Tooltip module.
 * @module foundation.tooltip
 * @requires foundation.util.box
 * @requires foundation.util.mediaQuery
 * @requires foundation.util.triggers
 */var Tooltip=function(_Positionable){_inherits(Tooltip,_Positionable);function Tooltip(){_classCallCheck(this,Tooltip);return _possibleConstructorReturn(this,(Tooltip.__proto__||Object.getPrototypeOf(Tooltip)).apply(this,arguments));}_createClass(Tooltip,[{key:'_setup',/**
     * Creates a new instance of a Tooltip.
     * @class
     * @name Tooltip
     * @fires Tooltip#init
     * @param {jQuery} element - jQuery object to attach a tooltip to.
     * @param {Object} options - object to extend the default configuration.
     */value:function _setup(element,options){this.$element=element;this.options=__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend({},Tooltip.defaults,this.$element.data(),options);this.className='Tooltip';// ie9 back compat
this.isActive=false;this.isClick=false;// Triggers init is idempotent, just need to make sure it is initialized
__WEBPACK_IMPORTED_MODULE_3__foundation_util_triggers__["a"/* Triggers */].init(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a);this._init();}/**
     * Initializes the tooltip by setting the creating the tip element, adding it's text, setting private variables and setting attributes on the anchor.
     * @private
     */},{key:'_init',value:function _init(){__WEBPACK_IMPORTED_MODULE_2__foundation_util_mediaQuery__["a"/* MediaQuery */]._init();var elemId=this.$element.attr('aria-describedby')||__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__foundation_util_core__["a"/* GetYoDigits */])(6,'tooltip');this.options.tipText=this.options.tipText||this.$element.attr('title');this.template=this.options.template?__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.options.template):this._buildTemplate(elemId);if(this.options.allowHtml){this.template.appendTo(document.body).html(this.options.tipText).hide();}else{this.template.appendTo(document.body).text(this.options.tipText).hide();}this.$element.attr({'title':'','aria-describedby':elemId,'data-yeti-box':elemId,'data-toggle':elemId,'data-resize':elemId}).addClass(this.options.triggerClass);_get(Tooltip.prototype.__proto__||Object.getPrototypeOf(Tooltip.prototype),'_init',this).call(this);this._events();}},{key:'_getDefaultPosition',value:function _getDefaultPosition(){// handle legacy classnames
var position=this.$element[0].className.match(/\b(top|left|right|bottom)\b/g);return position?position[0]:'top';}},{key:'_getDefaultAlignment',value:function _getDefaultAlignment(){return'center';}},{key:'_getHOffset',value:function _getHOffset(){if(this.position==='left'||this.position==='right'){return this.options.hOffset+this.options.tooltipWidth;}else{return this.options.hOffset;}}},{key:'_getVOffset',value:function _getVOffset(){if(this.position==='top'||this.position==='bottom'){return this.options.vOffset+this.options.tooltipHeight;}else{return this.options.vOffset;}}/**
     * builds the tooltip element, adds attributes, and returns the template.
     * @private
     */},{key:'_buildTemplate',value:function _buildTemplate(id){var templateClasses=(this.options.tooltipClass+' '+this.options.positionClass+' '+this.options.templateClasses).trim();var $template=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('<div></div>').addClass(templateClasses).attr({'role':'tooltip','aria-hidden':true,'data-is-active':false,'data-is-focus':false,'id':id});return $template;}/**
     * sets the position class of an element and recursively calls itself until there are no more possible positions to attempt, or the tooltip element is no longer colliding.
     * if the tooltip is larger than the screen width, default to full width - any user selected margin
     * @private
     */},{key:'_setPosition',value:function _setPosition(){_get(Tooltip.prototype.__proto__||Object.getPrototypeOf(Tooltip.prototype),'_setPosition',this).call(this,this.$element,this.template);}/**
     * reveals the tooltip, and fires an event to close any other open tooltips on the page
     * @fires Tooltip#closeme
     * @fires Tooltip#show
     * @function
     */},{key:'show',value:function show(){if(this.options.showOn!=='all'&&!__WEBPACK_IMPORTED_MODULE_2__foundation_util_mediaQuery__["a"/* MediaQuery */].is(this.options.showOn)){// console.error('The screen is too small to display this tooltip');
return false;}var _this=this;this.template.css('visibility','hidden').show();this._setPosition();this.template.removeClass('top bottom left right').addClass(this.position);this.template.removeClass('align-top align-bottom align-left align-right align-center').addClass('align-'+this.alignment);/**
       * Fires to close all other open tooltips on the page
       * @event Closeme#tooltip
       */this.$element.trigger('closeme.zf.tooltip',this.template.attr('id'));this.template.attr({'data-is-active':true,'aria-hidden':false});_this.isActive=true;// console.log(this.template);
this.template.stop().hide().css('visibility','').fadeIn(this.options.fadeInDuration,function(){//maybe do stuff?
});/**
       * Fires when the tooltip is shown
       * @event Tooltip#show
       */this.$element.trigger('show.zf.tooltip');}/**
     * Hides the current tooltip, and resets the positioning class if it was changed due to collision
     * @fires Tooltip#hide
     * @function
     */},{key:'hide',value:function hide(){// console.log('hiding', this.$element.data('yeti-box'));
var _this=this;this.template.stop().attr({'aria-hidden':true,'data-is-active':false}).fadeOut(this.options.fadeOutDuration,function(){_this.isActive=false;_this.isClick=false;});/**
       * fires when the tooltip is hidden
       * @event Tooltip#hide
       */this.$element.trigger('hide.zf.tooltip');}/**
     * adds event listeners for the tooltip and its anchor
     * TODO combine some of the listeners like focus and mouseenter, etc.
     * @private
     */},{key:'_events',value:function _events(){var _this=this;var $template=this.template;var isFocus=false;if(!this.options.disableHover){this.$element.on('mouseenter.zf.tooltip',function(e){if(!_this.isActive){_this.timeout=setTimeout(function(){_this.show();},_this.options.hoverDelay);}}).on('mouseleave.zf.tooltip',function(e){clearTimeout(_this.timeout);if(!isFocus||_this.isClick&&!_this.options.clickOpen){_this.hide();}});}if(this.options.clickOpen){this.$element.on('mousedown.zf.tooltip',function(e){e.stopImmediatePropagation();if(_this.isClick){//_this.hide();
// _this.isClick = false;
}else{_this.isClick=true;if((_this.options.disableHover||!_this.$element.attr('tabindex'))&&!_this.isActive){_this.show();}}});}else{this.$element.on('mousedown.zf.tooltip',function(e){e.stopImmediatePropagation();_this.isClick=true;});}if(!this.options.disableForTouch){this.$element.on('tap.zf.tooltip touchend.zf.tooltip',function(e){_this.isActive?_this.hide():_this.show();});}this.$element.on({// 'toggle.zf.trigger': this.toggle.bind(this),
// 'close.zf.trigger': this.hide.bind(this)
'close.zf.trigger':this.hide.bind(this)});this.$element.on('focus.zf.tooltip',function(e){isFocus=true;if(_this.isClick){// If we're not showing open on clicks, we need to pretend a click-launched focus isn't
// a real focus, otherwise on hover and come back we get bad behavior
if(!_this.options.clickOpen){isFocus=false;}return false;}else{_this.show();}}).on('focusout.zf.tooltip',function(e){isFocus=false;_this.isClick=false;_this.hide();}).on('resizeme.zf.trigger',function(){if(_this.isActive){_this._setPosition();}});}/**
     * adds a toggle method, in addition to the static show() & hide() functions
     * @function
     */},{key:'toggle',value:function toggle(){if(this.isActive){this.hide();}else{this.show();}}/**
     * Destroys an instance of tooltip, removes template element from the view.
     * @function
     */},{key:'_destroy',value:function _destroy(){this.$element.attr('title',this.template.text()).off('.zf.trigger .zf.tooltip').removeClass('has-tip top right left').removeAttr('aria-describedby aria-haspopup data-disable-hover data-resize data-toggle data-tooltip data-yeti-box');this.template.remove();}}]);return Tooltip;}(__WEBPACK_IMPORTED_MODULE_4__foundation_positionable__["a"/* Positionable */]);Tooltip.defaults={disableForTouch:false,/**
   * Time, in ms, before a tooltip should open on hover.
   * @option
   * @type {number}
   * @default 200
   */hoverDelay:200,/**
   * Time, in ms, a tooltip should take to fade into view.
   * @option
   * @type {number}
   * @default 150
   */fadeInDuration:150,/**
   * Time, in ms, a tooltip should take to fade out of view.
   * @option
   * @type {number}
   * @default 150
   */fadeOutDuration:150,/**
   * Disables hover events from opening the tooltip if set to true
   * @option
   * @type {boolean}
   * @default false
   */disableHover:false,/**
   * Optional addtional classes to apply to the tooltip template on init.
   * @option
   * @type {string}
   * @default ''
   */templateClasses:'',/**
   * Non-optional class added to tooltip templates. Foundation default is 'tooltip'.
   * @option
   * @type {string}
   * @default 'tooltip'
   */tooltipClass:'tooltip',/**
   * Class applied to the tooltip anchor element.
   * @option
   * @type {string}
   * @default 'has-tip'
   */triggerClass:'has-tip',/**
   * Minimum breakpoint size at which to open the tooltip.
   * @option
   * @type {string}
   * @default 'small'
   */showOn:'small',/**
   * Custom template to be used to generate markup for tooltip.
   * @option
   * @type {string}
   * @default ''
   */template:'',/**
   * Text displayed in the tooltip template on open.
   * @option
   * @type {string}
   * @default ''
   */tipText:'',touchCloseText:'Tap to close.',/**
   * Allows the tooltip to remain open if triggered with a click or touch event.
   * @option
   * @type {boolean}
   * @default true
   */clickOpen:true,/**
   * DEPRECATED Additional positioning classes, set by the JS
   * @option
   * @type {string}
   * @default ''
   */positionClass:'',/**
   * Position of tooltip. Can be left, right, bottom, top, or auto.
   * @option
   * @type {string}
   * @default 'auto'
   */position:'auto',/**
   * Alignment of tooltip relative to anchor. Can be left, right, bottom, top, center, or auto.
   * @option
   * @type {string}
   * @default 'auto'
   */alignment:'auto',/**
   * Allow overlap of container/window. If false, tooltip will first try to
   * position as defined by data-position and data-alignment, but reposition if
   * it would cause an overflow.  @option
   * @type {boolean}
   * @default false
   */allowOverlap:false,/**
   * Allow overlap of only the bottom of the container. This is the most common
   * behavior for dropdowns, allowing the dropdown to extend the bottom of the
   * screen but not otherwise influence or break out of the container.
   * Less common for tooltips.
   * @option
   * @type {boolean}
   * @default false
   */allowBottomOverlap:false,/**
   * Distance, in pixels, the template should push away from the anchor on the Y axis.
   * @option
   * @type {number}
   * @default 0
   */vOffset:0,/**
   * Distance, in pixels, the template should push away from the anchor on the X axis
   * @option
   * @type {number}
   * @default 0
   */hOffset:0,/**
   * Distance, in pixels, the template spacing auto-adjust for a vertical tooltip
   * @option
   * @type {number}
   * @default 14
   */tooltipHeight:14,/**
   * Distance, in pixels, the template spacing auto-adjust for a horizontal tooltip
   * @option
   * @type {number}
   * @default 12
   */tooltipWidth:12,/**
  * Allow HTML in tooltip. Warning: If you are loading user-generated content into tooltips,
  * allowing HTML may open yourself up to XSS attacks.
  * @option
  * @type {boolean}
  * @default false
  */allowHtml:false};/**
 * TODO utilize resize event trigger
 */ /***/},/* 33 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return SmoothScroll;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_core__=__webpack_require__(1);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2__foundation_plugin__=__webpack_require__(2);var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!_instanceof(instance,Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(_typeof2(call)==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+_typeof2(superClass));}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}/**
 * SmoothScroll module.
 * @module foundation.smooth-scroll
 */var SmoothScroll=function(_Plugin){_inherits(SmoothScroll,_Plugin);function SmoothScroll(){_classCallCheck(this,SmoothScroll);return _possibleConstructorReturn(this,(SmoothScroll.__proto__||Object.getPrototypeOf(SmoothScroll)).apply(this,arguments));}_createClass(SmoothScroll,[{key:'_setup',/**
         * Creates a new instance of SmoothScroll.
         * @class
         * @name SmoothScroll
         * @fires SmoothScroll#init
         * @param {Object} element - jQuery object to add the trigger to.
         * @param {Object} options - Overrides to the default plugin settings.
         */value:function _setup(element,options){this.$element=element;this.options=__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend({},SmoothScroll.defaults,this.$element.data(),options);this.className='SmoothScroll';// ie9 back compat
this._init();}/**
         * Initialize the SmoothScroll plugin
         * @private
         */},{key:'_init',value:function _init(){var id=this.$element[0].id||__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__foundation_util_core__["a"/* GetYoDigits */])(6,'smooth-scroll');var _this=this;this.$element.attr({'id':id});this._events();}/**
         * Initializes events for SmoothScroll.
         * @private
         */},{key:'_events',value:function _events(){var _this=this;// click handler function.
var handleLinkClick=function handleLinkClick(e){// exit function if the event source isn't coming from an anchor with href attribute starts with '#'
if(!__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).is('a[href^="#"]')){return false;}var arrival=this.getAttribute('href');_this._inTransition=true;SmoothScroll.scrollToLoc(arrival,_this.options,function(){_this._inTransition=false;});e.preventDefault();};this.$element.on('click.zf.smoothScroll',handleLinkClick);this.$element.on('click.zf.smoothScroll','a[href^="#"]',handleLinkClick);}/**
         * Function to scroll to a given location on the page.
         * @param {String} loc - A properly formatted jQuery id selector. Example: '#foo'
         * @param {Object} options - The options to use.
         * @param {Function} callback - The callback function.
         * @static
         * @function
         */}],[{key:'scrollToLoc',value:function scrollToLoc(loc){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:SmoothScroll.defaults;var callback=arguments[2];// Do nothing if target does not exist to prevent errors
if(!__WEBPACK_IMPORTED_MODULE_0_jquery___default()(loc).length){return false;}var scrollPos=Math.round(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(loc).offset().top-options.threshold/2-options.offset);__WEBPACK_IMPORTED_MODULE_0_jquery___default()('html, body').stop(true).animate({scrollTop:scrollPos},options.animationDuration,options.animationEasing,function(){if(callback&&typeof callback=="function"){callback();}});}}]);return SmoothScroll;}(__WEBPACK_IMPORTED_MODULE_2__foundation_plugin__["a"/* Plugin */]);/**
 * Default settings for plugin.
 */SmoothScroll.defaults={/**
     * Amount of time, in ms, the animated scrolling should take between locations.
     * @option
     * @type {number}
     * @default 500
     */animationDuration:500,/**
     * Animation style to use when scrolling between locations. Can be `'swing'` or `'linear'`.
     * @option
     * @type {string}
     * @default 'linear'
     * @see {@link https://api.jquery.com/animate|Jquery animate}
     */animationEasing:'linear',/**
     * Number of pixels to use as a marker for location changes.
     * @option
     * @type {number}
     * @default 50
     */threshold:50,/**
     * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar.
     * @option
     * @type {number}
     * @default 0
     */offset:0};/***/},/* 34 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Timer;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);function Timer(elem,options,cb){var _this=this,duration=options.duration,//options is an object for easily adding features later.
nameSpace=Object.keys(elem.data())[0]||'timer',remain=-1,start,timer;this.isPaused=false;this.restart=function(){remain=-1;clearTimeout(timer);this.start();};this.start=function(){this.isPaused=false;// if(!elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.
clearTimeout(timer);remain=remain<=0?duration:remain;elem.data('paused',false);start=Date.now();timer=setTimeout(function(){if(options.infinite){_this.restart();//rerun the timer.
}if(cb&&typeof cb==='function'){cb();}},remain);elem.trigger('timerstart.zf.'+nameSpace);};this.pause=function(){this.isPaused=true;//if(elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.
clearTimeout(timer);elem.data('paused',true);var end=Date.now();remain=remain-(end-start);elem.trigger('timerpaused.zf.'+nameSpace);};}/***/},/* 35 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict";Object.defineProperty(__webpack_exports__,"__esModule",{value:true});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_core__=__webpack_require__(18);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_util_mediaQuery__=__webpack_require__(3);/* harmony import */var __WEBPACK_IMPORTED_MODULE_3__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_util_triggers__=__webpack_require__(5);/* harmony import */var __WEBPACK_IMPORTED_MODULE_4__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_abide__=__webpack_require__(17);/* harmony import */var __WEBPACK_IMPORTED_MODULE_5__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_accordion__=__webpack_require__(10);/* harmony import */var __WEBPACK_IMPORTED_MODULE_6__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_accordionMenu__=__webpack_require__(11);/* harmony import */var __WEBPACK_IMPORTED_MODULE_7__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_drilldown__=__webpack_require__(12);/* harmony import */var __WEBPACK_IMPORTED_MODULE_8__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_dropdown__=__webpack_require__(19);/* harmony import */var __WEBPACK_IMPORTED_MODULE_9__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_dropdownMenu__=__webpack_require__(13);/* harmony import */var __WEBPACK_IMPORTED_MODULE_10__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_equalizer__=__webpack_require__(20);/* harmony import */var __WEBPACK_IMPORTED_MODULE_11__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_interchange__=__webpack_require__(21);/* harmony import */var __WEBPACK_IMPORTED_MODULE_12__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_magellan__=__webpack_require__(22);/* harmony import */var __WEBPACK_IMPORTED_MODULE_13__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_offcanvas__=__webpack_require__(23);/* harmony import */var __WEBPACK_IMPORTED_MODULE_14__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_orbit__=__webpack_require__(24);/* harmony import */var __WEBPACK_IMPORTED_MODULE_15__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_responsiveMenu__=__webpack_require__(26);/* harmony import */var __WEBPACK_IMPORTED_MODULE_16__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_responsiveToggle__=__webpack_require__(27);/* harmony import */var __WEBPACK_IMPORTED_MODULE_17__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_reveal__=__webpack_require__(28);/* harmony import */var __WEBPACK_IMPORTED_MODULE_18__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_slider__=__webpack_require__(29);/* harmony import */var __WEBPACK_IMPORTED_MODULE_19__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_sticky__=__webpack_require__(30);/* harmony import */var __WEBPACK_IMPORTED_MODULE_20__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_tabs__=__webpack_require__(14);/* harmony import */var __WEBPACK_IMPORTED_MODULE_21__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_toggler__=__webpack_require__(31);/* harmony import */var __WEBPACK_IMPORTED_MODULE_22__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_tooltip__=__webpack_require__(32);/* harmony import */var __WEBPACK_IMPORTED_MODULE_23__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_responsiveAccordionTabs__=__webpack_require__(25);__WEBPACK_IMPORTED_MODULE_1__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_core__["a"/* Foundation */].addToJquery(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a);__WEBPACK_IMPORTED_MODULE_1__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_core__["a"/* Foundation */].MediaQuery=__WEBPACK_IMPORTED_MODULE_2__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_util_mediaQuery__["a"/* MediaQuery */];__WEBPACK_IMPORTED_MODULE_3__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_util_triggers__["a"/* Triggers */].init(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a,__WEBPACK_IMPORTED_MODULE_1__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_core__["a"/* Foundation */]);__WEBPACK_IMPORTED_MODULE_1__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_core__["a"/* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_4__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_abide__["a"/* Abide */],'Abide');__WEBPACK_IMPORTED_MODULE_1__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_core__["a"/* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_5__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_accordion__["a"/* Accordion */],'Accordion');__WEBPACK_IMPORTED_MODULE_1__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_core__["a"/* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_6__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_accordionMenu__["a"/* AccordionMenu */],'AccordionMenu');__WEBPACK_IMPORTED_MODULE_1__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_core__["a"/* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_7__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_drilldown__["a"/* Drilldown */],'Drilldown');__WEBPACK_IMPORTED_MODULE_1__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_core__["a"/* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_8__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_dropdown__["a"/* Dropdown */],'Dropdown');__WEBPACK_IMPORTED_MODULE_1__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_core__["a"/* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_9__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_dropdownMenu__["a"/* DropdownMenu */],'DropdownMenu');__WEBPACK_IMPORTED_MODULE_1__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_core__["a"/* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_10__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_equalizer__["a"/* Equalizer */],'Equalizer');__WEBPACK_IMPORTED_MODULE_1__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_core__["a"/* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_11__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_interchange__["a"/* Interchange */],'Interchange');__WEBPACK_IMPORTED_MODULE_1__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_core__["a"/* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_12__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_magellan__["a"/* Magellan */],'Magellan');__WEBPACK_IMPORTED_MODULE_1__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_core__["a"/* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_13__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_offcanvas__["a"/* OffCanvas */],'OffCanvas');__WEBPACK_IMPORTED_MODULE_1__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_core__["a"/* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_14__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_orbit__["a"/* Orbit */],'Orbit');__WEBPACK_IMPORTED_MODULE_1__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_core__["a"/* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_15__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_responsiveMenu__["a"/* ResponsiveMenu */],'ResponsiveMenu');__WEBPACK_IMPORTED_MODULE_1__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_core__["a"/* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_16__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_responsiveToggle__["a"/* ResponsiveToggle */],'ResponsiveToggle');__WEBPACK_IMPORTED_MODULE_1__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_core__["a"/* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_17__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_reveal__["a"/* Reveal */],'Reveal');__WEBPACK_IMPORTED_MODULE_1__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_core__["a"/* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_18__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_slider__["a"/* Slider */],'Slider');__WEBPACK_IMPORTED_MODULE_1__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_core__["a"/* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_19__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_sticky__["a"/* Sticky */],'Sticky');__WEBPACK_IMPORTED_MODULE_1__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_core__["a"/* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_20__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_tabs__["a"/* Tabs */],'Tabs');__WEBPACK_IMPORTED_MODULE_1__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_core__["a"/* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_21__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_toggler__["a"/* Toggler */],'Toggler');__WEBPACK_IMPORTED_MODULE_1__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_core__["a"/* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_22__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_tooltip__["a"/* Tooltip */],'Tooltip');__WEBPACK_IMPORTED_MODULE_1__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_core__["a"/* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_23__home_deployer_sites_node_foundation_customizer_node_foundation_customizer_foundation_sites_js_foundation_responsiveAccordionTabs__["a"/* ResponsiveAccordionTabs */],'ResponsiveAccordionTabs');/***/}/******/]);;'use strict';var _typeof=typeof Symbol==="function"&&_typeof2(Symbol.iterator)==="symbol"?function(obj){return _typeof2(obj);}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":_typeof2(obj);};/*
     _ _      _       _
 ___| (_) ___| | __  (_)___
/ __| | |/ __| |/ /  | / __|
\__ \ | | (__|   < _ | \__ \
|___/_|_|\___|_|\_(_)/ |___/
                   |__/

 Version: 1.8.0
  Author: Ken Wheeler
 Website: http://kenwheeler.github.io
    Docs: http://kenwheeler.github.io/slick
    Repo: http://github.com/kenwheeler/slick
  Issues: http://github.com/kenwheeler/slick/issues

 */ /* global window, document, define, jQuery, setInterval, clearInterval */;(function(factory){'use strict';if(typeof define==='function'&&define.amd){define(['jquery'],factory);}else if(typeof exports!=='undefined'){module.exports=factory(require('jquery'));}else{factory(jQuery);}})(function($){'use strict';var Slick=window.Slick||{};Slick=function(){var instanceUid=0;function Slick(element,settings){var _=this,dataSettings;_.defaults={accessibility:true,adaptiveHeight:false,appendArrows:$(element),appendDots:$(element),arrows:true,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:false,autoplaySpeed:3000,centerMode:false,centerPadding:'50px',cssEase:'ease',customPaging:function customPaging(slider,i){return $('<button type="button" />').text(i+1);},dots:false,dotsClass:'slick-dots',draggable:true,easing:'linear',edgeFriction:0.35,fade:false,focusOnSelect:false,focusOnChange:false,infinite:true,initialSlide:0,lazyLoad:'ondemand',mobileFirst:false,pauseOnHover:true,pauseOnFocus:true,pauseOnDotsHover:false,respondTo:'window',responsive:null,rows:1,rtl:false,slide:'',slidesPerRow:1,slidesToShow:1,slidesToScroll:1,speed:500,swipe:true,swipeToSlide:false,touchMove:true,touchThreshold:5,useCSS:true,useTransform:true,variableWidth:false,vertical:false,verticalSwiping:false,waitForAnimate:true,zIndex:1000};_.initials={animating:false,dragging:false,autoPlayTimer:null,currentDirection:0,currentLeft:null,currentSlide:0,direction:1,$dots:null,listWidth:null,listHeight:null,loadIndex:0,$nextArrow:null,$prevArrow:null,scrolling:false,slideCount:null,slideWidth:null,$slideTrack:null,$slides:null,sliding:false,slideOffset:0,swipeLeft:null,swiping:false,$list:null,touchObject:{},transformsEnabled:false,unslicked:false};$.extend(_,_.initials);_.activeBreakpoint=null;_.animType=null;_.animProp=null;_.breakpoints=[];_.breakpointSettings=[];_.cssTransitions=false;_.focussed=false;_.interrupted=false;_.hidden='hidden';_.paused=true;_.positionProp=null;_.respondTo=null;_.rowCount=1;_.shouldClick=true;_.$slider=$(element);_.$slidesCache=null;_.transformType=null;_.transitionType=null;_.visibilityChange='visibilitychange';_.windowWidth=0;_.windowTimer=null;dataSettings=$(element).data('slick')||{};_.options=$.extend({},_.defaults,settings,dataSettings);_.currentSlide=_.options.initialSlide;_.originalSettings=_.options;if(typeof document.mozHidden!=='undefined'){_.hidden='mozHidden';_.visibilityChange='mozvisibilitychange';}else if(typeof document.webkitHidden!=='undefined'){_.hidden='webkitHidden';_.visibilityChange='webkitvisibilitychange';}_.autoPlay=$.proxy(_.autoPlay,_);_.autoPlayClear=$.proxy(_.autoPlayClear,_);_.autoPlayIterator=$.proxy(_.autoPlayIterator,_);_.changeSlide=$.proxy(_.changeSlide,_);_.clickHandler=$.proxy(_.clickHandler,_);_.selectHandler=$.proxy(_.selectHandler,_);_.setPosition=$.proxy(_.setPosition,_);_.swipeHandler=$.proxy(_.swipeHandler,_);_.dragHandler=$.proxy(_.dragHandler,_);_.keyHandler=$.proxy(_.keyHandler,_);_.instanceUid=instanceUid++;// A simple way to check for HTML strings
// Strict HTML recognition (must start with <)
// Extracted from jQuery v1.11 source
_.htmlExpr=/^(?:\s*(<[\w\W]+>)[^>]*)$/;_.registerBreakpoints();_.init(true);}return Slick;}();Slick.prototype.activateADA=function(){var _=this;_.$slideTrack.find('.slick-active').attr({'aria-hidden':'false'}).find('a, input, button, select').attr({'tabindex':'0'});};Slick.prototype.addSlide=Slick.prototype.slickAdd=function(markup,index,addBefore){var _=this;if(typeof index==='boolean'){addBefore=index;index=null;}else if(index<0||index>=_.slideCount){return false;}_.unload();if(typeof index==='number'){if(index===0&&_.$slides.length===0){$(markup).appendTo(_.$slideTrack);}else if(addBefore){$(markup).insertBefore(_.$slides.eq(index));}else{$(markup).insertAfter(_.$slides.eq(index));}}else{if(addBefore===true){$(markup).prependTo(_.$slideTrack);}else{$(markup).appendTo(_.$slideTrack);}}_.$slides=_.$slideTrack.children(this.options.slide);_.$slideTrack.children(this.options.slide).detach();_.$slideTrack.append(_.$slides);_.$slides.each(function(index,element){$(element).attr('data-slick-index',index);});_.$slidesCache=_.$slides;_.reinit();};Slick.prototype.animateHeight=function(){var _=this;if(_.options.slidesToShow===1&&_.options.adaptiveHeight===true&&_.options.vertical===false){var targetHeight=_.$slides.eq(_.currentSlide).outerHeight(true);_.$list.animate({height:targetHeight},_.options.speed);}};Slick.prototype.animateSlide=function(targetLeft,callback){var animProps={},_=this;_.animateHeight();if(_.options.rtl===true&&_.options.vertical===false){targetLeft=-targetLeft;}if(_.transformsEnabled===false){if(_.options.vertical===false){_.$slideTrack.animate({left:targetLeft},_.options.speed,_.options.easing,callback);}else{_.$slideTrack.animate({top:targetLeft},_.options.speed,_.options.easing,callback);}}else{if(_.cssTransitions===false){if(_.options.rtl===true){_.currentLeft=-_.currentLeft;}$({animStart:_.currentLeft}).animate({animStart:targetLeft},{duration:_.options.speed,easing:_.options.easing,step:function step(now){now=Math.ceil(now);if(_.options.vertical===false){animProps[_.animType]='translate('+now+'px, 0px)';_.$slideTrack.css(animProps);}else{animProps[_.animType]='translate(0px,'+now+'px)';_.$slideTrack.css(animProps);}},complete:function complete(){if(callback){callback.call();}}});}else{_.applyTransition();targetLeft=Math.ceil(targetLeft);if(_.options.vertical===false){animProps[_.animType]='translate3d('+targetLeft+'px, 0px, 0px)';}else{animProps[_.animType]='translate3d(0px,'+targetLeft+'px, 0px)';}_.$slideTrack.css(animProps);if(callback){setTimeout(function(){_.disableTransition();callback.call();},_.options.speed);}}}};Slick.prototype.getNavTarget=function(){var _=this,asNavFor=_.options.asNavFor;if(asNavFor&&asNavFor!==null){asNavFor=$(asNavFor).not(_.$slider);}return asNavFor;};Slick.prototype.asNavFor=function(index){var _=this,asNavFor=_.getNavTarget();if(asNavFor!==null&&(typeof asNavFor==='undefined'?'undefined':_typeof(asNavFor))==='object'){asNavFor.each(function(){var target=$(this).slick('getSlick');if(!target.unslicked){target.slideHandler(index,true);}});}};Slick.prototype.applyTransition=function(slide){var _=this,transition={};if(_.options.fade===false){transition[_.transitionType]=_.transformType+' '+_.options.speed+'ms '+_.options.cssEase;}else{transition[_.transitionType]='opacity '+_.options.speed+'ms '+_.options.cssEase;}if(_.options.fade===false){_.$slideTrack.css(transition);}else{_.$slides.eq(slide).css(transition);}};Slick.prototype.autoPlay=function(){var _=this;_.autoPlayClear();if(_.slideCount>_.options.slidesToShow){_.autoPlayTimer=setInterval(_.autoPlayIterator,_.options.autoplaySpeed);}};Slick.prototype.autoPlayClear=function(){var _=this;if(_.autoPlayTimer){clearInterval(_.autoPlayTimer);}};Slick.prototype.autoPlayIterator=function(){var _=this,slideTo=_.currentSlide+_.options.slidesToScroll;if(!_.paused&&!_.interrupted&&!_.focussed){if(_.options.infinite===false){if(_.direction===1&&_.currentSlide+1===_.slideCount-1){_.direction=0;}else if(_.direction===0){slideTo=_.currentSlide-_.options.slidesToScroll;if(_.currentSlide-1===0){_.direction=1;}}}_.slideHandler(slideTo);}};Slick.prototype.buildArrows=function(){var _=this;if(_.options.arrows===true){_.$prevArrow=$(_.options.prevArrow).addClass('slick-arrow');_.$nextArrow=$(_.options.nextArrow).addClass('slick-arrow');if(_.slideCount>_.options.slidesToShow){_.$prevArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex');_.$nextArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex');if(_.htmlExpr.test(_.options.prevArrow)){_.$prevArrow.prependTo(_.options.appendArrows);}if(_.htmlExpr.test(_.options.nextArrow)){_.$nextArrow.appendTo(_.options.appendArrows);}if(_.options.infinite!==true){_.$prevArrow.addClass('slick-disabled').attr('aria-disabled','true');}}else{_.$prevArrow.add(_.$nextArrow).addClass('slick-hidden').attr({'aria-disabled':'true','tabindex':'-1'});}}};Slick.prototype.buildDots=function(){var _=this,i,dot;if(_.options.dots===true&&_.slideCount>_.options.slidesToShow){_.$slider.addClass('slick-dotted');dot=$('<ul />').addClass(_.options.dotsClass);for(i=0;i<=_.getDotCount();i+=1){dot.append($('<li />').append(_.options.customPaging.call(this,_,i)));}_.$dots=dot.appendTo(_.options.appendDots);_.$dots.find('li').first().addClass('slick-active');}};Slick.prototype.buildOut=function(){var _=this;_.$slides=_.$slider.children(_.options.slide+':not(.slick-cloned)').addClass('slick-slide');_.slideCount=_.$slides.length;_.$slides.each(function(index,element){$(element).attr('data-slick-index',index).data('originalStyling',$(element).attr('style')||'');});_.$slider.addClass('slick-slider');_.$slideTrack=_.slideCount===0?$('<div class="slick-track"/>').appendTo(_.$slider):_.$slides.wrapAll('<div class="slick-track"/>').parent();_.$list=_.$slideTrack.wrap('<div class="slick-list"/>').parent();_.$slideTrack.css('opacity',0);if(_.options.centerMode===true||_.options.swipeToSlide===true){_.options.slidesToScroll=1;}$('img[data-lazy]',_.$slider).not('[src]').addClass('slick-loading');_.setupInfinite();_.buildArrows();_.buildDots();_.updateDots();_.setSlideClasses(typeof _.currentSlide==='number'?_.currentSlide:0);if(_.options.draggable===true){_.$list.addClass('draggable');}};Slick.prototype.buildRows=function(){var _=this,a,b,c,newSlides,numOfSlides,originalSlides,slidesPerSection;newSlides=document.createDocumentFragment();originalSlides=_.$slider.children();if(_.options.rows>0){slidesPerSection=_.options.slidesPerRow*_.options.rows;numOfSlides=Math.ceil(originalSlides.length/slidesPerSection);for(a=0;a<numOfSlides;a++){var slide=document.createElement('div');for(b=0;b<_.options.rows;b++){var row=document.createElement('div');for(c=0;c<_.options.slidesPerRow;c++){var target=a*slidesPerSection+(b*_.options.slidesPerRow+c);if(originalSlides.get(target)){row.appendChild(originalSlides.get(target));}}slide.appendChild(row);}newSlides.appendChild(slide);}_.$slider.empty().append(newSlides);_.$slider.children().children().children().css({'width':100/_.options.slidesPerRow+'%','display':'inline-block'});}};Slick.prototype.checkResponsive=function(initial,forceUpdate){var _=this,breakpoint,targetBreakpoint,respondToWidth,triggerBreakpoint=false;var sliderWidth=_.$slider.width();var windowWidth=window.innerWidth||$(window).width();if(_.respondTo==='window'){respondToWidth=windowWidth;}else if(_.respondTo==='slider'){respondToWidth=sliderWidth;}else if(_.respondTo==='min'){respondToWidth=Math.min(windowWidth,sliderWidth);}if(_.options.responsive&&_.options.responsive.length&&_.options.responsive!==null){targetBreakpoint=null;for(breakpoint in _.breakpoints){if(_.breakpoints.hasOwnProperty(breakpoint)){if(_.originalSettings.mobileFirst===false){if(respondToWidth<_.breakpoints[breakpoint]){targetBreakpoint=_.breakpoints[breakpoint];}}else{if(respondToWidth>_.breakpoints[breakpoint]){targetBreakpoint=_.breakpoints[breakpoint];}}}}if(targetBreakpoint!==null){if(_.activeBreakpoint!==null){if(targetBreakpoint!==_.activeBreakpoint||forceUpdate){_.activeBreakpoint=targetBreakpoint;if(_.breakpointSettings[targetBreakpoint]==='unslick'){_.unslick(targetBreakpoint);}else{_.options=$.extend({},_.originalSettings,_.breakpointSettings[targetBreakpoint]);if(initial===true){_.currentSlide=_.options.initialSlide;}_.refresh(initial);}triggerBreakpoint=targetBreakpoint;}}else{_.activeBreakpoint=targetBreakpoint;if(_.breakpointSettings[targetBreakpoint]==='unslick'){_.unslick(targetBreakpoint);}else{_.options=$.extend({},_.originalSettings,_.breakpointSettings[targetBreakpoint]);if(initial===true){_.currentSlide=_.options.initialSlide;}_.refresh(initial);}triggerBreakpoint=targetBreakpoint;}}else{if(_.activeBreakpoint!==null){_.activeBreakpoint=null;_.options=_.originalSettings;if(initial===true){_.currentSlide=_.options.initialSlide;}_.refresh(initial);triggerBreakpoint=targetBreakpoint;}}// only trigger breakpoints during an actual break. not on initialize.
if(!initial&&triggerBreakpoint!==false){_.$slider.trigger('breakpoint',[_,triggerBreakpoint]);}}};Slick.prototype.changeSlide=function(event,dontAnimate){var _=this,$target=$(event.currentTarget),indexOffset,slideOffset,unevenOffset;// If target is a link, prevent default action.
if($target.is('a')){event.preventDefault();}// If target is not the <li> element (ie: a child), find the <li>.
if(!$target.is('li')){$target=$target.closest('li');}unevenOffset=_.slideCount%_.options.slidesToScroll!==0;indexOffset=unevenOffset?0:(_.slideCount-_.currentSlide)%_.options.slidesToScroll;switch(event.data.message){case'previous':slideOffset=indexOffset===0?_.options.slidesToScroll:_.options.slidesToShow-indexOffset;if(_.slideCount>_.options.slidesToShow){_.slideHandler(_.currentSlide-slideOffset,false,dontAnimate);}break;case'next':slideOffset=indexOffset===0?_.options.slidesToScroll:indexOffset;if(_.slideCount>_.options.slidesToShow){_.slideHandler(_.currentSlide+slideOffset,false,dontAnimate);}break;case'index':var index=event.data.index===0?0:event.data.index||$target.index()*_.options.slidesToScroll;_.slideHandler(_.checkNavigable(index),false,dontAnimate);$target.children().trigger('focus');break;default:return;}};Slick.prototype.checkNavigable=function(index){var _=this,navigables,prevNavigable;navigables=_.getNavigableIndexes();prevNavigable=0;if(index>navigables[navigables.length-1]){index=navigables[navigables.length-1];}else{for(var n in navigables){if(index<navigables[n]){index=prevNavigable;break;}prevNavigable=navigables[n];}}return index;};Slick.prototype.cleanUpEvents=function(){var _=this;if(_.options.dots&&_.$dots!==null){$('li',_.$dots).off('click.slick',_.changeSlide).off('mouseenter.slick',$.proxy(_.interrupt,_,true)).off('mouseleave.slick',$.proxy(_.interrupt,_,false));if(_.options.accessibility===true){_.$dots.off('keydown.slick',_.keyHandler);}}_.$slider.off('focus.slick blur.slick');if(_.options.arrows===true&&_.slideCount>_.options.slidesToShow){_.$prevArrow&&_.$prevArrow.off('click.slick',_.changeSlide);_.$nextArrow&&_.$nextArrow.off('click.slick',_.changeSlide);if(_.options.accessibility===true){_.$prevArrow&&_.$prevArrow.off('keydown.slick',_.keyHandler);_.$nextArrow&&_.$nextArrow.off('keydown.slick',_.keyHandler);}}_.$list.off('touchstart.slick mousedown.slick',_.swipeHandler);_.$list.off('touchmove.slick mousemove.slick',_.swipeHandler);_.$list.off('touchend.slick mouseup.slick',_.swipeHandler);_.$list.off('touchcancel.slick mouseleave.slick',_.swipeHandler);_.$list.off('click.slick',_.clickHandler);$(document).off(_.visibilityChange,_.visibility);_.cleanUpSlideEvents();if(_.options.accessibility===true){_.$list.off('keydown.slick',_.keyHandler);}if(_.options.focusOnSelect===true){$(_.$slideTrack).children().off('click.slick',_.selectHandler);}$(window).off('orientationchange.slick.slick-'+_.instanceUid,_.orientationChange);$(window).off('resize.slick.slick-'+_.instanceUid,_.resize);$('[draggable!=true]',_.$slideTrack).off('dragstart',_.preventDefault);$(window).off('load.slick.slick-'+_.instanceUid,_.setPosition);};Slick.prototype.cleanUpSlideEvents=function(){var _=this;_.$list.off('mouseenter.slick',$.proxy(_.interrupt,_,true));_.$list.off('mouseleave.slick',$.proxy(_.interrupt,_,false));};Slick.prototype.cleanUpRows=function(){var _=this,originalSlides;if(_.options.rows>0){originalSlides=_.$slides.children().children();originalSlides.removeAttr('style');_.$slider.empty().append(originalSlides);}};Slick.prototype.clickHandler=function(event){var _=this;if(_.shouldClick===false){event.stopImmediatePropagation();event.stopPropagation();event.preventDefault();}};Slick.prototype.destroy=function(refresh){var _=this;_.autoPlayClear();_.touchObject={};_.cleanUpEvents();$('.slick-cloned',_.$slider).detach();if(_.$dots){_.$dots.remove();}if(_.$prevArrow&&_.$prevArrow.length){_.$prevArrow.removeClass('slick-disabled slick-arrow slick-hidden').removeAttr('aria-hidden aria-disabled tabindex').css('display','');if(_.htmlExpr.test(_.options.prevArrow)){_.$prevArrow.remove();}}if(_.$nextArrow&&_.$nextArrow.length){_.$nextArrow.removeClass('slick-disabled slick-arrow slick-hidden').removeAttr('aria-hidden aria-disabled tabindex').css('display','');if(_.htmlExpr.test(_.options.nextArrow)){_.$nextArrow.remove();}}if(_.$slides){_.$slides.removeClass('slick-slide slick-active slick-center slick-visible slick-current').removeAttr('aria-hidden').removeAttr('data-slick-index').each(function(){$(this).attr('style',$(this).data('originalStyling'));});_.$slideTrack.children(this.options.slide).detach();_.$slideTrack.detach();_.$list.detach();_.$slider.append(_.$slides);}_.cleanUpRows();_.$slider.removeClass('slick-slider');_.$slider.removeClass('slick-initialized');_.$slider.removeClass('slick-dotted');_.unslicked=true;if(!refresh){_.$slider.trigger('destroy',[_]);}};Slick.prototype.disableTransition=function(slide){var _=this,transition={};transition[_.transitionType]='';if(_.options.fade===false){_.$slideTrack.css(transition);}else{_.$slides.eq(slide).css(transition);}};Slick.prototype.fadeSlide=function(slideIndex,callback){var _=this;if(_.cssTransitions===false){_.$slides.eq(slideIndex).css({zIndex:_.options.zIndex});_.$slides.eq(slideIndex).animate({opacity:1},_.options.speed,_.options.easing,callback);}else{_.applyTransition(slideIndex);_.$slides.eq(slideIndex).css({opacity:1,zIndex:_.options.zIndex});if(callback){setTimeout(function(){_.disableTransition(slideIndex);callback.call();},_.options.speed);}}};Slick.prototype.fadeSlideOut=function(slideIndex){var _=this;if(_.cssTransitions===false){_.$slides.eq(slideIndex).animate({opacity:0,zIndex:_.options.zIndex-2},_.options.speed,_.options.easing);}else{_.applyTransition(slideIndex);_.$slides.eq(slideIndex).css({opacity:0,zIndex:_.options.zIndex-2});}};Slick.prototype.filterSlides=Slick.prototype.slickFilter=function(filter){var _=this;if(filter!==null){_.$slidesCache=_.$slides;_.unload();_.$slideTrack.children(this.options.slide).detach();_.$slidesCache.filter(filter).appendTo(_.$slideTrack);_.reinit();}};Slick.prototype.focusHandler=function(){var _=this;_.$slider.off('focus.slick blur.slick').on('focus.slick blur.slick','*',function(event){event.stopImmediatePropagation();var $sf=$(this);setTimeout(function(){if(_.options.pauseOnFocus){_.focussed=$sf.is(':focus');_.autoPlay();}},0);});};Slick.prototype.getCurrent=Slick.prototype.slickCurrentSlide=function(){var _=this;return _.currentSlide;};Slick.prototype.getDotCount=function(){var _=this;var breakPoint=0;var counter=0;var pagerQty=0;if(_.options.infinite===true){if(_.slideCount<=_.options.slidesToShow){++pagerQty;}else{while(breakPoint<_.slideCount){++pagerQty;breakPoint=counter+_.options.slidesToScroll;counter+=_.options.slidesToScroll<=_.options.slidesToShow?_.options.slidesToScroll:_.options.slidesToShow;}}}else if(_.options.centerMode===true){pagerQty=_.slideCount;}else if(!_.options.asNavFor){pagerQty=1+Math.ceil((_.slideCount-_.options.slidesToShow)/_.options.slidesToScroll);}else{while(breakPoint<_.slideCount){++pagerQty;breakPoint=counter+_.options.slidesToScroll;counter+=_.options.slidesToScroll<=_.options.slidesToShow?_.options.slidesToScroll:_.options.slidesToShow;}}return pagerQty-1;};Slick.prototype.getLeft=function(slideIndex){var _=this,targetLeft,verticalHeight,verticalOffset=0,targetSlide,coef;_.slideOffset=0;verticalHeight=_.$slides.first().outerHeight(true);if(_.options.infinite===true){if(_.slideCount>_.options.slidesToShow){_.slideOffset=_.slideWidth*_.options.slidesToShow*-1;coef=-1;if(_.options.vertical===true&&_.options.centerMode===true){if(_.options.slidesToShow===2){coef=-1.5;}else if(_.options.slidesToShow===1){coef=-2;}}verticalOffset=verticalHeight*_.options.slidesToShow*coef;}if(_.slideCount%_.options.slidesToScroll!==0){if(slideIndex+_.options.slidesToScroll>_.slideCount&&_.slideCount>_.options.slidesToShow){if(slideIndex>_.slideCount){_.slideOffset=(_.options.slidesToShow-(slideIndex-_.slideCount))*_.slideWidth*-1;verticalOffset=(_.options.slidesToShow-(slideIndex-_.slideCount))*verticalHeight*-1;}else{_.slideOffset=_.slideCount%_.options.slidesToScroll*_.slideWidth*-1;verticalOffset=_.slideCount%_.options.slidesToScroll*verticalHeight*-1;}}}}else{if(slideIndex+_.options.slidesToShow>_.slideCount){_.slideOffset=(slideIndex+_.options.slidesToShow-_.slideCount)*_.slideWidth;verticalOffset=(slideIndex+_.options.slidesToShow-_.slideCount)*verticalHeight;}}if(_.slideCount<=_.options.slidesToShow){_.slideOffset=0;verticalOffset=0;}if(_.options.centerMode===true&&_.slideCount<=_.options.slidesToShow){_.slideOffset=_.slideWidth*Math.floor(_.options.slidesToShow)/2-_.slideWidth*_.slideCount/2;}else if(_.options.centerMode===true&&_.options.infinite===true){_.slideOffset+=_.slideWidth*Math.floor(_.options.slidesToShow/2)-_.slideWidth;}else if(_.options.centerMode===true){_.slideOffset=0;_.slideOffset+=_.slideWidth*Math.floor(_.options.slidesToShow/2);}if(_.options.vertical===false){targetLeft=slideIndex*_.slideWidth*-1+_.slideOffset;}else{targetLeft=slideIndex*verticalHeight*-1+verticalOffset;}if(_.options.variableWidth===true){if(_.slideCount<=_.options.slidesToShow||_.options.infinite===false){targetSlide=_.$slideTrack.children('.slick-slide').eq(slideIndex);}else{targetSlide=_.$slideTrack.children('.slick-slide').eq(slideIndex+_.options.slidesToShow);}if(_.options.rtl===true){if(targetSlide[0]){targetLeft=(_.$slideTrack.width()-targetSlide[0].offsetLeft-targetSlide.width())*-1;}else{targetLeft=0;}}else{targetLeft=targetSlide[0]?targetSlide[0].offsetLeft*-1:0;}if(_.options.centerMode===true){if(_.slideCount<=_.options.slidesToShow||_.options.infinite===false){targetSlide=_.$slideTrack.children('.slick-slide').eq(slideIndex);}else{targetSlide=_.$slideTrack.children('.slick-slide').eq(slideIndex+_.options.slidesToShow+1);}if(_.options.rtl===true){if(targetSlide[0]){targetLeft=(_.$slideTrack.width()-targetSlide[0].offsetLeft-targetSlide.width())*-1;}else{targetLeft=0;}}else{targetLeft=targetSlide[0]?targetSlide[0].offsetLeft*-1:0;}targetLeft+=(_.$list.width()-targetSlide.outerWidth())/2;}}return targetLeft;};Slick.prototype.getOption=Slick.prototype.slickGetOption=function(option){var _=this;return _.options[option];};Slick.prototype.getNavigableIndexes=function(){var _=this,breakPoint=0,counter=0,indexes=[],max;if(_.options.infinite===false){max=_.slideCount;}else{breakPoint=_.options.slidesToScroll*-1;counter=_.options.slidesToScroll*-1;max=_.slideCount*2;}while(breakPoint<max){indexes.push(breakPoint);breakPoint=counter+_.options.slidesToScroll;counter+=_.options.slidesToScroll<=_.options.slidesToShow?_.options.slidesToScroll:_.options.slidesToShow;}return indexes;};Slick.prototype.getSlick=function(){return this;};Slick.prototype.getSlideCount=function(){var _=this,slidesTraversed,swipedSlide,centerOffset;centerOffset=_.options.centerMode===true?_.slideWidth*Math.floor(_.options.slidesToShow/2):0;if(_.options.swipeToSlide===true){_.$slideTrack.find('.slick-slide').each(function(index,slide){if(slide.offsetLeft-centerOffset+$(slide).outerWidth()/2>_.swipeLeft*-1){swipedSlide=slide;return false;}});slidesTraversed=Math.abs($(swipedSlide).attr('data-slick-index')-_.currentSlide)||1;return slidesTraversed;}else{return _.options.slidesToScroll;}};Slick.prototype.goTo=Slick.prototype.slickGoTo=function(slide,dontAnimate){var _=this;_.changeSlide({data:{message:'index',index:parseInt(slide)}},dontAnimate);};Slick.prototype.init=function(creation){var _=this;if(!$(_.$slider).hasClass('slick-initialized')){$(_.$slider).addClass('slick-initialized');_.buildRows();_.buildOut();_.setProps();_.startLoad();_.loadSlider();_.initializeEvents();_.updateArrows();_.updateDots();_.checkResponsive(true);_.focusHandler();}if(creation){_.$slider.trigger('init',[_]);}if(_.options.accessibility===true){_.initADA();}if(_.options.autoplay){_.paused=false;_.autoPlay();}};Slick.prototype.initADA=function(){var _=this,numDotGroups=Math.ceil(_.slideCount/_.options.slidesToShow),tabControlIndexes=_.getNavigableIndexes().filter(function(val){return val>=0&&val<_.slideCount;});_.$slides.add(_.$slideTrack.find('.slick-cloned')).attr({'aria-hidden':'true','tabindex':'-1'}).find('a, input, button, select').attr({'tabindex':'-1'});if(_.$dots!==null){_.$slides.not(_.$slideTrack.find('.slick-cloned')).each(function(i){var slideControlIndex=tabControlIndexes.indexOf(i);$(this).attr({'role':'tabpanel','id':'slick-slide'+_.instanceUid+i,'tabindex':-1});if(slideControlIndex!==-1){var ariaButtonControl='slick-slide-control'+_.instanceUid+slideControlIndex;if($('#'+ariaButtonControl).length){$(this).attr({'aria-describedby':ariaButtonControl});}}});_.$dots.attr('role','tablist').find('li').each(function(i){var mappedSlideIndex=tabControlIndexes[i];$(this).attr({'role':'presentation'});$(this).find('button').first().attr({'role':'tab','id':'slick-slide-control'+_.instanceUid+i,'aria-controls':'slick-slide'+_.instanceUid+mappedSlideIndex,'aria-label':i+1+' of '+numDotGroups,'aria-selected':null,'tabindex':'-1'});}).eq(_.currentSlide).find('button').attr({'aria-selected':'true','tabindex':'0'}).end();}for(var i=_.currentSlide,max=i+_.options.slidesToShow;i<max;i++){if(_.options.focusOnChange){_.$slides.eq(i).attr({'tabindex':'0'});}else{_.$slides.eq(i).removeAttr('tabindex');}}_.activateADA();};Slick.prototype.initArrowEvents=function(){var _=this;if(_.options.arrows===true&&_.slideCount>_.options.slidesToShow){_.$prevArrow.off('click.slick').on('click.slick',{message:'previous'},_.changeSlide);_.$nextArrow.off('click.slick').on('click.slick',{message:'next'},_.changeSlide);if(_.options.accessibility===true){_.$prevArrow.on('keydown.slick',_.keyHandler);_.$nextArrow.on('keydown.slick',_.keyHandler);}}};Slick.prototype.initDotEvents=function(){var _=this;if(_.options.dots===true&&_.slideCount>_.options.slidesToShow){$('li',_.$dots).on('click.slick',{message:'index'},_.changeSlide);if(_.options.accessibility===true){_.$dots.on('keydown.slick',_.keyHandler);}}if(_.options.dots===true&&_.options.pauseOnDotsHover===true&&_.slideCount>_.options.slidesToShow){$('li',_.$dots).on('mouseenter.slick',$.proxy(_.interrupt,_,true)).on('mouseleave.slick',$.proxy(_.interrupt,_,false));}};Slick.prototype.initSlideEvents=function(){var _=this;if(_.options.pauseOnHover){_.$list.on('mouseenter.slick',$.proxy(_.interrupt,_,true));_.$list.on('mouseleave.slick',$.proxy(_.interrupt,_,false));}};Slick.prototype.initializeEvents=function(){var _=this;_.initArrowEvents();_.initDotEvents();_.initSlideEvents();_.$list.on('touchstart.slick mousedown.slick',{action:'start'},_.swipeHandler);_.$list.on('touchmove.slick mousemove.slick',{action:'move'},_.swipeHandler);_.$list.on('touchend.slick mouseup.slick',{action:'end'},_.swipeHandler);_.$list.on('touchcancel.slick mouseleave.slick',{action:'end'},_.swipeHandler);_.$list.on('click.slick',_.clickHandler);$(document).on(_.visibilityChange,$.proxy(_.visibility,_));if(_.options.accessibility===true){_.$list.on('keydown.slick',_.keyHandler);}if(_.options.focusOnSelect===true){$(_.$slideTrack).children().on('click.slick',_.selectHandler);}$(window).on('orientationchange.slick.slick-'+_.instanceUid,$.proxy(_.orientationChange,_));$(window).on('resize.slick.slick-'+_.instanceUid,$.proxy(_.resize,_));$('[draggable!=true]',_.$slideTrack).on('dragstart',_.preventDefault);$(window).on('load.slick.slick-'+_.instanceUid,_.setPosition);$(_.setPosition);};Slick.prototype.initUI=function(){var _=this;if(_.options.arrows===true&&_.slideCount>_.options.slidesToShow){_.$prevArrow.show();_.$nextArrow.show();}if(_.options.dots===true&&_.slideCount>_.options.slidesToShow){_.$dots.show();}};Slick.prototype.keyHandler=function(event){var _=this;//Dont slide if the cursor is inside the form fields and arrow keys are pressed
if(!event.target.tagName.match('TEXTAREA|INPUT|SELECT')){if(event.keyCode===37&&_.options.accessibility===true){_.changeSlide({data:{message:_.options.rtl===true?'next':'previous'}});}else if(event.keyCode===39&&_.options.accessibility===true){_.changeSlide({data:{message:_.options.rtl===true?'previous':'next'}});}}};Slick.prototype.lazyLoad=function(){var _=this,loadRange,cloneRange,rangeStart,rangeEnd;function loadImages(imagesScope){$('img[data-lazy]',imagesScope).each(function(){var image=$(this),imageSource=$(this).attr('data-lazy'),imageSrcSet=$(this).attr('data-srcset'),imageSizes=$(this).attr('data-sizes')||_.$slider.attr('data-sizes'),imageToLoad=document.createElement('img');imageToLoad.onload=function(){image.animate({opacity:0},100,function(){if(imageSrcSet){image.attr('srcset',imageSrcSet);if(imageSizes){image.attr('sizes',imageSizes);}}image.attr('src',imageSource).animate({opacity:1},200,function(){image.removeAttr('data-lazy data-srcset data-sizes').removeClass('slick-loading');});_.$slider.trigger('lazyLoaded',[_,image,imageSource]);});};imageToLoad.onerror=function(){image.removeAttr('data-lazy').removeClass('slick-loading').addClass('slick-lazyload-error');_.$slider.trigger('lazyLoadError',[_,image,imageSource]);};imageToLoad.src=imageSource;});}if(_.options.centerMode===true){if(_.options.infinite===true){rangeStart=_.currentSlide+(_.options.slidesToShow/2+1);rangeEnd=rangeStart+_.options.slidesToShow+2;}else{rangeStart=Math.max(0,_.currentSlide-(_.options.slidesToShow/2+1));rangeEnd=2+(_.options.slidesToShow/2+1)+_.currentSlide;}}else{rangeStart=_.options.infinite?_.options.slidesToShow+_.currentSlide:_.currentSlide;rangeEnd=Math.ceil(rangeStart+_.options.slidesToShow);if(_.options.fade===true){if(rangeStart>0)rangeStart--;if(rangeEnd<=_.slideCount)rangeEnd++;}}loadRange=_.$slider.find('.slick-slide').slice(rangeStart,rangeEnd);if(_.options.lazyLoad==='anticipated'){var prevSlide=rangeStart-1,nextSlide=rangeEnd,$slides=_.$slider.find('.slick-slide');for(var i=0;i<_.options.slidesToScroll;i++){if(prevSlide<0)prevSlide=_.slideCount-1;loadRange=loadRange.add($slides.eq(prevSlide));loadRange=loadRange.add($slides.eq(nextSlide));prevSlide--;nextSlide++;}}loadImages(loadRange);if(_.slideCount<=_.options.slidesToShow){cloneRange=_.$slider.find('.slick-slide');loadImages(cloneRange);}else if(_.currentSlide>=_.slideCount-_.options.slidesToShow){cloneRange=_.$slider.find('.slick-cloned').slice(0,_.options.slidesToShow);loadImages(cloneRange);}else if(_.currentSlide===0){cloneRange=_.$slider.find('.slick-cloned').slice(_.options.slidesToShow*-1);loadImages(cloneRange);}};Slick.prototype.loadSlider=function(){var _=this;_.setPosition();_.$slideTrack.css({opacity:1});_.$slider.removeClass('slick-loading');_.initUI();if(_.options.lazyLoad==='progressive'){_.progressiveLazyLoad();}};Slick.prototype.next=Slick.prototype.slickNext=function(){var _=this;_.changeSlide({data:{message:'next'}});};Slick.prototype.orientationChange=function(){var _=this;_.checkResponsive();_.setPosition();};Slick.prototype.pause=Slick.prototype.slickPause=function(){var _=this;_.autoPlayClear();_.paused=true;};Slick.prototype.play=Slick.prototype.slickPlay=function(){var _=this;_.autoPlay();_.options.autoplay=true;_.paused=false;_.focussed=false;_.interrupted=false;};Slick.prototype.postSlide=function(index){var _=this;if(!_.unslicked){_.$slider.trigger('afterChange',[_,index]);_.animating=false;if(_.slideCount>_.options.slidesToShow){_.setPosition();}_.swipeLeft=null;if(_.options.autoplay){_.autoPlay();}if(_.options.accessibility===true){_.initADA();if(_.options.focusOnChange){var $currentSlide=$(_.$slides.get(_.currentSlide));$currentSlide.attr('tabindex',0).focus();}}}};Slick.prototype.prev=Slick.prototype.slickPrev=function(){var _=this;_.changeSlide({data:{message:'previous'}});};Slick.prototype.preventDefault=function(event){event.preventDefault();};Slick.prototype.progressiveLazyLoad=function(tryCount){tryCount=tryCount||1;var _=this,$imgsToLoad=$('img[data-lazy]',_.$slider),image,imageSource,imageSrcSet,imageSizes,imageToLoad;if($imgsToLoad.length){image=$imgsToLoad.first();imageSource=image.attr('data-lazy');imageSrcSet=image.attr('data-srcset');imageSizes=image.attr('data-sizes')||_.$slider.attr('data-sizes');imageToLoad=document.createElement('img');imageToLoad.onload=function(){if(imageSrcSet){image.attr('srcset',imageSrcSet);if(imageSizes){image.attr('sizes',imageSizes);}}image.attr('src',imageSource).removeAttr('data-lazy data-srcset data-sizes').removeClass('slick-loading');if(_.options.adaptiveHeight===true){_.setPosition();}_.$slider.trigger('lazyLoaded',[_,image,imageSource]);_.progressiveLazyLoad();};imageToLoad.onerror=function(){if(tryCount<3){/**
                     * try to load the image 3 times,
                     * leave a slight delay so we don't get
                     * servers blocking the request.
                     */setTimeout(function(){_.progressiveLazyLoad(tryCount+1);},500);}else{image.removeAttr('data-lazy').removeClass('slick-loading').addClass('slick-lazyload-error');_.$slider.trigger('lazyLoadError',[_,image,imageSource]);_.progressiveLazyLoad();}};imageToLoad.src=imageSource;}else{_.$slider.trigger('allImagesLoaded',[_]);}};Slick.prototype.refresh=function(initializing){var _=this,currentSlide,lastVisibleIndex;lastVisibleIndex=_.slideCount-_.options.slidesToShow;// in non-infinite sliders, we don't want to go past the
// last visible index.
if(!_.options.infinite&&_.currentSlide>lastVisibleIndex){_.currentSlide=lastVisibleIndex;}// if less slides than to show, go to start.
if(_.slideCount<=_.options.slidesToShow){_.currentSlide=0;}currentSlide=_.currentSlide;_.destroy(true);$.extend(_,_.initials,{currentSlide:currentSlide});_.init();if(!initializing){_.changeSlide({data:{message:'index',index:currentSlide}},false);}};Slick.prototype.registerBreakpoints=function(){var _=this,breakpoint,currentBreakpoint,l,responsiveSettings=_.options.responsive||null;if($.type(responsiveSettings)==='array'&&responsiveSettings.length){_.respondTo=_.options.respondTo||'window';for(breakpoint in responsiveSettings){l=_.breakpoints.length-1;if(responsiveSettings.hasOwnProperty(breakpoint)){currentBreakpoint=responsiveSettings[breakpoint].breakpoint;// loop through the breakpoints and cut out any existing
// ones with the same breakpoint number, we don't want dupes.
while(l>=0){if(_.breakpoints[l]&&_.breakpoints[l]===currentBreakpoint){_.breakpoints.splice(l,1);}l--;}_.breakpoints.push(currentBreakpoint);_.breakpointSettings[currentBreakpoint]=responsiveSettings[breakpoint].settings;}}_.breakpoints.sort(function(a,b){return _.options.mobileFirst?a-b:b-a;});}};Slick.prototype.reinit=function(){var _=this;_.$slides=_.$slideTrack.children(_.options.slide).addClass('slick-slide');_.slideCount=_.$slides.length;if(_.currentSlide>=_.slideCount&&_.currentSlide!==0){_.currentSlide=_.currentSlide-_.options.slidesToScroll;}if(_.slideCount<=_.options.slidesToShow){_.currentSlide=0;}_.registerBreakpoints();_.setProps();_.setupInfinite();_.buildArrows();_.updateArrows();_.initArrowEvents();_.buildDots();_.updateDots();_.initDotEvents();_.cleanUpSlideEvents();_.initSlideEvents();_.checkResponsive(false,true);if(_.options.focusOnSelect===true){$(_.$slideTrack).children().on('click.slick',_.selectHandler);}_.setSlideClasses(typeof _.currentSlide==='number'?_.currentSlide:0);_.setPosition();_.focusHandler();_.paused=!_.options.autoplay;_.autoPlay();_.$slider.trigger('reInit',[_]);};Slick.prototype.resize=function(){var _=this;if($(window).width()!==_.windowWidth){clearTimeout(_.windowDelay);_.windowDelay=window.setTimeout(function(){_.windowWidth=$(window).width();_.checkResponsive();if(!_.unslicked){_.setPosition();}},50);}};Slick.prototype.removeSlide=Slick.prototype.slickRemove=function(index,removeBefore,removeAll){var _=this;if(typeof index==='boolean'){removeBefore=index;index=removeBefore===true?0:_.slideCount-1;}else{index=removeBefore===true?--index:index;}if(_.slideCount<1||index<0||index>_.slideCount-1){return false;}_.unload();if(removeAll===true){_.$slideTrack.children().remove();}else{_.$slideTrack.children(this.options.slide).eq(index).remove();}_.$slides=_.$slideTrack.children(this.options.slide);_.$slideTrack.children(this.options.slide).detach();_.$slideTrack.append(_.$slides);_.$slidesCache=_.$slides;_.reinit();};Slick.prototype.setCSS=function(position){var _=this,positionProps={},x,y;if(_.options.rtl===true){position=-position;}x=_.positionProp=='left'?Math.ceil(position)+'px':'0px';y=_.positionProp=='top'?Math.ceil(position)+'px':'0px';positionProps[_.positionProp]=position;if(_.transformsEnabled===false){_.$slideTrack.css(positionProps);}else{positionProps={};if(_.cssTransitions===false){positionProps[_.animType]='translate('+x+', '+y+')';_.$slideTrack.css(positionProps);}else{positionProps[_.animType]='translate3d('+x+', '+y+', 0px)';_.$slideTrack.css(positionProps);}}};Slick.prototype.setDimensions=function(){var _=this;if(_.options.vertical===false){if(_.options.centerMode===true){_.$list.css({padding:'0px '+_.options.centerPadding});}}else{_.$list.height(_.$slides.first().outerHeight(true)*_.options.slidesToShow);if(_.options.centerMode===true){_.$list.css({padding:_.options.centerPadding+' 0px'});}}_.listWidth=_.$list.width();_.listHeight=_.$list.height();if(_.options.vertical===false&&_.options.variableWidth===false){_.slideWidth=Math.ceil(_.listWidth/_.options.slidesToShow);_.$slideTrack.width(Math.ceil(_.slideWidth*_.$slideTrack.children('.slick-slide').length));}else if(_.options.variableWidth===true){_.$slideTrack.width(5000*_.slideCount);}else{_.slideWidth=Math.ceil(_.listWidth);_.$slideTrack.height(Math.ceil(_.$slides.first().outerHeight(true)*_.$slideTrack.children('.slick-slide').length));}var offset=_.$slides.first().outerWidth(true)-_.$slides.first().width();if(_.options.variableWidth===false)_.$slideTrack.children('.slick-slide').width(_.slideWidth-offset);};Slick.prototype.setFade=function(){var _=this,targetLeft;_.$slides.each(function(index,element){targetLeft=_.slideWidth*index*-1;if(_.options.rtl===true){$(element).css({position:'relative',right:targetLeft,top:0,zIndex:_.options.zIndex-2,opacity:0});}else{$(element).css({position:'relative',left:targetLeft,top:0,zIndex:_.options.zIndex-2,opacity:0});}});_.$slides.eq(_.currentSlide).css({zIndex:_.options.zIndex-1,opacity:1});};Slick.prototype.setHeight=function(){var _=this;if(_.options.slidesToShow===1&&_.options.adaptiveHeight===true&&_.options.vertical===false){var targetHeight=_.$slides.eq(_.currentSlide).outerHeight(true);_.$list.css('height',targetHeight);}};Slick.prototype.setOption=Slick.prototype.slickSetOption=function(){/**
         * accepts arguments in format of:
         *
         *  - for changing a single option's value:
         *     .slick("setOption", option, value, refresh )
         *
         *  - for changing a set of responsive options:
         *     .slick("setOption", 'responsive', [{}, ...], refresh )
         *
         *  - for updating multiple values at once (not responsive)
         *     .slick("setOption", { 'option': value, ... }, refresh )
         */var _=this,l,item,option,value,refresh=false,type;if($.type(arguments[0])==='object'){option=arguments[0];refresh=arguments[1];type='multiple';}else if($.type(arguments[0])==='string'){option=arguments[0];value=arguments[1];refresh=arguments[2];if(arguments[0]==='responsive'&&$.type(arguments[1])==='array'){type='responsive';}else if(typeof arguments[1]!=='undefined'){type='single';}}if(type==='single'){_.options[option]=value;}else if(type==='multiple'){$.each(option,function(opt,val){_.options[opt]=val;});}else if(type==='responsive'){for(item in value){if($.type(_.options.responsive)!=='array'){_.options.responsive=[value[item]];}else{l=_.options.responsive.length-1;// loop through the responsive object and splice out duplicates.
while(l>=0){if(_.options.responsive[l].breakpoint===value[item].breakpoint){_.options.responsive.splice(l,1);}l--;}_.options.responsive.push(value[item]);}}}if(refresh){_.unload();_.reinit();}};Slick.prototype.setPosition=function(){var _=this;_.setDimensions();_.setHeight();if(_.options.fade===false){_.setCSS(_.getLeft(_.currentSlide));}else{_.setFade();}_.$slider.trigger('setPosition',[_]);};Slick.prototype.setProps=function(){var _=this,bodyStyle=document.body.style;_.positionProp=_.options.vertical===true?'top':'left';if(_.positionProp==='top'){_.$slider.addClass('slick-vertical');}else{_.$slider.removeClass('slick-vertical');}if(bodyStyle.WebkitTransition!==undefined||bodyStyle.MozTransition!==undefined||bodyStyle.msTransition!==undefined){if(_.options.useCSS===true){_.cssTransitions=true;}}if(_.options.fade){if(typeof _.options.zIndex==='number'){if(_.options.zIndex<3){_.options.zIndex=3;}}else{_.options.zIndex=_.defaults.zIndex;}}if(bodyStyle.OTransform!==undefined){_.animType='OTransform';_.transformType='-o-transform';_.transitionType='OTransition';if(bodyStyle.perspectiveProperty===undefined&&bodyStyle.webkitPerspective===undefined)_.animType=false;}if(bodyStyle.MozTransform!==undefined){_.animType='MozTransform';_.transformType='-moz-transform';_.transitionType='MozTransition';if(bodyStyle.perspectiveProperty===undefined&&bodyStyle.MozPerspective===undefined)_.animType=false;}if(bodyStyle.webkitTransform!==undefined){_.animType='webkitTransform';_.transformType='-webkit-transform';_.transitionType='webkitTransition';if(bodyStyle.perspectiveProperty===undefined&&bodyStyle.webkitPerspective===undefined)_.animType=false;}if(bodyStyle.msTransform!==undefined){_.animType='msTransform';_.transformType='-ms-transform';_.transitionType='msTransition';if(bodyStyle.msTransform===undefined)_.animType=false;}if(bodyStyle.transform!==undefined&&_.animType!==false){_.animType='transform';_.transformType='transform';_.transitionType='transition';}_.transformsEnabled=_.options.useTransform&&_.animType!==null&&_.animType!==false;};Slick.prototype.setSlideClasses=function(index){var _=this,centerOffset,allSlides,indexOffset,remainder;allSlides=_.$slider.find('.slick-slide').removeClass('slick-active slick-center slick-current').attr('aria-hidden','true');_.$slides.eq(index).addClass('slick-current');if(_.options.centerMode===true){var evenCoef=_.options.slidesToShow%2===0?1:0;centerOffset=Math.floor(_.options.slidesToShow/2);if(_.options.infinite===true){if(index>=centerOffset&&index<=_.slideCount-1-centerOffset){_.$slides.slice(index-centerOffset+evenCoef,index+centerOffset+1).addClass('slick-active').attr('aria-hidden','false');}else{indexOffset=_.options.slidesToShow+index;allSlides.slice(indexOffset-centerOffset+1+evenCoef,indexOffset+centerOffset+2).addClass('slick-active').attr('aria-hidden','false');}if(index===0){allSlides.eq(allSlides.length-1-_.options.slidesToShow).addClass('slick-center');}else if(index===_.slideCount-1){allSlides.eq(_.options.slidesToShow).addClass('slick-center');}}_.$slides.eq(index).addClass('slick-center');}else{if(index>=0&&index<=_.slideCount-_.options.slidesToShow){_.$slides.slice(index,index+_.options.slidesToShow).addClass('slick-active').attr('aria-hidden','false');}else if(allSlides.length<=_.options.slidesToShow){allSlides.addClass('slick-active').attr('aria-hidden','false');}else{remainder=_.slideCount%_.options.slidesToShow;indexOffset=_.options.infinite===true?_.options.slidesToShow+index:index;if(_.options.slidesToShow==_.options.slidesToScroll&&_.slideCount-index<_.options.slidesToShow){allSlides.slice(indexOffset-(_.options.slidesToShow-remainder),indexOffset+remainder).addClass('slick-active').attr('aria-hidden','false');}else{allSlides.slice(indexOffset,indexOffset+_.options.slidesToShow).addClass('slick-active').attr('aria-hidden','false');}}}if(_.options.lazyLoad==='ondemand'||_.options.lazyLoad==='anticipated'){_.lazyLoad();}};Slick.prototype.setupInfinite=function(){var _=this,i,slideIndex,infiniteCount;if(_.options.fade===true){_.options.centerMode=false;}if(_.options.infinite===true&&_.options.fade===false){slideIndex=null;if(_.slideCount>_.options.slidesToShow){if(_.options.centerMode===true){infiniteCount=_.options.slidesToShow+1;}else{infiniteCount=_.options.slidesToShow;}for(i=_.slideCount;i>_.slideCount-infiniteCount;i-=1){slideIndex=i-1;$(_.$slides[slideIndex]).clone(true).attr('id','').attr('data-slick-index',slideIndex-_.slideCount).prependTo(_.$slideTrack).addClass('slick-cloned');}for(i=0;i<infiniteCount+_.slideCount;i+=1){slideIndex=i;$(_.$slides[slideIndex]).clone(true).attr('id','').attr('data-slick-index',slideIndex+_.slideCount).appendTo(_.$slideTrack).addClass('slick-cloned');}_.$slideTrack.find('.slick-cloned').find('[id]').each(function(){$(this).attr('id','');});}}};Slick.prototype.interrupt=function(toggle){var _=this;if(!toggle){_.autoPlay();}_.interrupted=toggle;};Slick.prototype.selectHandler=function(event){var _=this;var targetElement=$(event.target).is('.slick-slide')?$(event.target):$(event.target).parents('.slick-slide');var index=parseInt(targetElement.attr('data-slick-index'));if(!index)index=0;if(_.slideCount<=_.options.slidesToShow){_.slideHandler(index,false,true);return;}_.slideHandler(index);};Slick.prototype.slideHandler=function(index,sync,dontAnimate){var targetSlide,animSlide,oldSlide,slideLeft,targetLeft=null,_=this,navTarget;sync=sync||false;if(_.animating===true&&_.options.waitForAnimate===true){return;}if(_.options.fade===true&&_.currentSlide===index){return;}if(sync===false){_.asNavFor(index);}targetSlide=index;targetLeft=_.getLeft(targetSlide);slideLeft=_.getLeft(_.currentSlide);_.currentLeft=_.swipeLeft===null?slideLeft:_.swipeLeft;if(_.options.infinite===false&&_.options.centerMode===false&&(index<0||index>_.getDotCount()*_.options.slidesToScroll)){if(_.options.fade===false){targetSlide=_.currentSlide;if(dontAnimate!==true&&_.slideCount>_.options.slidesToShow){_.animateSlide(slideLeft,function(){_.postSlide(targetSlide);});}else{_.postSlide(targetSlide);}}return;}else if(_.options.infinite===false&&_.options.centerMode===true&&(index<0||index>_.slideCount-_.options.slidesToScroll)){if(_.options.fade===false){targetSlide=_.currentSlide;if(dontAnimate!==true&&_.slideCount>_.options.slidesToShow){_.animateSlide(slideLeft,function(){_.postSlide(targetSlide);});}else{_.postSlide(targetSlide);}}return;}if(_.options.autoplay){clearInterval(_.autoPlayTimer);}if(targetSlide<0){if(_.slideCount%_.options.slidesToScroll!==0){animSlide=_.slideCount-_.slideCount%_.options.slidesToScroll;}else{animSlide=_.slideCount+targetSlide;}}else if(targetSlide>=_.slideCount){if(_.slideCount%_.options.slidesToScroll!==0){animSlide=0;}else{animSlide=targetSlide-_.slideCount;}}else{animSlide=targetSlide;}_.animating=true;_.$slider.trigger('beforeChange',[_,_.currentSlide,animSlide]);oldSlide=_.currentSlide;_.currentSlide=animSlide;_.setSlideClasses(_.currentSlide);if(_.options.asNavFor){navTarget=_.getNavTarget();navTarget=navTarget.slick('getSlick');if(navTarget.slideCount<=navTarget.options.slidesToShow){navTarget.setSlideClasses(_.currentSlide);}}_.updateDots();_.updateArrows();if(_.options.fade===true){if(dontAnimate!==true){_.fadeSlideOut(oldSlide);_.fadeSlide(animSlide,function(){_.postSlide(animSlide);});}else{_.postSlide(animSlide);}_.animateHeight();return;}if(dontAnimate!==true&&_.slideCount>_.options.slidesToShow){_.animateSlide(targetLeft,function(){_.postSlide(animSlide);});}else{_.postSlide(animSlide);}};Slick.prototype.startLoad=function(){var _=this;if(_.options.arrows===true&&_.slideCount>_.options.slidesToShow){_.$prevArrow.hide();_.$nextArrow.hide();}if(_.options.dots===true&&_.slideCount>_.options.slidesToShow){_.$dots.hide();}_.$slider.addClass('slick-loading');};Slick.prototype.swipeDirection=function(){var xDist,yDist,r,swipeAngle,_=this;xDist=_.touchObject.startX-_.touchObject.curX;yDist=_.touchObject.startY-_.touchObject.curY;r=Math.atan2(yDist,xDist);swipeAngle=Math.round(r*180/Math.PI);if(swipeAngle<0){swipeAngle=360-Math.abs(swipeAngle);}if(swipeAngle<=45&&swipeAngle>=0){return _.options.rtl===false?'left':'right';}if(swipeAngle<=360&&swipeAngle>=315){return _.options.rtl===false?'left':'right';}if(swipeAngle>=135&&swipeAngle<=225){return _.options.rtl===false?'right':'left';}if(_.options.verticalSwiping===true){if(swipeAngle>=35&&swipeAngle<=135){return'down';}else{return'up';}}return'vertical';};Slick.prototype.swipeEnd=function(event){var _=this,slideCount,direction;_.dragging=false;_.swiping=false;if(_.scrolling){_.scrolling=false;return false;}_.interrupted=false;_.shouldClick=_.touchObject.swipeLength>10?false:true;if(_.touchObject.curX===undefined){return false;}if(_.touchObject.edgeHit===true){_.$slider.trigger('edge',[_,_.swipeDirection()]);}if(_.touchObject.swipeLength>=_.touchObject.minSwipe){direction=_.swipeDirection();switch(direction){case'left':case'down':slideCount=_.options.swipeToSlide?_.checkNavigable(_.currentSlide+_.getSlideCount()):_.currentSlide+_.getSlideCount();_.currentDirection=0;break;case'right':case'up':slideCount=_.options.swipeToSlide?_.checkNavigable(_.currentSlide-_.getSlideCount()):_.currentSlide-_.getSlideCount();_.currentDirection=1;break;default:}if(direction!='vertical'){_.slideHandler(slideCount);_.touchObject={};_.$slider.trigger('swipe',[_,direction]);}}else{if(_.touchObject.startX!==_.touchObject.curX){_.slideHandler(_.currentSlide);_.touchObject={};}}};Slick.prototype.swipeHandler=function(event){var _=this;if(_.options.swipe===false||'ontouchend'in document&&_.options.swipe===false){return;}else if(_.options.draggable===false&&event.type.indexOf('mouse')!==-1){return;}_.touchObject.fingerCount=event.originalEvent&&event.originalEvent.touches!==undefined?event.originalEvent.touches.length:1;_.touchObject.minSwipe=_.listWidth/_.options.touchThreshold;if(_.options.verticalSwiping===true){_.touchObject.minSwipe=_.listHeight/_.options.touchThreshold;}switch(event.data.action){case'start':_.swipeStart(event);break;case'move':_.swipeMove(event);break;case'end':_.swipeEnd(event);break;}};Slick.prototype.swipeMove=function(event){var _=this,edgeWasHit=false,curLeft,swipeDirection,swipeLength,positionOffset,touches,verticalSwipeLength;touches=event.originalEvent!==undefined?event.originalEvent.touches:null;if(!_.dragging||_.scrolling||touches&&touches.length!==1){return false;}curLeft=_.getLeft(_.currentSlide);_.touchObject.curX=touches!==undefined?touches[0].pageX:event.clientX;_.touchObject.curY=touches!==undefined?touches[0].pageY:event.clientY;_.touchObject.swipeLength=Math.round(Math.sqrt(Math.pow(_.touchObject.curX-_.touchObject.startX,2)));verticalSwipeLength=Math.round(Math.sqrt(Math.pow(_.touchObject.curY-_.touchObject.startY,2)));if(!_.options.verticalSwiping&&!_.swiping&&verticalSwipeLength>4){_.scrolling=true;return false;}if(_.options.verticalSwiping===true){_.touchObject.swipeLength=verticalSwipeLength;}swipeDirection=_.swipeDirection();if(event.originalEvent!==undefined&&_.touchObject.swipeLength>4){_.swiping=true;event.preventDefault();}positionOffset=(_.options.rtl===false?1:-1)*(_.touchObject.curX>_.touchObject.startX?1:-1);if(_.options.verticalSwiping===true){positionOffset=_.touchObject.curY>_.touchObject.startY?1:-1;}swipeLength=_.touchObject.swipeLength;_.touchObject.edgeHit=false;if(_.options.infinite===false){if(_.currentSlide===0&&swipeDirection==='right'||_.currentSlide>=_.getDotCount()&&swipeDirection==='left'){swipeLength=_.touchObject.swipeLength*_.options.edgeFriction;_.touchObject.edgeHit=true;}}if(_.options.vertical===false){_.swipeLeft=curLeft+swipeLength*positionOffset;}else{_.swipeLeft=curLeft+swipeLength*(_.$list.height()/_.listWidth)*positionOffset;}if(_.options.verticalSwiping===true){_.swipeLeft=curLeft+swipeLength*positionOffset;}if(_.options.fade===true||_.options.touchMove===false){return false;}if(_.animating===true){_.swipeLeft=null;return false;}_.setCSS(_.swipeLeft);};Slick.prototype.swipeStart=function(event){var _=this,touches;_.interrupted=true;if(_.touchObject.fingerCount!==1||_.slideCount<=_.options.slidesToShow){_.touchObject={};return false;}if(event.originalEvent!==undefined&&event.originalEvent.touches!==undefined){touches=event.originalEvent.touches[0];}_.touchObject.startX=_.touchObject.curX=touches!==undefined?touches.pageX:event.clientX;_.touchObject.startY=_.touchObject.curY=touches!==undefined?touches.pageY:event.clientY;_.dragging=true;};Slick.prototype.unfilterSlides=Slick.prototype.slickUnfilter=function(){var _=this;if(_.$slidesCache!==null){_.unload();_.$slideTrack.children(this.options.slide).detach();_.$slidesCache.appendTo(_.$slideTrack);_.reinit();}};Slick.prototype.unload=function(){var _=this;$('.slick-cloned',_.$slider).remove();if(_.$dots){_.$dots.remove();}if(_.$prevArrow&&_.htmlExpr.test(_.options.prevArrow)){_.$prevArrow.remove();}if(_.$nextArrow&&_.htmlExpr.test(_.options.nextArrow)){_.$nextArrow.remove();}_.$slides.removeClass('slick-slide slick-active slick-visible slick-current').attr('aria-hidden','true').css('width','');};Slick.prototype.unslick=function(fromBreakpoint){var _=this;_.$slider.trigger('unslick',[_,fromBreakpoint]);_.destroy();};Slick.prototype.updateArrows=function(){var _=this,centerOffset;centerOffset=Math.floor(_.options.slidesToShow/2);if(_.options.arrows===true&&_.slideCount>_.options.slidesToShow&&!_.options.infinite){_.$prevArrow.removeClass('slick-disabled').attr('aria-disabled','false');_.$nextArrow.removeClass('slick-disabled').attr('aria-disabled','false');if(_.currentSlide===0){_.$prevArrow.addClass('slick-disabled').attr('aria-disabled','true');_.$nextArrow.removeClass('slick-disabled').attr('aria-disabled','false');}else if(_.currentSlide>=_.slideCount-_.options.slidesToShow&&_.options.centerMode===false){_.$nextArrow.addClass('slick-disabled').attr('aria-disabled','true');_.$prevArrow.removeClass('slick-disabled').attr('aria-disabled','false');}else if(_.currentSlide>=_.slideCount-1&&_.options.centerMode===true){_.$nextArrow.addClass('slick-disabled').attr('aria-disabled','true');_.$prevArrow.removeClass('slick-disabled').attr('aria-disabled','false');}}};Slick.prototype.updateDots=function(){var _=this;if(_.$dots!==null){_.$dots.find('li').removeClass('slick-active').end();_.$dots.find('li').eq(Math.floor(_.currentSlide/_.options.slidesToScroll)).addClass('slick-active');}};Slick.prototype.visibility=function(){var _=this;if(_.options.autoplay){if(document[_.hidden]){_.interrupted=true;}else{_.interrupted=false;}}};$.fn.slick=function(){var _=this,opt=arguments[0],args=Array.prototype.slice.call(arguments,1),l=_.length,i,ret;for(i=0;i<l;i++){if((typeof opt==='undefined'?'undefined':_typeof(opt))=='object'||typeof opt=='undefined')_[i].slick=new Slick(_[i],opt);else ret=_[i].slick[opt].apply(_[i].slick,args);if(typeof ret!='undefined')return ret;}return _;};});;'use strict';/*!
	Modaal - accessible modals - v0.3.1
	by Humaan, for all humans.
	http://humaan.com
 */ /**
	Modaal jQuery Plugin : Accessible Modals

	==== General Options ===
	type (string) 					: ajax, inline, image, iframe, confirm. Defaults to 'inline'
	animation (string) 				: Fade, expand, down, up. Defaults to 'fade'
	after_callback_delay (integer)	: Specify a delay value for the after open callbacks. This is necessary because with the bundled animations
										have a set duration in the bundled CSS. Specify a delay of the same amount as the animation duration in so
										more accurately fire the after open/close callbacks. Defaults 350, does not apply if animation is 'none',
										after open callbacks are dispatched immediately

	is_locked (boolean)				: Set this to true to disable closing the modal via keypress or clicking the background. Beware that if
										type != 'confirm' there will be no interface to dismiss the modal if is_locked = true, you'd have to
										programmatically arrange to dismiss the modal. Confirm modals are always locked regardless of this option
										Defaults to false

	hide_close (boolean)			: Set this to true to hide the close modal button. Key press and overlay click will still close the modal.
										This method is best used when you want to put a custom close button inside the modal container space.

	background (string)				: Background overlay style. Defaults to '#000'
	overlay_opacity (float) 		: Background overlay transparency. Defaults to 0.8
	overlay_close (boolean)			: Set this to false if you want to disable click to close on overlay background.

	accessible_title (string)		: Accessible title. Default 'Dialog Window'
	start_open (boolean)			: Set this to true to launch the Modaal window immediately on page open
	fullscreen (boolean)			: Set this to true to make the modaal fill the entire screen, false will default to own width/height attributes.
	custom_class (string)			: Fill in this string with a custom class that will be applied to the outer most modal wrapper.

	width (integer)					: Desired width of the modal. Required for iframe type. Defaults to undefined //TODO
	height (integer)				: Desired height of the modal. Required for iframe type. Defaults to undefined //TODO

	background_scroll (boolean)		: Set this to true to enable the page to scroll behind the open modal.

    should_open (boolean|function)  : Boolean or closure that returns a boolean to determine whether to open the modal or not.

	close_text						: String for close button text. Available for localisation and alternative languages to be used.
	close_aria_label				: String for close button aria-label attribute (value that screen readers will read out). Available for localisation and alternative languages to be used.

	=== Events ===
	before_open (function) 			: Callback function executed before modal is opened
	after_open (function)			: Callback function executed after modal is opened
	before_close (function)			: Callback function executed before modal is closed
	after_close (function)			: Callback function executed after modal is closed
	source (function(element, src))	: Callback function executed on the default source, it is intended to transform the
										source (href in an AJAX modal or iframe). The function passes in the triggering element
										as well as the default source depending of the modal type. The default output of the
										function is an untransformed default source.


	=== Confirm Options & Events ===
	confirm_button_text (string)	: Text on the confirm button. Defaults to 'Confirm'
	confirm_cancel_button_text (string) : Text on the confirm modal cancel button. Defaults to 'Cancel'
	confirm_title (string)			: Title for confirm modal. Default 'Confirm Title'
	confirm_content (string)		: HTML content for confirm message
	confirm_callback (function)		: Callback function for when the confirm button is pressed as opposed to cancel
	confirm_cancel_callback (function) : Callback function for when the cancel button is pressed


	=== Gallery Options & Events ===
	gallery_active_class (string)	: Active class applied to the currently active image or image slide in a gallery 'gallery_active_item'
	before_image_change (function)	: Callback function executed before the image slide changes in a gallery modal. Default function( current_item, incoming_item )
	after_image_change (function)	: Callback function executed after the image slide changes in a gallery modal. Default function ( current_item )


	=== AJAX Options & Events ===
	loading_content (string)		: HTML content for loading message. Default 'Loading &hellip;'
	loading_class (string)			: Class name to be applied while content is loaded via AJAX. Default 'is_loading'
	ajax_error_class (string)		: Class name to be applied when content has failed to load. Default is 'modaal-error'
	ajax_success (function)		 	: Callback for when AJAX content is loaded in


	=== SOCIAL CONTENT ===
	instagram_id (string)			: Unique photo ID for an Instagram photo.

*/(function($){var modaal_loading_spinner='<div class="modaal-loading-spinner"><div><div></div></div><div><div></div></div><div><div></div></div><div><div></div></div><div><div></div></div><div><div></div></div><div><div></div></div><div><div></div></div></div>';var Modaal={init:function init(options,elem){var self=this;self.dom=$('body');self.$elem=$(elem);self.options=$.extend({},$.fn.modaal.options,self.$elem.data(),options);self.xhr=null;// set up the scope
self.scope={is_open:false,id:'modaal_'+new Date().getTime()+Math.random().toString(16).substring(2)};// add scope attribute to trigger element
self.$elem.attr('data-modaal-scope',self.scope.id);// private options
self.private_options={active_class:'is_active'};self.lastFocus=null;// if is_locked
if(self.options.is_locked||self.options.type=='confirm'||self.options.hide_close){self.scope.close_btn='';}else{self.scope.close_btn='<button type="button" class="modaal-close" id="modaal-close" aria-label="'+self.options.close_aria_label+'"><span>'+self.options.close_text+'</span></button>';}// reset animation_speed
if(self.options.animation==='none'){self.options.animation_speed=0;self.options.after_callback_delay=0;}// On click to open modal
$(elem).on('click.Modaal',function(e){e.preventDefault();var source;// Save last active state before modal
self.lastFocus=document.activeElement;if(self.options.should_open===false||typeof self.options.should_open==='function'&&self.options.should_open()===false){return;}// CB: before_open
self.options.before_open.call(self,e);switch(self.options.type){case'inline':self.create_basic();break;case'ajax':source=self.options.source(self.$elem,self.$elem.attr('href'));self.fetch_ajax(source);break;case'confirm':self.options.is_locked=true;self.create_confirm();break;case'image':self.create_image();break;case'iframe':source=self.options.source(self.$elem,self.$elem.attr('href'));self.create_iframe(source);break;case'video':self.create_video(self.$elem.attr('href'));break;case'instagram':self.create_instagram();break;}// call events to be watched (click, tab, keyup, keydown etc.)
self.watch_events();});// Check for start_open
if(self.options.start_open===true){$(elem).click();}},// Watching Modal
// ----------------------------------------------------------------
watch_events:function watch_events(){var self=this;self.dom.off('click.Modaal keyup.Modaal keydown.Modaal');// Body keydown
self.dom.on('keydown.Modaal',function(e){var key=e.keyCode;var target=e.target;// look for tab change and reset focus to modal window
// done in keydown so the check fires repeatedly when you hold the tab key down
if(key==9&&self.scope.is_open){if(!$.contains(document.getElementById(self.scope.id),target)){$('#'+self.scope.id).find('*[tabindex="0"]').focus();}}});// Body keyup
self.dom.on('keyup.Modaal',function(e){var key=e.keyCode;var target=e.target;if(e.shiftKey&&e.keyCode==9&&self.scope.is_open){// Watch for shift + tab key press. if open shift focus to close button.
if(!$.contains(document.getElementById(self.scope.id),target)){$('#'+self.scope.id).find('.modaal-close').focus();}}if(!self.options.is_locked){// On escape key press close modal
if(key==27&&self.scope.is_open){if($(document.activeElement).is('input:not(:checkbox):not(:radio)')){return false;}self.modaal_close();return;}}// is gallery open and images length is > 1
if(self.options.type=='image'){// arrow left for back
if(key==37&&self.scope.is_open&&!$('#'+self.scope.id+' .modaal-gallery-prev').hasClass('is_hidden')){self.gallery_update('prev');}// arrow right for next
if(key==39&&self.scope.is_open&&!$('#'+self.scope.id+' .modaal-gallery-next').hasClass('is_hidden')){self.gallery_update('next');}return;}});// Body click
self.dom.on('click.Modaal',function(e){var trigger=$(e.target);// General Controls: If it's not locked allow greedy close
if(!self.options.is_locked){if(self.options.overlay_close&&trigger.is('.modaal-inner-wrapper')||trigger.is('.modaal-close')||trigger.closest('.modaal-close').length){self.modaal_close();return;}}//Confirm Controls
if(trigger.is('.modaal-confirm-btn')){// if 'OK' button is clicked, run confirm_callback()
if(trigger.is('.modaal-ok')){self.options.confirm_callback.call(self,self.lastFocus);}if(trigger.is('.modaal-cancel')){self.options.confirm_cancel_callback.call(self,self.lastFocus);}self.modaal_close();return;}// Gallery Controls
if(trigger.is('.modaal-gallery-control')){// it not active, don't do nuthin!
if(trigger.hasClass('is_hidden')){return;}// trigger previous
if(trigger.is('.modaal-gallery-prev')){self.gallery_update('prev');}// trigger next
if(trigger.is('.modaal-gallery-next')){self.gallery_update('next');}return;}});},// Append markup into DOM
build_modal:function build_modal(content){var self=this;// if is instagram
var igClass='';if(self.options.type=='instagram'){igClass=' modaal-instagram';}var wrap_class=self.options.type=='video'?'modaal-video-wrap':'modaal-content';/*
   	modaal-start_none : fully hidden via display:none;
   	modaal-start_fade : hidden via opacity:0
   	modaal-start_slidedown : ...
   	*/var animation_class;switch(self.options.animation){case'fade':animation_class=' modaal-start_fade';break;case'slide-down':animation_class=' modaal-start_slidedown';break;default:animation_class=' modaal-start_none';}// fullscreen check
var fullscreen_class='';if(self.options.fullscreen){fullscreen_class=' modaal-fullscreen';}// custom class check
if(self.options.custom_class!==''||typeof self.options.custom_class!=='undefined'){self.options.custom_class=' '+self.options.custom_class;}// if width and heights exists and is typeof number
var dimensionsStyle='';if(self.options.width&&self.options.height&&typeof self.options.width=='number'&&typeof self.options.height=='number'){// if width and height exist, and they are both numbers
dimensionsStyle=' style="max-width:'+self.options.width+'px;height:'+self.options.height+'px;overflow:auto;"';}else if(self.options.width&&typeof self.options.width=='number'){// if only width
dimensionsStyle=' style="max-width:'+self.options.width+'px;"';}else if(self.options.height&&typeof self.options.height=='number'){// if only height
dimensionsStyle=' style="height:'+self.options.height+'px;overflow:auto;"';}// Reset dimensions style (width and height) for certain types
if(self.options.type=='image'||self.options.type=='video'||self.options.type=='instagram'||self.options.fullscreen){dimensionsStyle='';}//var build_markup = '<div class="modaal-wrapper modaal-start_fade' + igClass + '" id="' + self.scope.id + '"><div class="modaal-outer-wrapper"><div class="modaal-inner-wrapper">';
var build_markup='<div class="modaal-wrapper modaal-'+self.options.type+animation_class+igClass+fullscreen_class+self.options.custom_class+'" id="'+self.scope.id+'"><div class="modaal-outer-wrapper"><div class="modaal-inner-wrapper">';// hide if video
if(self.options.type!='video'){build_markup+='<div class="modaal-container"'+dimensionsStyle+'>';}// add the guts of the content
build_markup+='<div class="'+wrap_class+' modaal-focus" aria-hidden="false" aria-label="'+self.options.accessible_title+' (Press escape to close)" role="dialog">';// If it's inline type, we want to clone content instead of dropping it straight in
if(self.options.type=='inline'){build_markup+='<div class="modaal-content-container"></div>';}else{// Drop in the content if it's not inline
build_markup+=content;}// close wrap_class
build_markup+='</div>'+self.scope.close_btn;// hide if video
if(self.options.type!='video'){build_markup+='</div>';}// close off modaal-wrapper
build_markup+='</div></div></div>';// append ajax modal markup to dom
self.dom.append(build_markup);// if inline, clone content into space
if(self.options.type=='inline'){content.appendTo('#'+self.scope.id+' .modaal-content-container');}// Trigger overlay show (which triggers modal show)
self.modaal_overlay('show');},// Create Basic Inline Modal
// ----------------------------------------------------------------
create_basic:function create_basic(){var self=this;// if $elem is a link, then href points to the target, otherwise assume target was passed in initially
var target=self.$elem.is('[href]')?$(self.$elem.attr('href')):self.$elem;var content='';if(target.length){content=target.contents().clone(true,true);target.empty();}else{content='Content could not be loaded. Please check the source and try again.';}// now push content into markup
self.build_modal(content);},// Create Instagram Modal
// ----------------------------------------------------------------
create_instagram:function create_instagram(){var self=this;var id=self.options.instagram_id;var content='';var error_msg='Instagram photo couldn\'t be loaded, please check the embed code and try again.';self.build_modal('<div class="modaal-content-container'+(self.options.loading_class!=''?' '+self.options.loading_class:'')+'">'+self.options.loading_content+'</div>');// ID exists, is not empty null or undefined.
if(id!=''&&id!==null&&id!==undefined){// set up oembed url
var ig_url='https://api.instagram.com/oembed?url=http://instagr.am/p/'+id+'/';$.ajax({url:ig_url,dataType:"jsonp",cache:false,success:function success(data){// set up the new content
content=data.html;// now set location for new content
var target=$('#'+self.scope.id+' .modaal-content-container');if(target.length>0){// add HTML into target region
target.removeClass(self.options.loading_class);target.html(content);// now trigger an instagram refresh
window.instgrm.Embeds.process();}},error:function error(){content=error_msg;// now set location for new content
var target=$('#'+self.scope.id+' .modaal-content-container');if(target.length>0){target.removeClass(self.options.loading_class).addClass(self.options.ajax_error_class);target.html(content);}}});}else{content=error_msg;}return false;},// Fetch Ajax Data
// ----------------------------------------------------------------
fetch_ajax:function fetch_ajax(url){var self=this;var content='';// If no accessible title, set it to 'Dialog Window'
if(self.options.accessible_title==null){self.options.accessible_title='Dialog Window';}if(self.xhr!==null){self.xhr.abort();self.xhr=null;}self.build_modal('<div class="modaal-content-container'+(self.options.loading_class!=''?' '+self.options.loading_class:'')+'">'+self.options.loading_content+'</div>');self.xhr=$.ajax(url,{success:function success(data){// content fetch is successful so push it into markup
var target=$('#'+self.scope.id).find('.modaal-content-container');if(target.length>0){target.removeClass(self.options.loading_class);target.html(data);self.options.ajax_success.call(self,target);}},error:function error(xhr){// There were some errors so return an error message
if(xhr.statusText=='abort'){return;}var target=$('#'+self.scope.id+' .modaal-content-container');if(target.length>0){target.removeClass(self.options.loading_class).addClass(self.options.ajax_error_class);target.html('Content could not be loaded. Please check the source and try again.');}}});},// Create Confirm Modal
// ----------------------------------------------------------------
create_confirm:function create_confirm(){var self=this;var content;content='<div class="modaal-content-container">'+'<h1 id="modaal-title">'+self.options.confirm_title+'</h1>'+'<div class="modaal-confirm-content">'+self.options.confirm_content+'</div>'+'<div class="modaal-confirm-wrap">'+'<button type="button" class="modaal-confirm-btn modaal-ok" aria-label="Confirm">'+self.options.confirm_button_text+'</button>'+'<button type="button" class="modaal-confirm-btn modaal-cancel" aria-label="Cancel">'+self.options.confirm_cancel_button_text+'</button>'+'</div>'+'</div>'+'</div>';// now push content into markup
self.build_modal(content);},// Create Image/Gallery Modal
// ----------------------------------------------------------------
create_image:function create_image(){var self=this;var content;var modaal_image_markup='';var gallery_total;var prev_btn='<button type="button" class="modaal-gallery-control modaal-gallery-prev" id="modaal-gallery-prev" aria-label="Previous image (use left arrow to change)"><span>Previous Image</span></button>';var next_btn='<button type="button" class="modaal-gallery-control modaal-gallery-next" id="modaal-gallery-next" aria-label="Next image (use right arrow to change)"><span>Next Image</span></button>';// If has rel attribute
if(self.$elem.is('[rel]')){// find gallery rel
var gallery_group=self.$elem.attr('rel');var gallery_group_items=$('[rel="'+gallery_group+'"]');// remove any previous active attribute to any in the group
gallery_group_items.removeAttr('data-gallery-active','is_active');// add active attribute to the item clicked
self.$elem.attr('data-gallery-active','is_active');// how many in the rel grouping are there (-1 to connect with each function starting with 0)
gallery_total=gallery_group_items.length-1;// prepare array for gallery data
var gallery=[];// start preparing markup
modaal_image_markup='<div class="modaal-gallery-item-wrap">';// loop each grouping item and push it into our gallery array
gallery_group_items.each(function(i,item){// setup default content
var img_src='';var img_alt='';var img_description='';var img_active=false;var data_modaal_desc=item.getAttribute('data-modaal-desc');var data_item_active=item.getAttribute('data-gallery-active');// is it an img SRC or link HREF value
if(item.href!==''||item.href!==undefined){img_src=item.href;}else if(item.src!==''||item.src!==undefined){img_src=item.src;}// Does it have a modaal description
if(data_modaal_desc!=''&&data_modaal_desc!==null&&data_modaal_desc!==undefined){img_alt=data_modaal_desc;img_description='<div class="modaal-gallery-label"><span class="modaal-accessible-hide">Image '+(i+1)+' - </span>'+data_modaal_desc+'</div>';}else{img_description='<div class="modaal-gallery-label"><span class="modaal-accessible-hide">Image '+(i+1)+'</span></div>';}// is it the active item
if(data_item_active){img_active=true;}// set new object for values we want
var gallery_item={'url':img_src,'alt':img_alt,'rawdesc':data_modaal_desc,'desc':img_description,'active':img_active};// push object into gallery array
gallery.push(gallery_item);});// now loop through all items in the gallery and build up the markup
for(var i=0;i<gallery.length;i++){// Set default active class, then check if array item active is true and update string for class
var is_active='';var aria_label=gallery[i].rawdesc?'Image: '+gallery[i].rawdesc:'Image '+i+' no description';if(gallery[i].active){is_active=' '+self.private_options.active_class;}// for each item build up the markup
modaal_image_markup+='<div class="modaal-gallery-item gallery-item-'+i+is_active+'" aria-label="'+aria_label+'">'+'<img src="'+gallery[i].url+'" alt=" " style="width:100%">'+gallery[i].desc+'</div>';}// close off the markup for the gallery and add next/previous buttons
modaal_image_markup+='</div>'+prev_btn+next_btn;}else{// This is only a single gallery item so let's grab the necessary values
// Setup selected image
var this_img_src=self.$elem.attr('href');var this_img_alt_txt='';var this_img_alt='';var aria_label='';if(self.$elem.attr('data-modaal-desc')){aria_label=self.$elem.attr('data-modaal-desc');this_img_alt_txt=self.$elem.attr('data-modaal-desc');this_img_alt='<div class="modaal-gallery-label"><span class="modaal-accessible-hide">Image - </span>'+this_img_alt_txt+'</div>';}else{aria_label="Image with no description";}// build up the html
modaal_image_markup='<div class="modaal-gallery-item is_active" aria-label="'+aria_label+'">'+'<img src="'+this_img_src+'" alt=" " style="width:100%">'+this_img_alt+'</div>';}// Update content variable
content=modaal_image_markup;// now push content into markup
self.build_modal(content);// setup next & prev buttons
if($('.modaal-gallery-item.is_active').is('.gallery-item-0')){$('.modaal-gallery-prev').hide();}if($('.modaal-gallery-item.is_active').is('.gallery-item-'+gallery_total)){$('.modaal-gallery-next').hide();}},// Gallery Change Image
// ----------------------------------------------------------------
gallery_update:function gallery_update(direction){var self=this;var this_gallery=$('#'+self.scope.id);var this_gallery_item=this_gallery.find('.modaal-gallery-item');var this_gallery_total=this_gallery_item.length-1;// if single item, don't proceed
if(this_gallery_total==0){return false;}var prev_btn=this_gallery.find('.modaal-gallery-prev'),next_btn=this_gallery.find('.modaal-gallery-next');var duration=250;var new_img_w=0,new_img_h=0;// CB: Before image change
var current_item=this_gallery.find('.modaal-gallery-item.'+self.private_options.active_class),incoming_item=direction=='next'?current_item.next('.modaal-gallery-item'):current_item.prev('.modaal-gallery-item');self.options.before_image_change.call(self,current_item,incoming_item);// stop change if at start of end
if(direction=='prev'&&this_gallery.find('.gallery-item-0').hasClass('is_active')){return false;}else if(direction=='next'&&this_gallery.find('.gallery-item-'+this_gallery_total).hasClass('is_active')){return false;}// lock dimensions
current_item.stop().animate({opacity:0},duration,function(){// Move to appropriate image
incoming_item.addClass('is_next').css({'position':'absolute','display':'block','opacity':0});// Collect doc width
var doc_width=$(document).width();var width_threshold=doc_width>1140?280:50;// start toggle to 'is_next'
new_img_w=this_gallery.find('.modaal-gallery-item.is_next').width();new_img_h=this_gallery.find('.modaal-gallery-item.is_next').height();var new_natural_w=this_gallery.find('.modaal-gallery-item.is_next img').prop('naturalWidth');var new_natural_h=this_gallery.find('.modaal-gallery-item.is_next img').prop('naturalHeight');// if new image is wider than doc width
if(new_natural_w>doc_width-width_threshold){// set new width just below doc width
new_img_w=doc_width-width_threshold;// Set temp widths so we can calulate the correct height;
this_gallery.find('.modaal-gallery-item.is_next').css({'width':new_img_w});this_gallery.find('.modaal-gallery-item.is_next img').css({'width':new_img_w});// Set new height variable
new_img_h=this_gallery.find('.modaal-gallery-item.is_next').find('img').height();}else{// new img is not wider than screen, so let's set the new dimensions
new_img_w=new_natural_w;new_img_h=new_natural_h;}// resize gallery region
this_gallery.find('.modaal-gallery-item-wrap').stop().animate({'width':new_img_w,'height':new_img_h},duration,function(){// hide old active image
current_item.removeClass(self.private_options.active_class+' '+self.options.gallery_active_class).removeAttr('style');current_item.find('img').removeAttr('style');// show new image
incoming_item.addClass(self.private_options.active_class+' '+self.options.gallery_active_class).removeClass('is_next').css('position','');// animate in new image (now has the normal is_active class
incoming_item.stop().animate({opacity:1},duration,function(){$(this).removeAttr('style').css({'width':'100%'});$(this).find('img').css('width','100%');// remove dimension lock
this_gallery.find('.modaal-gallery-item-wrap').removeAttr('style');// CB: After image change
self.options.after_image_change.call(self,incoming_item);});// Focus on the new gallery item
this_gallery.find('.modaal-gallery-item').removeAttr('tabindex');this_gallery.find('.modaal-gallery-item.'+self.private_options.active_class+'').attr('tabindex','0').focus();// hide/show next/prev
if(this_gallery.find('.modaal-gallery-item.'+self.private_options.active_class).is('.gallery-item-0')){prev_btn.stop().animate({opacity:0},150,function(){$(this).hide();});}else{prev_btn.stop().css({'display':'block','opacity':prev_btn.css('opacity')}).animate({opacity:1},150);}if(this_gallery.find('.modaal-gallery-item.'+self.private_options.active_class).is('.gallery-item-'+this_gallery_total)){next_btn.stop().animate({opacity:0},150,function(){$(this).hide();});}else{next_btn.stop().css({'display':'block','opacity':prev_btn.css('opacity')}).animate({opacity:1},150);}});});},// Create Video Modal
// ----------------------------------------------------------------
create_video:function create_video(url){var self=this;var content;// video markup
content='<iframe src="'+url+'" class="modaal-video-frame" frameborder="0" allowfullscreen></iframe>';// now push content into markup
self.build_modal('<div class="modaal-video-container">'+content+'</div>');},// Create iFrame Modal
// ----------------------------------------------------------------
create_iframe:function create_iframe(url){var self=this;var content;if(self.options.width!==null||self.options.width!==undefined||self.options.height!==null||self.options.height!==undefined){// video markup
content='<iframe src="'+url+'" class="modaal-iframe-elem" frameborder="0" allowfullscreen></iframe>';}else{content='<div class="modaal-content-container">Please specify a width and height for your iframe</div>';}// now push content into markup
self.build_modal(content);},// Open Modaal
// ----------------------------------------------------------------
modaal_open:function modaal_open(){var self=this;var modal_wrapper=$('#'+self.scope.id);var animation_type=self.options.animation;if(animation_type==='none'){modal_wrapper.removeClass('modaal-start_none');self.options.after_open.call(self,modal_wrapper);}// Open with fade
if(animation_type==='fade'){modal_wrapper.removeClass('modaal-start_fade');}// Open with slide down
if(animation_type==='slide-down'){modal_wrapper.removeClass('modaal-start_slide_down');}var focusTarget=modal_wrapper;// Switch focusTarget tabindex (switch from other modal if exists)
$('.modaal-wrapper *[tabindex=0]').removeAttr('tabindex');if(self.options.type=='image'){focusTarget=$('#'+self.scope.id).find('.modaal-gallery-item.'+self.private_options.active_class);}else if(modal_wrapper.find('.modaal-iframe-elem').length){focusTarget=modal_wrapper.find('.modaal-iframe-elem');}else if(modal_wrapper.find('.modaal-video-wrap').length){focusTarget=modal_wrapper.find('.modaal-video-wrap');}else{focusTarget=modal_wrapper.find('.modaal-focus');}// now set the focus
focusTarget.attr('tabindex','0').focus();// Run after_open
if(animation_type!=='none'){// CB: after_open
setTimeout(function(){self.options.after_open.call(self,modal_wrapper);},self.options.after_callback_delay);}},// Close Modal
// ----------------------------------------------------------------
modaal_close:function modaal_close(){var self=this;var modal_wrapper=$('#'+self.scope.id);// CB: before_close
self.options.before_close.call(self,modal_wrapper);if(self.xhr!==null){self.xhr.abort();self.xhr=null;}// Now we close the modal
if(self.options.animation==='none'){modal_wrapper.addClass('modaal-start_none');}// Close with fade
if(self.options.animation==='fade'){modal_wrapper.addClass('modaal-start_fade');}// Close with slide up (using initial slide down)
if(self.options.animation==='slide-down'){modal_wrapper.addClass('modaal-start_slide_down');}// CB: after_close and remove
setTimeout(function(){// clone inline content back to origin place
if(self.options.type=='inline'){$('#'+self.scope.id+' .modaal-content-container').contents().clone(true,true).appendTo(self.$elem.attr('href'));}// remove markup from dom
modal_wrapper.remove();// CB: after_close
self.options.after_close.call(self);// scope is now closed
self.scope.is_open=false;},self.options.after_callback_delay);// Call overlay hide
self.modaal_overlay('hide');// Roll back to last focus state before modal open. If was closed programmatically, this might not be set
if(self.lastFocus!=null){self.lastFocus.focus();}},// Overlay control (accepts action for show or hide)
// ----------------------------------------------------------------
modaal_overlay:function modaal_overlay(action){var self=this;if(action=='show'){// Modal is open so update scope
self.scope.is_open=true;// set body to overflow hidden if background_scroll is false
if(!self.options.background_scroll){self.dom.addClass('modaal-noscroll');}// append modaal overlay
self.dom.append('<div class="modaal-overlay" id="'+self.scope.id+'_overlay"></div>');// now show
$('#'+self.scope.id+'_overlay').css('background',self.options.background).stop().animate({opacity:self.options.overlay_opacity},self.options.animation_speed,function(){// now open the modal
self.modaal_open();});}else if(action=='hide'){// remove body overflow lock
self.dom.removeClass('modaal-noscroll');// now hide the overlay
$('#'+self.scope.id+'_overlay').stop().animate({opacity:0},self.options.animation_speed,function(){// remove overlay from dom
$(this).remove();});}}};// Declare the modaal jQuery method
// ------------------------------------------------------------
$.fn.modaal=function(options){return this.each(function(){var existing_modaal=$(this).data('modaal');if(existing_modaal){// Checking for string value, used for methods
if(typeof options=='string'){switch(options){case'close':existing_modaal.modaal_close();break;}}}else{// Not a string, so let's setup the modal ready to use
var modaal=Object.create(Modaal);modaal.init(options,this);$.data(this,"modaal",modaal);}});};// Default options
// ------------------------------------------------------------
$.fn.modaal.options={//General
type:'inline',animation:'fade',animation_speed:300,after_callback_delay:350,is_locked:false,hide_close:false,background:'#000',overlay_opacity:'0.8',overlay_close:true,accessible_title:'Dialog Window',start_open:false,fullscreen:false,custom_class:'',background_scroll:false,should_open:true,close_text:'Close',close_aria_label:'Close (Press escape to close)',width:null,height:null,//Events
before_open:function before_open(){},after_open:function after_open(){},before_close:function before_close(){},after_close:function after_close(){},source:function source(element,src){return src;},//Confirm Modal
confirm_button_text:'Confirm',// text on confirm button
confirm_cancel_button_text:'Cancel',confirm_title:'Confirm Title',// title for confirm modal
confirm_content:'<p>This is the default confirm dialog content. Replace me through the options</p>',// html for confirm message
confirm_callback:function confirm_callback(){},confirm_cancel_callback:function confirm_cancel_callback(){},//Gallery Modal
gallery_active_class:'gallery_active_item',before_image_change:function before_image_change(current_item,incoming_item){},after_image_change:function after_image_change(current_item){},//Ajax Modal
loading_content:modaal_loading_spinner,loading_class:'is_loading',ajax_error_class:'modaal-error',ajax_success:function ajax_success(){},//Instagram
instagram_id:null};// On body load (or now, if already loaded), init any modaals defined inline
// Ensure this is done after $.fn.modaal and default options are declared
// ----------------------------------------------------------------
$(function(){var single_modaal=$('.modaal');if(single_modaal.length){single_modaal.each(function(){var self=$(this);// new empty options
var options={};var inline_options=false;// option: type
if(self.attr('data-modaal-type')){inline_options=true;options.type=self.attr('data-modaal-type');}// option: animation
if(self.attr('data-modaal-animation')){inline_options=true;options.animation=self.attr('data-modaal-animation');}// option: animation_speed
if(self.attr('data-modaal-animation-speed')){inline_options=true;options.animation_speed=self.attr('data-modaal-animation-speed');}// option: after_callback_delay
if(self.attr('data-modaal-after-callback-delay')){inline_options=true;options.after_callback_delay=self.attr('data-modaal-after-callback-delay');}// option: after_callback_delay
if(self.attr('data-modaal-is-locked')){inline_options=true;options.is_locked=self.attr('data-modaal-is-locked')==='true'?true:false;}// option: hide_close
if(self.attr('data-modaal-hide-close')){inline_options=true;options.hide_close=self.attr('data-modaal-hide-close')==='true'?true:false;}// option: background
if(self.attr('data-modaal-background')){inline_options=true;options.background=self.attr('data-modaal-background');}// option: overlay_opacity
if(self.attr('data-modaal-overlay-opacity')){inline_options=true;options.overlay_opacity=self.attr('data-modaal-overlay-opacity');}// option: overlay_close
if(self.attr('data-modaal-overlay-close')){inline_options=true;options.overlay_close=self.attr('data-modaal-overlay-close')==='false'?false:true;}// option: accessible_title
if(self.attr('data-modaal-accessible-title')){inline_options=true;options.accessible_title=self.attr('data-modaal-accessible-title');}// option: start_open
if(self.attr('data-modaal-start-open')){inline_options=true;options.start_open=self.attr('data-modaal-start-open')==='true'?true:false;}// option: fullscreen
if(self.attr('data-modaal-fullscreen')){inline_options=true;options.fullscreen=self.attr('data-modaal-fullscreen')==='true'?true:false;}// option: custom_class
if(self.attr('data-modaal-custom-class')){inline_options=true;options.custom_class=self.attr('data-modaal-custom-class');}// option: close_text
if(self.attr('data-modaal-close-text')){inline_options=true;options.close_text=self.attr('data-modaal-close-text');}// option: close_aria_label
if(self.attr('data-modaal-close-aria-label')){inline_options=true;options.close_aria_label=self.attr('data-modaal-close-aria-label');}// option: background_scroll
if(self.attr('data-modaal-background-scroll')){inline_options=true;options.background_scroll=self.attr('data-modaal-background-scroll')==='true'?true:false;}// option: width
if(self.attr('data-modaal-width')){inline_options=true;options.width=parseInt(self.attr('data-modaal-width'));}// option: height
if(self.attr('data-modaal-height')){inline_options=true;options.height=parseInt(self.attr('data-modaal-height'));}// option: confirm_button_text
if(self.attr('data-modaal-confirm-button-text')){inline_options=true;options.confirm_button_text=self.attr('data-modaal-confirm-button-text');}// option: confirm_cancel_button_text
if(self.attr('data-modaal-confirm-cancel-button-text')){inline_options=true;options.confirm_cancel_button_text=self.attr('data-modaal-confirm-cancel-button-text');}// option: confirm_title
if(self.attr('data-modaal-confirm-title')){inline_options=true;options.confirm_title=self.attr('data-modaal-confirm-title');}// option: confirm_content
if(self.attr('data-modaal-confirm-content')){inline_options=true;options.confirm_content=self.attr('data-modaal-confirm-content');}// option: gallery_active_class
if(self.attr('data-modaal-gallery-active-class')){inline_options=true;options.gallery_active_class=self.attr('data-modaal-gallery-active-class');}// option: loading_content
if(self.attr('data-modaal-loading-content')){inline_options=true;options.loading_content=self.attr('data-modaal-loading-content');}// option: loading_class
if(self.attr('data-modaal-loading-class')){inline_options=true;options.loading_class=self.attr('data-modaal-loading-class');}// option: ajax_error_class
if(self.attr('data-modaal-ajax-error-class')){inline_options=true;options.ajax_error_class=self.attr('data-modaal-ajax-error-class');}// option: start_open
if(self.attr('data-modaal-instagram-id')){inline_options=true;options.instagram_id=self.attr('data-modaal-instagram-id');}// now set it up for the trigger, but only if inline_options is true
if(inline_options){self.modaal(options);}});}});})(jQuery,window,document);;'use strict';var _typeof=typeof Symbol==="function"&&_typeof2(Symbol.iterator)==="symbol"?function(obj){return _typeof2(obj);}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":_typeof2(obj);};/*!
 * jQuery.scrollTo
 * Copyright (c) 2007-2015 Ariel Flesler - aflesler<a>gmail<d>com | http://flesler.blogspot.com
 * Licensed under MIT
 * http://flesler.blogspot.com/2007/10/jqueryscrollto.html
 * @projectDescription Lightweight, cross-browser and highly customizable animated scrolling with jQuery
 * @author Ariel Flesler
 * @version 2.1.2
 */;(function(factory){'use strict';if(typeof define==='function'&&define.amd){// AMD
define(['jquery'],factory);}else if(typeof module!=='undefined'&&module.exports){// CommonJS
module.exports=factory(require('jquery'));}else{// Global
factory(jQuery);}})(function($){'use strict';var $scrollTo=$.scrollTo=function(target,duration,settings){return $(window).scrollTo(target,duration,settings);};$scrollTo.defaults={axis:'xy',duration:0,limit:true};function isWin(elem){return!elem.nodeName||$.inArray(elem.nodeName.toLowerCase(),['iframe','#document','html','body'])!==-1;}$.fn.scrollTo=function(target,duration,settings){if((typeof duration==='undefined'?'undefined':_typeof(duration))==='object'){settings=duration;duration=0;}if(typeof settings==='function'){settings={onAfter:settings};}if(target==='max'){target=9e9;}settings=$.extend({},$scrollTo.defaults,settings);// Speed is still recognized for backwards compatibility
duration=duration||settings.duration;// Make sure the settings are given right
var queue=settings.queue&&settings.axis.length>1;if(queue){// Let's keep the overall duration
duration/=2;}settings.offset=both(settings.offset);settings.over=both(settings.over);return this.each(function(){// Null target yields nothing, just like jQuery does
if(target===null)return;var win=isWin(this),elem=win?this.contentWindow||window:this,$elem=$(elem),targ=target,attr={},toff;switch(typeof targ==='undefined'?'undefined':_typeof(targ)){// A number will pass the regex
case'number':case'string':if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(targ)){targ=both(targ);// We are done
break;}// Relative/Absolute selector
targ=win?$(targ):$(targ,elem);/* falls through */case'object':if(targ.length===0)return;// DOMElement / jQuery
if(targ.is||targ.style){// Get the real position of the target
toff=(targ=$(targ)).offset();}}var offset=$.isFunction(settings.offset)&&settings.offset(elem,targ)||settings.offset;$.each(settings.axis.split(''),function(i,axis){var Pos=axis==='x'?'Left':'Top',pos=Pos.toLowerCase(),key='scroll'+Pos,prev=$elem[key](),max=$scrollTo.max(elem,axis);if(toff){// jQuery / DOMElement
attr[key]=toff[pos]+(win?0:prev-$elem.offset()[pos]);// If it's a dom element, reduce the margin
if(settings.margin){attr[key]-=parseInt(targ.css('margin'+Pos),10)||0;attr[key]-=parseInt(targ.css('border'+Pos+'Width'),10)||0;}attr[key]+=offset[pos]||0;if(settings.over[pos]){// Scroll to a fraction of its width/height
attr[key]+=targ[axis==='x'?'width':'height']()*settings.over[pos];}}else{var val=targ[pos];// Handle percentage values
attr[key]=val.slice&&val.slice(-1)==='%'?parseFloat(val)/100*max:val;}// Number or 'number'
if(settings.limit&&/^\d+$/.test(attr[key])){// Check the limits
attr[key]=attr[key]<=0?0:Math.min(attr[key],max);}// Don't waste time animating, if there's no need.
if(!i&&settings.axis.length>1){if(prev===attr[key]){// No animation needed
attr={};}else if(queue){// Intermediate animation
animate(settings.onAfterFirst);// Don't animate this axis again in the next iteration.
attr={};}}});animate(settings.onAfter);function animate(callback){var opts=$.extend({},settings,{// The queue setting conflicts with animate()
// Force it to always be true
queue:true,duration:duration,complete:callback&&function(){callback.call(elem,targ,settings);}});$elem.animate(attr,opts);}});};// Max scrolling position, works on quirks mode
// It only fails (not too badly) on IE, quirks mode.
$scrollTo.max=function(elem,axis){var Dim=axis==='x'?'Width':'Height',scroll='scroll'+Dim;if(!isWin(elem))return elem[scroll]-$(elem)[Dim.toLowerCase()]();var size='client'+Dim,doc=elem.ownerDocument||elem.document,html=doc.documentElement,body=doc.body;return Math.max(html[scroll],body[scroll])-Math.min(html[size],body[size]);};function both(val){return $.isFunction(val)||$.isPlainObject(val)?val:{top:val,left:val};}// Add special hooks so that window scroll properties can be animated
$.Tween.propHooks.scrollLeft=$.Tween.propHooks.scrollTop={get:function get(t){return $(t.elem)[t.prop]();},set:function set(t){var curr=this.get(t);// If interrupt is true and user scrolled, stop animating
if(t.options.interrupt&&t._last&&t._last!==curr){return $(t.elem).stop();}var next=Math.round(t.now);// Don't waste CPU
// Browsers don't render floating point scroll
if(curr!==next){$(t.elem)[t.prop](next);t._last=this.get(t);}}};// AMD requirement
return $scrollTo;});;'use strict';/*
 *	jQuery dotdotdot 3.1.0
 *	@requires jQuery 1.7.0 or later
 *
 *	dotdotdot.frebsite.nl
 *
 *	Copyright (c) Fred Heusschen
 *	www.frebsite.nl
 *
 *	License: CC-BY-NC-4.0
 *	http://creativecommons.org/licenses/by-nc/4.0/
 */(function($){'use strict';var _PLUGIN_='dotdotdot';var _VERSION_='3.1.0';if($[_PLUGIN_]&&$[_PLUGIN_].version>_VERSION_){return;}/*
 	The class
 */$[_PLUGIN_]=function($container,opts){this.$dot=$container;this.api=['getInstance','truncate','restore','destroy','watch','unwatch'];this.opts=opts;var oldAPI=this.$dot.data(_PLUGIN_);if(oldAPI){oldAPI.destroy();}this.init();this.truncate();if(this.opts.watch){this.watch();}return this;};$[_PLUGIN_].version=_VERSION_;$[_PLUGIN_].uniqueId=0;$[_PLUGIN_].defaults={ellipsis:"\u2026 ",callback:function callback(isTruncated){},truncate:'word',tolerance:0,keep:null,watch:'window',height:null};$[_PLUGIN_].prototype={init:function init(){this.watchTimeout=null;this.watchInterval=null;this.uniqueId=$[_PLUGIN_].uniqueId++;this.originalContent=this.$dot.contents();this.originalStyle=this.$dot.attr('style')||'';if(this.$dot.css('word-wrap')!=='break-word'){this.$dot.css('word-wrap','break-word');}if(this.$dot.css('white-space')==='nowrap'){this.$dot.css('white-space','normal');}if(this.opts.height===null){this.opts.height=this._getMaxHeight();}},getInstance:function getInstance(){return this;},truncate:function truncate(){var that=this;//	Add inner node for measuring the height
this.$inner=this.$dot.wrapInner('<div />').children().css({'display':'block','height':'auto','width':'auto','border':'none','padding':0,'margin':0});//	Set original content
this.$inner.contents().detach().end().append(this.originalContent.clone(true));//	Add "keep" class to nodes to keep
this.$inner.find('script, style').addClass(_c.keep);if(this.opts.keep){this.$inner.find(this.opts.keep).addClass(_c.keep);}//	Filter contents
this.$inner.find('*').not('.'+_c.keep).add(this.$inner).contents().each(function(){var e=this,$e=$(this);//	Text nodes
if(e.nodeType==3){//	Remove whitespace where it does not take up space in the DOM
if($e.parent().is('table, thead, tfoot, tr, dl, ul, ol, video')){$e.remove();return;}//	Wrap text in a node (during truncation)
if($e.parent().contents().length>1){var $d=$('<span class="'+_c.text+'">'+that.__getTextContent(e)+'</span>').css({'display':'inline','height':'auto','width':'auto','border':'none','padding':0,'margin':0});$e.replaceWith($d);}}//	Comment nodes
else if(e.nodeType==8){$e.remove();}});this.maxHeight=this._getMaxHeight();//	Truncate the text
var isTruncated=this._truncateNode(this.$dot);this.$dot[isTruncated?'addClass':'removeClass'](_c.truncated);//	Unwrap text from the temporarely node
this.$inner.find('.'+_c.text).each(function(){$(this).replaceWith($(this).contents());});//	Remove "keep" class
this.$inner.find('.'+_c.keep).removeClass(_c.keep);//	Remove inner node
this.$inner.replaceWith(this.$inner.contents());this.$inner=null;this.opts.callback.call(this.$dot[0],isTruncated);return isTruncated;},restore:function restore(){this.unwatch();this.$dot.contents().detach().end().append(this.originalContent).attr('style',this.originalStyle).removeClass(_c.truncated);},destroy:function destroy(){this.restore();this.$dot.data(_PLUGIN_,null);},watch:function watch(){var that=this;this.unwatch();var oldSizes={};if(this.opts.watch=='window'){$wndw.on(_e.resize+that.uniqueId,function(e){if(that.watchTimeout){clearTimeout(that.watchTimeout);}that.watchTimeout=setTimeout(function(){oldSizes=that._watchSizes(oldSizes,$wndw,'width','height');},100);});}else{this.watchInterval=setInterval(function(){oldSizes=that._watchSizes(oldSizes,that.$dot,'innerWidth','innerHeight');},500);}},unwatch:function unwatch(){$wndw.off(_e.resize+this.uniqueId);if(this.watchInterval){clearInterval(this.watchInterval);}if(this.watchTimeout){clearTimeout(this.watchTimeout);}},_api:function _api(){var that=this,api={};$.each(this.api,function(i){var fn=this;api[fn]=function(){var re=that[fn].apply(that,arguments);return typeof re=='undefined'?api:re;};});return api;},_truncateNode:function _truncateNode($elem){var that=this;var isTruncated=false;var forceEllipsis=false;$($elem.children().get().reverse()).not('.'+_c.keep).each(function(){var e=$(this).contents()[0],$e=$(this);if(isTruncated){return;}if($e.hasClass(_c.keep)){return;}if($e.children().length){isTruncated=that._truncateNode($e);}else{if(!that._fits()||forceEllipsis){var $x=$('<span>').css('display','none');$e.replaceWith($x);$e.detach();if(that._fits()){if(that.opts.truncate=='node'){return true;}$x.replaceWith($e);isTruncated=that._truncateWord($e);if(!isTruncated){forceEllipsis=true;$e.detach();}}else{$x.remove();}}}//	Remove empty nodes
if(!$e.contents().length){$e.remove();}});return isTruncated;},_truncateWord:function _truncateWord($e){var e=$e.contents()[0];if(!e){return false;}var that=this;var txt=this.__getTextContent(e),sep=txt.indexOf(' ')!==-1?' ':"\u3000",arr=txt.split(sep),str='';for(var a=arr.length;a>=0;a--){str=arr.slice(0,a).join(sep);//	If even the first child didn't make it
if(a==0){if(that.opts.truncate=='letter'){that.__setTextContent(e,arr.slice(0,a+1).join(sep));return that._truncateLetter(e);}return false;}if(!str.length){continue;}that.__setTextContent(e,that._addEllipsis(str));if(that._fits()){if(that.opts.truncate=='letter'){that.__setTextContent(e,arr.slice(0,a+1).join(sep));return that._truncateLetter(e);}return true;}}return false;},_truncateLetter:function _truncateLetter(e){var that=this;var txt=this.__getTextContent(e),arr=txt.split(''),str='';for(var a=arr.length;a>=0;a--){str=arr.slice(0,a).join('');if(!str.length){continue;}that.__setTextContent(e,that._addEllipsis(str));if(that._fits()){return true;}}return false;},_fits:function _fits(){return this.$inner.innerHeight()<=this.maxHeight+this.opts.tolerance;},_addEllipsis:function _addEllipsis(txt){var remove=[' ',"\u3000",',',';','.','!','?'];while($.inArray(txt.slice(-1),remove)>-1){txt=txt.slice(0,-1);}txt+=this.opts.ellipsis;return txt;},_getMaxHeight:function _getMaxHeight(){if(typeof this.opts.height=='number'){return this.opts.height;}//	Find smallest CSS height
var arr=['maxHeight','height'],hgh=0;for(var a=0;a<arr.length;a++){hgh=window.getComputedStyle(this.$dot[0])[arr[a]];if(hgh.slice(-2)=='px'){hgh=parseFloat(hgh);break;}}//	Remove padding-top/bottom when needed.
var arr=[];switch(this.$dot.css('boxSizing')){case'border-box':arr.push('borderTopWidth');arr.push('borderBottomWidth');//	no break -> padding needs to be added too
case'padding-box':arr.push('paddingTop');arr.push('paddingBottom');break;}for(var a=0;a<arr.length;a++){var p=window.getComputedStyle(this.$dot[0])[arr[a]];if(p.slice(-2)=='px'){hgh-=parseFloat(p);}}//	Sanitize
return Math.max(hgh,0);},_watchSizes:function _watchSizes(oldSizes,$elem,width,height){if(this.$dot.is(':visible')){var newSizes={'width':$elem[width](),'height':$elem[height]()};if(oldSizes.width!=newSizes.width||oldSizes.height!=newSizes.height){this.truncate();}return newSizes;}return oldSizes;},__getTextContent:function __getTextContent(elem){var arr=['nodeValue','textContent','innerText'];for(var a=0;a<arr.length;a++){if(typeof elem[arr[a]]=='string'){return elem[arr[a]];}}return'';},__setTextContent:function __setTextContent(elem,content){var arr=['nodeValue','textContent','innerText'];for(var a=0;a<arr.length;a++){elem[arr[a]]=content;}}};/*
 	The jQuery plugin
 */$.fn[_PLUGIN_]=function(opts){initPlugin();opts=$.extend(true,{},$[_PLUGIN_].defaults,opts);return this.each(function(){$(this).data(_PLUGIN_,new $[_PLUGIN_]($(this),opts)._api());});};/*
 	Global variables
 */var _c,_d,_e,$wndw;function initPlugin(){$wndw=$(window);//	Classnames, Datanames, Eventnames
_c={};_d={};_e={};$.each([_c,_d,_e],function(i,o){o.add=function(a){a=a.split(' ');for(var b=0,l=a.length;b<l;b++){o[a[b]]=o.ddd(a[b]);}};});//	Classnames
_c.ddd=function(c){return'ddd-'+c;};_c.add('truncated keep text');//	Datanames
_d.ddd=function(d){return'ddd-'+d;};_d.add('text');//	Eventnames
_e.ddd=function(e){return e+'.ddd';};_e.add('resize');//	Only once
initPlugin=function initPlugin(){};}})(jQuery);;"use strict";/*! jQuery UI - v1.12.1 - 2017-04-27
* http://jqueryui.com
* Includes: widget.js, position.js, keycode.js, unique-id.js, widgets/autocomplete.js, widgets/menu.js
* Copyright jQuery Foundation and other contributors; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery);})(function(t){t.ui=t.ui||{},t.ui.version="1.12.1";var e=0,i=Array.prototype.slice;t.cleanData=function(e){return function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++){try{s=t._data(n,"events"),s&&s.remove&&t(n).triggerHandler("remove");}catch(a){}}e(i);};}(t.cleanData),t.widget=function(e,i,s){var n,o,a,r={},l=e.split(".")[0];e=e.split(".")[1];var h=l+"-"+e;return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][h.toLowerCase()]=function(e){return!!t.data(e,h);},t[l]=t[l]||{},n=t[l][e],o=t[l][e]=function(t,e){return this._createWidget?(arguments.length&&this._createWidget(t,e),void 0):new o(t,e);},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),a=new i(),a.options=t.widget.extend({},a.options),t.each(s,function(e,s){return t.isFunction(s)?(r[e]=function(){function t(){return i.prototype[e].apply(this,arguments);}function n(t){return i.prototype[e].apply(this,t);}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e;};}(),void 0):(r[e]=s,void 0);}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n?a.widgetEventPrefix||e:e},r,{constructor:o,namespace:l,widgetName:e,widgetFullName:h}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto);}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o;},t.widget.extend=function(e){for(var s,n,o=i.call(arguments,1),a=0,r=o.length;r>a;a++){for(s in o[a]){n=o[a][s],o[a].hasOwnProperty(s)&&void 0!==n&&(e[s]=t.isPlainObject(n)?t.isPlainObject(e[s])?t.widget.extend({},e[s],n):t.widget.extend({},n):n);}}return e;},t.widget.bridge=function(e,s){var n=s.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=i.call(arguments,1),l=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(l=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(l=i&&i.jquery?l.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'");}):l=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new s(o,this));})),l;};},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function _createWidget(i,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=e++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function remove(t){t.target===s&&this.destroy();}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),i),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init();},_getCreateOptions:function _getCreateOptions(){return{};},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function destroy(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t);}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace);},_destroy:t.noop,widget:function widget(){return this.element;},option:function option(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++){n[s[o]]=n[s[o]]||{},n=n[s[o]];}if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i;}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i;}return this._setOptions(a),this;},_setOptions:function _setOptions(t){var e;for(e in t){this._setOption(e,t[e]);}return this;},_setOption:function _setOption(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this;},_setOptionClasses:function _setOptionClasses(e){var i,s,n;for(i in e){n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})));}},_setOptionDisabled:function _setOptionDisabled(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"));},enable:function enable(){return this._setOptions({disabled:!1});},disable:function disable(){return this._setOptions({disabled:!0});},_classes:function _classes(e){function i(i,o){var a,r;for(r=0;i.length>r;r++){a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]]);}}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ");},_untrackClassesElement:function _untrackClassesElement(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()));});},_removeClass:function _removeClass(t,e,i){return this._toggleClass(t,e,i,!1);},_addClass:function _addClass(t,e,i){return this._toggleClass(t,e,i,!0);},_toggleClass:function _toggleClass(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this;},_on:function _on(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0;}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var l=s.match(/^([\w:-]*)\s*(.*)$/),h=l[1]+o.eventNamespace,c=l[2];c?n.on(h,c,r):i.on(h,r);});},_off:function _off(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get());},_delay:function _delay(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments);}var s=this;return setTimeout(i,e||0);},_hoverable:function _hoverable(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function mouseenter(e){this._addClass(t(e.currentTarget),null,"ui-state-hover");},mouseleave:function mouseleave(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover");}});},_focusable:function _focusable(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function focusin(e){this._addClass(t(e.currentTarget),null,"ui-state-focus");},focusout:function focusout(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus");}});},_trigger:function _trigger(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o){n in i||(i[n]=o[n]);}return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented());}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i();});};}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)];}function i(e,i){return parseInt(t.css(e,i),10)||0;}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()};}var n,o=Math.max,a=Math.abs,r=/left|center|right/,l=/top|center|bottom/,h=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function scrollbarWidth(){if(void 0!==n)return n;var e,i,s=t("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i;},getScrollInfo:function getScrollInfo(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width<e.element[0].scrollWidth,o="scroll"===s||"auto"===s&&e.height<e.element[0].scrollHeight;return{width:o?t.position.scrollbarWidth():0,height:n?t.position.scrollbarWidth():0};},getWithinInfo:function getWithinInfo(e){var i=t(e||window),s=t.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType,o=!s&&!n;return{element:i,isWindow:s,isDocument:n,offset:o?t(e).offset():{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:i.outerWidth(),height:i.outerHeight()};}},t.fn.position=function(n){if(!n||!n.of)return d.apply(this,arguments);n=t.extend({},n);var u,p,f,g,m,_,v=t(n.of),b=t.position.getWithinInfo(n.within),y=t.position.getScrollInfo(b),w=(n.collision||"flip").split(" "),k={};return _=s(v),v[0].preventDefault&&(n.at="left top"),p=_.width,f=_.height,g=_.offset,m=t.extend({},g),t.each(["my","at"],function(){var t,e,i=(n[this]||"").split(" ");1===i.length&&(i=r.test(i[0])?i.concat(["center"]):l.test(i[0])?["center"].concat(i):["center","center"]),i[0]=r.test(i[0])?i[0]:"center",i[1]=l.test(i[1])?i[1]:"center",t=h.exec(i[0]),e=h.exec(i[1]),k[this]=[t?t[0]:0,e?e[0]:0],n[this]=[c.exec(i[0])[0],c.exec(i[1])[0]];}),1===w.length&&(w[1]=w[0]),"right"===n.at[0]?m.left+=p:"center"===n.at[0]&&(m.left+=p/2),"bottom"===n.at[1]?m.top+=f:"center"===n.at[1]&&(m.top+=f/2),u=e(k.at,p,f),m.left+=u[0],m.top+=u[1],this.each(function(){var s,r,l=t(this),h=l.outerWidth(),c=l.outerHeight(),d=i(this,"marginLeft"),_=i(this,"marginTop"),x=h+d+i(this,"marginRight")+y.width,C=c+_+i(this,"marginBottom")+y.height,D=t.extend({},m),T=e(k.my,l.outerWidth(),l.outerHeight());"right"===n.my[0]?D.left-=h:"center"===n.my[0]&&(D.left-=h/2),"bottom"===n.my[1]?D.top-=c:"center"===n.my[1]&&(D.top-=c/2),D.left+=T[0],D.top+=T[1],s={marginLeft:d,marginTop:_},t.each(["left","top"],function(e,i){t.ui.position[w[e]]&&t.ui.position[w[e]][i](D,{targetWidth:p,targetHeight:f,elemWidth:h,elemHeight:c,collisionPosition:s,collisionWidth:x,collisionHeight:C,offset:[u[0]+T[0],u[1]+T[1]],my:n.my,at:n.at,within:b,elem:l});}),n.using&&(r=function r(t){var e=g.left-D.left,i=e+p-h,s=g.top-D.top,r=s+f-c,u={target:{element:v,left:g.left,top:g.top,width:p,height:f},element:{element:l,left:D.left,top:D.top,width:h,height:c},horizontal:0>i?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};h>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u);}),l.offset(t.extend(D,{using:r}));});},t.ui.position={fit:{left:function left(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,l=n-r,h=r+e.collisionWidth-a-n;e.collisionWidth>a?l>0&&0>=h?(i=t.left+l+e.collisionWidth-a-n,t.left+=l-i):t.left=h>0&&0>=l?n:l>h?n+a-e.collisionWidth:n:l>0?t.left+=l:h>0?t.left-=h:t.left=o(t.left-r,t.left);},top:function top(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,l=n-r,h=r+e.collisionHeight-a-n;e.collisionHeight>a?l>0&&0>=h?(i=t.top+l+e.collisionHeight-a-n,t.top+=l-i):t.top=h>0&&0>=l?n:l>h?n+a-e.collisionHeight:n:l>0?t.top+=l:h>0?t.top-=h:t.top=o(t.top-r,t.top);}},flip:{left:function left(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,l=n.isWindow?n.scrollLeft:n.offset.left,h=t.left-e.collisionPosition.marginLeft,c=h-l,u=h+e.collisionWidth-r-l,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-l,(s>0||u>a(s))&&(t.left+=d+p+f));},top:function top(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,l=n.isWindow?n.scrollTop:n.offset.top,h=t.top-e.collisionPosition.marginTop,c=h-l,u=h+e.collisionHeight-r-l,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,g=-2*e.offset[1];0>c?(s=t.top+p+f+g+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+g)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+g-l,(i>0||u>a(i))&&(t.top+=p+f+g));}},flipfit:{left:function left(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments);},top:function top(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments);}}};}(),t.ui.position,t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t);});};}(),removeUniqueId:function removeUniqueId(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id");});}}),t.ui.safeActiveElement=function(t){var e;try{e=t.activeElement;}catch(i){e=t.body;}return e||(e=t.body),e.nodeName||(e=t.body),e;},t.widget("ui.menu",{version:"1.12.1",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function _create(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function mousedownUiMenuItem(t){t.preventDefault();},"click .ui-menu-item":function clickUiMenuItem(e){var i=t(e.target),s=t(t.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&s.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)));},"mouseenter .ui-menu-item":function mouseenterUiMenuItem(e){if(!this.previousFilter){var i=t(e.target).closest(".ui-menu-item"),s=t(e.currentTarget);i[0]===s[0]&&(this._removeClass(s.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(e,s));}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function focus(t,e){var i=this.active||this.element.find(this.options.items).eq(0);e||this.focus(t,i);},blur:function blur(e){this._delay(function(){var i=!t.contains(this.element[0],t.ui.safeActiveElement(this.document[0]));i&&this.collapseAll(e);});},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function click(t){this._closeOnDocumentClick(t)&&this.collapseAll(t),this.mouseHandled=!1;}});},_destroy:function _destroy(){var e=this.element.find(".ui-menu-item").removeAttr("role aria-disabled"),i=e.children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),i.children().each(function(){var e=t(this);e.data("ui-menu-submenu-caret")&&e.remove();});},_keydown:function _keydown(e){var i,s,n,o,a=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:a=!1,s=this.previousFilter||"",o=!1,n=e.keyCode>=96&&105>=e.keyCode?""+(e.keyCode-96):String.fromCharCode(e.keyCode),clearTimeout(this.filterTimer),n===s?o=!0:n=s+n,i=this._filterMenuItems(n),i=o&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i,i.length||(n=String.fromCharCode(e.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(e,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter;},1e3)):delete this.previousFilter;}a&&e.preventDefault();},_activate:function _activate(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t));},refresh:function refresh(){var e,i,s,n,o,a=this,r=this.options.icons.submenu,l=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),s=l.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),i=e.prev(),s=t("<span>").data("ui-menu-submenu-caret",!0);a._addClass(s,"ui-menu-icon","ui-icon "+r),i.attr("aria-haspopup","true").prepend(s),e.attr("aria-labelledby",i.attr("id"));}),this._addClass(s,"ui-menu","ui-widget ui-widget-content ui-front"),e=l.add(this.element),i=e.find(this.options.items),i.not(".ui-menu-item").each(function(){var e=t(this);a._isDivider(e)&&a._addClass(e,"ui-menu-divider","ui-widget-content");}),n=i.not(".ui-menu-item, .ui-menu-divider"),o=n.children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(n,"ui-menu-item")._addClass(o,"ui-menu-item-wrapper"),i.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur();},_itemRole:function _itemRole(){return{menu:"menuitem",listbox:"option"}[this.options.role];},_setOption:function _setOption(t,e){if("icons"===t){var i=this.element.find(".ui-menu-icon");this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu);}this._super(t,e);},_setOptionDisabled:function _setOptionDisabled(t){this._super(t),this.element.attr("aria-disabled",t+""),this._toggleClass(null,"ui-state-disabled",!!t);},focus:function focus(t,e){var i,s,n;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children(".ui-menu-item-wrapper"),this._addClass(s,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),n=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(n,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close();},this.delay),i=e.children(".ui-menu"),i.length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e});},_scrollIntoView:function _scrollIntoView(e){var i,s,n,o,a,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,o=this.activeMenu.scrollTop(),a=this.activeMenu.height(),r=e.outerHeight(),0>n?this.activeMenu.scrollTop(o+n):n+r>a&&this.activeMenu.scrollTop(o+n-a+r));},blur:function blur(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null);},_startOpening:function _startOpening(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t);},this.delay));},_open:function _open(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i);},collapseAll:function collapseAll(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this._removeClass(s.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=s;},this.delay);},_close:function _close(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false");},_closeOnDocumentClick:function _closeOnDocumentClick(e){return!t(e.target).closest(".ui-menu").length;},_isDivider:function _isDivider(t){return!/[^\-\u2014\u2013\s]/.test(t.text());},collapse:function collapse(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e));},expand:function expand(t){var e=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e);}));},next:function next(t){this._move("next","first",t);},previous:function previous(t){this._move("prev","last",t);},isFirstItem:function isFirstItem(){return this.active&&!this.active.prevAll(".ui-menu-item").length;},isLastItem:function isLastItem(){return this.active&&!this.active.nextAll(".ui-menu-item").length;},_move:function _move(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[e]()),this.focus(i,s);},nextPage:function nextPage(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n;}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())),void 0):(this.next(e),void 0);},previousPage:function previousPage(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0;}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items).first())),void 0):(this.next(e),void 0);},_hasScroll:function _hasScroll(){return this.element.outerHeight()<this.element.prop("scrollHeight");},select:function select(e){this.active=this.active||t(e.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(e,!0),this._trigger("select",e,i);},_filterMenuItems:function _filterMenuItems(e){var i=e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),s=RegExp("^"+i,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function(){return s.test(t.trim(t(this).children(".ui-menu-item-wrapper").text()));});}}),t.widget("ui.autocomplete",{version:"1.12.1",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function _create(){var e,i,s,n=this.element[0].nodeName.toLowerCase(),o="textarea"===n,a="input"===n;this.isMultiLine=o||!a&&this._isContentEditable(this.element),this.valueMethod=this.element[o||a?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function keydown(n){if(this.element.prop("readOnly"))return e=!0,s=!0,i=!0,void 0;e=!1,s=!1,i=!1;var o=t.ui.keyCode;switch(n.keyCode){case o.PAGE_UP:e=!0,this._move("previousPage",n);break;case o.PAGE_DOWN:e=!0,this._move("nextPage",n);break;case o.UP:e=!0,this._keyEvent("previous",n);break;case o.DOWN:e=!0,this._keyEvent("next",n);break;case o.ENTER:this.menu.active&&(e=!0,n.preventDefault(),this.menu.select(n));break;case o.TAB:this.menu.active&&this.menu.select(n);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n);}},keypress:function keypress(s){if(e)return e=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),void 0;if(!i){var n=t.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s);}}},input:function input(t){return s?(s=!1,t.preventDefault(),void 0):(this._searchTimeout(t),void 0);},focus:function focus(){this.selectedItem=null,this.previous=this._value();},blur:function blur(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(clearTimeout(this.searching),this.close(t),this._change(t),void 0);}}),this._initSource(),this.menu=t("<ul>").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function mousedown(e){e.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,this.element[0]!==t.ui.safeActiveElement(this.document[0])&&this.element.trigger("focus");});},menufocus:function menufocus(e,i){var s,n;return this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type))?(this.menu.blur(),this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent);}),void 0):(n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",e,{item:n})&&e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(n.value),s=i.item.attr("aria-label")||n.value,s&&t.trim(s).length&&(this.liveRegion.children().hide(),t("<div>").text(s).appendTo(this.liveRegion)),void 0);},menuselect:function menuselect(e,i){var s=i.item.data("ui-autocomplete-item"),n=this.previous;this.element[0]!==t.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=n,this._delay(function(){this.previous=n,this.selectedItem=s;})),!1!==this._trigger("select",e,{item:s})&&this._value(s.value),this.term=this._value(),this.close(e),this.selectedItem=s;}}),this.liveRegion=t("<div>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function beforeunload(){this.element.removeAttr("autocomplete");}});},_destroy:function _destroy(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove();},_setOption:function _setOption(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort();},_isEventTargetInWidget:function _isEventTargetInWidget(e){var i=this.menu.element[0];return e.target===this.element[0]||e.target===i||t.contains(i,e.target);},_closeOnClickOutside:function _closeOnClickOutside(t){this._isEventTargetInWidget(t)||this.close();},_appendTo:function _appendTo(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e;},_initSource:function _initSource(){var e,i,s=this;t.isArray(this.options.source)?(e=this.options.source,this.source=function(i,s){s(t.ui.autocomplete.filter(e,i.term));}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,n){s.xhr&&s.xhr.abort(),s.xhr=t.ajax({url:i,data:e,dataType:"json",success:function success(t){n(t);},error:function error(){n([]);}});}):this.source=this.options.source;},_searchTimeout:function _searchTimeout(t){clearTimeout(this.searching),this.searching=this._delay(function(){var e=this.term===this._value(),i=this.menu.element.is(":visible"),s=t.altKey||t.ctrlKey||t.metaKey||t.shiftKey;(!e||e&&!i&&!s)&&(this.selectedItem=null,this.search(null,t));},this.options.delay);},search:function search(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length<this.options.minLength?this.close(e):this._trigger("search",e)!==!1?this._search(t):void 0;},_search:function _search(t){this.pending++,this._addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:t},this._response());},_response:function _response(){var e=++this.requestIndex;return t.proxy(function(t){e===this.requestIndex&&this.__response(t),this.pending--,this.pending||this._removeClass("ui-autocomplete-loading");},this);},__response:function __response(t){t&&(t=this._normalize(t)),this._trigger("response",null,{content:t}),!this.options.disabled&&t&&t.length&&!this.cancelSearch?(this._suggest(t),this._trigger("open")):this._close();},close:function close(t){this.cancelSearch=!0,this._close(t);},_close:function _close(t){this._off(this.document,"mousedown"),this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",t));},_change:function _change(t){this.previous!==this._value()&&this._trigger("change",t,{item:this.selectedItem});},_normalize:function _normalize(e){return e.length&&e[0].label&&e[0].value?e:t.map(e,function(e){return"string"==typeof e?{label:e,value:e}:t.extend({},e,{label:e.label||e.value,value:e.value||e.label});});},_suggest:function _suggest(e){var i=this.menu.element.empty();this._renderMenu(i,e),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(t.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(),this._on(this.document,{mousedown:"_closeOnClickOutside"});},_resizeMenu:function _resizeMenu(){var t=this.menu.element;t.outerWidth(Math.max(t.width("").outerWidth()+1,this.element.outerWidth()));},_renderMenu:function _renderMenu(e,i){var s=this;t.each(i,function(t,i){s._renderItemData(e,i);});},_renderItemData:function _renderItemData(t,e){return this._renderItem(t,e).data("ui-autocomplete-item",e);},_renderItem:function _renderItem(e,i){return t("<li>").append(t("<div>").text(i.label)).appendTo(e);},_move:function _move(t,e){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),this.menu.blur(),void 0):(this.menu[t](e),void 0):(this.search(null,e),void 0);},widget:function widget(){return this.menu.element;},_value:function _value(){return this.valueMethod.apply(this.element,arguments);},_keyEvent:function _keyEvent(t,e){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(t,e),e.preventDefault());},_isContentEditable:function _isContentEditable(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e;}}),t.extend(t.ui.autocomplete,{escapeRegex:function escapeRegex(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&");},filter:function filter(e,i){var s=RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return s.test(t.label||t.value||t);});}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function results(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate.";}}},__response:function __response(e){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.children().hide(),t("<div>").text(i).appendTo(this.liveRegion));}}),t.ui.autocomplete;});;/*! modernizr 3.5.0 (Custom Build) | MIT *
 * https://modernizr.com/download/?-input-setclasses !*/!function(e,n,t){function s(e,n){return _typeof2(e)===n;}function a(){var e,n,t,a,o,i,f;for(var c in r){if(r.hasOwnProperty(c)){if(e=[],n=r[c],n.name&&(e.push(n.name.toLowerCase()),n.options&&n.options.aliases&&n.options.aliases.length))for(t=0;t<n.options.aliases.length;t++){e.push(n.options.aliases[t].toLowerCase());}for(a=s(n.fn,"function")?n.fn():n.fn,o=0;o<e.length;o++){i=e[o],f=i.split("."),1===f.length?Modernizr[f[0]]=a:(!Modernizr[f[0]]||_instanceof(Modernizr[f[0]],Boolean)||(Modernizr[f[0]]=new Boolean(Modernizr[f[0]])),Modernizr[f[0]][f[1]]=a),l.push((a?"":"no-")+f.join("-"));}}}}function o(e){var n=c.className,t=Modernizr._config.classPrefix||"";if(u&&(n=n.baseVal),Modernizr._config.enableJSClass){var s=new RegExp("(^|\\s)"+t+"no-js(\\s|$)");n=n.replace(s,"$1"+t+"js$2");}Modernizr._config.enableClasses&&(n+=" "+t+e.join(" "+t),u?c.className.baseVal=n:c.className=n);}function i(){return"function"!=typeof n.createElement?n.createElement(arguments[0]):u?n.createElementNS.call(n,"http://www.w3.org/2000/svg",arguments[0]):n.createElement.apply(n,arguments);}var l=[],r=[],f={_version:"3.5.0",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function on(e,n){var t=this;setTimeout(function(){n(t[e]);},0);},addTest:function addTest(e,n,t){r.push({name:e,fn:n,options:t});},addAsyncTest:function addAsyncTest(e){r.push({name:null,fn:e});}},Modernizr=function Modernizr(){};Modernizr.prototype=f,Modernizr=new Modernizr();var c=n.documentElement,u="svg"===c.nodeName.toLowerCase(),p=i("input"),m="autocomplete autofocus list placeholder max min multiple pattern required step".split(" "),d={};Modernizr.input=function(n){for(var t=0,s=n.length;s>t;t++){d[n[t]]=!!(n[t]in p);}return d.list&&(d.list=!(!i("datalist")||!e.HTMLDataListElement)),d;}(m),a(),o(l),delete f.addTest,delete f.addAsyncTest;for(var g=0;g<Modernizr._q.length;g++){Modernizr._q[g]();}e.Modernizr=Modernizr;}(window,document);;//! moment.js
//! version : 2.18.1
//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
//! license : MIT
//! momentjs.com
!function(a,b){"object"==(typeof exports==="undefined"?"undefined":_typeof2(exports))&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.moment=b();}(this,function(){"use strict";function a(){return sd.apply(null,arguments);}function b(a){sd=a;}function c(a){return _instanceof(a,Array)||"[object Array]"===Object.prototype.toString.call(a);}function d(a){return null!=a&&"[object Object]"===Object.prototype.toString.call(a);}function e(a){var b;for(b in a){return!1;}return!0;}function f(a){return void 0===a;}function g(a){return"number"==typeof a||"[object Number]"===Object.prototype.toString.call(a);}function h(a){return _instanceof(a,Date)||"[object Date]"===Object.prototype.toString.call(a);}function i(a,b){var c,d=[];for(c=0;c<a.length;++c){d.push(b(a[c],c));}return d;}function j(a,b){return Object.prototype.hasOwnProperty.call(a,b);}function k(a,b){for(var c in b){j(b,c)&&(a[c]=b[c]);}return j(b,"toString")&&(a.toString=b.toString),j(b,"valueOf")&&(a.valueOf=b.valueOf),a;}function l(a,b,c,d){return sb(a,b,c,d,!0).utc();}function m(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1};}function n(a){return null==a._pf&&(a._pf=m()),a._pf;}function o(a){if(null==a._isValid){var b=n(a),c=ud.call(b.parsedDateParts,function(a){return null!=a;}),d=!isNaN(a._d.getTime())&&b.overflow<0&&!b.empty&&!b.invalidMonth&&!b.invalidWeekday&&!b.nullInput&&!b.invalidFormat&&!b.userInvalidated&&(!b.meridiem||b.meridiem&&c);if(a._strict&&(d=d&&0===b.charsLeftOver&&0===b.unusedTokens.length&&void 0===b.bigHour),null!=Object.isFrozen&&Object.isFrozen(a))return d;a._isValid=d;}return a._isValid;}function p(a){var b=l(NaN);return null!=a?k(n(b),a):n(b).userInvalidated=!0,b;}function q(a,b){var c,d,e;if(f(b._isAMomentObject)||(a._isAMomentObject=b._isAMomentObject),f(b._i)||(a._i=b._i),f(b._f)||(a._f=b._f),f(b._l)||(a._l=b._l),f(b._strict)||(a._strict=b._strict),f(b._tzm)||(a._tzm=b._tzm),f(b._isUTC)||(a._isUTC=b._isUTC),f(b._offset)||(a._offset=b._offset),f(b._pf)||(a._pf=n(b)),f(b._locale)||(a._locale=b._locale),vd.length>0)for(c=0;c<vd.length;c++){d=vd[c],e=b[d],f(e)||(a[d]=e);}return a;}function r(b){q(this,b),this._d=new Date(null!=b._d?b._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),wd===!1&&(wd=!0,a.updateOffset(this),wd=!1);}function s(a){return _instanceof(a,r)||null!=a&&null!=a._isAMomentObject;}function t(a){return a<0?Math.ceil(a)||0:Math.floor(a);}function u(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=t(b)),c;}function v(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;d<e;d++){(c&&a[d]!==b[d]||!c&&u(a[d])!==u(b[d]))&&g++;}return g+f;}function w(b){a.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+b);}function x(b,c){var d=!0;return k(function(){if(null!=a.deprecationHandler&&a.deprecationHandler(null,b),d){for(var e,f=[],g=0;g<arguments.length;g++){if(e="","object"==_typeof2(arguments[g])){e+="\n["+g+"] ";for(var h in arguments[0]){e+=h+": "+arguments[0][h]+", ";}e=e.slice(0,-2);}else e=arguments[g];f.push(e);}w(b+"\nArguments: "+Array.prototype.slice.call(f).join("")+"\n"+new Error().stack),d=!1;}return c.apply(this,arguments);},c);}function y(b,c){null!=a.deprecationHandler&&a.deprecationHandler(b,c),xd[b]||(w(c),xd[b]=!0);}function z(a){return _instanceof(a,Function)||"[object Function]"===Object.prototype.toString.call(a);}function A(a){var b,c;for(c in a){b=a[c],z(b)?this[c]=b:this["_"+c]=b;}this._config=a,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source);}function B(a,b){var c,e=k({},a);for(c in b){j(b,c)&&(d(a[c])&&d(b[c])?(e[c]={},k(e[c],a[c]),k(e[c],b[c])):null!=b[c]?e[c]=b[c]:delete e[c]);}for(c in a){j(a,c)&&!j(b,c)&&d(a[c])&&(e[c]=k({},e[c]));}return e;}function C(a){null!=a&&this.set(a);}function D(a,b,c){var d=this._calendar[a]||this._calendar.sameElse;return z(d)?d.call(b,c):d;}function E(a){var b=this._longDateFormat[a],c=this._longDateFormat[a.toUpperCase()];return b||!c?b:(this._longDateFormat[a]=c.replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1);}),this._longDateFormat[a]);}function F(){return this._invalidDate;}function G(a){return this._ordinal.replace("%d",a);}function H(a,b,c,d){var e=this._relativeTime[c];return z(e)?e(a,b,c,d):e.replace(/%d/i,a);}function I(a,b){var c=this._relativeTime[a>0?"future":"past"];return z(c)?c(b):c.replace(/%s/i,b);}function J(a,b){var c=a.toLowerCase();Hd[c]=Hd[c+"s"]=Hd[b]=a;}function K(a){return"string"==typeof a?Hd[a]||Hd[a.toLowerCase()]:void 0;}function L(a){var b,c,d={};for(c in a){j(a,c)&&(b=K(c),b&&(d[b]=a[c]));}return d;}function M(a,b){Id[a]=b;}function N(a){var b=[];for(var c in a){b.push({unit:c,priority:Id[c]});}return b.sort(function(a,b){return a.priority-b.priority;}),b;}function O(b,c){return function(d){return null!=d?(Q(this,b,d),a.updateOffset(this,c),this):P(this,b);};}function P(a,b){return a.isValid()?a._d["get"+(a._isUTC?"UTC":"")+b]():NaN;}function Q(a,b,c){a.isValid()&&a._d["set"+(a._isUTC?"UTC":"")+b](c);}function R(a){return a=K(a),z(this[a])?this[a]():this;}function S(a,b){if("object"==_typeof2(a)){a=L(a);for(var c=N(a),d=0;d<c.length;d++){this[c[d].unit](a[c[d].unit]);}}else if(a=K(a),z(this[a]))return this[a](b);return this;}function T(a,b,c){var d=""+Math.abs(a),e=b-d.length,f=a>=0;return(f?c?"+":"":"-")+Math.pow(10,Math.max(0,e)).toString().substr(1)+d;}function U(a,b,c,d){var e=d;"string"==typeof d&&(e=function e(){return this[d]();}),a&&(Md[a]=e),b&&(Md[b[0]]=function(){return T(e.apply(this,arguments),b[1],b[2]);}),c&&(Md[c]=function(){return this.localeData().ordinal(e.apply(this,arguments),a);});}function V(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"");}function W(a){var b,c,d=a.match(Jd);for(b=0,c=d.length;b<c;b++){Md[d[b]]?d[b]=Md[d[b]]:d[b]=V(d[b]);}return function(b){var e,f="";for(e=0;e<c;e++){f+=z(d[e])?d[e].call(b,a):d[e];}return f;};}function X(a,b){return a.isValid()?(b=Y(b,a.localeData()),Ld[b]=Ld[b]||W(b),Ld[b](a)):a.localeData().invalidDate();}function Y(a,b){function c(a){return b.longDateFormat(a)||a;}var d=5;for(Kd.lastIndex=0;d>=0&&Kd.test(a);){a=a.replace(Kd,c),Kd.lastIndex=0,d-=1;}return a;}function Z(a,b,c){ce[a]=z(b)?b:function(a,d){return a&&c?c:b;};}function $(a,b){return j(ce,a)?ce[a](b._strict,b._locale):new RegExp(_(a));}function _(a){return aa(a.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e;}));}function aa(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");}function ba(a,b){var c,d=b;for("string"==typeof a&&(a=[a]),g(b)&&(d=function d(a,c){c[b]=u(a);}),c=0;c<a.length;c++){de[a[c]]=d;}}function ca(a,b){ba(a,function(a,c,d,e){d._w=d._w||{},b(a,d._w,d,e);});}function da(a,b,c){null!=b&&j(de,a)&&de[a](b,c._a,c,a);}function ea(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate();}function fa(a,b){return a?c(this._months)?this._months[a.month()]:this._months[(this._months.isFormat||oe).test(b)?"format":"standalone"][a.month()]:c(this._months)?this._months:this._months.standalone;}function ga(a,b){return a?c(this._monthsShort)?this._monthsShort[a.month()]:this._monthsShort[oe.test(b)?"format":"standalone"][a.month()]:c(this._monthsShort)?this._monthsShort:this._monthsShort.standalone;}function ha(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],d=0;d<12;++d){f=l([2e3,d]),this._shortMonthsParse[d]=this.monthsShort(f,"").toLocaleLowerCase(),this._longMonthsParse[d]=this.months(f,"").toLocaleLowerCase();}return c?"MMM"===b?(e=ne.call(this._shortMonthsParse,g),e!==-1?e:null):(e=ne.call(this._longMonthsParse,g),e!==-1?e:null):"MMM"===b?(e=ne.call(this._shortMonthsParse,g),e!==-1?e:(e=ne.call(this._longMonthsParse,g),e!==-1?e:null)):(e=ne.call(this._longMonthsParse,g),e!==-1?e:(e=ne.call(this._shortMonthsParse,g),e!==-1?e:null));}function ia(a,b,c){var d,e,f;if(this._monthsParseExact)return ha.call(this,a,b,c);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),d=0;d<12;d++){if(e=l([2e3,d]),c&&!this._longMonthsParse[d]&&(this._longMonthsParse[d]=new RegExp("^"+this.months(e,"").replace(".","")+"$","i"),this._shortMonthsParse[d]=new RegExp("^"+this.monthsShort(e,"").replace(".","")+"$","i")),c||this._monthsParse[d]||(f="^"+this.months(e,"")+"|^"+this.monthsShort(e,""),this._monthsParse[d]=new RegExp(f.replace(".",""),"i")),c&&"MMMM"===b&&this._longMonthsParse[d].test(a))return d;if(c&&"MMM"===b&&this._shortMonthsParse[d].test(a))return d;if(!c&&this._monthsParse[d].test(a))return d;}}function ja(a,b){var c;if(!a.isValid())return a;if("string"==typeof b)if(/^\d+$/.test(b))b=u(b);else if(b=a.localeData().monthsParse(b),!g(b))return a;return c=Math.min(a.date(),ea(a.year(),b)),a._d["set"+(a._isUTC?"UTC":"")+"Month"](b,c),a;}function ka(b){return null!=b?(ja(this,b),a.updateOffset(this,!0),this):P(this,"Month");}function la(){return ea(this.year(),this.month());}function ma(a){return this._monthsParseExact?(j(this,"_monthsRegex")||oa.call(this),a?this._monthsShortStrictRegex:this._monthsShortRegex):(j(this,"_monthsShortRegex")||(this._monthsShortRegex=re),this._monthsShortStrictRegex&&a?this._monthsShortStrictRegex:this._monthsShortRegex);}function na(a){return this._monthsParseExact?(j(this,"_monthsRegex")||oa.call(this),a?this._monthsStrictRegex:this._monthsRegex):(j(this,"_monthsRegex")||(this._monthsRegex=se),this._monthsStrictRegex&&a?this._monthsStrictRegex:this._monthsRegex);}function oa(){function a(a,b){return b.length-a.length;}var b,c,d=[],e=[],f=[];for(b=0;b<12;b++){c=l([2e3,b]),d.push(this.monthsShort(c,"")),e.push(this.months(c,"")),f.push(this.months(c,"")),f.push(this.monthsShort(c,""));}for(d.sort(a),e.sort(a),f.sort(a),b=0;b<12;b++){d[b]=aa(d[b]),e[b]=aa(e[b]);}for(b=0;b<24;b++){f[b]=aa(f[b]);}this._monthsRegex=new RegExp("^("+f.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+e.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+d.join("|")+")","i");}function pa(a){return qa(a)?366:365;}function qa(a){return a%4===0&&a%100!==0||a%400===0;}function ra(){return qa(this.year());}function sa(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return a<100&&a>=0&&isFinite(h.getFullYear())&&h.setFullYear(a),h;}function ta(a){var b=new Date(Date.UTC.apply(null,arguments));return a<100&&a>=0&&isFinite(b.getUTCFullYear())&&b.setUTCFullYear(a),b;}function ua(a,b,c){var d=7+b-c,e=(7+ta(a,0,d).getUTCDay()-b)%7;return-e+d-1;}function va(a,b,c,d,e){var f,g,h=(7+c-d)%7,i=ua(a,d,e),j=1+7*(b-1)+h+i;return j<=0?(f=a-1,g=pa(f)+j):j>pa(a)?(f=a+1,g=j-pa(a)):(f=a,g=j),{year:f,dayOfYear:g};}function wa(a,b,c){var d,e,f=ua(a.year(),b,c),g=Math.floor((a.dayOfYear()-f-1)/7)+1;return g<1?(e=a.year()-1,d=g+xa(e,b,c)):g>xa(a.year(),b,c)?(d=g-xa(a.year(),b,c),e=a.year()+1):(e=a.year(),d=g),{week:d,year:e};}function xa(a,b,c){var d=ua(a,b,c),e=ua(a+1,b,c);return(pa(a)-d+e)/7;}function ya(a){return wa(a,this._week.dow,this._week.doy).week;}function za(){return this._week.dow;}function Aa(){return this._week.doy;}function Ba(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d");}function Ca(a){var b=wa(this,1,4).week;return null==a?b:this.add(7*(a-b),"d");}function Da(a,b){return"string"!=typeof a?a:isNaN(a)?(a=b.weekdaysParse(a),"number"==typeof a?a:null):parseInt(a,10);}function Ea(a,b){return"string"==typeof a?b.weekdaysParse(a)%7||7:isNaN(a)?null:a;}function Fa(a,b){return a?c(this._weekdays)?this._weekdays[a.day()]:this._weekdays[this._weekdays.isFormat.test(b)?"format":"standalone"][a.day()]:c(this._weekdays)?this._weekdays:this._weekdays.standalone;}function Ga(a){return a?this._weekdaysShort[a.day()]:this._weekdaysShort;}function Ha(a){return a?this._weekdaysMin[a.day()]:this._weekdaysMin;}function Ia(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],d=0;d<7;++d){f=l([2e3,1]).day(d),this._minWeekdaysParse[d]=this.weekdaysMin(f,"").toLocaleLowerCase(),this._shortWeekdaysParse[d]=this.weekdaysShort(f,"").toLocaleLowerCase(),this._weekdaysParse[d]=this.weekdays(f,"").toLocaleLowerCase();}return c?"dddd"===b?(e=ne.call(this._weekdaysParse,g),e!==-1?e:null):"ddd"===b?(e=ne.call(this._shortWeekdaysParse,g),e!==-1?e:null):(e=ne.call(this._minWeekdaysParse,g),e!==-1?e:null):"dddd"===b?(e=ne.call(this._weekdaysParse,g),e!==-1?e:(e=ne.call(this._shortWeekdaysParse,g),e!==-1?e:(e=ne.call(this._minWeekdaysParse,g),e!==-1?e:null))):"ddd"===b?(e=ne.call(this._shortWeekdaysParse,g),e!==-1?e:(e=ne.call(this._weekdaysParse,g),e!==-1?e:(e=ne.call(this._minWeekdaysParse,g),e!==-1?e:null))):(e=ne.call(this._minWeekdaysParse,g),e!==-1?e:(e=ne.call(this._weekdaysParse,g),e!==-1?e:(e=ne.call(this._shortWeekdaysParse,g),e!==-1?e:null)));}function Ja(a,b,c){var d,e,f;if(this._weekdaysParseExact)return Ia.call(this,a,b,c);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),d=0;d<7;d++){if(e=l([2e3,1]).day(d),c&&!this._fullWeekdaysParse[d]&&(this._fullWeekdaysParse[d]=new RegExp("^"+this.weekdays(e,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[d]=new RegExp("^"+this.weekdaysShort(e,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[d]=new RegExp("^"+this.weekdaysMin(e,"").replace(".",".?")+"$","i")),this._weekdaysParse[d]||(f="^"+this.weekdays(e,"")+"|^"+this.weekdaysShort(e,"")+"|^"+this.weekdaysMin(e,""),this._weekdaysParse[d]=new RegExp(f.replace(".",""),"i")),c&&"dddd"===b&&this._fullWeekdaysParse[d].test(a))return d;if(c&&"ddd"===b&&this._shortWeekdaysParse[d].test(a))return d;if(c&&"dd"===b&&this._minWeekdaysParse[d].test(a))return d;if(!c&&this._weekdaysParse[d].test(a))return d;}}function Ka(a){if(!this.isValid())return null!=a?this:NaN;var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=Da(a,this.localeData()),this.add(a-b,"d")):b;}function La(a){if(!this.isValid())return null!=a?this:NaN;var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d");}function Ma(a){if(!this.isValid())return null!=a?this:NaN;if(null!=a){var b=Ea(a,this.localeData());return this.day(this.day()%7?b:b-7);}return this.day()||7;}function Na(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysStrictRegex:this._weekdaysRegex):(j(this,"_weekdaysRegex")||(this._weekdaysRegex=ye),this._weekdaysStrictRegex&&a?this._weekdaysStrictRegex:this._weekdaysRegex);}function Oa(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(j(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=ze),this._weekdaysShortStrictRegex&&a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex);}function Pa(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(j(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Ae),this._weekdaysMinStrictRegex&&a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex);}function Qa(){function a(a,b){return b.length-a.length;}var b,c,d,e,f,g=[],h=[],i=[],j=[];for(b=0;b<7;b++){c=l([2e3,1]).day(b),d=this.weekdaysMin(c,""),e=this.weekdaysShort(c,""),f=this.weekdays(c,""),g.push(d),h.push(e),i.push(f),j.push(d),j.push(e),j.push(f);}for(g.sort(a),h.sort(a),i.sort(a),j.sort(a),b=0;b<7;b++){h[b]=aa(h[b]),i[b]=aa(i[b]),j[b]=aa(j[b]);}this._weekdaysRegex=new RegExp("^("+j.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+g.join("|")+")","i");}function Ra(){return this.hours()%12||12;}function Sa(){return this.hours()||24;}function Ta(a,b){U(a,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),b);});}function Ua(a,b){return b._meridiemParse;}function Va(a){return"p"===(a+"").toLowerCase().charAt(0);}function Wa(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM";}function Xa(a){return a?a.toLowerCase().replace("_","-"):a;}function Ya(a){for(var b,c,d,e,f=0;f<a.length;){for(e=Xa(a[f]).split("-"),b=e.length,c=Xa(a[f+1]),c=c?c.split("-"):null;b>0;){if(d=Za(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&v(e,c,!0)>=b-1)break;b--;}f++;}return null;}function Za(a){var b=null;if(!Fe[a]&&"undefined"!=typeof module&&module&&module.exports)try{b=Be._abbr,require("./locale/"+a),$a(b);}catch(a){}return Fe[a];}function $a(a,b){var c;return a&&(c=f(b)?bb(a):_a(a,b),c&&(Be=c)),Be._abbr;}function _a(a,b){if(null!==b){var c=Ee;if(b.abbr=a,null!=Fe[a])y("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),c=Fe[a]._config;else if(null!=b.parentLocale){if(null==Fe[b.parentLocale])return Ge[b.parentLocale]||(Ge[b.parentLocale]=[]),Ge[b.parentLocale].push({name:a,config:b}),null;c=Fe[b.parentLocale]._config;}return Fe[a]=new C(B(c,b)),Ge[a]&&Ge[a].forEach(function(a){_a(a.name,a.config);}),$a(a),Fe[a];}return delete Fe[a],null;}function ab(a,b){if(null!=b){var c,d=Ee;null!=Fe[a]&&(d=Fe[a]._config),b=B(d,b),c=new C(b),c.parentLocale=Fe[a],Fe[a]=c,$a(a);}else null!=Fe[a]&&(null!=Fe[a].parentLocale?Fe[a]=Fe[a].parentLocale:null!=Fe[a]&&delete Fe[a]);return Fe[a];}function bb(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return Be;if(!c(a)){if(b=Za(a))return b;a=[a];}return Ya(a);}function cb(){return Ad(Fe);}function db(a){var b,c=a._a;return c&&n(a).overflow===-2&&(b=c[fe]<0||c[fe]>11?fe:c[ge]<1||c[ge]>ea(c[ee],c[fe])?ge:c[he]<0||c[he]>24||24===c[he]&&(0!==c[ie]||0!==c[je]||0!==c[ke])?he:c[ie]<0||c[ie]>59?ie:c[je]<0||c[je]>59?je:c[ke]<0||c[ke]>999?ke:-1,n(a)._overflowDayOfYear&&(b<ee||b>ge)&&(b=ge),n(a)._overflowWeeks&&b===-1&&(b=le),n(a)._overflowWeekday&&b===-1&&(b=me),n(a).overflow=b),a;}function eb(a){var b,c,d,e,f,g,h=a._i,i=He.exec(h)||Ie.exec(h);if(i){for(n(a).iso=!0,b=0,c=Ke.length;b<c;b++){if(Ke[b][1].exec(i[1])){e=Ke[b][0],d=Ke[b][2]!==!1;break;}}if(null==e)return void(a._isValid=!1);if(i[3]){for(b=0,c=Le.length;b<c;b++){if(Le[b][1].exec(i[3])){f=(i[2]||" ")+Le[b][0];break;}}if(null==f)return void(a._isValid=!1);}if(!d&&null!=f)return void(a._isValid=!1);if(i[4]){if(!Je.exec(i[4]))return void(a._isValid=!1);g="Z";}a._f=e+(f||"")+(g||""),lb(a);}else a._isValid=!1;}function fb(a){var b,c,d,e,f,g,h,i,j={" GMT":" +0000"," EDT":" -0400"," EST":" -0500"," CDT":" -0500"," CST":" -0600"," MDT":" -0600"," MST":" -0700"," PDT":" -0700"," PST":" -0800"},k="YXWVUTSRQPONZABCDEFGHIKLM";if(b=a._i.replace(/\([^\)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s|\s$/g,""),c=Ne.exec(b)){if(d=c[1]?"ddd"+(5===c[1].length?", ":" "):"",e="D MMM "+(c[2].length>10?"YYYY ":"YY "),f="HH:mm"+(c[4]?":ss":""),c[1]){var l=new Date(c[2]),m=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][l.getDay()];if(c[1].substr(0,3)!==m)return n(a).weekdayMismatch=!0,void(a._isValid=!1);}switch(c[5].length){case 2:0===i?h=" +0000":(i=k.indexOf(c[5][1].toUpperCase())-12,h=(i<0?" -":" +")+(""+i).replace(/^-?/,"0").match(/..$/)[0]+"00");break;case 4:h=j[c[5]];break;default:h=j[" GMT"];}c[5]=h,a._i=c.splice(1).join(""),g=" ZZ",a._f=d+e+f+g,lb(a),n(a).rfc2822=!0;}else a._isValid=!1;}function gb(b){var c=Me.exec(b._i);return null!==c?void(b._d=new Date(+c[1])):(eb(b),void(b._isValid===!1&&(delete b._isValid,fb(b),b._isValid===!1&&(delete b._isValid,a.createFromInputFallback(b)))));}function hb(a,b,c){return null!=a?a:null!=b?b:c;}function ib(b){var c=new Date(a.now());return b._useUTC?[c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate()]:[c.getFullYear(),c.getMonth(),c.getDate()];}function jb(a){var b,c,d,e,f=[];if(!a._d){for(d=ib(a),a._w&&null==a._a[ge]&&null==a._a[fe]&&kb(a),null!=a._dayOfYear&&(e=hb(a._a[ee],d[ee]),(a._dayOfYear>pa(e)||0===a._dayOfYear)&&(n(a)._overflowDayOfYear=!0),c=ta(e,0,a._dayOfYear),a._a[fe]=c.getUTCMonth(),a._a[ge]=c.getUTCDate()),b=0;b<3&&null==a._a[b];++b){a._a[b]=f[b]=d[b];}for(;b<7;b++){a._a[b]=f[b]=null==a._a[b]?2===b?1:0:a._a[b];}24===a._a[he]&&0===a._a[ie]&&0===a._a[je]&&0===a._a[ke]&&(a._nextDay=!0,a._a[he]=0),a._d=(a._useUTC?ta:sa).apply(null,f),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[he]=24);}}function kb(a){var b,c,d,e,f,g,h,i;if(b=a._w,null!=b.GG||null!=b.W||null!=b.E)f=1,g=4,c=hb(b.GG,a._a[ee],wa(tb(),1,4).year),d=hb(b.W,1),e=hb(b.E,1),(e<1||e>7)&&(i=!0);else{f=a._locale._week.dow,g=a._locale._week.doy;var j=wa(tb(),f,g);c=hb(b.gg,a._a[ee],j.year),d=hb(b.w,j.week),null!=b.d?(e=b.d,(e<0||e>6)&&(i=!0)):null!=b.e?(e=b.e+f,(b.e<0||b.e>6)&&(i=!0)):e=f;}d<1||d>xa(c,f,g)?n(a)._overflowWeeks=!0:null!=i?n(a)._overflowWeekday=!0:(h=va(c,d,e,f,g),a._a[ee]=h.year,a._dayOfYear=h.dayOfYear);}function lb(b){if(b._f===a.ISO_8601)return void eb(b);if(b._f===a.RFC_2822)return void fb(b);b._a=[],n(b).empty=!0;var c,d,e,f,g,h=""+b._i,i=h.length,j=0;for(e=Y(b._f,b._locale).match(Jd)||[],c=0;c<e.length;c++){f=e[c],d=(h.match($(f,b))||[])[0],d&&(g=h.substr(0,h.indexOf(d)),g.length>0&&n(b).unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),j+=d.length),Md[f]?(d?n(b).empty=!1:n(b).unusedTokens.push(f),da(f,d,b)):b._strict&&!d&&n(b).unusedTokens.push(f);}n(b).charsLeftOver=i-j,h.length>0&&n(b).unusedInput.push(h),b._a[he]<=12&&n(b).bigHour===!0&&b._a[he]>0&&(n(b).bigHour=void 0),n(b).parsedDateParts=b._a.slice(0),n(b).meridiem=b._meridiem,b._a[he]=mb(b._locale,b._a[he],b._meridiem),jb(b),db(b);}function mb(a,b,c){var d;return null==c?b:null!=a.meridiemHour?a.meridiemHour(b,c):null!=a.isPM?(d=a.isPM(c),d&&b<12&&(b+=12),d||12!==b||(b=0),b):b;}function nb(a){var b,c,d,e,f;if(0===a._f.length)return n(a).invalidFormat=!0,void(a._d=new Date(NaN));for(e=0;e<a._f.length;e++){f=0,b=q({},a),null!=a._useUTC&&(b._useUTC=a._useUTC),b._f=a._f[e],lb(b),o(b)&&(f+=n(b).charsLeftOver,f+=10*n(b).unusedTokens.length,n(b).score=f,(null==d||f<d)&&(d=f,c=b));}k(a,c||b);}function ob(a){if(!a._d){var b=L(a._i);a._a=i([b.year,b.month,b.day||b.date,b.hour,b.minute,b.second,b.millisecond],function(a){return a&&parseInt(a,10);}),jb(a);}}function pb(a){var b=new r(db(qb(a)));return b._nextDay&&(b.add(1,"d"),b._nextDay=void 0),b;}function qb(a){var b=a._i,d=a._f;return a._locale=a._locale||bb(a._l),null===b||void 0===d&&""===b?p({nullInput:!0}):("string"==typeof b&&(a._i=b=a._locale.preparse(b)),s(b)?new r(db(b)):(h(b)?a._d=b:c(d)?nb(a):d?lb(a):rb(a),o(a)||(a._d=null),a));}function rb(b){var e=b._i;f(e)?b._d=new Date(a.now()):h(e)?b._d=new Date(e.valueOf()):"string"==typeof e?gb(b):c(e)?(b._a=i(e.slice(0),function(a){return parseInt(a,10);}),jb(b)):d(e)?ob(b):g(e)?b._d=new Date(e):a.createFromInputFallback(b);}function sb(a,b,f,g,h){var i={};return f!==!0&&f!==!1||(g=f,f=void 0),(d(a)&&e(a)||c(a)&&0===a.length)&&(a=void 0),i._isAMomentObject=!0,i._useUTC=i._isUTC=h,i._l=f,i._i=a,i._f=b,i._strict=g,pb(i);}function tb(a,b,c,d){return sb(a,b,c,d,!1);}function ub(a,b){var d,e;if(1===b.length&&c(b[0])&&(b=b[0]),!b.length)return tb();for(d=b[0],e=1;e<b.length;++e){b[e].isValid()&&!b[e][a](d)||(d=b[e]);}return d;}function vb(){var a=[].slice.call(arguments,0);return ub("isBefore",a);}function wb(){var a=[].slice.call(arguments,0);return ub("isAfter",a);}function xb(a){for(var b in a){if(Re.indexOf(b)===-1||null!=a[b]&&isNaN(a[b]))return!1;}for(var c=!1,d=0;d<Re.length;++d){if(a[Re[d]]){if(c)return!1;parseFloat(a[Re[d]])!==u(a[Re[d]])&&(c=!0);}}return!0;}function yb(){return this._isValid;}function zb(){return Sb(NaN);}function Ab(a){var b=L(a),c=b.year||0,d=b.quarter||0,e=b.month||0,f=b.week||0,g=b.day||0,h=b.hour||0,i=b.minute||0,j=b.second||0,k=b.millisecond||0;this._isValid=xb(b),this._milliseconds=+k+1e3*j+6e4*i+1e3*h*60*60,this._days=+g+7*f,this._months=+e+3*d+12*c,this._data={},this._locale=bb(),this._bubble();}function Bb(a){return _instanceof(a,Ab);}function Cb(a){return a<0?Math.round(-1*a)*-1:Math.round(a);}function Db(a,b){U(a,0,0,function(){var a=this.utcOffset(),c="+";return a<0&&(a=-a,c="-"),c+T(~~(a/60),2)+b+T(~~a%60,2);});}function Eb(a,b){var c=(b||"").match(a);if(null===c)return null;var d=c[c.length-1]||[],e=(d+"").match(Se)||["-",0,0],f=+(60*e[1])+u(e[2]);return 0===f?0:"+"===e[0]?f:-f;}function Fb(b,c){var d,e;return c._isUTC?(d=c.clone(),e=(s(b)||h(b)?b.valueOf():tb(b).valueOf())-d.valueOf(),d._d.setTime(d._d.valueOf()+e),a.updateOffset(d,!1),d):tb(b).local();}function Gb(a){return 15*-Math.round(a._d.getTimezoneOffset()/15);}function Hb(b,c,d){var e,f=this._offset||0;if(!this.isValid())return null!=b?this:NaN;if(null!=b){if("string"==typeof b){if(b=Eb(_d,b),null===b)return this;}else Math.abs(b)<16&&!d&&(b=60*b);return!this._isUTC&&c&&(e=Gb(this)),this._offset=b,this._isUTC=!0,null!=e&&this.add(e,"m"),f!==b&&(!c||this._changeInProgress?Xb(this,Sb(b-f,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,a.updateOffset(this,!0),this._changeInProgress=null)),this;}return this._isUTC?f:Gb(this);}function Ib(a,b){return null!=a?("string"!=typeof a&&(a=-a),this.utcOffset(a,b),this):-this.utcOffset();}function Jb(a){return this.utcOffset(0,a);}function Kb(a){return this._isUTC&&(this.utcOffset(0,a),this._isUTC=!1,a&&this.subtract(Gb(this),"m")),this;}function Lb(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var a=Eb($d,this._i);null!=a?this.utcOffset(a):this.utcOffset(0,!0);}return this;}function Mb(a){return!!this.isValid()&&(a=a?tb(a).utcOffset():0,(this.utcOffset()-a)%60===0);}function Nb(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset();}function Ob(){if(!f(this._isDSTShifted))return this._isDSTShifted;var a={};if(q(a,this),a=qb(a),a._a){var b=a._isUTC?l(a._a):tb(a._a);this._isDSTShifted=this.isValid()&&v(a._a,b.toArray())>0;}else this._isDSTShifted=!1;return this._isDSTShifted;}function Pb(){return!!this.isValid()&&!this._isUTC;}function Qb(){return!!this.isValid()&&this._isUTC;}function Rb(){return!!this.isValid()&&this._isUTC&&0===this._offset;}function Sb(a,b){var c,d,e,f=a,h=null;return Bb(a)?f={ms:a._milliseconds,d:a._days,M:a._months}:g(a)?(f={},b?f[b]=a:f.milliseconds=a):(h=Te.exec(a))?(c="-"===h[1]?-1:1,f={y:0,d:u(h[ge])*c,h:u(h[he])*c,m:u(h[ie])*c,s:u(h[je])*c,ms:u(Cb(1e3*h[ke]))*c}):(h=Ue.exec(a))?(c="-"===h[1]?-1:1,f={y:Tb(h[2],c),M:Tb(h[3],c),w:Tb(h[4],c),d:Tb(h[5],c),h:Tb(h[6],c),m:Tb(h[7],c),s:Tb(h[8],c)}):null==f?f={}:"object"==_typeof2(f)&&("from"in f||"to"in f)&&(e=Vb(tb(f.from),tb(f.to)),f={},f.ms=e.milliseconds,f.M=e.months),d=new Ab(f),Bb(a)&&j(a,"_locale")&&(d._locale=a._locale),d;}function Tb(a,b){var c=a&&parseFloat(a.replace(",","."));return(isNaN(c)?0:c)*b;}function Ub(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c;}function Vb(a,b){var c;return a.isValid()&&b.isValid()?(b=Fb(b,a),a.isBefore(b)?c=Ub(a,b):(c=Ub(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c):{milliseconds:0,months:0};}function Wb(a,b){return function(c,d){var e,f;return null===d||isNaN(+d)||(y(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=Sb(c,d),Xb(this,e,a),this;};}function Xb(b,c,d,e){var f=c._milliseconds,g=Cb(c._days),h=Cb(c._months);b.isValid()&&(e=null==e||e,f&&b._d.setTime(b._d.valueOf()+f*d),g&&Q(b,"Date",P(b,"Date")+g*d),h&&ja(b,P(b,"Month")+h*d),e&&a.updateOffset(b,g||h));}function Yb(a,b){var c=a.diff(b,"days",!0);return c<-6?"sameElse":c<-1?"lastWeek":c<0?"lastDay":c<1?"sameDay":c<2?"nextDay":c<7?"nextWeek":"sameElse";}function Zb(b,c){var d=b||tb(),e=Fb(d,this).startOf("day"),f=a.calendarFormat(this,e)||"sameElse",g=c&&(z(c[f])?c[f].call(this,d):c[f]);return this.format(g||this.localeData().calendar(f,this,tb(d)));}function $b(){return new r(this);}function _b(a,b){var c=s(a)?a:tb(a);return!(!this.isValid()||!c.isValid())&&(b=K(f(b)?"millisecond":b),"millisecond"===b?this.valueOf()>c.valueOf():c.valueOf()<this.clone().startOf(b).valueOf());}function ac(a,b){var c=s(a)?a:tb(a);return!(!this.isValid()||!c.isValid())&&(b=K(f(b)?"millisecond":b),"millisecond"===b?this.valueOf()<c.valueOf():this.clone().endOf(b).valueOf()<c.valueOf());}function bc(a,b,c,d){return d=d||"()",("("===d[0]?this.isAfter(a,c):!this.isBefore(a,c))&&(")"===d[1]?this.isBefore(b,c):!this.isAfter(b,c));}function cc(a,b){var c,d=s(a)?a:tb(a);return!(!this.isValid()||!d.isValid())&&(b=K(b||"millisecond"),"millisecond"===b?this.valueOf()===d.valueOf():(c=d.valueOf(),this.clone().startOf(b).valueOf()<=c&&c<=this.clone().endOf(b).valueOf()));}function dc(a,b){return this.isSame(a,b)||this.isAfter(a,b);}function ec(a,b){return this.isSame(a,b)||this.isBefore(a,b);}function fc(a,b,c){var d,e,f,g;return this.isValid()?(d=Fb(a,this),d.isValid()?(e=6e4*(d.utcOffset()-this.utcOffset()),b=K(b),"year"===b||"month"===b||"quarter"===b?(g=gc(this,d),"quarter"===b?g/=3:"year"===b&&(g/=12)):(f=this-d,g="second"===b?f/1e3:"minute"===b?f/6e4:"hour"===b?f/36e5:"day"===b?(f-e)/864e5:"week"===b?(f-e)/6048e5:f),c?g:t(g)):NaN):NaN;}function gc(a,b){var c,d,e=12*(b.year()-a.year())+(b.month()-a.month()),f=a.clone().add(e,"months");return b-f<0?(c=a.clone().add(e-1,"months"),d=(b-f)/(f-c)):(c=a.clone().add(e+1,"months"),d=(b-f)/(c-f)),-(e+d)||0;}function hc(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ");}function ic(){if(!this.isValid())return null;var a=this.clone().utc();return a.year()<0||a.year()>9999?X(a,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):z(Date.prototype.toISOString)?this.toDate().toISOString():X(a,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]");}function jc(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var a="moment",b="";this.isLocal()||(a=0===this.utcOffset()?"moment.utc":"moment.parseZone",b="Z");var c="["+a+'("]',d=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",e="-MM-DD[T]HH:mm:ss.SSS",f=b+'[")]';return this.format(c+d+e+f);}function kc(b){b||(b=this.isUtc()?a.defaultFormatUtc:a.defaultFormat);var c=X(this,b);return this.localeData().postformat(c);}function lc(a,b){return this.isValid()&&(s(a)&&a.isValid()||tb(a).isValid())?Sb({to:this,from:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate();}function mc(a){return this.from(tb(),a);}function nc(a,b){return this.isValid()&&(s(a)&&a.isValid()||tb(a).isValid())?Sb({from:this,to:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate();}function oc(a){return this.to(tb(),a);}function pc(a){var b;return void 0===a?this._locale._abbr:(b=bb(a),null!=b&&(this._locale=b),this);}function qc(){return this._locale;}function rc(a){switch(a=K(a)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0);}return"week"===a&&this.weekday(0),"isoWeek"===a&&this.isoWeekday(1),"quarter"===a&&this.month(3*Math.floor(this.month()/3)),this;}function sc(a){return a=K(a),void 0===a||"millisecond"===a?this:("date"===a&&(a="day"),this.startOf(a).add(1,"isoWeek"===a?"week":a).subtract(1,"ms"));}function tc(){return this._d.valueOf()-6e4*(this._offset||0);}function uc(){return Math.floor(this.valueOf()/1e3);}function vc(){return new Date(this.valueOf());}function wc(){var a=this;return[a.year(),a.month(),a.date(),a.hour(),a.minute(),a.second(),a.millisecond()];}function xc(){var a=this;return{years:a.year(),months:a.month(),date:a.date(),hours:a.hours(),minutes:a.minutes(),seconds:a.seconds(),milliseconds:a.milliseconds()};}function yc(){return this.isValid()?this.toISOString():null;}function zc(){return o(this);}function Ac(){return k({},n(this));}function Bc(){return n(this).overflow;}function Cc(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict};}function Dc(a,b){U(0,[a,a.length],0,b);}function Ec(a){return Ic.call(this,a,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy);}function Fc(a){return Ic.call(this,a,this.isoWeek(),this.isoWeekday(),1,4);}function Gc(){return xa(this.year(),1,4);}function Hc(){var a=this.localeData()._week;return xa(this.year(),a.dow,a.doy);}function Ic(a,b,c,d,e){var f;return null==a?wa(this,d,e).year:(f=xa(a,d,e),b>f&&(b=f),Jc.call(this,a,b,c,d,e));}function Jc(a,b,c,d,e){var f=va(a,b,c,d,e),g=ta(f.year,0,f.dayOfYear);return this.year(g.getUTCFullYear()),this.month(g.getUTCMonth()),this.date(g.getUTCDate()),this;}function Kc(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3);}function Lc(a){var b=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d");}function Mc(a,b){b[ke]=u(1e3*("0."+a));}function Nc(){return this._isUTC?"UTC":"";}function Oc(){return this._isUTC?"Coordinated Universal Time":"";}function Pc(a){return tb(1e3*a);}function Qc(){return tb.apply(null,arguments).parseZone();}function Rc(a){return a;}function Sc(a,b,c,d){var e=bb(),f=l().set(d,b);return e[c](f,a);}function Tc(a,b,c){if(g(a)&&(b=a,a=void 0),a=a||"",null!=b)return Sc(a,b,c,"month");var d,e=[];for(d=0;d<12;d++){e[d]=Sc(a,d,c,"month");}return e;}function Uc(a,b,c,d){"boolean"==typeof a?(g(b)&&(c=b,b=void 0),b=b||""):(b=a,c=b,a=!1,g(b)&&(c=b,b=void 0),b=b||"");var e=bb(),f=a?e._week.dow:0;if(null!=c)return Sc(b,(c+f)%7,d,"day");var h,i=[];for(h=0;h<7;h++){i[h]=Sc(b,(h+f)%7,d,"day");}return i;}function Vc(a,b){return Tc(a,b,"months");}function Wc(a,b){return Tc(a,b,"monthsShort");}function Xc(a,b,c){return Uc(a,b,c,"weekdays");}function Yc(a,b,c){return Uc(a,b,c,"weekdaysShort");}function Zc(a,b,c){return Uc(a,b,c,"weekdaysMin");}function $c(){var a=this._data;return this._milliseconds=df(this._milliseconds),this._days=df(this._days),this._months=df(this._months),a.milliseconds=df(a.milliseconds),a.seconds=df(a.seconds),a.minutes=df(a.minutes),a.hours=df(a.hours),a.months=df(a.months),a.years=df(a.years),this;}function _c(a,b,c,d){var e=Sb(b,c);return a._milliseconds+=d*e._milliseconds,a._days+=d*e._days,a._months+=d*e._months,a._bubble();}function ad(a,b){return _c(this,a,b,1);}function bd(a,b){return _c(this,a,b,-1);}function cd(a){return a<0?Math.floor(a):Math.ceil(a);}function dd(){var a,b,c,d,e,f=this._milliseconds,g=this._days,h=this._months,i=this._data;return f>=0&&g>=0&&h>=0||f<=0&&g<=0&&h<=0||(f+=864e5*cd(fd(h)+g),g=0,h=0),i.milliseconds=f%1e3,a=t(f/1e3),i.seconds=a%60,b=t(a/60),i.minutes=b%60,c=t(b/60),i.hours=c%24,g+=t(c/24),e=t(ed(g)),h+=e,g-=cd(fd(e)),d=t(h/12),h%=12,i.days=g,i.months=h,i.years=d,this;}function ed(a){return 4800*a/146097;}function fd(a){return 146097*a/4800;}function gd(a){if(!this.isValid())return NaN;var b,c,d=this._milliseconds;if(a=K(a),"month"===a||"year"===a)return b=this._days+d/864e5,c=this._months+ed(b),"month"===a?c:c/12;switch(b=this._days+Math.round(fd(this._months)),a){case"week":return b/7+d/6048e5;case"day":return b+d/864e5;case"hour":return 24*b+d/36e5;case"minute":return 1440*b+d/6e4;case"second":return 86400*b+d/1e3;case"millisecond":return Math.floor(864e5*b)+d;default:throw new Error("Unknown unit "+a);}}function hd(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*u(this._months/12):NaN;}function id(a){return function(){return this.as(a);};}function jd(a){return a=K(a),this.isValid()?this[a+"s"]():NaN;}function kd(a){return function(){return this.isValid()?this._data[a]:NaN;};}function ld(){return t(this.days()/7);}function md(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d);}function nd(a,b,c){var d=Sb(a).abs(),e=uf(d.as("s")),f=uf(d.as("m")),g=uf(d.as("h")),h=uf(d.as("d")),i=uf(d.as("M")),j=uf(d.as("y")),k=e<=vf.ss&&["s",e]||e<vf.s&&["ss",e]||f<=1&&["m"]||f<vf.m&&["mm",f]||g<=1&&["h"]||g<vf.h&&["hh",g]||h<=1&&["d"]||h<vf.d&&["dd",h]||i<=1&&["M"]||i<vf.M&&["MM",i]||j<=1&&["y"]||["yy",j];return k[2]=b,k[3]=+a>0,k[4]=c,md.apply(null,k);}function od(a){return void 0===a?uf:"function"==typeof a&&(uf=a,!0);}function pd(a,b){return void 0!==vf[a]&&(void 0===b?vf[a]:(vf[a]=b,"s"===a&&(vf.ss=b-1),!0));}function qd(a){if(!this.isValid())return this.localeData().invalidDate();var b=this.localeData(),c=nd(this,!a,b);return a&&(c=b.pastFuture(+this,c)),b.postformat(c);}function rd(){if(!this.isValid())return this.localeData().invalidDate();var a,b,c,d=wf(this._milliseconds)/1e3,e=wf(this._days),f=wf(this._months);a=t(d/60),b=t(a/60),d%=60,a%=60,c=t(f/12),f%=12;var g=c,h=f,i=e,j=b,k=a,l=d,m=this.asSeconds();return m?(m<0?"-":"")+"P"+(g?g+"Y":"")+(h?h+"M":"")+(i?i+"D":"")+(j||k||l?"T":"")+(j?j+"H":"")+(k?k+"M":"")+(l?l+"S":""):"P0D";}var sd,td;td=Array.prototype.some?Array.prototype.some:function(a){for(var b=Object(this),c=b.length>>>0,d=0;d<c;d++){if(d in b&&a.call(this,b[d],d,b))return!0;}return!1;};var ud=td,vd=a.momentProperties=[],wd=!1,xd={};a.suppressDeprecationWarnings=!1,a.deprecationHandler=null;var yd;yd=Object.keys?Object.keys:function(a){var b,c=[];for(b in a){j(a,b)&&c.push(b);}return c;};var zd,Ad=yd,Bd={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Cd={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},Dd="Invalid date",Ed="%d",Fd=/\d{1,2}/,Gd={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},Hd={},Id={},Jd=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Kd=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Ld={},Md={},Nd=/\d/,Od=/\d\d/,Pd=/\d{3}/,Qd=/\d{4}/,Rd=/[+-]?\d{6}/,Sd=/\d\d?/,Td=/\d\d\d\d?/,Ud=/\d\d\d\d\d\d?/,Vd=/\d{1,3}/,Wd=/\d{1,4}/,Xd=/[+-]?\d{1,6}/,Yd=/\d+/,Zd=/[+-]?\d+/,$d=/Z|[+-]\d\d:?\d\d/gi,_d=/Z|[+-]\d\d(?::?\d\d)?/gi,ae=/[+-]?\d+(\.\d{1,3})?/,be=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,ce={},de={},ee=0,fe=1,ge=2,he=3,ie=4,je=5,ke=6,le=7,me=8;zd=Array.prototype.indexOf?Array.prototype.indexOf:function(a){var b;for(b=0;b<this.length;++b){if(this[b]===a)return b;}return-1;};var ne=zd;U("M",["MM",2],"Mo",function(){return this.month()+1;}),U("MMM",0,0,function(a){return this.localeData().monthsShort(this,a);}),U("MMMM",0,0,function(a){return this.localeData().months(this,a);}),J("month","M"),M("month",8),Z("M",Sd),Z("MM",Sd,Od),Z("MMM",function(a,b){return b.monthsShortRegex(a);}),Z("MMMM",function(a,b){return b.monthsRegex(a);}),ba(["M","MM"],function(a,b){b[fe]=u(a)-1;}),ba(["MMM","MMMM"],function(a,b,c,d){var e=c._locale.monthsParse(a,d,c._strict);null!=e?b[fe]=e:n(c).invalidMonth=a;});var oe=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,pe="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),qe="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),re=be,se=be;U("Y",0,0,function(){var a=this.year();return a<=9999?""+a:"+"+a;}),U(0,["YY",2],0,function(){return this.year()%100;}),U(0,["YYYY",4],0,"year"),U(0,["YYYYY",5],0,"year"),U(0,["YYYYYY",6,!0],0,"year"),J("year","y"),M("year",1),Z("Y",Zd),Z("YY",Sd,Od),Z("YYYY",Wd,Qd),Z("YYYYY",Xd,Rd),Z("YYYYYY",Xd,Rd),ba(["YYYYY","YYYYYY"],ee),ba("YYYY",function(b,c){c[ee]=2===b.length?a.parseTwoDigitYear(b):u(b);}),ba("YY",function(b,c){c[ee]=a.parseTwoDigitYear(b);}),ba("Y",function(a,b){b[ee]=parseInt(a,10);}),a.parseTwoDigitYear=function(a){return u(a)+(u(a)>68?1900:2e3);};var te=O("FullYear",!0);U("w",["ww",2],"wo","week"),U("W",["WW",2],"Wo","isoWeek"),J("week","w"),J("isoWeek","W"),M("week",5),M("isoWeek",5),Z("w",Sd),Z("ww",Sd,Od),Z("W",Sd),Z("WW",Sd,Od),ca(["w","ww","W","WW"],function(a,b,c,d){b[d.substr(0,1)]=u(a);});var ue={dow:0,doy:6};U("d",0,"do","day"),U("dd",0,0,function(a){return this.localeData().weekdaysMin(this,a);}),U("ddd",0,0,function(a){return this.localeData().weekdaysShort(this,a);}),U("dddd",0,0,function(a){return this.localeData().weekdays(this,a);}),U("e",0,0,"weekday"),U("E",0,0,"isoWeekday"),J("day","d"),J("weekday","e"),J("isoWeekday","E"),M("day",11),M("weekday",11),M("isoWeekday",11),Z("d",Sd),Z("e",Sd),Z("E",Sd),Z("dd",function(a,b){return b.weekdaysMinRegex(a);}),Z("ddd",function(a,b){return b.weekdaysShortRegex(a);}),Z("dddd",function(a,b){return b.weekdaysRegex(a);}),ca(["dd","ddd","dddd"],function(a,b,c,d){var e=c._locale.weekdaysParse(a,d,c._strict);null!=e?b.d=e:n(c).invalidWeekday=a;}),ca(["d","e","E"],function(a,b,c,d){b[d]=u(a);});var ve="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),we="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),xe="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),ye=be,ze=be,Ae=be;U("H",["HH",2],0,"hour"),U("h",["hh",2],0,Ra),U("k",["kk",2],0,Sa),U("hmm",0,0,function(){return""+Ra.apply(this)+T(this.minutes(),2);}),U("hmmss",0,0,function(){return""+Ra.apply(this)+T(this.minutes(),2)+T(this.seconds(),2);}),U("Hmm",0,0,function(){return""+this.hours()+T(this.minutes(),2);}),U("Hmmss",0,0,function(){return""+this.hours()+T(this.minutes(),2)+T(this.seconds(),2);}),Ta("a",!0),Ta("A",!1),J("hour","h"),M("hour",13),Z("a",Ua),Z("A",Ua),Z("H",Sd),Z("h",Sd),Z("k",Sd),Z("HH",Sd,Od),Z("hh",Sd,Od),Z("kk",Sd,Od),Z("hmm",Td),Z("hmmss",Ud),Z("Hmm",Td),Z("Hmmss",Ud),ba(["H","HH"],he),ba(["k","kk"],function(a,b,c){var d=u(a);b[he]=24===d?0:d;}),ba(["a","A"],function(a,b,c){c._isPm=c._locale.isPM(a),c._meridiem=a;}),ba(["h","hh"],function(a,b,c){b[he]=u(a),n(c).bigHour=!0;}),ba("hmm",function(a,b,c){var d=a.length-2;b[he]=u(a.substr(0,d)),b[ie]=u(a.substr(d)),n(c).bigHour=!0;}),ba("hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[he]=u(a.substr(0,d)),b[ie]=u(a.substr(d,2)),b[je]=u(a.substr(e)),n(c).bigHour=!0;}),ba("Hmm",function(a,b,c){var d=a.length-2;b[he]=u(a.substr(0,d)),b[ie]=u(a.substr(d));}),ba("Hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[he]=u(a.substr(0,d)),b[ie]=u(a.substr(d,2)),b[je]=u(a.substr(e));});var Be,Ce=/[ap]\.?m?\.?/i,De=O("Hours",!0),Ee={calendar:Bd,longDateFormat:Cd,invalidDate:Dd,ordinal:Ed,dayOfMonthOrdinalParse:Fd,relativeTime:Gd,months:pe,monthsShort:qe,week:ue,weekdays:ve,weekdaysMin:xe,weekdaysShort:we,meridiemParse:Ce},Fe={},Ge={},He=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Ie=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Je=/Z|[+-]\d\d(?::?\d\d)?/,Ke=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Le=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Me=/^\/?Date\((\-?\d+)/i,Ne=/^((?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d?\d\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(?:\d\d)?\d\d\s)(\d\d:\d\d)(\:\d\d)?(\s(?:UT|GMT|[ECMP][SD]T|[A-IK-Za-ik-z]|[+-]\d{4}))$/;a.createFromInputFallback=x("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(a){a._d=new Date(a._i+(a._useUTC?" UTC":""));}),a.ISO_8601=function(){},a.RFC_2822=function(){};var Oe=x("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=tb.apply(null,arguments);return this.isValid()&&a.isValid()?a<this?this:a:p();}),Pe=x("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=tb.apply(null,arguments);return this.isValid()&&a.isValid()?a>this?this:a:p();}),Qe=function Qe(){return Date.now?Date.now():+new Date();},Re=["year","quarter","month","week","day","hour","minute","second","millisecond"];Db("Z",":"),Db("ZZ",""),Z("Z",_d),Z("ZZ",_d),ba(["Z","ZZ"],function(a,b,c){c._useUTC=!0,c._tzm=Eb(_d,a);});var Se=/([\+\-]|\d\d)/gi;a.updateOffset=function(){};var Te=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Ue=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Sb.fn=Ab.prototype,Sb.invalid=zb;var Ve=Wb(1,"add"),We=Wb(-1,"subtract");a.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",a.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Xe=x("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(a){return void 0===a?this.localeData():this.locale(a);});U(0,["gg",2],0,function(){return this.weekYear()%100;}),U(0,["GG",2],0,function(){return this.isoWeekYear()%100;}),Dc("gggg","weekYear"),Dc("ggggg","weekYear"),Dc("GGGG","isoWeekYear"),Dc("GGGGG","isoWeekYear"),J("weekYear","gg"),J("isoWeekYear","GG"),M("weekYear",1),M("isoWeekYear",1),Z("G",Zd),Z("g",Zd),Z("GG",Sd,Od),Z("gg",Sd,Od),Z("GGGG",Wd,Qd),Z("gggg",Wd,Qd),Z("GGGGG",Xd,Rd),Z("ggggg",Xd,Rd),ca(["gggg","ggggg","GGGG","GGGGG"],function(a,b,c,d){b[d.substr(0,2)]=u(a);}),ca(["gg","GG"],function(b,c,d,e){c[e]=a.parseTwoDigitYear(b);}),U("Q",0,"Qo","quarter"),J("quarter","Q"),M("quarter",7),Z("Q",Nd),ba("Q",function(a,b){b[fe]=3*(u(a)-1);}),U("D",["DD",2],"Do","date"),J("date","D"),M("date",9),Z("D",Sd),Z("DD",Sd,Od),Z("Do",function(a,b){return a?b._dayOfMonthOrdinalParse||b._ordinalParse:b._dayOfMonthOrdinalParseLenient;}),ba(["D","DD"],ge),ba("Do",function(a,b){b[ge]=u(a.match(Sd)[0],10);});var Ye=O("Date",!0);U("DDD",["DDDD",3],"DDDo","dayOfYear"),J("dayOfYear","DDD"),M("dayOfYear",4),Z("DDD",Vd),Z("DDDD",Pd),ba(["DDD","DDDD"],function(a,b,c){c._dayOfYear=u(a);}),U("m",["mm",2],0,"minute"),J("minute","m"),M("minute",14),Z("m",Sd),Z("mm",Sd,Od),ba(["m","mm"],ie);var Ze=O("Minutes",!1);U("s",["ss",2],0,"second"),J("second","s"),M("second",15),Z("s",Sd),Z("ss",Sd,Od),ba(["s","ss"],je);var $e=O("Seconds",!1);U("S",0,0,function(){return~~(this.millisecond()/100);}),U(0,["SS",2],0,function(){return~~(this.millisecond()/10);}),U(0,["SSS",3],0,"millisecond"),U(0,["SSSS",4],0,function(){return 10*this.millisecond();}),U(0,["SSSSS",5],0,function(){return 100*this.millisecond();}),U(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond();}),U(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond();}),U(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond();}),U(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond();}),J("millisecond","ms"),M("millisecond",16),Z("S",Vd,Nd),Z("SS",Vd,Od),Z("SSS",Vd,Pd);var _e;for(_e="SSSS";_e.length<=9;_e+="S"){Z(_e,Yd);}for(_e="S";_e.length<=9;_e+="S"){ba(_e,Mc);}var af=O("Milliseconds",!1);U("z",0,0,"zoneAbbr"),U("zz",0,0,"zoneName");var bf=r.prototype;bf.add=Ve,bf.calendar=Zb,bf.clone=$b,bf.diff=fc,bf.endOf=sc,bf.format=kc,bf.from=lc,bf.fromNow=mc,bf.to=nc,bf.toNow=oc,bf.get=R,bf.invalidAt=Bc,bf.isAfter=_b,bf.isBefore=ac,bf.isBetween=bc,bf.isSame=cc,bf.isSameOrAfter=dc,bf.isSameOrBefore=ec,bf.isValid=zc,bf.lang=Xe,bf.locale=pc,bf.localeData=qc,bf.max=Pe,bf.min=Oe,bf.parsingFlags=Ac,bf.set=S,bf.startOf=rc,bf.subtract=We,bf.toArray=wc,bf.toObject=xc,bf.toDate=vc,bf.toISOString=ic,bf.inspect=jc,bf.toJSON=yc,bf.toString=hc,bf.unix=uc,bf.valueOf=tc,bf.creationData=Cc,bf.year=te,bf.isLeapYear=ra,bf.weekYear=Ec,bf.isoWeekYear=Fc,bf.quarter=bf.quarters=Kc,bf.month=ka,bf.daysInMonth=la,bf.week=bf.weeks=Ba,bf.isoWeek=bf.isoWeeks=Ca,bf.weeksInYear=Hc,bf.isoWeeksInYear=Gc,bf.date=Ye,bf.day=bf.days=Ka,bf.weekday=La,bf.isoWeekday=Ma,bf.dayOfYear=Lc,bf.hour=bf.hours=De,bf.minute=bf.minutes=Ze,bf.second=bf.seconds=$e,bf.millisecond=bf.milliseconds=af,bf.utcOffset=Hb,bf.utc=Jb,bf.local=Kb,bf.parseZone=Lb,bf.hasAlignedHourOffset=Mb,bf.isDST=Nb,bf.isLocal=Pb,bf.isUtcOffset=Qb,bf.isUtc=Rb,bf.isUTC=Rb,bf.zoneAbbr=Nc,bf.zoneName=Oc,bf.dates=x("dates accessor is deprecated. Use date instead.",Ye),bf.months=x("months accessor is deprecated. Use month instead",ka),bf.years=x("years accessor is deprecated. Use year instead",te),bf.zone=x("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Ib),bf.isDSTShifted=x("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Ob);var cf=C.prototype;cf.calendar=D,cf.longDateFormat=E,cf.invalidDate=F,cf.ordinal=G,cf.preparse=Rc,cf.postformat=Rc,cf.relativeTime=H,cf.pastFuture=I,cf.set=A,cf.months=fa,cf.monthsShort=ga,cf.monthsParse=ia,cf.monthsRegex=na,cf.monthsShortRegex=ma,cf.week=ya,cf.firstDayOfYear=Aa,cf.firstDayOfWeek=za,cf.weekdays=Fa,cf.weekdaysMin=Ha,cf.weekdaysShort=Ga,cf.weekdaysParse=Ja,cf.weekdaysRegex=Na,cf.weekdaysShortRegex=Oa,cf.weekdaysMinRegex=Pa,cf.isPM=Va,cf.meridiem=Wa,$a("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function ordinal(a){var b=a%10,c=1===u(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c;}}),a.lang=x("moment.lang is deprecated. Use moment.locale instead.",$a),a.langData=x("moment.langData is deprecated. Use moment.localeData instead.",bb);var df=Math.abs,ef=id("ms"),ff=id("s"),gf=id("m"),hf=id("h"),jf=id("d"),kf=id("w"),lf=id("M"),mf=id("y"),nf=kd("milliseconds"),of=kd("seconds"),pf=kd("minutes"),qf=kd("hours"),rf=kd("days"),sf=kd("months"),tf=kd("years"),uf=Math.round,vf={ss:44,s:45,m:45,h:22,d:26,M:11},wf=Math.abs,xf=Ab.prototype;return xf.isValid=yb,xf.abs=$c,xf.add=ad,xf.subtract=bd,xf.as=gd,xf.asMilliseconds=ef,xf.asSeconds=ff,xf.asMinutes=gf,xf.asHours=hf,xf.asDays=jf,xf.asWeeks=kf,xf.asMonths=lf,xf.asYears=mf,xf.valueOf=hd,xf._bubble=dd,xf.get=jd,xf.milliseconds=nf,xf.seconds=of,xf.minutes=pf,xf.hours=qf,xf.days=rf,xf.weeks=ld,xf.months=sf,xf.years=tf,xf.humanize=qd,xf.toISOString=rd,xf.toString=rd,xf.toJSON=rd,xf.locale=pc,xf.localeData=qc,xf.toIsoString=x("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",rd),xf.lang=Xe,U("X",0,0,"unix"),U("x",0,0,"valueOf"),Z("x",Zd),Z("X",ae),ba("X",function(a,b,c){c._d=new Date(1e3*parseFloat(a,10));}),ba("x",function(a,b,c){c._d=new Date(u(a));}),a.version="2.18.1",b(tb),a.fn=bf,a.min=vb,a.max=wb,a.now=Qe,a.utc=l,a.unix=Pc,a.months=Vc,a.isDate=h,a.locale=$a,a.invalid=p,a.duration=Sb,a.isMoment=s,a.weekdays=Xc,a.parseZone=Qc,a.localeData=bb,a.isDuration=Bb,a.monthsShort=Wc,a.weekdaysMin=Zc,a.defineLocale=_a,a.updateLocale=ab,a.locales=cb,a.weekdaysShort=Yc,a.normalizeUnits=K,a.relativeTimeRounding=od,a.relativeTimeThreshold=pd,a.calendarFormat=Yb,a.prototype=bf,a;});;var AzControl=/*#__PURE__*/function(_React$Component){_inherits2(AzControl,_React$Component);function AzControl(){var _getPrototypeOf2;var _this2;_classCallCheck2(this,AzControl);for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}_this2=_possibleConstructorReturn2(this,(_getPrototypeOf2=_getPrototypeOf(AzControl)).call.apply(_getPrototypeOf2,[this].concat(args)));_defineProperty(_assertThisInitialized(_this2),"renderActiveInactiveLetter",function(letter){var filterByLetter=_this2.props.filterByLetter;if(filterByLetter===""||!filterByLetter){return"in-active";}if(letter.toUpperCase()===filterByLetter.toUpperCase()||_this2.isNumeric(filterByLetter,letter)){return"active";}if(_this2.props.nameStartsWithLetterList&&_this2.props.nameStartsWithLetterList.length){var self=_assertThisInitialized(_this2);var activeLetter=_this2.props.nameStartsWithLetterList.filter(function(item){if(item.toUpperCase()===letter.toUpperCase()||self.isNumeric(item,letter)){return true;}});if(activeLetter.length===0){return"in-active";}}return"";});_defineProperty(_assertThisInitialized(_this2),"isNumeric",function(filterByLetter,letter){return letter==="#"&&/^\d+$/.test(filterByLetter);});_defineProperty(_assertThisInitialized(_this2),"renderAtoZItem",function(letter){var className="az-btn "+_this2.renderActiveInactiveLetter(letter);return React.createElement("button",{key:"letter-"+letter,className:className,onClick:_this2.handleSearchByLetterOnClick.bind(_assertThisInitialized(_this2),letter)},letter);});_defineProperty(_assertThisInitialized(_this2),"handleSearchByLetterOnClick",function(letter,ev){var self=_assertThisInitialized(_this2);if(ev){ev.preventDefault();}if(self.props.onChange){self.props.onChange(letter);}});return _this2;}_createClass2(AzControl,[{key:"render",value:function render(){var alphabet="";if(this.props.includeNumber){alphabet=alphabet+"#";}alphabet=(alphabet+"ABCDEFGHIJKLMNOPQRSTUVWXYZ").split("");return React.createElement("div",{className:"az-filter-select"},alphabet.map(this.renderAtoZItem));}}]);return AzControl;}(React.Component);;var CheckboxList=/*#__PURE__*/function(_React$Component2){_inherits2(CheckboxList,_React$Component2);function CheckboxList(props){var _this7;_classCallCheck2(this,CheckboxList);_this7=_possibleConstructorReturn2(this,_getPrototypeOf(CheckboxList).call(this,props));_defineProperty(_assertThisInitialized(_this7),"getValue",function(){var selectedOptionList=[];var currentCheckList=_this7.state.checkedItems;for(var i=0;i<_this7.props.itemList.length;i++){var option=_this7.props.itemList[i];if(currentCheckList[option.key]){selectedOptionList.push(option);}}return selectedOptionList;});_defineProperty(_assertThisInitialized(_this7),"uncheckItem",function(item){var checkedItemList=_this7.state.checkedItems;delete checkedItemList[_this7.props.selectAllKey];delete checkedItemList[item.key];_this7.setState({checkedItems:checkedItemList});if(_this7.props.onChange){_this7.props.onChange(_this7.getValue());}});_defineProperty(_assertThisInitialized(_this7),"uncheckAll",function(){_this7.setState({checkedItems:[]});if(_this7.props.onChange){_this7.props.onChange(_this7.getValue());}});_defineProperty(_assertThisInitialized(_this7),"renderItem",function(item){var self=_assertThisInitialized(_this7);function onCheckboxChange(){if(item.key==self.props.selectAllKey){var newState=true;if(self.state.checkedItems[self.props.selectAllKey]===true){newState=false;}var newCheckList=[];for(var i=0;i<self.props.itemList.length;i++){var option=self.props.itemList[i];if(newState===false){delete self.state.checkedItems[option.key];}else{newCheckList[option.key]=newState;}}self.state.checkedItems=newCheckList;self.setState({checkedItems:newCheckList});}else{var currentCheckList=self.state.checkedItems;delete currentCheckList[self.props.selectAllKey];var newCheckState=!currentCheckList[item.key];if(newCheckState===false){delete currentCheckList[item.key];}else{currentCheckList[item.key]=newCheckState;}if(Object.keys(currentCheckList).length===self.props.itemList.length-1){currentCheckList[self.props.selectAllKey]=true;}self.setState({checkedItems:currentCheckList});}if(self.props.onChange){self.props.onChange(self.getValue());}}return React.createElement(CheckboxListItem,{key:item.key,item:item,isChecked:_this7.state.checkedItems[item.key],disableUniqueId:_this7.props.disableUniqueId,onChange:onCheckboxChange});});var _checkedItemList=[];if(props.initialSelected){for(var _i=0;_i<props.initialSelected.length;_i++){var _option=props.initialSelected[_i];_checkedItemList[_option.key]=true;}}_this7.state={checkedItems:_checkedItemList};return _this7;}_createClass2(CheckboxList,[{key:"render",value:function render(){return React.createElement("div",{className:this.props.className},this.props.itemList.map(this.renderItem));}}]);return CheckboxList;}(React.Component);;var CheckboxListItem=/*#__PURE__*/function(_React$Component3){_inherits2(CheckboxListItem,_React$Component3);function CheckboxListItem(){_classCallCheck2(this,CheckboxListItem);return _possibleConstructorReturn2(this,_getPrototypeOf(CheckboxListItem).apply(this,arguments));}_createClass2(CheckboxListItem,[{key:"componentDidUpdate",value:function componentDidUpdate(){if(this.props.itemDidUpdate){this.props.itemDidUpdate();}}},{key:"render",value:function render(){var id=this.props.item.key;if(!this.props.disableUniqueId){id=Math.random().toString(36).substr(2,9)+'-'+id;}var className;if(this.props.isFocused){className="focused";}return React.createElement("div",null,React.createElement("input",{id:id,type:"checkbox",onFocus:this.props.setParentFocus,tabIndex:"-1",checked:this.props.isChecked,onChange:this.props.onChange}),React.createElement("label",{className:className,htmlFor:id},this.props.item.value));}}]);return CheckboxListItem;}(React.Component);_defineProperty(CheckboxListItem,"defaultProps",{isChecked:false});;//THIS file can be deleted once this has been pushed to roduction, these cards are part of Future Students
;var FilterCheckboxList=/*#__PURE__*/function(_React$Component4){_inherits2(FilterCheckboxList,_React$Component4);function FilterCheckboxList(props){var _this8;_classCallCheck2(this,FilterCheckboxList);_this8=_possibleConstructorReturn2(this,_getPrototypeOf(FilterCheckboxList).call(this,props));_defineProperty(_assertThisInitialized(_this8),"getValue",function(){var selectedOptionList=[];var currentCheckList=_this8.state.checkedItems;for(var i=0;i<_this8.props.itemList.length;i++){var option=_this8.props.itemList[i];if(currentCheckList[option.key]){selectedOptionList.push(option);}}return selectedOptionList;});_defineProperty(_assertThisInitialized(_this8),"uncheckItem",function(item){var checkedItemList=_this8.state.checkedItems;delete checkedItemList[_this8.props.selectAllKey];delete checkedItemList[item.key];_this8.setState({checkedItems:checkedItemList});if(_this8.props.onChange){_this8.props.onChange(_this8.getValue());}});_defineProperty(_assertThisInitialized(_this8),"uncheckAll",function(){_this8.setState({checkedItems:[]});if(_this8.props.onChange){_this8.props.onChange(_this8.getValue());}});_defineProperty(_assertThisInitialized(_this8),"renderItem",function(item){var self=_assertThisInitialized(_this8);function onCheckboxChange(){if(item.key==self.props.selectAllKey){var newState=true;if(self.state.checkedItems[self.props.selectAllKey]===true){newState=false;}var newCheckList=[];for(var i=0;i<self.props.itemList.length;i++){var option=self.props.itemList[i];if(newState===false){delete self.state.checkedItems[option.key];}else{newCheckList[option.key]=newState;}}self.state.checkedItems=newCheckList;self.setState({checkedItems:newCheckList});}else{var currentCheckList=self.state.checkedItems;delete currentCheckList[self.props.selectAllKey];var newCheckState=!currentCheckList[item.key];if(newCheckState===false){delete currentCheckList[item.key];}else{currentCheckList[item.key]=newCheckState;}if(Object.keys(currentCheckList).length===self.props.itemList.length-1){currentCheckList[self.props.selectAllKey]=true;}self.setState({checkedItems:currentCheckList});}if(self.props.onChange){self.props.onChange(self.getValue());}}return React.createElement(FilterCheckboxListItem,{key:item.key,item:item,isChecked:_this8.state.checkedItems[item.key],onChange:onCheckboxChange});});var _checkedItemList2=[];if(props.initialSelected){for(var _i2=0;_i2<props.initialSelected.length;_i2++){var _option2=props.initialSelected[_i2];_checkedItemList2[_option2.key]=true;}}_this8.state={checkedItems:_checkedItemList2};return _this8;}_createClass2(FilterCheckboxList,[{key:"render",value:function render(){return React.createElement("ul",{className:this.props.className},this.props.itemList.map(this.renderItem));}}]);return FilterCheckboxList;}(React.Component);;var FilterCheckboxListItem=/*#__PURE__*/function(_React$Component5){_inherits2(FilterCheckboxListItem,_React$Component5);function FilterCheckboxListItem(){_classCallCheck2(this,FilterCheckboxListItem);return _possibleConstructorReturn2(this,_getPrototypeOf(FilterCheckboxListItem).apply(this,arguments));}_createClass2(FilterCheckboxListItem,[{key:"componentDidUpdate",value:function componentDidUpdate(){if(this.props.itemDidUpdate){this.props.itemDidUpdate();}}},{key:"render",value:function render(){var id=this.props.item.key;if(!this.props.disableUniqueId){id=Math.random().toString(36).substr(2,9)+'-'+id;}return React.createElement("li",{className:"form-item filterable-course-search__form-item"},React.createElement("input",{id:id,type:"checkbox",className:"form-input-checkbox",checked:this.props.isChecked,onChange:this.props.onChange}),React.createElement("label",{className:"form-label--light",htmlFor:id},this.props.item.value));}}]);return FilterCheckboxListItem;}(React.Component);_defineProperty(FilterCheckboxListItem,"defaultProps",{isChecked:false});;var ModalWithButton=/*#__PURE__*/function(_React$Component6){_inherits2(ModalWithButton,_React$Component6);function ModalWithButton(props){var _this9;_classCallCheck2(this,ModalWithButton);_this9=_possibleConstructorReturn2(this,_getPrototypeOf(ModalWithButton).call(this,props));_defineProperty(_assertThisInitialized(_this9),"openModal",function(){_this9.setState({isOpen:true});});_defineProperty(_assertThisInitialized(_this9),"closeModal",function(){_this9.setState({isOpen:false});});_defineProperty(_assertThisInitialized(_this9),"matchHeight",function(){$('.modal-rich-link').matchHeight();});_this9.state={isOpen:false};return _this9;}_createClass2(ModalWithButton,[{key:"render",value:function render(){return React.createElement("div",null,React.createElement("a",{onClick:this.openModal,className:"cta-row-link","aria-label":this.props.buttonAriaText},"View All"),React.createElement(ReactModal,{onAfterOpen:this.matchHeight,isOpen:this.state.isOpen,overlayClassName:"overlay",className:"modaal-wrapper modaal-inline modaal-fullscreen",contentLabel:"Modal"},React.createElement("div",{className:"modaal-outer-wrapper"},React.createElement("div",{className:"modaal-inner-wrapper"},React.createElement("div",{className:"modaal-container"},React.createElement("div",{className:"modaal-content modaal-focus","aria-hidden":"false","aria-label":"Dialog Window (Press escape to close)",role:"dialog",tabIndex:"0"},React.createElement("div",{className:"modaal-content-container"},React.createElement("div",{className:"generic-modal-container"},this.props.children))),React.createElement("button",{type:"button",className:"modaal-close","aria-label":"Close (Press escape to close)",onClick:this.closeModal},React.createElement("span",null,"Close")))))));}}]);return ModalWithButton;}(React.Component);;// so that our CSS is statically analyzable
var CLASS_NAMES={overlay:"ReactModal__Overlay",content:"ReactModal__Content"};var ReactModal=/*#__PURE__*/function(_React$Component7){_inherits2(ReactModal,_React$Component7);function ReactModal(props){var _this10;_classCallCheck2(this,ReactModal);_this10=_possibleConstructorReturn2(this,_getPrototypeOf(ReactModal).call(this,props));_defineProperty(_assertThisInitialized(_this10),"setOverlayRef",function(overlay){_this10.overlay=overlay;_this10.props.overlayRef&&_this10.props.overlayRef(overlay);});_defineProperty(_assertThisInitialized(_this10),"setContentRef",function(content){_this10.content=content;_this10.props.contentRef&&_this10.props.contentRef(content);});_defineProperty(_assertThisInitialized(_this10),"afterClose",function(){var _this10$props=_this10.props,htmlOpenClassName=_this10$props.htmlOpenClassName,bodyOpenClassName=_this10$props.bodyOpenClassName;// Remove classes.
bodyOpenClassName&&classList.remove(document.body,bodyOpenClassName);htmlOpenClassName&&classList.remove(document.getElementsByTagName("html")[0],htmlOpenClassName);if(_this10.props.onAfterClose){_this10.props.onAfterClose();}});_defineProperty(_assertThisInitialized(_this10),"open",function(){_this10.beforeOpen();if(_this10.state.afterOpen&&_this10.state.beforeClose){clearTimeout(_this10.closeTimer);_this10.setState({beforeClose:false});}else{_this10.setState({isOpen:true},function(){_this10.setState({afterOpen:true});if(_this10.props.isOpen&&_this10.props.onAfterOpen){_this10.props.onAfterOpen({overlayEl:_this10.overlay});}});}});_defineProperty(_assertThisInitialized(_this10),"close",function(){var closesAt=Date.now();_this10.setState({beforeClose:true,closesAt:closesAt},function(){_this10.closeTimer=setTimeout(_this10.closeWithoutTimeout,_this10.state.closesAt-Date.now());});});_defineProperty(_assertThisInitialized(_this10),"closeWithoutTimeout",function(){_this10.setState({beforeClose:false,isOpen:false,afterOpen:false,closesAt:null},_this10.afterClose);});_defineProperty(_assertThisInitialized(_this10),"shouldBeClosed",function(){return!_this10.state.isOpen&&!_this10.state.beforeClose;});_defineProperty(_assertThisInitialized(_this10),"buildClassName",function(which,additional){var classNames=_typeof2(additional)==="object"?additional:{base:CLASS_NAMES[which],afterOpen:"".concat(CLASS_NAMES[which],"--after-open"),beforeClose:"".concat(CLASS_NAMES[which],"--before-close")};var className=classNames.base;if(_this10.state.afterOpen){className="".concat(className," ").concat(classNames.afterOpen);}if(_this10.state.beforeClose){className="".concat(className," ").concat(classNames.beforeClose);}return typeof additional==="string"&&additional?"".concat(className," ").concat(additional):className;});_this10.state={afterOpen:false,beforeClose:false};_this10.shouldClose=null;return _this10;}_createClass2(ReactModal,[{key:"componentDidMount",value:function componentDidMount(){if(this.props.isOpen){this.open();}}},{key:"componentDidUpdate",value:function componentDidUpdate(prevProps,prevState){if(this.props.isOpen&&!prevProps.isOpen){this.open();}else if(!this.props.isOpen&&prevProps.isOpen){this.close();}}},{key:"componentWillUnmount",value:function componentWillUnmount(){if(this.state.isOpen){this.afterClose();}clearTimeout(this.closeTimer);}},{key:"beforeOpen",value:function beforeOpen(){var _this$props=this.props,htmlOpenClassName=_this$props.htmlOpenClassName,bodyOpenClassName=_this$props.bodyOpenClassName;// Add classes.
bodyOpenClassName&&classList.add(document.body,bodyOpenClassName);htmlOpenClassName&&classList.add(document.getElementsByTagName("html")[0],htmlOpenClassName);}},{key:"render",value:function render(){var _this$props2=this.props,id=_this$props2.id,className=_this$props2.className,overlayClassName=_this$props2.overlayClassName;var contentStyles=className?{}:defaultStyles.content;var overlayStyles=overlayClassName?{}:defaultStyles.overlay;return this.shouldBeClosed()?null:React.createElement("div",{ref:this.setOverlayRef,className:this.buildClassName("overlay",overlayClassName),style:_objectSpread({},overlayStyles,{},this.props.style.overlay)},React.createElement("div",{id:id,ref:this.setContentRef,style:_objectSpread({},contentStyles,{},this.props.style.content),className:this.buildClassName("content",className),tabIndex:"-1","aria-label":this.props.contentLabel},this.props.children));}}]);return ReactModal;}(React.Component);_defineProperty(ReactModal,"defaultProps",{isOpen:false,style:{overlay:{},content:{}},defaultStyles:{}});_defineProperty(ReactModal,"propTypes",{isOpen:PropTypes.bool.isRequired,defaultStyles:PropTypes.shape({content:PropTypes.object,overlay:PropTypes.object}),style:PropTypes.shape({content:PropTypes.object,overlay:PropTypes.object}),onAfterOpen:PropTypes.func,onAfterClose:PropTypes.func,onRequestClose:PropTypes.func,contentLabel:PropTypes.string,className:PropTypes.oneOfType([PropTypes.string,PropTypes.object]),overlayClassName:PropTypes.oneOfType([PropTypes.string,PropTypes.object]),children:PropTypes.node,overlayRef:PropTypes.func,contentRef:PropTypes.func,id:PropTypes.string});;var StyledDropdown=/*#__PURE__*/function(_React$Component8){_inherits2(StyledDropdown,_React$Component8);function StyledDropdown(props){var _this11;_classCallCheck2(this,StyledDropdown);_this11=_possibleConstructorReturn2(this,_getPrototypeOf(StyledDropdown).call(this,props));var checkedItemList=[];if(_this11.props.initialSelected){for(var i=0;i<_this11.props.initialSelected.length;i++){var option=_this11.props.initialSelected[i];if(option){if(option.key!==undefined)checkedItemList[option.key]=true;else checkedItemList[option]=true;}}}_this11.state={selectText:_this11.props.text,showList:false,checkedItems:checkedItemList,focusedIndex:-1};_this11.parentRef=React.createRef();_this11.buttonRef=React.createRef();_this11.focusedElementRef=null;return _this11;}_createClass2(StyledDropdown,[{key:"componentDidMount",value:function componentDidMount(){$(document).bind("click",this.handleOnBlur);}},{key:"onButtonClick",value:function onButtonClick(ev){ev.preventDefault();this.setState({showList:!this.state.showList});}},{key:"handleSpaceKey",value:function handleSpaceKey(){this.toggleItem(this.props.itemList[this.state.focusedIndex]);}},{key:"handleEnterKey",value:function handleEnterKey(){this.toggleItem(this.props.itemList[this.state.focusedIndex]);}},{key:"handleDownKey",value:function handleDownKey(event){this.moveFocus(1);}},{key:"handleUpKey",value:function handleUpKey(event){this.moveFocus(-1);}},{key:"moveFocus",value:function moveFocus(move){var len=this.props.itemList.length;var idx=(this.state.focusedIndex+move+len)%len;this.setState({focusedIndex:idx});}},{key:"getValue",value:function getValue(){var selectedOptionList=[];var currentCheckList=this.state.checkedItems;for(var i=0;i<this.props.itemList.length;i++){var option=this.props.itemList[i];if(currentCheckList[option.key]){selectedOptionList.push(option);}}return selectedOptionList;}},{key:"toggleItem",value:function toggleItem(item){var checkedItemList=this.state.checkedItems;if(checkedItemList[item.key]===true){delete checkedItemList[item.key];}else{checkedItemList[item.key]=true;}this.setState({checkedItems:checkedItemList});if(this.props.onChange){this.props.onChange(this.getValue());}}},{key:"uncheckItem",value:function uncheckItem(item){var checkedItemList=this.state.checkedItems;delete checkedItemList[this.props.selectAllKey];delete checkedItemList[item.key];this.setState({checkedItems:checkedItemList});if(this.props.onChange){this.props.onChange(this.getValue());}}},{key:"uncheckAll",value:function uncheckAll(){this.setState({checkedItems:[]});if(this.props.onChange){this.props.onChange(this.getValue());}}},{key:"handleKeyDown",value:function handleKeyDown(event){if(this.keyHandlers[event.which]){event.preventDefault();this[this.keyHandlers[event.which]](event);}}},{key:"handleOnBlur",value:function handleOnBlur(ev){if(this.state&&this.state.showList===true){var noTargetAncestor=$(ev.target).parents().index(this.parentRef.current)>0;if(!noTargetAncestor){this.setState({showList:false});}}}},{key:"setFocus",value:function setFocus(){this.buttonRef.current.focus();}},{key:"renderItem",value:function renderItem(item,i){var _this12=this;var self=this;function onCheckboxChange(){if(item.key==self.props.selectAllKey){var newState=true;if(self.state.checkedItems[self.props.selectAllKey]===true){newState=false;}var newCheckList=[];for(var i=0;i<self.props.itemList.length;i++){var option=self.props.itemList[i];if(newState===false){delete self.state.checkedItems[option.key];}else{newCheckList[option.key]=newState;}}self.state.checkedItems=newCheckList;self.setState({checkedItems:newCheckList});}else{var currentCheckList=self.state.checkedItems;delete currentCheckList[self.props.selectAllKey];var newCheckState=!currentCheckList[item.key];if(newCheckState===false){delete currentCheckList[item.key];}else{currentCheckList[item.key]=newCheckState;}if(Object.keys(currentCheckList).length===self.props.itemList.length-1){currentCheckList[self.props.selectAllKey]=true;}self.setState({checkedItems:currentCheckList});}if(self.props.onChange){self.props.onChange(self.getValue());}}var isFocused=false;var ref=null;if(i===this.state.focusedIndex){isFocused=true;ref=React.createRef();}self.focusedElementRef=ref;return React.createElement(CheckboxListItem,{ref:ref,itemDidUpdate:this.itemDidUpdate,setParentFocus:function setParentFocus(evt){return _this12.setFocus(evt);},isFocused:isFocused,key:item.key,item:item,isChecked:self.state.checkedItems[item.key],disableUniqueId:self.props.disableUniqueId,onChange:onCheckboxChange});}},{key:"itemDidUpdate",value:function itemDidUpdate(){if(this.focusedElementRef){this.focusedElement.current.parentNode.scrollTop=this.focusedElementRef.current.offsetTop-this.focusedElementRef.current.parentNode.offsetTop;}}},{key:"render",value:function render(){var _this13=this;var buttonClassName="";if(this.props.buttonClassName){buttonClassName=this.props.buttonClassName;}if(this.state.showList){buttonClassName+=" active";}var extraProperties={};var disabled=false;if(this.props.itemDisabled){disabled=this.props.itemDisabled;}if(disabled){extraProperties["disabled"]=true;extraProperties["aria-disabled"]=true;}var selectedOption=this.props.itemList[this.state.focusedIndex];var liveText;if(selectedOption){liveText=selectedOption.value;if(this.state.checkedItems[selectedOption.key]){liveText+=' selected ';}else{liveText+=' not selected';}}var buttonText=this.props.ariaLabel+' '+this.props.itemList.length+' options';return React.createElement("div",{className:this.props.className,ref:this.parentRef},React.createElement("button",_extends({onKeyDown:function onKeyDown(evt){return _this13.handleKeyDown(evt);},type:"button",ref:this.buttonRef,onBlur:function onBlur(evt){return _this13.handleOnBlur(evt);},onClick:function onClick(evt){return _this13.onButtonClick(evt);},className:buttonClassName,"aria-label":buttonText},extraProperties,{role:"listbox"}),this.props.label),React.createElement("div",{className:this.props.listClassName},this.props.itemList.map(function(item,idx){return _this13.renderItem(item,idx);})),React.createElement("div",{"aria-live":"polite",className:"sr-only","aria-hidden":"true"},liveText));}}]);return StyledDropdown;}(React.Component);_defineProperty(StyledDropdown,"displayName",'StyledDropdown');_defineProperty(StyledDropdown,"keyHandlers",{38:'handleUpKey',40:'handleDownKey',32:'handleSpaceKey',13:'handleEnterKey',//27: 'handleEscKey',
74:'handleDownKey',75:'handleUpKey'});;!function(e){var t={};function a(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,a),o.l=!0,o.exports;}a.m=e,a.c=t,a.d=function(e,t,n){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n});},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0});},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==_typeof2(e)&&e&&e.__esModule)return e;var n=Object.create(null);if(a.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e){a.d(n,o,function(t){return e[t];}.bind(null,o));}return n;},a.n=function(e){var t=e&&e.__esModule?function(){return e.default;}:function(){return e;};return a.d(t,"a",t),t;},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t);},a.p="",a(a.s=1);}([function(e,t){e.exports=jQuery;},function(e,t,a){e.exports=a(4);},function(e,t){e.exports=whatInput;},function(e,t){e.exports=Foundation;},function(e,t,a){"use strict";a.r(t);var n=a(0),o=a.n(n),r=(a(2),a(3),o()(document)),i=o()(window),s=o()("body"),l=o()("html"),c=o()("html, body"),d=(!!window.ActiveXObject||window,document.location.hostname.indexOf("edu.au")>-1?"AIzaSyDrC_vroRz6CNmskae2ZTfvCr5ge8SIsJw":"AIzaSyA-ryzPgE2JIEgW4t0KBCzxHgyEdACDjRg"),u=function(){var e=document.createElement("div");if(null===e.style.transform){var t=["Webkit","Moz","ms"];for(var a in t){if(void 0!==e.style[t[a]+"Transform"])return t[a]+"Transform";}}return"transform";}(),p={currentScroll:0,media:"",disableMenuPopover:!1,topAnchor:null,getTopAnchor:function getTopAnchor(){return this.topAnchor;},setTopAnchor:function setTopAnchor(e){this.topAnchor=e;},getCurrentScroll:function getCurrentScroll(){return this.currentScroll;},setCurrentScroll:function setCurrentScroll(e){this.currentScroll=e;},getMedia:function getMedia(){return this.media;},setMedia:function setMedia(e){this.media=e;},getDisableMenuPopover:function getDisableMenuPopover(){return this.disableMenuPopover;},setDisableMenuPopover:function setDisableMenuPopover(e){this.disableMenuPopover=e;}};o()("tooltip","reflow").foundation(),o()(".accordion").on("down.zf.accordion",function(){o()(window).resize();}),r.ready(function(){!function(){var e,t=0,a=["ms","moz","webkit","o"];for(e=0;e<a.length&&!window.requestAnimationFrame;++e){window.requestAnimationFrame=window[a[e]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[a[e]+"CancelAnimationFrame"]||window[a[e]+"CancelRequestAnimationFrame"];}window.requestAnimationFrame||(window.requestAnimationFrame=function(e,a){var n=Date.now(),o=Math.max(0,16-(n-t)),r=window.setTimeout(function(){return e(n+o);},o);return t=n+o,r;}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(e){return clearTimeout(e);});}(),"objectFit"in document.documentElement.style==0&&[].forEach.call(document.querySelectorAll("img[data-object-fit]"),function(e){e.parentNode.style.background='url("'+e.src+'") no-repeat 50%/'+(e.currentStyle?e.currentStyle["object-fit"]:e.getAttribute("data-object-fit")),e.style.opacity=0;}),l.removeClass("no-js").addClass("js"),o()(".rich-text-content table").each(function(){var e=o()(this);e.parent(".table-container").length<1&&e.wrap('<div class="table-container"></div>');});});var f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};function t(t){return e[t]||(e[t]=[]);}function a(t){delete e[t];}return{on:function on(e,a){if(!a)throw new ReferenceError("handler not defined.");t(e).push(a);},off:function off(e,n){if(!n)throw new ReferenceError('handler not defined. if you wish to remove all handlers from the event please pass "*" as the handler');if("*"!==n){var o=t(e),r=o.indexOf(n);~r&&o.splice(r,1),o.length||a(e);}else a(e);},trigger:function trigger(e){for(var a=arguments.length,n=new Array(a>1?a-1:0),o=1;o<a;o++){n[o-1]=arguments[o];}t("*").concat(t(e)).forEach(function(e){return e.call.apply(e,[null].concat(n));});}};}(),m=function m(e){if(o()(".profile-module").length){var t,a,n=o()(".profile-module-progress"),r=[{complete:!1,type:"All",name:o()("#firstname"),altname:o()("#firstname"),w:1,cw:0,label:!0,expected:/^(.+)$/},{complete:!1,type:"All",name:o()("#lastname"),altname:o()("#lastname"),w:1,cw:0,label:!0,expected:/^(.+)$/},{complete:!1,type:"All",name:o()("#email"),altname:o()("#email"),w:1,cw:0,label:!0,expected:/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/},{complete:!1,type:"All",name:o()("[name=LevelOfStudy]:checked"),altname:o()("[name=LevelOfStudy]"),w:1,cw:0,expected:/^(.{8,20})$/},{complete:!1,type:"All",name:o()("[name=StudentType]:checked"),altname:o()("[name=StudentType]"),w:1,cw:0,expected:/^(.{5,50})$/},{complete:!1,type:"Domestic",name:o()("#schoolyear"),altname:o()("#schoolyear"),w:1,cw:0,expected:/^(.{2,50})$/},{complete:!1,type:"International",name:o()("#country"),altname:o()("#country"),w:2,cw:0,expected:/^([\w\-]{2,100})$/},{complete:!1,id:"school",type:"Domestic",name:o()("#school"),altname:o()("#school"),w:1,cw:0,label:!0,expected:/^(.+)$/}],i=void 0;if(e){var s=o()(e.currentTarget);s.is("[name=StudentType]")?o()("[class*=-fields] input:not([type=checkbox])").trigger("change"):s.is("select")&&(s.parent().find("span").text(o()('option[value="'+s.val()+'"]').text()),s.is(o()("#schoolyear"))&&("true"===o()("#schoolyear option:selected").data("school").toString().toLowerCase()?(o()(".profile-module-schools").addClass("shown"),r.forEach(function(e){"schoolyear"===e.name.attr("id")&&(e.w=1);})):(o()(".profile-module-schools").removeClass("shown"),o()("#school"),r.forEach(function(e){"schoolyear"===e.name.attr("id")&&(e.w=2);}))));}r.forEach(function(e){""!=e.name.val()&&e.expected.test((e.name.val()||"").trim())?e.complete=!0:(e.complete=!1,e.cw=0,void 0===i&&e.altname[0].offsetParent&&!o()(e.altname[0].offsetParent).is("body")&&(i=e.altname.offset().top-o()(".profile-module").offset().top-(n.height()>>1)));});var l=o()("input[type='radio'][name='StudentType']:checked").val();"true"===o()("#schoolyear option:selected").data("school").toString().toLowerCase()&&"Domestic"===l?o()(".profile-module-schools").addClass(" shown"):o()(".profile-module-schools").removeClass(" shown");var c=r.filter(function(e){switch(e.type){case"International":case"Domestic":if(e.type===l)return"school"!==e.id||!!o()(".profile-module-schools").hasClass("shown");break;default:return!0;}});t=c.filter(function(e){return e.complete;}).length,o()(".profile-module svg").css("stroke-dashoffset",252-36*t),a=~~(100*t/c.length),o()(".profile-module-progress-percent, .profile-module-progress-description span").text(a),o()("#percentage").val(a),o()(".profile-module-progress-percent, .profile-module svg")[t===c.length?"addClass":"removeClass"]("complete"),o()(".profile-module-progress-description")[t===c.length?"addClass":"removeClass"]("hidden"),o()(".profile-module-progress-complete")[t===c.length?"addClass":"removeClass"]("shown"),"desktop"===p.getMedia()?(t===c.length&&(i=o()(".profile-module button[type=submit]").offset().top-o()(".profile-module").offset().top-(n.height()>>1)),n.css(u,"translateY("+i+"px)")):n.css(u,"translateY(0)");}};var v=function v(){r.on("change input",".profile-module form input, .profile-module form select",m),m(),function(){var e=document.querySelectorAll("[".concat("data-js-studenttype","]")),t=document.querySelector("#australian-fields"),a=document.querySelector("#international-fields");function n(e){e.checked&&("Domestic"===e.value?(t.style.display="block",a.style.display="none"):"International"===e.value&&(t.style.display="none",a.style.display="block"));}document.addEventListener("change",function(e){e.target.hasAttribute("data-js-studenttype")&&n(e.target);}),Array.prototype.forEach.call(e,function(e){n(e);});}();},g=function g(e){if(o()(".header-wrapper.header-wrapper--dark").data("colourset")||!o()(".header-wrapper").data("colourset")){var t="";o()(".hero-module").length>0&&(t="mobile"===e?".hero-module-bg-mobile":".hero-module-bg-desktop"),o()(".course-header-module").length>0&&(t="mobile"===e?".course-header-module-bg-mobile":".course-header-module-bg-desktop"),o()(".short-header").length>0&&(t="mobile"===e?".short-header-bg-mobile":".short-header-bg-desktop"),t.length>0&&function(e,t){var a=document.createElement("img");a.src=e,a.style.display="none",a.alt="",document.body.appendChild(a);var n=0;a.onload=function(){var e=document.createElement("canvas");e.width=~~(.1*a.width),e.height=~~(.12*$(".header-wrapper").height());var o=e.getContext("2d");o.drawImage(a,0,0,a.width,10*e.height,0,0,e.width,e.height);for(var r,i,s,l,c=o.getImageData(0,0,e.width,e.height).data,d=0,u=c.length;d<u;d+=4){r=c[d],i=c[d+1],s=c[d+2],l=Math.floor((r+i+s)/3),n+=l;}var p=Math.floor(n/(e.width*e.height));t(p);};}(o()(t).css("background-image").slice(4,-1).replace(/"/g,""),function(e){e>190?o()(".site-wrapper").addClass("site-wrapper-dark"):o()(".site-wrapper").removeClass("site-wrapper-dark");});}},h=function h(e){o()("#scWebEditRibbon").length||0===o()(".card").length||o()(".cards").each(function(t,a){var n=o()(a);switch(n.find("[data-order]").length||(n.find(".cards-col-0 .card:nth-child(1)").attr("data-order",0),n.find(".cards-col-0 .card:nth-child(2)").attr("data-order",1),n.find(".cards-col-1 .card:nth-child(1)").attr("data-order",2),n.find(".cards-col-2 .card:nth-child(1)").attr("data-order",3)),e){case"mobile":for(var r=3;r>=0;--r){n.find(".cards-col-0").prepend(n.find("[data-order="+r+"]"));}break;case"tablet":n.find(".cards-col-1").prepend(n.find("[data-order=3]"));break;default:n.find(".cards-col-1").prepend(n.find("[data-order=2]")),n.find(".cards-col-2").prepend(n.find("[data-order=3]"));}});},b=function b(e){switch(e.media){case"mobile":o()(".scholarships-carousel, .agents-carousel").slick({dots:!0,arrows:!1,infinite:!1,centerMode:!0,fade:!0,speed:300,slidesToShow:1,slidesToScroll:1,adaptiveHeight:!1,pauseOnDotsHover:!0,pauseOnHover:!0,pauseOnFocus:!0,cssEase:"linear"});break;case"tablet":o()(".slick-dots").length&&o()(".scholarships-carousel,.agents-carousel").slick("unslick");break;default:o()(".course-header-module-title, .short-header-sub-title").removeAttr("style");}g(e.media),h(e.media),m(),i.trigger("scroll");},w=function w(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:50,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:window,n=!1;return function(){for(var o=arguments.length,r=new Array(o),i=0;i<o;i++){r[i]=arguments[i];}var s=function s(){e.apply(a,r);};n||(s(),n=!0,setTimeout(function(){return n=!1;},t));};},C=w(function(e){var t=i.width();if(!o()(".scWebEditInput").length){t>=1024&&"desktop"!==p.getMedia()?(p.setMedia("desktop"),f.trigger("switchMQ",{width:t,media:p.getMedia()})):t>=640&&t<1024&&"tablet"!==p.getMedia()?(p.setMedia("tablet"),f.trigger("switchMQ",{width:t,media:p.getMedia()})):t<640&&"mobile"!==p.getMedia()&&(p.setMedia("mobile"),f.trigger("switchMQ",{width:t,media:p.getMedia()})),o()(".info-banner-wrapper, .segment-info-wrapper").height(o()('[data-segment-filter="'.concat(o()(".segmented-control input[type=radio]:checked").val(),'"]')).height()),o()(".slick-list").height(o()(".slick-list").parent().height());var a=o()("#animation");a.length&&a[0].contentWindow.postMessage({method:"setViewHeight",params:{height:i.height()}},"*");}}),k=function k(){var e="[data-sitecore-js-trigger=accordion-component]";function t(t){var a=o()(t.currentTarget);if(a.is("[data-sitecore-js-element=accordion-header]"))var n=a;else n=a.parents("[data-sitecore-js-element=accordion-header]").first();0==n.length&&(n=a);var r=n.next();a.closest("[data-sitecore-js-scope=accordion-component]").is("[data-multiple=false]")?(a.toggleClass("active").siblings(e).removeClass("active"),r.toggleClass("active").siblings("[data-sitecore-js-target=accordion-component]").removeClass("active"),a!=n&&n.toggleClass("active")):(a.toggleClass("active"),a!=n&&n.toggleClass("active"),r.toggleClass("active")),a.hasClass("active")?(a.attr({"aria-selected":!0,"aria-expanded":!0,"data-event-purpose":"close"}),r.attr("aria-hidden",!1).attr("tabindex",0).focus()):(a.attr({"aria-selected":!1,"aria-expanded":!1,"data-event-purpose":"open"}),r.attr("aria-hidden",!0).removeAttr("tabindex"));}o()("[data-sitecore-js-scope=accordion-component]").each(function(){var t=o()(this);t.attr("role","tablist"),t.find(e).attr({tabindex:"0",role:"tab","aria-selected":!1,"aria-expanded":!1}),t.find("[data-sitecore-js-target=accordion-component]").attr({role:"tab-panel","aria-hidden":!0});}),o()(e).on("click",function(e){t(e);}),o()(e).is("[tabindex=0]")&&o()(e).on("keydown",function(e){o()(e.currentTarget);13!==e.keyCode&&32!==e.keyCode||(e.preventDefault(),t(e));});},y=function y(){var e=o()("[data-sitecore-js-trigger=enquiry-form-modal]"),t=o()("[data-sitecore-js-trigger=enquiry-form-modal-close]"),a=o()("[data-sitecore-js-target=enquiry-form-modal]"),n=o()("[data-sitecore-js-target=enquiry-form-modal-overlay]"),i=o()("[data-sitecore-js-scope=enquiry-form-modal]"),l="false";function c(){var e=o()(".active-modal");e.find(a).addClass("hide").removeClass("shown"),e.find(n).addClass("hide").removeClass("shown"),setTimeout(function(){e.find(a).removeClass("hide"),e.find(n).removeClass("hide");},300),e.find("input").blur(),e.removeClass("active-modal"),s.removeClass("enquiry-form-modal-open"),l="false";}e.on("click",function(e){"false"===l&&function(e){var t=o()(e.currentTarget).next(i);t.addClass("active-modal"),t.find(a).addClass("shown").removeClass("hide"),t.find(n).addClass("shown").removeClass("hide"),t.find("input:not([type=hidden]):first").focus(),s.addClass("enquiry-form-modal-open"),l="true";}(e);}),t.on("click",function(e){"true"===l&&c();}),n.on("click",function(e){"true"===l&&c();}),r.on("keyup",function(e){27===e.keyCode&&"true"===l&&c();});},x=function x(){var e,t,a="js-state-checked";function n(){var e=document.querySelectorAll("[".concat("data-js-form-radio","]"));function t(e){e.checked&&e.parentElement.classList.add(a);}document.addEventListener("change",function(e){if(e.target.hasAttribute("data-js-form-radio")){var n=document.querySelectorAll("[name=".concat(e.target.name,"]"));Array.prototype.forEach.call(n,function(e){!function(e){e.parentElement.classList.remove(a);}(e);}),t(e.target);}}),Array.prototype.forEach.call(e,function(e){t(e);});}e=document.querySelectorAll("[".concat("data-js-form-floatlabel","]")),document.addEventListener("focusin",function(e){var t;e.target.hasAttribute("data-js-form-floatlabel")&&0==(t=e.target).value.length&&t.parentElement.classList.add("js-state-focus");}),document.addEventListener("focusout",function(e){var t;e.target.hasAttribute("data-js-form-floatlabel")&&0==(t=e.target).value.length&&t.parentElement.classList.remove("js-state-focus");}),Array.prototype.forEach.call(e,function(e){0!=e.value.length&&e.parentElement.classList.add("js-state-focus");}),document.addEventListener("change",function(e){e.target.hasAttribute("data-js-form-floatlabel")&&0!=e.target.value.length&&e.target.parentElement.classList.add("js-state-focus");}),function(){var e=document.querySelectorAll("[".concat("data-js-form-checkbox","]"));function t(e){e.checked?e.parentElement.classList.add(a):e.parentElement.classList.remove(a);}document.addEventListener("change",function(e){e.target.hasAttribute("data-js-form-checkbox")&&t(e.target);}),Array.prototype.forEach.call(e,function(e){t(e);});}(),n(),function(){var e=document.querySelectorAll("[".concat("data-js-form-switch","]"));function t(e){e.checked?e.parentElement.classList.add(a):e.parentElement.classList.remove(a);}document.addEventListener("change",function(e){e.target.hasAttribute("data-js-form-switch")&&t(e.target);}),Array.prototype.forEach.call(e,function(e){t(e);});}(),t=document.querySelectorAll("[".concat("data-js-form-clear","]")),document.addEventListener("focusin",function(e){var t;e.target.hasAttribute("data-js-form-clear")&&0==(t=e.target).value.length&&t.parentElement.classList.add("js-state-focus");}),document.addEventListener("focusout",function(e){var t;e.target.hasAttribute("data-js-form-clear")&&0==(t=e.target).value.length&&t.parentElement.classList.remove("js-state-focus");}),Array.prototype.forEach.call(t,function(e){0!=e.value.length&&e.parentElement.classList.add("js-state-focus");}),document.addEventListener("click",function(e){e.target.hasAttribute("data-js-form-clearbutton")&&function(e){var t=e.target.previousElementSibling;t.value=null,t.focus();}(e);});},T=function T(){var e=o()("[data-sitecore-js-trigger=hidden-content-modal]"),t=o()("[data-sitecore-js-target=hidden-content-modal-popup]"),a=o()("[data-sitecore-js-target=hidden-content-modal-content]"),n=o()("[data-sitecore-js-trigger=hidden-content-modal-close]"),i=o()("[data-sitecore-js-target=hidden-content-modal-source-target]"),l="false";function c(){s.removeClass("fullscreen-modal-open"),t.removeClass("shown").addClass("hide").one("webkitAnimationEnd oanimationend msAnimationEnd animationend",function(e){"false"===l&&a.empty();}),setTimeout(function(){t.removeClass("hide");},300),n.removeClass("active"),l="false";}function d(e){s.addClass("fullscreen-modal-open"),t.addClass("shown").removeClass("hide"),setTimeout(function(){n.addClass("active");},300),function(e){o()(e.target).parents("[data-sitecore-js-target=hidden-content-modal-scope]").find(i).contents().clone(!0,!0).appendTo(a);}(e),l="true";}e.on("click",function(e){d(e);}),n.on("click",function(e){c();}),r.on("keyup",function(e){27===e.keyCode&&"true"===l&&c();});},j=function j(){var e=o()("[data-sitecore-js-trigger=overflow-scroll-navigation]"),t=o()("[data-sitecore-js-scope=overflow-scroll-navigation]"),a=o()("[data-sitecore-js-trigger=overflow-scroll-navigation-previous]"),n=o()("[data-sitecore-js-trigger=overflow-scroll-navigation-next]"),r=0,i=[];function s(e,t){var a=o()(t.currentTarget).attr("data-overflow-scroll-navigation-index");i[a]=function(e,t,a,n){var r=o()(t.currentTarget).parents().find("ul[data-overflow-scroll-navigation-index=".concat(n,"]")),i=r.width(),s=r.children().last().prev().outerWidth(!0),l=parseInt(i/s),c=r.children().length,d=o()("[data-sitecore-js-trigger=overflow-scroll-navigation-previous]"),u=o()("[data-sitecore-js-trigger=overflow-scroll-navigation-next]");switch(e){case"prev":(a-=l)<=c&&o()(t.currentTarget).siblings(u).removeAttr("disabled"),a<=0&&(o()(t.currentTarget).attr("disabled",!0),a=0);break;case"next":(a+=l)>0&&o()(t.currentTarget).siblings(d).removeAttr("disabled"),a+l>=c&&o()(t.currentTarget).attr("disabled",!0);}return r.scrollTo("li:eq(".concat(a,")"),500),a;}(e,t,i[a],a);}t.each(function(){r++;var t=o()(this);t.addClass("overflow-scroll-navigation-wrapper");var s=t.find("ul");s.addClass("overflow-scroll-navigation-items").attr("data-overflow-scroll-navigation-index",r);var l,c,d,u,p,f=s.children().outerHeight(!0);parseInt(f)>0&&s.siblings(e).css("height",f),i[r]=0,d=(l=s).width(),u=l.children().last().prev().outerWidth(!0),p=parseInt(d/u),l.children().length>p&&(c=!0),c||t.find(e).hide();var m=t.find(e);m.find(a).attr("data-overflow-scroll-navigation-index",r),m.find(n).attr("data-overflow-scroll-navigation-index",r);}),a.on("click",function(e){s("prev",e);}),n.on("click",function(e){s("next",e);});},E=function E(e){o()(".info-banner, .segment-info").addClass("hidden");var t=o()('[data-segment-filter="'.concat(o()(".segmented-control input[type=radio]:checked").val(),'"]'));t.removeClass("hidden"),o()(".info-banner-wrapper, .segment-info-wrapper").height(t.height());},S=function S(){var e=o()("[data-sitecore-js-trigger=tabbed-container-navigation]"),t=(o()("[data-sitecore-js-target=tabbed-container-navigation]"),o()("[data-sitecore-js-element=tabbed-container-panels]")),a=o()("[data-sitecore-js-trigger=tab-list-mobile-toggle]");o()("[data-sitecore-js-target=tab-list-mobile-toggle]");i.on("load",function(){var e;e=o()(".tabbed-container-module__tab.active").attr("data-panel-id"),t.find("#".concat(e)).addClass("active");}),a.on("click",function(e){!function(e){o()(e.currentTarget).toggleClass("active"),o()(e.currentTarget).next().toggleClass("active");}(e);}),e.on("click",function(e){!function(e){var a=o()(e.currentTarget),n=a.attr("data-panel-id"),r="[data-sitecore-js-target-id=".concat(n,"]");a.addClass("active").attr("aria-selected",!0),a.siblings().removeClass("active").attr("aria-selected",!1),t.find(r).addClass("active").siblings().removeClass("active"),t.find(r),t.find(r).find("[tabindex=0]:first-child").focus();}(e);});};function A(){var e=o()(".nav-main-panes ul:visible").filter(function(){return!("hidden"==o()(this).css("visibility")||"none"==o()(this).css("display"));}).map(function(){return o()(this).height();}).get(),t=Math.max.apply(null,e);o()(".nav-main-panes").height(t+50),o()(".nav-main-quicklinks").css("top",o()(".nav-main-panes").position().top-3),o()(".site-wrapper").css("transform","translateY("+o()(".nav-wrapper").height()+"px) scale(.5)");}var M=function M(e){var t=function e(t){("keyup"===t.type&&27===t.keyCode||"click"===t.type)&&(o()(".signup-login-modal, .signup-login-modal-overlay").addClass("hide"),setTimeout(function(){o()(".signup-login-modal, .signup-login-modal-overlay").removeClass("shown").removeClass("hide"),o()(".signup-login-modal button[aria-label]").off("click",e),i.off("keyup",e),s.off("focusin",a),s.removeClass("modaal-noscroll"),o()(".signup-login-modal-content").attr("aria-hidden","true");},300));},a=function a(e){o.a.contains(o()(".signup-login-modal")[0],e.target)||o()(".signup-login-modal-content").focus();};o()(".signup-login-modal-content").attr("aria-hidden","false"),o()(".signup-login-modal, .signup-login-modal-overlay").addClass("shown"),o()(".signup-login-modal button[aria-label]").on("click",t),o()(".signup-login-modal-content").click(),e&&o()(".signup-login-modal-tab").click(),s.addClass("modaal-noscroll"),i.on("keyup",t),s.on("focusin",a);},L=function L(){o()(".nav-main-panes > ul").data("depth",0).find("> li > ul").data("depth",1).find("> li > ul").data("depth",2).find("> li > ul").data("depth",3).find("> li > ul").data("depth",4).find("> li > ul").data("depth",5).find("> li > ul").data("depth",6).find("> li > ul").data("depth",7).find("> li > ul").data("depth",8),o()(".nav-main-panes > ul ul").each(function(e,t){o()(t).prepend('<li>\n              <button type="button" class="nav-prevlevel" title="Return to previous menu"><i class="fa fa-chevron-left" aria-hidden="true"></i> Back</button>\n            </li>\n            <li class="nav-head">\n              <a class="nav-head-link" href=\''.concat(o()(t).parent().find("> a").attr("href"),"'>").concat(o()(t).parent().find("> a").text(),"</a>\n            </li>"));}),r.on("click",".nav-nextlevel",function(e){var t=o()(e.currentTarget),a=o()(".nav-main-panes > ul"),n=t.closest("li").find("ul").data("depth");t.is(".selected")?(n=t.closest("li").find("ul").data("depth"),a.removeClass("shift"+n).removeClass("shift"+(n+1)),t.closest("li").find("ul").removeClass("selected"),t.removeClass("selected"),t.parent().removeClass("selected")):(t.closest("ul").find(".nav-nextlevel").removeClass("selected"),t.addClass("selected"),t.parent().addClass("selected"),t.closest("ul").find("ul").removeClass("selected"),t.closest("li").find("ul").addClass("selected"),a.addClass("shift"+n)),A();}),r.on("click",".nav-prevlevel",function(e){var t=o()(e.currentTarget),a=o()(".nav-main-panes > ul"),n=t.closest("ul").data("depth");a.removeClass("shift"+n).removeClass("shift"+(n+1)),t.closest("ul").removeClass("selected").parent().closest("ul").find(".nav-nextlevel.selected").removeClass("selected").parent().removeClass("selected"),A();});},F=w(function(e,t){var a=new Map();o()(".sort-select .radio-select-list input[type=radio]").get().forEach(function(e){return a.set(o()(e).attr("id"),o()(e).next().text());}),t.empty(),t.foundation("destroy");var n,r,i,s,l,c=(n=o()(".accordion-data li").get().sort(function(t,a){return o()(t).data(e)>o()(a).data(e)?1:-1;}),r=e,s=[],l={},n.forEach(function(e,t){i=$(e).data(r),s.indexOf(i)>-1?l[i].push(e):(s.push(i),l[i]=[e]);}),l);for(var d in c){t.append('<li class="accordion-item" data-accordion-item-count-'.concat(c[d].length,'>\n          <a class="accordion-title" data-accordion-item href="#">').concat(d,'</a>\n          <div class="accordion-content" data-tab-content>\n            <ul class="accordion-module-sorted-list">').concat(c[d].filter(function(e,t,a){return a.map(function(e){return e.innerHTML;}).indexOf(e.innerHTML)===t;}).sort(function(e,t){return e.innerHTML>t.innerHTML?1:-1;}).map(function(e){return o()("<div>").append(o()(e).clone()).html();}).join(""),"</ul>\n          </div>\n        </li>"));}new Foundation.Accordion(t,{dataMultiExpand:!0,dataAllowAllClosed:!0});}),P=function P(){o()(".accordion-data li").get().forEach(function(e){var t=o()(e).data(),a=function a(_a2){t[_a2].split("|").length>1&&(t[_a2].split("|").forEach(function(t){o()(".accordion-data").append(o()(e).clone().data(_a2.replace(/[A-Z]/g,function(e){return"-"+e;}).toLowerCase(),t));}),o()(e).remove());};for(var n in t){a(n);}}),r.on("change input keyup",".accordion-module-sort input[type=radio]",function(e){return F(o()(e.currentTarget).val().substr(5),o()(e.currentTarget).closest(".accordion-module").find(".accordion"));}),r.on("mousedown",".accordion-module-sort .radio-select label",function(e){var t=o()(e.currentTarget);t.parent().find("input[type=radio]").prop("checked",!1),t.find("input[type=radio]").prop("checked",!0).trigger("change"),F(t.find("input").val().substr(5),t.closest(".accordion-module").find(".accordion"));}),o()(".accordion-module-sort input[type=radio]:checked").trigger("change");},D=function D(e){if(o()(".course-header-module-nav, .degree-header-module-nav, .accomodation-header-module-nav, .program-header-module-nav").length){var t=o()(".course-header-module-nav, .degree-header-module-nav, .accomodation-header-module-nav, .program-header-module-nav"),a=o()(".course-header-module-bg-desktop, .degree-header-module-bg-desktop, .accomodation-header-module-bg-desktop, .program-header-module-bg-desktop"),n=o()(".course-header-module-stats, .degree-header-module-stats, .program-header-module");if(a.length>0){var r=Math.max(a.offset().top+a.height(),(n.length?n.offset().top:0)+n.height()||0),i=!1;window.pageYOffset>=r&&!i?(t.addClass("sticky"),i=!0):(t.removeClass("sticky"),i=!1);}}},q=function q(e){void 0!==e&&(o()(".course-header-module-nav-button-mobile span").text(o()(e.target).text()),o()(".degree-header-module-nav-button-mobile span").text(o()(e.target).text()),o()(".accomodation-header-module-nav-button-mobile span").text(o()(e.target).text()),o()(".course-header-module-nav-button-mobile, .degree-header-module-nav-button-mobile, .accomodation-header-module-nav-button-mobile").removeClass("active"));};o()(".course-header-module-nav-button-mobile, .degree-header-module-nav-button-mobile, .accomodation-header-module-nav-button-mobile").click(function(){o()(this).toggleClass("active");});var I=function I(){var e,t=o()("[data-sitecore-js-trigger=agent-alert]"),a=o()(".site-wrapper");i.on("load resize",function(){clearTimeout(e),e=setTimeout(function(){var e;0!=t.length&&0===o()(".agent-alert-buffer").length&&a.append('<div class="agent-alert-buffer"></div>'),e=t.outerHeight(),o()(".agent-alert-buffer").height(e);},250);});},O=function O(){var e=o()("[data-sitecore-js-scope=filterable-course-search]"),t=o()("[data-sitecore-js-trigger=filterable-course-search-filters]"),a=o()("[data-sitecore-js-target=filterable-course-search-filters]"),n=o()("[data-sitecore-js-target=filterable-course-search-counter]"),r=o()("[data-sitecore-js-trigger=filterable-course-search-reset]"),i=e.find("input[type=checkbox]"),s=function s(){var t=e.find("input:checked").length;0===t?n.hide():n.show().text("(".concat(t,")"));};t.on("click",function(){a.toggleClass("active");}),i.on("change",function(){s();}),r.on("click",function(){i.prop("checked",!1),s();}),s();},z=function z(){var e=o()("[data-navigation-global-type=tabbed]"),t=o()("[data-sitecore-js-trigger=navigation-global-level-1--tabbed]"),a=o()("[data-sitecore-js-target=navigation-global-overlay]"),n="false",i=e.find("[data-sitecore-js-trigger=navigation-global-level-2]"),l=e.find("[data-sitecore-js-target=navigation-global-level-2]"),c=function c(){s.addClass("navigation-global-animate-closing"),setTimeout(function(){s.removeClass("navigation-global-animate-closing navigation-global-active");},250),t.attr("aria-label","Open the Global and Site Navigation Menu").removeClass("active"),t.find(".fa").addClass("fa-bars").removeClass("fa-chevron-up"),e.attr("aria-expanded",!1),n="false";};t.on("click",function(a){"true"===n?c():(s.addClass("navigation-global-active"),t.attr("aria-label","Close the Global and Site Navigation Menu").addClass("active"),t.find(".fa").addClass("fa-times").removeClass("fa-bars"),e.attr("aria-expanded",!0),n="true");}),r.on("keyup",function(e){27===e.keyCode&&"true"===n&&c();}),a.on("click",function(e){c();}),i.on("click",function(t){var a=o()(t.currentTarget),n=a.attr("data-sitecore-js-target-id"),r="[data-sitecore-js-target-id=".concat(n,"]");a.addClass("active").attr("aria-selected",!0),a.parent().siblings().find(i).removeClass("active").attr("aria-selected",!1),e.addClass("active"),l.find(r).addClass("active").attr("aria-hidden",!1),l.find(r).siblings().removeClass("active").attr("aria-hidden",!0),l.find(r).find("li:first-child a").focus();});},H=function H(){var e=o()("[data-sitecore-js-trigger=navigation-global-search]"),t=o()("[data-sitecore-js-target=navigation-global-search]"),a=o()("[data-sitecore-js-target=navigation-global-search-input]"),n=o()("[data-sitecore-js-target=navigation-global-search-overlay]"),i="false",l=function l(){s.addClass("navigation-global-search-active"),t.addClass("active").attr("aria-expanded",!0),a.focus(),n.addClass("active"),i="true";},c=function c(){s.removeClass("navigation-global-search-active"),t.removeClass("active").attr("aria-expanded",!1),a.blur(),n.addClass("inactive"),setTimeout(function(){n.removeClass("inactive active");},250),i="false";};c(),n.on("click",function(){c();}),r.on("keyup",function(e){27===e.keyCode&&"true"===i&&c();}),e.on("click",function(e){"false"===i?l():c();});},_=function _(){var e=o()("[data-sitecore-js-trigger=navigation-level-3]"),t=o()("[data-sitecore-js-target=navigation-level-3]"),a=o()("[data-sitecore-js-target=navigation-level-3-overlay]"),n=o()("[data-sitecore-js-trigger=sticky-header]"),l=o()("[data-sitecore-js-trigger=navigation-level-3-scroll-to-top]"),d="false";if(n.length){var u=n.offset().top;i.on("scroll",function(){i.scrollTop()>=u?(n.parents(".module-wrapper").addClass("navigation-level-3-sticky"),t.css("top",e.parent().height())):(n.parents(".module-wrapper").removeClass("navigation-level-3-sticky"),t.removeAttr("style"));});}function p(){s.removeClass("navigation-level-3-active"),e.removeClass("active"),t.removeClass("active").attr("aria-expanded",!1),t.find("a").first().blur(),d="false";}function f(){"true"===d?p():(s.addClass("navigation-level-3-active"),e.addClass("active"),t.addClass("active").attr("aria-expanded",!0),t.find("a").first().focus(),d="true");}var m,v=o()("[data-sitecore-js-trigger=submenu]"),g=o()("[data-sitecore-js-target=submenu]");function h(){v.find(g).addClass("inactive").attr("aria-hidden",!0),setTimeout(function(){v.find(g).removeClass("inactive active");},250);}r.on("keyup",function(e){27===e.keyCode&&"true"===d&&p();}),a.on("click",function(){p();}),e.on("click",function(){f();}),v.on("mouseover",function(e){"mouse"===whatInput.ask("intent")&&(clearTimeout(m),function(e){var t=o()(e.currentTarget);t.find(g).addClass("active").attr("aria-hidden",!1),t.siblings().find(g).removeClass("active").attr("aria-hidden",!0);}(e));}).on("mouseleave",function(){"mouse"===whatInput.ask("intent")&&(m=setTimeout(h,600));}),l.on("click",function(e){e.preventDefault(),c.animate({scrollTop:0},800);});},Y=function Y(){var e=o()(".parallax-module"),t=e[0],a=o()(".parallax-module-contents"),n=o()(".parallax-module-images"),s=o()(".parallax-module-image"),l=o()(".parallax-module-contents .parallax-module-slide").length,c=0,d=1,f=1,m=0,v=0,g=0,h=0,b=0,C=0,k=0,y=0,x=0,T=function T(e){e||o()(".parallax-module- -next").removeClass("parallax-module-nav-next--hi"),0===c?o()(".parallax-module-nav-prev").removeClass("parallax-module-nav-arrow--shown"):o()(".parallax-module-nav-prev").addClass("parallax-module-nav-arrow--shown"),c===l-1?o()(".parallax-module-nav-next").removeClass("parallax-module-nav-arrow--shown"):o()(".parallax-module-nav-next").addClass("parallax-module-nav-arrow--shown"),o()(".parallax-module-nav button").removeClass("selected"),o()(".parallax-module-nav li").eq(c).find("button").addClass("selected"),!0,a.stop().animate({"min-width":c},{duration:800,step:function step(e){m=-200*e,v=-100*e,a.css(u,"translateX(".concat(m,"%)")),n.css(u,"translateX(".concat(v*f,"%) scale(").concat(f,")"));},complete:function complete(){return!1;}});};e.length&&(i.on("resize",w(function(t){d=e.height()/e.width()*100,f="mobile"===p.getMedia()?d>70?d/70:1:d>46.666?d/46.666:1,T(!0);})).trigger("resize"),r.on("click",".parallax-module-nav-next",function(e){c=Math.min(l-1,c+1),T();}),r.on("click",".parallax-module-nav-prev",function(e){c=Math.max(0,c-1),T();}),r.on("click",".parallax-module-nav button",function(e){var t=o()(e.currentTarget);c=t.parent().index(),T();}),r.on("mousemove",".parallax-module",function(e){var t=e.clientX,a=e.clientY,n=(o()(e.currentTarget),i.height()>>1),r=i.width()>>1;g=(t-r)/r,h=(a-n)/n;}),window.addEventListener("deviceorientation",function(e){e.gamma&&(g=e.gamma/10,h=-e.beta/10);}),t.addEventListener("touchstart",function(e){y=e.changedTouches[0].screenX;},!1),t.addEventListener("touchend",function(e){x=e.changedTouches[0].screenX,Math.abs(x-y)>50&&(x>y&&(c=Math.max(0,c-1)),x<y&&(c=Math.min(l-1,c+1)),T());},!1),function e(){k+=Math.PI/360,b+=.15*(g-b),C+=.15*(h-C),b+=.1*Math.cos(k),C+=.1*Math.sin(k),s.css(u,"translate(".concat(-b,"%, ").concat(-C,"%)")),o()(".parallax-module-slide").css(u,"translate(".concat(-2*b,"%, ").concat(-2*C,"%)")),requestAnimationFrame(e);}());},R=function R(e){document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement||(document.documentElement.requestFullscreen?document.documentElement.requestFullscreen():document.documentElement.mozRequestFullScreen?document.documentElement.mozRequestFullScreen():document.documentElement.webkitRequestFullscreen?document.documentElement.webkitRequestFullscreen():document.documentElement.msRequestFullscreen&&document.documentElement.msRequestFullscreen()),e||(document.exitFullscreen?document.exitFullscreen():document.msExitFullscreen?document.msExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen());},N=function N(e){var t={hasBeenCalled:!1,hasLoaded:!1,callbackList:[]};if(t.hasLoaded)e();else if(t.hasBeenCalled)t.callbackList.push(e);else{t.hasBeenCalled=!0,i.on("gMapsLoaded",function(){t.hasLoaded=!0;for(var e=0;e<t.callbackList.length;e++){t.callbackList[e]();}}),t.callbackList.push(e);var a=document.createElement("script");a.setAttribute("type","text/javascript"),a.setAttribute("src","https://maps.googleapis.com/maps/api/js?key=".concat(d,"&callback=gMapsCallback")),(document.getElementsByTagName("head")[0]||document.documentElement).appendChild(a);}};window.gMapsCallback=function(){o()(window).trigger("gMapsLoaded");};var W=function W(){o()("[data-map]").length&&(N(function(){var e,t,a=[],n=[],r=!1,i=function i(e,t){var a=e-t;return a+=a>180?-360:a<-180?360:0;},s=function s(e,t,a){var n=Math.min(e,t),o=Math.max(e,t);return a>n&&a<o;},l=function l(t){o()(".streetview-module-pano-container")[t?"addClass":"removeClass"]("streetview-module-pano-container--fs"),o()(".streetview-module-info")[t?"addClass":"removeClass"]("streetview-module-info--fs").removeClass("streetview-module-info--fs--closed"),o()(".streetview-module-controls-fullscreen")[t?"addClass":"removeClass"]("streetview-module-controls-fullscreen--fs"),google.maps.event.trigger(e.data("pano"),"resize");},c=function c(e){void 0!==document.fullscreenElement&&null===document.fullscreenElement||void 0!==document.msFullscreenElement&&null===document.msFullscreenElement||!1===document.mozFullScreen||!1===document.webkitIsFullScreen?l(!1):l(!0);};document.fullscreenEnabled||document.webkitFullscreenEnabled||document.mozFullScreenEnabled||document.msFullscreenEnabled||o()(".streetview-module-controls-fullscreen").attr({disabled:"disabled",title:"Your browser does not support the fullscreen mode"}),document.addEventListener("fullscreenchange",c),document.addEventListener("webkitfullscreenchange",c),document.addEventListener("mozfullscreenchange",c),document.addEventListener("MSFullscreenChange",c),o()(".streetview-module-controls-fullscreen").on("click",function(e){o()(".streetview-module-pano-container").hasClass("streetview-module-pano-container--fs")?R(!1):R(!0);}),o()(".streetview-module-controls-autopan").on("click",function(e){var t=o()(e.target);t.is(".streetview-module-controls-autopan--playing")?(r=!1,t.removeClass("streetview-module-controls-autopan--playing")):(r=!0,t.addClass("streetview-module-controls-autopan--playing"),function e(){var t=o()("[data-map]").data("pano");if(t){var a=t.getPov().heading+.1,n=t.getPov().pitch;t.setPov({heading:a,pitch:n});}r&&requestAnimationFrame(e);}());}).trigger("click"),o()(".streetview-module-info-close").on("click",function(e){o()(e.currentTarget).parent().toggleClass("streetview-module-info--fs--closed");}),o()(".streetview-module-pano-container").on("click",function(e){o()(e.target).closest(".streetview-module-controls-autopan").length||(r=!1,o()(".streetview-module-controls-autopan").removeClass("streetview-module-controls-autopan--playing"));}),o()(".streetview-module-controls-plus, .streetview-module-controls-minus").on("click",function(t){o()(t.target).is(".streetview-module-controls-plus")?e.data("pano").setZoom(2):e.data("pano").setZoom(1);}),o()(".streetview-module-controls-up, .streetview-module-controls-down, .streetview-module-controls-left, .streetview-module-controls-right").on("click",function(e){var a,n=o()(e.target);t=n.parent().prev().data(),n.is(".streetview-module-controls-up")?t.pano.links.forEach(function(e){s(-46,46,i(t.pano.pov.heading,e.heading))&&(a=e);}):n.is(".streetview-module-controls-right")?t.pano.links.forEach(function(e){s(-45,-136,i(t.pano.pov.heading,e.heading))&&(a=e);}):n.is(".streetview-module-controls-left")?t.pano.links.forEach(function(e){s(45,136,i(t.pano.pov.heading,e.heading))&&(a=e);}):n.is(".streetview-module-controls-down")&&t.pano.links.forEach(function(e){(i(t.pano.pov.heading,e.heading)<-135||i(t.pano.pov.heading,e.heading)>135)&&(a=e);}),a&&t.pano.setPano(a.pano);}),e=o()("[data-map]"),t=e.data(),e.data("pano",new google.maps.StreetViewPanorama(e[0],{pano:t.map,linksControl:!1,zoomControl:!1,addressControl:!1,panControl:!1,enableCloseButton:!1,fullscreenControl:!1}));!function a(){0===o()(".gmnoprint").length?setTimeout(function(){return a();},100):(e.data("pano").setPano(o()(o()(".streetview-module-info-block.selected .streetview-module-info-block-button").get(1)).data("pano").split(",")[0]),setTimeout(function(){return e.data("pano").setPano(t.map);},500));}(),t.markers.forEach(function(t,o){a.push(new google.maps.Marker({position:t.latLng,map:e.data("pano"),icon:{url:t.icon,size:new google.maps.Size(30,42),origin:new google.maps.Point(0,0),anchor:new google.maps.Point(15,170)},title:t.title})),n.push(new google.maps.InfoWindow({content:t.info,maxWidth:300})),a[o].addListener("click",function(t){n.forEach(function(e){return e.close();}),n[o].open(e.data("pano"),a[o]);});}),e.data("pano").addListener("pano_changed",function(){o()(".streetview-module-info-block-button:not(.selected)").each(function(t,a){if(o()(a).data("pano").split(",").indexOf(e.data("pano").pano)>-1){var n=o()(a).parent().index()+1;f.trigger("request-pano",n);}}),n.forEach(function(e){return e.close();});}),e.data("pano").addListener("pov_changed",function(){var a=e.data("pano"),n=(a.getPov().heading,{up:!1,down:!1,left:!1,right:!1});if(a.links)for(var r in a.links.forEach(function(e){(i(t.pano.pov.heading,e.heading)<-135||i(t.pano.pov.heading,e.heading)>135)&&(n.down=!0),s(-45,-136,i(a.pov.heading,e.heading))&&(n.right=!0),s(45,136,i(a.pov.heading,e.heading))&&(n.left=!0),s(46,-46,i(a.pov.heading,e.heading))&&(n.up=!0);}),n){var l=o()(".streetview-module-controls-".concat(r));n[r]?l.removeAttr("disabled"):l.attr("disabled","disabled");}});}),r.on("click",".streetview-module-info-block-button",function(e){var t=o()(e.currentTarget),a=t.parent().index()+1;f.trigger("request-pano",a,t.data("pano").split(",")[0]);}),f.on("request-pano",function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];o()(".streetview-module-info-block, .streetview-module-info-block-button").removeClass("selected"),o()(".streetview-module-info-block:nth-child(".concat(e+1,"), .streetview-module-info-block-list li:nth-child(").concat(e,") button")).addClass("selected"),t&&o()("[data-map]").data("pano").setPano(t);}));},V=function V(){var e,t=o()("[data-sitecore-js-trigger=temporal-banner]"),a=o()("[data-sitecore-js-trigger=temporal-banner-close]"),n=t.attr("data-temporal-banner-guid"),r=o()(".site-wrapper"),s=o()("[data-sitecore-js-trigger=tooltip-trigger]"),l=o()("[data-sitecore-js-target=tooltip-trigger]"),c=function c(){o()(t).remove(),o()(".temporal-buffer").remove();},d=function d(){localStorage.getItem("bannerGUID")===n?c():(localStorage.removeItem("bannerGUID"),t.removeClass("closed"));};i.on("load resize",function(){var a;clearTimeout(e),e=setTimeout(function(){var e;0!=t.length&&0===o()(".temporal-buffer").length&&r.append('<div class="temporal-buffer"></div>'),e=t.outerHeight(),o()(".temporal-buffer").height(e);},250),d(),a=localStorage.getItem("bannerCloseTime"),new Date().getTime()-a>12096e5&&(localStorage.removeItem("bannerGUID"),localStorage.removeItem("bannerCloseTime"));}),s.on("click",function(e){!function(e){o()(e.currentTarget).next(l).toggleClass("active");}(e);}),a.on("click",function(){var e;c(),e=new Date().getTime(),localStorage.setItem("bannerGUID",n),localStorage.setItem("bannerCloseTime",e);});},B=function B(){var e;e=document.querySelectorAll(".form-minimal [data-val-required]"),Array.prototype.forEach.call(e,function(e){null!=e.previousElementSibling?e.previousElementSibling.classList.add("field-required"):e.parentElement.classList.add("field-required");});},X=function X(){var e=o()("[data-sitecore-js-trigger=super-modal]"),t=o()("[data-sitecore-js-target=super-modal]"),a=o()("[data-sitecore-js-target=super-modal-iframe]"),n=o()("[data-sitecore-js-trigger=super-modal-close]"),i="false",l="",c=function c(){s.removeClass("super-modal-open"),t.addClass("hide"),n.removeClass("active"),i="false",setTimeout(function(){t.removeClass("shown hide"),a.contents().find("html").html(""),a.removeClass("active");},300);},d=function d(){s.addClass("super-modal-open"),t.addClass("shown").removeClass("hide"),setTimeout(function(){n.addClass("active");},300),i="true",setTimeout(function(){a.get(0).contentWindow.location.replace(l);},300),a.on("load",function(){p(),u(),a.addClass("active");});},u=function u(){a.contents().find("a:not([href^=\\#])").attr("target","_parent");},p=function p(){a.contents().find(".navigation-level-3-module, .navigation-level-4-module, .megafooter-module, .footer-module-wrapper").parents(".module-wrapper").remove(),a.contents().find(".site-header").remove();};e.on("click",function(e){l=e.currentTarget.href,e.preventDefault(),d();}),n.on("click",function(e){c();}),r.on("keyup",function(e){27===e.keyCode&&"true"===i&&c();});},G=function G(){var e=o()("[data-sitecore-js-trigger=grouped-listing-accordion]"),t=o()("[data-sitecore-js-target=grouped-listing-accordion]");e.on("click",function(e){var a=o()(e.currentTarget),n=a.siblings(t);a.toggleClass("active"),a.hasClass("active")?n.addClass("active").attr("aria-expanded",!0):n.removeClass("active").attr("aria-expanded",!1);});},U=function U(){var e=o()("[data-sitecore-js-trigger=small-card-grid-toggle]"),t=o()("[data-sitecore-js-target=small-card-grid-toggle]");e.on("click",function(){var e=o()(this),a=e.next(t);e.remove(),a.addClass("active").attr("aria-expanded",!0),t.find(".small-card-item:first-child a").focus();});},J=function J(){r.on("focusin click",".radio-select button",function(e){var t,a=o()(e.currentTarget);a.addClass("active"),(t=a.parent().find("input[type=radio]:checked").length?a.parent().find("input[type=radio]:checked"):a.parent().find("input[type=radio]").eq(0)).focus(),t.parent().parent().find("label").removeClass("selected"),t.parent().addClass("selected");}),r.on("focusin",".radio-select-list input[type=radio]",function(e){var t=o()(e.currentTarget),a=t.parent().parent().parent().find("button");a.attr("tabindex","1"),a.addClass("active"),t.parent().addClass("hover");}),r.on("focusout",".radio-select-list input[type=radio]",function(e){var t=o()(e.currentTarget);t.parent().removeClass("hover"),o()(e.relatedTarget).parent().parent().parent()!==t.parent().parent().parent()&&t.parent().parent().parent().find("button").removeClass("active").removeAttr("tabindex");}),r.on("change input",".radio-select-list input[type=radio]",function(e){var t=o()(e.currentTarget);t.parent().parent().find("label").removeClass("selected"),t.parent().addClass("selected"),o()(".radio-select-list input[type=radio]").each(function(e,t){var a,n=o()(t).parent().parent().parent().find("button"),r=n.find("span");a=n.parent().find("input[type=radio]:checked").length?n.parent().find("input[type=radio]:checked"):n.parent().find("input[type=radio]").eq(0),r.text(a.parent().text());});});};w(function(e){var t=o()("[name=student-type]:checked").val(),a=o()("[name=course-type]:checked").val();o()(".contact-module .info-snippet").removeClass("shown"),o()('[data-courses="'.concat(a,'"][data-students="').concat(t,'"]')).addClass("shown");});r.foundation(),r.ready(function(){var e,t,a,n,l,d,u,m,g,w,F,R,N,$,Z,Q,K,ee,te,ae,ne,oe,re,ie,se,le,ce,de,ue;f.on("switchMQ",function(e){return b(e);}),i.on("resize",function(e){return C(e);}).trigger("resize"),function(){i.on("message onmessage",function(e){var t=e.data||e.originalEvent.data;"resize"==t.method&&o()("#animation").height(t.params.height);}),i.on("scroll",function(e){if(o()(".site-wrapper").length>0)if(r.scrollTop()<p.getCurrentScroll()){var t=o()(".header-wrapper").height();r.scrollTop()-o()(".site-wrapper").offset().top>40?!1===p.getDisableMenuPopover()&&(o()(".header-wrapper").addClass("header-wrapper--fixed"),o()(".site-wrapper").css("padding-top",t)):(o()(".header-wrapper").removeClass("header-wrapper--fixed"),o()(".site-wrapper").css("padding-top",0));}else o()(".header-wrapper").removeClass("header-wrapper--fixed"),o()(".site-wrapper").css("padding-top",0);p.setCurrentScroll(r.scrollTop()),"desktop"!==p.getMedia()&&o()(".megafooter-module, .profile-module-progress").length>=2?o()(".profile-module-progress").css("top","".concat(Math.min(i.height(),o()(".megafooter-module").parent().parent().offset().top-r.scrollTop()),"px")):o()(".profile-module-progress").css("top",0);var a=o()("#animation");a.length&&a[0].contentWindow.postMessage({method:"setViewTop",params:{viewTop:i.scrollTop()-a.offset().top,underlayFix:!1}},"*");});var e=function e(){o()(".signup-login-modal").removeClass("shown"),o()(".modal-overlay").removeClass("shown");};r.on("click",".close-modal-btn",function(t){t.preventDefault(),e();}),i.on("keyup",function(t){("keyup"===t.type&&27===t.keyCode||"click"===t.type)&&e();});var t,a=0;r.on("click",".modal-hook",function(e){e.preventDefault(),a=o()(document).scrollTop(),o()(e.currentTarget).data("modaal-scope")||o()(e.currentTarget).modaal({fullscreen:!0,type:"inline",start_open:!0,after_close:function after_close(){o()(document).scrollTop(a);},after_open:function after_open(){if(o()(e.currentTarget).data("onmodalopen")){var t=window[o()(e.currentTarget).data("onmodalopen")];t&&t(o()("#"+o()(e.currentTarget).data("modaal-scope")));}if(o()("#"+o()(e.currentTarget).data("modaal-scope")+" iframe[src*='youtube']:not(.study-abroad-video)").length&&o()("#"+o()(e.currentTarget).data("modaal-scope")+" iframe[src*='youtube']")[0].contentWindow.postMessage(JSON.stringify({event:"command",func:"playVideo",args:""}),"*"),o()(".study-abroad-video")){window.onYouTubePlayerAPIReady=function(){o()(".study-abroad-video").each(function(){var e="id"+Math.random().toString(16);o()(this).attr("id",e);var t=new YT.Player(this,{events:{onStateChange:function onStateChange(t){t.data==YT.PlayerState.PLAYING&&o()(".study-abroad-video").each(function(){o()(this).attr("id")!=e&&o()(this).data("youtubeplayer").pauseVideo();});}}});o()(this).data("youtubeplayer",t);});};var a=document.createElement("script");a.src="//www.youtube.com/player_api";var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(a,n);}new Foundation.Accordion(o()(".accordion"),{dataMultiExpand:!0,dataAllowAllClosed:!0}),o()(".modal-tile-carousel").slick({dots:!1,autoplay:!0,autoplaySpeed:8e3,arrows:!0,infinite:!0,centerMode:!0,fade:!0,speed:300,slidesToShow:1,adaptiveHeight:!1,pauseOnDotsHover:!0,cssEase:"linear"});},before_close:function before_close(){o()(".modal-tile-carousel").slick("unslick");}});}),i.on("hashchange",function(e){null!==p.getTopAnchor()&&(window.scrollTo(0,p.getTopAnchor()),p.setTopAnchor(null));}),r.on("click",'.result-item-star, .card-rich-link-save, [class*="-save-btn"]',function(e){return!1;}),r.on("click",".filter-toggle",function(e){o()(e.currentTarget).toggleClass("active").next().toggleClass("show");}),r.on("click",".filter-toggle-chevron",function(e){o()(e.currentTarget).toggleClass("active").next().toggleClass("show");}),r.on("click",".results-action-refine, [data-js-trigger=results-refine]",function(){var e=o()(".header-wrapper").height(),t=o()(".search-filters").closest(".module-wrapper"),a=o()(".site-search-filters-module");t.length>0?o()("html, body").animate({scrollTop:t.offset().top-e},300,function(){var e=t.find("input[type=search]");e.length>0&&e.focus();}):a.length>0?o()("html, body").animate({scrollTop:a.offset().top-e},300,function(){var e=a.find("input[type=search]");e.length>0&&e.focus();}):o()("html, body").animate({scrollTop:o()(this).closest(".module-wrapper").offset().top-e},300,function(){});}),o()(window).on("resize",function(e){clearTimeout(t),t=setTimeout(function(){o()(window).width()>768?o()(".site-search-other-panel").show():o()(".site-search-other-panel").hide();},250);}),o()(".site-search-other-mobile-button").on("click",function(){o()(".site-search-other-panel").slideToggle(),o()("i",this).toggleClass("fa fa-chevron-down fa fa-chevron-up");});}(),k(),function(){var e=o()("[data-sitecore-js-trigger=accordion-list-nested-accordion]"),t=o()("[data-sitecore-js-target=accordion-list-nested-accordion]"),a=o()("[data-sitecore-js-trigger=accordion-list-nested-sub-accordion]"),n=o()("[data-sitecore-js-target=accordion-list-nested-sub-accordion]"),r=window.location.hash;function i(e,t){var a=o()(e.currentTarget),n=a.siblings(t);a.toggleClass("active"),a.hasClass("active")?(n.addClass("active").attr("aria-expanded",!0),a.attr("data-event-purpose","close")):(a.attr("data-event-purpose","open"),n.removeClass("active").attr("aria-expanded",!1),n.find(".active").removeClass("active").attr("aria-expanded",!1)),0!=o()("#"+n.attr("id")).length&&(history.pushState?history.pushState(null,null,"#"+n.attr("id")):location.hash=n.attr("id"),s("#"+n.attr("id")));}function s(e){var t=e.substring(e.lastIndexOf("#")+1),a=o()("#"+t);0!=a.length&&c.animate({scrollTop:a.offset().top-150},500);}""!=r&&function(e){var t=e.substring(e.lastIndexOf("#")+1),a=o()("#"+t),n=a.parents("div"),r=n.attr("class"),i=n.attr("id"),l=a.siblings("button");0!=a.length&&r.match("accordion-list--nested-panel")&&(n.siblings("button").addClass("active").attr("aria-expanded",!0),o()("#"+i).addClass("active").attr("aria-expanded",!0)),l.toggleClass("active"),a.addClass("active").attr("aria-expanded",!0),s(e);}(r),e.on("click",function(e){i(e,t);}),a.on("click",function(e){i(e,n);});}(),(e=o()("[data-js-alert-close=alert-close]")).length&&e.each(function(){var e=o()(this),t=e.parent(),a=e.parent().parent();e.on("click",function(){a.hasClass("module-container")?a.parent().fadeOut(250,function(){a.parent().remove();}):t.fadeOut(250,function(){t.remove();});});}),t=o()("[data-sitecore-js-trigger=advanced-filters-toggle]"),a=o()("[data-sitecore-js-target=advanced-filters-toggle]"),t.on("click",function(e){t.toggleClass("active"),t.find("i").toggleClass("fa-minus").toggleClass("fa-plus"),t.hasClass("active")?(t.attr("aria-label","Hide Advanced Filters"),o()(".advanced-filters-toggle-text").text("Hide Advanced Filters"),a.attr("aria-expanded","true").addClass("active active-transition"),setTimeout(function(){a.removeClass("active-transition");},300)):(t.attr("aria-label","Show Advanced Filters"),o()(".advanced-filters-toggle-text").text("Show Advanced Filters"),a.attr("aria-expanded","false").removeClass("active"));}),n=o()("[data-sitecore-js-trigger=banner-carousel]"),l=o()("[data-sitecore-js-target=banner-carousel]"),d=0,n.each(function(){d++,o()(this).attr("data-slick-index",d),o()(this).find(l).slick({nextArrow:'<button class="slick-next slick-arrow" aria-label="Next Slide" type="button" aria-disabled="false"></button>',prevArrow:'<button class="slick-prev slick-arrow" aria-label="Previous Slide" type="button" aria-disabled="false"></button>',appendArrows:"[data-slick-index=".concat(d,"] ").concat("[data-sitecore-js-trigger=banner-carousel-navigation]"),dots:!1,draggable:!1,infinite:!0,speed:750,slidesToShow:1,slidesToScroll:1,useTransform:!0,cssEase:"cubic-bezier(0.165, 0.84, 0.44, 1)",waitForAnimate:!1,rows:0});}),o()(".tile-content-info").dotdotdot({ellipsis:"... ",wrap:"letter",fallbackToLetter:!0,after:null,watch:!0,height:null,tolerance:0}),function(){var e=o()("[data-sitecore-js-trigger=dropdown-menu]"),t=o()("[data-sitecore-js-trigger=dropdown-menu-item]");e.on("click",function(e){var t=o()(e.currentTarget);t.next("[data-sitecore-js-target=dropdown-menu]").toggleClass("active"),t.toggleClass("active");}),t.on("change",function(e){var t=o()(e.currentTarget),a=t.attr("name"),n=t.prev("label"),r=o()("[name=".concat(a,"]:checked")).prev().text(),i=t.closest("[data-sitecore-js-scope=dropdown-radio-menu]").find("[data-sitecore-js-target=dropdown-menu-text]"),s=t.closest("[data-sitecore-js-scope=dropdown-radio-menu]").find("[data-sitecore-js-target=dropdown-menu]");i.text(r),n.addClass("active"),n.parent().siblings().find("label").removeClass("active"),thisTrigger.removeClass("active"),s.removeClass("active");});}(),r.on("click",".engagement-carousel-item-modal, .tile-masonry-list-item-modal",function(e){e.preventDefault();var t=o()(e.currentTarget);t.data("modaal-scope")?t.modaal({fullscreen:!0,type:"inline",after_open:function after_open(){o()(t.attr("href")+"-carousel").slick({dots:!0,autoplay:!1,arrows:!0,infinite:!0,fade:!0,speed:300,slidesToShow:1,adaptiveHeight:!0,cssEase:"linear"}),o()(t.attr("href")+"-carousel").on("beforeChange",function(e,t,a,n){var r=JSON.stringify({event:"command",func:"pauseVideo",args:""});o()("iframe",t.$slides[a]).length&&o()("iframe",t.$slides[a])[0].contentWindow.postMessage(r,"*");});},before_close:function before_close(){o()(t.attr("href")+"-carousel").slick("unslick");}}):(t.modaal({fullscreen:!0,type:"inline",after_open:function after_open(){o()(t.attr("href")+"-carousel").slick({dots:!0,autoplay:!1,arrows:!0,infinite:!0,fade:!0,speed:300,slidesToShow:1,adaptiveHeight:!0,cssEase:"linear"}),o()(t.attr("href")+"-carousel").on("beforeChange",function(e,t,a,n){var r=JSON.stringify({event:"command",func:"pauseVideo",args:""});o()("iframe",t.$slides[a]).length&&o()("iframe",t.$slides[a])[0].contentWindow.postMessage(r,"*");});},before_close:function before_close(){o()(t.attr("href")+"-carousel").slick("unslick");}}),setTimeout(function(){return t.trigger("click");},20));}),y(),x(),T(),r.on("click",".small-modal-hook",function(e){e.preventDefault();var t=o()(e.currentTarget).attr("href");if(o()(t).addClass("shown"),o()(".modal-overlay").addClass("shown"),o()(t).focus(),o()(e.currentTarget).data("onmodalopen")){var a=window[o()(e.currentTarget).data("onmodalopen")];a&&a(o()(t));}}),j(),o()("[data-sitecore-js-trigger=tooltip-dropdown]").on("click",function(e){o()(e.currentTarget).next("[data-sitecore-js-target=tooltip-dropdown]").toggleClass("active");}),r.on("change input keyup",".segmented-control input[type=radio]",E),o()(".segmented-control input[type=radio]:checked").trigger("change"),J(),o()(".career-carousel").slick({dots:!0,autoplay:!0,autoplaySpeed:8e3,arrows:!1,infinite:!0,centerMode:!0,fade:!0,speed:300,slidesToShow:1,adaptiveHeight:!1,pauseOnDotsHover:!0,pauseOnHover:!0,pauseOnFocus:!0,cssEase:"linear"}),o()(".tile-carousel").slick({dots:!1,autoplay:!0,autoplaySpeed:8e3,arrows:!0,infinite:!0,centerMode:!0,fade:!0,speed:300,slidesToShow:1,adaptiveHeight:!1,pauseOnDotsHover:!0,pauseOnHover:!0,pauseOnFocus:!0,cssEase:"linear"}),o()(".card-carousel").slick({dots:!0,autoplay:!0,autoplaySpeed:8e3,arrows:!1,infinite:!0,centerMode:!0,fade:!0,speed:300,slidesToShow:1,adaptiveHeight:!1,pauseOnDotsHover:!0,pauseOnHover:!0,pauseOnFocus:!0,cssEase:"linear"}),U(),S(),function(){i.bind("popstate",function(e){var t=document.location.hash;o()('a[href="'+t+'"]').click();});var e,t=document.location.hash;o()("[class*=-module-nav-button]").each(function(a,n){e=o()(n),t===e.attr("href")&&(o()("[role=tab]").attr("aria-selected","false"),e.attr("aria-selected","true"),o()("[role=tabpanel]").attr("aria-hidden","true"),o()(t).attr("aria-hidden","false"));}),r.on("click","[data-trigger=tabbed-navigation]",function(e){p.setDisableMenuPopover(!0);var t=o()(e.currentTarget),a=t.parent().parent().height(),n=window.pageYOffset-a-78;p.setTopAnchor(n),o()("[role=tab]").attr("aria-selected","false"),t.attr("aria-selected","true"),o()("[role=tabpanel]").attr("aria-hidden","true"),o()(t.attr("href")).attr("aria-hidden","false"),setTimeout(function(){p.setDisableMenuPopover(!1);},1e3),window.google&&setTimeout(function(){return google.maps.event.trigger(o()("[data-map]").data("pano"),"resize");},500);});}(),r.on("click","[data-trigger=modal-tabbed-navigation]",function(e){p.setDisableMenuPopover(!0);var t=o()(e.currentTarget),a=t.attr("data-tab-id"),n=o()("[data-trigger=tabbed-modal-nav-list]"),r=o()("[data-trigger=tabbed-modal-nav-tabs]");n.find("[data-trigger=modal-tabbed-navigation]").attr("aria-selected","false"),t.attr("aria-selected","true"),r.find(".panel-tab").attr("aria-hidden","true"),r.find("#"+a).attr("aria-hidden","false"),setTimeout(function(){p.setDisableMenuPopover(!1);},1e3);}),u=0,o()(".nav-wrapper").show(),o()(".nav-wrapper a, .nav-wrapper button, .nav-wrapper input, .uwa-wrapper a, .uwa-wrapper button, .uwa-wrapper input").attr("tabindex","-1").attr("aria-hidden","true"),r.on("click",".js-login-modal-trigger",function(e){0!=o()(".signup-login-modal").length&&("#login"!==e.currentTarget.hash&&"#register"!==e.currentTarget.hash||(e.preventDefault(),window.location.replace(window.location.protocol+"//"+window.location.host+"/study/login")));}),r.on("click",'[href="#menu"], [href="#search"]',function(e){e.preventDefault(),u=r.scrollTop(),o()("body, html").animate({scrollTop:0},150),s.addClass("nav-opened"),o()(".nav-close-btn").focus(),o()(".nav-wrapper a, .nav-wrapper button, .nav-wrapper input, .uwa-wrapper a, .uwa-wrapper button, .uwa-wrapper input").removeAttr("tabindex").attr("aria-hidden","false"),A();}),r.on("click",".nav-close-btn, .site-overlay",function(e){e.preventDefault(),s.removeClass("nav-opened").addClass("nav-closed"),o()("body, html").animate({scrollTop:u},150),setTimeout(function(){o()(".uwa-wrapper").scrollTop(0),o()(".nav-main-panes > ul").removeAttr("class"),o()(".nav-main-panes ul, .nav-main-panes li, .nav-nextlevel").removeClass("selected");},250),o()(".site-wrapper").css("transform","");}),r.on("click",".uwa-button",function(e){e.preventDefault(),s[s.hasClass("uwa-opened")?"removeClass":"addClass"]("uwa-opened");}),r.on("click",' .save-login[href="#"]',function(e){e.preventDefault(),M();}),o()(".nav-site-search .future-students-search, .site-search-filters .future-students-search").change(function(){var e=o()(":selected",this).val(),t=o()(":selected",this).html();this.parentNode.querySelector("span").textContent=t,o()(this).closest(".future-students-search").attr("action",e);}),m=o()(".megafooter-module-info-this-page"),r.on("change input","#this-page",function(e){o()(e.currentTarget).is(":checked")?m.addClass("shown"):m.removeClass("shown");}),L(),P(),r.on("click",".course-header-module-nav-button:not(.course-header-module-nav-button-mobile), .degree-header-module-nav-button:not(.degree-header-module-nav-button-mobile), .program-header-module-nav-button:not(.program-header-module-nav-button-mobile), .accomodation-header-module-nav-button:not(.accomodation-header-module-nav-button-mobile)",function(e){return q(e);}),q(),i.on("scroll",D),D(),I(),g=o()("[data-sitecore-js-trigger=page-anchor]"),w=o()("[data-sitecore-js-trigger=sticky-header]"),g.on("click",function(e){var t=o()(this).attr("href"),a="";a=w.length?w.height():0,c.animate({scrollTop:o()(t).offset().top-a},350);}),function(){var e=o()("[data-sitecore-js-target=card-carousel-list]"),t="[data-sitecore-js-trigger=card-carousel-navigation--list]",a=0,n=[];function r(t,a){var n=o()(t.currentTarget).parents("[data-sitecore-js-trigger=card-carousel-list]").attr("data-slick-carousel-index"),r=(o()(t.currentTarget).parents().find("[data-slick-carousel-page-anchor-index=".concat(n,"]")).attr("data-overflow-scroll-navigation-index"),o()("[data-slick-carousel-index=".concat(n,"]")).find(e)),i=o()("[data-slick-carousel-page-anchor-index=".concat(n,"]")),s=parseInt(r.find(".slick-current").attr("data-slick-index"));i.find(".list-card-anchor-link").siblings().removeClass("active"),i.find(".list-card-anchor-link [data-slide=".concat(s,"]")).parent().addClass("active");}o()("[data-sitecore-js-trigger=card-carousel-list]").each(function(){a++,o()(this).attr("data-slick-carousel-index",a),o()(this).siblings().find("[data-sitecore-js-trigger=card-carousel-anchor-link]").attr("data-slick-carousel-page-anchor-index",a),n[a]=0,o()(this).find(e).slick({nextArrow:'<button class="slick-next slick-arrow" aria-label="Next" type="button" aria-disabled="false"><i class="fa fa-angle-right"></i></button>',prevArrow:'<button class="slick-prev slick-arrow" aria-label="Previous" type="button" aria-disabled="false"><i class="fa fa-angle-left"></i></button>',appendArrows:"[data-slick-carousel-index=".concat(a,"] ").concat(t),dots:!1,infinite:!0,slidesToShow:1,slidesToScroll:1,centerMode:!0,centerPadding:"0",variableWidth:!0,draggable:!1,useTransform:!0,cssEase:"cubic-bezier(0.165, 0.84, 0.44, 1)",mobileFirst:!0});}),o()("[data-sitecore-js-trigger=card-carousel-anchor-link]").children().on("click",function(t){var a=o()(t.currentTarget);t.preventDefault(),a.addClass("active").siblings().removeClass("active");var n=a.children().attr("data-slide"),r=a.parent().attr("data-slick-carousel-page-anchor-index");o()("[data-slick-carousel-index=".concat(r,"]")).find(e).slick("slickGoTo",n);}),o()(t).find(".slick-prev").on("click",function(e){r(e);}),o()(t).find(".slick-next").on("click",function(e){r(e);}),e.on("swipe",function(e,t,a){r(e);});}(),function(){var e=o()("[data-sitecore-js-trigger=card-carousel-medium]"),t=o()("[data-sitecore-js-target=card-carousel-medium]"),a=0;e.each(function(){a++,o()(this).attr("data-slick-index",a),o()(this).find(t).slick({nextArrow:'<button class="slick-next slick-arrow" aria-label="Next" type="button" aria-disabled="false"><i class="fa fa-angle-right"></i></button>',prevArrow:'<button class="slick-prev slick-arrow" aria-label="Previous" type="button" aria-disabled="false"><i class="fa fa-angle-left"></i></button>',appendArrows:"[data-slick-index=".concat(a,"] ").concat("[data-sitecore-js-trigger=card-carousel-navigation--medium]"),dots:!1,infinite:!0,slidesToShow:1,slidesToScroll:1,centerMode:!0,centerPadding:"0",variableWidth:!0,draggable:!1,useTransform:!0,cssEase:"cubic-bezier(0.165, 0.84, 0.44, 1)"});});}(),function(){var e=o()("[data-sitecore-js-trigger=card-carousel-small]"),t=o()("[data-sitecore-js-target=card-carousel-small]"),a=0;e.each(function(){a++,o()(this).attr("data-slick-index",a),o()(this).find(t).slick({nextArrow:'<button class="slick-next slick-arrow" aria-label="Next" type="button" aria-disabled="false"><i class="fa fa-angle-right"></i></button>',prevArrow:'<button class="slick-prev slick-arrow" aria-label="Previous" type="button" aria-disabled="false"><i class="fa fa-angle-left"></i></button>',appendArrows:"[data-slick-index=".concat(a,"] ").concat("[data-sitecore-js-trigger=card-carousel-navigation--small]"),dots:!1,infinite:!0,centerMode:!0,centerPadding:"0",slidesToShow:1,slidesToScroll:1,variableWidth:!0,draggable:!1,useTransform:!0,cssEase:"cubic-bezier(0.165, 0.84, 0.44, 1)",mobileFirst:!0});});}(),function(){var e=o()("[data-sitecore-js-trigger=dash-carousel-courses]"),t=o()("[data-sitecore-js-target=dash-carousel-courses]"),a=0;e.each(function(){a++,o()(this).attr("data-slick-index",a),o()(this).find(t).slick({nextArrow:'<button class="slick-next slick-arrow" aria-label="Next" type="button" aria-disabled="false"><i class="fa fa-angle-right"></i></button>',prevArrow:'<button class="slick-prev slick-arrow" aria-label="Previous" type="button" aria-disabled="false"><i class="fa fa-angle-left"></i></button>',appendArrows:"[data-slick-index=".concat(a,"] ").concat("[data-sitecore-js-trigger=dash-carousel-navigation--small]"),dots:!0,infinite:!1,centerMode:!1,slidesToShow:3,slidesToScroll:3,variableWidth:!1,draggable:!1,useTransform:!0,cssEase:"cubic-bezier(0.165, 0.84, 0.44, 1)",mobileFirst:!0,responsive:[{breakpoint:1024,settings:{slidesToShow:3,slidesToScroll:3}},{breakpoint:800,settings:{slidesToShow:2,slidesToScroll:2}},{breakpoint:600,settings:{slidesToShow:1,slidesToScroll:1}},{breakpoint:480,settings:{slidesToShow:1,slidesToScroll:1}}]});});}(),r.on("click",".dashboard-filters button",function(e){o()(".dashboard .alert").addClass("hidden"),o()(".dashboard-filters button").removeClass("selected");var t=o()(e.currentTarget);t.addClass("selected"),t.is(":first-child")?o()(".dashboard .card").removeClass("hidden"):t.is(":nth-child(2)")?(0===o()(".dashboard .card:not(.recommended)").length&&o()(".dashboard .alert").removeClass("hidden"),o()(".dashboard .card:not(.recommended)").removeClass("hidden"),o()(".dashboard .card.recommended").addClass("hidden")):(o()(".dashboard .card:not(.recommended)").addClass("hidden"),o()(".dashboard .card.recommended").removeClass("hidden")),h(p.getMedia());}),F=o()("#panel1-label"),R=o()("#panel2-label"),N=o()("#panel1"),$=o()("#panel2"),Z=o()("#dash-tabs").closest(".module-wrapper"),Q=N.find(".small-dash-item").length,K=$.find(".small-dash-item").length,0!==Q||0!==K?(Z.removeClass("hide"),F.find("._red-count").text(Q),R.find("._red-count").text(K),0===Q&&(F.attr("aria-selected","false"),F.parents(".tabs-title:first").removeClass("is-active").addClass("is-disabled"),R.attr("aria-selected","true").parents(".tabs-title:first").addClass("is-active"),N.removeClass("is-active").hide(),$.addClass("is-active")),0===K&&(R.parents(".tabs-title:first").addClass("is-disabled"),$.hide())):Z.remove(),ee=o()("[data-sitecore-js-trigger=dashboard-highlight]"),te=o()("[data-sitecore-js-target=dashboard-highlight]"),ee.on("click",function(e){var t=o()(e.currentTarget),a=t.find("fa");t.toggleClass("active"),a.toggleClass("active"),te.toggleClass("active");}),function(){var e=o()("[data-sitecore-js-trigger=carousel-video]"),t=o()("[data-sitecore-js-target=carousel-video-container]"),a=o()("[data-sitecore-js-target=carousel-video-iframe]"),n=o()("[data-sitecore-js-scope=carousel-video]"),r=o()(".info-banner-video iframe, .dynamic-banner-video-foreground iframe, .video-panel iframe");if(window.onYouTubeIframeAPIReady=function(){r.each(function(){var e=o()(this),t=new YT.Player(this,{events:{onStateChange:function onStateChange(a){e.hasClass("bg-video")?a.data===YT.PlayerState.ENDED&&t.playVideo():event.data!==YT.PlayerState.ENDED&&event.data!==YT.PlayerState.PAUSED||o()(".info-banner-video-container").removeClass("shown");},onReady:function onReady(){e.hasClass("bg-video")&&(t.mute(),t.playVideo());}}});o()(this).data("youtubeplayer",t);}),a.each(function(){var e=o()(this),a=new YT.Player(this,{events:{onStateChange:function onStateChange(a){a.data!==YT.PlayerState.ENDED&&a.data!==YT.PlayerState.PAUSED||(e.parents(t).removeClass("shown"),e.parents(n).find("img").removeClass("hidden"));}}});o()(this).data("youtubeplayer",a);});},r.length>0||a.length>0){var i=document.createElement("script");i.type="text/javascript",i.src="https://www.youtube.com/iframe_api",o()("head").append(i);}o()(".info-banner-carousel-slide, .info-banner-container").each(function(){var e=o()(this),t=e.find(".info-banner-video-container");e.find(".info-banner-play-video").click(function(){var a=e.find("iframe").data("youtubeplayer");t.addClass("shown"),a.playVideo();});}),n.each(function(){var a=o()(this),n=a.find(t);a.find(e).on("click",function(){var e=a.find("iframe").data("youtubeplayer");n.addClass("shown"),a.find("img").addClass("hidden"),e.playVideo();});});}(),o()(".dynamic-banner-carousel").slick({dots:!0,autoplay:!1,autoplaySpeed:8e3,arrows:!1,infinite:!0,centerMode:!0,fade:!0,speed:300,slidesToShow:1,adaptiveHeight:!1,pauseOnDotsHover:!0,pauseOnHover:!0,pauseOnFocus:!0,cssEase:"linear"}).on("beforeChange",function(e,t,a,n){var r=o()(".slick-current").find("iframe");if(r.length>0){var i=r.data("youtubeplayer");!r.hasClass("bg-video")&&i&&i.pauseVideo();}}),O(),G(),o()(".info-banner-content").slick({dots:!0,autoplay:!0,autoplaySpeed:8e3,arrows:!0,infinite:!0,centerMode:!0,fade:!0,speed:300,slidesToShow:1,adaptiveHeight:!1,pauseOnDotsHover:!0,pauseOnHover:!0,pauseOnFocus:!0,cssEase:"linear"}).on("beforeChange",function(e,t,a,n){var r=o()(".slick-current").find("iframe");if(r.length>0){var i=r.data("youtubeplayer");!r.hasClass("bg-video")&&i&&i.pauseVideo();}}),function(){if(o()(".interactive-map-module").length){var e=function e(_e2){o()(".interactive-map-tooltip").css({top:_e2.pageY-o()(".interactive-map-module").offset().top+"px",left:_e2.pageX+"px"});},t=(o()(".interactive-map-module text").get().map(function(t){var a=t.getAttribute("id").replace("-label",""),n=o()("#".concat(a,"-stroke")),r=o()("#".concat(a,"-hit")),s=o()("#".concat(a,"-circle")),l=o()(t),c=l.data("duration");return document.addEventListener("focus",function(e){o()(".interactive-map-stroke").removeClass("interactive-map-stroke--hovered"),o()(".interactive-map-tooltip").removeClass("interactive-map-tooltip--shown");var t=o()(e.target);t.is(".interactive-map-hit")&&(t.data("duration")&&(o()(".interactive-map-tooltip").addClass("interactive-map-tooltip--shown"),o()(".interactive-map-tooltip").css({top:t.offset().top-o()(".interactive-map-module").offset().top+"px",left:t.offset().left-o()(".interactive-map-module").offset().left+"px"}),o()(".interactive-map-tooltip-title").text("".concat(t.data("name")," to Perth")),o()(".interactive-map-tooltip-duration span").text("".concat(t.data("duration")," hours"))),t.data("stroke").addClass("interactive-map-stroke--hovered"));},!0),n.add(s).add(l).add(r).data("stroke",n).data("duration",c).data("name",a).hover(function(t){var a=o()(t.currentTarget);a.data("duration")&&(o()(".interactive-map-tooltip").addClass("interactive-map-tooltip--shown"),i.on("mousemove",e).trigger("mousemove"),o()(".interactive-map-tooltip-title").text("".concat(a.data("name")," to Perth")),o()(".interactive-map-tooltip-duration span").text("".concat(a.data("duration")," hours"))),a.data("stroke").addClass("interactive-map-stroke--hovered");},function(t){o()(".interactive-map-tooltip").removeClass("interactive-map-tooltip--shown"),i.off("mousemove",e),o()(t.currentTarget).data("stroke").removeClass("interactive-map-stroke--hovered");}),{name:a,stroke:n,hit:r,circle:s,label:l,duration:c};}),function(e){c.hasClass("zoomed")&&(s=a-e.pageX,l=n-e.pageY,c.css({top:Math.max(d.height()-c.height(),Math.min(0,parseInt(c.css("top"))-l))+"px",left:Math.max(d.width()-c.width(),Math.min(0,parseInt(c.css("left"))-s))+"px"}),n=e.pageY,a=e.pageX);}),a=0,n=0,s=0,l=0,c=o()(".interactive-map-desktop"),d=o()(".interactive-map-module");c.clone().removeClass("interactive-map-desktop").addClass("interactive-map-mobile").prependTo(o()(".interactive-map-module")),c.on("mousedown",function(e){n=e.pageY,a=e.pageX,i.on("mousemove",t);}),r.on("mouseup",function(e){n=e.pageY,a=e.pageX,i.off("mousemove",t);}),o()(".interactive-map-module-controls-plus").on("click",function(e){o()(e.currentTarget).attr("disabled",!0),o()(".interactive-map-module-controls-minus").removeAttr("disabled"),c.addClass("zoomed");}),o()(".interactive-map-module-controls-minus").on("click",function(e){c.removeAttr("style"),o()(e.currentTarget).attr("disabled",!0),o()(".interactive-map-module-controls-plus").removeAttr("disabled"),c.removeClass("zoomed");}),o()(".interactive-map-list > button").on("click",function(e){o()(".interactive-map-list-content").addClass("interactive-map-list-content--shown");}),o()(".interactive-map-list-header").on("click",function(e){o()(".interactive-map-list-content").removeClass("interactive-map-list-content--shown");}),o()(".interactive-map-list-content ul button").on("click",function(e){o()(".interactive-map-list-content").removeClass("interactive-map-list-content--shown");var t=o()(e.target).text();o()(".interactive-map-list-content ul button").removeClass("selected"),o()(e.target).addClass("selected"),o()("path, text, g").removeClass("shown"),o()(".interactive-map-mobile #".concat(t,"-stroke, .interactive-map-mobile #").concat(t,"-label, .interactive-map-mobile #").concat(t,"-circle, .interactive-map-mobile #Perth-label, .interactive-map-mobile #Perth-circle")).addClass("shown"),o()(".interactive-map-tooltip-title").text("".concat(t," to Perth")),o()(".interactive-map-tooltip-duration span").text("".concat(o()(".interactive-map-mobile #".concat(t,"-label")).data("duration")," hours"));}).eq(0).trigger("click");}}(),ae=o()("[data-navigation-global-type=accordion]"),ne=o()("[data-sitecore-js-trigger=navigation-global-level-1--accordion]"),oe=ae.find("[data-sitecore-js-trigger=navigation-global-level-2]"),re=ae.find("[data-sitecore-js-target=navigation-global-level-2]"),ie="true",ne.on("click",function(e){o()(e.currentTarget).toggleClass("active"),ne.hasClass("active")?(s.addClass("navigation-global-accordion-active"),ae.addClass("active").attr("aria-expanded",!0),ne.find(".fa").addClass("fa-chevron-up").removeClass("fa-bars"),"true"===ie&&(ae.find(".active").find(re).slideDown().attr("aria-expanded",!0),ie="false")):(s.removeClass("navigation-global-accordion-active"),ae.removeClass("active").attr("aria-expanded",!1),ne.find(".fa").addClass("fa-bars").removeClass("fa-chevron-up"));}),re.hide().attr("aria-expanded",!1),oe.on("click",function(e){var t=o()(e.currentTarget),a=t.siblings(re),n=t.parent();n.hasClass("active")?(n.removeClass("active"),a.slideUp(),a.attr("aria-expanded",!1)):(n.addClass("active"),a.slideDown(),a.attr("aria-expanded",!0));}),z(),H(),_(),se=o()("#onesearch-input"),le=o()("#onesearch-query"),ce=o()("#onesearch-scope"),de=o()("#onesearch-tab"),ue=o()("#onesearch-form"),o.a.widget("custom.oneSearchAutocomplete",o.a.ui.autocomplete,{_renderItem:function _renderItem(e,t){var a=t.value;return t=o()("<li>").attr("data-value",a),a.length>3?t.append("<div>"+a[0]+' &nbsp;<i class="fa fa-search"></i> <em>'+a[3]+"</em></div>"):t.append("<div>"+a[0]+"</div>"),t.appendTo(e);}}),se.oneSearchAutocomplete({minLength:2,source:function source(e,t){o.a.ajax({url:"https://primo-instant-apac.hosted.exlibrisgroup.com/solr/ac?callback=JSON_CALLBACK&facet=off&fq=scope:()%2BAND%2Bcontext:(B)&rows=6&wt=json",dataType:"jsonp",jsonp:"json.wrf",data:{q:e.term},success:function success(e){for(var a=se.val(),n=[{value:[a,"MyInst_and_CI","Everything","OneSearch"],label:'Search for "'+a+'" in OneSearch'},{value:[a,"MyInstitution","Catalogue","Exclude Articles &amp; Reviews"],label:'Search for "'+a+'" excluding Articles &amp; Reviews'}],o=0;o<e.response.docs.length;o++){n.push({value:[e.response.docs[o].text,"MyInst_and_CI","Everything"],label:e.response.docs[o].text});}t(n);}});},select:function select(e,t){le.val("any,contains,"+t.item.value[0].toLowerCase()),ce.val(t.item.value[1]),de.val(t.item.value[2]),t.item.value=t.item.value[0],ue.submit();},focus:function focus(e,t){se.val(t.item.value[0]),e.preventDefault();}}),ue.submit(function(){le.val("any,contains,"+se.val());}),Y(),h(),v(),function(){var e="[data-sitecore-js-trigger=results-filter-inline]",t=o()("[data-sitecore-js-target=results-filter-btn]"),a="[data-sitecore-js-trigger=results-filter-btn]",n="[data-sitecore-js-scope=results-filter]";if(o()(n).length){var r=0,i="",s="";o()(a).on("click",function(t){var l=o()(t.currentTarget),c=l.siblings(e),d=l.parents(n),u=d.attr("data-sitecore-js-element");(s=u)===i?0===r?(l.addClass("active"),c.addClass("active results-".concat(s)),r=1):(l.removeClass("active"),c.removeClass("active results-".concat(s)),r=0):(i=s,l.addClass("active"),c.addClass("active results-".concat(s)),r=1,d.siblings(n).find(a).removeClass("active"),d.siblings(n).find(e).removeClass("active"));}),o()(e).find("input").on("change",function(i){var s=o()(i.currentTarget),l=s.val(),c=s.parents(n).attr("data-sitecore-js-element");"all"===l.toLowerCase()?s.parents(n).find(t).html("All"):s.parents(n).find(t).html("(1)"),"filter"===c?s.parents(n).find(a).attr("title","Filter by ".concat(l)):(s.parents(n).find(a).attr("title","Sort by ".concat(l)),s.parents(n).find("[data-sitecore-js-target=results-filter-btn-sort-desktop]").html(l)),s.parents(n).find(a).removeClass("active"),s.parents(n).find(e).removeClass("active"),r=0;});}}(),X(),V(),W(),function(){r.on("click",".video-panel-close",function(e){e.preventDefault();var t=o()(".video-panel.active iframe").data("youtubeplayer");t&&t.pauseVideo(),s.removeClass("modaal-noscroll"),o()(".video-panel").removeClass("active"),o()(".video-wall-result").removeClass("current");}),r.on("click",".video-wall-result",function(e){e.preventDefault(),"desktop"!==p.getMedia()&&s.addClass("modaal-noscroll"),o()(".video-panel").removeClass("active"),o()(".video-wall-result").removeClass("current"),o()(o()(e.currentTarget).attr("href")).addClass("active"),o()(e.currentTarget).addClass("current"),o()(e.currentTarget).find(".video-panel-content").focus();var t=o()(o()(e.currentTarget).attr("href")).find("iframe").data("youtubeplayer");t&&t.playVideo();}),window.location.hash&&o()('a[href="'+window.location.hash+'"]').click();var e=function(e,t){t||(t=window.location.href);e=e.replace(/[\[\]]/g,"\\$&");var a=new RegExp("[?&]"+e+"(=([^&#]*)|&|#|$)").exec(t);return a?a[2]?decodeURIComponent(a[2].replace(/\+/g," ")):"":null;}("selectedStoryId",window.location);e&&o()('a[href="#'+e+'"]').click();}(),B();}),window.initWelcomeMessageModal=function(){var e=o()("[data-sitecore-js-target=welcome-message-modal-overlay]"),t=o()("[data-sitecore-js-target=welcome-message-modal]"),a=o()("[data-sitecore-js-target=welcome-message-modal-content]"),n=o()("[data-sitecore-js-trigger=welcome-message-modal-close]"),r=function a(o){("keyup"===o.type&&27===o.keyCode||"click"===o.type)&&(t.addClass("hide"),setTimeout(function(){e.removeClass("shown hide"),t.removeClass("shown hide"),n.off("click",a),i.off("keyup",a),s.off("focusin",l),s.removeClass("modaal-noscroll"),e.attr("aria-hidden","true");},300));},l=function l(e){o.a.contains(t[0],e.target)||a.focus();};e.attr("aria-hidden","false").addClass("shown"),t.addClass("shown"),n.on("click",r),a.click().focus(),s.addClass("modaal-noscroll"),i.on("keyup",r),s.on("focusin",l);},window.loadMapApi=N,window.initSignupLoginModal=M,window.initSuperModal=X,window.groupedListingAccordion=G,window.smallCardGridTrigger=U,window.addRadioSelectListeners=J,window.rebrandedForms=x,window.accordionComponent=k,window.uwaDataLayer=function(e,t,a,n,o){dataLayer.push({event:"uwa.formSubmit",uwa:{formAction:e,formId:t,formTitle:a,formURL:n,searchTerm:o}});};}]);;'use strict';/* Form Advanced */var FormsAdvanced=function(){var init=function init(){setupSwitches();setupFormItem();setupValidation();};var setupValidation=function setupValidation(){// propagate the required attribute as a parent class so we can style.
$('.form-advanced .form-item input:required').parents('.form-item').addClass('js-required');};var setupFormItem=function setupFormItem(){// Add class states of the input to the parent wrapper
// This allows condensed mode, with smart labels over the input
var item_update=function item_update(event){var elem=$(this);turnary_class(elem.parent(),elem.val().length,'js-state-full','js-state-empty');turnary_class(elem.parent(),elem.is(':focus'),'js-state-focus','js-state-blur');};$('.form-advanced .form-item > input').each(function(){var elem=$(this);// abort if not an input with text dimensions
if(!elem.attr('type').match('(text|select|password)'))return;// Add state classes and and the parent label to turn on the css
item_update.call(this);// elem.parent().addClass('js-overlay-label');
elem.on('change focus blur',item_update);// make sure clicking the label focuses the input
elem.parent().find('>label').click(function(){elem.focus();});});};var setupSwitches=function setupSwitches(){var switch_update=function switch_update(event,is_selector,class_selector){// radios, checkboxes and toggles need a presentation class on the parent label element.
// The inputs are opacity:0 so they still recieve keyboard events
var elem=$(this),is_radio=elem.is('[type="radio"]');//console.log('switching', elem, is_radio);
// for a radio, we want to update all with the same name.
var inputs=is_radio?$('input[name="'+elem.attr('name')+'"]'):elem;// now add or remove the presentation class
inputs.each(function(){var elem=$(this);add_remove_class(elem.parent(),'js-state-checked',elem.is(':checked'));add_remove_class(elem.parent(),'js-state-focus',elem.is(':focus'));});};$('label.form-object.js-switch').each(function(){// Styling radio and checkbox requires a class on the parent label
var parent=$(this);// init radios, checkboxes, toggle switches.
parent.find('> input[type="checkbox"], > input[type="radio"]').each(function(){var elem=$(this);elem.parent().addClass('_type-'+elem.attr('type'));switch_update.call(elem,false);}).on('change focus blur',switch_update);// WARNING this may call duplicate events.
});};/* helper functions */var turnary_class=function turnary_class(target_elem,condition,class_true,class_false){if(condition){target_elem.addClass(class_true).removeClass(class_false);}else{target_elem.addClass(class_false).removeClass(class_true);}};var add_remove_class=function add_remove_class(target_elem,class_name,class_present){// add the class to target element if class_present, otherwise remove it
if(class_present){target_elem.addClass(class_name);}else{target_elem.removeClass(class_name);}};// Run initial setup
setTimeout(init,2000);// Return a dict of public functions and variables
return{init:init};}();// Execute it immediately, with Jquery as dependancy;
/*
 * jquery-match-height 0.7.2 by @liabru
 * http://brm.io/jquery-match-height/
 * License MIT
 */!function(t){'use strict';'function'==typeof define&&define.amd?define(['jquery'],t):'undefined'!=typeof module&&module.exports?module.exports=t(require('jquery')):t(jQuery);}(function(t){var e=-1,o=-1,n=function n(t){return parseFloat(t)||0;},a=function a(e){var o=1,a=t(e),i=null,r=[];return a.each(function(){var e=t(this),a=e.offset().top-n(e.css('margin-top')),s=r.length>0?r[r.length-1]:null;null===s?r.push(e):Math.floor(Math.abs(i-a))<=o?r[r.length-1]=s.add(e):r.push(e),i=a;}),r;},i=function i(e){var o={byRow:!0,property:'height',target:null,remove:!1};return'object'==_typeof2(e)?t.extend(o,e):('boolean'==typeof e?o.byRow=e:'remove'===e&&(o.remove=!0),o);},r=t.fn.matchHeight=function(e){var o=i(e);if(o.remove){var n=this;return this.css(o.property,''),t.each(r._groups,function(t,e){e.elements=e.elements.not(n);}),this;}return this.length<=1&&!o.target?this:(r._groups.push({elements:this,options:o}),r._apply(this,o),this);};r.version='0.7.2',r._groups=[],r._throttle=80,r._maintainScroll=!1,r._beforeUpdate=null,r._afterUpdate=null,r._rows=a,r._parse=n,r._parseOptions=i,r._apply=function(e,o){var s=i(o),h=t(e),l=[h],c=t(window).scrollTop(),p=t('html').outerHeight(!0),u=h.parents().filter(':hidden');return u.each(function(){var e=t(this);e.data('style-cache',e.attr('style'));}),u.css('display','block'),s.byRow&&!s.target&&(h.each(function(){var e=t(this),o=e.css('display');'inline-block'!==o&&'flex'!==o&&'inline-flex'!==o&&(o='block'),e.data('style-cache',e.attr('style')),e.css({display:o,'padding-top':'0','padding-bottom':'0','margin-top':'0','margin-bottom':'0','border-top-width':'0','border-bottom-width':'0',height:'100px',overflow:'hidden'});}),l=a(h),h.each(function(){var e=t(this);e.attr('style',e.data('style-cache')||'');})),t.each(l,function(e,o){var a=t(o),i=0;if(s.target)i=s.target.outerHeight(!1);else{if(s.byRow&&a.length<=1)return void a.css(s.property,'');a.each(function(){var e=t(this),o=e.attr('style'),n=e.css('display');'inline-block'!==n&&'flex'!==n&&'inline-flex'!==n&&(n='block');var a={display:n};a[s.property]='',e.css(a),e.outerHeight(!1)>i&&(i=e.outerHeight(!1)),o?e.attr('style',o):e.css('display','');});}a.each(function(){var e=t(this),o=0;s.target&&e.is(s.target)||('border-box'!==e.css('box-sizing')&&(o+=n(e.css('border-top-width'))+n(e.css('border-bottom-width')),o+=n(e.css('padding-top'))+n(e.css('padding-bottom'))),e.css(s.property,i-o+'px'));});}),u.each(function(){var e=t(this);e.attr('style',e.data('style-cache')||null);}),r._maintainScroll&&t(window).scrollTop(c/p*t('html').outerHeight(!0)),this;},r._applyDataApi=function(){var e={};t('[data-match-height], [data-mh]').each(function(){var o=t(this),n=o.attr('data-mh')||o.attr('data-match-height');n in e?e[n]=e[n].add(o):e[n]=o;}),t.each(e,function(){this.matchHeight(!0);});};var s=function s(e){r._beforeUpdate&&r._beforeUpdate(e,r._groups),t.each(r._groups,function(){r._apply(this.elements,this.options);}),r._afterUpdate&&r._afterUpdate(e,r._groups);};r._update=function(n,a){if(a&&'resize'===a.type){var i=t(window).width();if(i===e)return;e=i;}n?o===-1&&(o=setTimeout(function(){s(a),o=-1;},r._throttle)):s(a);},t(r._applyDataApi);var h=t.fn.on?'on':'bind';t(window)[h]('load',function(t){r._update(!1,t);}),t(window)[h]('resize orientationchange',function(t){r._update(!0,t);});});function SetLoginFromSave(val){$('#loginFromSave').val(val);}function SetSavedItem(val){$('#ItemToSaveRegister').val(val);$('#ItemToSaveLogin').val(val);}function GetSavedItem(){return $('#ItemToSaveRegister').val();}function GetLoginFromSave(){if($('#loginFromSave').val()==='true'){return true;}return false;}(function(){$('.card-save-btn').click(function(ev){ev.preventDefault();var obj=$(this);var id=obj.data('id');var singleCard=obj.hasClass('single-card');$.ajax({dataType:'json',url:'/JsonItemSave/RemoveItem',data:{json:true,itemId:id},success:function success(data){if(data){if(singleCard)obj.parent().parent().fadeOut();else location.reload();}}});});$('.js-save-btn, .course-header-module-nav-button-save, .sticky-button-module-save').click(function(ev){ev.preventDefault();var obj=$(this);var id=obj.data('id');var pageElements=$('.js-save-btn[data-id="'+id+'"], .course-header-module-nav-button-save[data-id="'+id+'"], .sticky-button-module-save[data-id="'+id+'"]');var isSaved=obj.hasClass('saved');if(!isSaved){SetSavedItem(id);SetLoginFromSave(true);$.ajax({dataType:'json',url:'/JsonItemSave/SaveItem',data:{json:true,itemId:id},success:function success(data){if(data){pageElements.addClass('saved');pageElements.html('Unsave');SetLoginFromSave(false);SetSavedItem('');}}});}else{$.ajax({dataType:'json',url:'/JsonItemSave/RemoveItem',data:{json:true,itemId:id},success:function success(data){if(data){pageElements.removeClass('saved');pageElements.html('Save');}}});}});$('.temporal-cta').click(function(){setCookie('alert-'+$(this).attr('id'),true,365);});function setCookie(cname,cvalue,exdays){var d=new Date();d.setTime(d.getTime()+exdays*24*60*60*1000);var expires='expires='+d.toUTCString();document.cookie=cname+'='+cvalue+';'+expires+';path=/';}$('.generic-tab-container').each(function(){var panelList=$(this).find('.panel-tab');var selected=$(this).find(".course-header-module-nav-button[aria-selected='true']");panelList.hide();$(selected.attr('href')).show();$(this).find('.course-header-module-nav-button').click(function(){panelList.removeAttr('style');});});})();;/* Cookie consent from https://cookieconsent.insites.com/ */!function(e){if(!e.hasInitialised){var t={escapeRegExp:function escapeRegExp(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");},hasClass:function hasClass(e,t){var i=" ";return 1===e.nodeType&&(i+e.className+i).replace(/[\n\t]/g,i).indexOf(i+t+i)>=0;},addClass:function addClass(e,t){e.className+=" "+t;},removeClass:function removeClass(e,t){var i=new RegExp("\\b"+this.escapeRegExp(t)+"\\b");e.className=e.className.replace(i,"");},interpolateString:function interpolateString(e,t){var i=/{{([a-z][a-z0-9\-_]*)}}/gi;return e.replace(i,function(e){return t(arguments[1])||"";});},getCookie:function getCookie(e){var t="; "+document.cookie,i=t.split("; "+e+"=");return 2!=i.length?void 0:i.pop().split(";").shift();},setCookie:function setCookie(e,t,i,n,o){var s=new Date();s.setDate(s.getDate()+(i||365));var r=[e+"="+t,"expires="+s.toUTCString(),"path="+(o||"/")];n&&r.push("domain="+n),document.cookie=r.join(";");},deepExtend:function deepExtend(e,t){for(var i in t){t.hasOwnProperty(i)&&(i in e&&this.isPlainObject(e[i])&&this.isPlainObject(t[i])?this.deepExtend(e[i],t[i]):e[i]=t[i]);}return e;},throttle:function throttle(e,t){var i=!1;return function(){i||(e.apply(this,arguments),i=!0,setTimeout(function(){i=!1;},t));};},hash:function hash(e){var t,i,n,o=0;if(0===e.length)return o;for(t=0,n=e.length;t<n;++t){i=e.charCodeAt(t),o=(o<<5)-o+i,o|=0;}return o;},normaliseHex:function normaliseHex(e){return"#"==e[0]&&(e=e.substr(1)),3==e.length&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),e;},getContrast:function getContrast(e){e=this.normaliseHex(e);var t=parseInt(e.substr(0,2),16),i=parseInt(e.substr(2,2),16),n=parseInt(e.substr(4,2),16),o=(299*t+587*i+114*n)/1e3;return o>=128?"#000":"#fff";},getLuminance:function getLuminance(e){var t=parseInt(this.normaliseHex(e),16),i=38,n=(t>>16)+i,o=(t>>8&255)+i,s=(255&t)+i,r=(16777216+65536*(n<255?n<1?0:n:255)+256*(o<255?o<1?0:o:255)+(s<255?s<1?0:s:255)).toString(16).slice(1);return"#"+r;},isMobile:function isMobile(){return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);},isPlainObject:function isPlainObject(e){return"object"==_typeof2(e)&&null!==e&&e.constructor==Object;}};e.status={deny:"deny",allow:"allow",dismiss:"dismiss"},e.transitionEnd=function(){var e=document.createElement("div"),t={t:"transitionend",OT:"oTransitionEnd",msT:"MSTransitionEnd",MozT:"transitionend",WebkitT:"webkitTransitionEnd"};for(var i in t){if(t.hasOwnProperty(i)&&"undefined"!=typeof e.style[i+"ransition"])return t[i];}return"";}(),e.hasTransition=!!e.transitionEnd;var i=Object.keys(e.status).map(t.escapeRegExp);e.customStyles={},e.Popup=function(){function n(){this.initialise.apply(this,arguments);}function o(e){this.openingTimeout=null,t.removeClass(e,"cc-invisible");}function s(t){t.style.display="none",t.removeEventListener(e.transitionEnd,this.afterTransition),this.afterTransition=null;}function r(){var t=this.options.onInitialise.bind(this);if(!window.navigator.cookieEnabled)return t(e.status.deny),!0;if(window.CookiesOK||window.navigator.CookiesOK)return t(e.status.allow),!0;var i=Object.keys(e.status),n=this.getStatus(),o=i.indexOf(n)>=0;return o&&t(n),o;}function a(){var e=this.options.position.split("-"),t=[];return e.forEach(function(e){t.push("cc-"+e);}),t;}function c(){var e=this.options,i="top"==e.position||"bottom"==e.position?"banner":"floating";t.isMobile()&&(i="floating");var n=["cc-"+i,"cc-type-"+e.type,"cc-theme-"+e.theme];e["static"]&&n.push("cc-static"),n.push.apply(n,a.call(this));p.call(this,this.options.palette);return this.customStyleSelector&&n.push(this.customStyleSelector),n;}function l(){var e={},i=this.options;i.showLink||(i.elements.link="",i.elements.messagelink=i.elements.message),Object.keys(i.elements).forEach(function(n){e[n]=t.interpolateString(i.elements[n],function(e){var t=i.content[e];return e&&"string"==typeof t&&t.length?t:"";});});var n=i.compliance[i.type];n||(n=i.compliance.info),e.compliance=t.interpolateString(n,function(t){return e[t];});var o=i.layouts[i.layout];return o||(o=i.layouts.basic),t.interpolateString(o,function(t){return e[t];});}function u(i){var n=this.options,o=document.createElement("div"),s=n.container&&1===n.container.nodeType?n.container:document.body;o.innerHTML=i;var r=o.children[0];return r.style.display="none",t.hasClass(r,"cc-window")&&e.hasTransition&&t.addClass(r,"cc-invisible"),this.onButtonClick=h.bind(this),r.addEventListener("click",this.onButtonClick),n.autoAttach&&(s.firstChild?s.insertBefore(r,s.firstChild):s.appendChild(r)),r;}function h(n){var o=n.target;if(t.hasClass(o,"cc-btn")){var s=o.className.match(new RegExp("\\bcc-("+i.join("|")+")\\b")),r=s&&s[1]||!1;r&&(this.setStatus(r),this.close(!0));}t.hasClass(o,"cc-close")&&(this.setStatus(e.status.dismiss),this.close(!0)),t.hasClass(o,"cc-revoke")&&this.revokeChoice();}function p(e){var i=t.hash(JSON.stringify(e)),n="cc-color-override-"+i,o=t.isPlainObject(e);return this.customStyleSelector=o?n:null,o&&d(i,e,"."+n),o;}function d(i,n,o){if(e.customStyles[i])return void++e.customStyles[i].references;var s={},r=n.popup,a=n.button,c=n.highlight;r&&(r.text=r.text?r.text:t.getContrast(r.background),r.link=r.link?r.link:r.text,s[o+".cc-window"]=["color: "+r.text,"background-color: "+r.background],s[o+".cc-revoke"]=["color: "+r.text,"background-color: "+r.background],s[o+" .cc-link,"+o+" .cc-link:active,"+o+" .cc-link:visited"]=["color: "+r.link],a&&(a.text=a.text?a.text:t.getContrast(a.background),a.border=a.border?a.border:"transparent",s[o+" .cc-btn"]=["color: "+a.text,"border-color: "+a.border,"background-color: "+a.background],"transparent"!=a.background&&(s[o+" .cc-btn:hover, "+o+" .cc-btn:focus"]=["background-color: "+v(a.background)]),c?(c.text=c.text?c.text:t.getContrast(c.background),c.border=c.border?c.border:"transparent",s[o+" .cc-highlight .cc-btn:first-child"]=["color: "+c.text,"border-color: "+c.border,"background-color: "+c.background]):s[o+" .cc-highlight .cc-btn:first-child"]=["color: "+r.text]));var l=document.createElement("style");document.head.appendChild(l),e.customStyles[i]={references:1,element:l.sheet};var u=-1;for(var h in s){s.hasOwnProperty(h)&&l.sheet.insertRule(h+"{"+s[h].join(";")+"}",++u);}}function v(e){return e=t.normaliseHex(e),"000000"==e?"#222":t.getLuminance(e);}function f(i){if(t.isPlainObject(i)){var n=t.hash(JSON.stringify(i)),o=e.customStyles[n];if(o&&! --o.references){var s=o.element.ownerNode;s&&s.parentNode&&s.parentNode.removeChild(s),e.customStyles[n]=null;}}}function m(e,t){for(var i=0,n=e.length;i<n;++i){var o=e[i];if(_instanceof(o,RegExp)&&o.test(t)||"string"==typeof o&&o.length&&o===t)return!0;}return!1;}function b(){var t=this.setStatus.bind(this),i=this.options.dismissOnTimeout;"number"==typeof i&&i>=0&&(this.dismissTimeout=window.setTimeout(function(){t(e.status.dismiss);},Math.floor(i)));var n=this.options.dismissOnScroll;if("number"==typeof n&&n>=0){var o=function o(i){window.pageYOffset>Math.floor(n)&&(t(e.status.dismiss),window.removeEventListener("scroll",o),this.onWindowScroll=null);};this.onWindowScroll=o,window.addEventListener("scroll",o);}}function y(){if("info"!=this.options.type&&(this.options.revokable=!0),t.isMobile()&&(this.options.animateRevokable=!1),this.options.revokable){var e=a.call(this);this.options.animateRevokable&&e.push("cc-animate"),this.customStyleSelector&&e.push(this.customStyleSelector);var i=this.options.revokeBtn.replace("{{classes}}",e.join(" "));this.revokeBtn=u.call(this,i);var n=this.revokeBtn;if(this.options.animateRevokable){var o=t.throttle(function(e){var i=!1,o=20,s=window.innerHeight-20;t.hasClass(n,"cc-top")&&e.clientY<o&&(i=!0),t.hasClass(n,"cc-bottom")&&e.clientY>s&&(i=!0),i?t.hasClass(n,"cc-active")||t.addClass(n,"cc-active"):t.hasClass(n,"cc-active")&&t.removeClass(n,"cc-active");},200);this.onMouseMove=o,window.addEventListener("mousemove",o);}}}var g={enabled:!0,container:null,cookie:{name:"cookieconsent_status",path:"/",domain:"",expiryDays:365},onPopupOpen:function onPopupOpen(){},onPopupClose:function onPopupClose(){},onInitialise:function onInitialise(e){},onStatusChange:function onStatusChange(e,t){},onRevokeChoice:function onRevokeChoice(){},content:{header:"Cookies used on the website!",message:"This website uses cookies to ensure you get the best experience on our website.",dismiss:"Got it!",allow:"Allow cookies",deny:"Decline",link:"Learn more",href:"http://cookiesandyou.com",close:"&#x274c;"},elements:{header:'<span class="cc-header">{{header}}</span>&nbsp;',message:'<span id="cookieconsent:desc" class="cc-message">{{message}}</span>',messagelink:'<span id="cookieconsent:desc" class="cc-message">{{message}} <a aria-label="learn more about cookies" role=button tabindex="0" class="cc-link" href="{{href}}" rel="noopener noreferrer nofollow" target="_blank">{{link}}</a></span>',dismiss:'<a aria-label="dismiss cookie message" role=button tabindex="0" class="cc-btn cc-dismiss">{{dismiss}}</a>',allow:'<a aria-label="allow cookies" role=button tabindex="0"  class="cc-btn cc-allow">{{allow}}</a>',deny:'<a aria-label="deny cookies" role=button tabindex="0" class="cc-btn cc-deny">{{deny}}</a>',link:'<a aria-label="learn more about cookies" role=button tabindex="0" class="cc-link" href="{{href}}" target="_blank">{{link}}</a>',close:'<span aria-label="dismiss cookie message" role=button tabindex="0" class="cc-close">{{close}}</span>'},window:'<div role="dialog" aria-live="polite" aria-label="cookieconsent" aria-describedby="cookieconsent:desc" class="cc-window {{classes}}"><!--googleoff: all-->{{children}}<!--googleon: all--></div>',revokeBtn:'<div class="cc-revoke {{classes}}">Cookie Policy</div>',compliance:{info:'<div class="cc-compliance">{{dismiss}}</div>',"opt-in":'<div class="cc-compliance cc-highlight">{{dismiss}}{{allow}}</div>',"opt-out":'<div class="cc-compliance cc-highlight">{{deny}}{{dismiss}}</div>'},type:"info",layouts:{basic:"{{messagelink}}{{compliance}}","basic-close":"{{messagelink}}{{compliance}}{{close}}","basic-header":"{{header}}{{message}}{{link}}{{compliance}}"},layout:"basic",position:"bottom",theme:"block","static":!1,palette:null,revokable:!1,animateRevokable:!0,showLink:!0,dismissOnScroll:!1,dismissOnTimeout:!1,autoOpen:!0,autoAttach:!0,whitelistPage:[],blacklistPage:[],overrideHTML:null};return n.prototype.initialise=function(e){this.options&&this.destroy(),t.deepExtend(this.options={},g),t.isPlainObject(e)&&t.deepExtend(this.options,e),r.call(this)&&(this.options.enabled=!1),m(this.options.blacklistPage,location.pathname)&&(this.options.enabled=!1),m(this.options.whitelistPage,location.pathname)&&(this.options.enabled=!0);var i=this.options.window.replace("{{classes}}",c.call(this).join(" ")).replace("{{children}}",l.call(this)),n=this.options.overrideHTML;if("string"==typeof n&&n.length&&(i=n),this.options["static"]){var o=u.call(this,'<div class="cc-grower">'+i+"</div>");o.style.display="",this.element=o.firstChild,this.element.style.display="none",t.addClass(this.element,"cc-invisible");}else this.element=u.call(this,i);b.call(this),y.call(this),this.options.autoOpen&&this.autoOpen();},n.prototype.destroy=function(){this.onButtonClick&&this.element&&(this.element.removeEventListener("click",this.onButtonClick),this.onButtonClick=null),this.dismissTimeout&&(clearTimeout(this.dismissTimeout),this.dismissTimeout=null),this.onWindowScroll&&(window.removeEventListener("scroll",this.onWindowScroll),this.onWindowScroll=null),this.onMouseMove&&(window.removeEventListener("mousemove",this.onMouseMove),this.onMouseMove=null),this.element&&this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.element=null,this.revokeBtn&&this.revokeBtn.parentNode&&this.revokeBtn.parentNode.removeChild(this.revokeBtn),this.revokeBtn=null,f(this.options.palette),this.options=null;},n.prototype.open=function(t){if(this.element)return this.isOpen()||(e.hasTransition?this.fadeIn():this.element.style.display="",this.options.revokable&&this.toggleRevokeButton(),this.options.onPopupOpen.call(this)),this;},n.prototype.close=function(t){if(this.element)return this.isOpen()&&(e.hasTransition?this.fadeOut():this.element.style.display="none",t&&this.options.revokable&&this.toggleRevokeButton(!0),this.options.onPopupClose.call(this)),this;},n.prototype.fadeIn=function(){var i=this.element;if(e.hasTransition&&i&&(this.afterTransition&&s.call(this,i),t.hasClass(i,"cc-invisible"))){if(i.style.display="",this.options["static"]){var n=this.element.clientHeight;this.element.parentNode.style.maxHeight=n+"px";}var r=20;this.openingTimeout=setTimeout(o.bind(this,i),r);}},n.prototype.fadeOut=function(){var i=this.element;e.hasTransition&&i&&(this.openingTimeout&&(clearTimeout(this.openingTimeout),o.bind(this,i)),t.hasClass(i,"cc-invisible")||(this.options["static"]&&(this.element.parentNode.style.maxHeight=""),this.afterTransition=s.bind(this,i),i.addEventListener(e.transitionEnd,this.afterTransition),t.addClass(i,"cc-invisible")));},n.prototype.isOpen=function(){return this.element&&""==this.element.style.display&&(!e.hasTransition||!t.hasClass(this.element,"cc-invisible"));},n.prototype.toggleRevokeButton=function(e){this.revokeBtn&&(this.revokeBtn.style.display=e?"":"none");},n.prototype.revokeChoice=function(e){this.options.enabled=!0,this.clearStatus(),this.options.onRevokeChoice.call(this),e||this.autoOpen();},n.prototype.hasAnswered=function(t){return Object.keys(e.status).indexOf(this.getStatus())>=0;},n.prototype.hasConsented=function(t){var i=this.getStatus();return i==e.status.allow||i==e.status.dismiss;},n.prototype.autoOpen=function(e){!this.hasAnswered()&&this.options.enabled&&this.open();},n.prototype.setStatus=function(i){var n=this.options.cookie,o=t.getCookie(n.name),s=Object.keys(e.status).indexOf(o)>=0;Object.keys(e.status).indexOf(i)>=0?(t.setCookie(n.name,i,n.expiryDays,n.domain,n.path),this.options.onStatusChange.call(this,i,s)):this.clearStatus();},n.prototype.getStatus=function(){return t.getCookie(this.options.cookie.name);},n.prototype.clearStatus=function(){var e=this.options.cookie;t.setCookie(e.name,"",-1,e.domain,e.path);},n;}(),e.Location=function(){function e(e){t.deepExtend(this.options={},s),t.isPlainObject(e)&&t.deepExtend(this.options,e),this.currentServiceIndex=-1;}function i(e,t,i){var n,o=document.createElement("script");o.type="text/"+(e.type||"javascript"),o.src=e.src||e,o.async=!1,o.onreadystatechange=o.onload=function(){var e=o.readyState;clearTimeout(n),t.done||e&&!/loaded|complete/.test(e)||(t.done=!0,t(),o.onreadystatechange=o.onload=null);},document.body.appendChild(o),n=setTimeout(function(){t.done=!0,t(),o.onreadystatechange=o.onload=null;},i);}function n(e,t,i,n,o){var s=new(window.XMLHttpRequest||window.ActiveXObject)("MSXML2.XMLHTTP.3.0");if(s.open(n?"POST":"GET",e,1),s.setRequestHeader("X-Requested-With","XMLHttpRequest"),s.setRequestHeader("Content-type","application/x-www-form-urlencoded"),Array.isArray(o))for(var r=0,a=o.length;r<a;++r){var c=o[r].split(":",2);s.setRequestHeader(c[0].replace(/^\s+|\s+$/g,""),c[1].replace(/^\s+|\s+$/g,""));}"function"==typeof t&&(s.onreadystatechange=function(){s.readyState>3&&t(s);}),s.send(n);}function o(e){return new Error("Error ["+(e.code||"UNKNOWN")+"]: "+e.error);}var s={timeout:5e3,services:["freegeoip","ipinfo","maxmind"],serviceDefinitions:{freegeoip:function freegeoip(){return{url:"//freegeoip.net/json/?callback={callback}",isScript:!0,callback:function callback(e,t){try{var i=JSON.parse(t);return i.error?o(i):{code:i.country_code};}catch(n){return o({error:"Invalid response ("+n+")"});}}};},ipinfo:function ipinfo(){return{url:"//ipinfo.io",headers:["Accept: application/json"],callback:function callback(e,t){try{var i=JSON.parse(t);return i.error?o(i):{code:i.country};}catch(n){return o({error:"Invalid response ("+n+")"});}}};},ipinfodb:function ipinfodb(e){return{url:"//api.ipinfodb.com/v3/ip-country/?key={api_key}&format=json&callback={callback}",isScript:!0,callback:function callback(e,t){try{var i=JSON.parse(t);return"ERROR"==i.statusCode?o({error:i.statusMessage}):{code:i.countryCode};}catch(n){return o({error:"Invalid response ("+n+")"});}}};},maxmind:function maxmind(){return{url:"//js.maxmind.com/js/apis/geoip2/v2.1/geoip2.js",isScript:!0,callback:function callback(e){return window.geoip2?void geoip2.country(function(t){try{e({code:t.country.iso_code});}catch(i){e(o(i));}},function(t){e(o(t));}):void e(new Error("Unexpected response format. The downloaded script should have exported `geoip2` to the global scope"));}};}}};return e.prototype.getNextService=function(){var e;do{e=this.getServiceByIdx(++this.currentServiceIndex);}while(this.currentServiceIndex<this.options.services.length&&!e);return e;},e.prototype.getServiceByIdx=function(e){var i=this.options.services[e];if("function"==typeof i){var n=i();return n.name&&t.deepExtend(n,this.options.serviceDefinitions[n.name](n)),n;}return"string"==typeof i?this.options.serviceDefinitions[i]():t.isPlainObject(i)?this.options.serviceDefinitions[i.name](i):null;},e.prototype.locate=function(e,t){var i=this.getNextService();return i?(this.callbackComplete=e,this.callbackError=t,void this.runService(i,this.runNextServiceOnError.bind(this))):void t(new Error("No services to run"));},e.prototype.setupUrl=function(e){var t=this.getCurrentServiceOpts();return e.url.replace(/\{(.*?)\}/g,function(i,n){if("callback"===n){var o="callback"+Date.now();return window[o]=function(t){e.__JSONP_DATA=JSON.stringify(t);},o;}if(n in t.interpolateUrl)return t.interpolateUrl[n];});},e.prototype.runService=function(e,t){var o=this;if(e&&e.url&&e.callback){var s=e.isScript?i:n,r=this.setupUrl(e);s(r,function(i){var n=i?i.responseText:"";e.__JSONP_DATA&&(n=e.__JSONP_DATA,delete e.__JSONP_DATA),o.runServiceCallback.call(o,t,e,n);},this.options.timeout,e.data,e.headers);}},e.prototype.runServiceCallback=function(e,t,i){var n=this,o=function o(t){s||n.onServiceResult.call(n,e,t);},s=t.callback(o,i);s&&this.onServiceResult.call(this,e,s);},e.prototype.onServiceResult=function(e,t){_instanceof(t,Error)||t&&t.error?e.call(this,t,null):e.call(this,null,t);},e.prototype.runNextServiceOnError=function(e,t){if(e){this.logError(e);var i=this.getNextService();i?this.runService(i,this.runNextServiceOnError.bind(this)):this.completeService.call(this,this.callbackError,new Error("All services failed"));}else this.completeService.call(this,this.callbackComplete,t);},e.prototype.getCurrentServiceOpts=function(){var e=this.options.services[this.currentServiceIndex];return"string"==typeof e?{name:e}:"function"==typeof e?e():t.isPlainObject(e)?e:{};},e.prototype.completeService=function(e,t){this.currentServiceIndex=-1,e&&e(t);},e.prototype.logError=function(e){var t=this.currentServiceIndex,i=this.getServiceByIdx(t);console.error("The service["+t+"] ("+i.url+") responded with the following error",e);},e;}(),e.Law=function(){function e(e){this.initialise.apply(this,arguments);}var i={regionalLaw:!0,hasLaw:["AT","BE","BG","HR","CZ","CY","DK","EE","FI","FR","DE","EL","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","SK","SI","ES","SE","GB","UK"],revokable:["HR","CY","DK","EE","FR","DE","LV","LT","NL","PT","ES"],explicitAction:["HR","IT","ES"]};return e.prototype.initialise=function(e){t.deepExtend(this.options={},i),t.isPlainObject(e)&&t.deepExtend(this.options,e);},e.prototype.get=function(e){var t=this.options;return{hasLaw:t.hasLaw.indexOf(e)>=0,revokable:t.revokable.indexOf(e)>=0,explicitAction:t.explicitAction.indexOf(e)>=0};},e.prototype.applyLaw=function(e,t){var i=this.get(t);return i.hasLaw||(e.enabled=!1),this.options.regionalLaw&&(i.revokable&&(e.revokable=!0),i.explicitAction&&(e.dismissOnScroll=!1,e.dismissOnTimeout=!1)),e;},e;}(),e.initialise=function(t,i,n){var o=new e.Law(t.law);i||(i=function i(){}),n||(n=function n(){}),e.getCountryCode(t,function(n){delete t.law,delete t.location,n.code&&(t=o.applyLaw(t,n.code)),i(new e.Popup(t));},function(i){delete t.law,delete t.location,n(i,new e.Popup(t));});},e.getCountryCode=function(t,i,n){if(t.law&&t.law.countryCode)return void i({code:t.law.countryCode});if(t.location){var o=new e.Location(t.location);return void o.locate(function(e){i(e||{});},n);}i({});},e.utils=t,e.hasInitialised=!0,window.cookieconsent=e;}}(window.cookieconsent||{});/* Standard UWA settings */window.addEventListener("load",function(){window.cookieconsent.initialise({"palette":{"popup":{"background":"#182278"},"button":{"background":"#fff","text":"#182278"}},'position':'bottom-left','content':{'href':'http://www.web.uwa.edu.au/privacy'},'location':false});});;