1/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */�
vendor: 88,063 bytes, lines 1-4
1 2!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}k.fn=k.prototype={jquery:f,constructor:k,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(n){return this.pushStack(k.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},k.extend=k.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||k.isPlainObject(n)?n:{},i=!1,a[t]=k.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},k.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){b(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(d(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(p,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?k.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g.apply([],a)},guid:1,support:y}),"function"==typeof Symbol&&(k.fn[Symbol.iterator]=t[Symbol.iterator]),k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",$=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",F=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="<a id='"+k+"'></a><select id='"+k+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[S,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[S,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[k]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[k]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[S,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[k]||(e[k]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===S&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[k]&&(v=Ce(v)),y&&!y[k]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[k]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=N[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[k]?i.push(a):o.push(a);(a=N(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=S+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t===C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument===C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(S=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(S=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=k.split("").sort(D).join("")===k,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);k.find=h,k.expr=h.selectors,k.expr[":"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;var T=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1<i.call(n,e)!==r}):k.filter(n,e,r)}k.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return 1<r?k.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&N.test(e)?k(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&k(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?k.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(k(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return"undefined"!=typeof e.contentDocument?e.contentDocument:(A(e,"template")&&(e=e.content||e),k.merge([],e.childNodes))}},function(r,i){k.fn[r]=function(e,t){var n=k.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=k.filter(t,n)),1<this.length&&(O[r]||k.uniqueSort(n),H.test(r)&&n.reverse()),this.pushStack(n)}});var R=/[^\x20\t\r\n\f]+/g;function M(e){return e}function I(e){throw e}function W(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},k.each(e.match(R)||[],function(e,t){n[t]=!0}),n):k.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){k.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return k.each(arguments,function(e,t){var n;while(-1<(n=k.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<k.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},k.extend({Deferred:function(e){var o=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return k.Deferred(function(r){k.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,M,s),l(u,o,I,s)):(u++,t.call(e,l(u,o,M,s),l(u,o,I,s),l(u,o,M,o.notifyWith))):(a!==M&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==I&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(k.Deferred.getStackHook&&(t.stackTrace=k.Deferred.getStackHook()),C.setTimeout(t))}}return k.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:M,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:M)),o[2][3].add(l(0,e,m(n)?n:I))}).promise()},promise:function(e){return null!=e?k.extend(e,a):a}},s={};return k.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=k.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(W(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)W(i[t],a(t),o.reject);return o.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&$.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},k.readyException=function(e){C.setTimeout(function(){throw e})};var F=k.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),k.ready()}k.fn.ready=function(e){return F.then(e)["catch"](function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0)!==e&&0<--k.readyWait||F.resolveWith(E,[k])}}),k.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(k.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var _=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)_(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(k(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,U=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(U,X)}var G=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(R)||[]).length;while(n--)delete r[t[n]]}(void 0===t||k.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!k.isEmptyObject(t)}};var Q=new Y,J=new Y,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}J.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),k.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=J.get(o),1===o.nodeType&&!Q.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),ee(o,r,i[r]));Q.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){J.set(this,n)}):_(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=J.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){J.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=k.queue(e,t),r=n.length,i=n.shift(),o=k._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks("once memory").add(function(){Q.remove(e,[t+"queue",n])})})}}),k.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?k.queue(this[0],t):void 0===n?this:this.each(function(){var e=k.queue(this,t,n);k._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&k.dequeue(this,t)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=k.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Q.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=E.documentElement,oe=function(e){return k.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return k.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});var se=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===k.css(e,"display")},ue=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i};function le(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return k.css(e,t,"")},u=s(),l=n&&n[3]||(k.cssNumber[t]?"":"px"),c=e.nodeType&&(k.cssNumber[t]||"px"!==l&&+u)&&ne.exec(k.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)k.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,k.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ce={};function fe(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Q.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ce[s])||(o=a.body.appendChild(a.createElement(s)),u=k.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ce[s]=u)))):"none"!==n&&(l[c]="none",Q.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}k.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],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,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Q.set(e[n],"globalEval",!t||Q.get(t[n],"globalEval"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var me,xe,be=/<|&#?\w+;/;function we(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))k.merge(p,o.nodeType?[o]:o);else if(be.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+k.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;k.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<k.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}me=E.createDocumentFragment().appendChild(E.createElement("div")),(xe=E.createElement("input")).setAttribute("type","radio"),xe.setAttribute("checked","checked"),xe.setAttribute("name","t"),me.appendChild(xe),y.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){a=k.event.handlers.call(this,s,l),t=0;while((i=a[t++])&&!s.isPropagationStopped()){s.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!s.isImmediatePropagationStopped())s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<k(i,this).index(l):k.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(k.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click",ke),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Q.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ke:Se,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ke,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ke,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ke,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({focus:"focusin",blur:"focusout"},function(e,t){k.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}),k.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){k.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||k.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),k.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Se),this.each(function(){k.event.remove(this,e,n,t)})}});var je=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,He=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n<r;n++)k.event.add(t,i,l[i][n]);J.hasData(e)&&(s=J.access(e),u=k.extend({},s),J.set(t,u))}}function Ie(n,r,i,o){r=g.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Le.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Ie(t,r,i,o)});if(f&&(t=(e=we(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=k.map(ve(e,"script"),Pe)).length;c<f;c++)u=e,c!==p&&(u=k.clone(u,!0,!0),s&&k.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,k.map(a,Re),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Q.access(u,"globalEval")&&k.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?k._evalUrl&&!u.noModule&&k._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):b(u.textContent.replace(He,""),u,l))}return n}function We(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(ve(r)),r.parentNode&&(n&&oe(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(je,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Me(o[r],a[r]);else Me(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return _(this,function(e){return void 0===e?k.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(k.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return k.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!qe.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Ie(this,arguments,function(e){var t=this.parentNode;k.inArray(this,n)<0&&(k.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),k.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){k.fn[e]=function(e){for(var t,n=[],r=k(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),k(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),Fe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Be=new RegExp(re.join("|"),"i");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=k.style(e,t)),!y.pixelBoxStyles()&&$e.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=C.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=E.createElement("div"),u=E.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===u.style.backgroundClip,k.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var Ue=["Webkit","Moz","ms"],Xe=E.createElement("div").style,Ve={};function Ge(e){var t=k.cssProps[e]||Ve[e];return t||(e in Xe?e:Ve[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;while(n--)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=k.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=k.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=k.css(e,"border"+re[a]+"Width",!0,i))):(u+=k.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=k.css(e,"border"+re[a]+"Width",!0,i):s+=k.css(e,"border"+re[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function tt(e,t,n){var r=Fe(e),i=(!y.boxSizingReliable()||n)&&"border-box"===k.css(e,"boxSizing",!1,r),o=i,a=_e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===k.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===k.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Qe.test(t),l=e.style;if(u||(t=Ge(s)),a=k.cssHooks[t]||k.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=ne.exec(n))&&i[1]&&(n=le(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(k.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Qe.test(t)||(t=Ge(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],function(e,u){k.cssHooks[u]={get:function(e,t,n){if(t)return!Ye.test(k.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,u,n):ue(e,Je,function(){return tt(e,u,n)})},set:function(e,t,n){var r,i=Fe(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===k.css(e,"boxSizing",!1,i),s=n?et(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-et(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=k.css(e,u)),Ze(0,t,s)}}}),k.cssHooks.marginLeft=ze(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(_e(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),k.each({margin:"",padding:"",border:"Width"},function(i,o){k.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(k.cssHooks[i+o].set=Ze)}),k.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Fe(e),i=t.length;a<i;a++)o[t[a]]=k.css(e,t[a],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,1<arguments.length)}}),((k.Tween=nt).prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.options.duration?this.pos=t=k.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):nt.propHooks._default.set(this),this}}).init.prototype=nt.prototype,(nt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=k.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Ge(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},k.fx=nt.prototype.init,k.fx.step={};var rt,it,ot,at,st=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;function lt(){it&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(lt):C.setTimeout(lt,k.fx.interval),k.fx.tick())}function ct(){return C.setTimeout(function(){rt=void 0}),rt=Date.now()}function ft(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=re[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(dt.tweeners[t]||[]).concat(dt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function dt(o,e,t){var n,a,r=0,i=dt.prefilters.length,s=k.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=rt||ct(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:k.extend({},e),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},t),originalProperties:e,originalOptions:t,startTime:rt||ct(),duration:t.duration,tweens:[],createTween:function(e,t){var n=k.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=V(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=k.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=dt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(k._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return k.map(c,pt,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),k.fx.timer(k.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}k.Animation=k.extend(dt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(R);for(var n,r=0,i=e.length;r<i;r++)n=e[r],dt.tweeners[n]=dt.tweeners[n]||[],dt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&se(e),v=Q.get(e,"fxshow");for(r in n.queue||(null==(a=k._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,k.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],st.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||k.style(e,r)}if((u=!k.isEmptyObject(t))||!k.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Q.get(e,"display")),"none"===(c=k.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=k.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===k.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Q.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&fe([e],!0),p.done(function(){for(r in g||fe([e]),Q.remove(e,"fxshow"),d)k.style(e,r,d[r])})),u=pt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?dt.prefilters.unshift(e):dt.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&"object"==typeof e?k.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return k.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in k.fx.speeds?r.duration=k.fx.speeds[r.duration]:r.duration=k.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=k.isEmptyObject(t),o=k.speed(e,n,r),a=function(){var e=dt(this,k.extend({},t),o);(i||Q.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&!1!==i&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=k.timers,r=Q.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&ut.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||k.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Q.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=k.timers,o=n?n.length:0;for(t.finish=!0,k.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),k.each(["toggle","show","hide"],function(e,r){var i=k.fn[r];k.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(ft(r,!0),e,t,n)}}),k.each({slideDown:ft("show"),slideUp:ft("hide"),slideToggle:ft("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){k.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),rt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){it||(it=!0,lt())},k.fx.stop=function(){it=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(r,e){return r=k.fx&&k.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},ot=E.createElement("input"),at=E.createElement("select").appendChild(E.createElement("option")),ot.type="checkbox",y.checkOn=""!==ot.value,y.optSelected=at.selected,(ot=E.createElement("input")).value="t",ot.type="radio",y.radioValue="t"===ot.value;var ht,gt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return _(this,k.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(R);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),function(e,t){var a=gt[t]||k.find.attr;gt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=gt[o],gt[o]=r,r=null!=a(e,t,n)?o:null,gt[o]=i),r}});var vt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;function mt(e){return(e.match(R)||[]).join(" ")}function xt(e){return e.getAttribute&&e.getAttribute("class")||""}function bt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return _(this,k.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=k.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(k.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).addClass(t.call(this,e,xt(this)))});if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).removeClass(t.call(this,e,xt(this)))});if(!arguments.length)return this.attr("class","");if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){k(this).toggleClass(i.call(this,e,xt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=k(this),r=bt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=xt(this))&&Q.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Q.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+mt(xt(n))+" ").indexOf(t))return!0;return!1}});var wt=/\r/g;k.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,k(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=k.map(t,function(e){return null==e?"":e+""})),(r=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=k.valHooks[t.type]||k.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(wt,""):null==e?"":e:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,"value");return null!=t?t:mt(k.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=k(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=k.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<k.inArray(k.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<k.inArray(k(e).val(),t)}},y.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var Tt=/^(?:focusinfocus|focusoutblur)$/,Ct=function(e){e.stopPropagation()};k.extend(k.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!Tt.test(d+k.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[k.expando]?e:new k.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:k.makeArray(t,[e]),c=k.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,Tt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Q.get(o,"events")||{})[e.type]&&Q.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&G(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!G(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),k.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Ct),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Ct),k.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),y.focusin||k.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){k.event.simulate(r,e.target,k.event.fix(e))};k.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=Q.access(e,r);t||e.addEventListener(n,i,!0),Q.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=Q.access(e,r)-1;t?Q.access(e,r,t):(e.removeEventListener(n,i,!0),Q.remove(e,r))}}});var Et=C.location,kt=Date.now(),St=/\?/;k.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||k.error("Invalid XML: "+e),t};var Nt=/\[\]$/,At=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function qt(n,e,r,i){var t;if(Array.isArray(e))k.each(e,function(e,t){r||Nt.test(n)?i(n,t):qt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)qt(n+"["+t+"]",e[t],r,i)}k.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)qt(n,e[n],t,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,"elements");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(":disabled")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(At,"\r\n")}}):{name:t.name,value:n.replace(At,"\r\n")}}).get()}});var Lt=/%20/g,Ht=/#.*$/,Ot=/([?&])_=[^&]*/,Pt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,Mt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Ft=E.createElement("a");function Bt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(R)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function _t(t,i,o,a){var s={},u=t===Wt;function l(e){var r;return s[e]=!0,k.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function zt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=Et.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,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"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,k.ajaxSettings),t):zt(k.ajaxSettings,e)},ajaxPrefilter:Bt(It),ajaxTransport:Bt(Wt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=k.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?k(y):k.event,x=k.Deferred(),b=k.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Pt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace(Mt,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(R)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Ft.protocol+"//"+Ft.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=k.param(v.data,v.traditional)),_t(It,v,t,T),h)return T;for(i in(g=k.event&&v.global)&&0==k.active++&&k.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Rt.test(v.type),f=v.url.replace(Ht,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Lt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(St.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Ot,"$1"),o=(St.test(f)?"&":"?")+"_="+kt+++o),v.url=f+o),v.ifModified&&(k.lastModified[f]&&T.setRequestHeader("If-Modified-Since",k.lastModified[f]),k.etag[f]&&T.setRequestHeader("If-None-Match",k.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+$t+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=_t(Wt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(k.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(k.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--k.active||k.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return k.get(e,t,n,"json")},getScript:function(e,t){return k.get(e,void 0,t,"script")}}),k.each(["get","post"],function(e,i){k[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),k.ajax(k.extend({url:e,type:i,dataType:r,data:t,success:n},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e,t){return k.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){k.globalEval(e,t)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=k(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){k(this).wrapInner(n.call(this,e))}):this.each(function(){var e=k(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){k(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Xt=k.ajaxSettings.xhr();y.cors=!!Xt&&"withCredentials"in Xt,y.ajax=Xt=!!Xt,k.ajaxTransport(function(i){var o,a;if(y.cors||Xt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Ut[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return k.globalEval(e),e}}}),k.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),k.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=k("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=mt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&k.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?k("<div>").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.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(e,n){k.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),k.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=A,k.isFunction=m,k.isWindow=x,k.camelCase=V,k.type=w,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return k});var Qt=C.jQuery,Jt=C.$;return k.noConflict=function(e){return C.$===k&&(C.$=Jt),e&&C.jQuery===k&&(C.jQuery=Qt),k},e||(C.jQuery=C.$=k),k}); 3 4/
4/! moment.js 5 6;(function (global, factory) { 7 typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : 8 typeof define === 'function' && define.amd ? define(factory) : 9 global.moment = factory()
vendor: 35,273 bytes, lines 9-1148
9 10}(this, (function () { 'use strict'; 11 12 var hookCallback; 13 14 function hooks () { 15 return hookCallback.apply(null, arguments); 16 } 17 18 // This is done to register the method called with moment() 19 // without creating circular dependencies. 20 function setHookCallback (callback) { 21 hookCallback = callback; 22 } 23 24 function isArray(input) { 25 return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]'; 26 } 27 28 function isObject(input) { 29 // IE8 will treat undefined and null as object if it wasn't for 30 // input != null 31 return input != null && Object.prototype.toString.call(input) === '[object Object]'; 32 } 33 34 function isObjectEmpty(obj) { 35 if (Object.getOwnPropertyNames) { 36 return (Object.getOwnPropertyNames(obj).length === 0); 37 } else { 38 var k; 39 for (k in obj) { 40 if (obj.hasOwnProperty(k)) { 41 return false; 42 } 43 } 44 return true; 45 } 46 } 47 48 function isUndefined(input) { 49 return input === void 0; 50 } 51 52 function isNumber(input) { 53 return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]'; 54 } 55 56 function isDate(input) { 57 return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]'; 58 } 59 60 function map(arr, fn) { 61 var res = [], i; 62 for (i = 0; i < arr.length; ++i) { 63 res.push(fn(arr[i], i)); 64 } 65 return res; 66 } 67 68 function hasOwnProp(a, b) { 69 return Object.prototype.hasOwnProperty.call(a, b); 70 } 71 72 function extend(a, b) { 73 for (var i in b) { 74 if (hasOwnProp(b, i)) { 75 a[i] = b[i]; 76 } 77 } 78 79 if (hasOwnProp(b, 'toString')) { 80 a.toString = b.toString; 81 } 82 83 if (hasOwnProp(b, 'valueOf')) { 84 a.valueOf = b.valueOf; 85 } 86 87 return a; 88 } 89 90 function createUTC (input, format, locale, strict) { 91 return createLocalOrUTC(input, format, locale, strict, true).utc(); 92 } 93 94 function defaultParsingFlags() { 95 // We need to deep clone this object. 96 return { 97 empty : false, 98 unusedTokens : [], 99 unusedInput : [], 100 overflow : -2, 101 charsLeftOver : 0, 102 nullInput : false, 103 invalidMonth : null, 104 invalidFormat : false, 105 userInvalidated : false, 106 iso : false, 107 parsedDateParts : [], 108 meridiem : null, 109 rfc2822 : false, 110 weekdayMismatch : false 111 }; 112 } 113 114 function getParsingFlags(m) { 115 if (m._pf == null) { 116 m._pf = defaultParsingFlags(); 117 } 118 return m._pf; 119 } 120 121 var some; 122 if (Array.prototype.some) { 123 some = Array.prototype.some; 124 } else { 125 some = function (fun) { 126 var t = Object(this); 127 var len = t.length >>> 0; 128 129 for (var i = 0; i < len; i++) { 130 if (i in t && fun.call(this, t[i], i, t)) { 131 return true; 132 } 133 } 134 135 return false; 136 }; 137 } 138 139 function isValid(m) { 140 if (m._isValid == null) { 141 var flags = getParsingFlags(m); 142 var parsedParts = some.call(flags.parsedDateParts, function (i) { 143 return i != null; 144 }); 145 var isNowValid = !isNaN(m._d.getTime()) && 146 flags.overflow < 0 && 147 !flags.empty && 148 !flags.invalidMonth && 149 !flags.invalidWeekday && 150 !flags.weekdayMismatch && 151 !flags.nullInput && 152 !flags.invalidFormat && 153 !flags.userInvalidated && 154 (!flags.meridiem || (flags.meridiem && parsedParts)); 155 156 if (m._strict) { 157 isNowValid = isNowValid && 158 flags.charsLeftOver === 0 && 159 flags.unusedTokens.length === 0 && 160 flags.bigHour === undefined; 161 } 162 163 if (Object.isFrozen == null || !Object.isFrozen(m)) { 164 m._isValid = isNowValid; 165 } 166 else { 167 return isNowValid; 168 } 169 } 170 return m._isValid; 171 } 172 173 function createInvalid (flags) { 174 var m = createUTC(NaN); 175 if (flags != null) { 176 extend(getParsingFlags(m), flags); 177 } 178 else { 179 getParsingFlags(m).userInvalidated = true; 180 } 181 182 return m; 183 } 184 185 // Plugins that add properties should also add the key here (null value), 186 // so we can properly clone ourselves. 187 var momentProperties = hooks.momentProperties = []; 188 189 function copyConfig(to, from) { 190 var i, prop, val; 191 192 if (!isUndefined(from._isAMomentObject)) { 193 to._isAMomentObject = from._isAMomentObject; 194 } 195 if (!isUndefined(from._i)) { 196 to._i = from._i; 197 } 198 if (!isUndefined(from._f)) { 199 to._f = from._f; 200 } 201 if (!isUndefined(from._l)) { 202 to._l = from._l; 203 } 204 if (!isUndefined(from._strict)) { 205 to._strict = from._strict; 206 } 207 if (!isUndefined(from._tzm)) { 208 to._tzm = from._tzm; 209 } 210 if (!isUndefined(from._isUTC)) { 211 to._isUTC = from._isUTC; 212 } 213 if (!isUndefined(from._offset)) { 214 to._offset = from._offset; 215 } 216 if (!isUndefined(from._pf)) { 217 to._pf = getParsingFlags(from); 218 } 219 if (!isUndefined(from._locale)) { 220 to._locale = from._locale; 221 } 222 223 if (momentProperties.length > 0) { 224 for (i = 0; i < momentProperties.length; i++) { 225 prop = momentProperties[i]; 226 val = from[prop]; 227 if (!isUndefined(val)) { 228 to[prop] = val; 229 } 230 } 231 } 232 233 return to; 234 } 235 236 var updateInProgress = false; 237 238 // Moment prototype object 239 function Moment(config) { 240 copyConfig(this, config); 241 this._d = new Date(config._d != null ? config._d.getTime() : NaN); 242 if (!this.isValid()) { 243 this._d = new Date(NaN); 244 } 245 // Prevent infinite loop in case updateOffset creates new moment 246 // objects. 247 if (updateInProgress === false) { 248 updateInProgress = true; 249 hooks.updateOffset(this); 250 updateInProgress = false; 251 } 252 } 253 254 function isMoment (obj) { 255 return obj instanceof Moment || (obj != null && obj._isAMomentObject != null); 256 } 257 258 function absFloor (number) { 259 if (number < 0) { 260 // -0 -> 0 261 return Math.ceil(number) || 0; 262 } else { 263 return Math.floor(number); 264 } 265 } 266 267 function toInt(argumentForCoercion) { 268 var coercedNumber = +argumentForCoercion, 269 value = 0; 270 271 if (coercedNumber !== 0 && isFinite(coercedNumber)) { 272 value = absFloor(coercedNumber); 273 } 274 275 return value; 276 } 277 278 // compare two arrays, return the number of differences 279 function compareArrays(array1, array2, dontConvert) { 280 var len = Math.min(array1.length, array2.length), 281 lengthDiff = Math.abs(array1.length - array2.length), 282 diffs = 0, 283 i; 284 for (i = 0; i < len; i++) { 285 if ((dontConvert && array1[i] !== array2[i]) || 286 (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) { 287 diffs++; 288 } 289 } 290 return diffs + lengthDiff; 291 } 292 293 function warn(msg) { 294 if (hooks.suppressDeprecationWarnings === false && 295 (typeof console !== 'undefined') && console.warn) { 296 console.warn('Deprecation warning: ' + msg); 297 } 298 } 299 300 function deprecate(msg, fn) { 301 var firstTime = true; 302 303 return extend(function () { 304 if (hooks.deprecationHandler != null) { 305 hooks.deprecationHandler(null, msg); 306 } 307 if (firstTime) { 308 var args = []; 309 var arg; 310 for (var i = 0; i < arguments.length; i++) { 311 arg = ''; 312 if (typeof arguments[i] === 'object') { 313 arg += '\n[' + i + '] '; 314 for (var key in arguments[0]) { 315 arg += key + ': ' + arguments[0][key] + ', '; 316 } 317 arg = arg.slice(0, -2); // Remove trailing comma and space 318 } else { 319 arg = arguments[i]; 320 } 321 args.push(arg); 322 } 323 warn(msg + '\nArguments: ' + Array.prototype.slice.call(args).join('') + '\n' + (new Error()).stack); 324 firstTime = false; 325 } 326 return fn.apply(this, arguments); 327 }, fn); 328 } 329 330 var deprecations = {}; 331 332 function deprecateSimple(name, msg) { 333 if (hooks.deprecationHandler != null) { 334 hooks.deprecationHandler(name, msg); 335 } 336 if (!deprecations[name]) { 337 warn(msg); 338 deprecations[name] = true; 339 } 340 } 341 342 hooks.suppressDeprecationWarnings = false; 343 hooks.deprecationHandler = null; 344 345 function isFunction(input) { 346 return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]'; 347 } 348 349 function set (config) { 350 var prop, i; 351 for (i in config) { 352 prop = config[i]; 353 if (isFunction(prop)) { 354 this[i] = prop; 355 } else { 356 this['_' + i] = prop; 357 } 358 } 359 this._config = config; 360 // Lenient ordinal parsing accepts just a number in addition to 361 // number + (possibly) stuff coming from _dayOfMonthOrdinalParse. 362 // TODO: Remove "ordinalParse" fallback in next major release. 363 this._dayOfMonthOrdinalParseLenient = new RegExp( 364 (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + 365 '|' + (/\d{1,2}/).source); 366 } 367 368 function mergeConfigs(parentConfig, childConfig) { 369 var res = extend({}, parentConfig), prop; 370 for (prop in childConfig) { 371 if (hasOwnProp(childConfig, prop)) { 372 if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) { 373 res[prop] = {}; 374 extend(res[prop], parentConfig[prop]); 375 extend(res[prop], childConfig[prop]); 376 } else if (childConfig[prop] != null) { 377 res[prop] = childConfig[prop]; 378 } else { 379 delete res[prop]; 380 } 381 } 382 } 383 for (prop in parentConfig) { 384 if (hasOwnProp(parentConfig, prop) && 385 !hasOwnProp(childConfig, prop) && 386 isObject(parentConfig[prop])) { 387 // make sure changes to properties don't modify parent config 388 res[prop] = extend({}, res[prop]); 389 } 390 } 391 return res; 392 } 393 394 function Locale(config) { 395 if (config != null) { 396 this.set(config); 397 } 398 } 399 400 var keys; 401 402 if (Object.keys) { 403 keys = Object.keys; 404 } else { 405 keys = function (obj) { 406 var i, res = []; 407 for (i in obj) { 408 if (hasOwnProp(obj, i)) { 409 res.push(i); 410 } 411 } 412 return res; 413 }; 414 } 415 416 var defaultCalendar = { 417 sameDay : '[Today at] LT', 418 nextDay : '[Tomorrow at] LT', 419 nextWeek : 'dddd [at] LT', 420 lastDay : '[Yesterday at] LT', 421 lastWeek : '[Last] dddd [at] LT', 422 sameElse : 'L' 423 }; 424 425 function calendar (key, mom, now) { 426 var output = this._calendar[key] || this._calendar['sameElse']; 427 return isFunction(output) ? output.call(mom, now) : output; 428 } 429 430 var defaultLongDateFormat = { 431 LTS : 'h:mm:ss A', 432 LT : 'h:mm A', 433 L : 'MM/DD/YYYY', 434 LL : 'MMMM D, YYYY', 435 LLL : 'MMMM D, YYYY h:mm A', 436 LLLL : 'dddd, MMMM D, YYYY h:mm A' 437 }; 438 439 function longDateFormat (key) { 440 var format = this._longDateFormat[key], 441 formatUpper = this._longDateFormat[key.toUpperCase()]; 442 443 if (format || !formatUpper) { 444 return format; 445 } 446 447 this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) { 448 return val.slice(1); 449 }); 450 451 return this._longDateFormat[key]; 452 } 453 454 var defaultInvalidDate = 'Invalid date'; 455 456 function invalidDate () { 457 return this._invalidDate; 458 } 459 460 var defaultOrdinal = '%d'; 461 var defaultDayOfMonthOrdinalParse = /\d{1,2}/; 462 463 function ordinal (number) { 464 return this._ordinal.replace('%d', number); 465 } 466 467 var defaultRelativeTime = { 468 future : 'in %s', 469 past : '%s ago', 470 s : 'a few seconds', 471 ss : '%d seconds', 472 m : 'a minute', 473 mm : '%d minutes', 474 h : 'an hour', 475 hh : '%d hours', 476 d : 'a day', 477 dd : '%d days', 478 M : 'a month', 479 MM : '%d months', 480 y : 'a year', 481 yy : '%d years' 482 }; 483 484 function relativeTime (number, withoutSuffix, string, isFuture) { 485 var output = this._relativeTime[string]; 486 return (isFunction(output)) ? 487 output(number, withoutSuffix, string, isFuture) : 488 output.replace(/%d/i, number); 489 } 490 491 function pastFuture (diff, output) { 492 var format = this._relativeTime[diff > 0 ? 'future' : 'past']; 493 return isFunction(format) ? format(output) : format.replace(/%s/i, output); 494 } 495 496 var aliases = {}; 497 498 function addUnitAlias (unit, shorthand) { 499 var lowerCase = unit.toLowerCase(); 500 aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit; 501 } 502 503 function normalizeUnits(units) { 504 return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined; 505 } 506 507 function normalizeObjectUnits(inputObject) { 508 var normalizedInput = {}, 509 normalizedProp, 510 prop; 511 512 for (prop in inputObject) { 513 if (hasOwnProp(inputObject, prop)) { 514 normalizedProp = normalizeUnits(prop); 515 if (normalizedProp) { 516 normalizedInput[normalizedProp] = inputObject[prop]; 517 } 518 } 519 } 520 521 return normalizedInput; 522 } 523 524 var priorities = {}; 525 526 function addUnitPriority(unit, priority) { 527 priorities[unit] = priority; 528 } 529 530 function getPrioritizedUnits(unitsObj) { 531 var units = []; 532 for (var u in unitsObj) { 533 units.push({unit: u, priority: priorities[u]}); 534 } 535 units.sort(function (a, b) { 536 return a.priority - b.priority; 537 }); 538 return units; 539 } 540 541 function zeroFill(number, targetLength, forceSign) { 542 var absNumber = '' + Math.abs(number), 543 zerosToFill = targetLength - absNumber.length, 544 sign = number >= 0; 545 return (sign ? (forceSign ? '+' : '') : '-') + 546 Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber; 547 } 548 549 var formattingTokens = /(\[[^\[]*\])|(\\)?([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; 550 551 var localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g; 552 553 var formatFunctions = {}; 554 555 var formatTokenFunctions = {}; 556 557 // token: 'M' 558 // padded: ['MM', 2] 559 // ordinal: 'Mo' 560 // callback: function () { this.month() + 1 } 561 function addFormatToken (token, padded, ordinal, callback) { 562 var func = callback; 563 if (typeof callback === 'string') { 564 func = function () { 565 return this[callback](); 566 }; 567 } 568 if (token) { 569 formatTokenFunctions[token] = func; 570 } 571 if (padded) { 572 formatTokenFunctions[padded[0]] = function () { 573 return zeroFill(func.apply(this, arguments), padded[1], padded[2]); 574 }; 575 } 576 if (ordinal) { 577 formatTokenFunctions[ordinal] = function () { 578 return this.localeData().ordinal(func.apply(this, arguments), token); 579 }; 580 } 581 } 582 583 function removeFormattingTokens(input) { 584 if (input.match(/\[[\s\S]/)) { 585 return input.replace(/^\[|\]$/g, ''); 586 } 587 return input.replace(/\\/g, ''); 588 } 589 590 function makeFormatFunction(format) { 591 var array = format.match(formattingTokens), i, length; 592 593 for (i = 0, length = array.length; i < length; i++) { 594 if (formatTokenFunctions[array[i]]) { 595 array[i] = formatTokenFunctions[array[i]]; 596 } else { 597 array[i] = removeFormattingTokens(array[i]); 598 } 599 } 600 601 return function (mom) { 602 var output = '', i; 603 for (i = 0; i < length; i++) { 604 output += isFunction(array[i]) ? array[i].call(mom, format) : array[i]; 605 } 606 return output; 607 }; 608 } 609 610 // format date using native date object 611 function formatMoment(m, format) { 612 if (!m.isValid()) { 613 return m.localeData().invalidDate(); 614 } 615 616 format = expandFormat(format, m.localeData()); 617 formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format); 618 619 return formatFunctions[format](m); 620 } 621 622 function expandFormat(format, locale) { 623 var i = 5; 624 625 function replaceLongDateFormatTokens(input) { 626 return locale.longDateFormat(input) || input; 627 } 628 629 localFormattingTokens.lastIndex = 0; 630 while (i >= 0 && localFormattingTokens.test(format)) { 631 format = format.replace(localFormattingTokens, replaceLongDateFormatTokens); 632 localFormattingTokens.lastIndex = 0; 633 i -= 1; 634 } 635 636 return format; 637 } 638 639 var match1 = /\d/; // 0 - 9 640 var match2 = /\d\d/; // 00 - 99 641 var match3 = /\d{3}/; // 000 - 999 642 var match4 = /\d{4}/; // 0000 - 9999 643 var match6 = /[+-]?\d{6}/; // -999999 - 999999 644 var match1to2 = /\d\d?/; // 0 - 99 645 var match3to4 = /\d\d\d\d?/; // 999 - 9999 646 var match5to6 = /\d\d\d\d\d\d?/; // 99999 - 999999 647 var match1to3 = /\d{1,3}/; // 0 - 999 648 var match1to4 = /\d{1,4}/; // 0 - 9999 649 var match1to6 = /[+-]?\d{1,6}/; // -999999 - 999999 650 651 var matchUnsigned = /\d+/; // 0 - inf 652 var matchSigned = /[+-]?\d+/; // -inf - inf 653 654 var matchOffset = /Z|[+-]\d\d:?\d\d/gi; // +00:00 -00:00 +0000 -0000 or Z 655 var matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z 656 657 var matchTimestamp = /[+-]?\d+(\.\d{1,3})?/; // 123456789 123456789.123 658 659 // any word (or two) characters or numbers including two/three word month in arabic. 660 // includes scottish gaelic two word and hyphenated months 661 var matchWord = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i; 662 663 var regexes = {}; 664 665 function addRegexToken (token, regex, strictRegex) { 666 regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) { 667 return (isStrict && strictRegex) ? strictRegex : regex; 668 }; 669 } 670 671 function getParseRegexForToken (token, config) { 672 if (!hasOwnProp(regexes, token)) { 673 return new RegExp(unescapeFormat(token)); 674 } 675 676 return regexes[token](config._strict, config._locale); 677 } 678 679 // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript 680 function unescapeFormat(s) { 681 return regexEscape(s.replace('\\', '').replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) { 682 return p1 || p2 || p3 || p4; 683 })); 684 } 685 686 function regexEscape(s) { 687 return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); 688 } 689 690 var tokens = {}; 691 692 function addParseToken (token, callback) { 693 var i, func = callback; 694 if (typeof token === 'string') { 695 token = [token]; 696 } 697 if (isNumber(callback)) { 698 func = function (input, array) { 699 array[callback] = toInt(input); 700 }; 701 } 702 for (i = 0; i < token.length; i++) { 703 tokens[token[i]] = func; 704 } 705 } 706 707 function addWeekParseToken (token, callback) { 708 addParseToken(token, function (input, array, config, token) { 709 config._w = config._w || {}; 710 callback(input, config._w, config, token); 711 }); 712 } 713 714 function addTimeToArrayFromToken(token, input, config) { 715 if (input != null && hasOwnProp(tokens, token)) { 716 tokens[token](input, config._a, config, token); 717 } 718 } 719 720 var YEAR = 0; 721 var MONTH = 1; 722 var DATE = 2; 723 var HOUR = 3; 724 var MINUTE = 4; 725 var SECOND = 5; 726 var MILLISECOND = 6; 727 var WEEK = 7; 728 var WEEKDAY = 8; 729 730 // FORMATTING 731 732 addFormatToken('Y', 0, 0, function () { 733 var y = this.year(); 734 return y <= 9999 ? '' + y : '+' + y; 735 }); 736 737 addFormatToken(0, ['YY', 2], 0, function () { 738 return this.year() % 100; 739 }); 740 741 addFormatToken(0, ['YYYY', 4], 0, 'year'); 742 addFormatToken(0, ['YYYYY', 5], 0, 'year'); 743 addFormatToken(0, ['YYYYYY', 6, true], 0, 'year'); 744 745 // ALIASES 746 747 addUnitAlias('year', 'y'); 748 749 // PRIORITIES 750 751 addUnitPriority('year', 1); 752 753 // PARSING 754 755 addRegexToken('Y', matchSigned); 756 addRegexToken('YY', match1to2, match2); 757 addRegexToken('YYYY', match1to4, match4); 758 addRegexToken('YYYYY', match1to6, match6); 759 addRegexToken('YYYYYY', match1to6, match6); 760 761 addParseToken(['YYYYY', 'YYYYYY'], YEAR); 762 addParseToken('YYYY', function (input, array) { 763 array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input); 764 }); 765 addParseToken('YY', function (input, array) { 766 array[YEAR] = hooks.parseTwoDigitYear(input); 767 }); 768 addParseToken('Y', function (input, array) { 769 array[YEAR] = parseInt(input, 10); 770 }); 771 772 // HELPERS 773 774 function daysInYear(year) { 775 return isLeapYear(year) ? 366 : 365; 776 } 777 778 function isLeapYear(year) { 779 return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; 780 } 781 782 // HOOKS 783 784 hooks.parseTwoDigitYear = function (input) { 785 return toInt(input) + (toInt(input) > 68 ? 1900 : 2000); 786 }; 787 788 // MOMENTS 789 790 var getSetYear = makeGetSet('FullYear', true); 791 792 function getIsLeapYear () { 793 return isLeapYear(this.year()); 794 } 795 796 function makeGetSet (unit, keepTime) { 797 return function (value) { 798 if (value != null) { 799 set$1(this, unit, value); 800 hooks.updateOffset(this, keepTime); 801 return this; 802 } else { 803 return get(this, unit); 804 } 805 }; 806 } 807 808 function get (mom, unit) { 809 return mom.isValid() ? 810 mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN; 811 } 812 813 function set$1 (mom, unit, value) { 814 if (mom.isValid() && !isNaN(value)) { 815 if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) { 816 mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month())); 817 } 818 else { 819 mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value); 820 } 821 } 822 } 823 824 // MOMENTS 825 826 function stringGet (units) { 827 units = normalizeUnits(units); 828 if (isFunction(this[units])) { 829 return this[units](); 830 } 831 return this; 832 } 833 834 835 function stringSet (units, value) { 836 if (typeof units === 'object') { 837 units = normalizeObjectUnits(units); 838 var prioritized = getPrioritizedUnits(units); 839 for (var i = 0; i < prioritized.length; i++) { 840 this[prioritized[i].unit](units[prioritized[i].unit]); 841 } 842 } else { 843 units = normalizeUnits(units); 844 if (isFunction(this[units])) { 845 return this[units](value); 846 } 847 } 848 return this; 849 } 850 851 function mod(n, x) { 852 return ((n % x) + x) % x; 853 } 854 855 var indexOf; 856 857 if (Array.prototype.indexOf) { 858 indexOf = Array.prototype.indexOf; 859 } else { 860 indexOf = function (o) { 861 // I know 862 var i; 863 for (i = 0; i < this.length; ++i) { 864 if (this[i] === o) { 865 return i; 866 } 867 } 868 return -1; 869 }; 870 } 871 872 function daysInMonth(year, month) { 873 if (isNaN(year) || isNaN(month)) { 874 return NaN; 875 } 876 var modMonth = mod(month, 12); 877 year += (month - modMonth) / 12; 878 return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2); 879 } 880 881 // FORMATTING 882 883 addFormatToken('M', ['MM', 2], 'Mo', function () { 884 return this.month() + 1; 885 }); 886 887 addFormatToken('MMM', 0, 0, function (format) { 888 return this.localeData().monthsShort(this, format); 889 }); 890 891 addFormatToken('MMMM', 0, 0, function (format) { 892 return this.localeData().months(this, format); 893 }); 894 895 // ALIASES 896 897 addUnitAlias('month', 'M'); 898 899 // PRIORITY 900 901 addUnitPriority('month', 8); 902 903 // PARSING 904 905 addRegexToken('M', match1to2); 906 addRegexToken('MM', match1to2, match2); 907 addRegexToken('MMM', function (isStrict, locale) { 908 return locale.monthsShortRegex(isStrict); 909 }); 910 addRegexToken('MMMM', function (isStrict, locale) { 911 return locale.monthsRegex(isStrict); 912 }); 913 914 addParseToken(['M', 'MM'], function (input, array) { 915 array[MONTH] = toInt(input) - 1; 916 }); 917 918 addParseToken(['MMM', 'MMMM'], function (input, array, config, token) { 919 var month = config._locale.monthsParse(input, token, config._strict); 920 // if we didn't find a month name, mark the date as invalid. 921 if (month != null) { 922 array[MONTH] = month; 923 } else { 924 getParsingFlags(config).invalidMonth = input; 925 } 926 }); 927 928 // LOCALES 929 930 var MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/; 931 var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'); 932 function localeMonths (m, format) { 933 if (!m) { 934 return isArray(this._months) ? this._months : 935 this._months['standalone']; 936 } 937 return isArray(this._months) ? this._months[m.month()] : 938 this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()]; 939 } 940 941 var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'); 942 function localeMonthsShort (m, format) { 943 if (!m) { 944 return isArray(this._monthsShort) ? this._monthsShort : 945 this._monthsShort['standalone']; 946 } 947 return isArray(this._monthsShort) ? this._monthsShort[m.month()] : 948 this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()]; 949 } 950 951 function handleStrictParse(monthName, format, strict) { 952 var i, ii, mom, llc = monthName.toLocaleLowerCase(); 953 if (!this._monthsParse) { 954 // this is not used 955 this._monthsParse = []; 956 this._longMonthsParse = []; 957 this._shortMonthsParse = []; 958 for (i = 0; i < 12; ++i) { 959 mom = createUTC([2000, i]); 960 this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase(); 961 this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase(); 962 } 963 } 964 965 if (strict) { 966 if (format === 'MMM') { 967 ii = indexOf.call(this._shortMonthsParse, llc); 968 return ii !== -1 ? ii : null; 969 } else { 970 ii = indexOf.call(this._longMonthsParse, llc); 971 return ii !== -1 ? ii : null; 972 } 973 } else { 974 if (format === 'MMM') { 975 ii = indexOf.call(this._shortMonthsParse, llc); 976 if (ii !== -1) { 977 return ii; 978 } 979 ii = indexOf.call(this._longMonthsParse, llc); 980 return ii !== -1 ? ii : null; 981 } else { 982 ii = indexOf.call(this._longMonthsParse, llc); 983 if (ii !== -1) { 984 return ii; 985 } 986 ii = indexOf.call(this._shortMonthsParse, llc); 987 return ii !== -1 ? ii : null; 988 } 989 } 990 } 991 992 function localeMonthsParse (monthName, format, strict) { 993 var i, mom, regex; 994 995 if (this._monthsParseExact) { 996 return handleStrictParse.call(this, monthName, format, strict); 997 } 998 999 if (!this._monthsParse) { 1000 this._monthsParse = []; 1001 this._longMonthsParse = []; 1002 this._shortMonthsParse = []; 1003 } 1004 1005 // TODO: add sorting 1006 // Sorting makes sure if one month (or abbr) is a prefix of another 1007 // see sorting in computeMonthsParse 1008 for (i = 0; i < 12; i++) { 1009 // make the regex if we don't have it already 1010 mom = createUTC([2000, i]); 1011 if (strict && !this._longMonthsParse[i]) { 1012 this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i'); 1013 this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i'); 1014 } 1015 if (!strict && !this._monthsParse[i]) { 1016 regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, ''); 1017 this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i'); 1018 } 1019 // test the regex 1020 if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) { 1021 return i; 1022 } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) { 1023 return i; 1024 } else if (!strict && this._monthsParse[i].test(monthName)) { 1025 return i; 1026 } 1027 } 1028 } 1029 1030 // MOMENTS 1031 1032 function setMonth (mom, value) { 1033 var dayOfMonth; 1034 1035 if (!mom.isValid()) { 1036 // No op 1037 return mom; 1038 } 1039 1040 if (typeof value === 'string') { 1041 if (/^\d+$/.test(value)) { 1042 value = toInt(value); 1043 } else { 1044 value = mom.localeData().monthsParse(value); 1045 // TODO: Another silent failure? 1046 if (!isNumber(value)) { 1047 return mom; 1048 } 1049 } 1050 } 1051 1052 dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value)); 1053 mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth); 1054 return mom; 1055 } 1056 1057 function getSetMonth (value) { 1058 if (value != null) { 1059 setMonth(this, value); 1060 hooks.updateOffset(this, true); 1061 return this; 1062 } else { 1063 return get(this, 'Month'); 1064 } 1065 } 1066 1067 function getDaysInMonth () { 1068 return daysInMonth(this.year(), this.month()); 1069 } 1070 1071 var defaultMonthsShortRegex = matchWord; 1072 function monthsShortRegex (isStrict) { 1073 if (this._monthsParseExact) { 1074 if (!hasOwnProp(this, '_monthsRegex')) { 1075 computeMonthsParse.call(this); 1076 } 1077 if (isStrict) { 1078 return this._monthsShortStrictRegex; 1079 } else { 1080 return this._monthsShortRegex; 1081 } 1082 } else { 1083 if (!hasOwnProp(this, '_monthsShortRegex')) { 1084 this._monthsShortRegex = defaultMonthsShortRegex; 1085 } 1086 return this._monthsShortStrictRegex && isStrict ? 1087 this._monthsShortStrictRegex : this._monthsShortRegex; 1088 } 1089 } 1090 1091 var defaultMonthsRegex = matchWord; 1092 function monthsRegex (isStrict) { 1093 if (this._monthsParseExact) { 1094 if (!hasOwnProp(this, '_monthsRegex')) { 1095 computeMonthsParse.call(this); 1096 } 1097 if (isStrict) { 1098 return this._monthsStrictRegex; 1099 } else { 1100 return this._monthsRegex; 1101 } 1102 } else { 1103 if (!hasOwnProp(this, '_monthsRegex')) { 1104 this._monthsRegex = defaultMonthsRegex; 1105 } 1106 return this._monthsStrictRegex && isStrict ? 1107 this._monthsStrictRegex : this._monthsRegex; 1108 } 1109 } 1110 1111 function computeMonthsParse () { 1112 function cmpLenRev(a, b) { 1113 return b.length - a.length; 1114 } 1115 1116 var shortPieces = [], longPieces = [], mixedPieces = [], 1117 i, mom; 1118 for (i = 0; i < 12; i++) { 1119 // make the regex if we don't have it already 1120 mom = createUTC([2000, i]); 1121 shortPieces.push(this.monthsShort(mom, '')); 1122 longPieces.push(this.months(mom, '')); 1123 mixedPieces.push(this.months(mom, '')); 1124 mixedPieces.push(this.monthsShort(mom, '')); 1125 } 1126 // Sorting makes sure if one month (or abbr) is a prefix of another it 1127 // will match the longer piece. 1128 shortPieces.sort(cmpLenRev); 1129 longPieces.sort(cmpLenRev); 1130 mixedPieces.sort(cmpLenRev); 1131 for (i = 0; i < 12; i++) { 1132 shortPieces[i] = regexEscape(shortPieces[i]); 1133 longPieces[i] = regexEscape(longPieces[i]); 1134 } 1135 for (i = 0; i < 24; i++) { 1136 mixedPieces[i] = regexEscape(mixedPieces[i]); 1137 } 1138 1139 this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); 1140 this._monthsShortRegex = this._monthsRegex; 1141 this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i'); 1142 this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i'); 1143 } 1144 1145 function createDate (y, m, d, h, M, s, ms) { 1146 // can't just apply() to create a date: 1147 // https://stackoverflow.com/q/181348 1148 var date
vendor: 3,190 bytes, lines 1148-1250
1148 = new Date(y, m, d, h, M, s, ms); 1149 1150 // the date constructor remaps years 0-99 to 1900-1999 1151 if (y < 100 && y >= 0 && isFinite(date.getFullYear())) { 1152 date.setFullYear(y); 1153 } 1154 return date; 1155 } 1156 1157 function createUTCDate (y) { 1158 var date = new Date(Date.UTC.apply(null, arguments)); 1159 1160 // the Date.UTC function remaps years 0-99 to 1900-1999 1161 if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) { 1162 date.setUTCFullYear(y); 1163 } 1164 return date; 1165 } 1166 1167 // start-of-first-week - start-of-year 1168 function firstWeekOffset(year, dow, doy) { 1169 var // first-week day -- which january is always in the first week (4 for iso, 1 for other) 1170 fwd = 7 + dow - doy, 1171 // first-week day local weekday -- which local weekday is fwd 1172 fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7; 1173 1174 return -fwdlw + fwd - 1; 1175 } 1176 1177 // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday 1178 function dayOfYearFromWeeks(year, week, weekday, dow, doy) { 1179 var localWeekday = (7 + weekday - dow) % 7, 1180 weekOffset = firstWeekOffset(year, dow, doy), 1181 dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset, 1182 resYear, resDayOfYear; 1183 1184 if (dayOfYear <= 0) { 1185 resYear = year - 1; 1186 resDayOfYear = daysInYear(resYear) + dayOfYear; 1187 } else if (dayOfYear > daysInYear(year)) { 1188 resYear = year + 1; 1189 resDayOfYear = dayOfYear - daysInYear(year); 1190 } else { 1191 resYear = year; 1192 resDayOfYear = dayOfYear; 1193 } 1194 1195 return { 1196 year: resYear, 1197 dayOfYear: resDayOfYear 1198 }; 1199 } 1200 1201 function weekOfYear(mom, dow, doy) { 1202 var weekOffset = firstWeekOffset(mom.year(), dow, doy), 1203 week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1, 1204 resWeek, resYear; 1205 1206 if (week < 1) { 1207 resYear = mom.year() - 1; 1208 resWeek = week + weeksInYear(resYear, dow, doy); 1209 } else if (week > weeksInYear(mom.year(), dow, doy)) { 1210 resWeek = week - weeksInYear(mom.year(), dow, doy); 1211 resYear = mom.year() + 1; 1212 } else { 1213 resYear = mom.year(); 1214 resWeek = week; 1215 } 1216 1217 return { 1218 week: resWeek, 1219 year: resYear 1220 }; 1221 } 1222 1223 function weeksInYear(year, dow, doy) { 1224 var weekOffset = firstWeekOffset(year, dow, doy), 1225 weekOffsetNext = firstWeekOffset(year + 1, dow, doy); 1226 return (daysInYear(year) - weekOffset + weekOffsetNext) / 7; 1227 } 1228 1229 // FORMATTING 1230 1231 addFormatToken('w', ['ww', 2], 'wo', 'week'); 1232 addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek'); 1233 1234 // ALIASES 1235 1236 addUnitAlias('week', 'w'); 1237 addUnitAlias('isoWeek', 'W'); 1238 1239 // PRIORITIES 1240 1241 addUnitPriority('week', 5); 1242 addUnitPriority('isoWeek', 5); 1243 1244 // PARSING 1245 1246 addRegexToken('w', match1to2); 1247 addRegexToken('ww', match1to2, match2); 1248 addRegexToken('W', match1to2); 1249 addRegexToken('WW', match1to2, match2); 1250
vendor: 16,384 bytes, lines 1251-1733
1251 addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) { 1252 week[token.substr(0, 1)] = toInt(input); 1253 }); 1254 1255 // HELPERS 1256 1257 // LOCALES 1258 1259 function localeWeek (mom) { 1260 return weekOfYear(mom, this._week.dow, this._week.doy).week; 1261 } 1262 1263 var defaultLocaleWeek = { 1264 dow : 0, // Sunday is the first day of the week. 1265 doy : 6 // The week that contains Jan 1st is the first week of the year. 1266 }; 1267 1268 function localeFirstDayOfWeek () { 1269 return this._week.dow; 1270 } 1271 1272 function localeFirstDayOfYear () { 1273 return this._week.doy; 1274 } 1275 1276 // MOMENTS 1277 1278 function getSetWeek (input) { 1279 var week = this.localeData().week(this); 1280 return input == null ? week : this.add((input - week) * 7, 'd'); 1281 } 1282 1283 function getSetISOWeek (input) { 1284 var week = weekOfYear(this, 1, 4).week; 1285 return input == null ? week : this.add((input - week) * 7, 'd'); 1286 } 1287 1288 // FORMATTING 1289 1290 addFormatToken('d', 0, 'do', 'day'); 1291 1292 addFormatToken('dd', 0, 0, function (format) { 1293 return this.localeData().weekdaysMin(this, format); 1294 }); 1295 1296 addFormatToken('ddd', 0, 0, function (format) { 1297 return this.localeData().weekdaysShort(this, format); 1298 }); 1299 1300 addFormatToken('dddd', 0, 0, function (format) { 1301 return this.localeData().weekdays(this, format); 1302 }); 1303 1304 addFormatToken('e', 0, 0, 'weekday'); 1305 addFormatToken('E', 0, 0, 'isoWeekday'); 1306 1307 // ALIASES 1308 1309 addUnitAlias('day', 'd'); 1310 addUnitAlias('weekday', 'e'); 1311 addUnitAlias('isoWeekday', 'E'); 1312 1313 // PRIORITY 1314 addUnitPriority('day', 11); 1315 addUnitPriority('weekday', 11); 1316 addUnitPriority('isoWeekday', 11); 1317 1318 // PARSING 1319 1320 addRegexToken('d', match1to2); 1321 addRegexToken('e', match1to2); 1322 addRegexToken('E', match1to2); 1323 addRegexToken('dd', function (isStrict, locale) { 1324 return locale.weekdaysMinRegex(isStrict); 1325 }); 1326 addRegexToken('ddd', function (isStrict, locale) { 1327 return locale.weekdaysShortRegex(isStrict); 1328 }); 1329 addRegexToken('dddd', function (isStrict, locale) { 1330 return locale.weekdaysRegex(isStrict); 1331 }); 1332 1333 addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) { 1334 var weekday = config._locale.weekdaysParse(input, token, config._strict); 1335 // if we didn't get a weekday name, mark the date as invalid 1336 if (weekday != null) { 1337 week.d = weekday; 1338 } else { 1339 getParsingFlags(config).invalidWeekday = input; 1340 } 1341 }); 1342 1343 addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) { 1344 week[token] = toInt(input); 1345 }); 1346 1347 // HELPERS 1348 1349 function parseWeekday(input, locale) { 1350 if (typeof input !== 'string') { 1351 return input; 1352 } 1353 1354 if (!isNaN(input)) { 1355 return parseInt(input, 10); 1356 } 1357 1358 input = locale.weekdaysParse(input); 1359 if (typeof input === 'number') { 1360 return input; 1361 } 1362 1363 return null; 1364 } 1365 1366 function parseIsoWeekday(input, locale) { 1367 if (typeof input === 'string') { 1368 return locale.weekdaysParse(input) % 7 || 7; 1369 } 1370 return isNaN(input) ? null : input; 1371 } 1372 1373 // LOCALES 1374 1375 var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'); 1376 function localeWeekdays (m, format) { 1377 if (!m) { 1378 return isArray(this._weekdays) ? this._weekdays : 1379 this._weekdays['standalone']; 1380 } 1381 return isArray(this._weekdays) ? this._weekdays[m.day()] : 1382 this._weekdays[this._weekdays.isFormat.test(format) ? 'format' : 'standalone'][m.day()]; 1383 } 1384 1385 var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'); 1386 function localeWeekdaysShort (m) { 1387 return (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort; 1388 } 1389 1390 var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'); 1391 function localeWeekdaysMin (m) { 1392 return (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin; 1393 } 1394 1395 function handleStrictParse$1(weekdayName, format, strict) { 1396 var i, ii, mom, llc = weekdayName.toLocaleLowerCase(); 1397 if (!this._weekdaysParse) { 1398 this._weekdaysParse = []; 1399 this._shortWeekdaysParse = []; 1400 this._minWeekdaysParse = []; 1401 1402 for (i = 0; i < 7; ++i) { 1403 mom = createUTC([2000, 1]).day(i); 1404 this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase(); 1405 this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase(); 1406 this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase(); 1407 } 1408 } 1409 1410 if (strict) { 1411 if (format === 'dddd') { 1412 ii = indexOf.call(this._weekdaysParse, llc); 1413 return ii !== -1 ? ii : null; 1414 } else if (format === 'ddd') { 1415 ii = indexOf.call(this._shortWeekdaysParse, llc); 1416 return ii !== -1 ? ii : null; 1417 } else { 1418 ii = indexOf.call(this._minWeekdaysParse, llc); 1419 return ii !== -1 ? ii : null; 1420 } 1421 } else { 1422 if (format === 'dddd') { 1423 ii = indexOf.call(this._weekdaysParse, llc); 1424 if (ii !== -1) { 1425 return ii; 1426 } 1427 ii = indexOf.call(this._shortWeekdaysParse, llc); 1428 if (ii !== -1) { 1429 return ii; 1430 } 1431 ii = indexOf.call(this._minWeekdaysParse, llc); 1432 return ii !== -1 ? ii : null; 1433 } else if (format === 'ddd') { 1434 ii = indexOf.call(this._shortWeekdaysParse, llc); 1435 if (ii !== -1) { 1436 return ii; 1437 } 1438 ii = indexOf.call(this._weekdaysParse, llc); 1439 if (ii !== -1) { 1440 return ii; 1441 } 1442 ii = indexOf.call(this._minWeekdaysParse, llc); 1443 return ii !== -1 ? ii : null; 1444 } else { 1445 ii = indexOf.call(this._minWeekdaysParse, llc); 1446 if (ii !== -1) { 1447 return ii; 1448 } 1449 ii = indexOf.call(this._weekdaysParse, llc); 1450 if (ii !== -1) { 1451 return ii; 1452 } 1453 ii = indexOf.call(this._shortWeekdaysParse, llc); 1454 return ii !== -1 ? ii : null; 1455 } 1456 } 1457 } 1458 1459 function localeWeekdaysParse (weekdayName, format, strict) { 1460 var i, mom, regex; 1461 1462 if (this._weekdaysParseExact) { 1463 return handleStrictParse$1.call(this, weekdayName, format, strict); 1464 } 1465 1466 if (!this._weekdaysParse) { 1467 this._weekdaysParse = []; 1468 this._minWeekdaysParse = []; 1469 this._shortWeekdaysParse = []; 1470 this._fullWeekdaysParse = []; 1471 } 1472 1473 for (i = 0; i < 7; i++) { 1474 // make the regex if we don't have it already 1475 1476 mom = createUTC([2000, 1]).day(i); 1477 if (strict && !this._fullWeekdaysParse[i]) { 1478 this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', 'i'); 1479 this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', 'i'); 1480 this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', 'i'); 1481 } 1482 if (!this._weekdaysParse[i]) { 1483 regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, ''); 1484 this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i'); 1485 } 1486 // test the regex 1487 if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) { 1488 return i; 1489 } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) { 1490 return i; 1491 } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) { 1492 return i; 1493 } else if (!strict && this._weekdaysParse[i].test(weekdayName)) { 1494 return i; 1495 } 1496 } 1497 } 1498 1499 // MOMENTS 1500 1501 function getSetDayOfWeek (input) { 1502 if (!this.isValid()) { 1503 return input != null ? this : NaN; 1504 } 1505 var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); 1506 if (input != null) { 1507 input = parseWeekday(input, this.localeData()); 1508 return this.add(input - day, 'd'); 1509 } else { 1510 return day; 1511 } 1512 } 1513 1514 function getSetLocaleDayOfWeek (input) { 1515 if (!this.isValid()) { 1516 return input != null ? this : NaN; 1517 } 1518 var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7; 1519 return input == null ? weekday : this.add(input - weekday, 'd'); 1520 } 1521 1522 function getSetISODayOfWeek (input) { 1523 if (!this.isValid()) { 1524 return input != null ? this : NaN; 1525 } 1526 1527 // behaves the same as moment#day except 1528 // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6) 1529 // as a setter, sunday should belong to the previous week. 1530 1531 if (input != null) { 1532 var weekday = parseIsoWeekday(input, this.localeData()); 1533 return this.day(this.day() % 7 ? weekday : weekday - 7); 1534 } else { 1535 return this.day() || 7; 1536 } 1537 } 1538 1539 var defaultWeekdaysRegex = matchWord; 1540 function weekdaysRegex (isStrict) { 1541 if (this._weekdaysParseExact) { 1542 if (!hasOwnProp(this, '_weekdaysRegex')) { 1543 computeWeekdaysParse.call(this); 1544 } 1545 if (isStrict) { 1546 return this._weekdaysStrictRegex; 1547 } else { 1548 return this._weekdaysRegex; 1549 } 1550 } else { 1551 if (!hasOwnProp(this, '_weekdaysRegex')) { 1552 this._weekdaysRegex = defaultWeekdaysRegex; 1553 } 1554 return this._weekdaysStrictRegex && isStrict ? 1555 this._weekdaysStrictRegex : this._weekdaysRegex; 1556 } 1557 } 1558 1559 var defaultWeekdaysShortRegex = matchWord; 1560 function weekdaysShortRegex (isStrict) { 1561 if (this._weekdaysParseExact) { 1562 if (!hasOwnProp(this, '_weekdaysRegex')) { 1563 computeWeekdaysParse.call(this); 1564 } 1565 if (isStrict) { 1566 return this._weekdaysShortStrictRegex; 1567 } else { 1568 return this._weekdaysShortRegex; 1569 } 1570 } else { 1571 if (!hasOwnProp(this, '_weekdaysShortRegex')) { 1572 this._weekdaysShortRegex = defaultWeekdaysShortRegex; 1573 } 1574 return this._weekdaysShortStrictRegex && isStrict ? 1575 this._weekdaysShortStrictRegex : this._weekdaysShortRegex; 1576 } 1577 } 1578 1579 var defaultWeekdaysMinRegex = matchWord; 1580 function weekdaysMinRegex (isStrict) { 1581 if (this._weekdaysParseExact) { 1582 if (!hasOwnProp(this, '_weekdaysRegex')) { 1583 computeWeekdaysParse.call(this); 1584 } 1585 if (isStrict) { 1586 return this._weekdaysMinStrictRegex; 1587 } else { 1588 return this._weekdaysMinRegex; 1589 } 1590 } else { 1591 if (!hasOwnProp(this, '_weekdaysMinRegex')) { 1592 this._weekdaysMinRegex = defaultWeekdaysMinRegex; 1593 } 1594 return this._weekdaysMinStrictRegex && isStrict ? 1595 this._weekdaysMinStrictRegex : this._weekdaysMinRegex; 1596 } 1597 } 1598 1599 1600 function computeWeekdaysParse () { 1601 function cmpLenRev(a, b) { 1602 return b.length - a.length; 1603 } 1604 1605 var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [], 1606 i, mom, minp, shortp, longp; 1607 for (i = 0; i < 7; i++) { 1608 // make the regex if we don't have it already 1609 mom = createUTC([2000, 1]).day(i); 1610 minp = this.weekdaysMin(mom, ''); 1611 shortp = this.weekdaysShort(mom, ''); 1612 longp = this.weekdays(mom, ''); 1613 minPieces.push(minp); 1614 shortPieces.push(shortp); 1615 longPieces.push(longp); 1616 mixedPieces.push(minp); 1617 mixedPieces.push(shortp); 1618 mixedPieces.push(longp); 1619 } 1620 // Sorting makes sure if one weekday (or abbr) is a prefix of another it 1621 // will match the longer piece. 1622 minPieces.sort(cmpLenRev); 1623 shortPieces.sort(cmpLenRev); 1624 longPieces.sort(cmpLenRev); 1625 mixedPieces.sort(cmpLenRev); 1626 for (i = 0; i < 7; i++) { 1627 shortPieces[i] = regexEscape(shortPieces[i]); 1628 longPieces[i] = regexEscape(longPieces[i]); 1629 mixedPieces[i] = regexEscape(mixedPieces[i]); 1630 } 1631 1632 this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); 1633 this._weekdaysShortRegex = this._weekdaysRegex; 1634 this._weekdaysMinRegex = this._weekdaysRegex; 1635 1636 this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i'); 1637 this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i'); 1638 this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i'); 1639 } 1640 1641 // FORMATTING 1642 1643 function hFormat() { 1644 return this.hours() % 12 || 12; 1645 } 1646 1647 function kFormat() { 1648 return this.hours() || 24; 1649 } 1650 1651 addFormatToken('H', ['HH', 2], 0, 'hour'); 1652 addFormatToken('h', ['hh', 2], 0, hFormat); 1653 addFormatToken('k', ['kk', 2], 0, kFormat); 1654 1655 addFormatToken('hmm', 0, 0, function () { 1656 return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2); 1657 }); 1658 1659 addFormatToken('hmmss', 0, 0, function () { 1660 return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) + 1661 zeroFill(this.seconds(), 2); 1662 }); 1663 1664 addFormatToken('Hmm', 0, 0, function () { 1665 return '' + this.hours() + zeroFill(this.minutes(), 2); 1666 }); 1667 1668 addFormatToken('Hmmss', 0, 0, function () { 1669 return '' + this.hours() + zeroFill(this.minutes(), 2) + 1670 zeroFill(this.seconds(), 2); 1671 }); 1672 1673 function meridiem (token, lowercase) { 1674 addFormatToken(token, 0, 0, function () { 1675 return this.localeData().meridiem(this.hours(), this.minutes(), lowercase); 1676 }); 1677 } 1678 1679 meridiem('a', true); 1680 meridiem('A', false); 1681 1682 // ALIASES 1683 1684 addUnitAlias('hour', 'h'); 1685 1686 // PRIORITY 1687 addUnitPriority('hour', 13); 1688 1689 // PARSING 1690 1691 function matchMeridiem (isStrict, locale) { 1692 return locale._meridiemParse; 1693 } 1694 1695 addRegexToken('a', matchMeridiem); 1696 addRegexToken('A', matchMeridiem); 1697 addRegexToken('H', match1to2); 1698 addRegexToken('h', match1to2); 1699 addRegexToken('k', match1to2); 1700 addRegexToken('HH', match1to2, match2); 1701 addRegexToken('hh', match1to2, match2); 1702 addRegexToken('kk', match1to2, match2); 1703 1704 addRegexToken('hmm', match3to4); 1705 addRegexToken('hmmss', match5to6); 1706 addRegexToken('Hmm', match3to4); 1707 addRegexToken('Hmmss', match5to6); 1708 1709 addParseToken(['H', 'HH'], HOUR); 1710 addParseToken(['k', 'kk'], function (input, array, config) { 1711 var kInput = toInt(input); 1712 array[HOUR] = kInput === 24 ? 0 : kInput; 1713 }); 1714 addParseToken(['a', 'A'], function (input, array, config) { 1715 config._isPm = config._locale.isPM(input); 1716 config._meridiem = input; 1717 }); 1718 addParseToken(['h', 'hh'], function (input, array, config) { 1719 array[HOUR] = toInt(input); 1720 getParsingFlags(config).bigHour = true; 1721 }); 1722 addParseToken('hmm', function (input, array, config) { 1723 var pos = input.length - 2; 1724 array[HOUR] = toInt(input.substr(0, pos)); 1725 array[MINUTE] = toInt(input.substr(pos)); 1726 getParsingFlags(config).bigHour = true; 1727 }); 1728 addParseToken('hmmss', function (input, array, config) { 1729 var pos1 = input.length - 4; 1730 var pos2 = input.length - 2; 1731 array[HOUR] = toInt(input.substr(0, pos1)); 1732 array[MINUTE] = toInt(input.substr(pos1, 2)); 1733 array[SECOND] = toInt(input
vendor: 14,721 bytes, lines 1733-2147
1733.substr(pos2)); 1734 getParsingFlags(config).bigHour = true; 1735 }); 1736 addParseToken('Hmm', function (input, array, config) { 1737 var pos = input.length - 2; 1738 array[HOUR] = toInt(input.substr(0, pos)); 1739 array[MINUTE] = toInt(input.substr(pos)); 1740 }); 1741 addParseToken('Hmmss', function (input, array, config) { 1742 var pos1 = input.length - 4; 1743 var pos2 = input.length - 2; 1744 array[HOUR] = toInt(input.substr(0, pos1)); 1745 array[MINUTE] = toInt(input.substr(pos1, 2)); 1746 array[SECOND] = toInt(input.substr(pos2)); 1747 }); 1748 1749 // LOCALES 1750 1751 function localeIsPM (input) { 1752 // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays 1753 // Using charAt should be more compatible. 1754 return ((input + '').toLowerCase().charAt(0) === 'p'); 1755 } 1756 1757 var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i; 1758 function localeMeridiem (hours, minutes, isLower) { 1759 if (hours > 11) { 1760 return isLower ? 'pm' : 'PM'; 1761 } else { 1762 return isLower ? 'am' : 'AM'; 1763 } 1764 } 1765 1766 1767 // MOMENTS 1768 1769 // Setting the hour should keep the time, because the user explicitly 1770 // specified which hour they want. So trying to maintain the same hour (in 1771 // a new timezone) makes sense. Adding/subtracting hours does not follow 1772 // this rule. 1773 var getSetHour = makeGetSet('Hours', true); 1774 1775 var baseConfig = { 1776 calendar: defaultCalendar, 1777 longDateFormat: defaultLongDateFormat, 1778 invalidDate: defaultInvalidDate, 1779 ordinal: defaultOrdinal, 1780 dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse, 1781 relativeTime: defaultRelativeTime, 1782 1783 months: defaultLocaleMonths, 1784 monthsShort: defaultLocaleMonthsShort, 1785 1786 week: defaultLocaleWeek, 1787 1788 weekdays: defaultLocaleWeekdays, 1789 weekdaysMin: defaultLocaleWeekdaysMin, 1790 weekdaysShort: defaultLocaleWeekdaysShort, 1791 1792 meridiemParse: defaultLocaleMeridiemParse 1793 }; 1794 1795 // internal storage for locale config files 1796 var locales = {}; 1797 var localeFamilies = {}; 1798 var globalLocale; 1799 1800 function normalizeLocale(key) { 1801 return key ? key.toLowerCase().replace('_', '-') : key; 1802 } 1803 1804 // pick the locale from the array 1805 // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each 1806 // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root 1807 function chooseLocale(names) { 1808 var i = 0, j, next, locale, split; 1809 1810 while (i < names.length) { 1811 split = normalizeLocale(names[i]).split('-'); 1812 j = split.length; 1813 next = normalizeLocale(names[i + 1]); 1814 next = next ? next.split('-') : null; 1815 while (j > 0) { 1816 locale = loadLocale(split.slice(0, j).join('-')); 1817 if (locale) { 1818 return locale; 1819 } 1820 if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) { 1821 //the next array item is better than a shallower substring of this one 1822 break; 1823 } 1824 j--; 1825 } 1826 i++; 1827 } 1828 return globalLocale; 1829 } 1830 1831 function loadLocale(name) { 1832 var oldLocale = null; 1833 // TODO: Find a better way to register and load all the locales in Node 1834 if (!locales[name] && (typeof module !== 'undefined') && 1835 module && module.exports) { 1836 try { 1837 oldLocale = globalLocale._abbr; 1838 var aliasedRequire = require; 1839 aliasedRequire('./locale/' + name); 1840 getSetGlobalLocale(oldLocale); 1841 } catch (e) {} 1842 } 1843 return locales[name]; 1844 } 1845 1846 // This function will load locale and then set the global locale. If 1847 // no arguments are passed in, it will simply return the current global 1848 // locale key. 1849 function getSetGlobalLocale (key, values) { 1850 var data; 1851 if (key) { 1852 if (isUndefined(values)) { 1853 data = getLocale(key); 1854 } 1855 else { 1856 data = defineLocale(key, values); 1857 } 1858 1859 if (data) { 1860 // moment.duration._locale = moment._locale = data; 1861 globalLocale = data; 1862 } 1863 else { 1864 if ((typeof console !== 'undefined') && console.warn) { 1865 //warn user if arguments are passed but the locale could not be set 1866 console.warn('Locale ' + key + ' not found. Did you forget to load it?'); 1867 } 1868 } 1869 } 1870 1871 return globalLocale._abbr; 1872 } 1873 1874 function defineLocale (name, config) { 1875 if (config !== null) { 1876 var locale, parentConfig = baseConfig; 1877 config.abbr = name; 1878 if (locales[name] != null) { 1879 deprecateSimple('defineLocaleOverride', 1880 'use moment.updateLocale(localeName, config) to change ' + 1881 'an existing locale. moment.defineLocale(localeName, ' + 1882 'config) should only be used for creating a new locale ' + 1883 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'); 1884 parentConfig = locales[name]._config; 1885 } else if (config.parentLocale != null) { 1886 if (locales[config.parentLocale] != null) { 1887 parentConfig = locales[config.parentLocale]._config; 1888 } else { 1889 locale = loadLocale(config.parentLocale); 1890 if (locale != null) { 1891 parentConfig = locale._config; 1892 } else { 1893 if (!localeFamilies[config.parentLocale]) { 1894 localeFamilies[config.parentLocale] = []; 1895 } 1896 localeFamilies[config.parentLocale].push({ 1897 name: name, 1898 config: config 1899 }); 1900 return null; 1901 } 1902 } 1903 } 1904 locales[name] = new Locale(mergeConfigs(parentConfig, config)); 1905 1906 if (localeFamilies[name]) { 1907 localeFamilies[name].forEach(function (x) { 1908 defineLocale(x.name, x.config); 1909 }); 1910 } 1911 1912 // backwards compat for now: also set the locale 1913 // make sure we set the locale AFTER all child locales have been 1914 // created, so we won't end up with the child locale set. 1915 getSetGlobalLocale(name); 1916 1917 1918 return locales[name]; 1919 } else { 1920 // useful for testing 1921 delete locales[name]; 1922 return null; 1923 } 1924 } 1925 1926 function updateLocale(name, config) { 1927 if (config != null) { 1928 var locale, tmpLocale, parentConfig = baseConfig; 1929 // MERGE 1930 tmpLocale = loadLocale(name); 1931 if (tmpLocale != null) { 1932 parentConfig = tmpLocale._config; 1933 } 1934 config = mergeConfigs(parentConfig, config); 1935 locale = new Locale(config); 1936 locale.parentLocale = locales[name]; 1937 locales[name] = locale; 1938 1939 // backwards compat for now: also set the locale 1940 getSetGlobalLocale(name); 1941 } else { 1942 // pass null for config to unupdate, useful for tests 1943 if (locales[name] != null) { 1944 if (locales[name].parentLocale != null) { 1945 locales[name] = locales[name].parentLocale; 1946 } else if (locales[name] != null) { 1947 delete locales[name]; 1948 } 1949 } 1950 } 1951 return locales[name]; 1952 } 1953 1954 // returns locale data 1955 function getLocale (key) { 1956 var locale; 1957 1958 if (key && key._locale && key._locale._abbr) { 1959 key = key._locale._abbr; 1960 } 1961 1962 if (!key) { 1963 return globalLocale; 1964 } 1965 1966 if (!isArray(key)) { 1967 //short-circuit everything else 1968 locale = loadLocale(key); 1969 if (locale) { 1970 return locale; 1971 } 1972 key = [key]; 1973 } 1974 1975 return chooseLocale(key); 1976 } 1977 1978 function listLocales() { 1979 return keys(locales); 1980 } 1981 1982 function checkOverflow (m) { 1983 var overflow; 1984 var a = m._a; 1985 1986 if (a && getParsingFlags(m).overflow === -2) { 1987 overflow = 1988 a[MONTH] < 0 || a[MONTH] > 11 ? MONTH : 1989 a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE : 1990 a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR : 1991 a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE : 1992 a[SECOND] < 0 || a[SECOND] > 59 ? SECOND : 1993 a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND : 1994 -1; 1995 1996 if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) { 1997 overflow = DATE; 1998 } 1999 if (getParsingFlags(m)._overflowWeeks && overflow === -1) { 2000 overflow = WEEK; 2001 } 2002 if (getParsingFlags(m)._overflowWeekday && overflow === -1) { 2003 overflow = WEEKDAY; 2004 } 2005 2006 getParsingFlags(m).overflow = overflow; 2007 } 2008 2009 return m; 2010 } 2011 2012 // Pick the first defined of two or three arguments. 2013 function defaults(a, b, c) { 2014 if (a != null) { 2015 return a; 2016 } 2017 if (b != null) { 2018 return b; 2019 } 2020 return c; 2021 } 2022 2023 function currentDateArray(config) { 2024 // hooks is actually the exported moment object 2025 var nowValue = new Date(hooks.now()); 2026 if (config._useUTC) { 2027 return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()]; 2028 } 2029 return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()]; 2030 } 2031 2032 // convert an array to a date. 2033 // the array should mirror the parameters below 2034 // note: all values past the year are optional and will default to the lowest possible value. 2035 // [year, month, day , hour, minute, second, millisecond] 2036 function configFromArray (config) { 2037 var i, date, input = [], currentDate, expectedWeekday, yearToUse; 2038 2039 if (config._d) { 2040 return; 2041 } 2042 2043 currentDate = currentDateArray(config); 2044 2045 //compute day of the year from weeks and weekdays 2046 if (config._w && config._a[DATE] == null && config._a[MONTH] == null) { 2047 dayOfYearFromWeekInfo(config); 2048 } 2049 2050 //if the day of the year is set, figure out what it is 2051 if (config._dayOfYear != null) { 2052 yearToUse = defaults(config._a[YEAR], currentDate[YEAR]); 2053 2054 if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) { 2055 getParsingFlags(config)._overflowDayOfYear = true; 2056 } 2057 2058 date = createUTCDate(yearToUse, 0, config._dayOfYear); 2059 config._a[MONTH] = date.getUTCMonth(); 2060 config._a[DATE] = date.getUTCDate(); 2061 } 2062 2063 // Default to current date. 2064 // * if no year, month, day of month are given, default to today 2065 // * if day of month is given, default month and year 2066 // * if month is given, default only year 2067 // * if year is given, don't default anything 2068 for (i = 0; i < 3 && config._a[i] == null; ++i) { 2069 config._a[i] = input[i] = currentDate[i]; 2070 } 2071 2072 // Zero out whatever was not defaulted, including time 2073 for (; i < 7; i++) { 2074 config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i]; 2075 } 2076 2077 // Check for 24:00:00.000 2078 if (config._a[HOUR] === 24 && 2079 config._a[MINUTE] === 0 && 2080 config._a[SECOND] === 0 && 2081 config._a[MILLISECOND] === 0) { 2082 config._nextDay = true; 2083 config._a[HOUR] = 0; 2084 } 2085 2086 config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input); 2087 expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay(); 2088 2089 // Apply timezone offset from input. The actual utcOffset can be changed 2090 // with parseZone. 2091 if (config._tzm != null) { 2092 config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); 2093 } 2094 2095 if (config._nextDay) { 2096 config._a[HOUR] = 24; 2097 } 2098 2099 // check for mismatching day of week 2100 if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) { 2101 getParsingFlags(config).weekdayMismatch = true; 2102 } 2103 } 2104 2105 function dayOfYearFromWeekInfo(config) { 2106 var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow; 2107 2108 w = config._w; 2109 if (w.GG != null || w.W != null || w.E != null) { 2110 dow = 1; 2111 doy = 4; 2112 2113 // TODO: We need to take the current isoWeekYear, but that depends on 2114 // how we interpret now (local, utc, fixed offset). So create 2115 // a now version of current config (take local/utc/offset flags, and 2116 // create now). 2117 weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year); 2118 week = defaults(w.W, 1); 2119 weekday = defaults(w.E, 1); 2120 if (weekday < 1 || weekday > 7) { 2121 weekdayOverflow = true; 2122 } 2123 } else { 2124 dow = config._locale._week.dow; 2125 doy = config._locale._week.doy; 2126 2127 var curWeek = weekOfYear(createLocal(), dow, doy); 2128 2129 weekYear = defaults(w.gg, config._a[YEAR], curWeek.year); 2130 2131 // Default to current week. 2132 week = defaults(w.w, curWeek.week); 2133 2134 if (w.d != null) { 2135 // weekday -- low day numbers are considered next week 2136 weekday = w.d; 2137 if (weekday < 0 || weekday > 6) { 2138 weekdayOverflow = true; 2139 } 2140 } else if (w.e != null) { 2141 // local weekday -- counting starts from begining of week 2142 weekday = w.e + dow; 2143 if (w.e < 0 || w.e > 6) { 2144 weekdayOverflow = true; 2145 } 2146 } else { 2147 // default to begi
vendor: 19,665 bytes, lines 2147-2741
2147ning of week 2148 weekday = dow; 2149 } 2150 } 2151 if (week < 1 || week > weeksInYear(weekYear, dow, doy)) { 2152 getParsingFlags(config)._overflowWeeks = true; 2153 } else if (weekdayOverflow != null) { 2154 getParsingFlags(config)._overflowWeekday = true; 2155 } else { 2156 temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy); 2157 config._a[YEAR] = temp.year; 2158 config._dayOfYear = temp.dayOfYear; 2159 } 2160 } 2161 2162 // iso 8601 regex 2163 // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00) 2164 var extendedIsoRegex = /^\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)?)?$/; 2165 var basicIsoRegex = /^\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)?)?$/; 2166 2167 var tzRegex = /Z|[+-]\d\d(?::?\d\d)?/; 2168 2169 var isoDates = [ 2170 ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/], 2171 ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/], 2172 ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/], 2173 ['GGGG-[W]WW', /\d{4}-W\d\d/, false], 2174 ['YYYY-DDD', /\d{4}-\d{3}/], 2175 ['YYYY-MM', /\d{4}-\d\d/, false], 2176 ['YYYYYYMMDD', /[+-]\d{10}/], 2177 ['YYYYMMDD', /\d{8}/], 2178 // YYYYMM is NOT allowed by the standard 2179 ['GGGG[W]WWE', /\d{4}W\d{3}/], 2180 ['GGGG[W]WW', /\d{4}W\d{2}/, false], 2181 ['YYYYDDD', /\d{7}/] 2182 ]; 2183 2184 // iso time formats and regexes 2185 var isoTimes = [ 2186 ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/], 2187 ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/], 2188 ['HH:mm:ss', /\d\d:\d\d:\d\d/], 2189 ['HH:mm', /\d\d:\d\d/], 2190 ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/], 2191 ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/], 2192 ['HHmmss', /\d\d\d\d\d\d/], 2193 ['HHmm', /\d\d\d\d/], 2194 ['HH', /\d\d/] 2195 ]; 2196 2197 var aspNetJsonRegex = /^\/?Date\((\-?\d+)/i; 2198 2199 // date from iso format 2200 function configFromISO(config) { 2201 var i, l, 2202 string = config._i, 2203 match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string), 2204 allowTime, dateFormat, timeFormat, tzFormat; 2205 2206 if (match) { 2207 getParsingFlags(config).iso = true; 2208 2209 for (i = 0, l = isoDates.length; i < l; i++) { 2210 if (isoDates[i][1].exec(match[1])) { 2211 dateFormat = isoDates[i][0]; 2212 allowTime = isoDates[i][2] !== false; 2213 break; 2214 } 2215 } 2216 if (dateFormat == null) { 2217 config._isValid = false; 2218 return; 2219 } 2220 if (match[3]) { 2221 for (i = 0, l = isoTimes.length; i < l; i++) { 2222 if (isoTimes[i][1].exec(match[3])) { 2223 // match[2] should be 'T' or space 2224 timeFormat = (match[2] || ' ') + isoTimes[i][0]; 2225 break; 2226 } 2227 } 2228 if (timeFormat == null) { 2229 config._isValid = false; 2230 return; 2231 } 2232 } 2233 if (!allowTime && timeFormat != null) { 2234 config._isValid = false; 2235 return; 2236 } 2237 if (match[4]) { 2238 if (tzRegex.exec(match[4])) { 2239 tzFormat = 'Z'; 2240 } else { 2241 config._isValid = false; 2242 return; 2243 } 2244 } 2245 config._f = dateFormat + (timeFormat || '') + (tzFormat || ''); 2246 configFromStringAndFormat(config); 2247 } else { 2248 config._isValid = false; 2249 } 2250 } 2251 2252 // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3 2253 var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/; 2254 2255 function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) { 2256 var result = [ 2257 untruncateYear(yearStr), 2258 defaultLocaleMonthsShort.indexOf(monthStr), 2259 parseInt(dayStr, 10), 2260 parseInt(hourStr, 10), 2261 parseInt(minuteStr, 10) 2262 ]; 2263 2264 if (secondStr) { 2265 result.push(parseInt(secondStr, 10)); 2266 } 2267 2268 return result; 2269 } 2270 2271 function untruncateYear(yearStr) { 2272 var year = parseInt(yearStr, 10); 2273 if (year <= 49) { 2274 return 2000 + year; 2275 } else if (year <= 999) { 2276 return 1900 + year; 2277 } 2278 return year; 2279 } 2280 2281 function preprocessRFC2822(s) { 2282 // Remove comments and folding whitespace and replace multiple-spaces with a single space 2283 return s.replace(/\([^)]*\)|[\n\t]/g, ' ').replace(/(\s\s+)/g, ' ').replace(/^\s\s*/, '').replace(/\s\s*$/, ''); 2284 } 2285 2286 function checkWeekday(weekdayStr, parsedInput, config) { 2287 if (weekdayStr) { 2288 // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check. 2289 var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr), 2290 weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay(); 2291 if (weekdayProvided !== weekdayActual) { 2292 getParsingFlags(config).weekdayMismatch = true; 2293 config._isValid = false; 2294 return false; 2295 } 2296 } 2297 return true; 2298 } 2299 2300 var obsOffsets = { 2301 UT: 0, 2302 GMT: 0, 2303 EDT: -4 * 60, 2304 EST: -5 * 60, 2305 CDT: -5 * 60, 2306 CST: -6 * 60, 2307 MDT: -6 * 60, 2308 MST: -7 * 60, 2309 PDT: -7 * 60, 2310 PST: -8 * 60 2311 }; 2312 2313 function calculateOffset(obsOffset, militaryOffset, numOffset) { 2314 if (obsOffset) { 2315 return obsOffsets[obsOffset]; 2316 } else if (militaryOffset) { 2317 // the only allowed military tz is Z 2318 return 0; 2319 } else { 2320 var hm = parseInt(numOffset, 10); 2321 var m = hm % 100, h = (hm - m) / 100; 2322 return h * 60 + m; 2323 } 2324 } 2325 2326 // date and time from ref 2822 format 2327 function configFromRFC2822(config) { 2328 var match = rfc2822.exec(preprocessRFC2822(config._i)); 2329 if (match) { 2330 var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]); 2331 if (!checkWeekday(match[1], parsedArray, config)) { 2332 return; 2333 } 2334 2335 config._a = parsedArray; 2336 config._tzm = calculateOffset(match[8], match[9], match[10]); 2337 2338 config._d = createUTCDate.apply(null, config._a); 2339 config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); 2340 2341 getParsingFlags(config).rfc2822 = true; 2342 } else { 2343 config._isValid = false; 2344 } 2345 } 2346 2347 // date from iso format or fallback 2348 function configFromString(config) { 2349 var matched = aspNetJsonRegex.exec(config._i); 2350 2351 if (matched !== null) { 2352 config._d = new Date(+matched[1]); 2353 return; 2354 } 2355 2356 configFromISO(config); 2357 if (config._isValid === false) { 2358 delete config._isValid; 2359 } else { 2360 return; 2361 } 2362 2363 configFromRFC2822(config); 2364 if (config._isValid === false) { 2365 delete config._isValid; 2366 } else { 2367 return; 2368 } 2369 2370 // Final attempt, use Input Fallback 2371 hooks.createFromInputFallback(config); 2372 } 2373 2374 hooks.createFromInputFallback = deprecate( 2375 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' + 2376 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' + 2377 'discouraged and will be removed in an upcoming major release. Please refer to ' + 2378 'http://momentjs.com/guides/#/warnings/js-date/ for more info.', 2379 function (config) { 2380 config._d = new Date(config._i + (config._useUTC ? ' UTC' : '')); 2381 } 2382 ); 2383 2384 // constant that refers to the ISO standard 2385 hooks.ISO_8601 = function () {}; 2386 2387 // constant that refers to the RFC 2822 form 2388 hooks.RFC_2822 = function () {}; 2389 2390 // date from string and format string 2391 function configFromStringAndFormat(config) { 2392 // TODO: Move this to another part of the creation flow to prevent circular deps 2393 if (config._f === hooks.ISO_8601) { 2394 configFromISO(config); 2395 return; 2396 } 2397 if (config._f === hooks.RFC_2822) { 2398 configFromRFC2822(config); 2399 return; 2400 } 2401 config._a = []; 2402 getParsingFlags(config).empty = true; 2403 2404 // This array is used to make a Date, either with `new Date` or `Date.UTC` 2405 var string = '' + config._i, 2406 i, parsedInput, tokens, token, skipped, 2407 stringLength = string.length, 2408 totalParsedInputLength = 0; 2409 2410 tokens = expandFormat(config._f, config._locale).match(formattingTokens) || []; 2411 2412 for (i = 0; i < tokens.length; i++) { 2413 token = tokens[i]; 2414 parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0]; 2415 // console.log('token', token, 'parsedInput', parsedInput, 2416 // 'regex', getParseRegexForToken(token, config)); 2417 if (parsedInput) { 2418 skipped = string.substr(0, string.indexOf(parsedInput)); 2419 if (skipped.length > 0) { 2420 getParsingFlags(config).unusedInput.push(skipped); 2421 } 2422 string = string.slice(string.indexOf(parsedInput) + parsedInput.length); 2423 totalParsedInputLength += parsedInput.length; 2424 } 2425 // don't parse if it's not a known token 2426 if (formatTokenFunctions[token]) { 2427 if (parsedInput) { 2428 getParsingFlags(config).empty = false; 2429 } 2430 else { 2431 getParsingFlags(config).unusedTokens.push(token); 2432 } 2433 addTimeToArrayFromToken(token, parsedInput, config); 2434 } 2435 else if (config._strict && !parsedInput) { 2436 getParsingFlags(config).unusedTokens.push(token); 2437 } 2438 } 2439 2440 // add remaining unparsed input length to the string 2441 getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength; 2442 if (string.length > 0) { 2443 getParsingFlags(config).unusedInput.push(string); 2444 } 2445 2446 // clear _12h flag if hour is <= 12 2447 if (config._a[HOUR] <= 12 && 2448 getParsingFlags(config).bigHour === true && 2449 config._a[HOUR] > 0) { 2450 getParsingFlags(config).bigHour = undefined; 2451 } 2452 2453 getParsingFlags(config).parsedDateParts = config._a.slice(0); 2454 getParsingFlags(config).meridiem = config._meridiem; 2455 // handle meridiem 2456 config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem); 2457 2458 configFromArray(config); 2459 checkOverflow(config); 2460 } 2461 2462 2463 function meridiemFixWrap (locale, hour, meridiem) { 2464 var isPm; 2465 2466 if (meridiem == null) { 2467 // nothing to do 2468 return hour; 2469 } 2470 if (locale.meridiemHour != null) { 2471 return locale.meridiemHour(hour, meridiem); 2472 } else if (locale.isPM != null) { 2473 // Fallback 2474 isPm = locale.isPM(meridiem); 2475 if (isPm && hour < 12) { 2476 hour += 12; 2477 } 2478 if (!isPm && hour === 12) { 2479 hour = 0; 2480 } 2481 return hour; 2482 } else { 2483 // this is not supposed to happen 2484 return hour; 2485 } 2486 } 2487 2488 // date from string and array of format strings 2489 function configFromStringAndArray(config) { 2490 var tempConfig, 2491 bestMoment, 2492 2493 scoreToBeat, 2494 i, 2495 currentScore; 2496 2497 if (config._f.length === 0) { 2498 getParsingFlags(config).invalidFormat = true; 2499 config._d = new Date(NaN); 2500 return; 2501 } 2502 2503 for (i = 0; i < config._f.length; i++) { 2504 currentScore = 0; 2505 tempConfig = copyConfig({}, config); 2506 if (config._useUTC != null) { 2507 tempConfig._useUTC = config._useUTC; 2508 } 2509 tempConfig._f = config._f[i]; 2510 configFromStringAndFormat(tempConfig); 2511 2512 if (!isValid(tempConfig)) { 2513 continue; 2514 } 2515 2516 // if there is any input that was not parsed add a penalty for that format 2517 currentScore += getParsingFlags(tempConfig).charsLeftOver; 2518 2519 //or tokens 2520 currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10; 2521 2522 getParsingFlags(tempConfig).score = currentScore; 2523 2524 if (scoreToBeat == null || currentScore < scoreToBeat) { 2525 scoreToBeat = currentScore; 2526 bestMoment = tempConfig; 2527 } 2528 } 2529 2530 extend(config, bestMoment || tempConfig); 2531 } 2532 2533 function configFromObject(config) { 2534 if (config._d) { 2535 return; 2536 } 2537 2538 var i = normalizeObjectUnits(config._i); 2539 config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) { 2540 return obj && parseInt(obj, 10); 2541 }); 2542 2543 configFromArray(config); 2544 } 2545 2546 function createFromConfig (config) { 2547 var res = new Moment(checkOverflow(prepareConfig(config))); 2548 if (res._nextDay) { 2549 // Adding is smart enough around DST 2550 res.add(1, 'd'); 2551 res._nextDay = undefined; 2552 } 2553 2554 return res; 2555 } 2556 2557 function prepareConfig (config) { 2558 var input = config._i, 2559 format = config._f; 2560 2561 config._locale = config._locale || getLocale(config._l); 2562 2563 if (input === null || (format === undefined && input === '')) { 2564 return createInvalid({nullInput: true}); 2565 } 2566 2567 if (typeof input === 'string') { 2568 config._i = input = config._locale.preparse(input); 2569 } 2570 2571 if (isMoment(input)) { 2572 return new Moment(checkOverflow(input)); 2573 } else if (isDate(input)) { 2574 config._d = input; 2575 } else if (isArray(format)) { 2576 configFromStringAndArray(config); 2577 } else if (format) { 2578 configFromStringAndFormat(config); 2579 } else { 2580 configFromInput(config); 2581 } 2582 2583 if (!isValid(config)) { 2584 config._d = null; 2585 } 2586 2587 return config; 2588 } 2589 2590 function configFromInput(config) { 2591 var input = config._i; 2592 if (isUndefined(input)) { 2593 config._d = new Date(hooks.now()); 2594 } else if (isDate(input)) { 2595 config._d = new Date(input.valueOf()); 2596 } else if (typeof input === 'string') { 2597 configFromString(config); 2598 } else if (isArray(input)) { 2599 config._a = map(input.slice(0), function (obj) { 2600 return parseInt(obj, 10); 2601 }); 2602 configFromArray(config); 2603 } else if (isObject(input)) { 2604 configFromObject(config); 2605 } else if (isNumber(input)) { 2606 // from milliseconds 2607 config._d = new Date(input); 2608 } else { 2609 hooks.createFromInputFallback(config); 2610 } 2611 } 2612 2613 function createLocalOrUTC (input, format, locale, strict, isUTC) { 2614 var c = {}; 2615 2616 if (locale === true || locale === false) { 2617 strict = locale; 2618 locale = undefined; 2619 } 2620 2621 if ((isObject(input) && isObjectEmpty(input)) || 2622 (isArray(input) && input.length === 0)) { 2623 input = undefined; 2624 } 2625 // object construction must be done this way. 2626 // https://github.com/moment/moment/issues/1423 2627 c._isAMomentObject = true; 2628 c._useUTC = c._isUTC = isUTC; 2629 c._l = locale; 2630 c._i = input; 2631 c._f = format; 2632 c._strict = strict; 2633 2634 return createFromConfig(c); 2635 } 2636 2637 function createLocal (input, format, locale, strict) { 2638 return createLocalOrUTC(input, format, locale, strict, false); 2639 } 2640 2641 var prototypeMin = deprecate( 2642 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/', 2643 function () { 2644 var other = createLocal.apply(null, arguments); 2645 if (this.isValid() && other.isValid()) { 2646 return other < this ? this : other; 2647 } else { 2648 return createInvalid(); 2649 } 2650 } 2651 ); 2652 2653 var prototypeMax = deprecate( 2654 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/', 2655 function () { 2656 var other = createLocal.apply(null, arguments); 2657 if (this.isValid() && other.isValid()) { 2658 return other > this ? this : other; 2659 } else { 2660 return createInvalid(); 2661 } 2662 } 2663 ); 2664 2665 // Pick a moment m from moments so that m[fn](other) is true for all 2666 // other. This relies on the function fn to be transitive. 2667 // 2668 // moments should either be an array of moment objects or an array, whose 2669 // first element is an array of moment objects. 2670 function pickBy(fn, moments) { 2671 var res, i; 2672 if (moments.length === 1 && isArray(moments[0])) { 2673 moments = moments[0]; 2674 } 2675 if (!moments.length) { 2676 return createLocal(); 2677 } 2678 res = moments[0]; 2679 for (i = 1; i < moments.length; ++i) { 2680 if (!moments[i].isValid() || moments[i][fn](res)) { 2681 res = moments[i]; 2682 } 2683 } 2684 return res; 2685 } 2686 2687 // TODO: Use [].sort instead? 2688 function min () { 2689 var args = [].slice.call(arguments, 0); 2690 2691 return pickBy('isBefore', args); 2692 } 2693 2694 function max () { 2695 var args = [].slice.call(arguments, 0); 2696 2697 return pickBy('isAfter', args); 2698 } 2699 2700 var now = function () { 2701 return Date.now ? Date.now() : +(new Date()); 2702 }; 2703 2704 var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond']; 2705 2706 function isDurationValid(m) { 2707 for (var key in m) { 2708 if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) { 2709 return false; 2710 } 2711 } 2712 2713 var unitHasDecimal = false; 2714 for (var i = 0; i < ordering.length; ++i) { 2715 if (m[ordering[i]]) { 2716 if (unitHasDecimal) { 2717 return false; // only allow non-integers for smallest unit 2718 } 2719 if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) { 2720 unitHasDecimal = true; 2721 } 2722 } 2723 } 2724 2725 return true; 2726 } 2727 2728 function isValid$1() { 2729 return this._isValid; 2730 } 2731 2732 function createInvalid$1() { 2733 return createDuration(NaN); 2734 } 2735 2736 function Duration (duration) { 2737 var normalizedInput = normalizeObjectUnits(duration), 2738 years = normalizedInput.year || 0, 2739 quarters = normalizedInput.quarter || 0, 2740 months = normalizedInput.month || 0, 2741 weeks = normalizedInput.week ||
vendor: 4,158 bytes, lines 2741-2868
27410, 2742 days = normalizedInput.day || 0, 2743 hours = normalizedInput.hour || 0, 2744 minutes = normalizedInput.minute || 0, 2745 seconds = normalizedInput.second || 0, 2746 milliseconds = normalizedInput.millisecond || 0; 2747 2748 this._isValid = isDurationValid(normalizedInput); 2749 2750 // representation for dateAddRemove 2751 this._milliseconds = +milliseconds + 2752 seconds * 1e3 + // 1000 2753 minutes * 6e4 + // 1000 * 60 2754 hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978 2755 // Because of dateAddRemove treats 24 hours as different from a 2756 // day when working around DST, we need to store them separately 2757 this._days = +days + 2758 weeks * 7; 2759 // It is impossible to translate months into days without knowing 2760 // which months you are are talking about, so we have to store 2761 // it separately. 2762 this._months = +months + 2763 quarters * 3 + 2764 years * 12; 2765 2766 this._data = {}; 2767 2768 this._locale = getLocale(); 2769 2770 this._bubble(); 2771 } 2772 2773 function isDuration (obj) { 2774 return obj instanceof Duration; 2775 } 2776 2777 function absRound (number) { 2778 if (number < 0) { 2779 return Math.round(-1 * number) * -1; 2780 } else { 2781 return Math.round(number); 2782 } 2783 } 2784 2785 // FORMATTING 2786 2787 function offset (token, separator) { 2788 addFormatToken(token, 0, 0, function () { 2789 var offset = this.utcOffset(); 2790 var sign = '+'; 2791 if (offset < 0) { 2792 offset = -offset; 2793 sign = '-'; 2794 } 2795 return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2); 2796 }); 2797 } 2798 2799 offset('Z', ':'); 2800 offset('ZZ', ''); 2801 2802 // PARSING 2803 2804 addRegexToken('Z', matchShortOffset); 2805 addRegexToken('ZZ', matchShortOffset); 2806 addParseToken(['Z', 'ZZ'], function (input, array, config) { 2807 config._useUTC = true; 2808 config._tzm = offsetFromString(matchShortOffset, input); 2809 }); 2810 2811 // HELPERS 2812 2813 // timezone chunker 2814 // '+10:00' > ['10', '00'] 2815 // '-1530' > ['-15', '30'] 2816 var chunkOffset = /([\+\-]|\d\d)/gi; 2817 2818 function offsetFromString(matcher, string) { 2819 var matches = (string || '').match(matcher); 2820 2821 if (matches === null) { 2822 return null; 2823 } 2824 2825 var chunk = matches[matches.length - 1] || []; 2826 var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0]; 2827 var minutes = +(parts[1] * 60) + toInt(parts[2]); 2828 2829 return minutes === 0 ? 2830 0 : 2831 parts[0] === '+' ? minutes : -minutes; 2832 } 2833 2834 // Return a moment from input, that is local/utc/zone equivalent to model. 2835 function cloneWithOffset(input, model) { 2836 var res, diff; 2837 if (model._isUTC) { 2838 res = model.clone(); 2839 diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf(); 2840 // Use low-level api, because this fn is low-level api. 2841 res._d.setTime(res._d.valueOf() + diff); 2842 hooks.updateOffset(res, false); 2843 return res; 2844 } else { 2845 return createLocal(input).local(); 2846 } 2847 } 2848 2849 function getDateOffset (m) { 2850 // On Firefox.24 Date#getTimezoneOffset returns a floating point. 2851 // https://github.com/moment/moment/pull/1871 2852 return -Math.round(m._d.getTimezoneOffset() / 15) * 15; 2853 } 2854 2855 // HOOKS 2856 2857 // This function will be called whenever a moment is mutated. 2858 // It is intended to keep the offset in sync with the timezone. 2859 hooks.updateOffset = function () {}; 2860 2861 // MOMENTS 2862 2863 // keepLocalTime = true means only change the timezone, without 2864 // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]--> 2865 // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset 2866 // +0200, so we adjust the time as needed, to be valid. 2867 // 2868 // Keeping the time actually adds/subtracts (one hour)
vendor: 20,735 bytes, lines 2869-3475
2869 // from the actual represented time. That is why we call updateOffset 2870 // a second time. In case it wants us to change the offset again 2871 // _changeInProgress == true case, then we have to adjust, because 2872 // there is no such time in the given timezone. 2873 function getSetOffset (input, keepLocalTime, keepMinutes) { 2874 var offset = this._offset || 0, 2875 localAdjust; 2876 if (!this.isValid()) { 2877 return input != null ? this : NaN; 2878 } 2879 if (input != null) { 2880 if (typeof input === 'string') { 2881 input = offsetFromString(matchShortOffset, input); 2882 if (input === null) { 2883 return this; 2884 } 2885 } else if (Math.abs(input) < 16 && !keepMinutes) { 2886 input = input * 60; 2887 } 2888 if (!this._isUTC && keepLocalTime) { 2889 localAdjust = getDateOffset(this); 2890 } 2891 this._offset = input; 2892 this._isUTC = true; 2893 if (localAdjust != null) { 2894 this.add(localAdjust, 'm'); 2895 } 2896 if (offset !== input) { 2897 if (!keepLocalTime || this._changeInProgress) { 2898 addSubtract(this, createDuration(input - offset, 'm'), 1, false); 2899 } else if (!this._changeInProgress) { 2900 this._changeInProgress = true; 2901 hooks.updateOffset(this, true); 2902 this._changeInProgress = null; 2903 } 2904 } 2905 return this; 2906 } else { 2907 return this._isUTC ? offset : getDateOffset(this); 2908 } 2909 } 2910 2911 function getSetZone (input, keepLocalTime) { 2912 if (input != null) { 2913 if (typeof input !== 'string') { 2914 input = -input; 2915 } 2916 2917 this.utcOffset(input, keepLocalTime); 2918 2919 return this; 2920 } else { 2921 return -this.utcOffset(); 2922 } 2923 } 2924 2925 function setOffsetToUTC (keepLocalTime) { 2926 return this.utcOffset(0, keepLocalTime); 2927 } 2928 2929 function setOffsetToLocal (keepLocalTime) { 2930 if (this._isUTC) { 2931 this.utcOffset(0, keepLocalTime); 2932 this._isUTC = false; 2933 2934 if (keepLocalTime) { 2935 this.subtract(getDateOffset(this), 'm'); 2936 } 2937 } 2938 return this; 2939 } 2940 2941 function setOffsetToParsedOffset () { 2942 if (this._tzm != null) { 2943 this.utcOffset(this._tzm, false, true); 2944 } else if (typeof this._i === 'string') { 2945 var tZone = offsetFromString(matchOffset, this._i); 2946 if (tZone != null) { 2947 this.utcOffset(tZone); 2948 } 2949 else { 2950 this.utcOffset(0, true); 2951 } 2952 } 2953 return this; 2954 } 2955 2956 function hasAlignedHourOffset (input) { 2957 if (!this.isValid()) { 2958 return false; 2959 } 2960 input = input ? createLocal(input).utcOffset() : 0; 2961 2962 return (this.utcOffset() - input) % 60 === 0; 2963 } 2964 2965 function isDaylightSavingTime () { 2966 return ( 2967 this.utcOffset() > this.clone().month(0).utcOffset() || 2968 this.utcOffset() > this.clone().month(5).utcOffset() 2969 ); 2970 } 2971 2972 function isDaylightSavingTimeShifted () { 2973 if (!isUndefined(this._isDSTShifted)) { 2974 return this._isDSTShifted; 2975 } 2976 2977 var c = {}; 2978 2979 copyConfig(c, this); 2980 c = prepareConfig(c); 2981 2982 if (c._a) { 2983 var other = c._isUTC ? createUTC(c._a) : createLocal(c._a); 2984 this._isDSTShifted = this.isValid() && 2985 compareArrays(c._a, other.toArray()) > 0; 2986 } else { 2987 this._isDSTShifted = false; 2988 } 2989 2990 return this._isDSTShifted; 2991 } 2992 2993 function isLocal () { 2994 return this.isValid() ? !this._isUTC : false; 2995 } 2996 2997 function isUtcOffset () { 2998 return this.isValid() ? this._isUTC : false; 2999 } 3000 3001 function isUtc () { 3002 return this.isValid() ? this._isUTC && this._offset === 0 : false; 3003 } 3004 3005 // ASP.NET json date format regex 3006 var aspNetRegex = /^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/; 3007 3008 // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html 3009 // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere 3010 // and further modified to allow for strings containing both week and day 3011 var isoRegex = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/; 3012 3013 function createDuration (input, key) { 3014 var duration = input, 3015 // matching against regexp is expensive, do it on demand 3016 match = null, 3017 sign, 3018 ret, 3019 diffRes; 3020 3021 if (isDuration(input)) { 3022 duration = { 3023 ms : input._milliseconds, 3024 d : input._days, 3025 M : input._months 3026 }; 3027 } else if (isNumber(input)) { 3028 duration = {}; 3029 if (key) { 3030 duration[key] = input; 3031 } else { 3032 duration.milliseconds = input; 3033 } 3034 } else if (!!(match = aspNetRegex.exec(input))) { 3035 sign = (match[1] === '-') ? -1 : 1; 3036 duration = { 3037 y : 0, 3038 d : toInt(match[DATE]) * sign, 3039 h : toInt(match[HOUR]) * sign, 3040 m : toInt(match[MINUTE]) * sign, 3041 s : toInt(match[SECOND]) * sign, 3042 ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match 3043 }; 3044 } else if (!!(match = isoRegex.exec(input))) { 3045 sign = (match[1] === '-') ? -1 : (match[1] === '+') ? 1 : 1; 3046 duration = { 3047 y : parseIso(match[2], sign), 3048 M : parseIso(match[3], sign), 3049 w : parseIso(match[4], sign), 3050 d : parseIso(match[5], sign), 3051 h : parseIso(match[6], sign), 3052 m : parseIso(match[7], sign), 3053 s : parseIso(match[8], sign) 3054 }; 3055 } else if (duration == null) {// checks for null or undefined 3056 duration = {}; 3057 } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) { 3058 diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to)); 3059 3060 duration = {}; 3061 duration.ms = diffRes.milliseconds; 3062 duration.M = diffRes.months; 3063 } 3064 3065 ret = new Duration(duration); 3066 3067 if (isDuration(input) && hasOwnProp(input, '_locale')) { 3068 ret._locale = input._locale; 3069 } 3070 3071 return ret; 3072 } 3073 3074 createDuration.fn = Duration.prototype; 3075 createDuration.invalid = createInvalid$1; 3076 3077 function parseIso (inp, sign) { 3078 // We'd normally use ~~inp for this, but unfortunately it also 3079 // converts floats to ints. 3080 // inp may be undefined, so careful calling replace on it. 3081 var res = inp && parseFloat(inp.replace(',', '.')); 3082 // apply sign while we're at it 3083 return (isNaN(res) ? 0 : res) * sign; 3084 } 3085 3086 function positiveMomentsDifference(base, other) { 3087 var res = {milliseconds: 0, months: 0}; 3088 3089 res.months = other.month() - base.month() + 3090 (other.year() - base.year()) * 12; 3091 if (base.clone().add(res.months, 'M').isAfter(other)) { 3092 --res.months; 3093 } 3094 3095 res.milliseconds = +other - +(base.clone().add(res.months, 'M')); 3096 3097 return res; 3098 } 3099 3100 function momentsDifference(base, other) { 3101 var res; 3102 if (!(base.isValid() && other.isValid())) { 3103 return {milliseconds: 0, months: 0}; 3104 } 3105 3106 other = cloneWithOffset(other, base); 3107 if (base.isBefore(other)) { 3108 res = positiveMomentsDifference(base, other); 3109 } else { 3110 res = positiveMomentsDifference(other, base); 3111 res.milliseconds = -res.milliseconds; 3112 res.months = -res.months; 3113 } 3114 3115 return res; 3116 } 3117 3118 // TODO: remove 'name' arg after deprecation is removed 3119 function createAdder(direction, name) { 3120 return function (val, period) { 3121 var dur, tmp; 3122 //invert the arguments, but complain about it 3123 if (period !== null && !isNaN(+period)) { 3124 deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' + 3125 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'); 3126 tmp = val; val = period; period = tmp; 3127 } 3128 3129 val = typeof val === 'string' ? +val : val; 3130 dur = createDuration(val, period); 3131 addSubtract(this, dur, direction); 3132 return this; 3133 }; 3134 } 3135 3136 function addSubtract (mom, duration, isAdding, updateOffset) { 3137 var milliseconds = duration._milliseconds, 3138 days = absRound(duration._days), 3139 months = absRound(duration._months); 3140 3141 if (!mom.isValid()) { 3142 // No op 3143 return; 3144 } 3145 3146 updateOffset = updateOffset == null ? true : updateOffset; 3147 3148 if (months) { 3149 setMonth(mom, get(mom, 'Month') + months * isAdding); 3150 } 3151 if (days) { 3152 set$1(mom, 'Date', get(mom, 'Date') + days * isAdding); 3153 } 3154 if (milliseconds) { 3155 mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding); 3156 } 3157 if (updateOffset) { 3158 hooks.updateOffset(mom, days || months); 3159 } 3160 } 3161 3162 var add = createAdder(1, 'add'); 3163 var subtract = createAdder(-1, 'subtract'); 3164 3165 function getCalendarFormat(myMoment, now) { 3166 var diff = myMoment.diff(now, 'days', true); 3167 return diff < -6 ? 'sameElse' : 3168 diff < -1 ? 'lastWeek' : 3169 diff < 0 ? 'lastDay' : 3170 diff < 1 ? 'sameDay' : 3171 diff < 2 ? 'nextDay' : 3172 diff < 7 ? 'nextWeek' : 'sameElse'; 3173 } 3174 3175 function calendar$1 (time, formats) { 3176 // We want to compare the start of today, vs this. 3177 // Getting start-of-today depends on whether we're local/utc/offset or not. 3178 var now = time || createLocal(), 3179 sod = cloneWithOffset(now, this).startOf('day'), 3180 format = hooks.calendarFormat(this, sod) || 'sameElse'; 3181 3182 var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]); 3183 3184 return this.format(output || this.localeData().calendar(format, this, createLocal(now))); 3185 } 3186 3187 function clone () { 3188 return new Moment(this); 3189 } 3190 3191 function isAfter (input, units) { 3192 var localInput = isMoment(input) ? input : createLocal(input); 3193 if (!(this.isValid() && localInput.isValid())) { 3194 return false; 3195 } 3196 units = normalizeUnits(!isUndefined(units) ? units : 'millisecond'); 3197 if (units === 'millisecond') { 3198 return this.valueOf() > localInput.valueOf(); 3199 } else { 3200 return localInput.valueOf() < this.clone().startOf(units).valueOf(); 3201 } 3202 } 3203 3204 function isBefore (input, units) { 3205 var localInput = isMoment(input) ? input : createLocal(input); 3206 if (!(this.isValid() && localInput.isValid())) { 3207 return false; 3208 } 3209 units = normalizeUnits(!isUndefined(units) ? units : 'millisecond'); 3210 if (units === 'millisecond') { 3211 return this.valueOf() < localInput.valueOf(); 3212 } else { 3213 return this.clone().endOf(units).valueOf() < localInput.valueOf(); 3214 } 3215 } 3216 3217 function isBetween (from, to, units, inclusivity) { 3218 inclusivity = inclusivity || '()'; 3219 return (inclusivity[0] === '(' ? this.isAfter(from, units) : !this.isBefore(from, units)) && 3220 (inclusivity[1] === ')' ? this.isBefore(to, units) : !this.isAfter(to, units)); 3221 } 3222 3223 function isSame (input, units) { 3224 var localInput = isMoment(input) ? input : createLocal(input), 3225 inputMs; 3226 if (!(this.isValid() && localInput.isValid())) { 3227 return false; 3228 } 3229 units = normalizeUnits(units || 'millisecond'); 3230 if (units === 'millisecond') { 3231 return this.valueOf() === localInput.valueOf(); 3232 } else { 3233 inputMs = localInput.valueOf(); 3234 return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf(); 3235 } 3236 } 3237 3238 function isSameOrAfter (input, units) { 3239 return this.isSame(input, units) || this.isAfter(input,units); 3240 } 3241 3242 function isSameOrBefore (input, units) { 3243 return this.isSame(input, units) || this.isBefore(input,units); 3244 } 3245 3246 function diff (input, units, asFloat) { 3247 var that, 3248 zoneDelta, 3249 output; 3250 3251 if (!this.isValid()) { 3252 return NaN; 3253 } 3254 3255 that = cloneWithOffset(input, this); 3256 3257 if (!that.isValid()) { 3258 return NaN; 3259 } 3260 3261 zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4; 3262 3263 units = normalizeUnits(units); 3264 3265 switch (units) { 3266 case 'year': output = monthDiff(this, that) / 12; break; 3267 case 'month': output = monthDiff(this, that); break; 3268 case 'quarter': output = monthDiff(this, that) / 3; break; 3269 case 'second': output = (this - that) / 1e3; break; // 1000 3270 case 'minute': output = (this - that) / 6e4; break; // 1000 * 60 3271 case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60 3272 case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst 3273 case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst 3274 default: output = this - that; 3275 } 3276 3277 return asFloat ? output : absFloor(output); 3278 } 3279 3280 function monthDiff (a, b) { 3281 // difference in months 3282 var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()), 3283 // b is in (anchor - 1 month, anchor + 1 month) 3284 anchor = a.clone().add(wholeMonthDiff, 'months'), 3285 anchor2, adjust; 3286 3287 if (b - anchor < 0) { 3288 anchor2 = a.clone().add(wholeMonthDiff - 1, 'months'); 3289 // linear across the month 3290 adjust = (b - anchor) / (anchor - anchor2); 3291 } else { 3292 anchor2 = a.clone().add(wholeMonthDiff + 1, 'months'); 3293 // linear across the month 3294 adjust = (b - anchor) / (anchor2 - anchor); 3295 } 3296 3297 //check for negative zero, return zero if negative zero 3298 return -(wholeMonthDiff + adjust) || 0; 3299 } 3300 3301 hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ'; 3302 hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]'; 3303 3304 function toString () { 3305 return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); 3306 } 3307 3308 function toISOString(keepOffset) { 3309 if (!this.isValid()) { 3310 return null; 3311 } 3312 var utc = keepOffset !== true; 3313 var m = utc ? this.clone().utc() : this; 3314 if (m.year() < 0 || m.year() > 9999) { 3315 return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'); 3316 } 3317 if (isFunction(Date.prototype.toISOString)) { 3318 // native implementation is ~50x faster, use it when we can 3319 if (utc) { 3320 return this.toDate().toISOString(); 3321 } else { 3322 return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z')); 3323 } 3324 } 3325 return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'); 3326 } 3327 3328 /** 3329 * Return a human readable representation of a moment that can 3330 * also be evaluated to get a new moment which is the same 3331 * 3332 * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects 3333 */ 3334 function inspect () { 3335 if (!this.isValid()) { 3336 return 'moment.invalid(/* ' + this._i + ' */)'; 3337 } 3338 var func = 'moment'; 3339 var zone = ''; 3340 if (!this.isLocal()) { 3341 func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone'; 3342 zone = 'Z'; 3343 } 3344 var prefix = '[' + func + '("]'; 3345 var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY'; 3346 var datetime = '-MM-DD[T]HH:mm:ss.SSS'; 3347 var suffix = zone + '[")]'; 3348 3349 return this.format(prefix + year + datetime + suffix); 3350 } 3351 3352 function format (inputString) { 3353 if (!inputString) { 3354 inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat; 3355 } 3356 var output = formatMoment(this, inputString); 3357 return this.localeData().postformat(output); 3358 } 3359 3360 function from (time, withoutSuffix) { 3361 if (this.isValid() && 3362 ((isMoment(time) && time.isValid()) || 3363 createLocal(time).isValid())) { 3364 return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix); 3365 } else { 3366 return this.localeData().invalidDate(); 3367 } 3368 } 3369 3370 function fromNow (withoutSuffix) { 3371 return this.from(createLocal(), withoutSuffix); 3372 } 3373 3374 function to (time, withoutSuffix) { 3375 if (this.isValid() && 3376 ((isMoment(time) && time.isValid()) || 3377 createLocal(time).isValid())) { 3378 return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix); 3379 } else { 3380 return this.localeData().invalidDate(); 3381 } 3382 } 3383 3384 function toNow (withoutSuffix) { 3385 return this.to(createLocal(), withoutSuffix); 3386 } 3387 3388 // If passed a locale key, it will set the locale for this 3389 // instance. Otherwise, it will return the locale configuration 3390 // variables for this instance. 3391 function locale (key) { 3392 var newLocaleData; 3393 3394 if (key === undefined) { 3395 return this._locale._abbr; 3396 } else { 3397 newLocaleData = getLocale(key); 3398 if (newLocaleData != null) { 3399 this._locale = newLocaleData; 3400 } 3401 return this; 3402 } 3403 } 3404 3405 var lang = deprecate( 3406 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', 3407 function (key) { 3408 if (key === undefined) { 3409 return this.localeData(); 3410 } else { 3411 return this.locale(key); 3412 } 3413 } 3414 ); 3415 3416 function localeData () { 3417 return this._locale; 3418 } 3419 3420 function startOf (units) { 3421 units = normalizeUnits(units); 3422 // the following switch intentionally omits break keywords 3423 // to utilize falling through the cases. 3424 switch (units) { 3425 case 'year': 3426 this.month(0); 3427 /* falls through */ 3428 case 'quarter': 3429 case 'month': 3430 this.date(1); 3431 /* falls through */ 3432 case 'week': 3433 case 'isoWeek': 3434 case 'day': 3435 case 'date': 3436 this.hours(0); 3437 /* falls through */ 3438 case 'hour': 3439 this.minutes(0); 3440 /* falls through */ 3441 case 'minute': 3442 this.seconds(0); 3443 /* falls through */ 3444 case 'second': 3445 this.milliseconds(0); 3446 } 3447 3448 // weeks are a special case 3449 if (units === 'week') { 3450 this.weekday(0); 3451 } 3452 if (units === 'isoWeek') { 3453 this.isoWeekday(1); 3454 } 3455 3456 // quarters are also special 3457 if (units === 'quarter') { 3458 this.month(Math.floor(this.month() / 3) * 3); 3459 } 3460 3461 return this; 3462 } 3463 3464 function endOf (units) { 3465 units = normalizeUnits(units); 3466 if (units === undefined || units === 'millisecond') { 3467 return this; 3468 } 3469 3470 // 'date' is an alias for 'day', so it should be considered as such. 3471 if (units === 'date') { 3472 units = 'day'; 3473 } 3474 3475 return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms')
vendor: 20,515 bytes, lines 3475-4181
3475; 3476 } 3477 3478 function valueOf () { 3479 return this._d.valueOf() - ((this._offset || 0) * 60000); 3480 } 3481 3482 function unix () { 3483 return Math.floor(this.valueOf() / 1000); 3484 } 3485 3486 function toDate () { 3487 return new Date(this.valueOf()); 3488 } 3489 3490 function toArray () { 3491 var m = this; 3492 return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()]; 3493 } 3494 3495 function toObject () { 3496 var m = this; 3497 return { 3498 years: m.year(), 3499 months: m.month(), 3500 date: m.date(), 3501 hours: m.hours(), 3502 minutes: m.minutes(), 3503 seconds: m.seconds(), 3504 milliseconds: m.milliseconds() 3505 }; 3506 } 3507 3508 function toJSON () { 3509 // new Date(NaN).toJSON() === null 3510 return this.isValid() ? this.toISOString() : null; 3511 } 3512 3513 function isValid$2 () { 3514 return isValid(this); 3515 } 3516 3517 function parsingFlags () { 3518 return extend({}, getParsingFlags(this)); 3519 } 3520 3521 function invalidAt () { 3522 return getParsingFlags(this).overflow; 3523 } 3524 3525 function creationData() { 3526 return { 3527 input: this._i, 3528 format: this._f, 3529 locale: this._locale, 3530 isUTC: this._isUTC, 3531 strict: this._strict 3532 }; 3533 } 3534 3535 // FORMATTING 3536 3537 addFormatToken(0, ['gg', 2], 0, function () { 3538 return this.weekYear() % 100; 3539 }); 3540 3541 addFormatToken(0, ['GG', 2], 0, function () { 3542 return this.isoWeekYear() % 100; 3543 }); 3544 3545 function addWeekYearFormatToken (token, getter) { 3546 addFormatToken(0, [token, token.length], 0, getter); 3547 } 3548 3549 addWeekYearFormatToken('gggg', 'weekYear'); 3550 addWeekYearFormatToken('ggggg', 'weekYear'); 3551 addWeekYearFormatToken('GGGG', 'isoWeekYear'); 3552 addWeekYearFormatToken('GGGGG', 'isoWeekYear'); 3553 3554 // ALIASES 3555 3556 addUnitAlias('weekYear', 'gg'); 3557 addUnitAlias('isoWeekYear', 'GG'); 3558 3559 // PRIORITY 3560 3561 addUnitPriority('weekYear', 1); 3562 addUnitPriority('isoWeekYear', 1); 3563 3564 3565 // PARSING 3566 3567 addRegexToken('G', matchSigned); 3568 addRegexToken('g', matchSigned); 3569 addRegexToken('GG', match1to2, match2); 3570 addRegexToken('gg', match1to2, match2); 3571 addRegexToken('GGGG', match1to4, match4); 3572 addRegexToken('gggg', match1to4, match4); 3573 addRegexToken('GGGGG', match1to6, match6); 3574 addRegexToken('ggggg', match1to6, match6); 3575 3576 addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) { 3577 week[token.substr(0, 2)] = toInt(input); 3578 }); 3579 3580 addWeekParseToken(['gg', 'GG'], function (input, week, config, token) { 3581 week[token] = hooks.parseTwoDigitYear(input); 3582 }); 3583 3584 // MOMENTS 3585 3586 function getSetWeekYear (input) { 3587 return getSetWeekYearHelper.call(this, 3588 input, 3589 this.week(), 3590 this.weekday(), 3591 this.localeData()._week.dow, 3592 this.localeData()._week.doy); 3593 } 3594 3595 function getSetISOWeekYear (input) { 3596 return getSetWeekYearHelper.call(this, 3597 input, this.isoWeek(), this.isoWeekday(), 1, 4); 3598 } 3599 3600 function getISOWeeksInYear () { 3601 return weeksInYear(this.year(), 1, 4); 3602 } 3603 3604 function getWeeksInYear () { 3605 var weekInfo = this.localeData()._week; 3606 return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy); 3607 } 3608 3609 function getSetWeekYearHelper(input, week, weekday, dow, doy) { 3610 var weeksTarget; 3611 if (input == null) { 3612 return weekOfYear(this, dow, doy).year; 3613 } else { 3614 weeksTarget = weeksInYear(input, dow, doy); 3615 if (week > weeksTarget) { 3616 week = weeksTarget; 3617 } 3618 return setWeekAll.call(this, input, week, weekday, dow, doy); 3619 } 3620 } 3621 3622 function setWeekAll(weekYear, week, weekday, dow, doy) { 3623 var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy), 3624 date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear); 3625 3626 this.year(date.getUTCFullYear()); 3627 this.month(date.getUTCMonth()); 3628 this.date(date.getUTCDate()); 3629 return this; 3630 } 3631 3632 // FORMATTING 3633 3634 addFormatToken('Q', 0, 'Qo', 'quarter'); 3635 3636 // ALIASES 3637 3638 addUnitAlias('quarter', 'Q'); 3639 3640 // PRIORITY 3641 3642 addUnitPriority('quarter', 7); 3643 3644 // PARSING 3645 3646 addRegexToken('Q', match1); 3647 addParseToken('Q', function (input, array) { 3648 array[MONTH] = (toInt(input) - 1) * 3; 3649 }); 3650 3651 // MOMENTS 3652 3653 function getSetQuarter (input) { 3654 return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3); 3655 } 3656 3657 // FORMATTING 3658 3659 addFormatToken('D', ['DD', 2], 'Do', 'date'); 3660 3661 // ALIASES 3662 3663 addUnitAlias('date', 'D'); 3664 3665 // PRIORITY 3666 addUnitPriority('date', 9); 3667 3668 // PARSING 3669 3670 addRegexToken('D', match1to2); 3671 addRegexToken('DD', match1to2, match2); 3672 addRegexToken('Do', function (isStrict, locale) { 3673 // TODO: Remove "ordinalParse" fallback in next major release. 3674 return isStrict ? 3675 (locale._dayOfMonthOrdinalParse || locale._ordinalParse) : 3676 locale._dayOfMonthOrdinalParseLenient; 3677 }); 3678 3679 addParseToken(['D', 'DD'], DATE); 3680 addParseToken('Do', function (input, array) { 3681 array[DATE] = toInt(input.match(match1to2)[0]); 3682 }); 3683 3684 // MOMENTS 3685 3686 var getSetDayOfMonth = makeGetSet('Date', true); 3687 3688 // FORMATTING 3689 3690 addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'); 3691 3692 // ALIASES 3693 3694 addUnitAlias('dayOfYear', 'DDD'); 3695 3696 // PRIORITY 3697 addUnitPriority('dayOfYear', 4); 3698 3699 // PARSING 3700 3701 addRegexToken('DDD', match1to3); 3702 addRegexToken('DDDD', match3); 3703 addParseToken(['DDD', 'DDDD'], function (input, array, config) { 3704 config._dayOfYear = toInt(input); 3705 }); 3706 3707 // HELPERS 3708 3709 // MOMENTS 3710 3711 function getSetDayOfYear (input) { 3712 var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1; 3713 return input == null ? dayOfYear : this.add((input - dayOfYear), 'd'); 3714 } 3715 3716 // FORMATTING 3717 3718 addFormatToken('m', ['mm', 2], 0, 'minute'); 3719 3720 // ALIASES 3721 3722 addUnitAlias('minute', 'm'); 3723 3724 // PRIORITY 3725 3726 addUnitPriority('minute', 14); 3727 3728 // PARSING 3729 3730 addRegexToken('m', match1to2); 3731 addRegexToken('mm', match1to2, match2); 3732 addParseToken(['m', 'mm'], MINUTE); 3733 3734 // MOMENTS 3735 3736 var getSetMinute = makeGetSet('Minutes', false); 3737 3738 // FORMATTING 3739 3740 addFormatToken('s', ['ss', 2], 0, 'second'); 3741 3742 // ALIASES 3743 3744 addUnitAlias('second', 's'); 3745 3746 // PRIORITY 3747 3748 addUnitPriority('second', 15); 3749 3750 // PARSING 3751 3752 addRegexToken('s', match1to2); 3753 addRegexToken('ss', match1to2, match2); 3754 addParseToken(['s', 'ss'], SECOND); 3755 3756 // MOMENTS 3757 3758 var getSetSecond = makeGetSet('Seconds', false); 3759 3760 // FORMATTING 3761 3762 addFormatToken('S', 0, 0, function () { 3763 return ~~(this.millisecond() / 100); 3764 }); 3765 3766 addFormatToken(0, ['SS', 2], 0, function () { 3767 return ~~(this.millisecond() / 10); 3768 }); 3769 3770 addFormatToken(0, ['SSS', 3], 0, 'millisecond'); 3771 addFormatToken(0, ['SSSS', 4], 0, function () { 3772 return this.millisecond() * 10; 3773 }); 3774 addFormatToken(0, ['SSSSS', 5], 0, function () { 3775 return this.millisecond() * 100; 3776 }); 3777 addFormatToken(0, ['SSSSSS', 6], 0, function () { 3778 return this.millisecond() * 1000; 3779 }); 3780 addFormatToken(0, ['SSSSSSS', 7], 0, function () { 3781 return this.millisecond() * 10000; 3782 }); 3783 addFormatToken(0, ['SSSSSSSS', 8], 0, function () { 3784 return this.millisecond() * 100000; 3785 }); 3786 addFormatToken(0, ['SSSSSSSSS', 9], 0, function () { 3787 return this.millisecond() * 1000000; 3788 }); 3789 3790 3791 // ALIASES 3792 3793 addUnitAlias('millisecond', 'ms'); 3794 3795 // PRIORITY 3796 3797 addUnitPriority('millisecond', 16); 3798 3799 // PARSING 3800 3801 addRegexToken('S', match1to3, match1); 3802 addRegexToken('SS', match1to3, match2); 3803 addRegexToken('SSS', match1to3, match3); 3804 3805 var token; 3806 for (token = 'SSSS'; token.length <= 9; token += 'S') { 3807 addRegexToken(token, matchUnsigned); 3808 } 3809 3810 function parseMs(input, array) { 3811 array[MILLISECOND] = toInt(('0.' + input) * 1000); 3812 } 3813 3814 for (token = 'S'; token.length <= 9; token += 'S') { 3815 addParseToken(token, parseMs); 3816 } 3817 // MOMENTS 3818 3819 var getSetMillisecond = makeGetSet('Milliseconds', false); 3820 3821 // FORMATTING 3822 3823 addFormatToken('z', 0, 0, 'zoneAbbr'); 3824 addFormatToken('zz', 0, 0, 'zoneName'); 3825 3826 // MOMENTS 3827 3828 function getZoneAbbr () { 3829 return this._isUTC ? 'UTC' : ''; 3830 } 3831 3832 function getZoneName () { 3833 return this._isUTC ? 'Coordinated Universal Time' : ''; 3834 } 3835 3836 var proto = Moment.prototype; 3837 3838 proto.add = add; 3839 proto.calendar = calendar$1; 3840 proto.clone = clone; 3841 proto.diff = diff; 3842 proto.endOf = endOf; 3843 proto.format = format; 3844 proto.from = from; 3845 proto.fromNow = fromNow; 3846 proto.to = to; 3847 proto.toNow = toNow; 3848 proto.get = stringGet; 3849 proto.invalidAt = invalidAt; 3850 proto.isAfter = isAfter; 3851 proto.isBefore = isBefore; 3852 proto.isBetween = isBetween; 3853 proto.isSame = isSame; 3854 proto.isSameOrAfter = isSameOrAfter; 3855 proto.isSameOrBefore = isSameOrBefore; 3856 proto.isValid = isValid$2; 3857 proto.lang = lang; 3858 proto.locale = locale; 3859 proto.localeData = localeData; 3860 proto.max = prototypeMax; 3861 proto.min = prototypeMin; 3862 proto.parsingFlags = parsingFlags; 3863 proto.set = stringSet; 3864 proto.startOf = startOf; 3865 proto.subtract = subtract; 3866 proto.toArray = toArray; 3867 proto.toObject = toObject; 3868 proto.toDate = toDate; 3869 proto.toISOString = toISOString; 3870 proto.inspect = inspect; 3871 proto.toJSON = toJSON; 3872 proto.toString = toString; 3873 proto.unix = unix; 3874 proto.valueOf = valueOf; 3875 proto.creationData = creationData; 3876 proto.year = getSetYear; 3877 proto.isLeapYear = getIsLeapYear; 3878 proto.weekYear = getSetWeekYear; 3879 proto.isoWeekYear = getSetISOWeekYear; 3880 proto.quarter = proto.quarters = getSetQuarter; 3881 proto.month = getSetMonth; 3882 proto.daysInMonth = getDaysInMonth; 3883 proto.week = proto.weeks = getSetWeek; 3884 proto.isoWeek = proto.isoWeeks = getSetISOWeek; 3885 proto.weeksInYear = getWeeksInYear; 3886 proto.isoWeeksInYear = getISOWeeksInYear; 3887 proto.date = getSetDayOfMonth; 3888 proto.day = proto.days = getSetDayOfWeek; 3889 proto.weekday = getSetLocaleDayOfWeek; 3890 proto.isoWeekday = getSetISODayOfWeek; 3891 proto.dayOfYear = getSetDayOfYear; 3892 proto.hour = proto.hours = getSetHour; 3893 proto.minute = proto.minutes = getSetMinute; 3894 proto.second = proto.seconds = getSetSecond; 3895 proto.millisecond = proto.milliseconds = getSetMillisecond; 3896 proto.utcOffset = getSetOffset; 3897 proto.utc = setOffsetToUTC; 3898 proto.local = setOffsetToLocal; 3899 proto.parseZone = setOffsetToParsedOffset; 3900 proto.hasAlignedHourOffset = hasAlignedHourOffset; 3901 proto.isDST = isDaylightSavingTime; 3902 proto.isLocal = isLocal; 3903 proto.isUtcOffset = isUtcOffset; 3904 proto.isUtc = isUtc; 3905 proto.isUTC = isUtc; 3906 proto.zoneAbbr = getZoneAbbr; 3907 proto.zoneName = getZoneName; 3908 proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth); 3909 proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth); 3910 proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear); 3911 proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone); 3912 proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted); 3913 3914 function createUnix (input) { 3915 return createLocal(input * 1000); 3916 } 3917 3918 function createInZone () { 3919 return createLocal.apply(null, arguments).parseZone(); 3920 } 3921 3922 function preParsePostFormat (string) { 3923 return string; 3924 } 3925 3926 var proto$1 = Locale.prototype; 3927 3928 proto$1.calendar = calendar; 3929 proto$1.longDateFormat = longDateFormat; 3930 proto$1.invalidDate = invalidDate; 3931 proto$1.ordinal = ordinal; 3932 proto$1.preparse = preParsePostFormat; 3933 proto$1.postformat = preParsePostFormat; 3934 proto$1.relativeTime = relativeTime; 3935 proto$1.pastFuture = pastFuture; 3936 proto$1.set = set; 3937 3938 proto$1.months = localeMonths; 3939 proto$1.monthsShort = localeMonthsShort; 3940 proto$1.monthsParse = localeMonthsParse; 3941 proto$1.monthsRegex = monthsRegex; 3942 proto$1.monthsShortRegex = monthsShortRegex; 3943 proto$1.week = localeWeek; 3944 proto$1.firstDayOfYear = localeFirstDayOfYear; 3945 proto$1.firstDayOfWeek = localeFirstDayOfWeek; 3946 3947 proto$1.weekdays = localeWeekdays; 3948 proto$1.weekdaysMin = localeWeekdaysMin; 3949 proto$1.weekdaysShort = localeWeekdaysShort; 3950 proto$1.weekdaysParse = localeWeekdaysParse; 3951 3952 proto$1.weekdaysRegex = weekdaysRegex; 3953 proto$1.weekdaysShortRegex = weekdaysShortRegex; 3954 proto$1.weekdaysMinRegex = weekdaysMinRegex; 3955 3956 proto$1.isPM = localeIsPM; 3957 proto$1.meridiem = localeMeridiem; 3958 3959 function get$1 (format, index, field, setter) { 3960 var locale = getLocale(); 3961 var utc = createUTC().set(setter, index); 3962 return locale[field](utc, format); 3963 } 3964 3965 function listMonthsImpl (format, index, field) { 3966 if (isNumber(format)) { 3967 index = format; 3968 format = undefined; 3969 } 3970 3971 format = format || ''; 3972 3973 if (index != null) { 3974 return get$1(format, index, field, 'month'); 3975 } 3976 3977 var i; 3978 var out = []; 3979 for (i = 0; i < 12; i++) { 3980 out[i] = get$1(format, i, field, 'month'); 3981 } 3982 return out; 3983 } 3984 3985 // () 3986 // (5) 3987 // (fmt, 5) 3988 // (fmt) 3989 // (true) 3990 // (true, 5) 3991 // (true, fmt, 5) 3992 // (true, fmt) 3993 function listWeekdaysImpl (localeSorted, format, index, field) { 3994 if (typeof localeSorted === 'boolean') { 3995 if (isNumber(format)) { 3996 index = format; 3997 format = undefined; 3998 } 3999 4000 format = format || ''; 4001 } else { 4002 format = localeSorted; 4003 index = format; 4004 localeSorted = false; 4005 4006 if (isNumber(format)) { 4007 index = format; 4008 format = undefined; 4009 } 4010 4011 format = format || ''; 4012 } 4013 4014 var locale = getLocale(), 4015 shift = localeSorted ? locale._week.dow : 0; 4016 4017 if (index != null) { 4018 return get$1(format, (index + shift) % 7, field, 'day'); 4019 } 4020 4021 var i; 4022 var out = []; 4023 for (i = 0; i < 7; i++) { 4024 out[i] = get$1(format, (i + shift) % 7, field, 'day'); 4025 } 4026 return out; 4027 } 4028 4029 function listMonths (format, index) { 4030 return listMonthsImpl(format, index, 'months'); 4031 } 4032 4033 function listMonthsShort (format, index) { 4034 return listMonthsImpl(format, index, 'monthsShort'); 4035 } 4036 4037 function listWeekdays (localeSorted, format, index) { 4038 return listWeekdaysImpl(localeSorted, format, index, 'weekdays'); 4039 } 4040 4041 function listWeekdaysShort (localeSorted, format, index) { 4042 return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort'); 4043 } 4044 4045 function listWeekdaysMin (localeSorted, format, index) { 4046 return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin'); 4047 } 4048 4049 getSetGlobalLocale('en', { 4050 dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, 4051 ordinal : function (number) { 4052 var b = number % 10, 4053 output = (toInt(number % 100 / 10) === 1) ? 'th' : 4054 (b === 1) ? 'st' : 4055 (b === 2) ? 'nd' : 4056 (b === 3) ? 'rd' : 'th'; 4057 return number + output; 4058 } 4059 }); 4060 4061 // Side effect imports 4062 4063 hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale); 4064 hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale); 4065 4066 var mathAbs = Math.abs; 4067 4068 function abs () { 4069 var data = this._data; 4070 4071 this._milliseconds = mathAbs(this._milliseconds); 4072 this._days = mathAbs(this._days); 4073 this._months = mathAbs(this._months); 4074 4075 data.milliseconds = mathAbs(data.milliseconds); 4076 data.seconds = mathAbs(data.seconds); 4077 data.minutes = mathAbs(data.minutes); 4078 data.hours = mathAbs(data.hours); 4079 data.months = mathAbs(data.months); 4080 data.years = mathAbs(data.years); 4081 4082 return this; 4083 } 4084 4085 function addSubtract$1 (duration, input, value, direction) { 4086 var other = createDuration(input, value); 4087 4088 duration._milliseconds += direction * other._milliseconds; 4089 duration._days += direction * other._days; 4090 duration._months += direction * other._months; 4091 4092 return duration._bubble(); 4093 } 4094 4095 // supports only 2.0-style add(1, 's') or add(duration) 4096 function add$1 (input, value) { 4097 return addSubtract$1(this, input, value, 1); 4098 } 4099 4100 // supports only 2.0-style subtract(1, 's') or subtract(duration) 4101 function subtract$1 (input, value) { 4102 return addSubtract$1(this, input, value, -1); 4103 } 4104 4105 function absCeil (number) { 4106 if (number < 0) { 4107 return Math.floor(number); 4108 } else { 4109 return Math.ceil(number); 4110 } 4111 } 4112 4113 function bubble () { 4114 var milliseconds = this._milliseconds; 4115 var days = this._days; 4116 var months = this._months; 4117 var data = this._data; 4118 var seconds, minutes, hours, years, monthsFromDays; 4119 4120 // if we have a mix of positive and negative values, bubble down first 4121 // check: https://github.com/moment/moment/issues/2166 4122 if (!((milliseconds >= 0 && days >= 0 && months >= 0) || 4123 (milliseconds <= 0 && days <= 0 && months <= 0))) { 4124 milliseconds += absCeil(monthsToDays(months) + days) * 864e5; 4125 days = 0; 4126 months = 0; 4127 } 4128 4129 // The following code bubbles up values, see the tests for 4130 // examples of what that means. 4131 data.milliseconds = milliseconds % 1000; 4132 4133 seconds = absFloor(milliseconds / 1000); 4134 data.seconds = seconds % 60; 4135 4136 minutes = absFloor(seconds / 60); 4137 data.minutes = minutes % 60; 4138 4139 hours = absFloor(minutes / 60); 4140 data.hours = hours % 24; 4141 4142 days += absFloor(hours / 24); 4143 4144 // convert days to months 4145 monthsFromDays = absFloor(daysToMonths(days)); 4146 months += monthsFromDays; 4147 days -= absCeil(monthsToDays(monthsFromDays)); 4148 4149 // 12 months -> 1 year 4150 years = absFloor(months / 12); 4151 months %= 12; 4152 4153 data.days = days; 4154 data.months = months; 4155 data.years = years; 4156 4157 return this; 4158 } 4159 4160 function daysToMonths (days) { 4161 // 400 years have 146097 days (taking into account leap year rules) 4162 // 400 years have 12 months === 4800 4163 return days * 4800 / 146097; 4164 } 4165 4166 function monthsToDays (months) { 4167 // the reverse of daysToMonths 4168 return months * 146097 / 4800; 4169 } 4170 4171 function as (units) { 4172 if (!this.isValid()) { 4173 return NaN; 4174 } 4175 var days; 4176 var months; 4177 var milliseconds = this._milliseconds; 4178 4179 units = normalizeUnits(units); 4180 4181 if (units === 'month' || units === '
vendor: 1,721 bytes, lines 4181-4226
4181year') { 4182 days = this._days + milliseconds / 864e5; 4183 months = this._months + daysToMonths(days); 4184 return units === 'month' ? months : months / 12; 4185 } else { 4186 // handle milliseconds separately because of floating point math errors (issue #1867) 4187 days = this._days + Math.round(monthsToDays(this._months)); 4188 switch (units) { 4189 case 'week' : return days / 7 + milliseconds / 6048e5; 4190 case 'day' : return days + milliseconds / 864e5; 4191 case 'hour' : return days * 24 + milliseconds / 36e5; 4192 case 'minute' : return days * 1440 + milliseconds / 6e4; 4193 case 'second' : return days * 86400 + milliseconds / 1000; 4194 // Math.floor prevents floating point math errors here 4195 case 'millisecond': return Math.floor(days * 864e5) + milliseconds; 4196 default: throw new Error('Unknown unit ' + units); 4197 } 4198 } 4199 } 4200 4201 // TODO: Use this.as('ms')? 4202 function valueOf$1 () { 4203 if (!this.isValid()) { 4204 return NaN; 4205 } 4206 return ( 4207 this._milliseconds + 4208 this._days * 864e5 + 4209 (this._months % 12) * 2592e6 + 4210 toInt(this._months / 12) * 31536e6 4211 ); 4212 } 4213 4214 function makeAs (alias) { 4215 return function () { 4216 return this.as(alias); 4217 }; 4218 } 4219 4220 var asMilliseconds = makeAs('ms'); 4221 var asSeconds = makeAs('s'); 4222 var asMinutes = makeAs('m'); 4223 var asHours = makeAs('h'); 4224 var asDays = makeAs('d'); 4225 var asWeeks = makeAs('w'); 4226 var asMonths = makeAs('M
vendor: 6,605 bytes, lines 4226-4418
4226'); 4227 var asYears = makeAs('y'); 4228 4229 function clone$1 () { 4230 return createDuration(this); 4231 } 4232 4233 function get$2 (units) { 4234 units = normalizeUnits(units); 4235 return this.isValid() ? this[units + 's']() : NaN; 4236 } 4237 4238 function makeGetter(name) { 4239 return function () { 4240 return this.isValid() ? this._data[name] : NaN; 4241 }; 4242 } 4243 4244 var milliseconds = makeGetter('milliseconds'); 4245 var seconds = makeGetter('seconds'); 4246 var minutes = makeGetter('minutes'); 4247 var hours = makeGetter('hours'); 4248 var days = makeGetter('days'); 4249 var months = makeGetter('months'); 4250 var years = makeGetter('years'); 4251 4252 function weeks () { 4253 return absFloor(this.days() / 7); 4254 } 4255 4256 var round = Math.round; 4257 var thresholds = { 4258 ss: 44, // a few seconds to seconds 4259 s : 45, // seconds to minute 4260 m : 45, // minutes to hour 4261 h : 22, // hours to day 4262 d : 26, // days to month 4263 M : 11 // months to year 4264 }; 4265 4266 // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize 4267 function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) { 4268 return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture); 4269 } 4270 4271 function relativeTime$1 (posNegDuration, withoutSuffix, locale) { 4272 var duration = createDuration(posNegDuration).abs(); 4273 var seconds = round(duration.as('s')); 4274 var minutes = round(duration.as('m')); 4275 var hours = round(duration.as('h')); 4276 var days = round(duration.as('d')); 4277 var months = round(duration.as('M')); 4278 var years = round(duration.as('y')); 4279 4280 var a = seconds <= thresholds.ss && ['s', seconds] || 4281 seconds < thresholds.s && ['ss', seconds] || 4282 minutes <= 1 && ['m'] || 4283 minutes < thresholds.m && ['mm', minutes] || 4284 hours <= 1 && ['h'] || 4285 hours < thresholds.h && ['hh', hours] || 4286 days <= 1 && ['d'] || 4287 days < thresholds.d && ['dd', days] || 4288 months <= 1 && ['M'] || 4289 months < thresholds.M && ['MM', months] || 4290 years <= 1 && ['y'] || ['yy', years]; 4291 4292 a[2] = withoutSuffix; 4293 a[3] = +posNegDuration > 0; 4294 a[4] = locale; 4295 return substituteTimeAgo.apply(null, a); 4296 } 4297 4298 // This function allows you to set the rounding function for relative time strings 4299 function getSetRelativeTimeRounding (roundingFunction) { 4300 if (roundingFunction === undefined) { 4301 return round; 4302 } 4303 if (typeof(roundingFunction) === 'function') { 4304 round = roundingFunction; 4305 return true; 4306 } 4307 return false; 4308 } 4309 4310 // This function allows you to set a threshold for relative time strings 4311 function getSetRelativeTimeThreshold (threshold, limit) { 4312 if (thresholds[threshold] === undefined) { 4313 return false; 4314 } 4315 if (limit === undefined) { 4316 return thresholds[threshold]; 4317 } 4318 thresholds[threshold] = limit; 4319 if (threshold === 's') { 4320 thresholds.ss = limit - 1; 4321 } 4322 return true; 4323 } 4324 4325 function humanize (withSuffix) { 4326 if (!this.isValid()) { 4327 return this.localeData().invalidDate(); 4328 } 4329 4330 var locale = this.localeData(); 4331 var output = relativeTime$1(this, !withSuffix, locale); 4332 4333 if (withSuffix) { 4334 output = locale.pastFuture(+this, output); 4335 } 4336 4337 return locale.postformat(output); 4338 } 4339 4340 var abs$1 = Math.abs; 4341 4342 function sign(x) { 4343 return ((x > 0) - (x < 0)) || +x; 4344 } 4345 4346 function toISOString$1() { 4347 // for ISO strings we do not use the normal bubbling rules: 4348 // * milliseconds bubble up until they become hours 4349 // * days do not bubble at all 4350 // * months bubble up until they become years 4351 // This is because there is no context-free conversion between hours and days 4352 // (think of clock changes) 4353 // and also not between days and months (28-31 days per month) 4354 if (!this.isValid()) { 4355 return this.localeData().invalidDate(); 4356 } 4357 4358 var seconds = abs$1(this._milliseconds) / 1000; 4359 var days = abs$1(this._days); 4360 var months = abs$1(this._months); 4361 var minutes, hours, years; 4362 4363 // 3600 seconds -> 60 minutes -> 1 hour 4364 minutes = absFloor(seconds / 60); 4365 hours = absFloor(minutes / 60); 4366 seconds %= 60; 4367 minutes %= 60; 4368 4369 // 12 months -> 1 year 4370 years = absFloor(months / 12); 4371 months %= 12; 4372 4373 4374 // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js 4375 var Y = years; 4376 var M = months; 4377 var D = days; 4378 var h = hours; 4379 var m = minutes; 4380 var s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : ''; 4381 var total = this.asSeconds(); 4382 4383 if (!total) { 4384 // this is the same as C#'s (Noda) and python (isodate)... 4385 // but not other JS (goog.date) 4386 return 'P0D'; 4387 } 4388 4389 var totalSign = total < 0 ? '-' : ''; 4390 var ymSign = sign(this._months) !== sign(total) ? '-' : ''; 4391 var daysSign = sign(this._days) !== sign(total) ? '-' : ''; 4392 var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : ''; 4393 4394 return totalSign + 'P' + 4395 (Y ? ymSign + Y + 'Y' : '') + 4396 (M ? ymSign + M + 'M' : '') + 4397 (D ? daysSign + D + 'D' : '') + 4398 ((h || m || s) ? 'T' : '') + 4399 (h ? hmsSign + h + 'H' : '') + 4400 (m ? hmsSign + m + 'M' : '') + 4401 (s ? hmsSign + s + 'S' : ''); 4402 } 4403 4404 var proto$2 = Duration.prototype; 4405 4406 proto$2.isValid = isValid$1; 4407 proto$2.abs = abs; 4408 proto$2.add = add$1; 4409 proto$2.subtract = subtract$1; 4410 proto$2.as = as; 4411 proto$2.asMilliseconds = asMilliseconds; 4412 proto$2.asSeconds = asSeconds; 4413 proto$2.asMinutes = asMinutes; 4414 proto$2.asHours = asHours; 4415 proto$2.asDays = asDays; 4416 proto$2.asWeeks = asWeeks; 4417 proto$2.asMonths = asMonths; 4418 proto$2.as
4418Years = asYears; 4419 proto$2.valueOf = valueOf$1; 4420 proto$2._bubble = bubble; 4421 proto$2.clone = clone$1; 4422 proto$2.get = get$2; 4423 proto$2.milliseconds = milliseconds; 4424 proto$2.seconds = seconds; 4425 proto$2.minutes = minutes; 4426 proto$2.hours = hours; 4427 proto$2.days = days; 4428 proto$2.weeks = weeks; 4429 proto$2.months = months; 4430 proto$2.years = years; 4431 proto$2.humanize = humanize; 4432 proto$2.toISOString = toISOString$1; 4433 proto$2.toString = toISOString$1; 4434 proto$2.toJSON = toISOString$1; 4435 proto$2.locale = locale; 4436 proto$2.localeData = localeData; 4437 4438 proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1); 4439 proto$2.lang = lang; 4440 4441 // Side effect imports 4442 4443 // FORMATTING 4444 4445 addFormatToken('X', 0, 0, 'unix'); 4446 addFormatToken('x', 0, 0, 'valueOf'); 4447 4448 // PARSING 4449 4450 addRegexToken('x', matchSigned); 4451 addRegexToken('X', matchTimestamp); 4452 addParseToken('X', function (input, array, config) { 4453 config._d = new Date(parseFloat(input, 10) * 1000); 4454 }); 4455 addParseToken('x', function (input, array, config) { 4456 config._d = new Date(toInt(input)); 4457 }); 4458 4459 // Side effect imports 4460 4461 4462 hooks.version = '2.22.2'; 4463 4464 setHookCallback(createLocal); 4465 4466 hooks.fn = proto; 4467 hooks.min = min; 4468 hooks.max = max; 4469 hooks.now = now; 4470 hooks.utc = createUTC; 4471 hooks.unix = createUnix; 4472 hooks.months = listMonths; 4473 hooks.isDate = isDate; 4474 hooks.locale = getSetGlobalLocale; 4475 hooks.invalid = createInvalid; 4476 hooks.duration = createDuration; 4477 hooks.isMoment = isMoment; 4478 hooks.weekdays = listWeekdays; 4479 hooks.parseZone = createInZone; 4480 hooks.localeData = getLocale; 4481 hooks.isDuration = isDuration; 4482 hooks.monthsShort = listMonthsShort; 4483 hooks.weekdaysMin = listWeekdaysMin; 4484 hooks.defineLocale = defineLocale; 4485 hooks.updateLocale = updateLocale; 4486 hooks.locales = listLocales; 4487 hooks.weekdaysShort = listWeekdaysShort; 4488 hooks.normalizeUnits = normalizeUnits; 4489 hooks.relativeTimeRounding = getSetRelativeTimeRounding; 4490 hooks.relativeTimeThreshold = getSetRelativeTimeThreshold; 4491 hooks.calendarFormat = getCalendarFormat; 4492 hooks.prototype = proto; 4493 4494 // currently HTML5 input type only supports 24-hour formats 4495 hooks.HTML5_FMT = { 4496 DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type="datetime-local" /> 4497 DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type="datetime-local" step="1" /> 4498 DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type="datetime-local" step="0.001" /> 4499 DATE: 'YYYY-MM-DD', // <input type="date" /> 4500 TIME: 'HH:mm', // <input type="time" /> 4501 TIME_SECONDS: 'HH:mm:ss', // <input type="time" step="1" /> 4502 TIME_MS: 'HH:mm:ss.SSS', // <input type="time" step="0.001" /> 4503 WEEK: 'YYYY-[W]WW', // <input type="week" /> 4504 MONTH: 'YYYY-MM' // <input type="month" /> 4505 }; 4506 4507 return hooks; 4508 4509}))); 4510 4511 4512//! moment.js locale configuration 4513 4514;(function (global, factory) { 4515 typeof exports === 'object' && typeof module !== 'undefined' 4516 && typeof require === 'function' ? factory(require('../moment')) : 4517 typeof define === 'function' && define.amd ? define(['../moment'], factory) : 4518 factory(global.moment) 4519}(this, (function (moment) { 'use strict'; 4520 4521 4522 var enGb = moment.defineLocale('en-gb', { 4523 months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), 4524 monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), 4525 weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), 4526 weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), 4527 weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), 4528 longDateFormat : { 4529 LT : 'HH:mm', 4530 LTS : 'HH:mm:ss', 4531 L : 'DD/MM/YYYY', 4532 LL : 'D MMMM YYYY', 4533 LLL : 'D MMMM YYYY HH:mm', 4534 LLLL : 'dddd, D MMMM YYYY HH:mm' 4535 }, 4536 calendar : { 4537 sameDay : '[Today at] LT', 4538 nextDay : '[Tomorrow at] LT', 4539 nextWeek : 'dddd [at] LT', 4540 lastDay : '[Yesterday at] LT', 4541 lastWeek : '[Last] dddd [at] LT', 4542 sameElse : 'L' 4543 }, 4544 relativeTime : { 4545 future : 'in %s', 4546 past : '%s ago', 4547 s : 'a few seconds', 4548 ss : '%d seconds', 4549 m : 'a minute', 4550 mm : '%d minutes', 4551 h : 'an hour', 4552 hh : '%d hours', 4553 d : 'a day', 4554 dd : '%d days', 4555 M : 'a month', 4556 MM : '%d months', 4557 y : 'a year', 4558 yy : '%d years' 4559 }, 4560 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, 4561 ordinal : function (number) { 4562 var b = number % 10, 4563 output = (~~(number % 100 / 10) === 1) ? 'th' : 4564 (b === 1) ? 'st' : 4565 (b === 2) ? 'nd' : 4566 (b === 3) ? 'rd' : 'th'; 4567 return number + output; 4568 }, 4569 week : { 4570 dow : 1, // Monday is the first day of the week. 4571 doy : 4 // The week that contains Jan 4th is the first week of the year. 4572 } 4573 }); 4574 4575 return enGb;
vendor: 8,904 bytes, lines 4576-4765
4576 4577}))); 4578 4579 4580//! moment.js locale configuration 4581 4582;(function (global, factory) { 4583 typeof exports === 'object' && typeof module !== 'undefined' 4584 && typeof require === 'function' ? factory(require('../moment')) : 4585 typeof define === 'function' && define.amd ? define(['../moment'], factory) : 4586 factory(global.moment) 4587}(this, (function (moment) { 'use strict'; 4588 4589 4590 function plural(word, num) { 4591 var forms = word.split('_'); 4592 return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]); 4593 } 4594 function relativeTimeWithPlural(number, withoutSuffix, key) { 4595 var format = { 4596 'ss': withoutSuffix ? 'ÑекÑнда_ÑекÑндÑ_ÑекÑнд' : 'ÑекÑндÑ_ÑекÑндÑ_ÑекÑнд', 4597 'mm': withoutSuffix ? 'минÑÑа_минÑÑÑ_минÑÑ' : 'минÑÑÑ_минÑÑÑ_минÑÑ', 4598 'hh': 'ÑаÑ_ÑаÑа_ÑаÑов', 4599 'dd': 'денÑ_днÑ_дней', 4600 'MM': 'меÑÑÑ_меÑÑÑа_меÑÑÑев', 4601 'yy': 'год_года_леÑ' 4602 }; 4603 if (key === 'm') { 4604 return withoutSuffix ? 'минÑÑа' : 'минÑÑÑ'; 4605 } 4606 else { 4607 return number + ' ' + plural(format[key], +number); 4608 } 4609 } 4610 var monthsParse = [/^Ñнв/i, /^Ñев/i, /^маÑ/i, /^апÑ/i, /^ма[йÑ]/i, /^иÑн/i, /^иÑл/i, /^авг/i, /^Ñен/i, /^окÑ/i, /^ноÑ/i, /^дек/i]; 4611 4612 // http://new.gramota.ru/spravka/rules/139-prop : § 103 4613 // СокÑаÑÐµÐ½Ð¸Ñ Ð¼ÐµÑÑÑев: http://new.gramota.ru/spravka/buro/search-answer?s=242637 4614 // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753 4615 var ru = moment.defineLocale('ru', { 4616 months : { 4617 format: 'ÑнваÑÑ_ÑевÑалÑ_маÑÑа_апÑелÑ_маÑ_иÑнÑ_иÑлÑ_авгÑÑÑа_ÑенÑÑбÑÑ_окÑÑбÑÑ_ноÑбÑÑ_декабÑÑ'.split('_'), 4618 standalone: 'ÑнваÑÑ_ÑевÑалÑ_маÑÑ_апÑелÑ_май_иÑнÑ_иÑлÑ_авгÑÑÑ_ÑенÑÑбÑÑ_окÑÑбÑÑ_ноÑбÑÑ_декабÑÑ'.split('_') 4619 }, 4620 monthsShort : { 4621 // по CLDR именно "иÑл." и "иÑн.", но какой ÑмÑÑл менÑÑÑ Ð±ÑÐºÐ²Ñ Ð½Ð° ÑоÑÐºÑ ? 4622 format: 'Ñнв._ÑевÑ._маÑ._апÑ._маÑ_иÑнÑ_иÑлÑ_авг._ÑенÑ._окÑ._ноÑб._дек.'.split('_'), 4623 standalone: 'Ñнв._ÑевÑ._маÑÑ_апÑ._май_иÑнÑ_иÑлÑ_авг._ÑенÑ._окÑ._ноÑб._дек.'.split('_') 4624 }, 4625 weekdays : { 4626 standalone: 'воÑкÑеÑенÑе_понеделÑник_вÑоÑник_ÑÑеда_ÑеÑвеÑг_пÑÑниÑа_ÑÑббоÑа'.split('_'), 4627 format: 'воÑкÑеÑенÑе_понеделÑник_вÑоÑник_ÑÑедÑ_ÑеÑвеÑг_пÑÑниÑÑ_ÑÑббоÑÑ'.split('_'), 4628 isFormat: /\[ ?[Ðв] ?(?:пÑоÑлÑÑ|ÑледÑÑÑÑÑ|ÑÑÑ)? ?\] ?dddd/ 4629 }, 4630 weekdaysShort : 'вÑ_пн_вÑ_ÑÑ_ÑÑ_пÑ_Ñб'.split('_'), 4631 weekdaysMin : 'вÑ_пн_вÑ_ÑÑ_ÑÑ_пÑ_Ñб'.split('_'), 4632 monthsParse : monthsParse, 4633 longMonthsParse : monthsParse, 4634 shortMonthsParse : monthsParse, 4635 4636 // полнÑе Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñ Ð¿Ð°Ð´ÐµÐ¶Ð°Ð¼Ð¸, по ÑÑи бÑквÑ, Ð´Ð»Ñ Ð½ÐµÐºÐ¾ÑоÑÑÑ , по 4 бÑквÑ, ÑокÑаÑÐµÐ½Ð¸Ñ Ñ ÑоÑкой и без ÑоÑки 4637 monthsRegex: /^(ÑнваÑ[ÑÑ]|Ñнв\.?|ÑевÑал[ÑÑ]|ÑевÑ?\.?|маÑÑа?|маÑ\.?|апÑел[ÑÑ]|апÑ\.?|ма[йÑ]|иÑн[ÑÑ]|иÑн\.?|иÑл[ÑÑ]|иÑл\.?|авгÑÑÑа?|авг\.?|ÑенÑÑбÑ[ÑÑ]|ÑенÑ?\.?|окÑÑбÑ[ÑÑ]|окÑ\.?|ноÑбÑ[ÑÑ]|ноÑб?\.?|декабÑ[ÑÑ]|дек\.?)/i, 4638 4639 // ÐºÐ¾Ð¿Ð¸Ñ Ð¿ÑедÑдÑÑего 4640 monthsShortRegex: /^(ÑнваÑ[ÑÑ]|Ñнв\.?|ÑевÑал[ÑÑ]|ÑевÑ?\.?|маÑÑа?|маÑ\.?|апÑел[ÑÑ]|апÑ\.?|ма[йÑ]|иÑн[ÑÑ]|иÑн\.?|иÑл[ÑÑ]|иÑл\.?|авгÑÑÑа?|авг\.?|ÑенÑÑбÑ[ÑÑ]|ÑенÑ?\.?|окÑÑбÑ[ÑÑ]|окÑ\.?|ноÑбÑ[ÑÑ]|ноÑб?\.?|декабÑ[ÑÑ]|дек\.?)/i, 4641 4642 // полнÑе Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñ Ð¿Ð°Ð´ÐµÐ¶Ð°Ð¼Ð¸ 4643 monthsStrictRegex: /^(ÑнваÑ[ÑÑ]|ÑевÑал[ÑÑ]|маÑÑа?|апÑел[ÑÑ]|ма[Ñй]|иÑн[ÑÑ]|иÑл[ÑÑ]|авгÑÑÑа?|ÑенÑÑбÑ[ÑÑ]|окÑÑбÑ[ÑÑ]|ноÑбÑ[ÑÑ]|декабÑ[ÑÑ])/i, 4644 4645 // ÐÑÑажение, коÑоÑое ÑооÑвеÑÑвÑÐµÑ ÑолÑко ÑокÑаÑÑннÑм ÑоÑмам 4646 monthsShortStrictRegex: /^(Ñнв\.|ÑевÑ?\.|маÑ[Ñ.]|апÑ\.|ма[Ñй]|иÑн[ÑÑ.]|иÑл[ÑÑ.]|авг\.|ÑенÑ?\.|окÑ\.|ноÑб?\.|дек\.)/i, 4647 longDateFormat : { 4648 LT : 'H:mm', 4649 LTS : 'H:mm:ss', 4650 L : 'DD.MM.YYYY', 4651 LL : 'D MMMM YYYY г.', 4652 LLL : 'D MMMM YYYY г., H:mm', 4653 LLLL : 'dddd, D MMMM YYYY г., H:mm' 4654 }, 4655 calendar : { 4656 sameDay: '[СегоднÑ, в] LT', 4657 nextDay: '[ÐавÑÑа, в] LT', 4658 lastDay: '[ÐÑеÑа, в] LT', 4659 nextWeek: function (now) { 4660 if (now.week() !== this.week()) { 4661 switch (this.day()) { 4662 case 0: 4663 return '[Ð ÑледÑÑÑее] dddd, [в] LT'; 4664 case 1: 4665 case 2: 4666 case 4: 4667 return '[Ð ÑледÑÑÑий] dddd, [в] LT'; 4668 case 3: 4669 case 5: 4670 case 6: 4671 return '[Ð ÑледÑÑÑÑÑ] dddd, [в] LT'; 4672 } 4673 } else { 4674 if (this.day() === 2) { 4675 return '[Ðо] dddd, [в] LT'; 4676 } else { 4677 return '[Ð] dddd, [в] LT'; 4678 } 4679 } 4680 }, 4681 lastWeek: function (now) { 4682 if (now.week() !== this.week()) { 4683 switch (this.day()) { 4684 case 0: 4685 return '[РпÑоÑлое] dddd, [в] LT'; 4686 case 1: 4687 case 2: 4688 case 4: 4689 return '[РпÑоÑлÑй] dddd, [в] LT'; 4690 case 3: 4691 case 5: 4692 case 6: 4693 return '[РпÑоÑлÑÑ] dddd, [в] LT'; 4694 } 4695 } else { 4696 if (this.day() === 2) { 4697 return '[Ðо] dddd, [в] LT'; 4698 } else { 4699 return '[Ð] dddd, [в] LT'; 4700 } 4701 } 4702 }, 4703 sameElse: 'L' 4704 }, 4705 relativeTime : { 4706 future : 'ÑеÑез %s', 4707 past : '%s назад', 4708 s : 'неÑколÑко ÑекÑнд', 4709 ss : relativeTimeWithPlural, 4710 m : relativeTimeWithPlural, 4711 mm : relativeTimeWithPlural, 4712 h : 'ÑаÑ', 4713 hh : relativeTimeWithPlural, 4714 d : 'денÑ', 4715 dd : relativeTimeWithPlural, 4716 M : 'меÑÑÑ', 4717 MM : relativeTimeWithPlural, 4718 y : 'год', 4719 yy : relativeTimeWithPlural 4720 }, 4721 meridiemParse: /ноÑи|ÑÑÑа|днÑ|веÑеÑа/i, 4722 isPM : function (input) { 4723 return /^(днÑ|веÑеÑа)$/.test(input); 4724 }, 4725 meridiem : function (hour, minute, isLower) { 4726 if (hour < 4) { 4727 return 'ноÑи'; 4728 } else if (hour < 12) { 4729 return 'ÑÑÑа'; 4730 } else if (hour < 17) { 4731 return 'днÑ'; 4732 } else { 4733 return 'веÑеÑа'; 4734 } 4735 }, 4736 dayOfMonthOrdinalParse: /\d{1,2}-(й|го|Ñ)/, 4737 ordinal: function (number, period) { 4738 switch (period) { 4739 case 'M': 4740 case 'd': 4741 case 'DDD': 4742 return number + '-й'; 4743 case 'D': 4744 return number + '-го'; 4745 case 'w': 4746 case 'W': 4747 return number + '-Ñ'; 4748 default: 4749 return number; 4750 } 4751 }, 4752 week : { 4753 dow : 1, // Monday is the first day of the week. 4754 doy : 4 // The week that contains Jan 4th is the first week of the year. 4755 } 4756 }); 4757 4758 return ru; 4759 4760}))); 4761 4762 4763!function (a) { 4764 "use strict"; 4765 if ("function" == typeof define && define.amd) define(["jquery", "moment"], a);
vendor: 28,852 bytes, lines 4765-5120
4765 else if ("object" == typeof exports) module.exports = a(require("jquery"), require("moment")); else { 4766 if ("undefined" == typeof jQuery) throw"bootstrap-datetimepicker requires jQuery to be loaded first"; 4767 if ("undefined" == typeof moment) throw"bootstrap-datetimepicker requires Moment.js to be loaded first"; 4768 a(jQuery, moment) 4769 } 4770}(function (a, b) { 4771 "use strict"; 4772 if (!b) throw new Error("bootstrap-datetimepicker requires Moment.js to be loaded first"); 4773 var c = function (c, d) { 4774 var e, f, g, h, i, j, k, l = {}, m = !0, n = !1, o = !1, p = 0, 4775 q = [{clsName: "days", navFnc: "M", navStep: 1}, { 4776 clsName: "months", 4777 navFnc: "y", 4778 navStep: 1 4779 }, {clsName: "years", navFnc: "y", navStep: 10}, {clsName: "decades", navFnc: "y", navStep: 100}], 4780 r = ["days", "months", "years", "decades"], s = ["top", "bottom", "auto"], t = ["left", "right", "auto"], 4781 u = ["default", "top", "bottom"], v = { 4782 up: 38, 4783 38: "up", 4784 down: 40, 4785 40: "down", 4786 left: 37, 4787 37: "left", 4788 right: 39, 4789 39: "right", 4790 tab: 9, 4791 9: "tab", 4792 escape: 27, 4793 27: "escape", 4794 enter: 13, 4795 13: "enter", 4796 pageUp: 33, 4797 33: "pageUp", 4798 pageDown: 34, 4799 34: "pageDown", 4800 shift: 16, 4801 16: "shift", 4802 control: 17, 4803 17: "control", 4804 space: 32, 4805 32: "space", 4806 t: 84, 4807 84: "t", 4808 delete: 46, 4809 46: "delete" 4810 }, w = {}, x = function () { 4811 return void 0 !== b.tz && void 0 !== d.timeZone && null !== d.timeZone && "" !== d.timeZone 4812 }, y = function (a) { 4813 var c; 4814 return c = void 0 === a || null === a ? b() : b.isDate(a) || b.isMoment(a) ? b(a) : x() ? b.tz(a, j, d.useStrict, d.timeZone) : b(a, j, d.useStrict), x() && c.tz(d.timeZone), c 4815 }, z = function (a) { 4816 if ("string" != typeof a || a.length > 1) throw new TypeError("isEnabled expects a single character string parameter"); 4817 switch (a) { 4818 case"y": 4819 return i.indexOf("Y") !== -1; 4820 case"M": 4821 return i.indexOf("M") !== -1; 4822 case"d": 4823 return i.toLowerCase().indexOf("d") !== -1; 4824 case"h": 4825 case"H": 4826 return i.toLowerCase().indexOf("h") !== -1; 4827 case"m": 4828 return i.indexOf("m") !== -1; 4829 case"s": 4830 return i.indexOf("s") !== -1; 4831 default: 4832 return !1 4833 } 4834 }, A = function () { 4835 return z("h") || z("m") || z("s") 4836 }, B = function () { 4837 return z("y") || z("M") || z("d") 4838 }, C = function () { 4839 var b = a("<thead>").append(a("<tr>").append(a("<th>").addClass("prev").attr("data-action", "previous").append(a("<span>").addClass(d.icons.previous))).append(a("<th>").addClass("picker-switch").attr("data-action", "pickerSwitch").attr("colspan", d.calendarWeeks ? "6" : "5")).append(a("<th>").addClass("next").attr("data-action", "next").append(a("<span>").addClass(d.icons.next)))), 4840 c = a("<tbody>").append(a("<tr>").append(a("<td>").attr("colspan", d.calendarWeeks ? "8" : "7"))); 4841 return [a("<div>").addClass("datepicker-days").append(a("<table>").addClass("table-condensed").append(b).append(a("<tbody>"))), a("<div>").addClass("datepicker-months").append(a("<table>").addClass("table-condensed").append(b.clone()).append(c.clone())), a("<div>").addClass("datepicker-years").append(a("<table>").addClass("table-condensed").append(b.clone()).append(c.clone())), a("<div>").addClass("datepicker-decades").append(a("<table>").addClass("table-condensed").append(b.clone()).append(c.clone()))] 4842 }, D = function () { 4843 var b = a("<tr>"), c = a("<tr>"), e = a("<tr>"); 4844 return z("h") && (b.append(a("<td>").append(a("<a>").attr({ 4845 href: "#", 4846 tabindex: "-1", 4847 title: d.tooltips.incrementHour 4848 }).addClass("btn").attr("data-action", "incrementHours").append(a("<span>").addClass(d.icons.up)))), c.append(a("<td>").append(a("<span>").addClass("timepicker-hour").attr({ 4849 "data-time-component": "hours", 4850 title: d.tooltips.pickHour 4851 }).attr("data-action", "showHours"))), e.append(a("<td>").append(a("<a>").attr({ 4852 href: "#", 4853 tabindex: "-1", 4854 title: d.tooltips.decrementHour 4855 }).addClass("btn").attr("data-action", "decrementHours").append(a("<span>").addClass(d.icons.down))))), z("m") && (z("h") && (b.append(a("<td>").addClass("separator")), c.append(a("<td>").addClass("separator").html(":")), e.append(a("<td>").addClass("separator"))), b.append(a("<td>").append(a("<a>").attr({ 4856 href: "#", 4857 tabindex: "-1", 4858 title: d.tooltips.incrementMinute 4859 }).addClass("btn").attr("data-action", "incrementMinutes").append(a("<span>").addClass(d.icons.up)))), c.append(a("<td>").append(a("<span>").addClass("timepicker-minute").attr({ 4860 "data-time-component": "minutes", 4861 title: d.tooltips.pickMinute 4862 }).attr("data-action", "showMinutes"))), e.append(a("<td>").append(a("<a>").attr({ 4863 href: "#", 4864 tabindex: "-1", 4865 title: d.tooltips.decrementMinute 4866 }).addClass("btn").attr("data-action", "decrementMinutes").append(a("<span>").addClass(d.icons.down))))), z("s") && (z("m") && (b.append(a("<td>").addClass("separator")), c.append(a("<td>").addClass("separator").html(":")), e.append(a("<td>").addClass("separator"))), b.append(a("<td>").append(a("<a>").attr({ 4867 href: "#", 4868 tabindex: "-1", 4869 title: d.tooltips.incrementSecond 4870 }).addClass("btn").attr("data-action", "incrementSeconds").append(a("<span>").addClass(d.icons.up)))), c.append(a("<td>").append(a("<span>").addClass("timepicker-second").attr({ 4871 "data-time-component": "seconds", 4872 title: d.tooltips.pickSecond 4873 }).attr("data-action", "showSeconds"))), e.append(a("<td>").append(a("<a>").attr({ 4874 href: "#", 4875 tabindex: "-1", 4876 title: d.tooltips.decrementSecond 4877 }).addClass("btn").attr("data-action", "decrementSeconds").append(a("<span>").addClass(d.icons.down))))), h || (b.append(a("<td>").addClass("separator")), c.append(a("<td>").append(a("<button>").addClass("btn btn-primary").attr({ 4878 "data-action": "togglePeriod", 4879 tabindex: "-1", 4880 title: d.tooltips.togglePeriod 4881 }))), e.append(a("<td>").addClass("separator"))), a("<div>").addClass("timepicker-picker").append(a("<table>").addClass("table-condensed").append([b, c, e])) 4882 }, E = function () { 4883 var b = a("<div>").addClass("timepicker-hours").append(a("<table>").addClass("table-condensed")), 4884 c = a("<div>").addClass("timepicker-minutes").append(a("<table>").addClass("table-condensed")), 4885 d = a("<div>").addClass("timepicker-seconds").append(a("<table>").addClass("table-condensed")), 4886 e = [D()]; 4887 return z("h") && e.push(b), z("m") && e.push(c), z("s") && e.push(d), e 4888 }, F = function () { 4889 var b = []; 4890 return d.showTodayButton && b.push(a("<td>").append(a("<a>").attr({ 4891 "data-action": "today", 4892 title: d.tooltips.today 4893 }).append(a("<span>").addClass(d.icons.today)))), !d.sideBySide && B() && A() && b.push(a("<td>").append(a("<a>").attr({ 4894 "data-action": "togglePicker", 4895 title: d.tooltips.selectTime 4896 }).append(a("<span>").addClass(d.icons.time)))), d.showClear && b.push(a("<td>").append(a("<a>").attr({ 4897 "data-action": "clear", 4898 title: d.tooltips.clear 4899 }).append(a("<span>").addClass(d.icons.clear)))), d.showClose && b.push(a("<td>").append(a("<a>").attr({ 4900 "data-action": "close", 4901 title: d.tooltips.close 4902 }).append(a("<span>").addClass(d.icons.close)))), a("<table>").addClass("table-condensed").append(a("<tbody>").append(a("<tr>").append(b))) 4903 }, G = function () { 4904 var b = a("<div>").addClass("bootstrap-datetimepicker-widget dropdown-menu"), 4905 c = a("<div>").addClass("datepicker").append(C()), e = a("<div>").addClass("timepicker").append(E()), 4906 f = a("<ul>").addClass("list-unstyled"), 4907 g = a("<li>").addClass("picker-switch" + (d.collapse ? " accordion-toggle" : "")).append(F()); 4908 return d.inline && b.removeClass("dropdown-menu"), h && b.addClass("usetwentyfour"), z("s") && !h && b.addClass("wider"), d.sideBySide && B() && A() ? (b.addClass("timepicker-sbs"), "top" === d.toolbarPlacement && b.append(g), b.append(a("<div>").addClass("row").append(c.addClass("col-md-6")).append(e.addClass("col-md-6"))), "bottom" === d.toolbarPlacement && b.append(g), b) : ("top" === d.toolbarPlacement && f.append(g), B() && f.append(a("<li>").addClass(d.collapse && A() ? "collapse in" : "").append(c)), "default" === d.toolbarPlacement && f.append(g), A() && f.append(a("<li>").addClass(d.collapse && B() ? "collapse" : "").append(e)), "bottom" === d.toolbarPlacement && f.append(g), b.append(f)) 4909 }, H = function () { 4910 var b, e = {}; 4911 return b = c.is("input") || d.inline ? c.data() : c.find("input").data(), b.dateOptions && b.dateOptions instanceof Object && (e = a.extend(!0, e, b.dateOptions)), a.each(d, function (a) { 4912 var c = "date" + a.charAt(0).toUpperCase() + a.slice(1); 4913 void 0 !== b[c] && (e[a] = b[c]) 4914 }), e 4915 }, I = function () { 4916 var b, e = (n || c).position(), f = (n || c).offset(), g = d.widgetPositioning.vertical, 4917 h = d.widgetPositioning.horizontal; 4918 if (d.widgetParent) b = d.widgetParent.append(o); else if (c.is("input")) b = c.after(o).parent(); else { 4919 if (d.inline) return void (b = c.append(o)); 4920 b = c, c.children().first().after(o) 4921 } 4922 if ("auto" === g && (g = f.top + 1.5 * o.height() >= a(window).height() + a(window).scrollTop() && o.height() + c.outerHeight() < f.top ? "top" : "bottom"), "auto" === h && (h = b.width() < f.left + o.outerWidth() / 2 && f.left + o.outerWidth() > a(window).width() ? "right" : "left"), "top" === g ? o.addClass("top").removeClass("bottom") : o.addClass("bottom").removeClass("top"), "right" === h ? o.addClass("pull-right") : o.removeClass("pull-right"), "static" === b.css("position") && (b = b.parents().filter(function () { 4923 return "static" !== a(this).css("position") 4924 }).first()), 0 === b.length) throw new Error("datetimepicker component should be placed within a non-static positioned container"); 4925 o.css({ 4926 top: "top" === g ? "auto" : e.top + c.outerHeight(), 4927 bottom: "top" === g ? b.outerHeight() - (b === c ? 0 : e.top) : "auto", 4928 left: "left" === h ? b === c ? 0 : e.left : "auto", 4929 right: "left" === h ? "auto" : b.outerWidth() - c.outerWidth() - (b === c ? 0 : e.left) 4930 }) 4931 }, J = function (a) { 4932 "dp.change" === a.type && (a.date && a.date.isSame(a.oldDate) || !a.date && !a.oldDate) || c.trigger(a) 4933 }, K = function (a) { 4934 "y" === a && (a = "YYYY"), J({type: "dp.update", change: a, viewDate: f.clone()}) 4935 }, L = function (a) { 4936 o && (a && (k = Math.max(p, Math.min(3, k + a))), o.find(".datepicker > div").hide().filter(".datepicker-" + q[k].clsName).show()) 4937 }, M = function () { 4938 var b = a("<tr>"), c = f.clone().startOf("w").startOf("d"); 4939 for (d.calendarWeeks === !0 && b.append(a("<th>").addClass("cw").text("#")); c.isBefore(f.clone().endOf("w"));) b.append(a("<th>").addClass("dow").text(c.format("dd"))), c.add(1, "d"); 4940 o.find(".datepicker-days thead").append(b) 4941 }, N = function (a) { 4942 return d.disabledDates[a.format("YYYY-MM-DD")] === !0 4943 }, O = function (a) { 4944 return d.enabledDates[a.format("YYYY-MM-DD")] === !0 4945 }, P = function (a) { 4946 return d.disabledHours[a.format("H")] === !0 4947 }, Q = function (a) { 4948 return d.enabledHours[a.format("H")] === !0 4949 }, R = function (b, c) { 4950 if (!b.isValid()) return !1; 4951 if (d.disabledDates && "d" === c && N(b)) return !1; 4952 if (d.enabledDates && "d" === c && !O(b)) return !1; 4953 if (d.minDate && b.isBefore(d.minDate, c)) return !1; 4954 if (d.maxDate && b.isAfter(d.maxDate, c)) return !1; 4955 if (d.daysOfWeekDisabled && "d" === c && d.daysOfWeekDisabled.indexOf(b.day()) !== -1) return !1; 4956 if (d.disabledHours && ("h" === c || "m" === c || "s" === c) && P(b)) return !1; 4957 if (d.enabledHours && ("h" === c || "m" === c || "s" === c) && !Q(b)) return !1; 4958 if (d.disabledTimeIntervals && ("h" === c || "m" === c || "s" === c)) { 4959 var e = !1; 4960 if (a.each(d.disabledTimeIntervals, function () { 4961 if (b.isBetween(this[0], this[1])) return e = !0, !1 4962 }), e) return !1 4963 } 4964 return !0 4965 }, S = function () { 4966 for (var b = [], c = f.clone().startOf("y").startOf("d"); c.isSame(f, "y");) b.push(a("<span>").attr("data-action", "selectMonth").addClass("month").text(c.format("MMM"))), c.add(1, "M"); 4967 o.find(".datepicker-months td").empty().append(b) 4968 }, T = function () { 4969 var b = o.find(".datepicker-months"), c = b.find("th"), g = b.find("tbody").find("span"); 4970 c.eq(0).find("span").attr("title", d.tooltips.prevYear), c.eq(1).attr("title", d.tooltips.selectYear), c.eq(2).find("span").attr("title", d.tooltips.nextYear), b.find(".disabled").removeClass("disabled"), R(f.clone().subtract(1, "y"), "y") || c.eq(0).addClass("disabled"), c.eq(1).text(f.year()), R(f.clone().add(1, "y"), "y") || c.eq(2).addClass("disabled"), g.removeClass("active"), e.isSame(f, "y") && !m && g.eq(e.month()).addClass("active"), g.each(function (b) { 4971 R(f.clone().month(b), "M") || a(this).addClass("disabled") 4972 }) 4973 }, U = function () { 4974 var a = o.find(".datepicker-years"), b = a.find("th"), c = f.clone().subtract(5, "y"), 4975 g = f.clone().add(6, "y"), h = ""; 4976 for (b.eq(0).find("span").attr("title", d.tooltips.prevDecade), b.eq(1).attr("title", d.tooltips.selectDecade), b.eq(2).find("span").attr("title", d.tooltips.nextDecade), a.find(".disabled").removeClass("disabled"), d.minDate && d.minDate.isAfter(c, "y") && b.eq(0).addClass("disabled"), b.eq(1).text(c.year() + "-" + g.year()), d.maxDate && d.maxDate.isBefore(g, "y") && b.eq(2).addClass("disabled"); !c.isAfter(g, "y");) h += '<span data-action="selectYear" class="year' + (c.isSame(e, "y") && !m ? " active" : "") + (R(c, "y") ? "" : " disabled") + '">' + c.year() + "</span>", c.add(1, "y"); 4977 a.find("td").html(h) 4978 }, V = function () { 4979 var a, c = o.find(".datepicker-decades"), g = c.find("th"), h = b({y: f.year() - f.year() % 100 - 1}), 4980 i = h.clone().add(100, "y"), j = h.clone(), k = !1, l = !1, m = ""; 4981 for (g.eq(0).find("span").attr("title", d.tooltips.prevCentury), g.eq(2).find("span").attr("title", d.tooltips.nextCentury), c.find(".disabled").removeClass("disabled"), (h.isSame(b({y: 1900})) || d.minDate && d.minDate.isAfter(h, "y")) && g.eq(0).addClass("disabled"), g.eq(1).text(h.year() + "-" + i.year()), (h.isSame(b({y: 2e3})) || d.maxDate && d.maxDate.isBefore(i, "y")) && g.eq(2).addClass("disabled"); !h.isAfter(i, "y");) a = h.year() + 12, k = d.minDate && d.minDate.isAfter(h, "y") && d.minDate.year() <= a, l = d.maxDate && d.maxDate.isAfter(h, "y") && d.maxDate.year() <= a, m += '<span data-action="selectDecade" class="decade' + (e.isAfter(h) && e.year() <= a ? " active" : "") + (R(h, "y") || k || l ? "" : " disabled") + '" data-selection="' + (h.year() + 6) + '">' + (h.year() + 1) + " - " + (h.year() + 12) + "</span>", h.add(12, "y"); 4982 m += "<span></span><span></span><span></span>", c.find("td").html(m), g.eq(1).text(j.year() + 1 + "-" + h.year()) 4983 }, W = function () { 4984 var b, c, g, h = o.find(".datepicker-days"), i = h.find("th"), j = [], k = []; 4985 if (B()) { 4986 for (i.eq(0).find("span").attr("title", d.tooltips.prevMonth), i.eq(1).attr("title", d.tooltips.selectMonth), i.eq(2).find("span").attr("title", d.tooltips.nextMonth), h.find(".disabled").removeClass("disabled"), i.eq(1).text(f.format(d.dayViewHeaderFormat)), R(f.clone().subtract(1, "M"), "M") || i.eq(0).addClass("disabled"), R(f.clone().add(1, "M"), "M") || i.eq(2).addClass("disabled"), b = f.clone().startOf("M").startOf("w").startOf("d"), g = 0; g < 42; g++) 0 === b.weekday() && (c = a("<tr>"), d.calendarWeeks && c.append('<td class="cw">' + b.week() + "</td>"), j.push(c)), k = ["day"], b.isBefore(f, "M") && k.push("old"), b.isAfter(f, "M") && k.push("new"), b.isSame(e, "d") && !m && k.push("active"), R(b, "d") || k.push("disabled"), b.isSame(y(), "d") && k.push("today"), 0 !== b.day() && 6 !== b.day() || k.push("weekend"), J({ 4987 type: "dp.classify", 4988 date: b, 4989 classNames: k 4990 }), c.append('<td data-action="selectDay" data-day="' + b.format("L") + '" class="' + k.join(" ") + '">' + b.date() + "</td>"), b.add(1, "d"); 4991 h.find("tbody").empty().append(j), T(), U(), V() 4992 } 4993 }, X = function () { 4994 var b = o.find(".timepicker-hours table"), c = f.clone().startOf("d"), d = [], e = a("<tr>"); 4995 for (f.hour() > 11 && !h && c.hour(12); c.isSame(f, "d") && (h || f.hour() < 12 && c.hour() < 12 || f.hour() > 11);) c.hour() % 4 === 0 && (e = a("<tr>"), d.push(e)), e.append('<td data-action="selectHour" class="hour' + (R(c, "h") ? "" : " disabled") + '">' + c.format(h ? "HH" : "hh") + "</td>"), c.add(1, "h"); 4996 b.empty().append(d) 4997 }, Y = function () { 4998 for (var b = o.find(".timepicker-minutes table"), c = f.clone().startOf("h"), e = [], g = a("<tr>"), h = 1 === d.stepping ? 5 : d.stepping; f.isSame(c, "h");) c.minute() % (4 * h) === 0 && (g = a("<tr>"), e.push(g)), g.append('<td data-action="selectMinute" class="minute' + (R(c, "m") ? "" : " disabled") + '">' + c.format("mm") + "</td>"), c.add(h, "m"); 4999 b.empty().append(e) 5000 }, Z = function () { 5001 for (var b = o.find(".timepicker-seconds table"), c = f.clone().startOf("m"), d = [], e = a("<tr>"); f.isSame(c, "m");) c.second() % 20 === 0 && (e = a("<tr>"), d.push(e)), e.append('<td data-action="selectSecond" class="second' + (R(c, "s") ? "" : " disabled") + '">' + c.format("ss") + "</td>"), c.add(5, "s"); 5002 b.empty().append(d) 5003 }, $ = function () { 5004 var a, b, c = o.find(".timepicker span[data-time-component]"); 5005 h || (a = o.find(".timepicker [data-action=togglePeriod]"), b = e.clone().add(e.hours() >= 12 ? -12 : 12, "h"), a.text(e.format("A")), R(b, "h") ? a.removeClass("disabled") : a.addClass("disabled")), c.filter("[data-time-component=hours]").text(e.format(h ? "HH" : "hh")), c.filter("[data-time-component=minutes]").text(e.format("mm")), c.filter("[data-time-component=seconds]").text(e.format("ss")), X(), Y(), Z() 5006 }, _ = function () { 5007 o && (W(), $()) 5008 }, aa = function (a) { 5009 var b = m ? null : e; 5010 if (!a) return m = !0, g.val(""), c.data("date", ""), J({ 5011 type: "dp.change", 5012 date: !1, 5013 oldDate: b 5014 }), void _(); 5015 if (a = a.clone().locale(d.locale), x() && a.tz(d.timeZone), 1 !== d.stepping) for (a.minutes(Math.round(a.minutes() / d.stepping) * d.stepping).seconds(0); d.minDate && a.isBefore(d.minDate);) a.add(d.stepping, "minutes"); 5016 R(a) ? (e = a, f = e.clone(), g.val(e.format(i)), c.data("date", e.format(i)), m = !1, _(), J({ 5017 type: "dp.change", 5018 date: e.clone(), 5019 oldDate: b 5020 })) : (d.keepInvalid ? J({ 5021 type: "dp.change", 5022 date: a, 5023 oldDate: b 5024 }) : g.val(m ? "" : e.format(i)), J({type: "dp.error", date: a, oldDate: b})) 5025 }, ba = function () { 5026 var b = !1; 5027 return o ? (o.find(".collapse").each(function () { 5028 var c = a(this).data("collapse"); 5029 return !c || !c.transitioning || (b = !0, !1) 5030 }), b ? l : (n && n.hasClass("btn") && n.toggleClass("active"), o.hide(), a(window).off("resize", I), o.off("click", "[data-action]"), o.off("mousedown", !1), o.remove(), o = !1, J({ 5031 type: "dp.hide", 5032 date: e.clone() 5033 }), g.blur(), f = e.clone(), l)) : l 5034 }, ca = function () { 5035 aa(null) 5036 }, da = function (a) { 5037 return void 0 === d.parseInputDate ? (!b.isMoment(a) || a instanceof Date) && (a = y(a)) : a = d.parseInputDate(a), a 5038 }, ea = { 5039 next: function () { 5040 var a = q[k].navFnc; 5041 f.add(q[k].navStep, a), W(), K(a) 5042 }, previous: function () { 5043 var a = q[k].navFnc; 5044 f.subtract(q[k].navStep, a), W(), K(a) 5045 }, pickerSwitch: function () { 5046 L(1) 5047 }, selectMonth: function (b) { 5048 var c = a(b.target).closest("tbody").find("span").index(a(b.target)); 5049 f.month(c), k === p ? (aa(e.clone().year(f.year()).month(f.month())), d.inline || ba()) : (L(-1), W()), K("M") 5050 }, selectYear: function (b) { 5051 var c = parseInt(a(b.target).text(), 10) || 0; 5052 f.year(c), k === p ? (aa(e.clone().year(f.year())), d.inline || ba()) : (L(-1), W()), K("YYYY") 5053 }, selectDecade: function (b) { 5054 var c = parseInt(a(b.target).data("selection"), 10) || 0; 5055 f.year(c), k === p ? (aa(e.clone().year(f.year())), d.inline || ba()) : (L(-1), W()), K("YYYY") 5056 }, selectDay: function (b) { 5057 var c = f.clone(); 5058 a(b.target).is(".old") && c.subtract(1, "M"), a(b.target).is(".new") && c.add(1, "M"), aa(c.date(parseInt(a(b.target).text(), 10))), A() || d.keepOpen || d.inline || ba() 5059 }, incrementHours: function () { 5060 var a = e.clone().add(1, "h"); 5061 R(a, "h") && aa(a) 5062 }, incrementMinutes: function () { 5063 var a = e.clone().add(d.stepping, "m"); 5064 R(a, "m") && aa(a) 5065 }, incrementSeconds: function () { 5066 var a = e.clone().add(1, "s"); 5067 R(a, "s") && aa(a) 5068 }, decrementHours: function () { 5069 var a = e.clone().subtract(1, "h"); 5070 R(a, "h") && aa(a) 5071 }, decrementMinutes: function () { 5072 var a = e.clone().subtract(d.stepping, "m"); 5073 R(a, "m") && aa(a) 5074 }, decrementSeconds: function () { 5075 var a = e.clone().subtract(1, "s"); 5076 R(a, "s") && aa(a) 5077 }, togglePeriod: function () { 5078 aa(e.clone().add(e.hours() >= 12 ? -12 : 12, "h")) 5079 }, togglePicker: function (b) { 5080 var c, e = a(b.target), f = e.closest("ul"), g = f.find(".in"), h = f.find(".collapse:not(.in)"); 5081 if (g && g.length) { 5082 if (c = g.data("collapse"), c && c.transitioning) return; 5083 g.collapse ? (g.collapse("hide"), h.collapse("show")) : (g.removeClass("in"), h.addClass("in")), e.is("span") ? e.toggleClass(d.icons.time + " " + d.icons.date) : e.find("span").toggleClass(d.icons.time + " " + d.icons.date) 5084 } 5085 }, showPicker: function () { 5086 o.find(".timepicker > div:not(.timepicker-picker)").hide(), o.find(".timepicker .timepicker-picker").show() 5087 }, showHours: function () { 5088 o.find(".timepicker .timepicker-picker").hide(), o.find(".timepicker .timepicker-hours").show() 5089 }, showMinutes: function () { 5090 o.find(".timepicker .timepicker-picker").hide(), o.find(".timepicker .timepicker-minutes").show() 5091 }, showSeconds: function () { 5092 o.find(".timepicker .timepicker-picker").hide(), o.find(".timepicker .timepicker-seconds").show() 5093 }, selectHour: function (b) { 5094 var c = parseInt(a(b.target).text(), 10); 5095 h || (e.hours() >= 12 ? 12 !== c && (c += 12) : 12 === c && (c = 0)), aa(e.clone().hours(c)), ea.showPicker.call(l) 5096 }, selectMinute: function (b) { 5097 aa(e.clone().minutes(parseInt(a(b.target).text(), 10))), ea.showPicker.call(l) 5098 }, selectSecond: function (b) { 5099 aa(e.clone().seconds(parseInt(a(b.target).text(), 10))), ea.showPicker.call(l) 5100 }, clear: ca, today: function () { 5101 var a = y(); 5102 R(a, "d") && aa(a) 5103 }, close: ba 5104 }, fa = function (b) { 5105 return !a(b.currentTarget).is(".disabled") && (ea[a(b.currentTarget).data("action")].apply(l, arguments), !1) 5106 }, ga = function () { 5107 var b, c = { 5108 year: function (a) { 5109 return a.month(0).date(1).hours(0).seconds(0).minutes(0) 5110 }, month: function (a) { 5111 return a.date(1).hours(0).seconds(0).minutes(0) 5112 }, day: function (a) { 5113 return a.hours(0).seconds(0).minutes(0) 5114 }, hour: function (a) { 5115 return a.seconds(0).minutes(0) 5116 }, minute: function (a) { 5117 return a.seconds(0) 5118 } 5119 }; 5120 return g.prop("disabled") || !d.ignoreReadonly && g.prop("readonly") || o ? l : (void 0 !== g.val() && 0 !== g.val().trim().length ? aa(da(g.val().trim())) : m && d.useCurrent && (d.inline || g.is("input") && 0 === g.val().trim().length) && (b = y(), "string" == typeof d.useCurrent && (b = c[d.useCurrent](b)), aa(b)), o = G(), M(), S(), o.find(".timepicker-hours").hide(), o.find(".timepicker-minutes").hide(), o.find(".timepicker-seconds").hide(), _(), L(), a(window).on("resize", I), o.on("click", "[data-action]", fa), o.on("mousedown", !1), n && n.hasClass("btn") && n.toggleClass("active"), I(), o.show(), d.focusOnShow && !g.is(":focus") && g.focu
5120s(), J({type: "dp.show"}), l) 5121 }, ha = function () { 5122 return o ? ba() : ga() 5123 }, ia = function (a) { 5124 var b, c, e, f, g = null, h = [], i = {}, j = a.which, k = "p"; 5125 w[j] = k; 5126 for (b in w) w.hasOwnProperty(b) && w[b] === k && (h.push(b), parseInt(b, 10) !== j && (i[b] = !0)); 5127 for (b in d.keyBinds) if (d.keyBinds.hasOwnProperty(b) && "function" == typeof d.keyBinds[b] && (e = b.split(" "), e.length === h.length && v[j] === e[e.length - 1])) { 5128 for (f = !0, c = e.length - 2; c >= 0; c--) if (!(v[e[c]] in i)) { 5129 f = !1; 5130 break 5131 } 5132 if (f) { 5133 g = d.keyBinds[b]; 5134 break 5135 } 5136 } 5137 g && (g.call(l, o), a.stopPropagation(), a.preventDefault()) 5138 }, ja = function (a) { 5139 w[a.which] = "r", a.stopPropagation(), a.preventDefault() 5140 }, ka = function (b) { 5141 var c = a(b.target).val().trim(), d = c ? da(c) : null; 5142 return aa(d), b.stopImmediatePropagation(), !1 5143 }, la = function () { 5144 g.on({ 5145 change: ka, 5146 blur: d.debug ? "" : ba, 5147 keydown: ia, 5148 keyup: ja, 5149 focus: d.allowInputToggle ? ga : "" 5150 }
vendor: 25,084 bytes, lines 5150-5560
5150), c.is("input") ? g.on({focus: ga}) : n && (n.on("click", ha), n.on("mousedown", !1)) 5151 }, ma = function () { 5152 g.off({ 5153 change: ka, 5154 blur: blur, 5155 keydown: ia, 5156 keyup: ja, 5157 focus: d.allowInputToggle ? ba : "" 5158 }), c.is("input") ? g.off({focus: ga}) : n && (n.off("click", ha), n.off("mousedown", !1)) 5159 }, na = function (b) { 5160 var c = {}; 5161 return a.each(b, function () { 5162 var a = da(this); 5163 a.isValid() && (c[a.format("YYYY-MM-DD")] = !0) 5164 }), !!Object.keys(c).length && c 5165 }, oa = function (b) { 5166 var c = {}; 5167 return a.each(b, function () { 5168 c[this] = !0 5169 }), !!Object.keys(c).length && c 5170 }, pa = function () { 5171 var a = d.format || "L LT"; 5172 i = a.replace(/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, function (a) { 5173 var b = e.localeData().longDateFormat(a) || a; 5174 return b.replace(/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, function (a) { 5175 return e.localeData().longDateFormat(a) || a 5176 }) 5177 }), j = d.extraFormats ? d.extraFormats.slice() : [], j.indexOf(a) < 0 && j.indexOf(i) < 0 && j.push(i), h = i.toLowerCase().indexOf("a") < 1 && i.replace(/\[.*?\]/g, "").indexOf("h") < 1, z("y") && (p = 2), z("M") && (p = 1), z("d") && (p = 0), k = Math.max(p, k), m || aa(e) 5178 }; 5179 if (l.destroy = function () { 5180 ba(), ma(), c.removeData("DateTimePicker"), c.removeData("date") 5181 }, l.toggle = ha, l.show = ga, l.hide = ba, l.disable = function () { 5182 return ba(), n && n.hasClass("btn") && n.addClass("disabled"), g.prop("disabled", !0), l 5183 }, l.enable = function () { 5184 return n && n.hasClass("btn") && n.removeClass("disabled"), g.prop("disabled", !1), l 5185 }, l.ignoreReadonly = function (a) { 5186 if (0 === arguments.length) return d.ignoreReadonly; 5187 if ("boolean" != typeof a) throw new TypeError("ignoreReadonly () expects a boolean parameter"); 5188 return d.ignoreReadonly = a, l 5189 }, l.options = function (b) { 5190 if (0 === arguments.length) return a.extend(!0, {}, d); 5191 if (!(b instanceof Object)) throw new TypeError("options() options parameter should be an object"); 5192 return a.extend(!0, d, b), a.each(d, function (a, b) { 5193 if (void 0 === l[a]) throw new TypeError("option " + a + " is not recognized!"); 5194 l[a](b) 5195 }), l 5196 }, l.date = function (a) { 5197 if (0 === arguments.length) return m ? null : e.clone(); 5198 if (!(null === a || "string" == typeof a || b.isMoment(a) || a instanceof Date)) throw new TypeError("date() parameter must be one of [null, string, moment or Date]"); 5199 return aa(null === a ? null : da(a)), l 5200 }, l.format = function (a) { 5201 if (0 === arguments.length) return d.format; 5202 if ("string" != typeof a && ("boolean" != typeof a || a !== !1)) throw new TypeError("format() expects a string or boolean:false parameter " + a); 5203 return d.format = a, i && pa(), l 5204 }, l.timeZone = function (a) { 5205 if (0 === arguments.length) return d.timeZone; 5206 if ("string" != typeof a) throw new TypeError("newZone() expects a string parameter"); 5207 return d.timeZone = a, l 5208 }, l.dayViewHeaderFormat = function (a) { 5209 if (0 === arguments.length) return d.dayViewHeaderFormat; 5210 if ("string" != typeof a) throw new TypeError("dayViewHeaderFormat() expects a string parameter"); 5211 return d.dayViewHeaderFormat = a, l 5212 }, l.extraFormats = function (a) { 5213 if (0 === arguments.length) return d.extraFormats; 5214 if (a !== !1 && !(a instanceof Array)) throw new TypeError("extraFormats() expects an array or false parameter"); 5215 return d.extraFormats = a, j && pa(), l 5216 }, l.disabledDates = function (b) { 5217 if (0 === arguments.length) return d.disabledDates ? a.extend({}, d.disabledDates) : d.disabledDates; 5218 if (!b) return d.disabledDates = !1, _(), l; 5219 if (!(b instanceof Array)) throw new TypeError("disabledDates() expects an array parameter"); 5220 return d.disabledDates = na(b), d.enabledDates = !1, _(), l 5221 }, l.enabledDates = function (b) { 5222 if (0 === arguments.length) return d.enabledDates ? a.extend({}, d.enabledDates) : d.enabledDates; 5223 if (!b) return d.enabledDates = !1, _(), l; 5224 if (!(b instanceof Array)) throw new TypeError("enabledDates() expects an array parameter"); 5225 return d.enabledDates = na(b), d.disabledDates = !1, _(), l 5226 }, l.daysOfWeekDisabled = function (a) { 5227 if (0 === arguments.length) return d.daysOfWeekDisabled.splice(0); 5228 if ("boolean" == typeof a && !a) return d.daysOfWeekDisabled = !1, _(), l; 5229 if (!(a instanceof Array)) throw new TypeError("daysOfWeekDisabled() expects an array parameter"); 5230 if (d.daysOfWeekDisabled = a.reduce(function (a, b) { 5231 return b = parseInt(b, 10), b > 6 || b < 0 || isNaN(b) ? a : (a.indexOf(b) === -1 && a.push(b), a) 5232 }, []).sort(), d.useCurrent && !d.keepInvalid) { 5233 for (var b = 0; !R(e, "d");) { 5234 if (e.add(1, "d"), 31 === b) throw"Tried 31 times to find a valid date"; 5235 b++ 5236 } 5237 aa(e) 5238 } 5239 return _(), l 5240 }, l.maxDate = function (a) { 5241 if (0 === arguments.length) return d.maxDate ? d.maxDate.clone() : d.maxDate; 5242 if ("boolean" == typeof a && a === !1) return d.maxDate = !1, _(), l; 5243 "string" == typeof a && ("now" !== a && "moment" !== a || (a = y())); 5244 var b = da(a); 5245 if (!b.isValid()) throw new TypeError("maxDate() Could not parse date parameter: " + a); 5246 if (d.minDate && b.isBefore(d.minDate)) throw new TypeError("maxDate() date parameter is before options.minDate: " + b.format(i)); 5247 return d.maxDate = b, d.useCurrent && !d.keepInvalid && e.isAfter(a) && aa(d.maxDate), f.isAfter(b) && (f = b.clone().subtract(d.stepping, "m")), _(), l 5248 }, l.minDate = function (a) { 5249 if (0 === arguments.length) return d.minDate ? d.minDate.clone() : d.minDate; 5250 if ("boolean" == typeof a && a === !1) return d.minDate = !1, _(), l; 5251 "string" == typeof a && ("now" !== a && "moment" !== a || (a = y())); 5252 var b = da(a); 5253 if (!b.isValid()) throw new TypeError("minDate() Could not parse date parameter: " + a); 5254 if (d.maxDate && b.isAfter(d.maxDate)) throw new TypeError("minDate() date parameter is after options.maxDate: " + b.format(i)); 5255 return d.minDate = b, d.useCurrent && !d.keepInvalid && e.isBefore(a) && aa(d.minDate), f.isBefore(b) && (f = b.clone().add(d.stepping, "m")), _(), l 5256 }, l.defaultDate = function (a) { 5257 if (0 === arguments.length) return d.defaultDate ? d.defaultDate.clone() : d.defaultDate; 5258 if (!a) return d.defaultDate = !1, l; 5259 "string" == typeof a && (a = "now" === a || "moment" === a ? y() : y(a)); 5260 var b = da(a); 5261 if (!b.isValid()) throw new TypeError("defaultDate() Could not parse date parameter: " + a); 5262 if (!R(b)) throw new TypeError("defaultDate() date passed is invalid according to component setup validations"); 5263 return d.defaultDate = b, (d.defaultDate && d.inline || "" === g.val().trim()) && aa(d.defaultDate), l 5264 }, l.locale = function (a) { 5265 if (0 === arguments.length) return d.locale; 5266 if (!b.localeData(a)) throw new TypeError("locale() locale " + a + " is not loaded from moment locales!"); 5267 return d.locale = a, e.locale(d.locale), f.locale(d.locale), i && pa(), o && (ba(), ga()), l 5268 }, l.stepping = function (a) { 5269 return 0 === arguments.length ? d.stepping : (a = parseInt(a, 10), (isNaN(a) || a < 1) && (a = 1), d.stepping = a, l) 5270 }, l.useCurrent = function (a) { 5271 var b = ["year", "month", "day", "hour", "minute"]; 5272 if (0 === arguments.length) return d.useCurrent; 5273 if ("boolean" != typeof a && "string" != typeof a) throw new TypeError("useCurrent() expects a boolean or string parameter"); 5274 if ("string" == typeof a && b.indexOf(a.toLowerCase()) === -1) throw new TypeError("useCurrent() expects a string parameter of " + b.join(", ")); 5275 return d.useCurrent = a, l 5276 }, l.collapse = function (a) { 5277 if (0 === arguments.length) return d.collapse; 5278 if ("boolean" != typeof a) throw new TypeError("collapse() expects a boolean parameter"); 5279 return d.collapse === a ? l : (d.collapse = a, o && (ba(), ga()), l) 5280 }, l.icons = function (b) { 5281 if (0 === arguments.length) return a.extend({}, d.icons); 5282 if (!(b instanceof Object)) throw new TypeError("icons() expects parameter to be an Object"); 5283 return a.extend(d.icons, b), o && (ba(), ga()), l 5284 }, l.tooltips = function (b) { 5285 if (0 === arguments.length) return a.extend({}, d.tooltips); 5286 if (!(b instanceof Object)) throw new TypeError("tooltips() expects parameter to be an Object"); 5287 return a.extend(d.tooltips, b), o && (ba(), ga()), l 5288 }, l.useStrict = function (a) { 5289 if (0 === arguments.length) return d.useStrict; 5290 if ("boolean" != typeof a) throw new TypeError("useStrict() expects a boolean parameter"); 5291 return d.useStrict = a, l 5292 }, l.sideBySide = function (a) { 5293 if (0 === arguments.length) return d.sideBySide; 5294 if ("boolean" != typeof a) throw new TypeError("sideBySide() expects a boolean parameter"); 5295 return d.sideBySide = a, o && (ba(), ga()), l 5296 }, l.viewMode = function (a) { 5297 if (0 === arguments.length) return d.viewMode; 5298 if ("string" != typeof a) throw new TypeError("viewMode() expects a string parameter"); 5299 if (r.indexOf(a) === -1) throw new TypeError("viewMode() parameter must be one of (" + r.join(", ") + ") value"); 5300 return d.viewMode = a, k = Math.max(r.indexOf(a), p), L(), l 5301 }, l.toolbarPlacement = function (a) { 5302 if (0 === arguments.length) return d.toolbarPlacement; 5303 if ("string" != typeof a) throw new TypeError("toolbarPlacement() expects a string parameter"); 5304 if (u.indexOf(a) === -1) throw new TypeError("toolbarPlacement() parameter must be one of (" + u.join(", ") + ") value"); 5305 return d.toolbarPlacement = a, o && (ba(), ga()), l 5306 }, l.widgetPositioning = function (b) { 5307 if (0 === arguments.length) return a.extend({}, d.widgetPositioning); 5308 if ("[object Object]" !== {}.toString.call(b)) throw new TypeError("widgetPositioning() expects an object variable"); 5309 if (b.horizontal) { 5310 if ("string" != typeof b.horizontal) throw new TypeError("widgetPositioning() horizontal variable must be a string"); 5311 if (b.horizontal = b.horizontal.toLowerCase(), t.indexOf(b.horizontal) === -1) throw new TypeError("widgetPositioning() expects horizontal parameter to be one of (" + t.join(", ") + ")"); 5312 d.widgetPositioning.horizontal = b.horizontal 5313 } 5314 if (b.vertical) { 5315 if ("string" != typeof b.vertical) throw new TypeError("widgetPositioning() vertical variable must be a string"); 5316 if (b.vertical = b.vertical.toLowerCase(), s.indexOf(b.vertical) === -1) throw new TypeError("widgetPositioning() expects vertical parameter to be one of (" + s.join(", ") + ")"); 5317 d.widgetPositioning.vertical = b.vertical 5318 } 5319 return _(), l 5320 }, l.calendarWeeks = function (a) { 5321 if (0 === arguments.length) return d.calendarWeeks; 5322 if ("boolean" != typeof a) throw new TypeError("calendarWeeks() expects parameter to be a boolean value"); 5323 return d.calendarWeeks = a, _(), l 5324 }, l.showTodayButton = function (a) { 5325 if (0 === arguments.length) return d.showTodayButton; 5326 if ("boolean" != typeof a) throw new TypeError("showTodayButton() expects a boolean parameter"); 5327 return d.showTodayButton = a, o && (ba(), ga()), l 5328 }, l.showClear = function (a) { 5329 if (0 === arguments.length) return d.showClear; 5330 if ("boolean" != typeof a) throw new TypeError("showClear() expects a boolean parameter"); 5331 return d.showClear = a, o && (ba(), ga()), l 5332 }, l.widgetParent = function (b) { 5333 if (0 === arguments.length) return d.widgetParent; 5334 if ("string" == typeof b && (b = a(b)), null !== b && "string" != typeof b && !(b instanceof a)) throw new TypeError("widgetParent() expects a string or a jQuery object parameter"); 5335 return d.widgetParent = b, o && (ba(), ga()), l 5336 }, l.keepOpen = function (a) { 5337 if (0 === arguments.length) return d.keepOpen; 5338 if ("boolean" != typeof a) throw new TypeError("keepOpen() expects a boolean parameter"); 5339 return d.keepOpen = a, l 5340 }, l.focusOnShow = function (a) { 5341 if (0 === arguments.length) return d.focusOnShow; 5342 if ("boolean" != typeof a) throw new TypeError("focusOnShow() expects a boolean parameter"); 5343 return d.focusOnShow = a, l 5344 }, l.inline = function (a) { 5345 if (0 === arguments.length) return d.inline; 5346 if ("boolean" != typeof a) throw new TypeError("inline() expects a boolean parameter"); 5347 return d.inline = a, l 5348 }, l.clear = function () { 5349 return ca(), l 5350 }, l.keyBinds = function (a) { 5351 return 0 === arguments.length ? d.keyBinds : (d.keyBinds = a, l) 5352 }, l.getMoment = function (a) { 5353 return y(a) 5354 }, l.debug = function (a) { 5355 if ("boolean" != typeof a) throw new TypeError("debug() expects a boolean parameter"); 5356 return d.debug = a, l 5357 }, l.allowInputToggle = function (a) { 5358 if (0 === arguments.length) return d.allowInputToggle; 5359 if ("boolean" != typeof a) throw new TypeError("allowInputToggle() expects a boolean parameter"); 5360 return d.allowInputToggle = a, l 5361 }, l.showClose = function (a) { 5362 if (0 === arguments.length) return d.showClose; 5363 if ("boolean" != typeof a) throw new TypeError("showClose() expects a boolean parameter"); 5364 return d.showClose = a, l 5365 }, l.keepInvalid = function (a) { 5366 if (0 === arguments.length) return d.keepInvalid; 5367 if ("boolean" != typeof a) throw new TypeError("keepInvalid() expects a boolean parameter"); 5368 return d.keepInvalid = a, l 5369 }, l.datepickerInput = function (a) { 5370 if (0 === arguments.length) return d.datepickerInput; 5371 if ("string" != typeof a) throw new TypeError("datepickerInput() expects a string parameter"); 5372 return d.datepickerInput = a, l 5373 }, l.parseInputDate = function (a) { 5374 if (0 === arguments.length) return d.parseInputDate; 5375 if ("function" != typeof a) throw new TypeError("parseInputDate() sholud be as function"); 5376 return d.parseInputDate = a, l 5377 }, l.disabledTimeIntervals = function (b) { 5378 if (0 === arguments.length) return d.disabledTimeIntervals ? a.extend({}, d.disabledTimeIntervals) : d.disabledTimeIntervals; 5379 if (!b) return d.disabledTimeIntervals = !1, _(), l; 5380 if (!(b instanceof Array)) throw new TypeError("disabledTimeIntervals() expects an array parameter"); 5381 return d.disabledTimeIntervals = b, _(), l 5382 }, l.disabledHours = function (b) { 5383 if (0 === arguments.length) return d.disabledHours ? a.extend({}, d.disabledHours) : d.disabledHours; 5384 if (!b) return d.disabledHours = !1, _(), l; 5385 if (!(b instanceof Array)) throw new TypeError("disabledHours() expects an array parameter"); 5386 if (d.disabledHours = oa(b), d.enabledHours = !1, d.useCurrent && !d.keepInvalid) { 5387 for (var c = 0; !R(e, "h");) { 5388 if (e.add(1, "h"), 24 === c) throw"Tried 24 times to find a valid date"; 5389 c++ 5390 } 5391 aa(e) 5392 } 5393 return _(), l 5394 }, l.enabledHours = function (b) { 5395 if (0 === arguments.length) return d.enabledHours ? a.extend({}, d.enabledHours) : d.enabledHours; 5396 if (!b) return d.enabledHours = !1, _(), l; 5397 if (!(b instanceof Array)) throw new TypeError("enabledHours() expects an array parameter"); 5398 if (d.enabledHours = oa(b), d.disabledHours = !1, d.useCurrent && !d.keepInvalid) { 5399 for (var c = 0; !R(e, "h");) { 5400 if (e.add(1, "h"), 24 === c) throw"Tried 24 times to find a valid date"; 5401 c++ 5402 } 5403 aa(e) 5404 } 5405 return _(), l 5406 }, l.viewDate = function (a) { 5407 if (0 === arguments.length) return f.clone(); 5408 if (!a) return f = e.clone(), l; 5409 if (!("string" == typeof a || b.isMoment(a) || a instanceof Date)) throw new TypeError("viewDate() parameter must be one of [string, moment or Date]"); 5410 return f = da(a), K(), l 5411 }, c.is("input")) g = c; else if (g = c.find(d.datepickerInput), 0 === g.length) g = c.find("input"); else if (!g.is("input")) throw new Error('CSS class "' + d.datepickerInput + '" cannot be applied to non input element'); 5412 if (c.hasClass("input-group") && (n = 0 === c.find(".datepickerbutton").length ? c.find(".input-group-addon") : c.find(".datepickerbutton")), !d.inline && !g.is("input")) throw new Error("Could not initialize DateTimePicker without an input element"); 5413 return e = y(), f = e.clone(), a.extend(!0, d, H()), l.options(d), pa(), la(), g.prop("disabled") && l.disable(), g.is("input") && 0 !== g.val().trim().length ? aa(da(g.val().trim())) : d.defaultDate && void 0 === g.attr("placeholder") && aa(d.defaultDate), d.inline && ga(), l 5414 }; 5415 return a.fn.datetimepicker = function (b) { 5416 b = b || {}; 5417 var d, e = Array.prototype.slice.call(arguments, 1), f = !0, g = ["destroy", "hide", "show", "toggle"]; 5418 if ("object" == typeof b) return this.each(function () { 5419 var d, e = a(this); 5420 e.data("DateTimePicker") || (d = a.extend(!0, {}, a.fn.datetimepicker.defaults, b), e.data("DateTimePicker", c(e, d))) 5421 }); 5422 if ("string" == typeof b) return this.each(function () { 5423 var c = a(this), g = c.data("DateTimePicker"); 5424 if (!g) throw new Error('bootstrap-datetimepicker("' + b + '") method was called on an element that is not using DateTimePicker'); 5425 d = g[b].apply(g, e), f = d === g 5426 }), f || a.inArray(b, g) > -1 ? this : d; 5427 throw new TypeError("Invalid arguments for DateTimePicker: " + b) 5428 }, a.fn.datetimepicker.defaults = { 5429 timeZone: "", 5430 format: !1, 5431 dayViewHeaderFormat: "MMMM YYYY", 5432 extraFormats: !1, 5433 stepping: 1, 5434 minDate: !1, 5435 maxDate: !1, 5436 useCurrent: !0, 5437 collapse: !0, 5438 locale: b.locale(), 5439 defaultDate: !1, 5440 disabledDates: !1, 5441 enabledDates: !1, 5442 icons: { 5443 time: "fas fa-clock", 5444 date: "fas fa-calendar-alt", 5445 up: "fas fa-chevron-up", 5446 down: "fas fa-chevron-down", 5447 previous: "fas fa-chevron-left", 5448 next: "fas fa-chevron-right", 5449 today: "fas fa-crosshairs", 5450 clear: "fas fa-trash-alt", 5451 close: "fas fa-times" 5452 }, 5453 tooltips: { 5454 today: "Go to today", 5455 clear: "Clear selection", 5456 close: "Close the picker", 5457 selectMonth: "Select Month", 5458 prevMonth: "Previous Month", 5459 nextMonth: "Next Month", 5460 selectYear: "Select Year", 5461 prevYear: "Previous Year", 5462 nextYear: "Next Year", 5463 selectDecade: "Select Decade", 5464 prevDecade: "Previous Decade", 5465 nextDecade: "Next Decade", 5466 prevCentury: "Previous Century", 5467 nextCentury: "Next Century", 5468 pickHour: "Pick Hour", 5469 incrementHour: "Increment Hour", 5470 decrementHour: "Decrement Hour", 5471 pickMinute: "Pick Minute", 5472 incrementMinute: "Increment Minute", 5473 decrementMinute: "Decrement Minute", 5474 pickSecond: "Pick Second", 5475 incrementSecond: "Increment Second", 5476 decrementSecond: "Decrement Second", 5477 togglePeriod: "Toggle Period", 5478 selectTime: "Select Time" 5479 }, 5480 useStrict: !1, 5481 sideBySide: !1, 5482 daysOfWeekDisabled: !1, 5483 calendarWeeks: !1, 5484 viewMode: "days", 5485 toolbarPlacement: "default", 5486 showTodayButton: !1, 5487 showClear: !1, 5488 showClose: !1, 5489 widgetPositioning: {horizontal: "auto", vertical: "auto"}, 5490 widgetParent: null, 5491 ignoreReadonly: !1, 5492 keepOpen: !1, 5493 focusOnShow: !0, 5494 inline: !1, 5495 keepInvalid: !1, 5496 datepickerInput: ".datepickerinput", 5497 keyBinds: { 5498 up: function (a) { 5499 if (a) { 5500 var b = this.date() || this.getMoment(); 5501 a.find(".datepicker").is(":visible") ? this.date(b.clone().subtract(7, "d")) : this.date(b.clone().add(this.stepping(), "m")) 5502 } 5503 }, down: function (a) { 5504 if (!a) return void this.show(); 5505 var b = this.date() || this.getMoment(); 5506 a.find(".datepicker").is(":visible") ? this.date(b.clone().add(7, "d")) : this.date(b.clone().subtract(this.stepping(), "m")) 5507 }, "control up": function (a) { 5508 if (a) { 5509 var b = this.date() || this.getMoment(); 5510 a.find(".datepicker").is(":visible") ? this.date(b.clone().subtract(1, "y")) : this.date(b.clone().add(1, "h")) 5511 } 5512 }, "control down": function (a) { 5513 if (a) { 5514 var b = this.date() || this.getMoment(); 5515 a.find(".datepicker").is(":visible") ? this.date(b.clone().add(1, "y")) : this.date(b.clone().subtract(1, "h")) 5516 } 5517 }, left: function (a) { 5518 if (a) { 5519 var b = this.date() || this.getMoment(); 5520 a.find(".datepicker").is(":visible") && this.date(b.clone().subtract(1, "d")) 5521 } 5522 }, right: function (a) { 5523 if (a) { 5524 var b = this.date() || this.getMoment(); 5525 a.find(".datepicker").is(":visible") && this.date(b.clone().add(1, "d")) 5526 } 5527 }, pageUp: function (a) { 5528 if (a) { 5529 var b = this.date() || this.getMoment(); 5530 a.find(".datepicker").is(":visible") && this.date(b.clone().subtract(1, "M")) 5531 } 5532 }, pageDown: function (a) { 5533 if (a) { 5534 var b = this.date() || this.getMoment(); 5535 a.find(".datepicker").is(":visible") && this.date(b.clone().add(1, "M")) 5536 } 5537 }, enter: function () { 5538 this.hide() 5539 }, escape: function () { 5540 this.hide() 5541 }, "control space": function (a) { 5542 a && a.find(".timepicker").is(":visible") && a.find('.btn[data-action="togglePeriod"]').click() 5543 }, t: function () { 5544 this.date(this.getMoment()) 5545 }, delete: function () { 5546 this.clear() 5547 } 5548 }, 5549 debug: !1, 5550 allowInputToggle: !1, 5551 disabledTimeIntervals: !1, 5552 disabledHours: !1, 5553 enabledHours: !1, 5554 viewDate: !1 5555 }, a.fn.datetimepicker 5556}); 5557 5558/* 5559 Copyright (C) Federico Zivolo 2017 5560 Distributed under the MIT License (license terms are at http://opensource.org/licenses/MIT).�
vendor: 18,861 bytes, lines 5560-5561
5560 5561 */(function(e,t){'object'==typeof exports&&'undefined'!=typeof module?module.exports=t():'function'==typeof define&&define.amd?define(t):e.Popper=t()})(this,function(){'use strict';function e(e){return e&&'[object Function]'==={}.toString.call(e)}function t(e,t){if(1!==e.nodeType)return[];var o=window.getComputedStyle(e,null);return t?o[t]:o}function o(e){return'HTML'===e.nodeName?e:e.parentNode||e.host}function n(e){if(!e||-1!==['HTML','BODY','#document'].indexOf(e.nodeName))return window.document.body;var i=t(e),r=i.overflow,p=i.overflowX,s=i.overflowY;return /(auto|scroll)/.test(r+s+p)?e:n(o(e))}function r(e){var o=e&&e.offsetParent,i=o&&o.nodeName;return i&&'BODY'!==i&&'HTML'!==i?-1!==['TD','TABLE'].indexOf(o.nodeName)&&'static'===t(o,'position')?r(o):o:window.document.documentElement}function p(e){var t=e.nodeName;return'BODY'!==t&&('HTML'===t||r(e.firstElementChild)===e)}function s(e){return null===e.parentNode?e:s(e.parentNode)}function d(e,t){if(!e||!e.nodeType||!t||!t.nodeType)return window.document.documentElement;var o=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,i=o?e:t,n=o?t:e,a=document.createRange();a.setStart(i,0),a.setEnd(n,0);var f=a.commonAncestorContainer;if(e!==f&&t!==f||i.contains(n))return p(f)?f:r(f);var l=s(e);return l.host?d(l.host,t):d(e,s(t).host)}function a(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:'top',o='top'===t?'scrollTop':'scrollLeft',i=e.nodeName;if('BODY'===i||'HTML'===i){var n=window.document.documentElement,r=window.document.scrollingElement||n;return r[o]}return e[o]}function f(e,t){var o=2<arguments.length&&void 0!==arguments[2]&&arguments[2],i=a(t,'top'),n=a(t,'left'),r=o?-1:1;return e.top+=i*r,e.bottom+=i*r,e.left+=n*r,e.right+=n*r,e}function l(e,t){var o='x'===t?'Left':'Top',i='Left'==o?'Right':'Bottom';return+e['border'+o+'Width'].split('px')[0]+ +e['border'+i+'Width'].split('px')[0]}function m(e,t,o,i){return _(t['offset'+e],o['client'+e],o['offset'+e],ie()?o['offset'+e]+i['margin'+('Height'===e?'Top':'Left')]+i['margin'+('Height'===e?'Bottom':'Right')]:0)}function h(){var e=window.document.body,t=window.document.documentElement,o=ie()&&window.getComputedStyle(t);return{height:m('Height',e,t,o),width:m('Width',e,t,o)}}function c(e){return se({},e,{right:e.left+e.width,bottom:e.top+e.height})}function g(e){var o={};if(ie())try{o=e.getBoundingClientRect();var i=a(e,'top'),n=a(e,'left');o.top+=i,o.left+=n,o.bottom+=i,o.right+=n}catch(e){}else o=e.getBoundingClientRect();var r={left:o.left,top:o.top,width:o.right-o.left,height:o.bottom-o.top},p='HTML'===e.nodeName?h():{},s=p.width||e.clientWidth||r.right-r.left,d=p.height||e.clientHeight||r.bottom-r.top,f=e.offsetWidth-s,m=e.offsetHeight-d;if(f||m){var g=t(e);f-=l(g,'x'),m-=l(g,'y'),r.width-=f,r.height-=m}return c(r)}function u(e,o){var i=ie(),r='HTML'===o.nodeName,p=g(e),s=g(o),d=n(e),a=t(o),l=+a.borderTopWidth.split('px')[0],m=+a.borderLeftWidth.split('px')[0],h=c({top:p.top-s.top-l,left:p.left-s.left-m,width:p.width,height:p.height});if(h.marginTop=0,h.marginLeft=0,!i&&r){var u=+a.marginTop.split('px')[0],b=+a.marginLeft.split('px')[0];h.top-=l-u,h.bottom-=l-u,h.left-=m-b,h.right-=m-b,h.marginTop=u,h.marginLeft=b}return(i?o.contains(d):o===d&&'BODY'!==d.nodeName)&&(h=f(h,o)),h}function b(e){var t=window.document.documentElement,o=u(e,t),i=_(t.clientWidth,window.innerWidth||0),n=_(t.clientHeight,window.innerHeight||0),r=a(t),p=a(t,'left'),s={top:r-o.top+o.marginTop,left:p-o.left+o.marginLeft,width:i,height:n};return c(s)}function y(e){var i=e.nodeName;return'BODY'===i||'HTML'===i?!1:'fixed'===t(e,'position')||y(o(e))}function w(e,t,i,r){var p={top:0,left:0},s=d(e,t);if('viewport'===r)p=b(s);else{var a;'scrollParent'===r?(a=n(o(e)),'BODY'===a.nodeName&&(a=window.document.documentElement)):'window'===r?a=window.document.documentElement:a=r;var f=u(a,s);if('HTML'===a.nodeName&&!y(s)){var l=h(),m=l.height,c=l.width;p.top+=f.top-f.marginTop,p.bottom=m+f.top,p.left+=f.left-f.marginLeft,p.right=c+f.left}else p=f}return p.left+=i,p.top+=i,p.right-=i,p.bottom-=i,p}function v(e){var t=e.width,o=e.height;return t*o}function E(e,t,o,i,n){var r=5<arguments.length&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf('auto'))return e;var p=w(o,i,r,n),s={top:{width:p.width,height:t.top-p.top},right:{width:p.right-t.right,height:p.height},bottom:{width:p.width,height:p.bottom-t.bottom},left:{width:t.left-p.left,height:p.height}},d=Object.keys(s).map(function(e){return se({key:e},s[e],{area:v(s[e])})}).sort(function(e,t){return t.area-e.area}),a=d.filter(function(e){var t=e.width,i=e.height;return t>=o.clientWidth&&i>=o.clientHeight}),f=0<a.length?a[0].key:d[0].key,l=e.split('-')[1];return f+(l?'-'+l:'')}function x(e,t,o){var i=d(t,o);return u(o,i)}function O(e){var t=window.getComputedStyle(e),o=parseFloat(t.marginTop)+parseFloat(t.marginBottom),i=parseFloat(t.marginLeft)+parseFloat(t.marginRight),n={width:e.offsetWidth+i,height:e.offsetHeight+o};return n}function L(e){var t={left:'right',right:'left',bottom:'top',top:'bottom'};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function S(e,t,o){o=o.split('-')[0];var i=O(e),n={width:i.width,height:i.height},r=-1!==['right','left'].indexOf(o),p=r?'top':'left',s=r?'left':'top',d=r?'height':'width',a=r?'width':'height';return n[p]=t[p]+t[d]/2-i[d]/2,n[s]=o===s?t[s]-i[a]:t[L(s)],n}function T(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function C(e,t,o){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===o});var i=T(e,function(e){return e[t]===o});return e.indexOf(i)}function N(t,o,i){var n=void 0===i?t:t.slice(0,C(t,'name',i));return n.forEach(function(t){t.function&&console.warn('`modifier.function` is deprecated, use `modifier.fn`!');var i=t.function||t.fn;t.enabled&&e(i)&&(o.offsets.popper=c(o.offsets.popper),o.offsets.reference=c(o.offsets.reference),o=i(o,t))}),o}function k(){if(!this.state.isDestroyed){var e={instance:this,styles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=x(this.state,this.popper,this.reference),e.placement=E(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.offsets.popper=S(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position='absolute',e=N(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}function W(e,t){return e.some(function(e){var o=e.name,i=e.enabled;return i&&o===t})}function B(e){for(var t=[!1,'ms','Webkit','Moz','O'],o=e.charAt(0).toUpperCase()+e.slice(1),n=0;n<t.length-1;n++){var i=t[n],r=i?''+i+o:e;if('undefined'!=typeof window.document.body.style[r])return r}return null}function D(){return this.state.isDestroyed=!0,W(this.modifiers,'applyStyle')&&(this.popper.removeAttribute('x-placement'),this.popper.style.left='',this.popper.style.position='',this.popper.style.top='',this.popper.style[B('transform')]=''),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function H(e,t,o,i){var r='BODY'===e.nodeName,p=r?window:e;p.addEventListener(t,o,{passive:!0}),r||H(n(p.parentNode),t,o,i),i.push(p)}function P(e,t,o,i){o.updateBound=i,window.addEventListener('resize',o.updateBound,{passive:!0});var r=n(e);return H(r,'scroll',o.updateBound,o.scrollParents),o.scrollElement=r,o.eventsEnabled=!0,o}function A(){this.state.eventsEnabled||(this.state=P(this.reference,this.options,this.state,this.scheduleUpdate))}function M(e,t){return window.removeEventListener('resize',t.updateBound),t.scrollParents.forEach(function(e){e.removeEventListener('scroll',t.updateBound)}),t.updateBound=null,t.scrollParents=[],t.scrollElement=null,t.eventsEnabled=!1,t}function I(){this.state.eventsEnabled&&(window.cancelAnimationFrame(this.scheduleUpdate),this.state=M(this.reference,this.state))}function R(e){return''!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function U(e,t){Object.keys(t).forEach(function(o){var i='';-1!==['width','height','top','right','bottom','left'].indexOf(o)&&R(t[o])&&(i='px'),e.style[o]=t[o]+i})}function Y(e,t){Object.keys(t).forEach(function(o){var i=t[o];!1===i?e.removeAttribute(o):e.setAttribute(o,t[o])})}function F(e,t,o){var i=T(e,function(e){var o=e.name;return o===t}),n=!!i&&e.some(function(e){return e.name===o&&e.enabled&&e.order<i.order});if(!n){var r='`'+t+'`';console.warn('`'+o+'`'+' modifier is required by '+r+' modifier in order to work, be sure to include it before '+r+'!')}return n}function j(e){return'end'===e?'start':'start'===e?'end':e}function K(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1],o=ae.indexOf(e),i=ae.slice(o+1).concat(ae.slice(0,o));return t?i.reverse():i}function q(e,t,o,i){var n=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+n[1],p=n[2];if(!r)return e;if(0===p.indexOf('%')){var s;switch(p){case'%p':s=o;break;case'%':case'%r':default:s=i;}var d=c(s);return d[t]/100*r}if('vh'===p||'vw'===p){var a;return a='vh'===p?_(document.documentElement.clientHeight,window.innerHeight||0):_(document.documentElement.clientWidth,window.innerWidth||0),a/100*r}return r}function G(e,t,o,i){var n=[0,0],r=-1!==['right','left'].indexOf(i),p=e.split(/(\+|\-)/).map(function(e){return e.trim()}),s=p.indexOf(T(p,function(e){return-1!==e.search(/,|\s/)}));p[s]&&-1===p[s].indexOf(',')&&console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');var d=/\s*,\s*|\s+/,a=-1===s?[p]:[p.slice(0,s).concat([p[s].split(d)[0]]),[p[s].split(d)[1]].concat(p.slice(s+1))];return a=a.map(function(e,i){var n=(1===i?!r:r)?'height':'width',p=!1;return e.reduce(function(e,t){return''===e[e.length-1]&&-1!==['+','-'].indexOf(t)?(e[e.length-1]=t,p=!0,e):p?(e[e.length-1]+=t,p=!1,e):e.concat(t)},[]).map(function(e){return q(e,n,t,o)})}),a.forEach(function(e,t){e.forEach(function(o,i){R(o)&&(n[t]+=o*('-'===e[i-1]?-1:1))})}),n}for(var z=Math.min,V=Math.floor,_=Math.max,X=['native code','[object MutationObserverConstructor]'],Q=function(e){return X.some(function(t){return-1<(e||'').toString().indexOf(t)})},J='undefined'!=typeof window,Z=['Edge','Trident','Firefox'],$=0,ee=0;ee<Z.length;ee+=1)if(J&&0<=navigator.userAgent.indexOf(Z[ee])){$=1;break}var i,te=J&&Q(window.MutationObserver),oe=te?function(e){var t=!1,o=0,i=document.createElement('span'),n=new MutationObserver(function(){e(),t=!1});return n.observe(i,{attributes:!0}),function(){t||(t=!0,i.setAttribute('x-index',o),++o)}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},$))}},ie=function(){return void 0==i&&(i=-1!==navigator.appVersion.indexOf('MSIE 10')),i},ne=function(e,t){if(!(e instanceof t))throw new TypeError('Cannot call a class as a function')},re=function(){function e(e,t){for(var o,n=0;n<t.length;n++)o=t[n],o.enumerable=o.enumerable||!1,o.configurable=!0,'value'in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}return function(t,o,i){return o&&e(t.prototype,o),i&&e(t,i),t}}(),pe=function(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e},se=Object.assign||function(e){for(var t,o=1;o<arguments.length;o++)for(var i in t=arguments[o],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},de=['auto-start','auto','auto-end','top-start','top','top-end','right-start','right','right-end','bottom-end','bottom','bottom-start','left-end','left','left-start'],ae=de.slice(3),fe={FLIP:'flip',CLOCKWISE:'clockwise',COUNTERCLOCKWISE:'counterclockwise'},le=function(){function t(o,i){var n=this,r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};ne(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(n.update)},this.update=oe(this.update.bind(this)),this.options=se({},t.Defaults,r),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=o.jquery?o[0]:o,this.popper=i.jquery?i[0]:i,this.options.modifiers={},Object.keys(se({},t.Defaults.modifiers,r.modifiers)).forEach(function(e){n.options.modifiers[e]=se({},t.Defaults.modifiers[e]||{},r.modifiers?r.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return se({name:e},n.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(t){t.enabled&&e(t.onLoad)&&t.onLoad(n.reference,n.popper,n.options,t,n.state)}),this.update();var p=this.options.eventsEnabled;p&&this.enableEventListeners(),this.state.eventsEnabled=p}return re(t,[{key:'update',value:function(){return k.call(this)}},{key:'destroy',value:function(){return D.call(this)}},{key:'enableEventListeners',value:function(){return A.call(this)}},{key:'disableEventListeners',value:function(){return I.call(this)}}]),t}();return le.Utils=('undefined'==typeof window?global:window).PopperUtils,le.placements=de,le.Defaults={placement:'bottom',eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,o=t.split('-')[0],i=t.split('-')[1];if(i){var n=e.offsets,r=n.reference,p=n.popper,s=-1!==['bottom','top'].indexOf(o),d=s?'left':'top',a=s?'width':'height',f={start:pe({},d,r[d]),end:pe({},d,r[d]+r[a]-p[a])};e.offsets.popper=se({},p,f[i])}return e}},offset:{order:200,enabled:!0,fn:function(e,t){var o,i=t.offset,n=e.placement,r=e.offsets,p=r.popper,s=r.reference,d=n.split('-')[0];return o=R(+i)?[+i,0]:G(i,p,s,d),'left'===d?(p.top+=o[0],p.left-=o[1]):'right'===d?(p.top+=o[0],p.left+=o[1]):'top'===d?(p.left+=o[0],p.top-=o[1]):'bottom'===d&&(p.left+=o[0],p.top+=o[1]),e.popper=p,e},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var o=t.boundariesElement||r(e.instance.popper);e.instance.reference===o&&(o=r(o));var i=w(e.instance.popper,e.instance.reference,t.padding,o);t.boundaries=i;var n=t.priority,p=e.offsets.popper,s={primary:function(e){var o=p[e];return p[e]<i[e]&&!t.escapeWithReference&&(o=_(p[e],i[e])),pe({},e,o)},secondary:function(e){var o='right'===e?'left':'top',n=p[o];return p[e]>i[e]&&!t.escapeWithReference&&(n=z(p[o],i[e]-('right'===e?p.width:p.height))),pe({},o,n)}};return n.forEach(function(e){var t=-1===['left','top'].indexOf(e)?'secondary':'primary';p=se({},p,s[t](e))}),e.offsets.popper=p,e},priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,o=t.popper,i=t.reference,n=e.placement.split('-')[0],r=V,p=-1!==['top','bottom'].indexOf(n),s=p?'right':'bottom',d=p?'left':'top',a=p?'width':'height';return o[s]<r(i[d])&&(e.offsets.popper[d]=r(i[d])-o[a]),o[d]>r(i[s])&&(e.offsets.popper[d]=r(i[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){if(!F(e.instance.modifiers,'arrow','keepTogether'))return e;var o=t.element;if('string'==typeof o){if(o=e.instance.popper.querySelector(o),!o)return e;}else if(!e.instance.popper.contains(o))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),e;var i=e.placement.split('-')[0],n=e.offsets,r=n.popper,p=n.reference,s=-1!==['left','right'].indexOf(i),d=s?'height':'width',a=s?'top':'left',f=s?'left':'top',l=s?'bottom':'right',m=O(o)[d];p[l]-m<r[a]&&(e.offsets.popper[a]-=r[a]-(p[l]-m)),p[a]+m>r[l]&&(e.offsets.popper[a]+=p[a]+m-r[l]);var h=p[a]+p[d]/2-m/2,g=h-c(e.offsets.popper)[a];return g=_(z(r[d]-m,g),0),e.arrowElement=o,e.offsets.arrow={},e.offsets.arrow[a]=Math.round(g),e.offsets.arrow[f]='',e},element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:function(e,t){if(W(e.instance.modifiers,'inner'))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var o=w(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement),i=e.placement.split('-')[0],n=L(i),r=e.placement.split('-')[1]||'',p=[];switch(t.behavior){case fe.FLIP:p=[i,n];break;case fe.CLOCKWISE:p=K(i);break;case fe.COUNTERCLOCKWISE:p=K(i,!0);break;default:p=t.behavior;}return p.forEach(function(s,d){if(i!==s||p.length===d+1)return e;i=e.placement.split('-')[0],n=L(i);var a=e.offsets.popper,f=e.offsets.reference,l=V,m='left'===i&&l(a.right)>l(f.left)||'right'===i&&l(a.left)<l(f.right)||'top'===i&&l(a.bottom)>l(f.top)||'bottom'===i&&l(a.top)<l(f.bottom),h=l(a.left)<l(o.left),c=l(a.right)>l(o.right),g=l(a.top)<l(o.top),u=l(a.bottom)>l(o.bottom),b='left'===i&&h||'right'===i&&c||'top'===i&&g||'bottom'===i&&u,y=-1!==['top','bottom'].indexOf(i),w=!!t.flipVariations&&(y&&'start'===r&&h||y&&'end'===r&&c||!y&&'start'===r&&g||!y&&'end'===r&&u);(m||b||w)&&(e.flipped=!0,(m||b)&&(i=p[d+1]),w&&(r=j(r)),e.placement=i+(r?'-'+r:''),e.offsets.popper=se({},e.offsets.popper,S(e.instance.popper,e.offsets.reference,e.placement)),e=N(e.instance.modifiers,e,'flip'))}),e},behavior:'flip',padding:5,boundariesElement:'viewport'},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,o=t.split('-')[0],i=e.offsets,n=i.popper,r=i.reference,p=-1!==['left','right'].indexOf(o),s=-1===['top','left'].indexOf(o);return n[p?'left':'top']=r[t]-(s?n[p?'width':'height']:0),e.placement=L(t),e.offsets.popper=c(n),e}},hide:{order:800,enabled:!0,fn:function(e){if(!F(e.instance.modifiers,'hide','preventOverflow'))return e;var t=e.offsets.reference,o=T(e.instance.modifiers,function(e){return'preventOverflow'===e.name}).boundaries;if(t.bottom<o.top||t.left>o.right||t.top>o.bottom||t.right<o.left){if(!0===e.hide)return e;e.hide=!0,e.attributes['x-out-of-boundaries']=''}else{if(!1===e.hide)return e;e.hide=!1,e.attributes['x-out-of-boundaries']=!1}return e}},computeStyle:{order:850,enabled:!0,fn:function(e,t){var o=t.x,i=t.y,n=e.offsets.popper,p=T(e.instance.modifiers,function(e){return'applyStyle'===e.name}).gpuAcceleration;void 0!==p&&console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');var s,d,a=void 0===p?t.gpuAcceleration:p,f=r(e.instance.popper),l=g(f),m={position:n.position},h={left:V(n.left),top:V(n.top),bottom:V(n.bottom),right:V(n.right)},c='bottom'===o?'top':'bottom',u='right'===i?'left':'right',b=B('transform');if(d='bottom'==c?-l.height+h.bottom:h.top,s='right'==u?-l.width+h.right:h.left,a&&b)m[b]='translate3d('+s+'px, '+d+'px, 0)',m[c]=0,m[u]=0,m.willChange='transform';else{var y='bottom'==c?-1:1,w='right'==u?-1:1;m[c]=d*y,m[u]=s*w,m.willChange=c+', '+u}var v={"x-placement":e.placement};return e.attributes=se({},v,e.attributes),e.styles=se({},m,e.styles),e},gpuAcceleration:!0,x:'bottom',y:'right'},applyStyle:{order:900,enabled:!0,fn:function(e){return U(e.instance.popper,e.styles),Y(e.instance.popper,e.attributes),e.offsets.arrow&&U(e.arrowElement,e.offsets.arrow),e},onLoad:function(e,t,o,i,n){var r=x(n,t,e),p=E(o.placement,r,t,e,o.modifiers.flip.boundariesElement,o.modifiers.flip.padding);return t.setAttribute('x-placement',p),U(t,{position:'absolute'}),o},gpuAcceleration:void 0}}},le});
vendor: 6,232 bytes, lines 5561-5569
5561 5562 5563 5564/*! 5565 * Bootstrap v4.6.2 (https://getbootstrap.com/) 5566 * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) 5567 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 5568 */ 5569!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap={},t.jQuery,t.Popper)}(this,(function(t,e,n){"use strict";function i(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var o=i(e),a=i(n);function s(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function l(t,e,n){return e&&s(t.prototype,e),n&&s(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function r(){return r=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t},r.apply(this,arguments)}function u(t,e){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},u(t,e)}var f="transitionend";var d={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():""}try{return document.querySelector(e)?e:null}catch(t){return null}},getTransitionDurationFromElement:function(t){if(!t)return 0;var e=o.default(t).css("transition-duration"),n=o.default(t).css("transition-delay"),i=parseFloat(e),a=parseFloat(n);return i||a?(e=e.split(",")[0],n=n.split(",")[0],1e3*(parseFloat(e)+parseFloat(n))):0},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){o.default(t).trigger(f)},supportsTransitionEnd:function(){return Boolean(f)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var o=n[i],a=e[i],s=a&&d.isElement(a)?"element":null===(l=a)||"undefined"==typeof l?""+l:{}.toString.call(l).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(o).test(s))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+s+'" but expected type "'+o+'".')}var l},findShadowRoot:function(t){if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){var e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?d.findShadowRoot(t.parentNode):null},jQueryDetection:function(){if("undefined"==typeof o.default)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var t=o.default.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||t[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}};d.jQueryDetection(),o.default.fn.emulateTransitionEnd=function(t){var e=this,n=!1;return o.default(this).one(d.TRANSITION_END,(function(){n=!0})),setTimeout((function(){n||d.triggerTransitionEnd(e)}),t),this},o.default.event.special[d.TRANSITION_END]={bindType:f,delegateType:f,handle:function(t){if(o.default(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var c="bs.alert",h=o.default.fn.alert,g=function(){function t(t){this._element=t}var e=t.prototype;return e.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},e.dispose=function(){o.default.removeData(this._element,c),this._element=null},e._getRootElement=function(t){var e=d.getSelectorFromElement(t),n=!1;return e&&(n=document.querySelector(e)),n||(n=o.default(t).closest(".alert")[0]),n},e._triggerCloseEvent=function(t){var e=o.default.Event("close.bs.alert");return o.default(t).trigger(e),e},e._removeElement=function(t){var e=this;if(o.default(t).removeClass("show"),o.default(t).hasClass("fade")){var n=d.getTransitionDurationFromElement(t);o.default(t).one(d.TRANSITION_END,(function(n){return e._destroyElement(t,n)})).emulateTransitionEnd(n)}else this._destroyElement(t)},e._destroyElement=function(t){o.default(t).detach().trigger("closed.bs.alert").remove()},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data(c);i||(i=new t(this),n.data(c,i)),"close"===e&&i[e](this)}))},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},l(t,null,[{key:"VERSION",get:function(){return"4.6.2"}}]),t}();o.default(document).on("click.bs.alert.data-api",'[data-dismiss="alert"]',g._handleDismiss(new g)),o.default.fn.alert=g._jQueryInterface,o.default.fn.alert.Constructor=g,o.default.fn.alert.noConflict=function(){return o.default.fn.alert=h,g._jQueryInterface};var m="bs.button",p=o.default.fn.button,_="active",v='[data-toggle^="button"]',y='input:not([type="hidden"])',b=".btn",E=function(){function t(t){this._element=t,this.shouldAvoidTriggerChange=!1}var e=t.prototype;return e.toggle=function(){var t=!0,e=!0,n=o.default(this._element).closest('[data-toggle="buttons"]')[0];if(n){var i=this._element.querySelector(y);if(i){if("radio"===i.type)if(i.checked&&this._element.classList.contains(_))t=!1;else{var a=n.querySelector(".active");a&&o.default(a).removeClass(_)}t&&("checkbox"!==i.type&&"radio"!==i.type||(i.checked=!this._element.classList.contains(_)),this.shouldAvoidTriggerChange||o.default(i).trigger("change")),i.focus(),e=!1}}this._element.hasAttribute("disabled")||this._element.classList.contains("disabled")||(e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(_)),t&&o.default(this._element).toggleClass(_))},e.dispose=function(){o.default.removeData(this._element,m),this._element=null},t._jQueryInterface=function(e,n){return this.each((function(){var i=o.default(this),a=i.data(m);a||(a=new t(this),i.data(m,a)),a.shouldAvoidTriggerChange=n,"toggle"===e&&a[e]()}))},l(t,null,[{key:"VERSION",get:function(){return"4.6.2
vendor: 7,796 bytes, line 5569
5569"}}]),t}();o.default(document).on("click.bs.button.data-api",v,(function(t){var e=t.target,n=e;if(o.default(e).hasClass("btn")||(e=o.default(e).closest(b)[0]),!e||e.hasAttribute("disabled")||e.classList.contains("disabled"))t.preventDefault();else{var i=e.querySelector(y);if(i&&(i.hasAttribute("disabled")||i.classList.contains("disabled")))return void t.preventDefault();"INPUT"!==n.tagName&&"LABEL"===e.tagName||E._jQueryInterface.call(o.default(e),"toggle","INPUT"===n.tagName)}})).on("focus.bs.button.data-api blur.bs.button.data-api",v,(function(t){var e=o.default(t.target).closest(b)[0];o.default(e).toggleClass("focus",/^focus(in)?$/.test(t.type))})),o.default(window).on("load.bs.button.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-toggle="buttons"] .btn')),e=0,n=t.length;e<n;e++){var i=t[e],o=i.querySelector(y);o.checked||o.hasAttribute("checked")?i.classList.add(_):i.classList.remove(_)}for(var a=0,s=(t=[].slice.call(document.querySelectorAll('[data-toggle="button"]'))).length;a<s;a++){var l=t[a];"true"===l.getAttribute("aria-pressed")?l.classList.add(_):l.classList.remove(_)}})),o.default.fn.button=E._jQueryInterface,o.default.fn.button.Constructor=E,o.default.fn.button.noConflict=function(){return o.default.fn.button=p,E._jQueryInterface};var T="carousel",w="bs.carousel",C=o.default.fn[T],S="active",N="next",D="prev",A="slid.bs.carousel",I=".active.carousel-item",k={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},O={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},j={TOUCH:"touch",PEN:"pen"},P=function(){function t(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._element=t,this._indicatorsElement=this._element.querySelector(".carousel-indicators"),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var e=t.prototype;return e.next=function(){this._isSliding||this._slide(N)},e.nextWhenVisible=function(){var t=o.default(this._element);!document.hidden&&t.is(":visible")&&"hidden"!==t.css("visibility")&&this.next()},e.prev=function(){this._isSliding||this._slide(D)},e.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(".carousel-item-next, .carousel-item-prev")&&(d.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},e.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},e.to=function(t){var e=this;this._activeElement=this._element.querySelector(I);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)o.default(this._element).one(A,(function(){return e.to(t)}));else{if(n===t)return this.pause(),void this.cycle();var i=t>n?N:D;this._slide(i,this._items[t])}},e.dispose=function(){o.default(this._element).off(".bs.carousel"),o.default.removeData(this._element,w),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},e._getConfig=function(t){return t=r({},k,t),d.typeCheckConfig(T,t,O),t},e._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},e._addEventListeners=function(){var t=this;this._config.keyboard&&o.default(this._element).on("keydown.bs.carousel",(function(e){return t._keydown(e)})),"hover"===this._config.pause&&o.default(this._element).on("mouseenter.bs.carousel",(function(e){return t.pause(e)})).on("mouseleave.bs.carousel",(function(e){return t.cycle(e)})),this._config.touch&&this._addTouchEventListeners()},e._addTouchEventListeners=function(){var t=this;if(this._touchSupported){var e=function(e){t._pointerEvent&&j[e.originalEvent.pointerType.toUpperCase()]?t.touchStartX=e.originalEvent.clientX:t._pointerEvent||(t.touchStartX=e.originalEvent.touches[0].clientX)},n=function(e){t._pointerEvent&&j[e.originalEvent.pointerType.toUpperCase()]&&(t.touchDeltaX=e.originalEvent.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout((function(e){return t.cycle(e)}),500+t._config.interval))};o.default(this._element.querySelectorAll(".carousel-item img")).on("dragstart.bs.carousel",(function(t){return t.preventDefault()})),this._pointerEvent?(o.default(this._element).on("pointerdown.bs.carousel",(function(t){return e(t)})),o.default(this._element).on("pointerup.bs.carousel",(function(t){return n(t)})),this._element.classList.add("pointer-event")):(o.default(this._element).on("touchstart.bs.carousel",(function(t){return e(t)})),o.default(this._element).on("touchmove.bs.carousel",(function(e){return function(e){t.touchDeltaX=e.originalEvent.touches&&e.originalEvent.touches.length>1?0:e.originalEvent.touches[0].clientX-t.touchStartX}(e)})),o.default(this._element).on("touchend.bs.carousel",(function(t){return n(t)})))}},e._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},e._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(".carousel-item")):[],this._items.indexOf(t)},e._getItemByDirection=function(t,e){var n=t===N,i=t===D,o=this._getItemIndex(e),a=this._items.length-1;if((i&&0===o||n&&o===a)&&!this._config.wrap)return e;var s=(o+(t===D?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},e._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(this._element.querySelector(I)),a=o.default.Event("slide.bs.carousel",{relatedTarget:t,direction:e,from:i,to:n});return o.default(this._element).trigger(a),a},e._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var e=[].slice.call(this._indicatorsElement.querySelectorAll(".active"));o.default(e).removeClass(S);var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&o.default(n).addClass(S)}},e._updateInterval=function(){var t=this._activeElement||this._element.querySelector(I);if(t){var e=parseInt(t.getAttribute("data-interval"),10);e?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=e):this._config.interval=this._config.defaultInterval||this._config.interval}},e._slide=function(t,e){var n,i,a,s=this,l=this._element.querySelector(I),r=this._getItemIndex(l),u=e||l&&this._getItemByDirection(t,l),f=this._getItemIndex(u),c=Boolean(this._interval);if(t===N?(n="carousel-item-left",i="carousel-item-next",a="left"):(n="carousel-item-right",i="carousel-item-prev",a="right"),u&&o.default(u).hasClass(S))this._isSliding=!1;else if(!this._triggerSlideEvent(u,a).isDefaultPrevented()&&l&&u){this._isSliding=!0,c&&this.pause(),this._setActiveIndicatorElement(u),this._activeElement=u;var h=o.default.Event(A,{relatedTarget:u,direction:a,from:r,to:f});if(o.default(this._element).hasClass("slide")){o.default(u).addClass(i),d.reflow(u),o.default(l).addClass(n),o.default(u).addClass(n);var g=d.getTransitionDurationFromElement(l);o.default(l).one(d.TRANSITION_END,(function(){o.default(u).removeClass(n+" "+i).addClass(S),o.default(l).removeClass("active "+i+" "+n),s._isSli
vendor: 15,888 bytes, line 5569
5569ding=!1,setTimeout((function(){return o.default(s._element).trigger(h)}),0)})).emulateTransitionEnd(g)}else o.default(l).removeClass(S),o.default(u).addClass(S),this._isSliding=!1,o.default(this._element).trigger(h);c&&this.cycle()}},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this).data(w),i=r({},k,o.default(this).data());"object"==typeof e&&(i=r({},i,e));var a="string"==typeof e?e:i.slide;if(n||(n=new t(this,i),o.default(this).data(w,n)),"number"==typeof e)n.to(e);else if("string"==typeof a){if("undefined"==typeof n[a])throw new TypeError('No method named "'+a+'"');n[a]()}else i.interval&&i.ride&&(n.pause(),n.cycle())}))},t._dataApiClickHandler=function(e){var n=d.getSelectorFromElement(this);if(n){var i=o.default(n)[0];if(i&&o.default(i).hasClass("carousel")){var a=r({},o.default(i).data(),o.default(this).data()),s=this.getAttribute("data-slide-to");s&&(a.interval=!1),t._jQueryInterface.call(o.default(i),a),s&&o.default(i).data(w).to(s),e.preventDefault()}}},l(t,null,[{key:"VERSION",get:function(){return"4.6.2"}},{key:"Default",get:function(){return k}}]),t}();o.default(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",P._dataApiClickHandler),o.default(window).on("load.bs.carousel.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-ride="carousel"]')),e=0,n=t.length;e<n;e++){var i=o.default(t[e]);P._jQueryInterface.call(i,i.data())}})),o.default.fn[T]=P._jQueryInterface,o.default.fn[T].Constructor=P,o.default.fn[T].noConflict=function(){return o.default.fn[T]=C,P._jQueryInterface};var L="collapse",R="bs.collapse",x=o.default.fn[L],q="show",F="collapse",Q="collapsing",B="collapsed",H="width",U='[data-toggle="collapse"]',M={toggle:!0,parent:""},W={toggle:"boolean",parent:"(string|element)"},V=function(){function t(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=[].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'));for(var n=[].slice.call(document.querySelectorAll(U)),i=0,o=n.length;i<o;i++){var a=n[i],s=d.getSelectorFromElement(a),l=[].slice.call(document.querySelectorAll(s)).filter((function(e){return e===t}));null!==s&&l.length>0&&(this._selector=s,this._triggerArray.push(a))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var e=t.prototype;return e.toggle=function(){o.default(this._element).hasClass(q)?this.hide():this.show()},e.show=function(){var e,n,i=this;if(!(this._isTransitioning||o.default(this._element).hasClass(q)||(this._parent&&0===(e=[].slice.call(this._parent.querySelectorAll(".show, .collapsing")).filter((function(t){return"string"==typeof i._config.parent?t.getAttribute("data-parent")===i._config.parent:t.classList.contains(F)}))).length&&(e=null),e&&(n=o.default(e).not(this._selector).data(R))&&n._isTransitioning))){var a=o.default.Event("show.bs.collapse");if(o.default(this._element).trigger(a),!a.isDefaultPrevented()){e&&(t._jQueryInterface.call(o.default(e).not(this._selector),"hide"),n||o.default(e).data(R,null));var s=this._getDimension();o.default(this._element).removeClass(F).addClass(Q),this._element.style[s]=0,this._triggerArray.length&&o.default(this._triggerArray).removeClass(B).attr("aria-expanded",!0),this.setTransitioning(!0);var l="scroll"+(s[0].toUpperCase()+s.slice(1)),r=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,(function(){o.default(i._element).removeClass(Q).addClass("collapse show"),i._element.style[s]="",i.setTransitioning(!1),o.default(i._element).trigger("shown.bs.collapse")})).emulateTransitionEnd(r),this._element.style[s]=this._element[l]+"px"}}},e.hide=function(){var t=this;if(!this._isTransitioning&&o.default(this._element).hasClass(q)){var e=o.default.Event("hide.bs.collapse");if(o.default(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",d.reflow(this._element),o.default(this._element).addClass(Q).removeClass("collapse show");var i=this._triggerArray.length;if(i>0)for(var a=0;a<i;a++){var s=this._triggerArray[a],l=d.getSelectorFromElement(s);null!==l&&(o.default([].slice.call(document.querySelectorAll(l))).hasClass(q)||o.default(s).addClass(B).attr("aria-expanded",!1))}this.setTransitioning(!0),this._element.style[n]="";var r=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,(function(){t.setTransitioning(!1),o.default(t._element).removeClass(Q).addClass(F).trigger("hidden.bs.collapse")})).emulateTransitionEnd(r)}}},e.setTransitioning=function(t){this._isTransitioning=t},e.dispose=function(){o.default.removeData(this._element,R),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},e._getConfig=function(t){return(t=r({},M,t)).toggle=Boolean(t.toggle),d.typeCheckConfig(L,t,W),t},e._getDimension=function(){return o.default(this._element).hasClass(H)?H:"height"},e._getParent=function(){var e,n=this;d.isElement(this._config.parent)?(e=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(e=this._config.parent[0])):e=document.querySelector(this._config.parent);var i='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]',a=[].slice.call(e.querySelectorAll(i));return o.default(a).each((function(e,i){n._addAriaAndCollapsedClass(t._getTargetFromElement(i),[i])})),e},e._addAriaAndCollapsedClass=function(t,e){var n=o.default(t).hasClass(q);e.length&&o.default(e).toggleClass(B,!n).attr("aria-expanded",n)},t._getTargetFromElement=function(t){var e=d.getSelectorFromElement(t);return e?document.querySelector(e):null},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data(R),a=r({},M,n.data(),"object"==typeof e&&e?e:{});if(!i&&a.toggle&&"string"==typeof e&&/show|hide/.test(e)&&(a.toggle=!1),i||(i=new t(this,a),n.data(R,i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}}))},l(t,null,[{key:"VERSION",get:function(){return"4.6.2"}},{key:"Default",get:function(){return M}}]),t}();o.default(document).on("click.bs.collapse.data-api",U,(function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var e=o.default(this),n=d.getSelectorFromElement(this),i=[].slice.call(document.querySelectorAll(n));o.default(i).each((function(){var t=o.default(this),n=t.data(R)?"toggle":e.data();V._jQueryInterface.call(t,n)}))})),o.default.fn[L]=V._jQueryInterface,o.default.fn[L].Constructor=V,o.default.fn[L].noConflict=function(){return o.default.fn[L]=x,V._jQueryInterface};var z="dropdown",K="bs.dropdown",X=o.default.fn[z],Y=new RegExp("38|40|27"),$="disabled",J="show",G="dropdown-menu-right",Z="hide.bs.dropdown",tt="hidden.bs.dropdown",et="click.bs.dropdown.data-api",nt="keydown.bs.dropdown.data-api",it='[data-toggle="dropdown"]',ot=".dropdown-menu",at={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},st={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},lt=function(){function t(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var e=t.prototype;return e.toggle=function(){if(!this._element.disabled&&!o.default(this._element).hasClass($)){var e=o.default(this._menu).hasClass(J);t._clearMenus(),e||this.show(!0)}},e.show=function(e){if(void 0===e&&(e=!1),!(this._element.disabled||o.default(this._element).hasClass($)||o.default(this._menu).hasClass(J))){var n={relatedTarget:this._element},i=o.default.Event("show.bs.dropdown",n),s=t._getParentFromElement(this._element);if(o.default(s).trigger(i),!i.isDefaultPrevented()){if(!this._inNavbar&&e){if("undefined"==typeof a.default)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");var l=this._element;"parent"===this._config.reference?l=s:d.isElement(this._config.reference)&&(l=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(l=this._config.reference[0])),"scrollParent"!==this._config.boundary&&o.default(s).addClass("position-static"),this._popper=new a.default(l,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===o.default(s).closest(".navbar-nav").length&&o.default(document.body).children().on("mouseover",null,o.default.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),o.default(this._menu).toggleClass(J),o.default(s).toggleClass(J).trigger(o.default.Event("shown.bs.dropdown",n))}}},e.hide=function(){if(!this._element.disabled&&!o.default(this._element).hasClass($)&&o.default(this._menu).hasClass(J)){var e={relatedTarget:this._element},n=o.default.Event(Z,e),i=t._getParentFromElement(this._element);o.default(i).trigger(n),n.isDefaultPrevented()||(this._popper&&this._popper.destroy(),o.default(this._menu).toggleClass(J),o.default(i).toggleClass(J).trigger(o.default.Event(tt,e)))}},e.dispose=function(){o.default.removeData(this._element,K),o.default(this._element).off(".bs.dropdown"),this._element=null,this._menu=null,null!==this._popper&&(this._popper.destroy(),this._popper=null)},e.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},e._addEventListeners=function(){var t=this;o.default(this._element).on("click.bs.dropdown",(function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}))},e._getConfig=function(t){return t=r({},this.constructor.Default,o.default(this._element).data(),t),d.typeCheckConfig(z,t,this.constructor.DefaultType),t},e._getMenuElement=function(){if(!this._menu){var e=t._getParentFromElement(this._element);e&&(this._menu=e.querySelector(ot))}return this._menu},e._getPlacement=function(){var t=o.default(this._element.parentNode),e="bottom-start";return t.hasClass("dropup")?e=o.default(this._menu).hasClass(G)?"top-end":"top-start":t.hasClass("dropright")?e="right-start":t.hasClass("dropleft")?e="left-start":o.default(this._menu).hasClass(G)&&(e="bottom-end"),e},e._detectNavbar=function(){return o.default(this._element).closest(".navbar").length>0},e._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,t._config.offset(e.offsets,t._element)),e}:e.offset=this._config.offset,e},e._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),r({},t,this._config.popperConfig)},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this).data(K);if(n||(n=new t(this,"object"==typeof e?e:null),o.default(this).data(K,n)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t._clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var n=[].slice.call(document.querySelectorAll(it)),i=0,a=n.length;i<a;i++){var s=t._getParentFromElement(n[i]),l=o.default(n[i]).data(K),r={relatedTarget:n[i]};if(e&&"click"===e.type&&(r.clickEvent=e),l){var u=l._menu;if(o.default(s).hasClass(J)&&!(e&&("click"===e.type&&/input|textarea/i.test(e.target.tagName)||"keyup"===e.type&&9===e.which)&&o.default.contains(s,e.target))){var f=o.default.Event(Z,r);o.default(s).trigger(f),f.isDefaultPrevented()||("ontouchstart"in document.documentElement&&o.default(document.body).children().off("mouseover",null,o.default.noop),n[i].setAttribute("aria-expanded","false"),l._popper&&l._popper.destroy(),o.default(u).removeClass(J),o.default(s).removeClass(J).trigger(o.default.Event(tt,r)))}}}},t._getParentFromElement=function(t){var e,n=d.getSelectorFromElement(t);return n&&(e=document.querySelector(n)),e||t.parentNode},t._dataApiKeydownHandler=function(e){if(!(/input|textarea/i.test(e.target.tagName)?32===e.which||27!==e.which&&(40!==e.which&&38!==e.which||o.default(e.target).closest(ot).length):!Y.test(e.which))&&!this.disabled&&!o.default(this).hasClass($)){var n=t._getParentFromElement(this),i=o.default(n).hasClass(J);if(i||27!==e.which){if(e.preventDefault(),e.stopPropagation(),!i||27===e.which||32===e.which)return 27===e.which&&o.default(n.querySelector(it)).trigger("focus"),void o.default(this).trigger("click");var a=[].slice.call(n.querySelectorAll(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)")).filter((function(t){return o.default(t).is(":visible")}));if(0!==a.length){var s=a.indexOf(e.target);38===e.which&&s>0&&s--,40===e.which&&s<a.length-1&&s++,s<0&&(s=0),a[s].focus()}}}},l(t,null,[{key:"VERSION",get:function(){return"4.6.2"}},{key:"Default",get:function(){return at}},{key:"DefaultType",get:function(){return st}}]),t}();o.default(document).on(nt,it,lt._dataApiKeydownHandler).on(nt,ot,lt._dataApiKeydownHandler).on(et+" keyup.bs.dropdown.data-api",lt._clearMenus).on(et,it,(function(t){t.preventDefault(),t.stopPropagation(),lt._jQueryInterface.call(o.default(this),"toggle")})).on(et,".dropdown form",(function(t){t.stopPropagation()})),o.default.fn[z]=lt._jQueryInterface,o.default.fn[z].Constructor=lt,o.default.fn[z].noConflict=function(){return o.default.fn[z]=X,lt._jQueryInterface};var rt="bs.modal",ut=o.default.fn.modal,ft="modal-open",dt="fade",ct="show",ht="modal-static",gt="hidden.bs.modal",mt="show.bs.modal",pt="focusin.bs.modal",_t="resize.bs.modal",vt="click.dismiss.bs.modal",yt="keydown.dismiss.bs.modal",bt="mousedown.dismiss.bs.modal",Et=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",Tt={backdrop:!0,keyboard:!0,focus:!0,show:!0},wt={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},Ct=function(){function t(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=t.querySelector(".modal-dialog"),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0}var e=t.prototype;return e.toggle=function(t){return this._isShown?this.hide():this.show(t)},e.show=function(t){var e=this;if(!this._isShown&&!this._isTransitioning){var n=o.default.Event(mt,{relatedTarget:t});o.default(this._element).trigger(n),n.isDefaultPrevented()||(this._isShown=!0,o.default(this._element).hasClass(dt)&&(this._isTransitioning=!0),this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),o.default(this._element).on(vt,'[data-dismiss="modal"]',(function(t){return e.hide(t)})),o.default(this._dialog).on(bt,(function(){o.default(e._element).one("mouseup.dismiss.bs.modal",(function(t){o.default(t.target).is(e._element)&&(e._ignoreBackdropClick=!0)}))})),this._showBackdrop((function(){return e._showElement(t)})))}},e.hide=function(t){var e=this;if(t&&t.preventDefault(),this._isShown&&!this._isTransitioning){var n=o.default.Event("hide.bs.modal");if(o.default(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()){this._isShown=!1;var i=o.default(this._element).hasClass(dt);if(i&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),o.default(document).off(pt),o.default(this._element).removeClass(ct),o.default(this._element).off(vt),o.default(this._dialog).off(bt),i){var a=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,(function(t){return e._hideModal(t)})).emulateTransitionEnd(a)}else this._hideModal()}}},e.dispose=function(){[window,this._element,this._dialog].forEach((function(t){return o.default(t).off(".b
vendor: 6,658 bytes, line 5569
5569s.modal")})),o.default(document).off(pt),o.default.removeData(this._element,rt),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},e.handleUpdate=function(){this._adjustDialog()},e._getConfig=function(t){return t=r({},Tt,t),d.typeCheckConfig("modal",t,wt),t},e._triggerBackdropTransition=function(){var t=this,e=o.default.Event("hidePrevented.bs.modal");if(o.default(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._element.scrollHeight>document.documentElement.clientHeight;n||(this._element.style.overflowY="hidden"),this._element.classList.add(ht);var i=d.getTransitionDurationFromElement(this._dialog);o.default(this._element).off(d.TRANSITION_END),o.default(this._element).one(d.TRANSITION_END,(function(){t._element.classList.remove(ht),n||o.default(t._element).one(d.TRANSITION_END,(function(){t._element.style.overflowY=""})).emulateTransitionEnd(t._element,i)})).emulateTransitionEnd(i),this._element.focus()}},e._showElement=function(t){var e=this,n=o.default(this._element).hasClass(dt),i=this._dialog?this._dialog.querySelector(".modal-body"):null;this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),o.default(this._dialog).hasClass("modal-dialog-scrollable")&&i?i.scrollTop=0:this._element.scrollTop=0,n&&d.reflow(this._element),o.default(this._element).addClass(ct),this._config.focus&&this._enforceFocus();var a=o.default.Event("shown.bs.modal",{relatedTarget:t}),s=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,o.default(e._element).trigger(a)};if(n){var l=d.getTransitionDurationFromElement(this._dialog);o.default(this._dialog).one(d.TRANSITION_END,s).emulateTransitionEnd(l)}else s()},e._enforceFocus=function(){var t=this;o.default(document).off(pt).on(pt,(function(e){document!==e.target&&t._element!==e.target&&0===o.default(t._element).has(e.target).length&&t._element.focus()}))},e._setEscapeEvent=function(){var t=this;this._isShown?o.default(this._element).on(yt,(function(e){t._config.keyboard&&27===e.which?(e.preventDefault(),t.hide()):t._config.keyboard||27!==e.which||t._triggerBackdropTransition()})):this._isShown||o.default(this._element).off(yt)},e._setResizeEvent=function(){var t=this;this._isShown?o.default(window).on(_t,(function(e){return t.handleUpdate(e)})):o.default(window).off(_t)},e._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._showBackdrop((function(){o.default(document.body).removeClass(ft),t._resetAdjustments(),t._resetScrollbar(),o.default(t._element).trigger(gt)}))},e._removeBackdrop=function(){this._backdrop&&(o.default(this._backdrop).remove(),this._backdrop=null)},e._showBackdrop=function(t){var e=this,n=o.default(this._element).hasClass(dt)?dt:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className="modal-backdrop",n&&this._backdrop.classList.add(n),o.default(this._backdrop).appendTo(document.body),o.default(this._element).on(vt,(function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===e._config.backdrop?e._triggerBackdropTransition():e.hide())})),n&&d.reflow(this._backdrop),o.default(this._backdrop).addClass(ct),!t)return;if(!n)return void t();var i=d.getTransitionDurationFromElement(this._backdrop);o.default(this._backdrop).one(d.TRANSITION_END,t).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){o.default(this._backdrop).removeClass(ct);var a=function(){e._removeBackdrop(),t&&t()};if(o.default(this._element).hasClass(dt)){var s=d.getTransitionDurationFromElement(this._backdrop);o.default(this._backdrop).one(d.TRANSITION_END,a).emulateTransitionEnd(s)}else a()}else t&&t()},e._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},e._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},e._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(t.left+t.right)<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},e._setScrollbar=function(){var t=this;if(this._isBodyOverflowing){var e=[].slice.call(document.querySelectorAll(Et)),n=[].slice.call(document.querySelectorAll(".sticky-top"));o.default(e).each((function(e,n){var i=n.style.paddingRight,a=o.default(n).css("padding-right");o.default(n).data("padding-right",i).css("padding-right",parseFloat(a)+t._scrollbarWidth+"px")})),o.default(n).each((function(e,n){var i=n.style.marginRight,a=o.default(n).css("margin-right");o.default(n).data("margin-right",i).css("margin-right",parseFloat(a)-t._scrollbarWidth+"px")}));var i=document.body.style.paddingRight,a=o.default(document.body).css("padding-right");o.default(document.body).data("padding-right",i).css("padding-right",parseFloat(a)+this._scrollbarWidth+"px")}o.default(document.body).addClass(ft)},e._resetScrollbar=function(){var t=[].slice.call(document.querySelectorAll(Et));o.default(t).each((function(t,e){var n=o.default(e).data("padding-right");o.default(e).removeData("padding-right"),e.style.paddingRight=n||""}));var e=[].slice.call(document.querySelectorAll(".sticky-top"));o.default(e).each((function(t,e){var n=o.default(e).data("margin-right");"undefined"!=typeof n&&o.default(e).css("margin-right",n).removeData("margin-right")}));var n=o.default(document.body).data("padding-right");o.default(document.body).removeData("padding-right"),document.body.style.paddingRight=n||""},e._getScrollbarWidth=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},t._jQueryInterface=function(e,n){return this.each((function(){var i=o.default(this).data(rt),a=r({},Tt,o.default(this).data(),"object"==typeof e&&e?e:{});if(i||(i=new t(this,a),o.default(this).data(rt,i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method n
vendor: 7,038 bytes, line 5569
5569amed "'+e+'"');i[e](n)}else a.show&&i.show(n)}))},l(t,null,[{key:"VERSION",get:function(){return"4.6.2"}},{key:"Default",get:function(){return Tt}}]),t}();o.default(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',(function(t){var e,n=this,i=d.getSelectorFromElement(this);i&&(e=document.querySelector(i));var a=o.default(e).data(rt)?"toggle":r({},o.default(e).data(),o.default(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var s=o.default(e).one(mt,(function(t){t.isDefaultPrevented()||s.one(gt,(function(){o.default(n).is(":visible")&&n.focus()}))}));Ct._jQueryInterface.call(o.default(e),a,this)})),o.default.fn.modal=Ct._jQueryInterface,o.default.fn.modal.Constructor=Ct,o.default.fn.modal.noConflict=function(){return o.default.fn.modal=ut,Ct._jQueryInterface};var St=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],Nt=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,Dt=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i;function At(t,e,n){if(0===t.length)return t;if(n&&"function"==typeof n)return n(t);for(var i=(new window.DOMParser).parseFromString(t,"text/html"),o=Object.keys(e),a=[].slice.call(i.body.querySelectorAll("*")),s=function(t,n){var i=a[t],s=i.nodeName.toLowerCase();if(-1===o.indexOf(i.nodeName.toLowerCase()))return i.parentNode.removeChild(i),"continue";var l=[].slice.call(i.attributes),r=[].concat(e["*"]||[],e[s]||[]);l.forEach((function(t){(function(t,e){var n=t.nodeName.toLowerCase();if(-1!==e.indexOf(n))return-1===St.indexOf(n)||Boolean(Nt.test(t.nodeValue)||Dt.test(t.nodeValue));for(var i=e.filter((function(t){return t instanceof RegExp})),o=0,a=i.length;o<a;o++)if(i[o].test(n))return!0;return!1})(t,r)||i.removeAttribute(t.nodeName)}))},l=0,r=a.length;l<r;l++)s(l);return i.body.innerHTML}var It="tooltip",kt="bs.tooltip",Ot=o.default.fn.tooltip,jt=new RegExp("(^|\\s)bs-tooltip\\S+","g"),Pt=["sanitize","whiteList","sanitizeFn"],Lt="fade",Rt="show",xt="show",qt="out",Ft="hover",Qt="focus",Bt={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},Ht={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",customClass:"",sanitize:!0,sanitizeFn:null,whiteList:{"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},popperConfig:null},Ut={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",customClass:"(string|function)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object",popperConfig:"(null|object)"},Mt={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},Wt=function(){function t(t,e){if("undefined"==typeof a.default)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var e=t.prototype;return e.enable=function(){this._isEnabled=!0},e.disable=function(){this._isEnabled=!1},e.toggleEnabled=function(){this._isEnabled=!this._isEnabled},e.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=o.default(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),o.default(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(o.default(this.getTipElement()).hasClass(Rt))return void this._leave(null,this);this._enter(null,this)}},e.dispose=function(){clearTimeout(this._timeout),o.default.removeData(this.element,this.constructor.DATA_KEY),o.default(this.element).off(this.constructor.EVENT_KEY),o.default(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&o.default(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},e.show=function(){var t=this;if("none"===o.default(this.element).css("display"))throw new Error("Please use show on visible elements");var e=o.default.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){o.default(this.element).trigger(e);var n=d.findShadowRoot(this.element),i=o.default.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(e.isDefaultPrevented()||!i)return;var s=this.getTipElement(),l=d.getUID(this.constructor.NAME);s.setAttribute("id",l),this.element.setAttribute("aria-describedby",l),this.setContent(),this.config.animation&&o.default(s).addClass(Lt);var r="function"==typeof this.config.placement?this.config.placement.call(this,s,this.element):this.config.placement,u=this._getAttachment(r);this.addAttachmentClass(u);var f=this._getContainer();o.default(s).data(this.constructor.DATA_KEY,this),o.default.contains(this.element.ownerDocument.documentElement,this.tip)||o.default(s).appendTo(f),o.default(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new a.default(this.element,s,this._getPopperConfig(u)),o.default(s).addClass(Rt),o.default(s).addClass(this.config.customClass),"ontouchstart"in document.documentElement&&o.default(document.body).children().on("mouseover",null,o.default.noop);var c=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,o.default(t.element).trigger(t.constructor.Event.SHOWN),e===qt&&t._leave(null,t)};if(o.default(this.tip).hasClass(Lt)){var h=d.getTransitionDurationFromElement(this.tip);o.default(this.tip).one(d.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},e.hide=function(t){var e=this,n=this.getTipElement(),i=o.default.Event(this.constructor.Event.HIDE),a=function(){e._hoverState!==xt&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),o.default(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(o.default(this.element).trigger(i),!i.isDefaultPrevented()){if
vendor: 5,783 bytes, line 5569
5569(o.default(n).removeClass(Rt),"ontouchstart"in document.documentElement&&o.default(document.body).children().off("mouseover",null,o.default.noop),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,o.default(this.tip).hasClass(Lt)){var s=d.getTransitionDurationFromElement(n);o.default(n).one(d.TRANSITION_END,a).emulateTransitionEnd(s)}else a();this._hoverState=""}},e.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},e.isWithContent=function(){return Boolean(this.getTitle())},e.addAttachmentClass=function(t){o.default(this.getTipElement()).addClass("bs-tooltip-"+t)},e.getTipElement=function(){return this.tip=this.tip||o.default(this.config.template)[0],this.tip},e.setContent=function(){var t=this.getTipElement();this.setElementContent(o.default(t.querySelectorAll(".tooltip-inner")),this.getTitle()),o.default(t).removeClass("fade show")},e.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=At(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?o.default(e).parent().is(t)||t.empty().append(e):t.text(o.default(e).text())},e.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},e._getPopperConfig=function(t){var e=this;return r({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:".arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},this.config.popperConfig)},e._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,t.config.offset(e.offsets,t.element)),e}:e.offset=this.config.offset,e},e._getContainer=function(){return!1===this.config.container?document.body:d.isElement(this.config.container)?o.default(this.config.container):o.default(document).find(this.config.container)},e._getAttachment=function(t){return Bt[t.toUpperCase()]},e._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(e){if("click"===e)o.default(t.element).on(t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if("manual"!==e){var n=e===Ft?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,i=e===Ft?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;o.default(t.element).on(n,t.config.selector,(function(e){return t._enter(e)})).on(i,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},o.default(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=r({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},e._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},e._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||o.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),o.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Qt:Ft]=!0),o.default(e.getTipElement()).hasClass(Rt)||e._hoverState===xt?e._hoverState=xt:(clearTimeout(e._timeout),e._hoverState=xt,e.config.delay&&e.config.delay.show?e._timeout=setTimeout((function(){e._hoverState===xt&&e.show()}),e.config.delay.show):e.show())},e._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||o.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),o.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Qt:Ft]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=qt,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout((function(){e._hoverState===qt&&e.hide()}),e.config.delay.hide):e.hide())},e._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},e._getConfig=function(t){var e=o.default(this.element).data();return Object.keys(e).forEach((function(t){-1!==Pt.indexOf(t)&&delete e[t]})),"number"==typeof(t=r({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),d.typeCheckConfig(It,t,this.constructor.DefaultType),t.sanitize&&(t.template=At(t.template,t.whiteList,t.sanitizeFn)),t},e._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},e._cleanTipClass=function(){var t=o.default(this.getTipElement()),e=t.attr("class").match(jt);null!==e&&e.length&&t.removeClass(e.join(""))},e._handlePopperPlacementChange=function(t){this.tip=t.instance.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},e._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(o.default(t).removeClass(Lt),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data(kt),a="object"==typeof e&&e;if((i||!/dispose|hide/.test(e))&&(i||(i=new t(this,a),n.data(kt,i)),"string"==typeof e)){if("undefined"==typeof i[e])throw new TypeError('No method n
vendor: 13,172 bytes, lines 5569-5570
5569amed "'+e+'"');i[e]()}}))},l(t,null,[{key:"VERSION",get:function(){return"4.6.2"}},{key:"Default",get:function(){return Ht}},{key:"NAME",get:function(){return It}},{key:"DATA_KEY",get:function(){return kt}},{key:"Event",get:function(){return Mt}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return Ut}}]),t}();o.default.fn.tooltip=Wt._jQueryInterface,o.default.fn.tooltip.Constructor=Wt,o.default.fn.tooltip.noConflict=function(){return o.default.fn.tooltip=Ot,Wt._jQueryInterface};var Vt="bs.popover",zt=o.default.fn.popover,Kt=new RegExp("(^|\\s)bs-popover\\S+","g"),Xt=r({},Wt.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),Yt=r({},Wt.DefaultType,{content:"(string|element|function)"}),$t={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},Jt=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),e.prototype.constructor=e,u(e,n);var a=i.prototype;return a.isWithContent=function(){return this.getTitle()||this._getContent()},a.addAttachmentClass=function(t){o.default(this.getTipElement()).addClass("bs-popover-"+t)},a.getTipElement=function(){return this.tip=this.tip||o.default(this.config.template)[0],this.tip},a.setContent=function(){var t=o.default(this.getTipElement());this.setElementContent(t.find(".popover-header"),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(".popover-body"),e),t.removeClass("fade show")},a._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},a._cleanTipClass=function(){var t=o.default(this.getTipElement()),e=t.attr("class").match(Kt);null!==e&&e.length>0&&t.removeClass(e.join(""))},i._jQueryInterface=function(t){return this.each((function(){var e=o.default(this).data(Vt),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new i(this,n),o.default(this).data(Vt,e)),"string"==typeof t)){if("undefined"==typeof e[t])throw new TypeError('No method named "'+t+'"');e[t]()}}))},l(i,null,[{key:"VERSION",get:function(){return"4.6.2"}},{key:"Default",get:function(){return Xt}},{key:"NAME",get:function(){return"popover"}},{key:"DATA_KEY",get:function(){return Vt}},{key:"Event",get:function(){return $t}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return Yt}}]),i}(Wt);o.default.fn.popover=Jt._jQueryInterface,o.default.fn.popover.Constructor=Jt,o.default.fn.popover.noConflict=function(){return o.default.fn.popover=zt,Jt._jQueryInterface};var Gt="scrollspy",Zt="bs.scrollspy",te=o.default.fn[Gt],ee="active",ne="position",ie=".nav, .list-group",oe={offset:10,method:"auto",target:""},ae={offset:"number",method:"string",target:"(string|element)"},se=function(){function t(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" .nav-link,"+this._config.target+" .list-group-item,"+this._config.target+" .dropdown-item",this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,o.default(this._scrollElement).on("scroll.bs.scrollspy",(function(t){return n._process(t)})),this.refresh(),this._process()}var e=t.prototype;return e.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?"offset":ne,n="auto"===this._config.method?e:this._config.method,i=n===ne?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map((function(t){var e,a=d.getSelectorFromElement(t);if(a&&(e=document.querySelector(a)),e){var s=e.getBoundingClientRect();if(s.width||s.height)return[o.default(e)[n]().top+i,a]}return null})).filter(Boolean).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},e.dispose=function(){o.default.removeData(this._element,Zt),o.default(this._scrollElement).off(".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},e._getConfig=function(t){if("string"!=typeof(t=r({},oe,"object"==typeof t&&t?t:{})).target&&d.isElement(t.target)){var e=o.default(t.target).attr("id");e||(e=d.getUID(Gt),o.default(t.target).attr("id",e)),t.target="#"+e}return d.typeCheckConfig(Gt,t,ae),t},e._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},e._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},e._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},e._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;)this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t<this._offsets[o+1])&&this._activate(this._targets[o])}},e._activate=function(t){this._activeTarget=t,this._clear();var e=this._selector.split(",").map((function(e){return e+'[data-target="'+t+'"],'+e+'[href="'+t+'"]'})),n=o.default([].slice.call(document.querySelectorAll(e.join(","))));n.hasClass("dropdown-item")?(n.closest(".dropdown").find(".dropdown-toggle").addClass(ee),n.addClass(ee)):(n.addClass(ee),n.parents(ie).prev(".nav-link, .list-group-item").addClass(ee),n.parents(ie).prev(".nav-item").children(".nav-link").addClass(ee)),o.default(this._scrollElement).trigger("activate.bs.scrollspy",{relatedTarget:t})},e._clear=function(){[].slice.call(document.querySelectorAll(this._selector)).filter((function(t){return t.classList.contains(ee)})).forEach((function(t){return t.classList.remove(ee)}))},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this).data(Zt);if(n||(n=new t(this,"object"==typeof e&&e),o.default(this).data(Zt,n)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},l(t,null,[{key:"VERSION",get:function(){return"4.6.2"}},{key:"Default",get:function(){return oe}}]),t}();o.default(window).on("load.bs.scrollspy.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-spy="scroll"]')),e=t.length;e--;){var n=o.default(t[e]);se._jQueryInterface.call(n,n.data())}})),o.default.fn[Gt]=se._jQueryInterface,o.default.fn[Gt].Constructor=se,o.default.fn[Gt].noConflict=function(){return o.default.fn[Gt]=te,se._jQueryInterface};var le="bs.tab",re=o.default.fn.tab,ue="active",fe="fade",de="show",ce=".active",he="> li > .active",ge=function(){function t(t){this._element=t}var e=t.prototype;return e.show=function(){var t=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&o.default(this._element).hasClass(ue)||o.default(this._element).hasClass("disabled")||this._element.hasAttribute("disabled"))){var e,n,i=o.default(this._element).closest(".nav, .list-group")[0],a=d.getSelectorFromElement(this._element);if(i){var s="UL"===i.nodeName||"OL"===i.nodeName?he:ce;n=(n=o.default.makeArray(o.default(i).find(s)))[n.length-1]}var l=o.default.Event("hide.bs.tab",{relatedTarget:this._element}),r=o.default.Event("show.bs.tab",{relatedTarget:n});if(n&&o.default(n).trigger(l),o.default(this._element).trigger(r),!r.isDefaultPrevented()&&!l.isDefaultPrevented()){a&&(e=document.querySelector(a)),this._activate(this._element,i);var u=function(){var e=o.default.Event("hidden.bs.tab",{relatedTarget:t._element}),i=o.default.Event("shown.bs.tab",{relatedTarget:n});o.default(n).trigger(e),o.default(t._element).trigger(i)};e?this._activate(e,e.parentNode,u):u()}}},e.dispose=function(){o.default.removeData(this._element,le),this._element=null},e._activate=function(t,e,n){var i=this,a=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?o.default(e).children(ce):o.default(e).find(he))[0],s=n&&a&&o.default(a).hasClass(fe),l=function(){return i._transitionComplete(t,a,n)};if(a&&s){var r=d.getTransitionDurationFromElement(a);o.default(a).removeClass(de).one(d.TRANSITION_END,l).emulateTransitionEnd(r)}else l()},e._transitionComplete=function(t,e,n){if(e){o.default(e).removeClass(ue);var i=o.default(e.parentNode).find("> .dropdown-menu .active")[0];i&&o.default(i).removeClass(ue),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}o.default(t).addClass(ue),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),d.reflow(t),t.classList.contains(fe)&&t.classList.add(de);var a=t.parentNode;if(a&&"LI"===a.nodeName&&(a=a.parentNode),a&&o.default(a).hasClass("dropdown-menu")){var s=o.default(t).closest(".dropdown")[0];if(s){var l=[].slice.call(s.querySelectorAll(".dropdown-toggle"));o.default(l).addClass(ue)}t.setAttribute("aria-expanded",!0)}n&&n()},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data(le);if(i||(i=new t(this),n.data(le,i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}}))},l(t,null,[{key:"VERSION",get:function(){return"4.6.2"}}]),t}();o.default(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',(function(t){t.preventDefault(),ge._jQueryInterface.call(o.default(this),"show")})),o.default.fn.tab=ge._jQueryInterface,o.default.fn.tab.Constructor=ge,o.default.fn.tab.noConflict=function(){return o.default.fn.tab=re,ge._jQueryInterface};var me="bs.toast",pe=o.default.fn.toast,_e="hide",ve="show",ye="showing",be="click.dismiss.bs.toast",Ee={animation:!0,autohide:!0,delay:500},Te={animation:"boolean",autohide:"boolean",delay:"number"},we=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var e=t.prototype;return e.show=function(){var t=this,e=o.default.Event("show.bs.toast");if(o.default(this._element).trigger(e),!e.isDefaultPrevented()){this._clearTimeout(),this._config.animation&&this._element.classList.add("fade");var n=function(){t._element.classList.remove(ye),t._element.classList.add(ve),o.default(t._element).trigger("shown.bs.toast"),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove(_e),d.reflow(this._element),this._element.classList.add(ye),this._config.animation){var i=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,n).emulateTransitionEnd(i)}else n()}},e.hide=function(){if(this._element.classList.contains(ve)){var t=o.default.Event("hide.bs.toast");o.default(this._element).trigger(t),t.isDefaultPrevented()||this._close()}},e.dispose=function(){this._clearTimeout(),this._element.classList.contains(ve)&&this._element.classList.remove(ve),o.default(this._element).off(be),o.default.removeData(this._element,me),this._element=null,this._config=null},e._getConfig=function(t){return t=r({},Ee,o.default(this._element).data(),"object"==typeof t&&t?t:{}),d.typeCheckConfig("toast",t,this.constructor.DefaultType),t},e._setListeners=function(){var t=this;o.default(this._element).on(be,'[data-dismiss="toast"]',(function(){return t.hide()}))},e._close=function(){var t=this,e=function(){t._element.classList.add(_e),o.default(t._element).trigger("hidden.bs.toast")};if(this._element.classList.remove(ve),this._config.animation){var n=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},e._clearTimeout=function(){clearTimeout(this._timeout),this._timeout=null},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data(me);if(i||(i=new t(this,"object"==typeof e&&e),n.data(me,i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e](this)}}))},l(t,null,[{key:"VERSION",get:function(){return"4.6.2"}},{key:"DefaultType",get:function(){return Te}},{key:"Default",get:function(){return Ee}}]),t}();o.default.fn.toast=we._jQueryInterface,o.default.fn.toast.Constructor=we,o.default.fn.toast.noConflict=function(){return o.default.fn.toast=pe,we._jQueryInterface},t.Alert=g,t.Button=E,t.Carousel=P,t.Collapse=V,t.Dropdown=lt,t.Modal=Ct,t.Popover=Jt,t.Scrollspy=se,t.Tab=ge,t.Toast=we,t.Tooltip=Wt,t.Util=d,Object.defineProperty(t,"__esModule",{value:!0})})); 5570//# sourceMappingURL=bootstrap.min.js.map
vendor: 11,442 bytes, lines 5570-5588
5570 5571 5572/* 5573 _ _ _ _ 5574 ___| (_) ___| | __ (_)___ 5575/ __| | |/ __| |/ / | / __| 5576\__ \ | | (__| < _ | \__ \ 5577|___/_|_|\___|_|\_(_)/ |___/ 5578 |__/ 5579 5580 Version: 1.6.0 5581 Author: Ken Wheeler 5582 Website: http://kenwheeler.github.io 5583 Docs: http://kenwheeler.github.io/slick 5584 Repo: http://github.com/kenwheeler/slick 5585 Issues: http://github.com/kenwheeler/slick/issues 5586 5587 */ 5588!function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):"undefined"!=typeof exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){"use strict";var b=window.Slick||{};b=function(){function c(c,d){var f,e=this;e.defaults={accessibility:!0,adaptiveHeight:!1,appendArrows:a(c),appendDots:a(c),arrows:!0,asNavFor:null,prevArrow:'<button type="button" data-role="none" class="slick-prev" aria-label="Previous" tabindex="0" role="button">Previous</button>',nextArrow:'<button type="button" data-role="none" class="slick-next" aria-label="Next" tabindex="0" role="button">Next</button>',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(b,c){return a('<button type="button" data-role="none" role="button" tabindex="0" />').text(c+1)},dots:!1,dotsClass:"slick-dots",draggable:!0,easing:"linear",edgeFriction:.35,fade:!1,focusOnSelect:!1,infinite:!0,initialSlide:0,lazyLoad:"ondemand",mobileFirst:!1,pauseOnHover:!0,pauseOnFocus:!0,pauseOnDotsHover:!1,respondTo:"window",responsive:null,rows:1,rtl:!1,slide:"",slidesPerRow:1,slidesToShow:1,slidesToScroll:1,speed:500,swipe:!0,swipeToSlide:!1,touchMove:!0,touchThreshold:5,useCSS:!0,useTransform:!0,variableWidth:!1,vertical:!1,verticalSwiping:!1,waitForAnimate:!0,zIndex:1e3},e.initials={animating:!1,dragging:!1,autoPlayTimer:null,currentDirection:0,currentLeft:null,currentSlide:0,direction:1,$dots:null,listWidth:null,listHeight:null,loadIndex:0,$nextArrow:null,$prevArrow:null,slideCount:null,slideWidth:null,$slideTrack:null,$slides:null,sliding:!1,slideOffset:0,swipeLeft:null,$list:null,touchObject:{},transformsEnabled:!1,unslicked:!1},a.extend(e,e.initials),e.activeBreakpoint=null,e.animType=null,e.animProp=null,e.breakpoints=[],e.breakpointSettings=[],e.cssTransitions=!1,e.focussed=!1,e.interrupted=!1,e.hidden="hidden",e.paused=!0,e.positionProp=null,e.respondTo=null,e.rowCount=1,e.shouldClick=!0,e.$slider=a(c),e.$slidesCache=null,e.transformType=null,e.transitionType=null,e.visibilityChange="visibilitychange",e.windowWidth=0,e.windowTimer=null,f=a(c).data("slick")||{},e.options=a.extend({},e.defaults,d,f),e.currentSlide=e.options.initialSlide,e.originalSettings=e.options,"undefined"!=typeof document.mozHidden?(e.hidden="mozHidden",e.visibilityChange="mozvisibilitychange"):"undefined"!=typeof document.webkitHidden&&(e.hidden="webkitHidden",e.visibilityChange="webkitvisibilitychange"),e.autoPlay=a.proxy(e.autoPlay,e),e.autoPlayClear=a.proxy(e.autoPlayClear,e),e.autoPlayIterator=a.proxy(e.autoPlayIterator,e),e.changeSlide=a.proxy(e.changeSlide,e),e.clickHandler=a.proxy(e.clickHandler,e),e.selectHandler=a.proxy(e.selectHandler,e),e.setPosition=a.proxy(e.setPosition,e),e.swipeHandler=a.proxy(e.swipeHandler,e),e.dragHandler=a.proxy(e.dragHandler,e),e.keyHandler=a.proxy(e.keyHandler,e),e.instanceUid=b++,e.htmlExpr=/^(?:\s*(<[\w\W]+>)[^>]*)$/,e.registerBreakpoints(),e.init(!0)}var b=0;return c}(),b.prototype.activateADA=function(){var a=this;a.$slideTrack.find(".slick-active").attr({"aria-hidden":"false"}).find("a, input, button, select").attr({tabindex:"0"})},b.prototype.addSlide=b.prototype.slickAdd=function(b,c,d){var e=this;if("boolean"==typeof c)d=c,c=null;else if(0>c||c>=e.slideCount)return!1;e.unload(),"number"==typeof c?0===c&&0===e.$slides.length?a(b).appendTo(e.$slideTrack):d?a(b).insertBefore(e.$slides.eq(c)):a(b).insertAfter(e.$slides.eq(c)):d===!0?a(b).prependTo(e.$slideTrack):a(b).appendTo(e.$slideTrack),e.$slides=e.$slideTrack.children(this.options.slide),e.$slideTrack.children(this.options.slide).detach(),e.$slideTrack.append(e.$slides),e.$slides.each(function(b,c){a(c).attr("data-slick-index",b)}),e.$slidesCache=e.$slides,e.reinit()},b.prototype.animateHeight=function(){var a=this;if(1===a.options.slidesToShow&&a.options.adaptiveHeight===!0&&a.options.vertical===!1){var b=a.$slides.eq(a.currentSlide).outerHeight(!0);a.$list.animate({height:b},a.options.speed)}},b.prototype.animateSlide=function(b,c){var d={},e=this;e.animateHeight(),e.options.rtl===!0&&e.options.vertical===!1&&(b=-b),e.transformsEnabled===!1?e.options.vertical===!1?e.$slideTrack.animate({left:b},e.options.speed,e.options.easing,c):e.$slideTrack.animate({top:b},e.options.speed,e.options.easing,c):e.cssTransitions===!1?(e.options.rtl===!0&&(e.currentLeft=-e.currentLeft),a({animStart:e.currentLeft}).animate({animStart:b},{duration:e.options.speed,easing:e.options.easing,step:function(a){a=Math.ceil(a),e.options.vertical===!1?(d[e.animType]="translate("+a+"px, 0px)",e.$slideTrack.css(d)):(d[e.animType]="translate(0px,"+a+"px)",e.$slideTrack.css(d))},complete:function(){c&&c.call()}})):(e.applyTransition(),b=Math.ceil(b),e.options.vertical===!1?d[e.animType]="translate3d("+b+"px, 0px, 0px)":d[e.animType]="translate3d(0px,"+b+"px, 0px)",e.$slideTrack.css(d),c&&setTimeout(function(){e.disableTransition(),c.call()},e.options.speed))},b.prototype.getNavTarget=function(){var b=this,c=b.options.asNavFor;return c&&null!==c&&(c=a(c).not(b.$slider)),c},b.prototype.asNavFor=function(b){var c=this,d=c.getNavTarget();null!==d&&"object"==typeof d&&d.each(function(){var c=a(this).slick("getSlick");c.unslicked||c.slideHandler(b,!0)})},b.prototype.applyTransition=function(a){var b=this,c={};b.options.fade===!1?c[b.transitionType]=b.transformType+" "+b.options.speed+"ms "+b.options.cssEase:c[b.transitionType]="opacity "+b.options.speed+"ms "+b.options.cssEase,b.options.fade===!1?b.$slideTrack.css(c):b.$slides.eq(a).css(c)},b.prototype.autoPlay=function(){var a=this;a.autoPlayClear(),a.slideCount>a.options.slidesToShow&&(a.autoPlayTimer=setInterval(a.autoPlayIterator,a.options.autoplaySpeed))},b.prototype.autoPlayClear=function(){var a=this;a.autoPlayTimer&&clearInterval(a.autoPlayTimer)},b.prototype.autoPlayIterator=function(){var a=this,b=a.currentSlide+a.options.slidesToScroll;a.paused||a.interrupted||a.focussed||(a.options.infinite===!1&&(1===a.direction&&a.currentSlide+1===a.slideCount-1?a.direction=0:0===a.direction&&(b=a.currentSlide-a.options.slidesToScroll,a.currentSlide-1===0&&(a.direction=1))),a.slideHandler(b))},b.prototype.buildArrows=function(){var b=this;b.options.arrows===!0&&(b.$prevArrow=a(b.options.prevArrow).addClass("slick-arrow"),b.$nextArrow=a(b.options.nextArrow).addClass("slick-arrow"),b.slideCount>b.options.slidesToShow?(b.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),b.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),b.htmlExpr.test(b.options.prevArrow)&&b.$prevArrow.prependTo(b.options.appendArrows),b.htmlExpr.test(b.options.nextArrow)&&b.$nextArrow.appendTo(b.options.appendArrows),b.options.infinite!==!0&&b.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true")):b.$prevArrow.add(b.$nextArrow).addClass("slick-hidden").attr({"aria-disabled":"true",tabindex:"-1"}))},b.prototype.buildDots=function(){var c,d,b=this;if(b.options.dots===!0&&b.slideCount>b.options.slidesToShow){for(b.$slider.addClass("slick-dotted"),d=a("<ul />").addClass(b.options.dotsClass),c=0;c<=b.getDotCount();c+=1)d.append(a("<li />").append(b.options.customPaging.call(this,b,c)));b.$dots=d.appendTo(b.options.appendDots),b.$dots.find("li").first().addClass("slick-active").attr("aria-hidden","false")}},b.prototype.buildOut=function(){var b=this;b.$slides=b.$slider.children(b.options.slide+":not(.slick-cloned)").addClass("slick-slide"),b.slideCount=b.$slides.length,b.$slides.each(function(b,c){a(c).attr("data-slick-index",b).data("originalStyling",a(c).attr("style")||"")}),b.$slider.addClass("slick-slider"),b.$slideTrack=0===b.slideCount?a('<div class="slick-track"/>').appendTo(b.$slider):b.$slides.wrapAll('<div class="slick-track"/>').parent(),b.$list=b.$slideTrack.wrap('<div aria-live="polite" class="slick-list"/>').parent(),b.$slideTrack.css("opacity",0),(b.options.centerMode===!0||b.options.swipeToSlide===!0)&&(b.options.slidesToScroll=1),a("img[data-lazy]",b.$slider).not("[src]").addClass("slick-loading"),b.setupInfinite(),b.buildArrows(),b.buildDots(),b.updateDots(),b.setSlideClasses("number"==typeof b.currentSlide?b.currentSlide:0),b.options.draggable===!0&&b.$list.addClass("draggable")},b.prototype.buildRows=function(){var b,c,d,e,f,g,h,a=this;if(e=document.createDocumentFragment(),g=a.$slider.children(),a.options.rows>1){for(h=a.options.slidesPerRow*a.options.rows,f=Math.ceil(g.length/h),b=0;f>b;b++){var i=document.createElement("div");for(c=0;c<a.options.rows;c++){var j=document.createElement("div");for(d=0;d<a.options.slidesPerRow;d++){var k=b*h+(c*a.options.slidesPerRow+d);g.get(k)&&j.appendChild(g.get(k))}i.appendChild(j)}e.appendChild(i)}a.$slider.empty().append(e),a.$slider.children().children().children().css({width:100/a.options.slidesPerRow+"%",display:"inline-block"})}},b.prototype.checkResponsive=function(b,c){var e,f,g,d=this,h=!1,i=d.$slider.width(),j=window.innerWidth||a(window).width();if("window"===d.respondTo?g=j:"slider"===d.respondTo?g=i:"min"===d.respondTo&&(g=Math.min(j,i)),d.options.responsive&&d.options.responsive.length&&null!==d.options.responsive){f=null;for(e in d.breakpoints)d.breakpoints.hasOwnProperty(e)&&(d.originalSettings.mobileFirst===!1?g<d.breakpoints[e]&&(f=d.breakpoints[e]):g>d.breakpoints[e]&&(f=d.breakpoints[e]));null!==f?null!==d.activeBreakpoint?(f!==d.activeBreakpoint||c)&&(d.activeBreakpoint=f,"unslick"===d.breakpointSettings[f]?d.unslick(f):(d.options=a.extend({},d.originalSettings,d.breakpointSettings[f]),b===!0&&(d.currentSlide=d.options.initialSlide),d.refresh(b)),h=f):(d.activeBreakpoint=f,"unslick"===d.breakpointSettings[f]?d.unslick(f):(d.options=a.extend({},d.originalSettings,d.breakpointSettings[f]),b===!0&&(d.currentSlide=d.options.initialSlide),d.refresh(b)),h=f):null!==d.activeBreakpoint&&(d.activeBreakpoint=null,d.options=d.originalSettings,b===!0&&(d.currentSlide=d.options.initialSlide),d.refresh(b),h=f),b||h===!1||d.$slider.trigger("breakpoint",[d,h])}},b.prototype.changeSlide=function(b,c){var f,g,h,d=this,e=a(b.currentTarget);switch(e.is("a")&&b.preventDefault(),e.is("li")||(e=e.closest("li")),h=d.slideCount%d.options.slidesToScroll!==0,f=h?0:(d.slideCount-d.currentSlide)%d.options.slidesToScroll,b.data.message){case"previous":g=0===f?d.options.slidesToScroll:d.options.slidesToShow-f,d.slideCount>d.options.slidesToShow&&d.slideHandler(d.currentSlide-g,!1,c);break;case"next":g=0===f?d.options.slidesToScroll:f,d.slideCount>d.options.slidesToShow&&d.slideHandler(d.currentSlide+g,!1,c);break;case"index":var i=0===b.data.index?0:b.data.index||e.index()*d.options.slidesToScroll;d.slideHandler(d.checkNavigable(i),!1,c),e.children().trigger("focus");break;default:return}},b.prototype.checkNavigable=function(a){var c,d,b=this;if(c=b.getNavigableIndexes(),d=0,a>c[c.length-1])a=c[c.length-1];else for(var e in c){if(a<c[e]){a=d;break}d=c[e]}return a},b.prototype.cleanUpEvents=function(){var b=this;b.options.dots&&null!==b.$dots&&a("li",b.$dots).off("click.slick",b.changeSlide).off("mouseenter.slick",a.proxy(b.interrupt,b,!0)).off("mouseleave.
5588slick",a.proxy(b.interrupt,b,!1)),b.$slider.off("focus.slick blur.slick"),b.options.arrows===!0&&b.slideCount>b.options.slidesToShow&&(b.$prevArrow&&b.$prevArrow.off("click.slick",b.changeSlide),b.$nextArrow&&b.$nextArrow.off("click.slick",b.changeSlide)),b.$list.off("touchstart.slick mousedown.slick",b.swipeHandler),b.$list.off("touchmove.slick mousemove.slick",b.swipeHandler),b.$list.off("touchend.slick mouseup.slick",b.swipeHandler),b.$list.off("touchcancel.slick mouseleave.slick",b.swipeHandler),b.$list.off("click.slick",b.clickHandler),a(document).off(b.visibilityChange,b.visibility),b.cleanUpSlideEvents(),b.options.accessibility===!0&&b.$list.off("keydown.slick",b.keyHandler),b.options.focusOnSelect===!0&&a(b.$slideTrack).children().off("click.slick",b.selectHandler),a(window).off("orientationchange.slick.slick-"+b.instanceUid,b.orientationChange),a(window).off("resize.slick.slick-"+b.instanceUid,b.resize),a("[draggable!=true]",b.$slideTrack).off("dragstart",b.preventDefault),a(window).off("load.slick.slick-"+b.instanceUid,b.setPosition),a(document).off("ready.slick.slick-"+b.instanceUid,b.setPosition)},b.prototype.cleanUpSlideEvents=function(){var b=this;b.$list.off("mouseenter.slick",a.proxy(b.interrupt,b,!0)),b.$list.off("mouseleave.slick",a.proxy(b.interrupt,b,!1))},b.prototype.cleanUpRows=function(){var b,a=this;a.options.rows>1&&(b=a.$slides.children().children(),b.removeAttr("style"),a.$slider.empty().append(b))},b.prototype.clickHandler=function(a){var b=this;b.shouldClick===!1&&(a.stopImmediatePropagation(),a.stopPropagation(),a.preventDefault())},b.prototype.destroy=function(b){var c=this;c.autoPlayClear(),c.touchObject={},c.cleanUpEvents(),a(".slick-cloned",c.$slider).detach(),c.$dots&&c.$dots.remove(),c.$prevArrow&&c.$prevArrow.length&&(c.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),c.htmlExpr.test(c.options.prevArrow)&&c.$prevArrow.remove()),c.$nextArrow&&c.$nextArrow.length&&(c.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),c.htmlExpr.test(c.options.nextArrow)&&c.$nextArrow.remove()),c.$slides&&(c.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function(){a(this).attr("style",a(this).data("originalStyling"))}),c.$slideTrack.children(this.options.slide).detach(),c.$slideTrack.detach(),c.$list.detach(),c.$slider.append(c.$slides)),c.cleanUpRows(),c.$slider.removeClass("slick-slider"),c.$slider.removeClass("slick-initialized"),c.$slider.removeClass("slick-dotted"),c.unslicked=!0,b||c.$slider.trigger("destroy",[c])},b.prototype.disableTransition=function(a){var b=this,c={};c[b.transitionType]="",b.options.fade===!1?b.$slideTrack.css(c):b.$slides.eq(a).css(c)},b.prototype.fadeSlide=function(a,b){var c=this;c.cssTransitions===!1?(c.$slides.eq(a).css({zIndex:c.options.zIndex}),c.$slides.eq(a).animate({opacity:1},c.options.speed,c.options.easing,b)):(c.applyTransition(a),c.$slides.eq(a).css({opacity:1,zIndex:c.options.zIndex}),b&&setTimeout(function(){c.disableTransition(a),b.call()},c.options.speed))},b.prototype.fadeSlideOut=function(a){var b=this;b.cssTransitions===!1?b.$slides.eq(a).animate({opacity:0,zIndex:b.options.zIndex-2},b.options.speed,b.options.easing):(b.applyTransition(a),b.$slides.eq(a).css({opacity:0,zIndex:b.options.zIndex-2}))},b.prototype.filterSlides=b.prototype.slickFilter=function(a){var b=this;null!==a&&(b.$slidesCache=b.$slides,b.unload(),b.$slideTrack.children(this.options.slide).detach(),b.$slidesCache.filter(a).appendTo(b.$slideTrack),b.reinit())},b.prototype.focusHandler=function(){var b=this;b.$slider.off("focus.slick blur.slick").on("focus.slick blur.slick","*:not(.slick-arrow)",function(c){c.stopImmediatePropagation();var d=a(this);setTimeout(function(){b.options.pauseOnFocus&&(b.focussed=d.is(":focus"),b.autoPlay())},0)})},b.prototype.getCurrent=b.prototype.slickCurrentSlide=function(){var a=this;return a.currentSlide},b.prototype.getDotCount=function(){var a=this,b=0,c=0,d=0;if(a.options.infinite===!0)for(;b<a.slideCount;)++d,b=c+a.options.slidesToScroll,c+=a.options.slidesToScroll<=a.options.slidesToShow?a.options.slidesToScroll:a.options.slidesToShow;else if(a.options.centerMode===!0)d=a.slideCount;else if(a.options.asNavFor)for(;b<a.slideCount;)++d,b=c+a.options.slidesToScroll,c+=a.options.slidesToScroll<=a.options.slidesToShow?a.options.slidesToScroll:a.options.slidesToShow;else d=1+Math.ceil((a.slideCount-a.options.slidesToShow)/a.options.slidesToScroll);return d-1},b.prototype.getLeft=function(a){var c,d,f,b=this,e=0;return b.slideOffset=0,d=b.$slides.first().outerHeight(!0),b.options.infinite===!0?(b.slideCount>b.options.slidesToShow&&(b.slideOffset=b.slideWidth*b.options.slidesToShow*-1,e=d*b.options.slidesToShow*-1),b.slideCount%b.options.slidesToScroll!==0&&a+b.options.slidesToScroll>b.slideCount&&b.slideCount>b.options.slidesToShow&&(a>b.slideCount?(b.slideOffset=(b.options.slidesToShow-(a-b.slideCount))*b.slideWidth*-1,e=(b.options.slidesToShow-(a-b.slideCount))*d*-1):(b.slideOffset=b.slideCount%b.options.slidesToScroll*b.slideWidth*-1,e=b.slideCount%b.options.slidesToScroll*d*-1))):a+b.o
vendor: 4,100 bytes, line 5588
5588ptions.slidesToShow>b.slideCount&&(b.slideOffset=(a+b.options.slidesToShow-b.slideCount)*b.slideWidth,e=(a+b.options.slidesToShow-b.slideCount)*d),b.slideCount<=b.options.slidesToShow&&(b.slideOffset=0,e=0),b.options.centerMode===!0&&b.options.infinite===!0?b.slideOffset+=b.slideWidth*Math.floor(b.options.slidesToShow/2)-b.slideWidth:b.options.centerMode===!0&&(b.slideOffset=0,b.slideOffset+=b.slideWidth*Math.floor(b.options.slidesToShow/2)),c=b.options.vertical===!1?a*b.slideWidth*-1+b.slideOffset:a*d*-1+e,b.options.variableWidth===!0&&(f=b.slideCount<=b.options.slidesToShow||b.options.infinite===!1?b.$slideTrack.children(".slick-slide").eq(a):b.$slideTrack.children(".slick-slide").eq(a+b.options.slidesToShow),c=b.options.rtl===!0?f[0]?-1*(b.$slideTrack.width()-f[0].offsetLeft-f.width()):0:f[0]?-1*f[0].offsetLeft:0,b.options.centerMode===!0&&(f=b.slideCount<=b.options.slidesToShow||b.options.infinite===!1?b.$slideTrack.children(".slick-slide").eq(a):b.$slideTrack.children(".slick-slide").eq(a+b.options.slidesToShow+1),c=b.options.rtl===!0?f[0]?-1*(b.$slideTrack.width()-f[0].offsetLeft-f.width()):0:f[0]?-1*f[0].offsetLeft:0,c+=(b.$list.width()-f.outerWidth())/2)),c},b.prototype.getOption=b.prototype.slickGetOption=function(a){var b=this;return b.options[a]},b.prototype.getNavigableIndexes=function(){var e,a=this,b=0,c=0,d=[];for(a.options.infinite===!1?e=a.slideCount:(b=-1*a.options.slidesToScroll,c=-1*a.options.slidesToScroll,e=2*a.slideCount);e>b;)d.push(b),b=c+a.options.slidesToScroll,c+=a.options.slidesToScroll<=a.options.slidesToShow?a.options.slidesToScroll:a.options.slidesToShow;return d},b.prototype.getSlick=function(){return this},b.prototype.getSlideCount=function(){var c,d,e,b=this;return e=b.options.centerMode===!0?b.slideWidth*Math.floor(b.options.slidesToShow/2):0,b.options.swipeToSlide===!0?(b.$slideTrack.find(".slick-slide").each(function(c,f){return f.offsetLeft-e+a(f).outerWidth()/2>-1*b.swipeLeft?(d=f,!1):void 0}),c=Math.abs(a(d).attr("data-slick-index")-b.currentSlide)||1):b.options.slidesToScroll},b.prototype.goTo=b.prototype.slickGoTo=function(a,b){var c=this;c.changeSlide({data:{message:"index",index:parseInt(a)}},b)},b.prototype.init=function(b){var c=this;a(c.$slider).hasClass("slick-initialized")||(a(c.$slider).addClass("slick-initialized"),c.buildRows(),c.buildOut(),c.setProps(),c.startLoad(),c.loadSlider(),c.initializeEvents(),c.updateArrows(),c.updateDots(),c.checkResponsive(!0),c.focusHandler()),b&&c.$slider.trigger("init",[c]),c.options.accessibility===!0&&c.initADA(),c.options.autoplay&&(c.paused=!1,c.autoPlay())},b.prototype.initADA=function(){var b=this;b.$slides.add(b.$slideTrack.find(".slick-cloned")).attr({"aria-hidden":"true",tabindex:"-1"}).find("a, input, button, select").attr({tabindex:"-1"}),b.$slideTrack.attr("role","listbox"),b.$slides.not(b.$slideTrack.find(".slick-cloned")).each(function(c){a(this).attr({role:"option","aria-describedby":"slick-slide"+b.instanceUid+c})}),null!==b.$dots&&b.$dots.attr("role","tablist").find("li").each(function(c){a(this).attr({role:"presentation","aria-selected":"false","aria-controls":"navigation"+b.instanceUid+c,id:"slick-slide"+b.instanceUid+c})}).first().attr("aria-selected","true").end().find("button").attr("role","button").end().closest("div").attr("role","toolbar"),b.activateADA()},b.prototype.initArrowEvents=function(){var a=this;a.options.arrows===!0&&a.slideCount>a.options.slidesToShow&&(a.$prevArrow.off("click.slick").on("click.slick",{message:"previous"},a.changeSlide),a.$nextArrow.off("click.slick").on("click.slick",{message:"next"},a.changeSlide))},b.prototype.initDotEvents=function(){var b=this;b.options.dots===!0&&b.slideCount>b.options.slidesToShow&&a("li",b.$dots).on("click.slick",{message:"index"},b.changeSlide),b.options.dots===!0&&b.options.pauseOnDotsHover===!0&&a("li",b.$dots).on("mouseenter.slick",a.proxy(b.interrupt,b,!0)).on("mouseleave.slick",a.proxy(b.interrupt,b,!1))},b.prototype.initSlideEvents=function(){var b=this;b.options.pauseOnHover&&(b.$list.on("mouseenter.slick",a.proxy(b.interrupt,b,!0)),b.$list.on("mouseleave.
5588slick",a.proxy(b.interrupt,b,!1)))},b.prototype.initializeEvents=function(){var b=this;b.initArrowEvents(),b.initDotEvents(),b.initSlideEvents(),b.$list.on("touchstart.slick mousedown.slick",{action:"start"},b.swipeHandler),b.$list.on("touchmove.slick mousemove.slick",{action:"move"},b.swipeHandler),b.$list.on("touchend.slick mouseup.slick",{action:"end"},b.swipeHandler),b.$list.on("touchcancel.slick mouseleave.slick",{action:"end"},b.swipeHandler),b.$list.on("click.slick",b.clickHandler),a(document).on(b.visibilityChange,a.proxy(b.visibility,b)),b.options.accessibility===!0&&b.$list.on("keydown.slick",b.keyHandler),b.options.focusOnSelect===!0&&a(b.$slideTrack).children().on("click.slick",b.selectHandler),a(window).on("orientationchange.slick.slick-"+b.instanceUid,a.proxy(b.orientationChange,b)),a(window).on("resize.slick.slick-"+b.instanceUid,a.proxy(b.resize,b)),a("[draggable!=true]",b.$slideTrack).on("dragstart",b.preventDefault),a(window).on("load.slick.slick-"+b.instanceUid,b.setPosition),a(document).on("ready.slick.slick-"+b.instanceUid,b.setPosition)},b.prototype.initUI=function(){var a=this;a.options.arrows===!0&&a.slideCount>a.options.slidesToShow&&(a.$prevArrow.show(),a.$nextArrow.show()),a.options.dots===!0&&a.slideCount>a.options.slidesToShow&&a.$dots.show()},b.prototype.keyHandler=function(a){var b=this;a.target.tagName.match("TEXTAREA|INPUT|SELECT")||(37===a.keyCode&&b.options.accessibility===!0?b.changeSlide({data:{message:b.options.rtl===!0?"next":"previous"}}):39===a.keyCode&&b.options.accessibility===!0&&b.changeSlide({data:{message:b.options.rtl===!0?"previous":"next"}}))},b.prototype.lazyLoad=function(){function g(c){a("img[data-lazy]",c).each(function(){var c=a(this),d=a(this).attr("data-lazy"),e=document.createElement("img");e.onload=function(){c.animate({opacity:0}
vendor: 4,284 bytes, line 5588
5588,100,function(){c.attr("src",d).animate({opacity:1},200,function(){c.removeAttr("data-lazy").removeClass("slick-loading")}),b.$slider.trigger("lazyLoaded",[b,c,d])})},e.onerror=function(){c.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),b.$slider.trigger("lazyLoadError",[b,c,d])},e.src=d})}var c,d,e,f,b=this;b.options.centerMode===!0?b.options.infinite===!0?(e=b.currentSlide+(b.options.slidesToShow/2+1),f=e+b.options.slidesToShow+2):(e=Math.max(0,b.currentSlide-(b.options.slidesToShow/2+1)),f=2+(b.options.slidesToShow/2+1)+b.currentSlide):(e=b.options.infinite?b.options.slidesToShow+b.currentSlide:b.currentSlide,f=Math.ceil(e+b.options.slidesToShow),b.options.fade===!0&&(e>0&&e--,f<=b.slideCount&&f++)),c=b.$slider.find(".slick-slide").slice(e,f),g(c),b.slideCount<=b.options.slidesToShow?(d=b.$slider.find(".slick-slide"),g(d)):b.currentSlide>=b.slideCount-b.options.slidesToShow?(d=b.$slider.find(".slick-cloned").slice(0,b.options.slidesToShow),g(d)):0===b.currentSlide&&(d=b.$slider.find(".slick-cloned").slice(-1*b.options.slidesToShow),g(d))},b.prototype.loadSlider=function(){var a=this;a.setPosition(),a.$slideTrack.css({opacity:1}),a.$slider.removeClass("slick-loading"),a.initUI(),"progressive"===a.options.lazyLoad&&a.progressiveLazyLoad()},b.prototype.next=b.prototype.slickNext=function(){var a=this;a.changeSlide({data:{message:"next"}})},b.prototype.orientationChange=function(){var a=this;a.checkResponsive(),a.setPosition()},b.prototype.pause=b.prototype.slickPause=function(){var a=this;a.autoPlayClear(),a.paused=!0},b.prototype.play=b.prototype.slickPlay=function(){var a=this;a.autoPlay(),a.options.autoplay=!0,a.paused=!1,a.focussed=!1,a.interrupted=!1},b.prototype.postSlide=function(a){var b=this;b.unslicked||(b.$slider.trigger("afterChange",[b,a]),b.animating=!1,b.setPosition(),b.swipeLeft=null,b.options.autoplay&&b.autoPlay(),b.options.accessibility===!0&&b.initADA())},b.prototype.prev=b.prototype.slickPrev=function(){var a=this;a.changeSlide({data:{message:"previous"}})},b.prototype.preventDefault=function(a){a.preventDefault()},b.prototype.progressiveLazyLoad=function(b){b=b||1;var e,f,g,c=this,d=a("img[data-lazy]",c.$slider);d.length?(e=d.first(),f=e.attr("data-lazy"),g=document.createElement("img"),g.onload=function(){e.attr("src",f).removeAttr("data-lazy").removeClass("slick-loading"),c.options.adaptiveHeight===!0&&c.setPosition(),c.$slider.trigger("lazyLoaded",[c,e,f]),c.progressiveLazyLoad()},g.onerror=function(){3>b?setTimeout(function(){c.progressiveLazyLoad(b+1)},500):(e.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),c.$slider.trigger("lazyLoadError",[c,e,f]),c.progressiveLazyLoad())},g.src=f):c.$slider.trigger("allImagesLoaded",[c])},b.prototype.refresh=function(b){var d,e,c=this;e=c.slideCount-c.options.slidesToShow,!c.options.infinite&&c.currentSlide>e&&(c.currentSlide=e),c.slideCount<=c.options.slidesToShow&&(c.currentSlide=0),d=c.currentSlide,c.destroy(!0),a.extend(c,c.initials,{currentSlide:d}),c.init(),b||c.changeSlide({data:{message:"index",index:d}},!1)},b.prototype.registerBreakpoints=function(){var c,d,e,b=this,f=b.options.responsive||null;if("array"===a.type(f)&&f.length){b.respondTo=b.options.respondTo||"window";for(c in f)if(e=b.breakpoints.length-1,d=f[c].breakpoint,f.hasOwnProperty(c)){for(;e>=0;)b.breakpoints[e]&&b.breakpoints[e]===d&&b.breakpoints.splice(e,1),e--;b.breakpoints.push(d),b.breakpointSettings[d]=f[c].settings}b.breakpoints.sort(function(a,c){return b.options.mobileFirst?a-c:c-a})}},b.prototype.reinit=function(){var b=this;b.$slides=b.$slideTrack.children(b.options.slide).addClass("slick-slide"),b.slideCount=b.$slides.length,b.currentSlide>=b.slideCount&&0!==b.currentSlide&&(b.currentSlide=b.currentSlide-b.options.slidesToScroll),b.slideCount<=b.options.slidesToShow&&(b.currentSlide=0),b.registerBreakpoints(),b.setProps(),b.setupInfinite(),b.buildArrows(),b.updateArrows(),b.initArrowEvents(),b.buildDots(),b.updateDots(),b.initDotEvents(),b.cleanUpSlideEvents(),b.initSlideEvents(),b.checkResponsive(!1,!0),b.options.focusOnSelect===!0&&a(b.$slideTrack).children().on("click.slick",b.selectHandler),b.setSlideClasses("number"==typeof b.currentSlide?b.currentSlide:0),b.setPosition(),b.focu
vendor: 2,346 bytes, line 5588
5588sHandler(),b.paused=!b.options.autoplay,b.autoPlay(),b.$slider.trigger("reInit",[b])},b.prototype.resize=function(){var b=this;a(window).width()!==b.windowWidth&&(clearTimeout(b.windowDelay),b.windowDelay=window.setTimeout(function(){b.windowWidth=a(window).width(),b.checkResponsive(),b.unslicked||b.setPosition()},50))},b.prototype.removeSlide=b.prototype.slickRemove=function(a,b,c){var d=this;return"boolean"==typeof a?(b=a,a=b===!0?0:d.slideCount-1):a=b===!0?--a:a,d.slideCount<1||0>a||a>d.slideCount-1?!1:(d.unload(),c===!0?d.$slideTrack.children().remove():d.$slideTrack.children(this.options.slide).eq(a).remove(),d.$slides=d.$slideTrack.children(this.options.slide),d.$slideTrack.children(this.options.slide).detach(),d.$slideTrack.append(d.$slides),d.$slidesCache=d.$slides,void d.reinit())},b.prototype.setCSS=function(a){var d,e,b=this,c={};b.options.rtl===!0&&(a=-a),d="left"==b.positionProp?Math.ceil(a)+"px":"0px",e="top"==b.positionProp?Math.ceil(a)+"px":"0px",c[b.positionProp]=a,b.transformsEnabled===!1?b.$slideTrack.css(c):(c={},b.cssTransitions===!1?(c[b.animType]="translate("+d+", "+e+")",b.$slideTrack.css(c)):(c[b.animType]="translate3d("+d+", "+e+", 0px)",b.$slideTrack.css(c)))},b.prototype.setDimensions=function(){var a=this;a.options.vertical===!1?a.options.centerMode===!0&&a.$list.css({padding:"0px "+a.options.centerPadding}):(a.$list.height(a.$slides.first().outerHeight(!0)*a.options.slidesToShow),a.options.centerMode===!0&&a.$list.css({padding:a.options.centerPadding+" 0px"})),a.listWidth=a.$list.width(),a.listHeight=a.$list.height(),a.options.vertical===!1&&a.options.variableWidth===!1?(a.slideWidth=Math.ceil(a.listWidth/a.options.slidesToShow),a.$slideTrack.width(Math.ceil(a.slideWidth*a.$slideTrack.children(".slick-slide").length))):a.options.variableWidth===!0?a.$slideTrack.width(5e3*a.slideCount):(a.slideWidth=Math.ceil(a.listWidth),a.$slideTrack.height(Math.ceil(a.$slides.first().outerHeight(!0)*a.$slideTrack.children(".slick-slide").length)));var b=a.$slides.first().outerWidth(!0)-a.$slides.first().width();a.options.variableWidth===!1&&a.$slideTrack.children(".slick-slide").width(a.slideWidth-b)},b.prototype.setFade=function(){var c,b=this;b.$slides.each(function(d,e){c=b.slideWidth*d*-1,b.options.rtl===!0?a(e).css({position:"relative",right:c,top:0,zIndex:b.options.zIndex-2,opacity:0}
vendor: 3,178 bytes, line 5588
5588):a(e).css({position:"relative",left:c,top:0,zIndex:b.options.zIndex-2,opacity:0})}),b.$slides.eq(b.currentSlide).css({zIndex:b.options.zIndex-1,opacity:1})},b.prototype.setHeight=function(){var a=this;if(1===a.options.slidesToShow&&a.options.adaptiveHeight===!0&&a.options.vertical===!1){var b=a.$slides.eq(a.currentSlide).outerHeight(!0);a.$list.css("height",b)}},b.prototype.setOption=b.prototype.slickSetOption=function(){var c,d,e,f,h,b=this,g=!1;if("object"===a.type(arguments[0])?(e=arguments[0],g=arguments[1],h="multiple"):"string"===a.type(arguments[0])&&(e=arguments[0],f=arguments[1],g=arguments[2],"responsive"===arguments[0]&&"array"===a.type(arguments[1])?h="responsive":"undefined"!=typeof arguments[1]&&(h="single")),"single"===h)b.options[e]=f;else if("multiple"===h)a.each(e,function(a,c){b.options[a]=c});else if("responsive"===h)for(d in f)if("array"!==a.type(b.options.responsive))b.options.responsive=[f[d]];else{for(c=b.options.responsive.length-1;c>=0;)b.options.responsive[c].breakpoint===f[d].breakpoint&&b.options.responsive.splice(c,1),c--;b.options.responsive.push(f[d])}g&&(b.unload(),b.reinit())},b.prototype.setPosition=function(){var a=this;a.setDimensions(),a.setHeight(),a.options.fade===!1?a.setCSS(a.getLeft(a.currentSlide)):a.setFade(),a.$slider.trigger("setPosition",[a])},b.prototype.setProps=function(){var a=this,b=document.body.style;a.positionProp=a.options.vertical===!0?"top":"left","top"===a.positionProp?a.$slider.addClass("slick-vertical"):a.$slider.removeClass("slick-vertical"),(void 0!==b.WebkitTransition||void 0!==b.MozTransition||void 0!==b.msTransition)&&a.options.useCSS===!0&&(a.cssTransitions=!0),a.options.fade&&("number"==typeof a.options.zIndex?a.options.zIndex<3&&(a.options.zIndex=3):a.options.zIndex=a.defaults.zIndex),void 0!==b.OTransform&&(a.animType="OTransform",a.transformType="-o-transform",a.transitionType="OTransition",void 0===b.perspectiveProperty&&void 0===b.webkitPerspective&&(a.animType=!1)),void 0!==b.MozTransform&&(a.animType="MozTransform",a.transformType="-moz-transform",a.transitionType="MozTransition",void 0===b.perspectiveProperty&&void 0===b.MozPerspective&&(a.animType=!1)),void 0!==b.webkitTransform&&(a.animType="webkitTransform",a.transformType="-webkit-transform",a.transitionType="webkitTransition",void 0===b.perspectiveProperty&&void 0===b.webkitPerspective&&(a.animType=!1)),void 0!==b.msTransform&&(a.animType="msTransform",a.transformType="-ms-transform",a.transitionType="msTransition",void 0===b.msTransform&&(a.animType=!1)),void 0!==b.transform&&a.animType!==!1&&(a.animType="transform",a.transformType="transform",a.transitionType="transition"),a.transformsEnabled=a.options.useTransform&&null!==a.animType&&a.animType!==!1},b.prototype.setSlideClasses=function(a){var c,d,e,f,b=this;d=b.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden","true"),b.$slides.eq(a).addClass("slick-current"),b.options.centerMode===!0?(c=Math.floor(b.options.slidesToShow/2),b.options.infinite===!0&&(a>=c&&a<=b.slideCount-1-c?b.$slides.slice(a-c,a+c+1).addClass("slick-active").attr("aria-hidden","false"):(e=b.options.slidesToShow+a,
vendor: 1,607 bytes, line 5589
5589d.slice(e-c+1,e+c+2).addClass("slick-active").attr("aria-hidden","false")),0===a?d.eq(d.length-1-b.options.slidesToShow).addClass("slick-center"):a===b.slideCount-1&&d.eq(b.options.slidesToShow).addClass("slick-center")),b.$slides.eq(a).addClass("slick-center")):a>=0&&a<=b.slideCount-b.options.slidesToShow?b.$slides.slice(a,a+b.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false"):d.length<=b.options.slidesToShow?d.addClass("slick-active").attr("aria-hidden","false"):(f=b.slideCount%b.options.slidesToShow,e=b.options.infinite===!0?b.options.slidesToShow+a:a,b.options.slidesToShow==b.options.slidesToScroll&&b.slideCount-a<b.options.slidesToShow?d.slice(e-(b.options.slidesToShow-f),e+f).addClass("slick-active").attr("aria-hidden","false"):d.slice(e,e+b.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false")),"ondemand"===b.options.lazyLoad&&b.lazyLoad()},b.prototype.setupInfinite=function(){var c,d,e,b=this;if(b.options.fade===!0&&(b.options.centerMode=!1),b.options.infinite===!0&&b.options.fade===!1&&(d=null,b.slideCount>b.options.slidesToShow)){for(e=b.options.centerMode===!0?b.options.slidesToShow+1:b.options.slidesToShow,c=b.slideCount;c>b.slideCount-e;c-=1)d=c-1,a(b.$slides[d]).clone(!0).attr("id","").attr("data-slick-index",d-b.slideCount).prependTo(b.$slideTrack).addClass("slick-cloned");for(c=0;e>c;c+=1)d=c,a(b.$slides[d]).clone(!0).attr("id","").attr("data-slick-index",d+b.slideCount).appendTo(b.$slideTrack).addClass("slick-cloned");b.$slideTrack.find(".slick-cloned").find("[id]").each(function(){a(this).attr("id","")})}},b.prototype.
vendor: 4,540 bytes, line 5589
5589interrupt=function(a){var b=this;a||b.autoPlay(),b.interrupted=a},b.prototype.selectHandler=function(b){var c=this,d=a(b.target).is(".slick-slide")?a(b.target):a(b.target).parents(".slick-slide"),e=parseInt(d.attr("data-slick-index"));return e||(e=0),c.slideCount<=c.options.slidesToShow?(c.setSlideClasses(e),void c.asNavFor(e)):void c.slideHandler(e)},b.prototype.slideHandler=function(a,b,c){var d,e,f,g,j,h=null,i=this;return b=b||!1,i.animating===!0&&i.options.waitForAnimate===!0||i.options.fade===!0&&i.currentSlide===a||i.slideCount<=i.options.slidesToShow?void 0:(b===!1&&i.asNavFor(a),d=a,h=i.getLeft(d),g=i.getLeft(i.currentSlide),i.currentLeft=null===i.swipeLeft?g:i.swipeLeft,i.options.infinite===!1&&i.options.centerMode===!1&&(0>a||a>i.getDotCount()*i.options.slidesToScroll)?void(i.options.fade===!1&&(d=i.currentSlide,c!==!0?i.animateSlide(g,function(){i.postSlide(d)}):i.postSlide(d))):i.options.infinite===!1&&i.options.centerMode===!0&&(0>a||a>i.slideCount-i.options.slidesToScroll)?void(i.options.fade===!1&&(d=i.currentSlide,c!==!0?i.animateSlide(g,function(){i.postSlide(d)}):i.postSlide(d))):(i.options.autoplay&&clearInterval(i.autoPlayTimer),e=0>d?i.slideCount%i.options.slidesToScroll!==0?i.slideCount-i.slideCount%i.options.slidesToScroll:i.slideCount+d:d>=i.slideCount?i.slideCount%i.options.slidesToScroll!==0?0:d-i.slideCount:d,i.animating=!0,i.$slider.trigger("beforeChange",[i,i.currentSlide,e]),f=i.currentSlide,i.currentSlide=e,i.setSlideClasses(i.currentSlide),i.options.asNavFor&&(j=i.getNavTarget(),j=j.slick("getSlick"),j.slideCount<=j.options.slidesToShow&&j.setSlideClasses(i.currentSlide)),i.updateDots(),i.updateArrows(),i.options.fade===!0?(c!==!0?(i.fadeSlideOut(f),i.fadeSlide(e,function(){i.postSlide(e)})):i.postSlide(e),void i.animateHeight()):void(c!==!0?i.animateSlide(h,function(){i.postSlide(e)}):i.postSlide(e))))},b.prototype.startLoad=function(){var a=this;a.options.arrows===!0&&a.slideCount>a.options.slidesToShow&&(a.$prevArrow.hide(),a.$nextArrow.hide()),a.options.dots===!0&&a.slideCount>a.options.slidesToShow&&a.$dots.hide(),a.$slider.addClass("slick-loading")},b.prototype.swipeDirection=function(){var a,b,c,d,e=this;return a=e.touchObject.startX-e.touchObject.curX,b=e.touchObject.startY-e.touchObject.curY,c=Math.atan2(b,a),d=Math.round(180*c/Math.PI),0>d&&(d=360-Math.abs(d)),45>=d&&d>=0?e.options.rtl===!1?"left":"right":360>=d&&d>=315?e.options.rtl===!1?"left":"right":d>=135&&225>=d?e.options.rtl===!1?"right":"left":e.options.verticalSwiping===!0?d>=35&&135>=d?"down":"up":"vertical"},b.prototype.swipeEnd=function(a){var c,d,b=this;if(b.dragging=!1,b.interrupted=!1,b.shouldClick=b.touchObject.swipeLength>10?!1:!0,void 0===b.touchObject.curX)return!1;if(b.touchObject.edgeHit===!0&&b.$slider.trigger("edge",[b,b.swipeDirection()]),b.touchObject.swipeLength>=b.touchObject.minSwipe){switch(d=b.swipeDirection()){case"left":case"down":c=b.options.swipeToSlide?b.checkNavigable(b.currentSlide+b.getSlideCount()):b.currentSlide+b.getSlideCount(),b.currentDirection=0;break;case"right":case"up":c=b.options.swipeToSlide?b.checkNavigable(b.currentSlide-b.getSlideCount()):b.currentSlide-b.getSlideCount(),b.currentDirection=1}"vertical"!=d&&(b.slideHandler(c),b.touchObject={},b.$slider.trigger("swipe",[b,d]))}else b.touchObject.startX!==b.touchObject.curX&&(b.slideHandler(b.currentSlide),b.touchObject={})},b.prototype.swipeHandler=function(a){var b=this;if(!(b.options.swipe===!1||"ontouchend"in document&&b.options.swipe===!1||b.options.draggable===!1&&-1!==a.type.indexOf("mouse")))switch(b.touchObject.fingerCount=a.originalEvent&&void 0!==a.originalEvent.touches?a.originalEvent.touches.length:1,b.touchObject.minSwipe=b.listWidth/b.options.touchThreshold,b.options.verticalSwiping===!0&&(b.touchObject.minSwipe=b.listHeight/b.options.touchThreshold),a.data.action){case"start":b.swipeStart(a);break;case"move":b.swipeMove(a);break;case"end":b.swipeEnd(a)}},b.prototype.swipeMove=function(a){var d,e,f,g,h,b=this;return h=void 0!==a.originalEvent?a.originalEvent.touches:null,!b.dragging||h&&1!==h.length?!1:(d=b.getLeft(b.currentSlide),b.touchObject.curX=void 0!==h?h[0].pageX:a.clientX,b.touchObject.curY=void 0!==h?h[0].pageY:a.clientY,b.touchObject.swipeLength=Math.round(Math.sqrt(Math.pow(b.touchObject.curX-b.touchObject.startX,2))),b.options.verticalSwiping===!0&&(b.touchObject.swipeLength=Math.round(Math.sqrt(Math.pow(b.touchObject.curY-b.touchObject.startY,2)))),e=b.swipeDirection(),"vertical"!==e?(void 0!==a.originalEvent&&b.touchObject.swipeLength>
55894&&a.preventDefault(),g=(b.options.rtl===!1?1:-1)*(b.touchObject.curX>b.touchObject.startX?1:-1),b.options.verticalSwiping===!0&&(g=b.touchObject.curY>b.touchObject.startY?1:-1),f=b.touchObject.swipeLength,b.touchObject.edgeHit=!1,b.options.infinite===!1&&(0===b.currentSlide&&"right"===e||b.currentSlide>=b.getDotCount()&&"left"===e)&&(f=b.touchObject.swipeLength*b.options.edgeFriction,b.touchObject.edgeHit=!0),b.options.vertical===!1?b.swipeLeft=d+f*g:b.swipeLeft=d+f*(b.$list.height()/b.listWidth)*g,b.options.verticalSwiping===!0&&(b.swipeLeft=d+f*g),b.options.fade===!0||b.options.touchMove===!1?!1:b.animating===!0?(b.swipeLeft=null,!1):void b.setCSS(b.swipeLeft)):void 0)},b.prototype.swipeStart=function(a){var c,b=this;return b.interrupted=!0,1!==b.touchObject.fingerCount||b.slideCount<=b.options.slidesToShow?(b.touchObject={},!1):(void 0!==a.originalEvent&&void 0!==a.originalEvent.touches&&(c=a.originalEvent.touches[0]),b.touchObject.startX=b.touchObject.curX=void 0!==c?c.pageX:a.clientX,b.touchObject.startY=b.touchObject.curY=void 0!==c?c.pageY:a.clientY,void(b.dragging=!0))},b.prototype.unfilterSlides=b.prototype.slickUnfilter=function(){var a=this;null!==a.$slidesCache&&(a.unload(),a.$slideTrack.children(this.options.slide).detach(),a.$slidesCache.appendTo(a.$slideTrack),a.reinit())},b.prototype.unload=function(){var b=this;a(".slick-cloned",b.$slider).remove(),b.$dots&&b.$dots.remove(),b.$prevArrow&&b.htmlExpr.test(b.options.prevArrow)&&b.$prevArrow.remove(),b.$nextArrow&&b.htmlExpr.test(b.options.nextArrow)&&b.$nextArrow.remove(),b.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden","true").css("width","")},b.prototype.unslick=function(a){var b=this;b.$slider.trigger("unslick",[b,a]),b.destroy()},b.prototype.updateArrows=function(){var b,a=this;b=Math.floor(a.options.slidesToShow/2),a.options.arrows===!0&&a.slideCount>a.options.slidesToShow&&!a.options.infinite&&(a.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false"),a.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false"),0===a.currentSlide?(a.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true"),a.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false")):a.currentSlide>=a.slideCount-a.options.slidesToShow&&a.options.centerMode===!1?(a.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),a.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")):a.currentSlide>=a.slideCount-1&&a.options.centerMode===!0&&(a.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),a.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")))},b.prototype.updateDots=function(){var a=this;null!==a.$dots&&(a.$dots.find("li").removeClass("slick-active").attr("aria-hidden","true"),a.$dots.find("li").eq(Math.floor(a.currentSlide/a.options.slidesToScroll)).addClass("slick-active").attr("aria-hidden","false"))},b.prototype.visibility=function(){var a=this;a.options.autoplay&&(document[a.hidden]?a.interrupted=!0:a.interrupted=!1)},a.fn.slick=function(){var f,g,a=this,c=arguments[0],d=Array.prototype.slice.call(arguments,1),e=a.length;for(f=0;e>f;f++)if("object"==typeof c||"undefined"==typeof c?a[f].slick=new b(a[f],c):g=a[f].slick[c].apply(a[f].slick,d),"undefined"!=typeof g)return g;return a}}); 5590 5591 $(document).ready(function() { 5592 if ($('[data-background]').length > 0) { 5593 $('[data-background]').each(function() { 5594 var $background, $backgroundmobile, $this; 5595 $this = $(this); 5596 $background = $(this).attr('data-background'); 5597 $backgroundmobile = $(this).attr('data-background-mobile'); 5598 if ($this.attr('data-background').substr(0, 1) === '#') { 5599 return $this.css('background-color', $background); 5600 } else if ($this.attr('data-background-mobile') && device.mobile()) { 5601 return $this.css('background-image', 'url(' + $backgroundmobile + ')'); 5602 } else { 5603 return $this.css('background-image', 'url(' + $background + ')'); 5604 } 5605 }); 5606 } 5607 }); 5608 5609/* 5610 * Smoothproducts version 2.0.2 5611 * http://kthornbloom.com/smoothproducts.php 5612 * 5613 * Copyright 2013, Kevin Thornbloom 5614 * Free to use and abuse under the MIT license. 5615 * http://www.opensource.org/licenses/mit-license.php 5616 */ 5617 5618(function($) { 5619 $.fn.extend({ 5620 deleteSmoothProducts: function () { 5621 $(document.body).off('click', '.sp-lightbox'); 5622 $(document.body).off('click', '#sp-prev'); 5623 $(document.body).off('click', '#sp-next'); 5624 $(document.body).off('click', '.sp-large a');
5625 $(document.body).off('click', '.sp-noff-touch .sp-zoom'); 5626 $(document.body).off('click', '.sp-tb-active a'); 5627 $(document.body).off('click', '.sp-thumbs'); 5628 }, 5629 smoothproducts: function() { 5630 5631 // Add some markup & set some CSS 5632 5633 $('.sp-loading').hide(); 5634 $('.sp-wrap').each(function() { 5635 $(this).addClass('sp-touch'); 5636 var thumbQty = $('a', this).length; 5637 5638 // If more than one image 5639 if (thumbQty > 1) { 5640 var firstLarge,firstThumb, 5641 defaultImage = $('a.sp-default', this)[0]?true:false; 5642 $(this).append('<div class="sp-large"></div><div class="sp-thumbs sp-tb-active"></div>'); 5643 $('a', this).each(function(index) { 5644 var thumb = $('img', this).attr('src'), 5645 large = $(this).attr('href'), 5646 classes = ''; 5647 //set default image 5648 if((index === 0 && !defaultImage) || $(this).hasClass('sp-default')){ 5649 classes = ' class="sp-current"'; 5650 firstLarge = large; 5651 firstThumb = $('img', this)[0].src; 5652 } 5653 $(this).parents('.sp-wrap').find('.sp-thumbs').append('<a href="' + large + '" style="background-image:url(' + thumb + ')"'+classes+'></a>'); 5654 $(this).remove(); 5655 }); 5656 $('.sp-large', this).append('<a href="' + firstLarge + '" class="sp-current-big"><img src="' + firstThumb + '" alt="" /></a>'); 5657 $('.sp-wrap').css('display', 'inline-block'); 5658 // If only one image 5659 } else { 5660 $(this).append('<div class="sp-large"></div>'); 5661 $('a', this).appendTo($('.sp-large', this)).addClass('.sp-current-big'); 5662 $('.sp-wrap').css('display', 'inline-block'); 5663 } 5664 }); 5665 5666 5667 // Prevent clicking while things are happening 5668 $(document.body).on('click', '.sp-thumbs', function(event) { 5669 event.preventDefault(); 5670 }); 5671 5672 5673 // Is this a touch screen or not? 5674 $(document.body).on('mouseover', function(event) { 5675 $('.sp-wrap').removeClass('sp-touch').addClass('sp-non-touch'); 5676 event.preventDefault(); 5677 }); 5678 5679 $(document.body).on('touchstart', function() { 5680 $('.sp-wrap').removeClass('sp-non-touch').addClass('sp-touch'); 5681 }); 5682 5683 // Clicking a thumbnail 5684 $(document.body).on('click', '.sp-tb-active a', function(event) { 5685 5686 event.preventDefault(); 5687 $(this).parent().find('.sp-current').removeClass(); 5688 $(this).addClass('sp-current'); 5689 $(this).parents('.sp-wrap').find('.sp-thumbs').removeClass('sp-tb-active'); 5690 $(this).parents('.sp-wrap').find('.sp-zoom').remove(); 5691 5692 var currentHeight = $(this).parents('.sp-wrap').find('.sp-large').height(), 5693 currentWidth = $(this).parents('.sp-wrap').find('.sp-large').width(); 5694 $(this).parents('.sp-wrap').find('.sp-large').css({ 5695 overflow: 'hidden', 5696 height: currentHeight + 'px', 5697 width: currentWidth + 'px' 5698 }); 5699 5700 $(this).addClass('sp-current').parents('.sp-wrap').find('.sp-large a').remove(); 5701 5702 var nextLarge = $(this).parent().find('.sp-current').attr('href'), 5703 nextThumb = get_url_from_background($(this).parent().find('.sp-current').css('backgroundImage')); 5704 5705 $(this).parents('.sp-wrap').find('.sp-large').html('<a href="' + nextLarge + '" class="sp-current-big"><img src="' + nextThumb + '"/></a>'); 5706 $(this).parents('.sp-wrap').find('.sp-large').hide().fadeIn(250, function() { 5707 5708 var autoHeight = $(this).parents('.sp-wrap').find('.sp-large img').height(); 5709 5710 $(this).parents('.sp-wrap').find('.sp-large').animate({ 5711 height: autoHeight 5712 }, 'fast', function() { 5713 $('.sp-large').css({ 5714 height: 'auto', 5715 width: 'auto' 5716 }); 5717 }); 5718 5719 $(this).parents('.sp-wrap').find('.sp-thumbs').addClass('sp-tb-active'); 5720 }); 5721 }); 5722 5723 // Zoom In non-touch 5724 $(document.body).on('mouseenter', '.sp-non-touch .sp-large', function(event) { 5725 var largeUrl = $('a', this).attr('href'); 5726 $(this).append('<div class="sp-zoom"><img src="' + largeUrl + '"/></div>'); 5727 $(this).find('.sp-zoom').fadeIn(250); 5728 event.preventDefault(); 5729 }); 5730 5731 // Zoom Out non-touch 5732 $(document.body).on('mouseleave', '.sp-non-touch .sp-large', function(event) { 5733 $(this).find('.sp-zoom').fadeOut(250, function() { 5734 $(this).remove(); 5735 }); 5736 event.preventDefault(); 5737 }); 5738 5739 // Open in Lightbox non-touch 5740 $(document.body).on('click', '.sp-non-touch .sp-zoom', function(event) { 5741 var currentImg = $(this).html(), 5742 thumbAmt = $(this).parents('.sp-wrap').find('.sp-thumbs a').length, 5743 currentThumb = ($(this).parents('.sp-wrap').find('.sp-thumbs .sp-current').index())+1; 5744 $(this).parents('.sp-wrap').addClass('sp-selected'); 5745 $('body').append("<div class='sp-lightbox' data-currenteq='"+currentThumb+"'>" + currentImg + "</div>"); 5746 5747 if(thumbAmt > 1){ 5748 $('.sp-lightbox').append("<a href='#' id='sp-prev'></a><a href='#' id='sp-next'></a>"); 5749 if(currentThumb == 1) { 5750 $('#sp-prev').css('opacity','.1'); 5751 } else if (currentThumb == thumbAmt){ 5752 $('#sp-next').css('opacity','.1'); 5753 } 5754 } 5755 $('.sp-lightbox').fadeIn(); 5756 event.preventDefault(); 5757 }); 5758 5759 // Open in Lightbox touch 5760 $(document.body).on('click', '.sp-large a', function(event) { 5761 var currentImg = $(this).attr('href'), 5762 thumbAmt = $(this).parents('.sp-wrap').find('.sp-thumbs a').length, 5763 currentThumb = ($(this).parents('.sp-wrap').find('.sp-thumbs .sp-current').index())+1; 5764 5765 $(this).parents('.sp-wrap').addClass('sp-selected'); 5766 $('body').append('<div class="sp-lightbox" data-currenteq="'+currentThumb+'"><img src="' + currentImg + '"/></div>'); 5767 5768 if(thumbAmt > 1){ 5769 $('.sp-lightbox').append("<a href='#' id='sp-prev'></a><a href='#' id='sp-next'></a>"); 5770 if(currentThumb == 1) { 5771 $('#sp-prev').css('opacity','.1'); 5772 } else if (currentThumb == thumbAmt){ 5773 $('#sp-next').css('opacity','.1'); 5774 } 5775 } 5776 $('.sp-lightbox').fadeIn(); 5777 event.preventDefault(); 5778 }); 5779 5780 // Pagination Forward 5781 $(document.body).on('click', '#sp-next', function(event) { 5782 event.stopPropagation(); 5783 var currentEq = $('.sp-lightbox').data('currenteq'), 5784 totalItems = $('.sp-selected .sp-thumbs a').length; 5785 5786 if(currentEq >= totalItems) { 5787 } else { 5788 var nextEq = currentEq + 1, 5789 newImg = $('.sp-selected .sp-thumbs').find('a:eq('+currentEq+')').attr('href'), 5790 newThumb = get_url_from_background($('.sp-selected .sp-thumbs').find('a:eq('+currentEq+')').css('backgroundImage'));
5791 if (currentEq == (totalItems - 1)) { 5792 $('#sp-next').css('opacity','.1'); 5793 } 5794 $('#sp-prev').css('opacity','1'); 5795 $('.sp-selected .sp-current').removeClass(); 5796 $('.sp-selected .sp-thumbs a:eq('+currentEq+')').addClass('sp-current'); 5797 $('.sp-selected .sp-large').empty().append('<a href='+newImg+'><img src="'+newThumb+'"/></a>'); 5798 $('.sp-lightbox img').fadeOut(250, function() { 5799 $(this).remove(); 5800 $('.sp-lightbox').data('currenteq',nextEq).append('<img src="'+newImg+'"/>'); 5801 $('.sp-lightbox img').hide().fadeIn(250); 5802 }); 5803 } 5804 5805 event.preventDefault(); 5806 }); 5807 5808 // Pagination Backward 5809 $(document.body).on('click', '#sp-prev', function(event) { 5810 5811 event.stopPropagation(); 5812 var currentEq = $('.sp-lightbox').data('currenteq'), 5813 currentEq = currentEq - 1; 5814 if(currentEq <= 0) { 5815 } else { 5816 if (currentEq == 1) { 5817 $('#sp-prev').css('opacity','.1'); 5818 } 5819 var nextEq = currentEq - 1, 5820 newImg = $('.sp-selected .sp-thumbs').find('a:eq('+nextEq+')').attr('href'), 5821 newThumb = get_url_from_background($('.sp-selected .sp-thumbs').find('a:eq('+nextEq+')').css('backgroundImage')); 5822 $('#sp-next').css('opacity','1'); 5823 $('.sp-selected .sp-current').removeClass(); 5824 $('.sp-selected .sp-thumbs a:eq('+nextEq+')').addClass('sp-current'); 5825 $('.sp-selected .sp-large').empty().append('<a href='+newImg+'><img src="'+newThumb+'"/></a>'); 5826 $('.sp-lightbox img').fadeOut(250, function() { 5827 $(this).remove(); 5828 $('.sp-lightbox').data('currenteq',currentEq).append('<img src="'+newImg+'"/>'); 5829 $('.sp-lightbox img').hide().fadeIn(250); 5830 }); 5831 } 5832 event.preventDefault(); 5833 }); 5834 5835 5836 // Close Lightbox 5837 $(document.body).on('click', '.sp-lightbox', function() { 5838 closeModal(); 5839 }); 5840 5841 // Close on Esc 5842 $(document).keydown(function(e) { 5843 if (e.keyCode == 27) { 5844 closeModal(); 5845 return false; 5846 } 5847 }); 5848 5849 function closeModal (){ 5850 $('.sp-selected').removeClass('sp-selected'); 5851 $('.sp-lightbox').fadeOut(function() { 5852 $(this).remove(); 5853 }); 5854 } 5855 5856 5857 // Panning zoomed image (non-touch) 5858 5859 $('.sp-large').mousemove(function(e) { 5860 var viewWidth = $(this).width(), 5861 viewHeight = $(this).height(), 5862 viewOffset = $(this).offset(), 5863 largeWidth = $(this).find('.sp-zoom').width(), 5864 largeHeight = $(this).find('.sp-zoom').height(), 5865 relativeXPosition = (e.pageX - viewOffset.left), 5866 relativeYPosition = (e.pageY - viewOffset.top), 5867 moveX = Math.floor((relativeXPosition * (viewWidth - largeWidth) / viewWidth)), 5868 moveY = Math.floor((relativeYPosition * (viewHeight - largeHeight) / viewHeight)); 5869 5870 $(this).find('.sp-zoom').css({ 5871 left: moveX, 5872 top: moveY 5873 }); 5874 5875 }); 5876 5877 function get_url_from_background(bg){ 5878 return bg.match(/url\([\"\']{0,1}(.+)[\"\']{0,1}\)+/i)[1]; 5879 } 5880 } 5881 }); 5882})(jQuery); 5883 5884 5885/*! 5886 * Snackbar v0.1.14 5887 * http://polonel.com/Snackbar 5888 * 5889 * Copyright 2018 Chris Brame and other contributors 5890 * Released under the MIT license 5891 * https://github.com/polonel/Snackbar/blob/master/LICENSE 5892 */ 5893!function(a,b){"use strict";"function"==typeof define&&define.amd?define([],function(){return a.Snackbar=b()}):"object"==typeof module&&module.exports?module.exports=a.Snackbar=b():a.Snackbar=b()}(this,function(){var a={};a.current=null;var b={text:"Default Text",textColor:"#FFFFFF",width:"auto",showAction:!0,actionText:"Dismiss",actionTextAria:"Dismiss, Description for Screen Readers",alertScreenReader:!1,actionTextColor:"#4CAF50",showSecondButton:!1,secondButtonText:"",secondButtonAria:"Description for Screen Readers",secondButtonTextColor:"#4CAF50",backgroundColor:"#323232",pos:"bottom-left",duration:5e3,customClass:"",onActionClick:function(a){a.style.opacity=0},onSecondButtonClick:function(a){},onClose:function(a){}};a.show=function(d){var e=c(!0,b,d);a.current&&(a.current.style.opacity=0,setTimeout(function(){var a=this.parentElement;a&& 5894// possible null if too many/fast Snackbars 5895a.removeChild(this)}.bind(a.current),500)),a.snackbar=document.createElement("div"),a.snackbar.className="snackbar-container "+e.customClass,a.snackbar.style.width=e.width;var f=document.createElement("p");if(f.style.margin=0,f.style.padding=0,f.style.color=e.textColor,f.style.fontSize="14px",f.style.fontWeight=300,f.style.lineHeight="1em",f.innerHTML=e.text,a.snackbar.appendChild(f),a.snackbar.style.background=e.backgroundColor,e.showSecondButton){var g=document.createElement("button");g.className="action",g.innerHTML=e.secondButtonText,g.setAttribute("aria-label",e.secondButtonAria),g.style.color=e.secondButtonTextColor,g.addEventListener("click",function(){e.onSecondButtonClick(a.snackbar)}),a.snackbar.appendChild(g)}if(e.showAction){var h=document.createElement("button");h.className="action",h.innerHTML=e.actionText,h.setAttribute("aria-label",e.actionTextAria),h.style.color=e.actionTextColor,h.addEventListener("click",function(){e.onActionClick(a.snackbar)}),a.snackbar.appendChild(h)}e.duration&&setTimeout(function(){a.current===this&&(a.current.style.opacity=0, 5896// When natural remove event occurs let's move the snackbar to its origins 5897a.current.style.top="-100px",a.current.style.bottom="-100px")}.bind(a.snackbar),e.duration),e.alertScreenReader&&a.snackbar.setAttribute("role","alert"),a.snackbar.addEventListener("transitionend",function(b,c){"opacity"===b.propertyName&&"0"===this.style.opacity&&("function"==typeof e.onClose&&e.onClose(this),this.parentElement.removeChild(this),a.current===this&&(a.current=null))}.bind(a.snackbar)),a.current=a.snackbar,document.body.appendChild(a.snackbar);getComputedStyle(a.snackbar).bottom,getComputedStyle(a.snackbar).top;a.snackbar.style.opacity=1,a.snackbar.className="snackbar-container "+e.customClass+" snackbar-pos "+e.pos},a.close=function(){a.current&&(a.current.style.opacity=0)}; 5898// Pure JS Extend 5899// http://gomakethings.com/vanilla-javascript-version-of-jquery-extend/ 5900var c=function(){var a={},b=!1,d=0,e=arguments.length;"[object Boolean]"===Object.prototype.toString.call(arguments[0])&&(b=arguments[0],d++);for(var f=function(d){for(var e in d)Object.prototype.hasOwnProperty.call(d,e)&&(b&&"[object Object]"===Object.prototype.toString.call(d[e])?a[e]=c(!0,a[e],d[e]):a[e]=d[e])};d<e;d++){var g=arguments[d];f(g)}return a};return a}); 5901 5902/** 5903@author Cameron Manavian 5904jQuery Style Switcher 5905 5906The MIT License (MIT) 5907 5908Copyright (c) 2014 Cameron Manavian 5909 5910Permission is hereby granted, free of charge, to any person obtaining a copy 5911of this software and associated documentation files (the "Software"), to deal 5912in the Software without restriction, including without limitation the rights 5913to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 5914copies of the Software, and to permit persons to whom the Software is 5915furnished to do so, subject to the following conditions: 5916 5917The above copyright notice and this permission notice shall be included in all 5918copies or substantial portions of the Software. 5919 5920THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 5921IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 5922FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 5923AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 5924LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 5925OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 5926SOFTWARE. 5927**/ 5928 5929(function ($) { 5930 var jStyleSwitcher, 5931 _defaultOptions = { 5932 hasPreview: true, 5933 defaultThemeId: 'jssDefault', 5934 fullPath: 'assets/dist/css/',
5935 cookie: { 5936 expires: 30, 5937 isManagingLoad: true 5938 } 5939 }, 5940 // private 5941 _cookieKey = 'jss_selected', 5942 _docCookies = {}; 5943 5944 /*\ 5945 |*| 5946 |*| :: cookies.js :: 5947 |*| 5948 |*| A complete cookies reader/writer framework with full unicode support. 5949 |*| 5950 |*| revision #1 5951 |*| 5952 |*| https://developer.mozilla.org/en-US/docs/Web/API/document.cookie 5953 |*| 5954 |*| This framework is released under the GNU Public License, version 3 or later. 5955 |*| http://www.gnu.org/licenses/gpl-3.0-standalone.html 5956 |*| 5957 |*| Syntaxes: 5958 |*| 5959 |*| * docCookies.setItem(name, value[, end[, path[, domain[, secure]]]]) 5960 |*| * docCookies.getItem(name) 5961 |*| * docCookies.removeItem(name[, path[, domain]]) 5962 |*| * docCookies.hasItem(name) 5963 |*| * docCookies.keys() 5964 |*| 5965 \*/ 5966 _docCookies = { 5967 getItem: function (sKey) { 5968 if (!sKey) { 5969 return null; 5970 } 5971 return decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*" + encodeURIComponent(sKey).replace(/[\-\.\+\*]/g, "\\$&") + "\\s*\\=\\s*([^;]*).*$)|^.*$"), "$1")) || null; 5972 }, 5973 setItem: function (sKey, sValue, vEnd, sPath, sDomain, bSecure) { 5974 if (!sKey || /^(?:expires|max\-age|path|domain|secure)$/i.test(sKey)) { 5975 return false; 5976 } 5977 var sExpires = ""; 5978 if (vEnd) { 5979 switch (vEnd.constructor) { 5980 case Number: 5981 sExpires = vEnd === Infinity ? "; expires=Fri, 31 Dec 9999 23:59:59 GMT" : "; max-age=" + vEnd; 5982 break; 5983 case String: 5984 sExpires = "; expires=" + vEnd; 5985 break; 5986 case Date: 5987 sExpires = "; expires=" + vEnd.toUTCString(); 5988 break; 5989 } 5990 } 5991 document.cookie = encodeURIComponent(sKey) + "=" + encodeURIComponent(sValue) + sExpires + (sDomain ? "; domain=" + sDomain : "") + (sPath ? "; path=" + sPath : "") + (bSecure ? "; secure" : ""); 5992 return true; 5993 }, 5994 removeItem: function (sKey, sPath, sDomain) { 5995 if (!this.hasItem(sKey)) { 5996 return false; 5997 } 5998 document.cookie = encodeURIComponent(sKey) + "=; expires=Thu, 01 Jan 1970 00:00:00 GMT" + (sDomain ? "; domain=" + sDomain : "") + (sPath ? "; path=" + sPath : ""); 5999 return true; 6000 }, 6001 hasItem: function (sKey) { 6002 if (!sKey) { 6003 return false; 6004 } 6005 return (new RegExp("(?:^|;\\s*)" + encodeURIComponent(sKey).replace(/[\-\.\+\*]/g, "\\$&") + "\\s*\\=")).test(document.cookie); 6006 }, 6007 keys: function () { 6008 var aKeys = document.cookie.replace(/((?:^|\s*;)[^\=]+)(?=;|$)|^\s*|\s*(?:\=[^;]*)?(?:\1|$)/g, "").split(/\s*(?:\=[^;]*)?;\s*/); 6009 for (var nLen = aKeys.length, nIdx = 0; nIdx < nLen; nIdx++) { 6010 aKeys[nIdx] = decodeURIComponent(aKeys[nIdx]); 6011 } 6012 return aKeys; 6013 } 6014 }; 6015 6016 jStyleSwitcher = function ($root, config) { 6017 return this.init($root, config); 6018 }; 6019 6020 jStyleSwitcher.prototype = { 6021 6022 /** 6023 * {Object} DOM reference to style option list 6024 */ 6025 $root: null, 6026 6027 /** 6028 * {Object} configs for the style switcher 6029 */ 6030 config: {}, 6031 6032 /** 6033 * {Object} jQuery reference to <link> tag for swapping CSS 6034 */ 6035 $themeCss: null, 6036 6037 /** 6038 * {String} default theme page was loaded with 6039 */ 6040 defaultTheme: null, 6041 6042 init: function ($root, config) { 6043 this.$root = $root; 6044 this.config = config ? config : {}; 6045 this.setDefaultTheme(); 6046 if(this.defaultTheme) { 6047 // try cookies 6048 if (this.config.cookie) { 6049 this.checkCookie(); 6050 } 6051 // try hover 6052 if (this.config.hasPreview) { 6053 this.addHoverEvents(); 6054 } 6055 // finally, add click events 6056 this.addClickEvents(); 6057 } else { 6058 this.$root.addClass('jssError error level0'); 6059 } 6060 }, 6061 6062 setDefaultTheme: function () { 6063 this.$themeCss = $('link[id=' + this.config.defaultThemeId + ']'); 6064 if(this.$themeCss.length) { 6065 this.defaultTheme = this.$themeCss.attr('href'); 6066 } 6067 }, 6068 6069 resetStyle: function() { 6070 this.updateStyle(this.defaultTheme); 6071 }, 6072 6073 updateStyle: function(newStyle) { 6074 this.$themeCss.attr('href', newStyle); 6075 }, 6076 6077 getFullAssetPath: function(asset) { 6078 return this.config.fullPath + asset + '.css'; 6079 }, 6080 6081 checkCookie: function () { 6082 var styleCookie; 6083 // if using cookies and using JavaScript to load css 6084 if (this.config.cookie && this.config.cookie.isManagingLoad) { 6085 // check if css is set in cookie
6086 styleCookie = _docCookies.getItem(_cookieKey); 6087 if (styleCookie) { 6088 newStyle = this.getFullAssetPath(styleCookie); 6089 // update link tag 6090 this.updateStyle(newStyle); 6091 // update default ref 6092 this.defaultTheme = newStyle; 6093 } 6094 } 6095 }, 6096 6097 addHoverEvents: function () { 6098 var self = this; 6099 this.$root.find('a').hover( 6100 function () { 6101 var asset = $(this).data('theme'), 6102 newStyle = self.getFullAssetPath(asset); 6103 // update link tag 6104 self.updateStyle(newStyle); 6105 }, 6106 function () { 6107 // reset link tag 6108 self.resetStyle(); 6109 } 6110 ); 6111 }, 6112 6113 addClickEvents: function () { 6114 var self = this; 6115 this.$root.find('a').click( 6116 function () { 6117 var asset = $(this).data('theme'), 6118 newStyle = self.getFullAssetPath(asset); 6119 // update link tag 6120 self.updateStyle(newStyle); 6121 // update default ref 6122 self.defaultTheme = newStyle; 6123 // try to store cookie 6124 if (self.config.cookie) { 6125 _docCookies.setItem(_cookieKey, asset, self.config.cookie.expires, '/'); 6126 } 6127 } 6128 ); 6129 } 6130 }; 6131 6132 $.fn.styleSwitcher = function (options) { 6133 return new jStyleSwitcher(this, $.extend(true, _defaultOptions, options)); 6134 }; 6135})(jQuery); 6136 6137$(function() { 6138 "use strict"; 6139 6140 //Loader 6141 $(function preloaderLoad() { 6142 if($('.preloader').length){ 6143 $('.preloader').delay(200).fadeOut(300); 6144 } 6145 $(".preloader_disabler").on('click', function() { 6146 $("#preloader").hide(); 6147 }); 6148 }); 6149 6150 // Dashbaord Nav Scrolling 6151 $(window).on('load resize', function() { 6152 var wrapperHeight = window.innerHeight; 6153 var headerHeight = $(".header-light").height(); 6154 var winWidth = $(window).width(); 6155 6156 if(winWidth>992) { 6157 $(".dashboard-inner").css('max-height', wrapperHeight-headerHeight); 6158 } else { 6159 $(".dashboard-inner").css('max-height', ''); 6160 } 6161 }); 6162 6163 // Script Navigation 6164 ! function(n, e, i, a) { 6165 n.navigation = function(t, s) { 6166 var o = { 6167 responsive: !0, 6168 mobileBreakpoint:992, 6169 showDuration: 300, 6170 hideDuration: 300, 6171 showDelayDuration: 0, 6172 hideDelayDuration: 0, 6173 submenuTrigger: "hover", 6174 effect: "fade", 6175 submenuIndicator: !0, 6176 hideSubWhenGoOut: !0, 6177 visibleSubmenusOnMobile: !1, 6178 fixed: !1, 6179 overlay: !0, 6180 overlayColor: "rgba(0, 0, 0, 0.5)", 6181 hidden: !1, 6182 offCanvasSide: "left", 6183 onInit: function() {}, 6184 onShowOffCanvas: function() {}, 6185 onHideOffCanvas: function() {} 6186 }, 6187 u = this, 6188 r = Number.MAX_VALUE, 6189 d = 1, 6190 f = "click.nav touchstart.nav", 6191 l = "mouseenter.nav", 6192 c = "mouseleave.nav"; 6193 u.settings = {}; 6194 var t = (n(t), t); 6195 n(t).find(".nav-menus-wrapper").prepend("<span class='nav-menus-wrapper-close-button'>â</span>"), n(t).find(".nav-search").length > 0 && n(t).find(".nav-search").find("form").prepend("<span class='nav-search-close-button'>â</span>"), u.init = function() { 6196 u.settings = n.extend({}, o, s), "right" == u.settings.offCanvasSide && n(t).find(".nav-menus-wrapper").addClass("nav-menus-wrapper-right"), u.settings.hidden && (n(t).addClass("navigation-hidden"), u.settings.mobileBreakpoint = 99999), v(), u.settings.fixed && n(t).addClass("navigation-fixed"), n(t).find(".nav-toggle").on("click touchstart", function(n) { 6197 n.stopPropagation(), n.preventDefault(), u.showOffcanvas(), s !== a && u.callback("onShowOffCanvas") 6198 }), n(t).find(".nav-menus-wrapper-close-button").on("click touchstart", function() { 6199 u.hideOffcanvas(), s !== a && u.callback("onHideOffCanvas") 6200 }), n(t).find(".nav-search-button").on("click touchstart", function(n) { 6201 n.stopPropagation(), n.preventDefault(), u.toggleSearch() 6202 }), n(t).find(".nav-search-close-button").on("click touchstart", function() { 6203 u.toggleSearch() 6204 }), n(t).find(".megamenu-tabs").length > 0 && y(), n(e).resize(function() { 6205 m(), C() 6206 }), m(), s !== a && u.callback("onInit") 6207 }; 6208 var v = function() { 6209 n(t).find("li").each(function() { 6210 n(this).children(".nav-dropdown,.megamenu-panel").length > 0 && (n(this).children(".nav-dropdown,.megamenu-panel").addClass("nav-submenu"), u.settings.submenuIndicator && n(this).children("a").append("<span class='submenu-indicator'><span class='submenu-indicator-chevron'></span></span>")) 6211 }) 6212 }; 6213 u.showSubmenu = function(e, i) { 6214 g() > u.settings.mobileBreakpoint && n(t).find(".nav-search").find("form").slideUp(), "fade" == i ? n(e).children(".nav-submenu").stop(!0, !0).delay(u.settings.showDelayDuration).fadeIn(u.settings.showDuration) : n(e).children(".nav-submenu").stop(!0, !0).delay(u.settings.showDelayDuration).slideDown(u.settings.showDuration), n(e).addClass("nav-submenu-open") 6215 }, u.hideSubmenu = function(e, i) { 6216 "fade" == i ? n(e).find(".nav-submenu").stop(!0, !0).delay(u.settings.hideDelayDuration).fadeOut(u.settings.hideDuration) : n(e).find(".nav-submenu").stop(!0, !0).delay(u.settings.hideDelayDuration).slideUp(u.settings.hideDuration), n(e).removeClass("nav-submenu-open").find(".nav-submenu-open").removeClass("nav-submenu-open") 6217 }; 6218 var h = function() { 6219 n("body").addClass("no-scroll"), u.settings.overlay && (n(t).append("<div class='nav-overlay-panel'></div>"), n(t).find(".nav-overlay-panel").css("background-color", u.settings.overlayColor).fadeIn(300).on("click touchstart", function(n) { 6220 u.hideOffcanvas() 6221 })) 6222 }, 6223 p = function() { 6224 n("body").removeClass("no-scroll"), u.settings.overlay && n(t).find(".nav-overlay-panel").fadeOut(400, function() { 6225 n(this).remove() 6226 }) 6227 }; 6228 u.showOffcanvas = function() { 6229 h(), "left" == u.settings.offCanvasSide ? n(t).find(".nav-menus-wrapper").css("transition-property", "left").addClass("nav-menus-wrapper-open") : n(t).find(".nav-menus-wrapper").css("transition-property", "right").addClass("nav-menus-wrapper-open") 6230 }, u.hideOffcanvas = function() { 6231 n(t).find(".nav-menus-wrapper").removeClass("nav-menus-wrapper-open").on("webkitTransitionEnd moztransitionend transitionend oTransitionEnd", function() { 6232 n(t).find(".nav-menus-wrapper").css("transition-property", "none").off() 6233 }), p() 6234 }, u.toggleOffcanvas = function() { 6235 g() <= u.settings.mobileBreakpoint && (n(t).find(".nav-menus-wrapper").hasClass("nav-menus-wrapper-open") ? (u.hideOffcanvas(), s !== a && u.callback("onHideOffCanvas")) : (u.showOffcanvas(), s !== a && u.callback("onShowOffCanvas"))) 6236 }, u.toggleSearch = function() { 6237 "none" == n(t).find(".nav-search").find("form").css("display") ? (n(t).find(".nav-search").find("form").slideDown(), n(t).find(".nav-submenu").fadeOut(200)) : n(t).find(".nav-search").find("form").slideUp() 6238 }; 6239 var m = function() { 6240 u.settings.responsive ? (g() <= u.settings.mobileBreakpoint && r > u.settings.mobileBreakpoint && (n(t).addClass("navigation-portrait").removeClass("navigation-landscape"), D()), g() > u.settings.mobileBreakpoint && d <= u.settings.mobileBreakpoint && (n(t).addClass("navigation-landscape").removeClass("navigation-portrait"), k(), p(), u.hideOffcanvas()), r = g(), d = g()) : k() 6241 }, 6242 b = function() { 6243 n("body").on("click.body touchstart.body", function(e) {
6244 0 === n(e.target).closest(".navigation").length && (n(t).find(".nav-submenu").fadeOut(), n(t).find(".nav-submenu-open").removeClass("nav-submenu-open"), n(t).find(".nav-search").find("form").slideUp()) 6245 }) 6246 }, 6247 g = function() { 6248 return e.innerWidth || i.documentElement.clientWidth || i.body.clientWidth 6249 }, 6250 w = function() { 6251 n(t).find(".nav-menu").find("li, a").off(f).off(l).off(c) 6252 }, 6253 C = function() { 6254 if (g() > u.settings.mobileBreakpoint) { 6255 var e = n(t).outerWidth(!0); 6256 n(t).find(".nav-menu").children("li").children(".nav-submenu").each(function() { 6257 n(this).parent().position().left + n(this).outerWidth() > e ? n(this).css("right", 0) : n(this).css("right", "auto") 6258 }) 6259 } 6260 }, 6261 y = function() { 6262 function e(e) { 6263 var i = n(e).children(".megamenu-tabs-nav").children("li"), 6264 a = n(e).children(".megamenu-tabs-pane"); 6265 n(i).on("click.tabs touchstart.tabs", function(e) { 6266 e.stopPropagation(), e.preventDefault(), n(i).removeClass("active"), n(this).addClass("active"), n(a).hide(0).removeClass("active"), n(a[n(this).index()]).show(0).addClass("active") 6267 }) 6268 } 6269 if (n(t).find(".megamenu-tabs").length > 0) 6270 for (var i = n(t).find(".megamenu-tabs"), a = 0; a < i.length; a++) e(i[a]) 6271 }, 6272 k = function() { 6273 w(), n(t).find(".nav-submenu").hide(0), navigator.userAgent.match(/Mobi/i) || navigator.maxTouchPoints > 0 || "click" == u.settings.submenuTrigger ? n(t).find(".nav-menu, .nav-dropdown").children("li").children("a").on(f, function(i) { 6274 if (u.hideSubmenu(n(this).parent("li").siblings("li"), u.settings.effect), n(this).closest(".nav-menu").siblings(".nav-menu").find(".nav-submenu").fadeOut(u.settings.hideDuration), n(this).siblings(".nav-submenu").length > 0) { 6275 if (i.stopPropagation(), i.preventDefault(), "none" == n(this).siblings(".nav-submenu").css("display")) return u.showSubmenu(n(this).parent("li"), u.settings.effect), C(), !1; 6276 if (u.hideSubmenu(n(this).parent("li"), u.settings.effect), "_blank" == n(this).attr("target") || "blank" == n(this).attr("target")) e.open(n(this).attr("href")); 6277 else { 6278 if ("#" == n(this).attr("href") || "" == n(this).attr("href")) return !1; 6279 e.location.href = n(this).attr("href") 6280 } 6281 } 6282 }) : n(t).find(".nav-menu").find("li").on(l, function() { 6283 u.showSubmenu(this, u.settings.effect), C() 6284 }).on(c, function() { 6285 u.hideSubmenu(this, u.settings.effect) 6286 }), u.settings.hideSubWhenGoOut && b() 6287 }, 6288 D = function() { 6289 w(), n(t).find(".nav-submenu").hide(0), u.settings.visibleSubmenusOnMobile ? n(t).find(".nav-submenu").show(0) : (n(t).find(".nav-submenu").hide(0), n(t).find(".submenu-indicator").removeClass("submenu-indicator-up"), u.settings.submenuIndicator ? n(t).find(".submenu-indicator").on(f, function(e) { 6290 return e.stopPropagation(), e.preventDefault(), u.hideSubmenu(n(this).parent("a").parent("li").siblings("li"), "slide"), u.hideSubmenu(n(this).closest(".nav-menu").siblings(".nav-menu").children("li"), "slide"), "none" == n(this).parent("a").siblings(".nav-submenu").css("display") ? (n(this).addClass("submenu-indicator-up"), n(this).parent("a").parent("li").siblings("li").find(".submenu-indicator").removeClass("submenu-indicator-up"), n(this).closest(".nav-menu").siblings(".nav-menu").find(".submenu-indicator").removeClass("submenu-indicator-up"), u.showSubmenu(n(this).parent("a").parent("li"), "slide"), !1) : (n(this).parent("a").parent("li").find(".submenu-indicator").removeClass("submenu-indicator-up"), void u.hideSubmenu(n(this).parent("a").parent("li"), "slide")) 6291 }) : k()) 6292 }; 6293 u.callback = function(n) { 6294 s[n] !== a && s[n].call(t) 6295 }, u.init() 6296 }, n.fn.navigation = function(e) { 6297 return this.each(function() { 6298 if (a === n(this).data("navigation")) { 6299 var i = new n.navigation(this, e); 6300 n(this).data("navigation", i) 6301 } 6302 }) 6303 } 6304 } 6305 (jQuery, window, document), $(document).ready(function() { 6306 $("#navigation").navigation() 6307 }); 6308 6309 // Product Preview 6310 $('.sp-wrap').smoothproducts(); 6311 6312 // Tooltip 6313 $('[data-toggle="tooltip"]').tooltip(); 6314 6315 // Snackbar for wishlist Product 6316 $('.snackbar-wishlist').click(function() { 6317 Snackbar.show({ 6318 text: 'Your Job was added to wishlist successfully!', 6319 pos: 'top-right', 6320 showAction: false, 6321 actionText: "Dismiss", 6322 duration: 3000, 6323 textColor: '#fff', 6324 backgroundColor: '#151515' 6325 }); 6326 }); 6327 6328 // Bottom To Top Scroll Script 6329 $(window).on('scroll', function() { 6330 var height = $(window).scrollTop(); 6331 if (height > 100) { 6332 $('#back2Top').fadeIn(); 6333 } else { 6334 $('#back2Top').fadeOut(); 6335 } 6336 }); 6337 6338 6339 // Script For Fix Header on Scroll 6340 $(window).on('scroll', function() { 6341 var scroll = $(window).scrollTop(); 6342 6343 if (scroll >= 50) { 6344 $(".header").addClass("header-fixed"); 6345 } else { 6346 $(".header").removeClass("header-fixed"); 6347 } 6348 }); 6349
6350 // reviews-slide 6351 $('.reviews-slide').slick({ 6352 slidesToShow:1, 6353 arrows: true, 6354 dots: false, 6355 infinite: true, 6356 autoplaySpeed: 2000, 6357 autoplay:true, 6358 responsive: [ 6359 { 6360 breakpoint: 1024, 6361 settings: { 6362 arrows: true, 6363 dots: false, 6364 slidesToShow:1 6365 } 6366 }, 6367 { 6368 breakpoint: 600, 6369 settings: { 6370 arrows: true, 6371 dots: false, 6372 slidesToShow:1 6373 } 6374 } 6375 ] 6376 }); 6377 6378 // item Slide 6379 $('.review-slide').slick({ 6380 slidesToShow:3, 6381 arrows: true, 6382 dots: false, 6383 infinite: true, 6384 speed: 500, 6385 cssEase: 'linear', 6386 autoplaySpeed: 2000, 6387 autoplay:true, 6388 responsive: [ 6389 { 6390 breakpoint: 1024, 6391 settings: { 6392 arrows: true, 6393 dots: false, 6394 slidesToShow:3 6395 } 6396 }, 6397 { 6398 breakpoint: 600, 6399 settings: { 6400 arrows: true, 6401 dots: false, 6402 slidesToShow:1 6403 } 6404 } 6405 ] 6406 }); 6407 6408 // Home Slider 6409 $('.imployer-explore').slick({ 6410 centerMode:false, 6411 slidesToShow:6, 6412 speed: 500, 6413 infinite: true, 6414 cssEase: 'linear', 6415 autoplaySpeed: 2000, 6416 autoplay:true, 6417 arrows: false, 6418 dots: false, 6419 responsive: [ 6420 { 6421 breakpoint: 768, 6422 settings: { 6423 arrows:false, 6424 slidesToShow:4 6425 } 6426 }, 6427 { 6428 breakpoint: 480, 6429 settings: { 6430 arrows: false, 6431 slidesToShow:3 6432 } 6433 } 6434 ] 6435 }); 6436 6437 // item Slide 6438 $('.slide_items').slick({ 6439 slidesToShow:4, 6440 arrows: true, 6441 dots: false, 6442 infinite: true, 6443 speed: 500, 6444 cssEase: 'linear', 6445 autoplaySpeed: 2000, 6446 autoplay:true, 6447 responsive: [ 6448 { 6449 breakpoint: 1024, 6450 settings: { 6451 arrows: true, 6452 dots: false, 6453 slidesToShow:3 6454 } 6455 }, 6456 { 6457 breakpoint: 600, 6458 settings: { 6459 arrows: true, 6460 dots: false, 6461 slidesToShow:1 6462 } 6463 } 6464 ] 6465 }); 6466 6467 6468 6469}); 6470
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.