PageSourceSearch

https://roll20.net/assets/v3.js?1790172626

js roll20.net collected 2026-09-24 08:29:23 UTC 508,557 bytes, 5,936 lines download raw bytes

vendor: 86,927 bytes, lines 1-2
1/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */
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(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,d=p.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function e(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in v)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var b="3.3.1",w=function(e,t){return new w.fn.init(e,t)},T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:"3.3.1",constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.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(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:s,sort:n.sort,splice:n.splice},w.extend=w.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||g(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)n=a[t],a!==(r=e[t])&&(l&&r&&(w.isPlainObject(r)||(i=Array.isArray(r)))?(i?(i=!1,o=n&&Array.isArray(n)?n:[]):o=n&&w.isPlainObject(n)?n:{},a[t]=w.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},w.extend({expando:"jQuery"+("3.3.1"+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]"!==c.call(e))&&(!(t=i(e))||"function"==typeof(n=f.call(t,"constructor")&&t.constructor)&&p.call(n)===d)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e){m(e)},each:function(e,t){var n,r=0;if(C(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(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(C(Object(e))?w.merge(n,"string"==typeof e?[e]:e):s.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:u.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=[],o=0,a=e.length,s=!n;o<a;o++)(r=!t(e[o],o))!==s&&i.push(e[o]);return i},map:function(e,t,n){var r,i,o=0,s=[];if(C(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&s.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&s.push(i);return a.apply([],s)},guid:1,support:h}),"function"==typeof Symbol&&(w.fn[Symbol.iterator]=n[Symbol.iterator]),w.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function C(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!g(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,y,v,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ae(),k=ae(),S=ae(),D=function(e,t){return e===t&&(f=!0),0},N={}.hasOwnProperty,A=[],j=A.pop,q=A.push,L=A.push,H=A.slice,O=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},P="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",I="\\["+M+"*("+R+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+R+"))|)"+M+"*\\]",W=":("+R+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+I+")*)|.*)\\)|)",$=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),F=new RegExp("^"+M+"*,"+M+"*"),_=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),z=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),X=new RegExp(W),U=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),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("^(?:"+P+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ee=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)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){p()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{L.apply(A=H.call(w.childNodes),w.childNodes),A[w.childNodes.length].nodeType}catch(e){L={apply:A.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,s,l,c,f,h,v,m=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,g)){if(11!==T&&(f=J.exec(e)))if(o=f[1]){if(9===T){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return L.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!S[e+" "]&&(!y||!y.test(e))){if(1!==T)m=t,v=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=b),s=(h=a(e)).length;while(s--)h[s]="#"+c+" "+ve(h[s]);v=h.join(","),m=K.test(e)&&ge(t.parentNode)||t}if(v)try{return L.apply(r,m.querySelectorAll(v)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function se(e){return e[b]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(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 fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},p=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(d=a,h=d.documentElement,g=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ue(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){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[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.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},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],y=[],(n.qsa=Q.test(d.querySelectorAll))&&(ue(function(e){h.appendChild(e).innerHTML="<a id='"+b+"'></a><select id='"+b+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+b+"-]").length||y.push("~="),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||y.push(".#.+[+~]")}),ue(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(n.matchesSelector=Q.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),v.push("!=",W)}),y=y.length&&new RegExp(y.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),x=t||Q.test(h.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 f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&x(w,e)?-1:t===d||t.ownerDocument===w&&x(w,t)?1:c?O(c,e)-O(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:c?O(c,e)-O(c,t):0;if(i===o)return ce(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?ce(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),t=t.replace(z,"='$1']"),n.matchesSelector&&g&&!S[t+" "]&&(!v||!v.test(t))&&(!y||!y.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,d,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),x(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(D),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:se,match:V,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(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===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]||oe.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]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(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(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",y=t.parentNode,v=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(y){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?y.firstChild:y.lastChild],a&&m){x=(d=(l=(c=(f=(p=y)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&y.childNodes[d];while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===v:1===p.nodeType)&&++x&&(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p===t))break;return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=O(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?se(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return oe(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:se(function(e){return U.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!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!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return G.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:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:he(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:he(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=r.pseudos.eq;for(t in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=fe(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=pe(t);function ye(){}ye.prototype=r.filters=r.pseudos,r.setFilters=new ye,a=oe.tokenize=function(e,t){var n,i,o,a,s,u,l,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=r.preFilter;while(s){n&&!(i=F.exec(s))||(i&&(s=s.slice(i[0].length)||s),u.push(o=[])),n=!1,(i=_.exec(s))&&(n=i.shift(),o.push({value:n,type:i[0].replace(B," ")}),s=s.slice(n.length));for(a in r.filter)!(i=V[a].exec(s))||l[a]&&!(i=l[a](i))||(n=i.shift(),o.push({value:n,type:a,matches:i}),s=s.slice(n.length));if(!n)break}return t?s.length:s?oe.error(e):k(e,u).slice(0)};function ve(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function me(e,t,n){var r=t.dir,i=t.next,o=i||r,a=n&&"parentNode"===o,s=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||a)return e(t,n,i);return!1}:function(t,n,u){var l,c,f,p=[T,s];if(u){while(t=t[r])if((1===t.nodeType||a)&&e(t,n,u))return!0}else while(t=t[r])if(1===t.nodeType||a)if(f=t[b]||(t[b]={}),c=f[t.uniqueID]||(f[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[r]||t;else{if((l=c[o])&&l[0]===T&&l[1]===s)return p[2]=l[2];if(c[o]=p,p[2]=e(t,n,u))return!0}return!1}}function xe(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n){for(var r=0,i=t.length;r<i;r++)oe(e,t[r],n);return n}function we(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 Te(e,t,n,r,i,o){return r&&!r[b]&&(r=Te(r)),i&&!i[b]&&(i=Te(i,o)),se(function(o,a,s,u){var l,c,f,p=[],d=[],h=a.length,g=o||be(t||"*",s.nodeType?[s]:s,[]),y=!e||!o&&t?g:we(g,p,e,s,u),v=n?i||(o?e:h||r)?[]:a:y;if(n&&n(y,v,s,u),r){l=we(v,d),r(l,[],s,u),c=l.length;while(c--)(f=l[c])&&(v[d[c]]=!(y[d[c]]=f))}if(o){if(i||e){if(i){l=[],c=v.length;while(c--)(f=v[c])&&l.push(y[c]=f);i(null,v=[],l,u)}c=v.length;while(c--)(f=v[c])&&(l=i?O(o,f):p[c])>-1&&(o[l]=!(a[l]=f))}}else v=we(v===a?v.splice(h,v.length):v),i?i(null,a,v,u):L.apply(a,v)})}function Ce(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=me(function(e){return e===t},s,!0),f=me(function(e){return O(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u<o;u++)if(n=r.relative[e[u].type])p=[me(xe(p),n)];else{if((n=r.filter[e[u].type].apply(null,e[u].matches))[b]){for(i=++u;i<o;i++)if(r.relative[e[i].type])break;return Te(u>1&&xe(p),u>1&&ve(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u<i&&Ce(e.slice(u,i)),i<o&&Ce(e=e.slice(i)),i<o&&ve(e))}p.push(n)}return xe(p)}function Ee(e,t){var n=t.length>0,i=e.length>0,o=function(o,a,s,u,c){var f,h,y,v=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,k=C.length;for(c&&(l=a===d||a||c);m!==k&&null!=(f=C[m]);m++){if(i&&f){h=0,a||f.ownerDocument===d||(p(f),s=!g);while(y=e[h++])if(y(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!y&&f)&&v--,o&&x.push(f))}if(v+=m,n&&m!==v){h=0;while(y=t[h++])y(x,b,a,s);if(o){if(v>0)while(m--)x[m]||b[m]||(b[m]=j.call(u));b=we(b)}L.apply(u,b),c&&!o&&b.length>0&&v+t.length>1&&oe.uniqueSort(u)}return c&&(T=E,l=w),x};return n?se(o):o}return s=oe.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Ce(t[n]))[b]?r.push(o):i.push(o);(o=S(e,Ee(i,r))).selector=e}return o},u=oe.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}o=V.needsContext.test(e)?0:u.length;while(o--){if(l=u[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),K.test(u[0].type)&&ge(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&ve(u)))return L.apply(n,i),n;break}}}return(p||s(e,d))(i,t,!g,n,!t||K.test(e)&&ge(t.parentNode)||t),n},n.sortStable=b.split("").sort(D).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||le(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var k=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(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},D=w.expr.match.needsContext;function N(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return u.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t<r;t++)if(w.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)w.find(e,i[t],n);return r>1?w.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&&D.test(e)?w(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),A.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,q=w(r);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(w.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&w(e);if(!D.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(w(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return k(e,"parentNode")},parentsUntil:function(e,t,n){return k(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return k(e,"nextSibling")},prevAll:function(e){return k(e,"previousSibling")},nextUntil:function(e,t,n){return k(e,"nextSibling",n)},prevUntil:function(e,t,n){return k(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return N(e,"iframe")?e.contentDocument:(N(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(O[e]||w.uniqueSort(i),H.test(e)&&i.reverse()),this.pushStack(i)}});var M=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(M)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1){n=a.shift();while(++s<o.length)!1===o[s].apply(n[0],n[1])&&e.stopOnFalse&&(s=o.length,n=!1)}e.memory||(n=!1),t=!1,i&&(o=n?[]:"")},l={add:function(){return o&&(n&&!t&&(s=o.length-1,a.push(n)),function t(n){w.each(n,function(n,r){g(r)?e.unique&&l.has(r)||o.push(r):r&&r.length&&"string"!==x(r)&&t(r)})}(arguments),n&&!t&&u()),this},remove:function(){return w.each(arguments,function(e,t){var n;while((n=w.inArray(t,o,n))>-1)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function I(e){return e}function W(e){throw e}function $(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t<o)){if((e=r.apply(s,u))===n.promise())throw new TypeError("Thenable self-resolution");l=e&&("object"==typeof e||"function"==typeof e)&&e.then,g(l)?i?l.call(e,a(o,n,I,i),a(o,n,W,i)):(o++,l.call(e,a(o,n,I,i),a(o,n,W,i),a(o,n,I,n.notifyWith))):(r!==I&&(s=void 0,u=[e]),(i||n.resolveWith)(s,u))}},c=i?l:function(){try{l()}catch(e){w.Deferred.exceptionHook&&w.Deferred.exceptionHook(e,c.stackTrace),t+1>=o&&(r!==W&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:I,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:I)),n[2][3].add(a(0,e,g(r)?r:W))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&($(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)$(i[n],s(n),a.reject);return a.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&B.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function _(){r.removeEventListener("DOMContentLoaded",_),e.removeEventListener("load",_),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",_),e.addEventListener("load",_));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n)){i=!0;for(s in n)z(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(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},X=/^-ms-/,U=/-([a-z])/g;function V(e,t){return t.toUpperCase()}function G(e){return e.replace(X,"ms-").replace(U,V)}var Y=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Q(){this.expando=w.expando+Q.uid++}Q.uid=1,Q.prototype={cache:function(e){var t=e[this.expando];return t||(t={},Y(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[G(t)]=n;else for(r in t)i[G(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][G(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(G):(t=G(t))in r?[t]:t.match(M)||[]).length;while(n--)delete r[t[n]]}(void 0===t||w.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&&!w.isEmptyObject(t)}};var J=new Q,K=new Q,Z=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,ee=/[A-Z]/g;function te(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Z.test(e)?JSON.parse(e):e)}function ne(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(ee,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=te(n)}catch(e){}K.set(e,t,n)}else n=void 0;return n}w.extend({hasData:function(e){return K.hasData(e)||J.hasData(e)},data:function(e,t,n){return K.access(e,t,n)},removeData:function(e,t){K.remove(e,t)},_data:function(e,t,n){return J.access(e,t,n)},_removeData:function(e,t){J.remove(e,t)}}),w.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=K.get(o),1===o.nodeType&&!J.get(o,"hasDataAttrs"))){n=a.length;while(n--)a[n]&&0===(r=a[n].name).indexOf("data-")&&(r=G(r.slice(5)),ne(o,r,i[r]));J.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each(function(){K.set(this,e)}):z(this,function(t){var n;if(o&&void 0===t){if(void 0!==(n=K.get(o,e)))return n;if(void 0!==(n=ne(o,e)))return n}else this.each(function(){K.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:w.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?w.queue(this[0],e):void 0===t?this:this.each(function(){var n=w.queue(this,e,t);w._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&w.dequeue(this,e)})},dequeue:function(e){return this.each(function(){w.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=w.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=J.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var re=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ie=new RegExp("^(?:([+-])=|)("+re+")([a-z%]*)$","i"),oe=["Top","Right","Bottom","Left"],ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&w.contains(e.ownerDocument,e)&&"none"===w.css(e,"display")},se=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i};function ue(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return w.css(e,t,"")},u=s(),l=n&&n[3]||(w.cssNumber[t]?"":"px"),c=(w.cssNumber[t]||"px"!==l&&+u)&&ie.exec(w.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)w.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,w.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 le={};function ce(e){var t,n=e.ownerDocument,r=e.nodeName,i=le[r];return i||(t=n.body.appendChild(n.createElement(r)),i=w.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),le[r]=i,i)}function fe(e,t){for(var n,r,i=[],o=0,a=e.length;o<a;o++)(r=e[o]).style&&(n=r.style.display,t?("none"===n&&(i[o]=J.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&ae(r)&&(i[o]=ce(r))):"none"!==n&&(i[o]="none",J.set(r,"display",n)));for(o=0;o<a;o++)null!=i[o]&&(e[o].style.display=i[o]);return e}w.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(){ae(this)?w(this).show():w(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,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&N(e,t)?w.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n<r;n++)J.set(e[n],"globalEval",!t||J.get(t[n],"globalEval"))}var me=/<|&#?\w+;/;function xe(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"===x(o))w.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+w.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;w.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&w.inArray(o,r)>-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="<textarea>x</textarea>",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var be=r.documentElement,we=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function ke(){return!1}function Se(){try{return r.activeElement}catch(e){}}function De(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)De(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=ke;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.get(e);if(y){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(be,i),n.guid||(n.guid=w.guid++),(u=y.events)||(u=y.events={}),(a=y.handle)||(a=y.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(M)||[""]).length;while(l--)d=g=(s=Ce.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.hasData(e)&&J.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(M)||[""]).length;while(l--)if(s=Ce.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){f=w.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,y.handle)||w.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&J.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,s,u=new Array(arguments.length),l=(J.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(u[0]=t,n=1;n<arguments.length;n++)u[n]=arguments[n];if(t.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,t)){s=w.event.handlers.call(this,t,l),n=0;while((o=s[n++])&&!t.isPropagationStopped()){t.currentTarget=o.elem,r=0;while((a=o.handlers[r++])&&!t.isImmediatePropagationStopped())t.rnamespace&&!t.rnamespace.test(a.namespace)||(t.handleObj=a,t.data=a.data,void 0!==(i=((w.event.special[a.origType]||{}).handle||a.handler).apply(o.elem,u))&&!1===(t.result=i)&&(t.preventDefault(),t.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,t),t.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&&e.button>=1))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?w(i,this).index(l)>-1:w.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(e,t){Object.defineProperty(w.Event.prototype,e,{enumerable:!0,configurable:!0,get:g(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[w.expando]?e:new w.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==Se()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===Se()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&N(this,"input"))return this.click(),!1},_default:function(e){return N(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},w.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},w.Event=function(e,t){if(!(this instanceof w.Event))return new w.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ee:ke,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&&w.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[w.expando]=!0},w.Event.prototype={constructor:w.Event,isDefaultPrevented:ke,isPropagationStopped:ke,isImmediatePropagationStopped:ke,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ee,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ee,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ee,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},w.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,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&&we.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Te.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},w.event.addProp),w.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){w.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return i&&(i===r||w.contains(r,i))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),w.fn.extend({on:function(e,t,n,r){return De(this,e,t,n,r)},one:function(e,t,n,r){return De(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,w(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=ke),this.each(function(){w.event.remove(this,e,n,t)})}});var Ne=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/<script|<style|<link/i,je=/checked\s*(?:[^=]|=\s*.checked.)/i,qe=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Le(e,t){return N(e,"table")&&N(11!==t.nodeType?t:t.firstChild,"tr")?w(e).children("tbody")[0]||e:e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Oe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Pe(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(J.hasData(e)&&(o=J.access(e),a=J.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n<r;n++)w.event.add(t,i,l[i][n])}K.hasData(e)&&(s=K.access(e),u=w.extend({},s),K.set(t,u))}}function Me(e,t){var n=t.nodeName.toLowerCase();"input"===n&&pe.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function Re(e,t,n,r){t=a.apply([],t);var i,o,s,u,l,c,f=0,p=e.length,d=p-1,y=t[0],v=g(y);if(v||p>1&&"string"==typeof y&&!h.checkClone&&je.test(y))return e.each(function(i){var o=e.eq(i);v&&(t[0]=y.call(this,i,o.html())),Re(o,t,n,r)});if(p&&(i=xe(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(u=(s=w.map(ye(i,"script"),He)).length;f<p;f++)l=i,f!==d&&(l=w.clone(l,!0,!0),u&&w.merge(s,ye(l,"script"))),n.call(e[f],l,f);if(u)for(c=s[s.length-1].ownerDocument,w.map(s,Oe),f=0;f<u;f++)l=s[f],he.test(l.type||"")&&!J.access(l,"globalEval")&&w.contains(c,l)&&(l.src&&"module"!==(l.type||"").toLowerCase()?w._evalUrl&&w._evalUrl(l.src):m(l.textContent.replace(qe,""),c,l))}return e}function Ie(e,t,n){for(var r,i=t?w.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||w.cleanData(ye(r)),r.parentNode&&(n&&w.contains(r.ownerDocument,r)&&ve(ye(r,"script")),r.parentNode.removeChild(r));return e}w.extend({htmlPrefilter:function(e){return e.replace(Ne,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),u=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ye(s),r=0,i=(o=ye(e)).length;r<i;r++)Me(o[r],a[r]);if(t)if(n)for(o=o||ye(e),a=a||ye(s),r=0,i=o.length;r<i;r++)Pe(o[r],a[r]);else Pe(e,s);return(a=ye(s,"script")).length>0&&ve(a,!u&&ye(e,"script")),s},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(Y(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[K.expando]&&(n[K.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Ie(this,e,!0)},remove:function(e){return Ie(this,e)},text:function(e){return z(this,function(e){return void 0===e?w.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 Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(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&&(w.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return z(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&&!Ae.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(w.cleanData(ye(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return Re(this,arguments,function(t){var n=this.parentNode;w.inArray(this,e)<0&&(w.cleanData(ye(this)),n&&n.replaceChild(t,this))},e)}}),w.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){w.fn[e]=function(e){for(var n,r=[],i=w(e),o=i.length-1,a=0;a<=o;a++)n=a===o?this:this.clone(!0),w(i[a])[t](n),s.apply(r,n.get());return this.pushStack(r)}});var We=new RegExp("^("+re+")(?!px)[a-z%]+$","i"),$e=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},Be=new RegExp(oe.join("|"),"i");!function(){function t(){if(c){l.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",c.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",be.appendChild(l).appendChild(c);var t=e.getComputedStyle(c);i="1%"!==t.top,u=12===n(t.marginLeft),c.style.right="60%",s=36===n(t.right),o=36===n(t.width),c.style.position="absolute",a=36===c.offsetWidth||"absolute",be.removeChild(l),c=null}}function n(e){return Math.round(parseFloat(e))}var i,o,a,s,u,l=r.createElement("div"),c=r.createElement("div");c.style&&(c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",h.clearCloneStyle="content-box"===c.style.backgroundClip,w.extend(h,{boxSizingReliable:function(){return t(),o},pixelBoxStyles:function(){return t(),s},pixelPosition:function(){return t(),i},reliableMarginLeft:function(){return t(),u},scrollboxSize:function(){return t(),a}}))}();function Fe(e,t,n){var r,i,o,a,s=e.style;return(n=n||$e(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||w.contains(e.ownerDocument,e)||(a=w.style(e,t)),!h.pixelBoxStyles()&&We.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 _e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}var ze=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ue={position:"absolute",visibility:"hidden",display:"block"},Ve={letterSpacing:"0",fontWeight:"400"},Ge=["Webkit","Moz","ms"],Ye=r.createElement("div").style;function Qe(e){if(e in Ye)return e;var t=e[0].toUpperCase()+e.slice(1),n=Ge.length;while(n--)if((e=Ge[n]+t)in Ye)return e}function Je(e){var t=w.cssProps[e];return t||(t=w.cssProps[e]=Qe(e)||e),t}function Ke(e,t,n){var r=ie.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ze(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+=w.css(e,n+oe[a],!0,i)),r?("content"===n&&(u-=w.css(e,"padding"+oe[a],!0,i)),"margin"!==n&&(u-=w.css(e,"border"+oe[a]+"Width",!0,i))):(u+=w.css(e,"padding"+oe[a],!0,i),"padding"!==n?u+=w.css(e,"border"+oe[a]+"Width",!0,i):s+=w.css(e,"border"+oe[a]+"Width",!0,i));return!r&&o>=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))),u}function et(e,t,n){var r=$e(e),i=Fe(e,t,r),o="border-box"===w.css(e,"boxSizing",!1,r),a=o;if(We.test(i)){if(!n)return i;i="auto"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===w.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?"border":"content"),a,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!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=G(t),u=Xe.test(t),l=e.style;if(u||(t=Je(s)),a=w.cssHooks[t]||w.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=ie.exec(n))&&i[1]&&(n=ue(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[s]?"":"px")),h.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=G(t);return Xe.test(t)||(t=Je(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Ve&&(i=Ve[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!ze.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):se(e,Ue,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=$e(e),a="border-box"===w.css(e,"boxSizing",!1,o),s=r&&Ze(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(s-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),s&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Ke(e,n,s)}}}),w.cssHooks.marginLeft=_e(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-se(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Ke)}),w.fn.extend({css:function(e,t){return z(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=$e(e),i=t.length;a<i;a++)o[t[a]]=w.css(e,t[a],!1,r);return o}return void 0!==n?w.style(e,t,n):w.css(e,t)},e,t,arguments.length>1)}});function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}w.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(w.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=w.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):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.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=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[w.cssProps[e.prop]]&&!w.cssHooks[e.prop]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=tt.prototype.init,w.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===r.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(at):e.setTimeout(at,w.fx.interval),w.fx.tick())}function st(){return e.setTimeout(function(){nt=void 0}),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=oe[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function lt(e,t,n){for(var r,i=(pt.tweeners[t]||[]).concat(pt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ct(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&&ae(e),y=J.get(e,"fxshow");n.queue||(null==(a=w._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--,w.queue(e,"fx").length||a.empty.fire()})}));for(r in t)if(i=t[r],it.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!y||void 0===y[r])continue;g=!0}d[r]=y&&y[r]||w.style(e,r)}if((u=!w.isEmptyObject(t))||!w.isEmptyObject(d)){f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=y&&y.display)&&(l=J.get(e,"display")),"none"===(c=w.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=w.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===w.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;for(r in d)u||(y?"hidden"in y&&(g=y.hidden):y=J.access(e,"fxshow",{display:l}),o&&(y.hidden=!g),g&&fe([e],!0),p.done(function(){g||fe([e]),J.remove(e,"fxshow");for(r in d)w.style(e,r,d[r])})),u=lt(g?y[r]:0,r,p),r in y||(y[r]=u.start,g&&(u.end=u.start,u.start=0))}}function ft(e,t){var n,r,i,o,a;for(n in e)if(r=G(n),i=t[r],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=w.cssHooks[r])&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}function pt(e,t,n){var r,i,o=0,a=pt.prefilters.length,s=w.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var t=nt||st(),n=Math.max(0,l.startTime+l.duration-t),r=1-(n/l.duration||0),o=0,a=l.tweens.length;o<a;o++)l.tweens[o].run(r);return s.notifyWith(e,[l,r,n]),r<1&&a?n:(a||s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:w.extend({},t),opts:w.extend(!0,{specialEasing:{},easing:w.easing._default},n),originalProperties:t,originalOptions:n,startTime:nt||st(),duration:n.duration,tweens:[],createTween:function(t,n){var r=w.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)l.tweens[n].run(1);return t?(s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l,t])):s.rejectWith(e,[l,t]),this}}),c=l.props;for(ft(c,l.opts.specialEasing);o<a;o++)if(r=pt.prefilters[o].call(l,e,c,l.opts))return g(r.stop)&&(w._queueHooks(l.elem,l.opts.queue).stop=r.stop.bind(r)),r;return w.map(c,lt,l),g(l.opts.start)&&l.opts.start.call(e,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),w.fx.timer(w.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l}w.Animation=w.extend(pt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return ue(n.elem,e,ie.exec(t),n),n}]},tweener:function(e,t){g(e)?(t=e,e=["*"]):e=e.match(M);for(var n,r=0,i=e.length;r<i;r++)n=e[r],pt.tweeners[n]=pt.tweeners[n]||[],pt.tweeners[n].unshift(t)},prefilters:[ct],prefilter:function(e,t){t?pt.prefilters.unshift(e):pt.prefilters.push(e)}}),w.speed=function(e,t,n){var r=e&&"object"==typeof e?w.extend({},e):{complete:n||!n&&t||g(e)&&e,duration:e,easing:n&&t||t&&!g(t)&&t};return w.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in w.fx.speeds?r.duration=w.fx.speeds[r.duration]:r.duration=w.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){g(r.old)&&r.old.call(this),r.queue&&w.dequeue(this,r.queue)},r},w.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=w.isEmptyObject(e),o=w.speed(t,n,r),a=function(){var t=pt(this,w.extend({},e),o);(i||J.get(this,"finish"))&&t.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&!1!==e&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=w.timers,a=J.get(this);if(i)a[i]&&a[i].stop&&r(a[i]);else for(i in a)a[i]&&a[i].stop&&ot.test(i)&&r(a[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));!t&&n||w.dequeue(this,e)})},finish:function(e){return!1!==e&&(e=e||"fx"),this.each(function(){var t,n=J.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=w.timers,a=r?r.length:0;for(n.finish=!0,w.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),w.each(["toggle","show","hide"],function(e,t){var n=w.fn[t];w.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ut(t,!0),e,r,i)}}),w.each({slideDown:ut("show"),slideUp:ut("hide"),slideToggle:ut("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){w.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),w.timers=[],w.fx.tick=function(){var e,t=0,n=w.timers;for(nt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||w.fx.stop(),nt=void 0},w.fx.timer=function(e){w.timers.push(e),w.fx.start()},w.fx.interval=13,w.fx.start=function(){rt||(rt=!0,at())},w.fx.stop=function(){rt=null},w.fx.speeds={slow:600,fast:200,_default:400},w.fn.delay=function(t,n){return t=w.fx?w.fx.speeds[t]||t:t,n=n||"fx",this.queue(n,function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}})},function(){var e=r.createElement("input"),t=r.createElement("select").appendChild(r.createElement("option"));e.type="checkbox",h.checkOn=""!==e.value,h.optSelected=t.selected,(e=r.createElement("input")).value="t",e.type="radio",h.radioValue="t"===e.value}();var dt,ht=w.expr.attrHandle;w.fn.extend({attr:function(e,t){return z(this,w.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void w.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=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&N(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(M);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),dt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ht[t]||w.find.attr;ht[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=ht[a],ht[a]=i,i=null!=n(e,t,r)?a:null,ht[a]=o),i}});var gt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;w.fn.extend({prop:function(e,t){return z(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.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=w.find.attr(e,"tabindex");return t?parseInt(t,10):gt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),h.optSelected||(w.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)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this});function vt(e){return(e.match(M)||[]).join(" ")}function mt(e){return e.getAttribute&&e.getAttribute("class")||""}function xt(e){return Array.isArray(e)?e:"string"==typeof e?e.match(M)||[]:[]}w.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).addClass(e.call(this,t,mt(this)))});if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).removeClass(e.call(this,t,mt(this)))});if(!arguments.length)return this.attr("class","");if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])while(r.indexOf(" "+o+" ")>-1)r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,mt(this),t),t)}):this.each(function(){var t,i,o,a;if(r){i=0,o=w(this),a=xt(e);while(t=a[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else void 0!==e&&"boolean"!==n||((t=mt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&(" "+vt(mt(n))+" ").indexOf(t)>-1)return!0;return!1}});var bt=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(bt,""):null==n?"":n}}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:vt(w.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||!N(n.parentNode,"optgroup"))){if(t=w(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=w.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=w.inArray(w.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var wt=/^(?:focusinfocus|focusoutblur)$/,Tt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,i,o){var a,s,u,l,c,p,d,h,v=[i||r],m=f.call(t,"type")?t.type:t,x=f.call(t,"namespace")?t.namespace.split("."):[];if(s=h=u=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!wt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(m=(x=m.split(".")).shift(),x.sort()),c=m.indexOf(":")<0&&"on"+m,t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:w.makeArray(n,[t]),d=w.event.special[m]||{},o||!d.trigger||!1!==d.trigger.apply(i,n))){if(!o&&!d.noBubble&&!y(i)){for(l=d.delegateType||m,wt.test(l+m)||(s=s.parentNode);s;s=s.parentNode)v.push(s),u=s;u===(i.ownerDocument||r)&&v.push(u.defaultView||u.parentWindow||e)}a=0;while((s=v[a++])&&!t.isPropagationStopped())h=s,t.type=a>1?l:d.bindType||m,(p=(J.get(s,"events")||{})[t.type]&&J.get(s,"handle"))&&p.apply(s,n),(p=c&&s[c])&&p.apply&&Y(s)&&(t.result=p.apply(s,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(v.pop(),n)||!Y(i)||c&&g(i[m])&&!y(i)&&((u=i[c])&&(i[c]=null),w.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,Tt),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,Tt),w.event.triggered=void 0,u&&(i[c]=u)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var Ct=e.location,Et=Date.now(),kt=/\?/;w.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+t),n};var St=/\[\]$/,Dt=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;function jt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,function(t,i){n||St.test(e)?r(e,i):jt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==x(t))r(e,t);else for(i in t)jt(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(Dt,"\r\n")}}):{name:t.name,value:n.replace(Dt,"\r\n")}}).get()}});var qt=/%20/g,Lt=/#.*$/,Ht=/([?&])_=[^&]*/,Ot=/^(.*?):[ \t]*([^\r\n]*)$/gm,Pt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mt=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Bt=r.createElement("a");Bt.href=Ct.href;function Ft(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(M)||[];if(g(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function _t(e,t,n,r){var i={},o=e===Wt;function a(s){var u;return i[s]=!0,w.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function zt(e,t){var n,r,i=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}function Xt(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]}function Ut(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}}w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Pt.test(Ct.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":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,w.ajaxSettings),t):zt(w.ajaxSettings,e)},ajaxPrefilter:Ft(It),ajaxTransport:Ft(Wt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,p,d,h=w.ajaxSetup({},n),g=h.context||h,y=h.context&&(g.nodeType||g.jquery)?w(g):w.event,v=w.Deferred(),m=w.Callbacks("once memory"),x=h.statusCode||{},b={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s){s={};while(t=Ot.exec(a))s[t[1].toLowerCase()]=t[2]}t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return i&&i.abort(t),k(0,t),this}};if(v.promise(E),h.url=((t||h.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(M)||[""],null==h.crossDomain){l=r.createElement("a");try{l.href=h.url,l.href=l.href,h.crossDomain=Bt.protocol+"//"+Bt.host!=l.protocol+"//"+l.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=w.param(h.data,h.traditional)),_t(It,h,n,E),c)return E;(f=w.event&&h.global)&&0==w.active++&&w.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Mt.test(h.type),o=h.url.replace(Lt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(qt,"+")):(d=h.url.slice(o.length),h.data&&(h.processData||"string"==typeof h.data)&&(o+=(kt.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Ht,"$1"),d=(kt.test(o)?"&":"?")+"_="+Et+++d),h.url=o+d),h.ifModified&&(w.lastModified[o]&&E.setRequestHeader("If-Modified-Since",w.lastModified[o]),w.etag[o]&&E.setRequestHeader("If-None-Match",w.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&E.setRequestHeader("Content-Type",h.contentType),E.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+$t+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)E.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(g,E,h)||c))return E.abort();if(C="abort",m.add(h.complete),E.done(h.success),E.fail(h.error),i=_t(Wt,h,n,E)){if(E.readyState=1,f&&y.trigger("ajaxSend",[E,h]),c)return E;h.async&&h.timeout>0&&(u=e.setTimeout(function(){E.abort("timeout")},h.timeout));try{c=!1,i.send(b,k)}catch(e){if(c)throw e;k(-1,e)}}else k(-1,"No Transport");function k(t,n,r,s){var l,p,d,b,T,C=n;c||(c=!0,u&&e.clearTimeout(u),i=void 0,a=s||"",E.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(b=Xt(h,E,r)),b=Ut(h,b,E,l),l?(h.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(w.lastModified[o]=T),(T=E.getResponseHeader("etag"))&&(w.etag[o]=T)),204===t||"HEAD"===h.type?C="nocontent":304===t?C="notmodified":(C=b.state,p=b.data,l=!(d=b.error))):(d=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",l?v.resolveWith(g,[p,C,E]):v.rejectWith(g,[E,C,d]),E.statusCode(x),x=void 0,f&&y.trigger(l?"ajaxSuccess":"ajaxError",[E,h,l?p:d]),m.fireWith(g,[E,C]),f&&(y.trigger("ajaxComplete",[E,h]),--w.active||w.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],function(e,t){w[t]=function(e,n,r,i){return g(n)&&(i=i||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:i,data:n,success:r},w.isPlainObject(e)&&e))}}),w._evalUrl=function(e){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=w(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(e){return g(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Vt={0:200,1223:204},Gt=w.ajaxSettings.xhr();h.cors=!!Gt&&"withCredentials"in Gt,h.ajax=Gt=!!Gt,w.ajaxTransport(function(t){var n,r;if(h.cors||Gt&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Vt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),w.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),w.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 w.globalEval(e),e}}}),w.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),w.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(i,o){t=w("<script>").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&o("error"===e.type?404:200,e.type)}),r.head.appendChild(t[0])},abort:function(){n&&n()}}}});var Yt=[],Qt=/(=)\?(?=&|$)|\?\?/;w.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Yt.pop()||w.expando+"_"+Et++;return this[e]=!0,e}}),w.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,a,s=!1!==t.jsonp&&(Qt.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Qt.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=g(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(Qt,"$1"+i):!1!==t.jsonp&&(t.url+=(kt.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return a||w.error(i+" was not called"),a[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){a=arguments},r.always(function(){void 0===o?w(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,Yt.push(i)),a&&g(o)&&o(a[0]),a=o=void 0}),"script"}),h.createHTMLDocument=function(){var e=r.implementation.createHTMLDocument("").body;return e.innerHTML="<form></form><form></form>",2===e.childNodes.length}(),w.parseHTML=function(e,t,n){if("string"!=typeof e)return[];"boolean"==typeof t&&(n=t,t=!1);var i,o,a;return t||(h.createHTMLDocument?((i=(t=r.implementation.createHTMLDocument("")).createElement("base")).href=r.location.href,t.head.appendChild(i)):t=r),o=A.exec(e),a=!n&&[],o?[t.createElement(o[1])]:(o=xe([e],t,a),a&&a.length&&w(a).remove(),w.merge([],o.childNodes))},w.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return s>-1&&(r=vt(e.slice(s)),e=e.slice(0,s)),g(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),a.length>0&&w.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?w("<div>").append(w.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},w.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){w.fn[t]=function(e){return this.on(t,e)}}),w.expr.pseudos.animated=function(e){return w.grep(w.timers,function(t){return e===t.elem}).length},w.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l,c=w.css(e,"position"),f=w(e),p={};"static"===c&&(e.style.position="relative"),s=f.offset(),o=w.css(e,"top"),u=w.css(e,"left"),(l=("absolute"===c||"fixed"===c)&&(o+u).indexOf("auto")>-1)?(a=(r=f.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),g(t)&&(t=t.call(e,n,w.extend({},s))),null!=t.top&&(p.top=t.top-s.top+a),null!=t.left&&(p.left=t.left-s.left+i),"using"in t?t.using.call(e,p):f.css(p)}},w.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){w.offset.setOffset(this,e,t)});var t,n,r=this[0];if(r)return r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===w.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"===w.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=w(e).offset()).top+=w.css(e,"borderTopWidth",!0),i.left+=w.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-w.css(r,"marginTop",!0),left:t.left-i.left-w.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===w.css(e,"position"))e=e.offsetParent;return e||be})}}),w.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;w.fn[e]=function(r){return z(this,function(e,r,i){var o;if(y(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===i)return o?o[t]:e[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[r]=i},e,r,arguments.length)}}),w.each(["top","left"],function(e,t){w.cssHooks[t]=_e(h.pixelPosition,function(e,n){if(n)return n=Fe(e,t),We.test(n)?w(e).position()[t]+"px":n})}),w.each({Height:"height",Width:"width"},function(e,t){w.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){w.fn[r]=function(i,o){var a=arguments.length&&(n||"boolean"!=typeof i),s=n||(!0===i||!0===o?"margin":"border");return z(this,function(t,n,i){var o;return y(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?w.css(t,n,s):w.style(t,n,i,s)},t,a?i:void 0,a)}})}),w.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,t){w.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),w.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),w.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)}}),w.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),g(e))return r=o.call(arguments,2),i=function(){return e.apply(t||this,r.concat(o.call(arguments)))},i.guid=e.guid=e.guid||w.guid++,i},w.holdReady=function(e){e?w.readyWait++:w.ready(!0)},w.isArray=Array.isArray,w.parseJSON=JSON.parse,w.nodeName=N,w.isFunction=g,w.isWindow=y,w.camelCase=G,w.type=x,w.now=Date.now,w.isNumeric=function(e){var t=w.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return w});var Jt=e.jQuery,Kt=e.$;return w.noConflict=function(t){return e.$===w&&(e.$=Kt),t&&e.jQuery===w&&(e.jQuery=Jt),w},t||(e.jQuery=e.$=w),w});
3
4/*!
5  * Bootstrap v4.3.1 (https://getbootstrap.com/)
6  * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
7  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
8  */
9!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery")):"function"==typeof define&&define.amd?define(["exports","jquery"],e):e((t=t||self).bootstrap={},t.jQuery)}(this,function(t,p){"use strict";function i(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 s(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function l(o){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},e=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(e=e.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),e.forEach(function(t){var e,n,i;e=o,i=r[n=t],n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i})}return o}p=p&&p.hasOwnProperty("default")?p.default:p;var e="transitionend";function n(t){var e=this,n=!1;return p(this).one(m.TRANSITION_END,function(){n=!0}),setTimeout(function(){n||m.triggerTransitionEnd(e)},t),this}var m={TRANSITION_END:"bsTransitionEnd",getUID:function(t){for(;t+=~~(1e6*Math.random()),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=p(t).css("transition-duration"),n=p(t).css("transition-delay"),i=parseFloat(e),o=parseFloat(n);return i||o?(e=e.split(",")[0],n=n.split(",")[0],1e3*(parseFloat(e)+parseFloat(n))):0},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){p(t).trigger(e)},supportsTransitionEnd:function(){return Boolean(e)},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],r=e[i],s=r&&m.isElement(r)?"element":(a=r,{}.toString.call(a).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 a},findShadowRoot:function(t){if(!document.documentElement.attachShadow)return null;if("function"!=typeof t.getRootNode)return t instanceof ShadowRoot?t:t.parentNode?m.findShadowRoot(t.parentNode):null;var e=t.getRootNode();return e instanceof ShadowRoot?e:null}};p.fn.emulateTransitionEnd=n,p.event.special[m.TRANSITION_END]={bindType:e,delegateType:e,handle:function(t){if(p(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var o="alert",r="bs.alert",a="."+r,c=p.fn[o],h={CLOSE:"close"+a,CLOSED:"closed"+a,CLICK_DATA_API:"click"+a+".data-api"},u="alert",f="fade",d="show",g=function(){function i(t){this._element=t}var t=i.prototype;return t.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},t.dispose=function(){p.removeData(this._element,r),this._element=null},t._getRootElement=function(t){var e=m.getSelectorFromElement(t),n=!1;return e&&(n=document.querySelector(e)),n||(n=p(t).closest("."+u)[0]),n},t._triggerCloseEvent=function(t){var e=p.Event(h.CLOSE);return p(t).trigger(e),e},t._removeElement=function(e){var n=this;if(p(e).removeClass(d),p(e).hasClass(f)){var t=m.getTransitionDurationFromElement(e);p(e).one(m.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(t)}else this._destroyElement(e)},t._destroyElement=function(t){p(t).detach().trigger(h.CLOSED).remove()},i._jQueryInterface=function(n){return this.each(function(){var t=p(this),e=t.data(r);e||(e=new i(this),t.data(r,e)),"close"===n&&e[n](this)})},i._handleDismiss=function(e){return function(t){t&&t.preventDefault(),e.close(this)}},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),i}();p(document).on(h.CLICK_DATA_API,'[data-dismiss="alert"]',g._handleDismiss(new g)),p.fn[o]=g._jQueryInterface,p.fn[o].Constructor=g,p.fn[o].noConflict=function(){return p.fn[o]=c,g._jQueryInterface};var _="button",v="bs.button",y="."+v,E=".data-api",b=p.fn[_],w="active",C="btn",T="focus",S='[data-toggle^="button"]',D='[data-toggle="buttons"]',I='input
9:not([type="hidden"])',A=".active",O=".btn",N={CLICK_DATA_API:"click"+y+E,FOCUS_BLUR_DATA_API:"focus"+y+E+" blur"+y+E},k=function(){function n(t){this._element=t}var t=n.prototype;return t.toggle=function(){var t=!0,e=!0,n=p(this._element).closest(D)[0];if(n){var i=this._element.querySelector(I);if(i){if("radio"===i.type)if(i.checked&&this._element.classList.contains(w))t=!1;else{var o=n.querySelector(A);o&&p(o).removeClass(w)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!this._element.classList.contains(w),p(i).trigger("change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(w)),t&&p(this._element).toggleClass(w)},t.dispose=function(){p.removeData(this._element,v),this._element=null},n._jQueryInterface=function(e){return this.each(function(){var t=p(this).data(v);t||(t=new n(this),p(this).data(v,t)),"toggle"===e&&t[e]()})},s(n,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),n}();p(document).on(N.CLICK_DATA_API,S,function(t){t.preventDefault();var e=t.target;p(e).hasClass(C)||(e=p(e).closest(O)),k._jQueryInterface.call(p(e),"toggle")}).on(N.FOCUS_BLUR_DATA_API,S,function(t){var e=p(t.target).closest(O)[0];p(e).toggleClass(T,/^focus(in)?$/.test(t.type))}),p.fn[_]=k._jQueryInterface,p.fn[_].Constructor=k,p.fn[_].noConflict=function(){return p.fn[_]=b,k._jQueryInterface};var L="carousel",x="bs.carousel",P="."+x,H=".data-api",j=p.fn[L],R={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},F={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},M="next",W="prev",U="left",B="right",q={SLIDE:"slide"+P,SLID:"slid"+P,KEYDOWN:"keydown"+P,MOUSEENTER:"mouseenter"+P,MOUSELEAVE:"mouseleave"+P,TOUCHSTART:"touchstart"+P,TOUCHMOVE:"touchmove"+P,TOUCHEND:"touchend"+P,POINTERDOWN:"pointerdown"+P,POINTERUP:"pointerup"+P,DRAG_START:"dragstart"+P,LOAD_DATA_API:"load"+P+H,CLICK_DATA_API:"click"+P+H},K="carousel",Q="active",V="slide",Y="carousel-item-right",z="carousel-item-left",X="carousel-item-next",G="carousel-item-prev",$="pointer-event",J=".active",Z=".active.carousel-item",tt=".carousel-item",et=".carousel-item img",nt=".carousel-item-next, .carousel-item-prev",it=".carousel-indicators",ot="[data-slide], [data-slide-to]",rt='[data-ride="carousel"]',st={TOUCH:"touch",PEN:"pen"},at=function(){function r(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(it),this._touchSupported="ontouchstart"in document.documentElement||0<navigator.maxTouchPoints,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var t=r.prototype;return t.next=function(){this._isSliding||this._slide(M)},t.nextWhenVisible=function(){!document.hidden&&p(this._element).is(":visible")&&"hidden"!==p(this._element).css("visibility")&&this.next()},t.prev=function(){this._isSliding||this._slide(W)},t.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(nt)&&(m.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},t.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},t.to=function(t){var e=this;this._activeElement=this._element.querySelector(Z);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)p(this._element).one(q.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=n<t?M:W;this._slide(i,this._items[t])}},t.dispose=function(){p(this._element).off(P),p.removeData(this._element,x),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},t._getConfig=function(t){return t=l({},R,t),m.typeCheckConfig(L,t,F),t},t._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;0<e&&this.prev(),e<0&&this.next()}},t._addEventListeners=function(){var e=this;this._config.keyboard&&p(this._element).on(q.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&p(this._element).on(q.MOUSEENTER,function(t){return e.pause(t)}).on(q.MOUSELEAVE,function(t){return e.cycle(t)}),this._config.touch&&this._addTouchEventListeners()},t._addTouchEventListeners=function(){var n=this;if(this._touchSupported){var e=function(t){n._pointerEvent&&st[t.originalEvent.pointerType.toUpperCase()]?n.touchStartX=t.originalEvent.clientX:n._pointerEvent||(n.touchStartX=t.originalEvent.touches[0].clientX)},i=function(t){n._pointerEvent&&st[t.originalEvent.pointerType.toUpperCase()]&&(n.touchDeltaX=t.originalEvent.clientX-n.touchStartX),n._handleSwipe(),"hover"===n._config.pause&&(n.pause(),n.touchTimeout&&clearTimeout(n.touchTimeout),n.touchTimeout=setTimeout(function(t){return n.cycle(t)},500+n._config.interval))};p(this._element.querySelectorAll(et)).on(q.DRAG_START,function(t){return t.preventDefault()}),this._pointerEvent?(p(this._element).on(q.POINTERDOWN,function(t){return e(t)}),p(this._element).on(q.POINTERUP,function(t){return i(t)}),this._element.classList.add($)):(p(this._element).on(q.TOUCHSTART,function(t){return e(t)}),p(this._element).on(q.TOUCHMOVE,function(t){var e;(e=t).originalEvent.touches&&1<e.originalEvent.touches.length?n.touchDeltaX=0:n.touchDeltaX=e.originalEvent.touches[0].clientX-n.touchStartX}),p(this._element).on(q.TOUCHEND,function(t){return i(t)}))}},t._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()}},t._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(tt)):[],this._items.indexOf(t)},t._getItemByDirection=function(t,e){var n=t===M,i=t===W,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var s=(o+(t===W?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},t._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(this._element.querySelector(Z)),o=p.Event(q.SLIDE,{relatedTarget:t,direction:e,from:i,to:n});return p(this._element).trigger(o),o},t._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var e=[].slice.call(this._indicatorsElement.querySelectorAll(J));p(e).removeClass(Q);var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&p(n).addClass(Q)}},t._slide=function(t,e){var n,i,o,r=this,s=this._element.querySelector(Z),a=this._getItemIndex(s),l=e||s&&this._getItemByDirection(t,s),c=this._getItemIndex(l),h=Boolean(this._interval);if(o=t===M?(n=z,i=X,U):(n=Y,i=G,B),l&&p(l).hasClass(Q))this._isSliding=!1;else if(!this._triggerSlideEvent(l,o).isDefaultPrevented()&&s&&l){this._isSliding=!0,h&&this.pause(),this._setActiveIndicatorElement(l);var u=p.Event(q.SLID,{relatedTarget:l,direction:o,from:a,to:c});if(p(this._element).hasClass(V)){p(l).addClass(i),m.reflow(l),p(s).addClass(n),p(l).addClass(n);var f=parseInt(l.getAttribute("data-interval"),10);this._config.interval=f?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,f):this._config.defaultInterval||this._config.interval;var d=m.getTransitionDurationFromElement(s);p(s).one(m.TRANSITION_END,function(){p(l).removeClass(n+" "+i).addClass(Q),p(s).removeClass(Q+" "+i+" "+n),r._isSliding=!1,setTimeout(function(){return p(r._element).trigger(u)},0)}).emulateTransitionEnd(d)}else p(s).removeClass(Q),p(l).addClass(Q),this._isSliding=!1,p(this._element).trigger(u);h&&this.cycle()}},r._jQueryInterface=function(i){return this.each(function(){var t=p(this).data(x),e=l({},R,p(this).data());"object"==typeof i&&(e=l({},e,i));var n="string"==typeof i?i:e.slide;if(t||(t=new r(this,e),p(this).data(x,t)),"number"==typeof i)t.to(i);else if("string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method n
9amed "'+n+'"');t[n]()}else e.interval&&e.ride&&(t.pause(),t.cycle())})},r._dataApiClickHandler=function(t){var e=m.getSelectorFromElement(this);if(e){var n=p(e)[0];if(n&&p(n).hasClass(K)){var i=l({},p(n).data(),p(this).data()),o=this.getAttribute("data-slide-to");o&&(i.interval=!1),r._jQueryInterface.call(p(n),i),o&&p(n).data(x).to(o),t.preventDefault()}}},s(r,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return R}}]),r}();p(document).on(q.CLICK_DATA_API,ot,at._dataApiClickHandler),p(window).on(q.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(rt)),e=0,n=t.length;e<n;e++){var i=p(t[e]);at._jQueryInterface.call(i,i.data())}}),p.fn[L]=at._jQueryInterface,p.fn[L].Constructor=at,p.fn[L].noConflict=function(){return p.fn[L]=j,at._jQueryInterface};var lt="collapse",ct="bs.collapse",ht="."+ct,ut=p.fn[lt],ft={toggle:!0,parent:""},dt={toggle:"boolean",parent:"(string|element)"},pt={SHOW:"show"+ht,SHOWN:"shown"+ht,HIDE:"hide"+ht,HIDDEN:"hidden"+ht,CLICK_DATA_API:"click"+ht+".data-api"},mt="show",gt="collapse",_t="collapsing",vt="collapsed",yt="width",Et="height",bt=".show, .collapsing",wt='[data-toggle="collapse"]',Ct=function(){function a(e,t){this._isTransitioning=!1,this._element=e,this._config=this._getConfig(t),this._triggerArray=[].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'));for(var n=[].slice.call(document.querySelectorAll(wt)),i=0,o=n.length;i<o;i++){var r=n[i],s=m.getSelectorFromElement(r),a=[].slice.call(document.querySelectorAll(s)).filter(function(t){return t===e});null!==s&&0<a.length&&(this._selector=s,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var t=a.prototype;return t.toggle=function(){p(this._element).hasClass(mt)?this.hide():this.show()},t.show=function(){var t,e,n=this;if(!this._isTransitioning&&!p(this._element).hasClass(mt)&&(this._parent&&0===(t=[].slice.call(this._parent.querySelectorAll(bt)).filter(function(t){return"string"==typeof n._config.parent?t.getAttribute("data-parent")===n._config.parent:t.classList.contains(gt)})).length&&(t=null),!(t&&(e=p(t).not(this._selector).data(ct))&&e._isTransitioning))){var i=p.Event(pt.SHOW);if(p(this._element).trigger(i),!i.isDefaultPrevented()){t&&(a._jQueryInterface.call(p(t).not(this._selector),"hide"),e||p(t).data(ct,null));var o=this._getDimension();p(this._element).removeClass(gt).addClass(_t),this._element.style[o]=0,this._triggerArray.length&&p(this._triggerArray).removeClass(vt).attr("aria-expanded",!0),this.setTransitioning(!0);var r="scroll"+(o[0].toUpperCase()+o.slice(1)),s=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,function(){p(n._element).removeClass(_t).addClass(gt).addClass(mt),n._element.style[o]="",n.setTransitioning(!1),p(n._element).trigger(pt.SHOWN)}).emulateTransitionEnd(s),this._element.style[o]=this._element[r]+"px"}}},t.hide=function(){var t=this;if(!this._isTransitioning&&p(this._element).hasClass(mt)){var e=p.Event(pt.HIDE);if(p(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",m.reflow(this._element),p(this._element).addClass(_t).removeClass(gt).removeClass(mt);var i=this._triggerArray.length;if(0<i)for(var o=0;o<i;o++){var r=this._triggerArray[o],s=m.getSelectorFromElement(r);if(null!==s)p([].slice.call(document.querySelectorAll(s))).hasClass(mt)||p(r).addClass(vt).attr("aria-expanded",!1)}this.setTransitioning(!0);this._element.style[n]="";var a=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,function(){t.setTransitioning(!1),p(t._element).removeClass(_t).addClass(gt).trigger(pt.HIDDEN)}).emulateTransitionEnd(a)}}},t.setTransitioning=function(t){this._isTransitioning=t},t.dispose=function(){p.removeData(this._element,ct),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},t._getConfig=function(t){return(t=l({},ft,t)).toggle=Boolean(t.toggle),m.typeCheckConfig(lt,t,dt),t},t._getDimension=function(){return p(this._element).hasClass(yt)?yt:Et},t._getParent=function(){var t,n=this;m.isElement(this._config.parent)?(t=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(t=this._config.parent[0])):t=document.querySelector(this._config.parent);var e='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]',i=[].slice.call(t.querySelectorAll(e));return p(i).each(function(t,e){n._addAriaAndCollapsedClass(a._getTargetFromElement(e),[e])}),t},t._addAriaAndCollapsedClass=function(t,e){var n=p(t).hasClass(mt);e.length&&p(e).toggleClass(vt,!n).attr("aria-expanded",n)},a._getTargetFromElement=function(t){var e=m.getSelectorFromElement(t);return e?document.querySelector(e):null},a._jQueryInterface=function(i){return this.each(function(){var t=p(this),e=t.data(ct),n=l({},ft,t.data(),"object"==typeof i&&i?i:{});if(!e&&n.toggle&&/show|hide/.test(i)&&(n.toggle=!1),e||(e=new a(this,n),t.data(ct,e)),"string"==typeof i){if("undefined"==typeof e[i])throw new TypeError('No method n
9amed "'+i+'"');e[i]()}})},s(a,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return ft}}]),a}();p(document).on(pt.CLICK_DATA_API,wt,function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var n=p(this),e=m.getSelectorFromElement(this),i=[].slice.call(document.querySelectorAll(e));p(i).each(function(){var t=p(this),e=t.data(ct)?"toggle":n.data();Ct._jQueryInterface.call(t,e)})}),p.fn[lt]=Ct._jQueryInterface,p.fn[lt].Constructor=Ct,p.fn[lt].noConflict=function(){return p.fn[lt]=ut,Ct._jQueryInterface};for(var Tt="undefined"!=typeof window&&"undefined"!=typeof document,St=["Edge","Trident","Firefox"],Dt=0,It=0;It<St.length;It+=1)if(Tt&&0<=navigator.userAgent.indexOf(St[It])){Dt=1;break}var At=Tt&&window.Promise?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then(function(){e=!1,t()}))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout(function(){e=!1,t()},Dt))}};function Ot(t){return t&&"[object Function]"==={}.toString.call(t)}function Nt(t,e){if(1!==t.nodeType)return[];var n=t.ownerDocument.defaultView.getComputedStyle(t,null);return e?n[e]:n}function kt(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function Lt(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=Nt(t),n=e.overflow,i=e.overflowX,o=e.overflowY;return/(auto|scroll|overlay)/.test(n+o+i)?t:Lt(kt(t))}var xt=Tt&&!(!window.MSInputMethodContext||!document.documentMode),Pt=Tt&&/MSIE 10/.test(navigator.userAgent);function Ht(t){return 11===t?xt:10===t?Pt:xt||Pt}function jt(t){if(!t)return document.documentElement;for(var e=Ht(10)?document.body:null,n=t.offsetParent||null;n===e&&t.nextElementSibling;)n=(t=t.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&"BODY"!==i&&"HTML"!==i?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===Nt(n,"position")?jt(n):n:t?t.ownerDocument.documentElement:document.documentElement}function Rt(t){return null!==t.parentNode?Rt(t.parentNode):t}function Ft(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?t:e,o=n?e:t,r=document.createRange();r.setStart(i,0),r.setEnd(o,0);var s,a,l=r.commonAncestorContainer;if(t!==l&&e!==l||i.contains(o))return"BODY"===(a=(s=l).nodeName)||"HTML"!==a&&jt(s.firstElementChild)!==s?jt(l):l;var c=Rt(t);return c.host?Ft(c.host,e):Ft(t,Rt(e).host)}function Mt(t){var e="top"===(1<arguments.length&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=t.nodeName;if("BODY"!==n&&"HTML"!==n)return t[e];var i=t.ownerDocument.documentElement;return(t.ownerDocument.scrollingElement||i)[e]}function Wt(t,e){var n="x"===e?"Left":"Top",i="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"],10)+parseFloat(t["border"+i+"Width"],10)}function Ut(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],Ht(10)?parseInt(n["offset"+t])+parseInt(i["margin"+("Height"===t?"Top":"Left")])+parseInt(i["margin"+("Height"===t?"Bottom":"Right")]):0)}function Bt(t){var e=t.body,n=t.documentElement,i=Ht(10)&&getComputedStyle(n);return{height:Ut("Height",e,n,i),width:Ut("Width",e,n,i)}}var qt=function(){function i(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)}}return function(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}}(),Kt=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},Qt=Object.assign||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};function Vt(t){return Qt({},t,{right:t.left+t.width,bottom:t.top+t.height})}function Yt(t){var e={};try{if(Ht(10)){e=t.getBoundingClientRect();var n=Mt(t,"top"),i=Mt(t,"left");e.top+=n,e.left+=i,e.bottom+=n,e.right+=i}else e=t.getBoundingClientRect()}catch(t){}var o={left:e.left,top:e.top,width:e.right-e.left,height:e.bottom-e.top},r="HTML"===t.nodeName?Bt(t.ownerDocument):{},s=r.width||t.clientWidth||o.right-o.left,a=r.height||t.clientHeight||o.bottom-o.top,l=t.offsetWidth-s,c=t.offsetHeight-a;if(l||c){var h=Nt(t);l-=Wt(h,"x"),c-=Wt(h,"y"),o.width-=l,o.height-=c}return Vt(o)}function zt(t,e){var n=2<arguments.length&&void 0!==arguments[2]&&arguments[2],i=Ht(10),o="HTML"===e.n
vendor: 17,549 bytes, line 9
9odeName,r=Yt(t),s=Yt(e),a=Lt(t),l=Nt(e),c=parseFloat(l.borderTopWidth,10),h=parseFloat(l.borderLeftWidth,10);n&&o&&(s.top=Math.max(s.top,0),s.left=Math.max(s.left,0));var u=Vt({top:r.top-s.top-c,left:r.left-s.left-h,width:r.width,height:r.height});if(u.marginTop=0,u.marginLeft=0,!i&&o){var f=parseFloat(l.marginTop,10),d=parseFloat(l.marginLeft,10);u.top-=c-f,u.bottom-=c-f,u.left-=h-d,u.right-=h-d,u.marginTop=f,u.marginLeft=d}return(i&&!n?e.contains(a):e===a&&"BODY"!==a.nodeName)&&(u=function(t,e){var n=2<arguments.length&&void 0!==arguments[2]&&arguments[2],i=Mt(e,"top"),o=Mt(e,"left"),r=n?-1:1;return t.top+=i*r,t.bottom+=i*r,t.left+=o*r,t.right+=o*r,t}(u,e)),u}function Xt(t){if(!t||!t.parentElement||Ht())return document.documentElement;for(var e=t.parentElement;e&&"none"===Nt(e,"transform");)e=e.parentElement;return e||document.documentElement}function Gt(t,e,n,i){var o=4<arguments.length&&void 0!==arguments[4]&&arguments[4],r={top:0,left:0},s=o?Xt(t):Ft(t,e);if("viewport"===i)r=function(t){var e=1<arguments.length&&void 0!==arguments[1]&&arguments[1],n=t.ownerDocument.documentElement,i=zt(t,n),o=Math.max(n.clientWidth,window.innerWidth||0),r=Math.max(n.clientHeight,window.innerHeight||0),s=e?0:Mt(n),a=e?0:Mt(n,"left");return Vt({top:s-i.top+i.marginTop,left:a-i.left+i.marginLeft,width:o,height:r})}(s,o);else{var a=void 0;"scrollParent"===i?"BODY"===(a=Lt(kt(e))).nodeName&&(a=t.ownerDocument.documentElement):a="window"===i?t.ownerDocument.documentElement:i;var l=zt(a,s,o);if("HTML"!==a.nodeName||function t(e){var n=e.nodeName;if("BODY"===n||"HTML"===n)return!1;if("fixed"===Nt(e,"position"))return!0;var i=kt(e);return!!i&&t(i)}(s))r=l;else{var c=Bt(t.ownerDocument),h=c.height,u=c.width;r.top+=l.top-l.marginTop,r.bottom=h+l.top,r.left+=l.left-l.marginLeft,r.right=u+l.left}}var f="number"==typeof(n=n||0);return r.left+=f?n:n.left||0,r.top+=f?n:n.top||0,r.right-=f?n:n.right||0,r.bottom-=f?n:n.bottom||0,r}function $t(t,e,i,n,o){var r=5<arguments.length&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var s=Gt(i,n,r,o),a={top:{width:s.width,height:e.top-s.top},right:{width:s.right-e.right,height:s.height},bottom:{width:s.width,height:s.bottom-e.bottom},left:{width:e.left-s.left,height:s.height}},l=Object.keys(a).map(function(t){return Qt({key:t},a[t],{area:(e=a[t],e.width*e.height)});var e}).sort(function(t,e){return e.area-t.area}),c=l.filter(function(t){var e=t.width,n=t.height;return e>=i.clientWidth&&n>=i.clientHeight}),h=0<c.length?c[0].key:l[0].key,u=t.split("-")[1];return h+(u?"-"+u:"")}function Jt(t,e,n){var i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return zt(n,i?Xt(e):Ft(e,n),i)}function Zt(t){var e=t.ownerDocument.defaultView.getComputedStyle(t),n=parseFloat(e.marginTop||0)+parseFloat(e.marginBottom||0),i=parseFloat(e.marginLeft||0)+parseFloat(e.marginRight||0);return{width:t.offsetWidth+i,height:t.offsetHeight+n}}function te(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,function(t){return e[t]})}function ee(t,e,n){n=n.split("-")[0];var i=Zt(t),o={width:i.width,height:i.height},r=-1!==["right","left"].indexOf(n),s=r?"top":"left",a=r?"left":"top",l=r?"height":"width",c=r?"width":"height";return o[s]=e[s]+e[l]/2-i[l]/2,o[a]=n===a?e[a]-i[c]:e[te(a)],o}function ne(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function ie(t,n,e){return(void 0===e?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex(function(t){return t[e]===n});var i=ne(t,function(t){return t[e]===n});return t.indexOf(i)}(t,"name",e))).forEach(function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var e=t.function||t.fn;t.enabled&&Ot(e)&&(n.offsets.popper=Vt(n.offsets.popper),n.offsets.reference=Vt(n.offsets.reference),n=e(n,t))}),n}function oe(t,n){return t.some(function(t){var e=t.name;return t.enabled&&e===n})}function re(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),i=0;i<e.length;i++){var o=e[i],r=o?""+o+n:t;if("undefined"!=typeof document.body.style[r])return r}return null}function se(t){var e=t.ownerDocument;return e?e.defaultView:window}function ae(t,e,n,i){n.updateBound=i,se(t).addEventListener("resize",n.updateBound,{passive:!0});var o=Lt(t);return function t(e,n,i,o){var r="BODY"===e.nodeName,s=r?e.ownerDocument.defaultView:e;s.addEventListener(n,i,{passive:!0}),r||t(Lt(s.parentNode),n,i,o),o.push(s)}(o,"scroll",n.updateBound,n.scrollParents),n.scrollElement=o,n.eventsEnabled=!0,n}function le(){var t,e;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(t=this.reference,e=this.state,se(t).removeEventListener("resize",e.updateBound),e.scrollParents.forEach(function(t){t.removeEventListener("scroll",e.updateBound)}),e.updateBound=null,e.scrollParents=[],e.scrollElement=null,e.eventsEnabled=!1,e))}function ce(t){return""!==t&&!isNaN(parseFloat(t))&&isFinite(t)}function he(n,i){Object.keys(i).forEach(function(t){var e="";-1!==["width","height","top","right","bottom","left"].indexOf(t)&&ce(i[t])&&(e="px"),n.style[t]=i[t]+e})}var ue=Tt&&/Firefox/i.test(navigator.userAgent);function fe(t,e,n){var i=ne(t,function(t){return t.name===e}),o=!!i&&t.some(function(t){return t.name===n&&t.enabled&&t.order<i.order});if(!o){var r="`"+e+"`",s="`"+n+"`";console.warn(s+" modifier is required by "+r+" modifier in order to work, be sure to include it before "+r+"!")}return o}var 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"],pe=de.slice(3);function me(t){var e=1<arguments.length&&void 0!==arguments[1]&&arguments[1],n=pe.indexOf(t),i=pe.slice(n+1).concat(pe.slice(0,n));return e?i.reverse():i}var ge="flip",_e="clockwise",ve="counterclockwise";function ye(t,o,r,e){var s=[0,0],a=-1!==["right","left"].indexOf(e),n=t.split(/(\+|\-)/).map(function(t){return t.trim()}),i=n.indexOf(ne(n,function(t){return-1!==t.search(/,|\s/)}));n[i]&&-1===n[i].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==i?[n.slice(0,i).concat([n[i].split(l)[0]]),[n[i].split(l)[1]].concat(n.slice(i+1))]:[n];return(c=c.map(function(t,e){var n=(1===e?!a:a)?"height":"width",i=!1;return t.reduce(function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,i=!0,t):i?(t[t.length-1]+=e,i=!1,t):t.concat(e)},[]).map(function(t){return function(t,e,n,i){var o=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+o[1],s=o[2];if(!r)return t;if(0!==s.indexOf("%"))return"vh"!==s&&"vw"!==s?r:("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*r;var a=void 0;switch(s){case"%p":a=n;break;case"%":case"%r":default:a=i}return Vt(a)[e]/100*r}(t,n,o,r)})})).forEach(function(n,i){n.forEach(function(t,e){ce(t)&&(s[i]+=t*("-"===n[e-1]?-1:1))})}),s}var Ee={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,n=e.split("-")[0],i=e.split("-")[1];if(i){var o=t.offsets,r=o.reference,s=o.popper,a=-1!==["bottom","top"].indexOf(n),l=a?"left":"top",c=a?"width":"height",h={start:Kt({},l,r[l]),end:Kt({},l,r[l]+r[c]-s[c])};t.offsets.popper=Qt({},s,h[i])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var n=e.offset,i=t.placement,o=t.offsets,r=o.popper,s=o.reference,a=i.split("-")[0],l=void 0;return l=ce(+n)?[+n,0]:ye(n,r,s,a),"left"===a?(r.top+=l[0],r.left-=l[1]):"right"===a?(r.top+=l[0],r.left+=l[1]):"top"===a?(r.left+=l[0],r.top-=l[1]):"bottom"===a&&(r.left+=l[0],r.top+=l[1]),t.popper=r,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,i){var e=i.boundariesElement||jt(t.instance.popper);t.instance.reference===e&&(e=jt(e));var n=re("transform"),o=t.instance.popper.style,r=o.top,s=o.left,a=o[n];o.top="",o.left="",o[n]="";var l=Gt(t.instance.popper,t.instance.reference,i.padding,e,t.positionFixed);o.top=r,o.left=s,o[n]=a,i.boundaries=l;var c=i.priority,h=t.offsets.popper,u={primary:function(t){var e=h[t];return h[t]<l[t]&&!i.escapeWithReference&&(e=Math.max(h[t],l[t])),Kt({},t,e)},secondary:function(t){var e="right"===t?"left":"top",n=h[e];return h[t]>l[t]&&!i.escapeWithReference&&(n=Math.min(h[e],l[t]-("right"===t?h.width:h.height))),Kt({},e,n)}};return c.forEach(function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";h=Qt({},h,u[e](t))}),t.offsets.popper=h,t},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,n=e.popper,i=e.reference,o=t.placement.split("-")[0],r=Math.floor,s=-1!==["top","bottom"].indexOf(o),a=s?"right":"bottom",l=s?"left":"top",c=s?"width":"height";return n[a]<r(i[l])&&(t.offsets.popper[l]=r(i[l])-n[c]),n[l]>r(i[a])&&(t.offsets.popper[l]=r(i[a])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var n;if(!fe(t.instance.modifiers,"arrow","keepTogether"))return t;var i=e.element;if("string"==typeof i){if(!(i=t.instance.popper.querySelector(i)))return t}else if(!t.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var o=t.placement.split("-")[0],r=t.offsets,s=r.popper,a=r.reference,l=-1!==["left","right"].indexOf(o),c=l?"height":"width",h=l?"Top":"Left",u=h.toLowerCase(),f=l?"left":"top",d=l?"bottom":"right",p=Zt(i)[c];a[d]-p<s[u]&&(t.offsets.popper[u]-=s[u]-(a[d]-p)),a[u]+p>s[d]&&(t.offsets.popper[u]+=a[u]+p-s[d]),t.offsets.popper=Vt(t.offsets.popper);var m=a[u]+a[c]/2-p/2,g=Nt(t.instance.popper),_=parseFloat(g["margin"+h],10),v=parseFloat(g["border"+h+"Width"],10),y=m-t.offsets.popper[u]-_-v;return y=Math.max(Math.min(s[c]-p,y),0),t.arrowElement=i,t.offsets.arrow=(Kt(n={},u,Math.round(y)),Kt(n,f,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(p,m){if(oe(p.instance.modifiers,"inner"))return p;if(p.flipped&&p.placement===p.originalPlacement)return p;var g=Gt(p.instance.popper,p.instance.reference,m.padding,m.boundariesElement,p.positionFixed),_=p.placement.split("-")[0],v=te(_),y=p.placement.split("-")[1]||"",E=[];switch(m.behavior){case ge:E=[_,v];break;case _e:E=me(_);break;case ve:E=me(_,!0);break;default:E=m.behavior}return E.forEach(function(t,e){if(_!==t||E.length===e+1)return p;_=p.placement.split("-")[0],v=te(_);var n,i=p.offsets.popper,o=p.offsets.reference,r=Math.floor,s="left"===_&&r(i.right)>r(o.left)||"right"===_&&r(i.left)<r(o.right)||"top"===_&&r(i.bottom)>r(o.top)||"bottom"===_&&r(i.top)<r(o.bottom),a=r(i.left)<r(g.left),l=r(i.right)>r(g.right),c=r(i.top)<r(g.top),h=r(i.bottom)>r(g.bottom),u="left"===_&&a||"right"===_&&l||"top"===_&&c||"bottom"===_&&h,f=-1!==["top","bottom"].indexOf(_),d=!!m.flipVariations&&(f&&"start"===y&&a||f&&"end"===y&&l||!f&&"start"===y&&c||!f&&"end"===y&&h);(s||u||d)&&(p.flipped=!0,(s||u)&&(_=E[e+1]),d&&(y="end"===(n=y)?"start":"start"===n?"end":n),p.placement=_+(y?"-"+y:""),p.offsets.popper=Qt({},p.offsets.popper,ee(p.instance.popper,p.offsets.reference,p.placement)),p=ie(p.instance.modifiers,p,"flip"))}),p},behavior:"flip",padding:5,boundariesElement:"viewport"},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split("-")[0],i=t.offsets,o=i.popper,r=i.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return o[s?"left":"top"]=r[n]-(a?o[s?"width":"height"]:0),t.placement=te(e),t.offsets.popper=Vt(o),t}},hide:{order:800,enabled:!0,fn:function(t){if(!fe(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=ne(t.instance.modifiers,function(t){return"preventOverflow"===t.name}).boundaries;if(e.bottom<n.top||e.left>n.right||e.top>n.bottom||e.right<n.left){if(!0===t.hide)return t;t.hide=!0,t.attributes["x-out-of-boundaries"]=""}else{if(!1===t.hide)return t;t.hide=!1,t.attributes["x-out-of-boundaries"]=!1}return t}},computeStyle:{order:850,enabled:!0,fn:function(t,e){var n=e.x,i=e.y,o=t.offsets.popper,r=ne(t.instance.modifiers,function(t){return"applyStyle"===t.name}).gpuAcceleration;void 0!==r&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var s,a,l,c,h,u,f,d,p,m,g,_,v,y,E=void 0!==r?r:e.gpuAcceleration,b=jt(t.instance.popper),w=Yt(b),C={position:o.position},T=(s=t,a=window.devicePixelRatio<2||!ue,l=s.offsets,c=l.popper,h=l.reference,u=Math.round,f=Math.floor,d=function(t){return t},p=u(h.width),m=u(c.width),g=-1!==["left","right"].indexOf(s.placement),_=-1!==s.placement.indexOf("-"),y=a?u:d,{left:(v=a?g||_||p%2==m%2?u:f:d)(p%2==1&&m%2==1&&!_&&a?c.left-1:c.left),top:y(c.top),bottom:y(c.bottom),right:v(c.right)}),S="bottom"===n?"top":"bottom",D="right"===i?"left":"right",I=re("transform"),A=void 0,O=void 0;if(O="bottom"===S?"HTML"===b.nodeName?-b.clientHeight+T.bottom:-w.height+T.bottom:T.top,A="right"===D?"HTML"===b.nodeName?-b.clientWidth+T.right:-w.width+T.right:T.left,E&&I)C[I]="translate3d("+A+"px, "+O+"px, 0)",C[S]=0,C[D]=0,C.willChange="transform";else{var N="bottom"===S?-1:1,k="right"===D?-1:1;C[S]=O*N,C[D]=A*k,C.willChange=S+", "+D}var L={"x-placement":t.placement};return t.attributes=Qt({},L,t.attributes),t.styles=Qt({},C,t.styles),t.arrowStyles=Qt({},t.offsets.arrow,t.arrowStyles),t},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(t){var e,n;return he(t.instance.popper,t.styles),e=t.instance.popper,n=t.attributes,Object.keys(n).forEach(function(t){!1!==n[t]?e.setAttribute(t,n[t]):e.removeAttribute(t)}),t.arrowElement&&Object.keys(t.arrowStyles).length&&he(t.arrowElement,t.arrowStyles),t},onLoad:function(t,e,n,i,o){var r=Jt(o,e,t,n.positionFixed),s=$t(n.placement,r,e,t,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return e.setAttribute("x-placement",s),he(e,{position:n.positionFixed?"fixed":"absolute"}),n},gpuAcceleration:void 0}}},be=function(){function r(t,e){var n=this,i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r),this.scheduleUpdate=function(){return requestAnimationFrame(n.update)},this.update=At(this.update.bind(this)),this.options=Qt({},r.Defaults,i),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=t&&t.jquery?t[0]:t,this.popper=e&&e.jquery?e[0]:e,this.options.modifiers={},Object.keys(Qt({},r.Defaults.modifiers,i.modifiers)).forEach(function(t){n.options.modifiers[t]=Qt({},r.Defaults.modifiers[t]||{},i.modifiers?i.modifiers[t]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(t){return Qt({name:t},n.options.modifiers[t])}).sort(function(t,e){return t.order-e.order}),this.modifiers.forEach(function(t){t.enabled&&Ot(t.onLoad)&&t.onLoad(n.reference,n.popper,n.options,t,n.state)}),this.update();var o=this.options.eventsEnabled;o&&this.enableEventListeners(),this.state.eventsEnabled=o}return qt(r,[{key:"update",value:function(){return function(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=Jt(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=$t(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.positionFixed=this.options.positionFixed,t.offsets.popper=ee(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=ie(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}.call(this)}},{key:"destroy",value:function(){return function(){return this.state.isDestroyed=!0,oe(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[re("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}.call(this)}},{key:"enableEventListeners",value:function(){return function(){this.state.eventsEnabled||(this.state=ae(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:"disableEventListeners",value:function(){return le.call(this)}}]),r}();be.Utils=("undefined"!=typeof window?window:global).PopperUtils,be.placements=de,be.Defaults=Ee;var we="dropdown",Ce="bs.dropdown",Te="."+Ce,Se=".data-api",De=p.fn[we],Ie=new RegExp("38|40|27"),Ae={HIDE:"hide"+Te,HIDDEN:"hidden"+Te,SHOW:"show"+Te,SHOWN:"shown"+Te,CLICK:"click"+Te,CLICK_DATA_API:"click"+Te+Se,KEYDOWN_DATA_API:"keydown"+Te+Se,KEYUP_DATA_API:"keyup"+Te+Se},Oe="disabled",Ne="show",ke="dropup",Le="dropright",xe="dropleft",Pe="dropdown-menu-right",He="position-static",je='[data-toggle="dropdown"]',Re=".dropdown form",Fe=".dropdown-menu",Me=".navbar-nav",We=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",Ue="top-start",Be="top-end",qe="bottom-start",Ke="bottom-end",Qe="right-start",Ve="left-start",Ye={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic"},ze={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"str
9ing"},Xe=function(){function c(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var t=c.prototype;return t.toggle=function(){if(!this._element.disabled&&!p(this._element).hasClass(Oe)){var t=c._getParentFromElement(this._element),e=p(this._menu).hasClass(Ne);if(c._clearMenus(),!e){var n={relatedTarget:this._element},i=p.Event(Ae.SHOW,n);if(p(t).trigger(i),!i.isDefaultPrevented()){if(!this._inNavbar){if("undefined"==typeof be)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)");var o=this._element;"parent"===this._config.reference?o=t:m.isElement(this._config.reference)&&(o=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(o=this._config.reference[0])),"scrollParent"!==this._config.boundary&&p(t).addClass(He),this._popper=new be(o,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===p(t).closest(Me).length&&p(document.body).children().on("mouseover",null,p.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),p(this._menu).toggleClass(Ne),p(t).toggleClass(Ne).trigger(p.Event(Ae.SHOWN,n))}}}},t.show=function(){if(!(this._element.disabled||p(this._element).hasClass(Oe)||p(this._menu).hasClass(Ne))){var t={relatedTarget:this._element},e=p.Event(Ae.SHOW,t),n=c._getParentFromElement(this._element);p(n).trigger(e),e.isDefaultPrevented()||(p(this._menu).toggleClass(Ne),p(n).toggleClass(Ne).trigger(p.Event(Ae.SHOWN,t)))}},t.hide=function(){if(!this._element.disabled&&!p(this._element).hasClass(Oe)&&p(this._menu).hasClass(Ne)){var t={relatedTarget:this._element},e=p.Event(Ae.HIDE,t),n=c._getParentFromElement(this._element);p(n).trigger(e),e.isDefaultPrevented()||(p(this._menu).toggleClass(Ne),p(n).toggleClass(Ne).trigger(p.Event(Ae.HIDDEN,t)))}},t.dispose=function(){p.removeData(this._element,Ce),p(this._element).off(Te),this._element=null,(this._menu=null)!==this._popper&&(this._popper.destroy(),this._popper=null)},t.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},t._addEventListeners=function(){var e=this;p(this._element).on(Ae.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},t._getConfig=function(t){return t=l({},this.constructor.Default,p(this._element).data(),t),m.typeCheckConfig(we,t,this.constructor.DefaultType),t},t._getMenuElement=function(){if(!this._menu){var t=c._getParentFromElement(this._element);t&&(this._menu=t.querySelector(Fe))}return this._menu},t._getPlacement=function(){var t=p(this._element.parentNode),e=qe;return t.hasClass(ke)?(e=Ue,p(this._menu).hasClass(Pe)&&(e=Be)):t.hasClass(Le)?e=Qe:t.hasClass(xe)?e=Ve:p(this._menu).hasClass(Pe)&&(e=Ke),e},t._detectNavbar=function(){return 0<p(this._element).closest(".navbar").length},t._getOffset=function(){var e=this,t={};return"function"==typeof this._config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,e._config.offset(t.offsets,e._element)||{}),t}:t.offset=this._config.offset,t},t._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}),t},c._jQueryInterface=function(e){return this.each(function(){var t=p(this).data(Ce);if(t||(t=new c(this,"object"==typeof e?e:null),p(this).data(Ce,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},c._clearMenus=function(t){if(!t||3!==t.which&&("keyup"!==t.type||9===t.which))for(var e=[].slice.call(document.querySelectorAll(je)),n=0,i=e.length;n<i;n++){var o=c._getParentFromElement(e[n]),r=p(e[n]).data(Ce),s={relatedTarget:e[n]};if(t&&"click"===t.type&&(s.clickEvent=t),r){var a=r._menu;if(p(o).hasClass(Ne)&&!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&9===t.which)&&p.contains(o,t.target))){var l=p.Event(Ae.HIDE,s);p(o).trigger(l),l.isDefaultPrevented()||("ontouchstart"in document.documentElement&&p(document.body).children().off("mouseover",null,p.noop),e[n].setAttribute("aria-expanded","fal
9se"),p(a).removeClass(Ne),p(o).removeClass(Ne).trigger(p.Event(Ae.HIDDEN,s)))}}}},c._getParentFromElement=function(t){var e,n=m.getSelectorFromElement(t);return n&&(e=document.querySelector(n)),e||t.parentNode},c._dataApiKeydownHandler=function(t){if((/input|textarea/i.test(t.target.tagName)?!(32===t.which||27!==t.which&&(40!==t.which&&38!==t.which||p(t.target).closest(Fe).length)):Ie.test(t.which))&&(t.preventDefault(),t.stopPropagation(),!this.disabled&&!p(this).hasClass(Oe))){var e=c._getParentFromElement(this),n=p(e).hasClass(Ne);if(n&&(!n||27!==t.which&&32!==t.which)){var i=[].slice.call(e.querySelectorAll(We));if(0!==i.length){var o=i.indexOf(t.target);38===t.which&&0<o&&o--,40===t.which&&o<i.length-1&&o++,o<0&&(o=0),i[o].focus()}}else{if(27===t.which){var r=e.querySelector(je);p(r).trigger("focus")}p(this).trigger("click")}}},s(c,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Ye}},{key:"DefaultType",get:function(){return ze}}]),c}();p(document).on(Ae.KEYDOWN_DATA_API,je,Xe._dataApiKeydownHandler).on(Ae.KEYDOWN_DATA_API,Fe,Xe._dataApiKeydownHandler).on(Ae.CLICK_DATA_API+" "+Ae.KEYUP_DATA_API,Xe._clearMenus).on(Ae.CLICK_DATA_API,je,function(t){t.preventDefault(),t.stopPropagation(),Xe._jQueryInterface.call(p(this),"toggle")}).on(Ae.CLICK_DATA_API,Re,function(t){t.stopPropagation()}),p.fn[we]=Xe._jQueryInterface,p.fn[we].Constructor=Xe,p.fn[we].noConflict=function(){return p.fn[we]=De,Xe._jQueryInterface};var Ge="modal",$e="bs.modal",Je="."+$e,Ze=p.fn[Ge],tn={backdrop:!0,keyboard:!0,focus:!0,show:!0},en={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},nn={HIDE:"hide"+Je,HIDDEN:"hidden"+Je,SHOW:"show"+Je,SHOWN:"shown"+Je,FOCUSIN:"focusin"+Je,RESIZE:"resize"+Je,CLICK_DISMISS:"click.dismiss"+Je,KEYDOWN_DISMISS:"keydown.dismiss"+Je,MOUSEUP_DISMISS:"mouseup.dismiss"+Je,MOUSEDOWN_DISMISS:"mousedown.dismiss"+Je,CLICK_DATA_API:"click"+Je+".data-api"},on="modal-dialog-scrollable",rn="modal-scrollbar-measure",sn="modal-backdrop",an="modal-open",ln="fade",cn="show",hn=".modal-dialog",un=".modal-body",fn='[data-toggle="modal"]',dn='[data-dismiss="modal"]',pn=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",mn=".sticky-top",gn=function(){function o(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=t.querySelector(hn),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0}var t=o.prototype;return t.toggle=function(t){return this._isShown?this.hide():this.show(t)},t.show=function(t){var e=this;if(!this._isShown&&!this._isTransitioning){p(this._element).hasClass(ln)&&(this._isTransitioning=!0);var n=p.Event(nn.SHOW,{relatedTarget:t});p(this._element).trigger(n),this._isShown||n.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),p(this._element).on(nn.CLICK_DISMISS,dn,function(t){return e.hide(t)}),p(this._dialog).on(nn.MOUSEDOWN_DISMISS,function(){p(e._element).one(nn.MOUSEUP_DISMISS,function(t){p(t.target).is(e._element)&&(e._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return e._showElement(t)}))}},t.hide=function(t){var e=this;if(t&&t.preventDefault(),this._isShown&&!this._isTransitioning){var n=p.Event(nn.HIDE);if(p(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()){this._isShown=!1;var i=p(this._element).hasClass(ln);if(i&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),p(document).off(nn.FOCUSIN),p(this._element).removeClass(cn),p(this._element).off(nn.CLICK_DISMISS),p(this._dialog).off(nn.MOUSEDOWN_DISMISS),i){var o=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,function(t){return e._hideModal(t)}).emulateTransitionEnd(o)}else this._hideModal()}}},t.dispose=function(){[window,this._element,this._dialog].forEach(function(t){return p(t).off(Je)}),p(document).off(nn.FOCUSIN),p.removeData(this._element,$e),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},t.handleUpdate=function(){this._adjustDialog()},t._getConfig=function(t){return t=l({},tn,t),m.typeCheckConfig(Ge,t,en),t},t._showElement=function(t){var e=this,n=p(this._element).hasClass(ln);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),p(this._dialog).hasClass(on)?this._dialog.querySelector(un).scrollTop=0:this._element.scrollTop=0,n&&m.reflow(this._element),p(this._element).addClass(cn),this._config.focus&&this._enforceFocus();var i=p.Event(nn.SHOWN,{relatedTarget:t}),o=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,p(e._element).trigger(i)};if(n){var r=m.getTransitionDurationFromElement(this._dialog);p(this._dialog).one(m.TRANSITION_END,o).emulateTransitionEnd(r)}else o()},t._enforceFocus=function(){var e=this;p(document).off(nn.FOCUSIN).on(nn.FOCUSIN,function(t){document!==t.target&&e._element!==t.target&&0===p(e._element).has(t.target).length&&e._element.focus()})},t._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?p(this._element).on(nn.KEYDOWN_DISMISS,function(t){27===t.which&&(t.preventDefault(),e.hide())}):this._isShown||p(this._element).off(nn.KEYDOWN_DISMISS)},t._setResizeEvent=function(){var e=this;this._isShown?p(window).on(nn.RESIZE,function(t){return e.handleUpdate(t)}):p(window).off(nn.RESIZE)},t._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._isTransitioning=!1,this._showBackdrop(function(){p(document.body).removeClass(an),t._resetAdjustments(),t._resetScrollbar(),p(t._element).trigger(nn.HIDDEN)})},t._removeBackdrop=function(){this._backdrop&&(p(this._backdrop).remove(),this._backdrop=null)},t._showBackdrop=function(t){var e=this,n=p(this._element).hasClass(ln)?ln:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=sn,n&&this._backdrop.classList.add(n),p(this._backdrop).appendTo(document.body),p(this._element).on(nn.CLICK_DISMISS,function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===e._config.backdrop?e._element.focus():e.hide())}),n&&m.reflow(this._backdrop),p(this._backdrop).addClass(cn),!t)return;if(!n)return void t();var i=m.getTransitionDurationFromElement(this._backdrop);p(this._backdrop).one(m.TRANSITION_END,t).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){p(this._backdrop).removeClass(cn);var o=function(){e._removeBackdrop(),t&&t()};if(p(this._element).hasClass(ln)){var r=m.getTransitionDurationFromElement(this._backdrop);p(this._backdrop).one(m.TRANSITION_END,o).emulateTransitionEnd(r)}else o()}else t&&t()},t._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")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},t._setScrollbar=function(){var o=this;if(this._isBodyOverflowing){var t=[].slice.call(document.querySelectorAll(pn)),e=[].slice.call(document.querySelectorAll(mn));p(t).each(function(t,e){var n=e.style.paddingRight,i=p(e).css("padding-right");p(e).data("padding-right",n).css("padding-right",parseFloat(i)+o._scrollbarWidth+"px")}),p(e).each(function(t,e){var n=e.style.marginRight,i=p(e).css("margin-right");p(e).data("margin-right",n).css("margin-right",parseFloat(i)-o._scrollbarWidth+"px")});var n=document.body.style.paddingRight,i=p(document.body).css("padding-right");p(document.body).data("padding-right",n).css("padding-right",parseFloat(i)+this._scrollbarWidth+"px")}p(document.body).addClass(an)},t._resetScrollbar=function(){var t=[].slice.call(document.querySelectorAll(pn));p(t).each(function(t,e){var n=p(e).data("padding-right");p(e).removeData("padding-right"),e.style.paddingRight=n||""});var e=[].slice.call(document.querySelectorAll(""+mn));p(e).each(function(t,e){var n=p(e).data("margin-right");"undefined"!=typeof n&&p(e).css("margin-right",n).removeData("margin-right")});var n=p(document.body).data("padding-right");p(document.body).removeData("padding-right"),document.body.style.paddingRight=n||""},t._getScrollbarWidth=function(){var t=document.createElement("div");t.className=rn,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},o._jQueryInterface=function(n,i){return this.each(function(){var t=p(this).data($e),e=l({},tn,p(this).data(),"object"==typeof n&&n?n:{});if(t||(t=new o(this,e),p(this).data($e,t)),"string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method n
9amed "'+n+'"');t[n](i)}else e.show&&t.show(i)})},s(o,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return tn}}]),o}();p(document).on(nn.CLICK_DATA_API,fn,function(t){var e,n=this,i=m.getSelectorFromElement(this);i&&(e=document.querySelector(i));var o=p(e).data($e)?"toggle":l({},p(e).data(),p(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var r=p(e).one(nn.SHOW,function(t){t.isDefaultPrevented()||r.one(nn.HIDDEN,function(){p(n).is(":visible")&&n.focus()})});gn._jQueryInterface.call(p(e),o,this)}),p.fn[Ge]=gn._jQueryInterface,p.fn[Ge].Constructor=gn,p.fn[Ge].noConflict=function(){return p.fn[Ge]=Ze,gn._jQueryInterface};var _n=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],vn={"*":["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","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},yn=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,En=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;function bn(t,s,e){if(0===t.length)return t;if(e&&"function"==typeof e)return e(t);for(var n=(new window.DOMParser).parseFromString(t,"text/html"),a=Object.keys(s),l=[].slice.call(n.body.querySelectorAll("*")),i=function(t,e){var n=l[t],i=n.nodeName.toLowerCase();if(-1===a.indexOf(n.nodeName.toLowerCase()))return n.parentNode.removeChild(n),"continue";var o=[].slice.call(n.attributes),r=[].concat(s["*"]||[],s[i]||[]);o.forEach(function(t){(function(t,e){var n=t.nodeName.toLowerCase();if(-1!==e.indexOf(n))return-1===_n.indexOf(n)||Boolean(t.nodeValue.match(yn)||t.nodeValue.match(En));for(var i=e.filter(function(t){return t instanceof RegExp}),o=0,r=i.length;o<r;o++)if(n.match(i[o]))return!0;return!1})(t,r)||n.removeAttribute(t.nodeName)})},o=0,r=l.length;o<r;o++)i(o);return n.body.innerHTML}var wn="tooltip",Cn="bs.tooltip",Tn="."+Cn,Sn=p.fn[wn],Dn="bs-tooltip",In=new RegExp("(^|\\s)"+Dn+"\\S+","g"),An=["sanitize","whiteList","sanitizeFn"],On={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)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object"},Nn={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},kn={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",sanitize:!0,sanitizeFn:null,whiteList:vn},Ln="show",xn="out",Pn={HIDE:"hide"+Tn,HIDDEN:"hidden"+Tn,SHOW:"show"+Tn,SHOWN:"shown"+Tn,INSERTED:"inserted"+Tn,CLICK:"click"+Tn,FOCUSIN:"focusin"+Tn,FOCUSOUT:"focusout"+Tn,MOUSEENTER:"mouseenter"+Tn,MOUSELEAVE:"mouseleave"+Tn},Hn="fade",jn="show",Rn=".tooltip-inner",Fn=".arrow",Mn="hover",Wn="focus",Un="click",Bn="manual",qn=function(){function i(t,e){if("undefined"==typeof be)throw new TypeError("Bootstrap's tooltips require Popper.js (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 t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=p(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),p(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(p(this.getTipElement()).hasClass(jn))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),p.removeData(this.element,this.constructor.DATA_KEY),p(this.element).off(this.constructor.EVENT_KEY),p(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&p(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},t.show=function(){var e=this;if("none"===p(this.element).css("display"))throw new Error("Please use show on visible elements");var t=p.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){p(this.element).trigger(t);var n=m.findShadowRoot(this.element),i=p.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!i)return;var o=this.getTipElement(),r=m.getUID(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&p(o).addClass(Hn);var s="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,a=this._getAttachment(s);this.addAttachmentClass(a);var l=this._getContainer();p(o).data(this.constructor.DATA_KEY,this),p.contains(this.element.ownerDocument.documentElement,this.tip)||p(o).appendTo(l),p(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new be(this.element,o,{placement:a,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:Fn}
9,preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}}),p(o).addClass(jn),"ontouchstart"in document.documentElement&&p(document.body).children().on("mouseover",null,p.noop);var c=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,p(e.element).trigger(e.constructor.Event.SHOWN),t===xn&&e._leave(null,e)};if(p(this.tip).hasClass(Hn)){var h=m.getTransitionDurationFromElement(this.tip);p(this.tip).one(m.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=p.Event(this.constructor.Event.HIDE),o=function(){e._hoverState!==Ln&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),p(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(p(this.element).trigger(i),!i.isDefaultPrevented()){if(p(n).removeClass(jn),"ontouchstart"in document.documentElement&&p(document.body).children().off("mouseover",null,p.noop),this._activeTrigger[Un]=!1,this._activeTrigger[Wn]=!1,this._activeTrigger[Mn]=!1,p(this.tip).hasClass(Hn)){var r=m.getTransitionDurationFromElement(n);p(n).one(m.TRANSITION_END,o).emulateTransitionEnd(r)}else o();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){p(this.getTipElement()).addClass(Dn+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||p(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(p(t.querySelectorAll(Rn)),this.getTitle()),p(t).removeClass(Hn+" "+jn)},t.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=bn(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?p(e).parent().is(t)||t.empty().append(e):t.text(p(e).text())},t.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},t._getOffset=function(){var e=this,t={};return"function"==typeof this.config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,e.config.offset(t.offsets,e.element)||{}),t}:t.offset=this.config.offset,t},t._getContainer=function(){return!1===this.config.container?document.body:m.isElement(this.config.container)?p(this.config.container):p(document).find(this.config.container)},t._getAttachment=function(t){return Nn[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)p(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==Bn){var e=t===Mn?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===Mn?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;p(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}}),p(this.element).closest(".modal").on("hide.bs.modal",function(){i.element&&i.hide()}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._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",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||p(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),p(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Wn:Mn]=!0),p(e.getTipElement()).hasClass(jn)||e._hoverState===Ln?e._hoverState=Ln:(clearTimeout(e._timeout),e._hoverState=Ln,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===Ln&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||p(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),p(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Wn:Mn]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=xn,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===xn&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){var e=p(this.element).data();return Object.keys(e).forEach(function(t){-1!==An.indexOf(t)&&delete e[t]}),"number"==typeof(t=l({},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()),m.typeCheckConfig(wn,t,this.constructor.DefaultType),t.sanitize&&(t.template=bn(t.template,t.whiteList,t.sanitizeFn)),t},t._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},t._cleanTipClass=function(){var t=p(this.getTipElement()),e=t.attr("class").match(In);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(p(t).removeClass(Hn),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=p(this).data(Cn),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),p(this).data(Cn,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method n
9amed "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return kn}},{key:"NAME",get:function(){return wn}},{key:"DATA_KEY",get:function(){return Cn}},{key:"Event",get:function(){return Pn}},{key:"EVENT_KEY",get:function(){return Tn}},{key:"DefaultType",get:function(){return On}}]),i}();p.fn[wn]=qn._jQueryInterface,p.fn[wn].Constructor=qn,p.fn[wn].noConflict=function(){return p.fn[wn]=Sn,qn._jQueryInterface};var Kn="popover",Qn="bs.popover",Vn="."+Qn,Yn=p.fn[Kn],zn="bs-popover",Xn=new RegExp("(^|\\s)"+zn+"\\S+","g"),Gn=l({},qn.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>'}),$n=l({},qn.DefaultType,{content:"(string|element|function)"}),Jn="fade",Zn="show",ti=".popover-header",ei=".popover-body",ni={HIDE:"hide"+Vn,HIDDEN:"hidden"+Vn,SHOW:"show"+Vn,SHOWN:"shown"+Vn,INSERTED:"inserted"+Vn,CLICK:"click"+Vn,FOCUSIN:"focusin"+Vn,FOCUSOUT:"focusout"+Vn,MOUSEENTER:"mouseenter"+Vn,MOUSELEAVE:"mouseleave"+Vn},ii=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).__proto__=n;var o=i.prototype;return o.isWithContent=function(){return this.getTitle()||this._getContent()},o.addAttachmentClass=function(t){p(this.getTipElement()).addClass(zn+"-"+t)},o.getTipElement=function(){return this.tip=this.tip||p(this.config.template)[0],this.tip},o.setContent=function(){var t=p(this.getTipElement());this.setElementContent(t.find(ti),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(ei),e),t.removeClass(Jn+" "+Zn)},o._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},o._cleanTipClass=function(){var t=p(this.getTipElement()),e=t.attr("class").match(Xn);null!==e&&0<e.length&&t.removeClass(e.join(""))},i._jQueryInterface=function(n){return this.each(function(){var t=p(this).data(Qn),e="object"==typeof n?n:null;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),p(this).data(Qn,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Gn}},{key:"NAME",get:function(){return Kn}},{key:"DATA_KEY",get:function(){return Qn}},{key:"Event",get:function(){return ni}},{key:"EVENT_KEY",get:function(){return Vn}},{key:"DefaultType",get:function(){return $n}}]),i}(qn);p.fn[Kn]=ii._jQueryInterface,p.fn[Kn].Constructor=ii,p.fn[Kn].noConflict=function(){return p.fn[Kn]=Yn,ii._jQueryInterface};var oi="scrollspy",ri="bs.scrollspy",si="."+ri,ai=p.fn[oi],li={offset:10,method:"auto",target:""},ci={offset:"number",method:"string",target:"(string|element)"},hi={ACTIVATE:"activate"+si,SCROLL:"scroll"+si,LOAD_DATA_API:"load"+si+".data-api"},ui="dropdown-item",fi="active",di='[data-spy="scroll"]',pi=".nav, .list-group",mi=".nav-link",gi=".nav-item",_i=".list-group-item",vi=".dropdown",yi=".dropdown-item",Ei=".dropdown-toggle",bi="offset",wi="position",Ci=function(){function n(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+" "+mi+","+this._config.target+" "+_i+","+this._config.target+" "+yi,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,p(this._scrollElement).on(hi.SCROLL,function(t){return n._process(t)}),this.refresh(),this._process()}var t=n.prototype;return t.refresh=function(){var e=this,t=this._scrollElement===this._scrollElement.window?bi:wi,o="auto"===this._config.method?t:this._config.method,r=o===wi?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map(function(t){var e,n=m.getSelectorFromElement(t);if(n&&(e=document.querySelector(n)),e){var i=e.getBoundingClientRect();if(i.width||i.height)return[p(e)[o]().top+r,n]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}
9).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},t.dispose=function(){p.removeData(this._element,ri),p(this._scrollElement).off(si),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},t._getConfig=function(t){if("string"!=typeof(t=l({},li,"object"==typeof t&&t?t:{})).target){var e=p(t.target).attr("id");e||(e=m.getUID(oi),p(t.target).attr("id",e)),t.target="#"+e}return m.typeCheckConfig(oi,t,ci),t},t._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},t._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},t._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},t._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(),n<=t){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&0<this._offsets[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])}}},t._activate=function(e){this._activeTarget=e,this._clear();var t=this._selector.split(",").map(function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'}),n=p([].slice.call(document.querySelectorAll(t.join(","))));n.hasClass(ui)?(n.closest(vi).find(Ei).addClass(fi),n.addClass(fi)):(n.addClass(fi),n.parents(pi).prev(mi+", "+_i).addClass(fi),n.parents(pi).prev(gi).children(mi).addClass(fi)),p(this._scrollElement).trigger(hi.ACTIVATE,{relatedTarget:e})},t._clear=function(){[].slice.call(document.querySelectorAll(this._selector)).filter(function(t){return t.classList.contains(fi)}).forEach(function(t){return t.classList.remove(fi)})},n._jQueryInterface=function(e){return this.each(function(){var t=p(this).data(ri);if(t||(t=new n(this,"object"==typeof e&&e),p(this).data(ri,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},s(n,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return li}}]),n}();p(window).on(hi.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(di)),e=t.length;e--;){var n=p(t[e]);Ci._jQueryInterface.call(n,n.data())}}),p.fn[oi]=Ci._jQueryInterface,p.fn[oi].Constructor=Ci,p.fn[oi].noConflict=function(){return p.fn[oi]=ai,Ci._jQueryInterface};var Ti="bs.tab",Si="."+Ti,Di=p.fn.tab,Ii={HIDE:"hide"+Si,HIDDEN:"hidden"+Si,SHOW:"show"+Si,SHOWN:"shown"+Si,CLICK_DATA_API:"click"+Si+".data-api"},Ai="dropdown-menu",Oi="active",Ni="disabled",ki="fade",Li="show",xi=".dropdown",Pi=".nav, .list-group",Hi=".active",ji="> li > .active",Ri='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',Fi=".dropdown-toggle",Mi="> .dropdown-menu .active",Wi=function(){function i(t){this._element=t}var t=i.prototype;return t.show=function(){var n=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&p(this._element).hasClass(Oi)||p(this._element).hasClass(Ni))){var t,i,e=p(this._element).closest(Pi)[0],o=m.getSelectorFromElement(this._element);if(e){var r="UL"===e.nodeName||"OL"===e.nodeName?ji:Hi;i=(i=p.makeArray(p(e).find(r)))[i.length-1]}var s=p.Event(Ii.HIDE,{relatedTarget:this._element}),a=p.Event(Ii.SHOW,{relatedTarget:i});if(i&&p(i).trigger(s),p(this._element).trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){o&&(t=document.querySelector(o)),this._activate(this._element,e);var l=function(){var t=p.Event(Ii.HIDDEN,{relatedTarget:n._element}),e=p.Event(Ii.SHOWN,{relatedTarget:i});p(i).trigger(t),p(n._element).trigger(e)};t?this._activate(t,t.parentNode,l):l()}}},t.dispose=function(){p.removeData(this._element,Ti),this._element=null},t._activate=function(t,e,n){var i=this,o=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?p(e).children(Hi):p(e).find(ji))[0],r=n&&o&&p(o).hasClass(ki),s=function(){return i._transitionComplete(t,o,n)};if(o&&r){var a=m.getTransitionDurationFromElement(o);p(o).removeClass(Li).one(m.TRANSITION_END,s).emulateTransitionEnd(a)}else s()},t._transitionComplete=function(t,e,n){if(e){p(e).removeClass(Oi);var i=p(e.parentNode).find(Mi)[0];i&&p(i).removeClass(Oi),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(p(t).addClass(Oi),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),m.reflow(t),t.classList.contains(ki)&&t.classList.add(Li),t.parentNode&&p(t.parentNode).hasClass(Ai)){var o=p(t).closest(xi)[0];if(o){var r=[].slice.call(o.querySelectorAll(Fi));p(r).addClass(Oi)}t.setAttribute("aria-expanded",!0)}n&&n()},i._jQueryInterface=function(n){return this.each(function(){var t=p(this),e=t.data(Ti);if(e||(e=new i(this),t.data(Ti,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method n
vendor: 27,439 bytes, lines 9-16
9amed "'+n+'"');e[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),i}();p(document).on(Ii.CLICK_DATA_API,Ri,function(t){t.preventDefault(),Wi._jQueryInterface.call(p(this),"show")}),p.fn.tab=Wi._jQueryInterface,p.fn.tab.Constructor=Wi,p.fn.tab.noConflict=function(){return p.fn.tab=Di,Wi._jQueryInterface};var Ui="toast",Bi="bs.toast",qi="."+Bi,Ki=p.fn[Ui],Qi={CLICK_DISMISS:"click.dismiss"+qi,HIDE:"hide"+qi,HIDDEN:"hidden"+qi,SHOW:"show"+qi,SHOWN:"shown"+qi},Vi="fade",Yi="hide",zi="show",Xi="showing",Gi={animation:"boolean",autohide:"boolean",delay:"number"},$i={animation:!0,autohide:!0,delay:500},Ji='[data-dismiss="toast"]',Zi=function(){function i(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var t=i.prototype;return t.show=function(){var t=this;p(this._element).trigger(Qi.SHOW),this._config.animation&&this._element.classList.add(Vi);var e=function(){t._element.classList.remove(Xi),t._element.classList.add(zi),p(t._element).trigger(Qi.SHOWN),t._config.autohide&&t.hide()};if(this._element.classList.remove(Yi),this._element.classList.add(Xi),this._config.animation){var n=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},t.hide=function(t){var e=this;this._element.classList.contains(zi)&&(p(this._element).trigger(Qi.HIDE),t?this._close():this._timeout=setTimeout(function(){e._close()},this._config.delay))},t.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(zi)&&this._element.classList.remove(zi),p(this._element).off(Qi.CLICK_DISMISS),p.removeData(this._element,Bi),this._element=null,this._config=null},t._getConfig=function(t){return t=l({},$i,p(this._element).data(),"object"==typeof t&&t?t:{}),m.typeCheckConfig(Ui,t,this.constructor.DefaultType),t},t._setListeners=function(){var t=this;p(this._element).on(Qi.CLICK_DISMISS,Ji,function(){return t.hide(!0)})},t._close=function(){var t=this,e=function(){t._element.classList.add(Yi),p(t._element).trigger(Qi.HIDDEN)};if(this._element.classList.remove(zi),this._config.animation){var n=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},i._jQueryInterface=function(n){return this.each(function(){var t=p(this),e=t.data(Bi);if(e||(e=new i(this,"object"==typeof n&&n),t.data(Bi,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n](this)}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"DefaultType",get:function(){return Gi}},{key:"Default",get:function(){return $i}}]),i}();p.fn[Ui]=Zi._jQueryInterface,p.fn[Ui].Constructor=Zi,p.fn[Ui].noConflict=function(){return p.fn[Ui]=Ki,Zi._jQueryInterface},function(){if("undefined"==typeof p)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var t=p.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||4<=t[0])throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(),t.Util=m,t.Alert=g,t.Button=k,t.Carousel=at,t.Collapse=Ct,t.Dropdown=Xe,t.Modal=gn,t.Popover=ii,t.Scrollspy=Ci,t.Tab=Wi,t.Toast=Zi,t.Tooltip=qn,Object.defineProperty(t,"__esModule",{value:!0})});
10//# sourceMappingURL=bootstrap.bundle.min.js.map
11/**
12 * Owl Carousel v2.3.4
13 * Copyright 2013-2023 David Deutsch
14 * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
15 */
16!function(a,b,c,d){function e(b,c){this.settings=null,this.options=a.extend({},e.Defaults,c),this.$element=a(b),this._handlers={},this._plugins={},this._supress={},this._current=null,this._speed=null,this._coordinates=[],this._breakpoint=null,this._width=null,this._items=[],this._clones=[],this._mergers=[],this._widths=[],this._invalidated={},this._pipe=[],this._drag={time:null,target:null,pointer:null,stage:{start:null,current:null},direction:null},this._states={current:{},tags:{initializing:["busy"],animating:["busy"],dragging:["interacting"]}},a.each(["onResize","onThrottledResize"],a.proxy(function(b,c){this._handlers[c]=a.proxy(this[c],this)},this)),a.each(e.Plugins,a.proxy(function(a,b){this._plugins[a.charAt(0).toLowerCase()+a.slice(1)]=new b(this)},this)),a.each(e.Workers,a.proxy(function(b,c){this._pipe.push({filter:c.filter,run:a.proxy(c.run,this)})},this)),this.setup(),this.initialize()}e.Defaults={items:3,loop:!1,center:!1,rewind:!1,checkVisibility:!0,mouseDrag:!0,touchDrag:!0,pullDrag:!0,freeDrag:!1,margin:0,stagePadding:0,merge:!1,mergeFit:!0,autoWidth:!1,startPosition:0,rtl:!1,smartSpeed:250,fluidSpeed:!1,dragEndSpeed:!1,responsive:{},responsiveRefreshRate:200,responsiveBaseElement:b,fallbackEasing:"swing",slideTransition:"",info:!1,nestedItemSelector:!1,itemElement:"div",stageElement:"div",refreshClass:"owl-refresh",loadedClass:"owl-loaded",loadingClass:"owl-loading",rtlClass:"owl-rtl",responsiveClass:"owl-responsive",dragClass:"owl-drag",itemClass:"owl-item",stageClass:"owl-stage",stageOuterClass:"owl-stage-outer",grabClass:"owl-grab"},e.Width={Default:"default",Inner:"inner",Outer:"outer"},e.Type={Event:"event",State:"state"},e.Plugins={},e.Workers=[{filter:["width","settings"],run:function(){this._width=this.$element.width()}},{filter:["width","items","settings"],run:function(a){a.current=this._items&&this._items[this.relative(this._current)]}},{filter:["items","settings"],run:function(){this.$stage.children(".cloned").remove()}},{filter:["width","items","settings"],run:function(a){var b=this.settings.margin||"",c=!this.settings.autoWidth,d=this.settings.rtl,e={width:"auto","margin-left":d?b:"","margin-right":d?"":b};!c&&this.$stage.children().css(e),a.css=e}},{filter:["width","items","settings"],run:function(a){var b=(this.width()/this.settings.items).toFixed(3)-this.settings.margin,c=null,d=this._items.length,e=!this.settings.autoWidth,f=[];for(a.items={merge:!1,width:b};d--;)c=this._mergers[d],c=this.settings.mergeFit&&Math.min(c,this.settings.items)||c,a.items.merge=c>1||a.items.merge,f[d]=e?b*c:this._items[d].width();this._widths=f}},{filter:["items","settings"],run:function(){var b=[],c=this._items,d=this.settings,e=Math.max(2*d.items,4),f=2*Math.ceil(c.length/2),g=d.loop&&c.length?d.rewind?e:Math.max(e,f):0;for(g/=2;g>0;)b.push(this.normalize(b.length/2,!0)),a(c[b[b.length-1]][0]).clone(!0).addClass("cloned").appendTo(this.$stage),b.push(this.normalize(c.length-1-(b.length-1)/2,!0)),a(c[b[b.length-1]][0]).clone(!0).addClass("cloned").prependTo(this.$stage),g-=1;this._clones=b}},{filter:["width","items","settings"],run:function(){for(var a=this.settings.rtl?1:-1,b=this._clones.length+this._items.length,c=-1,d=0,e=0,f=[];++c<b;)d=f[c-1]||0,e=this._widths[this.relative(c)]+this.settings.margin,f.push(d+e*a);this._coordinates=f}},{filter:["width","items","settings"],run:function(){var a=this.settings.stagePadding,b=this._coordinates,c={width:Math.ceil(Math.abs(b[b.length-1]))+2*a,"padding-left":a||"","padding-right":a||""};this.$stage.css(c)}},{filter:["width","items","settings"],run:function(a){var b=this._coordinates.length,c=!this.settings.autoWidth,d=this.$stage.children();if(c&&a.items.merge)for(;b--;)a.css.width=this._widths[this.relative(b)],d.eq(b).css(a.css);else c&&(a.css.width=a.items.width,d.css(a.css))}},{filter:["items"],run:function(){this._coordinates.length<1&&this.$stage.removeAttr("style")}},{filter:["width","items","settings"],run:function(a){a.current=a.current?this.$stage.children().index(a.current):0,a.current=Math.max(this.minimum(),Math.min(this.maximum(),a.current)),this.reset(a.current)}},{filter:["position"],run:function(){this.animate(this.coordinates(this._current))}},{filter:["width","position","items","settings"],run:function(){var a,b,c,d,e=this.settings.rtl?1:-1,f=2*this.settings.stagePadding,g=this.coordinates(this.current())+f,h=g+this.width()*e,i=[];for(c=0,d=this._coordinates.length;c<d;c++)a=this._coordinates[c-1]||0,b=Math.abs(this._coordinates[c])+f*e,(this.op(a,"<=",g)&&this.op(a,">",h)||this.op(b,"<",g)&&this.op(b,">",h))&&i.push(c);this.$stage.children(".active").removeClass("active"),this.$stage.children(":eq("+i.join("), :eq(")+")").addClass("active"),this.$stage.children(".center").removeClass("center"),this.settings.center&&this.$stage.children().eq(this.current()).addClass("center")}}],e.prototype.initializeStage=function(){this.$stage=this.$element.find("."+this.settings.stageClass),this.$stage.length||(this.$element.addClass(this.options.loadingClass),this.$stage=a("<"+this.settings.stageElement+">",{class:this.settings.stageClass}).wrap(a("<div/>",{class:this.settings.stageOuterClass})),this.$element.append(this.$stage.parent()))},e.prototype.initializeItems=function(){var b=this.$element.find(".owl-item");if(b.length)return this._items=b.get().map(function(b){return a(b)}),this._mergers=this._items.map(function(){return 1}),void this.refresh();this.replace(this.$element.children().not(this.$stage.parent())),this.isVisible()?this.refresh():this.invalidate("width"),this.$element.removeClass(this.options.loadingClass).addClass(this.options.loadedClass)},e.prototype.initialize=function(){if(this.enter("initializing"),this.trigger("initialize"),this.$element.toggleClass(this.settings.rtlClass,this.settings.rtl),this.settings.autoWidth&&!this.is("pre-loading")){var a,b,c;a=this.$element.find("img"),b=this.settings.nestedItemSelector?"."+this.settings.nestedItemSelector:d,c=this.$element.children(b).width(),a.length&&c<=0&&this.preloadAutoWidthImages(a)}this.initializeStage(),this.initializeItems(),this.registerEventHandlers(),this.leave("initializing"),this.trigger("initialized")},e.prototype.isVisible=function(){return!this.settings.checkVisibility||this.$element.is(":visible")},e.prototype.setup=function(){var b=this.viewport(),c=this.options.responsive,d=-1,e=null;c?(a.each(c,function(a){a<=b&&a>d&&(d=Number(a))}),e=a.extend({},this.options,c[d]),"function"==typeof e.stagePadding&&(e.stagePadding=e.stagePadding()),delete e.responsive,e.responsiveClass&&this.$element.attr("class",this.$element.attr("class").replace(new RegExp("("+this.options.responsiveClass+"-)\\S+\\s","g"),"$1"+d))):e=a.extend({},this.options),this.trigger("change",{property:{name:"settings",value:e}}),this._breakpoint=d,this.settings=e,this.invalidate("settings"),this.trigger("changed",{property:{name:"settings",value:this.settings}})},e.prototype.optionsLogic=function(){this.settings.autoWidth&&(this.settings.stagePadding=!1,this.settings.merge=!1)},e.prototype.prepare=function(b){var c=this.trigger("prepare",{content:b});return c.data||(c.data=a("<"+this.settings.itemElement+"/>").addClass(this.options.itemClass).append(b)),this.trigger("prepared",{content:c.data}),c.data},e.prototype.update=function(){for(var b=0,c=this._pipe.length,d=a.proxy(function(a){return this[a]},this._invalidated),e={};b<c;)(this._invalidated.all||a.grep(this._pipe[b].filter,d).length>0)&&this._pipe[b].run(e),b++;this._invalidated={},!this.is("valid")&&this.enter("valid")},e.prototype.width=function(a){switch(a=a||e.Width.Default){case e.Width.Inner:case e.Width.Outer:return this._width;default:return this._width-2*this.settings.stagePadding+this.settings.margin}},e.prototype.refresh=function(a){a=a||!1,this.enter("refreshing"),this.trigger("refresh"),this.setup(),this.optionsLogic(),this.$element.addClass(this.options.refreshClass),this.update(),a||this.onResize(),this.$element.removeClass(this.options.refreshClass),this.leave("refreshing"),this.trigger("refreshed")},e.prototype.onThrottledResize=function(){b.clearTimeout(this.resizeTimer),this.resizeTimer=b.setTimeout(this._handlers.onResize,this.settings.responsiveRefreshRate)},e.prototype.onResize=function(){return!!this._items.length&&this._width!==this.$element.width()&&!!this.isVisible()&&(this.enter("resizing"),this.trigger("resize").isDefaultPrevented()?(this.leave("resizing"),!1):(this.invalidate("width"),this.refresh(!0),this.leave("resizing"),void this.trigger("resized")))},e.prototype.registerEventHandlers=function(){a.support.transition&&this.$stage.on(a.support.transition.end+".owl.core",a.proxy(this.onTransitionEnd,this)),!1!==this.settings.responsive&&this.on(b,"resize",this._handlers.onThrottledResize),this.settings.mouseDrag&&(this.$element.addClass(this.options.dragClass),this.$stage.on("mousedown.owl.core",a.proxy(this.onDragStart,this)),this.$stage.on("dragstart.owl.core selectstart.owl.core",function(){return!1})),this.settings.touchDrag&&(this.$stage.on("touchstart.owl.core",a.proxy(this.onDragStart,this)),this.$stage.on("touchcancel.owl.core",a.proxy(this.onDragEnd,this)))},e.prototype.onDragStart=function(b){var d=null;3!==b.which&&(a.support.transform?(d=this.$stage.css("transform").replace(/.*\(|\)| /g,"").split(","),d={x:d[16===d.length?12:4],y:d[16===d.length?13:5]}):(d=this.$stage.position(),d={x:this.settings.rtl?d.left+this.$stage.width()-this.width()+this.settings.margin:d.left,y:d.top}),this.is("animating")&&(a.support.transform?this.animate(d.x):this.$stage.stop(),this.invalidate("position")),this.$element.toggleClass(this.options.grabClass,"mousedown"===b.type),this.speed(0),this._drag.time=(new Date).getTime(),this._drag.target=a(b.target),this._drag.stage.start=d,this._drag.stage.current=d,this._drag.pointer=this.pointer(b),a(c).on("mouseup.owl.core touchend.owl.core",a.proxy(this.onDragEnd,this)),a(c).one("mousemove.owl.core touchmove.owl.core",a.proxy(function(b){var d=this.difference(this._drag.pointer,this.pointer(b));a(c).on("mousemove.owl.core touchmove.owl.core",a.proxy(this.onDragMove,this)),Math.abs(d.x)<Math.abs(d.y)&&this.is("valid")||(b.preventDefault(),this.enter("dragging"),this.trigger("drag"))},this)))},e.prototype.onDragMove=function(a){var b=null,c=null,d=null,e=this.difference(this._drag.pointer,this.pointer(a)),f=this.difference(this._drag.stage.start,e);this.is("dragging")&&(a.preventDefault(),this.settings.loop?(b=this.coordinates(this.minimum()),c=this.coordinates(this.maximum()+1)-b,f.x=((f.x-b)%c+c)%c+b):(b=this.settings.rtl?this.coordinates(this.maximum()):this.coordinates(this.minimum()),c=this.settings.rtl?this.coordinates(this.minimum()):this.coordinates(this.maximum()),d=this.settings.pullDrag?-1*e.x/5:0,f.x=Math.max(Math.min(f.x,b+d),c+d)),this._drag.stage.current=f,this.animate(f.x))},e.prototype.onDragEnd=function(b){var d=this.difference(this._drag.pointer,this.pointer(b)),e=this._drag.stage.current,f=d.x>0^this.settings.rtl?"left":"right";a(c).off(".owl.core"),this.$element.removeClass(this.options.grabClass),(0!==d.x&&this.is("dragging")||!this.is("valid"))&&(this.speed(this.settings.dragEndSpeed||this.settings.smartSpeed),this.current(this.closest(e.x,0!==d.x?f:this._drag.direction)),this.invalidate("position"),this.update(),this._drag.direction=f,(Math.abs(d.x)>3||(new Date).getTime()-this._drag.time>300)&&this._drag.target.one("click.owl.core",function(){return!1})),this.is("dragging")&&(this.leave("dragging"),this.trigger("dragged"))},e.prototype.closest=function(b,c){var e=-1,f=30,g=this.width(),h=this.settings.items,i=Math.round(g/h),j=this.coordinates();return this.settings.freeDrag||a.each(j,a.proxy(function(a,h){return"left"===c&&b>h-f&&b<h+f?e=a:"right"===c&&b>h-i-f&&b<h-i+f?e=a+1:this.op(b,"<",h)&&this.op(b,">",j[a+1]!==d?j[a+1]:h-g)&&(e="left"===c?a+1:a),-1===e},this)),this.settings.loop||(this.op(b,">",j[this.minimum()])?e=b=this.minimum():this.op(b,"<",j[this.maximum()])&&(e=b=this.maximum())),e},e.prototype.animate=function(b){var c=this.speed()>0;this.is("animating")&&this.onTransitionEnd(),c&&(this.enter("animating"),this.trigger("translate")),a.support.transform3d&&a.support.transition?this.$stage.css({transform:"translate3d("+b+"px,0px,0px)",transition:this.speed()/1e3+"s"+(this.settings.slideTransition?" "+this.settings.slideTransition:"")}):c?this.$stage.animate({left:b+"px"},this.speed(),this.settings.fallbackEasing,a.proxy(this.onTransitionEnd,this)):this.$stage.css({left:b+"px"})},e.prototype.is=function(a){return this._states.current[a]&&this._states.current[a]>0},e.prototype.current=function(a){if(a===d)return this._current;if(0===this._items.length)return d;if(a=this.normalize(a),this._current!==a){var b=this.trigger("change",{property:{name:"position",value:a}});b.data!==d&&(a=this.normalize(b.data)),this._current=a,this.invalidate("position"),this.trigger("changed",{property:{name:"position",value:this._current}})}return this._current},e.prototype.invalidate=function(b){return"string"===a.type(b)&&(this._invalidated[b]=!0,this.is("valid")&&this.leave("valid")),a.map(this._invalidated,function(a,b){return b})},e.prototype.reset=function(a){(a=this.normalize(a))!==d&&(this._speed=0,this._current=a,this.suppress(["translate","translated"]),this.animate(this.coordinates(a)),this.release(["translate","translated"]))},e.prototype.normalize=function(a,b){var c=this._items.length,e=b?0:this._clones.length;return!this.isNumeric(a)||c<1?a=d:(a<0||a>=c+e)&&(a=((a-e/2)%c+c)%c+e/2),a},e.prototype.relative=function(a){return a-=this._clones.length/2,this.normalize(a,!0)},e.prototype.maximum=function(a){var b,c,d,e=this.settings,f=this._coordinates.length;if(e.loop)f=this._clones.length/2+this._items.length-1;else if(e.autoWidth||e.merge){if(b=this._items.length)for(c=this._items[--b].width(),d=this.$element.width();b--&&!((c+=this._items[b].width()+this.settings.margin)>d););f=b+1}else f=e.center?this._items.length-1:this._items.length-e.items;return a&&(f-=this._clones.length/2),Math.max(f,0)},e.prototype.minimum=function(a){return a?0:this._clones.length/2},e.prototype.items=function(a){return a===d?this._items.slice():(a=this.normalize(a,!0),this._items[a])},e.prototype.mergers=function(a){return a===d?this._mergers.slice():(a=this.normalize(a,!0),this._mergers[a])},e.prototype.clones=function(b){var c=this._clones.length/2,e=c+this._items.length,f=function(a){return a%2==0?e+a/2:c-(a+1)/2};return b===d?a.map(this._clones,function(a,b){return f(b)}):a.map(this._clones,function(a,c){return a===b?f(c):null})},e.prototype.speed=function(a){return a!==d&&(this._speed=a),this._speed},e.prototype.coordinates=function(b){var c,e=1,f=b-1;return b===d?a.map(this._coordinates,a.proxy(function(a,b){return this.coordinates(b)},this)):(this.settings.center?(this.settings.rtl&&(e=-1,f=b+1),c=this._coordinates[b],c+=(this.width()-c+(this._coordinates[f]||0))/2*e):c=this._coordinates[f]||0,c=Math.ceil(c))},e.prototype.duration=function(a,b,c){return 0===c?0:Math.min(Math.max(Math.abs(b-a),1),6)*Math.abs(c||this.settings.smartSpeed)},e.prototype.to=function(a,b){var c=this.current(),d=null,e=a-this.relative(c),f=(e>0)-(e<0),g=this._items.length,h=this.minimum(),i=this.maximum();this.settings.loop?(!this.settings.rewind&&Math.abs(e)>g/2&&(e+=-1*f*g),a=c+e,(d=((a-h)%g+g)%g+h)!==a&&d-e<=i&&d-e>0&&(c=d-e,a=d,this.reset(c))):this.settings.rewind?(i+=1,a=(a%i+i)%i):a=Math.max(h,Math.min(i,a)),this.speed(this.duration(c,a,b)),this.current(a),this.isVisible()&&this.update()},e.prototype.next=function(a){a=a||!1,this.to(this.relative(this.current())+1,a)},e.prototype.prev=function(a){a=a||!1,this.to(this.relative(this.current())-1,a)},e.prototype.onTransitionEnd=function(a){if(a!==d&&(a.stopPropagation(),(a.target||a.srcElement||a.originalTarget)!==this.$stage.get(0)))return!1;this.leave("animating"),this.trigger("translated")},e.prototype.viewport=function(){var d;return this.options.responsiveBaseElement!==b?d=a(this.options.responsiveBaseElement).width():b.innerWidth?d=b.innerWidth:c.documentElement&&c.documentElement.clientWidth?d=c.documentElement.clientWidth:console.warn("Can not detect viewport width."),d},e.prototype.replace=function(b){this.$stage.empty(),this._items=[],b&&(b=b instanceof jQuery?b:a(b)),this.settings.nestedItemSelector&&(b=b.find("."+this.settings.nestedItemSelector)),b.filter(function(){return 1===this.nodeType}).each(a.proxy(function(a,b){b=this.prepare(b),this.$stage.append(b),this._items.push(b),this._mergers.push(1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)},this)),this.reset(this.isNumeric(this.settings.startPosition)?this.settings.startPosition:0),this.invalidate("items")},e.prototype.add=function(b,c){var e=this.relative(this._current);c=c===d?this._items.length:this.normalize(c,!0),b=b instanceof jQuery?b:a(b),this.trigger("add",{content:b,position:c}),b=this.prepare(b),0===this._items.length||c===this._items.length?(0===this._items.length&&this.$stage.append(b),0!==this._items.length&&this._items[c-1].after(b),this._items.push(b),this._mergers.push(1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)):(this._items[c].before(b),this._items.splice(c,0,b),this._mergers.splice(c,0,1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)),this._items[e]&&this.reset(this._items[e].index()),this.invalidate("items"),this.trigger("added",{content:b,position:c})},e.prototype.remove=function(a){(a=this.normalize(a,!0))!==d&&(this.trigger("remove",{content:this._items[a],position:a}),this._items[a].remove(),this._items.splice(a,1),this._mergers.splice(a,1),this.invalidate("items"),this.trigger("removed",{content:null,position:a}))},e.prototype.preloadAutoWidthImages=function(c){c.each(a.proxy(function(c,d){this.enter("pre-loading"),d=a(d),a(new Image).one("load",a.proxy(function(a){d.attr("src",a.target.src),d.css("opacity",1),this.leave("pre-loading"),!this.is("pre-loading")&&!this.is("initializing")&&this.refresh()},this)).attr("src",b.devicePixelRatio>1?d.attr("data-src-retina"):d.attr("data-src")||d.attr("src"))},this))},e.prototype.destroy=function(){this.$element.off(".owl.core"),this.$stage.off(".owl.core"),a(c).off(".owl.core"),!1!==this.settings.responsive&&(b.clearTimeout(this.resizeTimer),this.off(b,"resize",this._handlers.onThrottledResize));for(var d in this._plugins)this._plugins[d].destroy();this.$stage.children(".cloned").remove(),this.$stage.unwrap(),this.$stage.children().contents().unwrap(),this.$stage.children().unwrap(),this.$stage.remove(),this.$element.removeClass(this.options.refreshClass).removeClass(this.options.loadingClass).removeClass(this.options.loadedClass).removeClass(this.options.rtlClass).removeClass(this.options.dragClass).removeClass(this.options.grabClass).attr("class",this.$element.attr("class").replace(new RegExp(this.options.responsiveClass+"-\\S+\\s","g"),"")).removeData("owl.carousel")},e.prototype.op=function(a,b,c){var d=this.settings.rtl;switch(b){case"<":return d?a>c:a<c;case">":return d?a<c:a>c;case">=":return d?a<=c:a>=c;case"<=":return d?a>=c:a<=c}},e.prototype.on=function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,d):a.attachEvent&&a.attachEvent("on"+b,c)},e.prototype.off=function(a,b,c,d){a.removeEventListener?a.removeEventListener(b,c,d):a.detachEvent&&a.detachEvent("on"+b,c)},e.prototype.trigger=function(b,c,d,f,g){var h={item:{count:this._items.length,index:this.current()}},i=a.camelCase(a.grep(["on",b,d],function(a){return a}).join("-").toLowerCase()),j=a.Event([b,"owl",d||"carousel"].join(".").toLowerCase(),a.extend({relatedTarget:this},h,c));return this._supress[b]||(a.each(this._plugins,function(a,b){b.onTrigger&&b.onTrigger(j)}),this.register({type:e.Type.Event,name:b}),this.$element.trigger(j),this.settings&&"function"==typeof this.settings[i]&&this.settings[i].call(this,j)),j},e.prototype.enter=function(b){a.each([b].concat(this._states.tags[b]||[]),a.proxy(function(a,b){this._states.current[b]===d&&(this._states.current[b]=0),this._states.current[b]++},this))},e.prototype.leave=function(b){a.each([b].concat(this._states.tags[b]||[]),a.proxy(function(a,b){this._states.current[b]--},this))},e.prototype.register=function(b){if(b.type===e.Type.Event){if(a.event.special[b.name]||(a.event.special[b.name]={}),!a.event.special[b.name].owl){var c=a.event.special[b.name]._default;a.event.special[b.name]._default=function(a){return!c||!c.apply||a.namespace&&-1!==a.namespace.indexOf("owl")?a.namespace&&a.namespace.indexOf("owl")>-1:c.apply(this,arguments)},a.event.special[b.name].owl=!0}}else b.type===e.Type.State&&(this._states.tags[b.name]?this._states.tags[b.name]=this._states.tags[b.name].concat(b.tags):this._states.tags[b.name]=b.tags,this._states.tags[b.name]=a.grep(this._states.tags[b.name],a.proxy(function(c,d){return a.inArray(c,this._states.tags[b.name])===d},this)))},e.prototype.suppress=function(b){a.each(b,a.proxy(function(a,b){this._supress[b]=!0},this))},e.prototype.release=function(b){a.each(b,a.proxy(function(a,b){delete this._supress[b]},this))},e.prototype.pointer=function(a){var c={x:null,y:null};return a=a.originalEvent||a||b.event,a=a.touches&&a.touches.length?a.touches[0]:a.changedTouches&&a.changedTouches.length?a.changedTouches[0]:a,a.pageX?(c.x=a.pageX,c.y=a.pageY):(c.x=a.clientX,c.y=a.clientY),c},e.prototype.isNumeric=function(a){return!isNaN(parseFloat(a))},e.prototype.difference=function(a,b){return{x:a.x-b.x,y:a.y-b.y}},a.fn.owlCarousel=function(b){var c=Array.prototype.slice.call(arguments,1);return this.each(function(){var d=a(this),f=d.data("owl.carousel");f||(f=new e(this,"object"==typeof b&&b),d.data("owl.carousel",f),a.each(["next","prev","to","destroy","refresh","replace","add","remove"],function(b,c){f.register({type:e.Type.Event,name:c}),f.$element.on(c+".owl.carousel.core",a.proxy(function(a){a.namespace&&a.relatedTarget!==this&&(this.suppress([c]),f[c].apply(this,[].slice.call(arguments,1)),this.release([c]))},f))})),"string"==typeof b&&"_"!==b.charAt(0)&&f[b].apply(f,c)})},a.fn.owlCarousel.Constructor=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._interval=null,this._visible=null,this._handlers={"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoRefresh&&this.watch()},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers)};e.Defaults={autoRefresh:!0,autoRefreshInterval:500},e.prototype.watch=function(){this._interval||(this._visible=this._core.isVisible(),this._interval=b.setInterval(a.proxy(this.refresh,this),this._core.settings.autoRefreshInterval))},e.prototype.refresh=function(){this._core.isVisible()!==this._visible&&(this._visible=!this._visible,this._core.$element.toggleClass("owl-hidden",!this._visible),this._visible&&this._core.invalidate("width")&&this._core.refresh())},e.prototype.destroy=function(){var a,c;b.clearInterval(this._interval);for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(c in Object.getOwnPropertyNames(this))"function"!=typeof this[c]&&(this[c]=null)},a.fn.owlCarousel.Constructor.Plugins.AutoRefresh=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._loaded=[],this._handlers={"initialized.owl.carousel change.owl.carousel resized.owl.carousel":a.proxy(function(b){if(b.namespace&&this._core.settings&&this._core.settings.lazyLoad&&(b.property&&"position"===b.property.name||"initialized"===b.type||"resized"===b.type)){var c=this._core.settings,e=c.center&&Math.ceil(c.items/2)||c.items,f=c.center&&-1*e||0,g=(b.property&&b.property.value!==d?b.property.value:this._core.current())+f,h=this._core.clones().length,i=a.proxy(function(a,b){this.load(b)},this);for(c.lazyLoadEager>0&&(e+=c.lazyLoadEager,c.loop&&(g-=c.lazyLoadEager,e++)),!c.center&&c.stagePadding&&(g--,e+=2
vendor: 8,073 bytes, line 16
16);f++<e;)this.load(h/2+this._core.relative(g)),h&&a.each(this._core.clones(this._core.relative(g)),i),g++}},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers)};e.Defaults={lazyLoad:!1,lazyLoadEager:0},e.prototype.load=function(c){var d=this._core.$stage.children().eq(c),e=d&&d.find(".owl-lazy");!e||a.inArray(d.get(0),this._loaded)>-1||(e.each(a.proxy(function(c,d){var e,f=a(d),g=b.devicePixelRatio>1&&f.attr("data-src-retina")||f.attr("data-src")||f.attr("data-srcset");this._core.trigger("load",{element:f,url:g},"lazy"),f.is("img")?f.one("load.owl.lazy",a.proxy(function(){f.css("opacity",1),this._core.trigger("loaded",{element:f,url:g},"lazy")},this)).attr("src",g):f.is("source")?f.one("load.owl.lazy",a.proxy(function(){this._core.trigger("loaded",{element:f,url:g},"lazy")},this)).attr("srcset",g):(e=new Image,e.onload=a.proxy(function(){f.css({"background-image":'url("'+g+'")',opacity:"1"}),this._core.trigger("loaded",{element:f,url:g},"lazy")},this),e.src=g)},this)),this._loaded.push(d.get(0)))},e.prototype.destroy=function(){var a,b;for(a in this.handlers)this._core.$element.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Lazy=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(c){this._core=c,this._previousHeight=null,this._handlers={"initialized.owl.carousel refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&this.update()},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&"position"===a.property.name&&this.update()},this),"loaded.owl.lazy":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&a.element.closest("."+this._core.settings.itemClass).index()===this._core.current()&&this.update()},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers),this._intervalId=null;var d=this;a(b).on("load",function(){d._core.settings.autoHeight&&d.update()}),a(b).resize(function(){d._core.settings.autoHeight&&(null!=d._intervalId&&clearTimeout(d._intervalId),d._intervalId=setTimeout(function(){d.update()},250))})};e.Defaults={autoHeight:!1,autoHeightClass:"owl-height"},e.prototype.update=function(){var b=this._core._current,c=b+this._core.settings.items,d=this._core.settings.lazyLoad,e=this._core.$stage.children().toArray().slice(b,c),f=[],g=0;a.each(e,function(b,c){f.push(a(c).height())}),g=Math.max.apply(null,f),g<=1&&d&&this._previousHeight&&(g=this._previousHeight),this._previousHeight=g,this._core.$stage.parent().height(g).addClass(this._core.settings.autoHeightClass)},e.prototype.destroy=function(){var a,b;for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.AutoHeight=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._videos={},this._playing=null,this._handlers={"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.register({type:"state",name:"playing",tags:["interacting"]})},this),"resize.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.video&&this.isInFullScreen()&&a.preventDefault()},this),"refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.is("resizing")&&this._core.$stage.find(".cloned .owl-video-frame").remove()},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&"position"===a.property.name&&this._playing&&this.stop()},this),"prepared.owl.carousel":a.proxy(function(b){if(b.namespace){var c=a(b.content).find(".owl-video");c.length&&(c.css("display","none"),this.fetch(c,a(b.content)))}},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers),this._core.$element.on("click.owl.video",".owl-video-play-icon",a.proxy(function(a){this.play(a)},this))};e.Defaults={video:!1,videoHeight:!1,videoWidth:!1},e.prototype.fetch=function(a,b){var c=function(){return a.attr("data-vimeo-id")?"vimeo":a.attr("data-vzaar-id")?"vzaar":"youtube"}(),d=a.attr("data-vimeo-id")||a.attr("data-youtube-id")||a.attr("data-vzaar-id"),e=a.attr("data-width")||this._core.settings.videoWidth,f=a.attr("data-height")||this._core.settings.videoHeight,g=a.attr("href");if(!g)throw new Error("Missing video URL.");if(d=g.match(/(http:|https:|)\/\/(player.|www.|app.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com|be\-nocookie\.com)|vzaar\.com)\/(video\/|videos\/|embed\/|channels\/.+\/|groups\/.+\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/),d[3].indexOf("youtu")>-1)c="youtube";else if(d[3].indexOf("vimeo")>-1)c="vimeo";else{if(!(d[3].indexOf("vzaar")>-1))throw new Error("Video URL not supported.");c="vzaar"}d=d[6],this._videos[g]={type:c,id:d,width:e,height:f},b.attr("data-video",g),this.thumbnail(a,this._videos[g])},e.prototype.thumbnail=function(b,c){var d,e,f,g=c.width&&c.height?"width:"+c.width+"px;height:"+c.height+"px;":"",h=b.find("img"),i="src",j="",k=this._core.settings,l=function(c){e='<div class="owl-video-play-icon"></div>',d=k.lazyLoad?a("<div/>",{class:"owl-video-tn "+j,srcType:c}):a("<div/>",{class:"owl-video-tn",style:"opacity:1;background-image:url("+c+")"}),b.after(d),b.after(e)};if(b.wrap(a("<div/>",{class:"owl-video-wrapper",style:g})),this._core.settings.lazyLoad&&(i="data-src",j="owl-lazy"),h.length)return l(h.attr(i)),h.remove(),!1;"youtube"===c.type?(f="//img.youtube.com/vi/"+c.id+"/hqdefault.jpg",l(f)):"vimeo"===c.type?a.ajax({type:"GET",url:"//vimeo.com/api/v2/video/"+c.id+".json",jsonp:"callback",dataType:"jsonp",success:function(a){f=a[0].thumbnail_large,l(f)}}):"vzaar"===c.type&&a.ajax({type:"GET",url:"//vzaar.com/api/videos/"+c.id+".json",jsonp:"callback",dataType:"jsonp",success:function(a){f=a.framegrab_url,l(f)}})},e.prototype.stop=function(){this._core.trigger("stop",null,"video"),this._playing.find(".owl-video-frame").remove(),this._playing.removeClass("owl-video-playing"),this._playing=null,this._core.leave("playing"),this._core.trigger("stopped",null,"video")},e.prototype.play=function(b){var c,d=a(b.target),e=d.closest("."+this._core.settings.itemClass),f=this._videos[e.attr("data-video")],g=f.width||"100%",h=f.height||this._core.$stage.height();this._playing||(this._core.enter("playing"),this._core.trigger("play",null,"video"),e=this._core.items(this._core.relative(e.index())),this._core.reset(e.index()),c=a('<iframe frameborder="0" allowfullscreen mozallowfullscreen webkitAllowFullScreen ></iframe>'),c.attr("height",h),c.attr("width",g),"youtube"===f.type?c.attr("src","//www.youtube.com/embed/"+f.id+"?autoplay=1&rel=0&v="+f.id):"vimeo"===f.type?c.attr("src","//player.vimeo.com/video/"+f.id+"?autoplay=1"):"vzaar"===f.type&&c.attr("src","//view.vzaar.com/"+f.id+"/player?autoplay=true"),a(c).wrap('<div class="owl-video-frame" />').insertAfter(e.find(".owl-video")),this._playing=e.addClass("owl-video-playing"))},e.prototype.isInFullScreen=function(){var b=c.fullscreenElement||c.mozFullScreenElement||c.webkitFullscreenElement;return b&&a(b).parent().hasClass("owl-video-frame")},e.prototype.destroy=function(){var a,b;this._core.$element.off("click.owl.video");for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Video=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this.core=b,this.core.options=a.extend({},e.Defaults,this.core.options),this.swapping=!0,this.previous=d,this.next=d,this.handlers={"change.owl.carousel":a.proxy(function(a){a.namespace&&"position"==a.property.name&&(this.previous=this.core.current(),this.next=a.property.value)},this),"drag.owl.carousel dragged.owl.carousel translated.owl.carousel":a.proxy(function(a){a.namespace&&(this.swapping="translated"==a.type)},this),"translate.owl.carousel":a.proxy(function(a){
16
17a.namespace&&this.swapping&&(this.core.options.animateOut||this.core.options.animateIn)&&this.swap()},this)},this.core.$element.on(this.handlers)};e.Defaults={animateOut:!1,
vendor: 12,177 bytes, line 17
17animateIn:!1},e.prototype.swap=function(){if(1===this.core.settings.items&&a.support.animation&&a.support.transition){this.core.speed(0);var b,c=a.proxy(this.clear,this),d=this.core.$stage.children().eq(this.previous),e=this.core.$stage.children().eq(this.next),f=this.core.settings.animateIn,g=this.core.settings.animateOut;this.core.current()!==this.previous&&(g&&(b=this.core.coordinates(this.previous)-this.core.coordinates(this.next),d.one(a.support.animation.end,c).css({left:b+"px"}).addClass("animated owl-animated-out").addClass(g)),f&&e.one(a.support.animation.end,c).addClass("animated owl-animated-in").addClass(f))}},e.prototype.clear=function(b){a(b.target).css({left:""}).removeClass("animated owl-animated-out owl-animated-in").removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut),this.core.onTransitionEnd()},e.prototype.destroy=function(){var a,b;for(a in this.handlers)this.core.$element.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Animate=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._call=null,this._time=0,this._timeout=0,this._paused=!0,this._handlers={"changed.owl.carousel":a.proxy(function(a){a.namespace&&"settings"===a.property.name?this._core.settings.autoplay?this.play():this.stop():a.namespace&&"position"===a.property.name&&this._paused&&(this._time=0)},this),"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoplay&&this.play()},this),"play.owl.autoplay":a.proxy(function(a,b,c){a.namespace&&this.play(b,c)},this),"stop.owl.autoplay":a.proxy(function(a){a.namespace&&this.stop()},this),"mouseover.owl.autoplay":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"mouseleave.owl.autoplay":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.play()},this),"touchstart.owl.core":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"touchend.owl.core":a.proxy(function(){this._core.settings.autoplayHoverPause&&this.play()},this)},this._core.$element.on(this._handlers),this._core.options=a.extend({},e.Defaults,this._core.options)};e.Defaults={autoplay:!1,autoplayTimeout:5e3,autoplayHoverPause:!1,autoplaySpeed:!1},e.prototype._next=function(d){this._call=b.setTimeout(a.proxy(this._next,this,d),this._timeout*(Math.round(this.read()/this._timeout)+1)-this.read()),this._core.is("interacting")||c.hidden||this._core.next(d||this._core.settings.autoplaySpeed)},e.prototype.read=function(){return(new Date).getTime()-this._time},e.prototype.play=function(c,d){var e;this._core.is("rotating")||this._core.enter("rotating"),c=c||this._core.settings.autoplayTimeout,e=Math.min(this._time%(this._timeout||c),c),this._paused?(this._time=this.read(),this._paused=!1):b.clearTimeout(this._call),this._time+=this.read()%c-e,this._timeout=c,this._call=b.setTimeout(a.proxy(this._next,this,d),c-e)},e.prototype.stop=function(){this._core.is("rotating")&&(this._time=0,this._paused=!0,b.clearTimeout(this._call),this._core.leave("rotating"))},e.prototype.pause=function(){this._core.is("rotating")&&!this._paused&&(this._time=this.read(),this._paused=!0,b.clearTimeout(this._call))},e.prototype.destroy=function(){var a,b;this.stop();for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.autoplay=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){"use strict";var e=function(b){this._core=b,this._initialized=!1,this._pages=[],this._controls={},this._templates=[],this.$element=this._core.$element,this._overrides={next:this._core.next,prev:this._core.prev,to:this._core.to},this._handlers={"prepared.owl.carousel":a.proxy(function(b){b.namespace&&this._core.settings.dotsData&&this._templates.push('<div class="'+this._core.settings.dotClass+'">'+a(b.content).find("[data-dot]").addBack("[data-dot]").attr("data-dot")+"</div>")},this),"added.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,0,this._templates.pop())},this),"remove.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,1)},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&"position"==a.property.name&&this.draw()},this),"initialized.owl.carousel":a.proxy(function(a){a.namespace&&!this._initialized&&(this._core.trigger("initialize",null,"navigation"),this.initialize(),this.update(),this.draw(),this._initialized=!0,this._core.trigger("initialized",null,"navigation"))},this),"refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._initialized&&(this._core.trigger("refresh",null,"navigation"),this.update(),this.draw(),this._core.trigger("refreshed",null,"navigation"))},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this.$element.on(this._handlers)};e.Defaults={nav:!1,navText:['<span aria-label="Previous">&#x2039;</span>','<span aria-label="Next">&#x203a;</span>'],navSpeed:!1,navElement:'button type="button" role="presentation"',navContainer:!1,navContainerClass:"owl-nav",navClass:["owl-prev","owl-next"],slideBy:1,dotClass:"owl-dot",dotsClass:"owl-dots",dots:!0,dotsEach:!1,dotsData:!1,dotsSpeed:!1,dotsContainer:!1},e.prototype.initialize=function(){var b,c=this._core.settings;this._controls.$relative=(c.navContainer?a(c.navContainer):a("<div>").addClass(c.navContainerClass).appendTo(this.$element)).addClass("disabled"),this._controls.$previous=a("<"+c.navElement+">").addClass(c.navClass[0]).html(c.navText[0]).prependTo(this._controls.$relative).on("click",a.proxy(function(a){this.prev(c.navSpeed)},this)),this._controls.$next=a("<"+c.navElement+">").addClass(c.navClass[1]).html(c.navText[1]).appendTo(this._controls.$relative).on("click",a.proxy(function(a){this.next(c.navSpeed)},this)),c.dotsData||(this._templates=[a('<button role="button">').addClass(c.dotClass).append(a("<span>")).prop("outerHTML")]),this._controls.$absolute=(c.dotsContainer?a(c.dotsContainer):a("<div>").addClass(c.dotsClass).appendTo(this.$element)).addClass("disabled"),this._controls.$absolute.on("click","button",a.proxy(function(b){var d=a(b.target).parent().is(this._controls.$absolute)?a(b.target).index():a(b.target).parent().index();b.preventDefault(),this.to(d,c.dotsSpeed)},this));for(b in this._overrides)this._core[b]=a.proxy(this[b],this)},e.prototype.destroy=function(){var a,b,c,d,e;e=this._core.settings;for(a in this._handlers)this.$element.off(a,this._handlers[a]);for(b in this._controls)"$relative"===b&&e.navContainer?this._controls[b].html(""):this._controls[b].remove();for(d in this.overides)this._core[d]=this._overrides[d];for(c in Object.getOwnPropertyNames(this))"function"!=typeof this[c]&&(this[c]=null)},e.prototype.update=function(){var a,b,c,d=this._core.clones().length/2,e=d+this._core.items().length,f=this._core.maximum(!0),g=this._core.settings,h=g.center||g.autoWidth||g.dotsData?1:g.dotsEach||g.items;if("page"!==g.slideBy&&(g.slideBy=Math.min(g.slideBy,g.items)),g.dots||"page"==g.slideBy)for(this._pages=[],a=d,b=0,c=0;a<e;a++){if(b>=h||0===b){if(this._pages.push({start:Math.min(f,a-d),end:a-d+h-1}),Math.min(f,a-d)===f)break;b=0,++c}b+=this._core.mergers(this._core.relative(a))}},e.prototype.draw=function(){var b,c=this._core.settings,d=this._core.items().length<=c.items,e=this._core.relative(this._core.current()),f=c.loop||c.rewind;this._controls.$relative.toggleClass("disabled",!c.nav||d),c.nav&&(this._controls.$previous.toggleClass("disabled",!f&&e<=this._core.minimum(!0)),this._controls.$next.toggleClass("disabled",!f&&e>=this._core.maximum(!0))),this._controls.$absolute.toggleClass("disabled",!c.dots||d),c.dots&&(b=this._pages.length-this._controls.$absolute.children().length,c.dotsData&&0!==b?this._controls.$absolute.html(this._templates.join("")):b>0?this._controls.$absolute.append(new Array(b+1).join(this._templates[0])):b<0&&this._controls.$absolute.children().slice(b).remove(),this._controls.$absolute.find(".active").removeClass("active"),this._controls.$absolute.children().eq(a.inArray(this.current(),this._pages)).addClass("active"))},e.prototype.onTrigger=function(b){var c=this._core.settings;b.page={index:a.inArray(this.current(),this._pages),count:this._pages.length,size:c&&(c.center||c.autoWidth||c.dotsData?1:c.dotsEach||c.items)}},e.prototype.current=function(){var b=this._core.relative(this._core.current());return a.grep(this._pages,a.proxy(function(a,c){return a.start<=b&&a.end>=b},this)).pop()},e.prototype.getPosition=function(b){var c,d,e=this._core.settings;return"page"==e.slideBy?(c=a.inArray(this.current(),this._pages),d=this._pages.length,b?++c:--c,c=this._pages[(c%d+d)%d].start):(c=this._core.relative(this._core.current()),d=this._core.items().length,b?c+=e.slideBy:c-=e.slideBy),c},e.prototype.next=function(b){a.proxy(this._overrides.to,this._core)(this.getPosition(!0),b)},e.prototype.prev=function(b){a.proxy(this._overrides.to,this._core)(this.getPosition(!1),b)},e.prototype.to=function(b,c,d){var e;!d&&this._pages.length?(e=this._pages.length,a.proxy(this._overrides.to,this._core)(this._pages[(b%e+e)%e].start,c)):a.proxy(this._overrides.to,this._core)(b,c)},a.fn.owlCarousel.Constructor.Plugins.Navigation=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){"use strict";var e=function(c){this._core=c,this._hashes={},this.$element=this._core.$element,this._handlers={"initialized.owl.carousel":a.proxy(function(c){c.namespace&&"URLHash"===this._core.settings.startPosition&&a(b).trigger("hashchange.owl.navigation")},this),"prepared.owl.carousel":a.proxy(function(b){if(b.namespace){var c=a(b.content).find("[data-hash]").addBack("[data-hash]").attr("data-hash");if(!c)return;this._hashes[c]=b.content}},this),"changed.owl.carousel":a.proxy(function(c){if(c.namespace&&"position"===c.property.name){var d=this._core.items(this._core.relative(this._core.current())),e=a.map(this._hashes,function(a,b){return a===d?b:null}).join();if(!e||b.location.hash.slice(1)===e)return;b.location.hash=e}},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this.$element.on(this._handlers),a(b).on("hashchange.owl.navigation",a.proxy(function(a){var c=b.location.hash.substring(1),e=this._core.$stage.children(),f=this._hashes[c]&&e.index(this._hashes[c]);f!==d&&f!==this._core.current()&&this._core.to(this._core.relative(f),!1,!0)},this))};e.Defaults={URLhashListener:!1},e.prototype.destroy=function(){var c,d;a(b).off("hashchange.owl.navigation");for(c in this._handlers)this._core.$element.off(c,this._handlers[c]);for(d in Object.getOwnPropertyNames(this))"function"!=typeof this[d]&&(this[d]=null)},a.fn.owlCarousel.Constructor.Plugins.Hash=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){function e(b,c){var e=!1,f=b.charAt(0).toUpperCase()+b.slice(1);return a.each((b+" "+h.join(f+" ")+f).split(" "),function(a,b){if(g[b]!==d)return e=!c||b,!1}),e}function f(a){return e(a,!0)}var g=a("<support>").get(0).style,h="Webkit Moz O ms".split(" "),i={transition:{end:{WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"}},animation:{end:{WebkitAnimation:"webkitAnimationEnd",MozAnimation:"animationend",OAnimation:"oAnimationEnd",animation:"animationend"}}},j={csstransforms:function(){return!!e("transform")},csstransforms3d:function(){return!!e("perspective")},csstransitions:function(){return!!e("transition")},cssanimations:function(){return!!e("animation")}};j.csstransitions()&&(a.support.transition=new String(f("transition")),a.support.transition.end=i.transition.end[a.support.transition]),j.cssanimations()&&(a.support.animation=new String(f("animation")),a.support.animation.end=i.animation.end[a.support.animation]),j.csstransforms()&&(a.support.transform=new String(f("transform")),a.support.transform3d=j.csstransforms3d())}(window.Zepto||window.jQuery,window,document);
vendor: 713 bytes, lines 17-24
17
18/*!
19 * clipboard.js v2.0.4
20 * https://zenorocha.github.io/clipboard.js
21 * 
22 * Licensed MIT © Zeno Rocha
23 */
24!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return function(n){var o={};function r(t){if(o[t])return o[t].exports;var e=o[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,r),e.l=!0,e.exports}return r.m=n,r.c=o,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}
24),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function o(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(t,e,n){return e&&o(t.prototype,e),n&&o(t,n),t}}(),a=o(n(1)),c=o(n(3)),u=o(n(4));function o(t){return t&&t.__esModule?t:{default:t}}var l=function(t){function o(t,e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,o);var n=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(o.__proto__||Object.getPrototypeOf(o)).call(this));return n.resolveOptions(e),n.listenClick(t),n}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(o,c.default),i(o,[{key:"resolveOptions",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof t.action?t.action:this.defaultAction,this.target="function"==typeof t.target?t.target:this.defaultTarget,this.text="function"==typeof t.text?t.text:this.defaultText,this.container="object"===r(t.container)?t.container:document.body}},{key:"listenClick",value:function(t){var e=this;this.listener=(0,u.default)(t,"click",function(t){return e.onClick(t)})}},{key:"onClick",value:function(t){var e=t.delegateTarget||t.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new a.default({action:this.action(e),target:this.target(e),text:this.text(e),container:this.container,trigger:e,emitter:this})}},{key:"defaultAction",value:function(t){return s("action",t)}},{key:"defaultTarget",value:function(t){var e=s("target",t);if(e)return document.querySelector(e)}},{key:"defaultText",value:function(t){return s("text",t)}},{key:"destroy",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:["copy","cut"],e="string"==typeof t?[t]:t,n=!!document.queryCommandSupported;return e.forEach(function(t){n=n&&!!document.queryCommandSupported(t)}),n}}]),o}();function s(t,e){var n="data-clipboard-"+t;if(e.hasAttribute(n))return e.getAttribute(n)}t.exports=l},function(t,e,n){"use strict";var o,r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function o(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(t,e,n){return e&&o(t.prototype,e),n&&o(t,n),t}}(),a=n(2),c=(o=a)&&o.__esModule?o:{default:o};var u=function(){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),this.resolveOptions(t),this.initSelection()}return i(e,[{key:"resolveOptions",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.action=t.action,this.container=t.container,this.emitter=t.emitter,this.target=t.target,this.text=t.text,this.trigger=t.trigger,this.selectedText=""}}
vendor: 2,910 bytes, line 24
24,{key:"initSelection",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function(){var t=this,e="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return t.removeFake()},this.fakeHandler=this.container.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[e?"right":"left"]="-9999px";var n=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.style.top=n+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,this.container.appendChild(this.fakeElem),this.selectedText=(0,c.default)(this.fakeElem),this.copyText()}},{key:"removeFake",value:function(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=(0,c.default)(this.target),this.copyText()}},{key:"copyText",value:function(){var e=void 0;try{e=document.execCommand(this.action)}catch(t){e=!1}this.handleResult(e)}},{key:"handleResult",value:function(t){this.emitter.emit(t?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function(){this.trigger&&this.trigger.focus(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function(){this.removeFake()}},{key:"action",set:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=t,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function(){return this._action}},{key:"target",set:function(t){if(void 0!==t){if(!t||"object"!==(void 0===t?"undefined":r(t))||1!==t.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&t.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(t.hasAttribute("readonly")||t.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=t}},get:function(){return this._target}}]),e}();t.exports=u},function(t,e){t.exports=function(t){var e;if("SELECT"===t.nodeName)t.focus(),e=t.value;else if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName){var n=t.hasAttribute("readonly");n||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),n||t.removeAttribute("readonly"),e=t.value}
24else{t.hasAttribute("contenteditable")&&t.focus();var o=window.getSelection(),r=document.createRange();r.selectNodeContents(t),o.removeAllRanges(),o.addRange(r),e=o.toString()}return e}},function(t,e){function n(){}n.prototype={on:function(t,e,n){var o=this.e||(this.e={});return(o[t]||(o[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var o=this;function r(){o.off(t,r),e.apply(n,arguments)}return r._=e,this.on(t,r,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,r=n.length;o<r;o++)n[o].fn.apply(n[o].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),o=n[t],r=[];if(o&&e)for(var i=0,a=o.length;i<a;i++)o[i].fn!==e&&o[i].fn._!==e&&r.push(o[i]);return r.length?n[t]=r:delete n[t],this}},t.exports=n},function(t,e,n){var d=n(5),h=n(6);t.exports=function(t,e,n){if(!t&&!e&&!n)throw new Error("Missing required arguments");if(!d.string(e))throw new TypeError("Second argument must be a String");if(!d.fn(n))throw new TypeError("Third argument must be a Function");if(d.node(t))return s=e,f=n,(l=t).addEventListener(s,f),{destroy:function(){l.removeEventListener(s,f)}};if(d.nodeList(t))return a=t,c=e,u=n,Array.prototype.forEach.call(a,function(t){t.addEventListener(c,u)}),{destroy:function(){Array.prototype.forEach.call(a,function(t){t.removeEventListener(c,u)})}};if(d.string(t))return o=t,r=e,i=n,h(document.body,o,r,i);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList");var o,r,i,a,c,u,l,s,f}},function(t,n){n.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},n.nodeList=function(t){var e=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===e||"[object HTMLCollection]"===e)&&"length"in t&&(0===t.length||n.node(t[0]))},n.string=function(t){return"string"==typeof t||t instanceof String},n.fn=function(t){return"[object Function]"===Object.prototype.toString.call(t)}},function(t,e,n){var a=n(7);function i(t,e,n,o,r){var i=function(e,n,t,o){return function(t){t.delegateTarget=a(t.target,n),t.delegateTarget&&o.call(e,t)}}.apply(this,arguments);return t.addEventListener(n,i,r),{destroy:function(){t.removeEventListener(n,i,r)}}}t.exports=function(t,e,n,o,r){return"function"==typeof t.addEventListener?i.apply(null,arguments):"function"==typeof n?i.bind(null,document).apply(null,arguments):("string"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,function(t){return i(t,e,n,o,r)}))}},function(t,e){if("undefined"!=typeof Element&&!Element.prototype.matches){var n=Element.prototype;n.matches=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector}t.exports=function(t,e){for(;t&&9!==t.nodeType;){if("function"==typeof t.matches&&t.matches(e))return t;t=t.parentNode}}}])});
25/*! selectize.js - v0.12.6 | https://github.com/selectize/selectize.js | Apache License (v2) */
26
27!function(a,b){"function"==typeof define&&define.amd?define("sifter",b):"object"==typeof exports?module.exports=b():a.Sifter=b()}(this,function(){var a=function(a,b){this.items=a,this.settings=b||{diacritics:!0}};a.prototype.tokenize=function(a){if(!(a=e(String(a||"").toLowerCase()))||!a.length)return[];var b,c,d,g,i=[],j=a.split(/ +/);for(b=0,c=j.length;b<c;b++){if(d=f(j[b]),this.settings.diacritics)for(g in h)h.hasOwnProperty(g)&&(d=d.replace(new RegExp(g,"g"),h[g]));i.push({string:j[b],regex:new RegExp(d,"i")})}return i},a.prototype.iterator=function(a,b){var c;c=g(a)?Array.prototype.forEach||function(a){for(var b=0,c=this.length;b<c;b++)a(this[b],b,this)}:function(a){for(var b in this)this.hasOwnProperty(b)&&a(this[b],b,this)},c.apply(a,[b])},a.prototype.getScoreFunction=function(a,b){var c,e,f,g,h;c=this,a=c.prepareSearch(a,b),f=a.tokens,e=a.options.fields,g=f.length,h=a.options.nesting;var i=function(a,b){var c,d;return a?(a=String(a||""),-1===(d=a.search(b.regex))?0:(c=b.string.length/a.length,0===d&&(c+=.5),c)):0},j=function(){var a=e.length;return a?1===a?function(a,b){return i(d(b,e[0],h),a)}:function(b,c){for(var f=0,g=0;f<a;f++)g+=i(d(c,e[f],h),b);return g/a}:function(){return 0}}();return g?1===g?function(a){return j(f[0],a)}:"and"===a.options.conjunction?function(a){for(var b,c=0,d=0;c<g;c++){if((b=j(f[c],a))<=0)return 0;d+=b}return d/g}:function(a){for(var b=0,c=0;b<g;b++)c+=j(f[b],a);return c/g}:function(){return 0}},a.prototype.getSortFunction=function(a,c){var e,f,g,h,i,j,k,l,m,n,o;if(g=this,a=g.prepareSearch(a,c),o=!a.query&&c.sort_empty||c.sort,m=function(a,b){return"$score"===a?b.score:d(g.items[b.id],a,c.nesting)},i=[],o)for(e=0,f=o.length;e<f;e++)(a.query||"$score"!==o[e].field)&&i.push(o[e]);
vendor: 4,800 bytes, line 27
27if(a.query){for(n=!0,e=0,f=i.length;e<f;e++)if("$score"===i[e].field){n=!1;break}n&&i.unshift({field:"$score",direction:"desc"})}else for(e=0,f=i.length;e<f;e++)if("$score"===i[e].field){i.splice(e,1);break}for(l=[],e=0,f=i.length;e<f;e++)l.push("desc"===i[e].direction?-1:1);return j=i.length,j?1===j?(h=i[0].field,k=l[0],function(a,c){return k*b(m(h,a),m(h,c))}):function(a,c){var d,e,f;for(d=0;d<j;d++)if(f=i[d].field,e=l[d]*b(m(f,a),m(f,c)))return e;return 0}:null},a.prototype.prepareSearch=function(a,b){if("object"==typeof a)return a;b=c({},b);var d=b.fields,e=b.sort,f=b.sort_empty;return d&&!g(d)&&(b.fields=[d]),e&&!g(e)&&(b.sort=[e]),f&&!g(f)&&(b.sort_empty=[f]),{options:b,query:String(a||"").toLowerCase(),tokens:this.tokenize(a),total:0,items:[]}},a.prototype.search=function(a,b){var c,d,e,f,g=this;return d=this.prepareSearch(a,b),b=d.options,a=d.query,f=b.score||g.getScoreFunction(d),a.length?g.iterator(g.items,function(a,e){c=f(a),(!1===b.filter||c>0)&&d.items.push({score:c,id:e})}):g.iterator(g.items,function(a,b){d.items.push({score:1,id:b})}),e=g.getSortFunction(d,b),e&&d.items.sort(e),d.total=d.items.length,"number"==typeof b.limit&&(d.items=d.items.slice(0,b.limit)),d};var b=function(a,b){return"number"==typeof a&&"number"==typeof b?a>b?1:a<b?-1:0:(a=i(String(a||"")),b=i(String(b||"")),a>b?1:b>a?-1:0)},c=function(a,b){var c,d,e,f;for(c=1,d=arguments.length;c<d;c++)if(f=arguments[c])for(e in f)f.hasOwnProperty(e)&&(a[e]=f[e]);return a},d=function(a,b,c){if(a&&b){if(!c)return a[b];for(var d=b.split(".");d.length&&(a=a[d.shift()]););return a}},e=function(a){return(a+"").replace(/^\s+|\s+$|/g,"")},f=function(a){return(a+"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")},g=Array.isArray||"undefined"!=typeof $&&$.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)},h={a:"[aḀḁĂăÂâǍǎȺⱥȦȧẠạÄäÀàÁáĀāÃãÅåąĄÃąĄ]",b:"[b␢βΒB฿𐌁ᛒ]",c:"[cĆćĈĉČčĊċC̄c̄ÇçḈḉȻȼƇƈɕᴄCc]",d:"[dĎďḊḋḐḑḌḍḒḓḎḏĐđD̦d̦ƉɖƊɗƋƌᵭᶁᶑȡᴅDdð]",e:"[eÉéÈèÊêḘḙĚěĔĕẼẽḚḛẺẻĖėËëĒēȨȩĘęᶒɆɇȄȅẾếỀềỄễỂểḜḝḖḗḔḕȆȇẸẹỆệⱸᴇEeɘǝƏƐε]",f:"[fƑƒḞḟ]",g:"[gɢ₲ǤǥĜĝĞğĢģƓɠĠġ]",h:"[hĤĥĦħḨḩẖẖḤḥḢḣɦʰǶƕ]",i:"[iÍíÌìĬĭÎîǏǐÏïḮḯĨĩĮįĪīỈỉȈȉȊȋỊịḬḭƗɨɨ̆ᵻᶖİiIıɪIi]",j:"[jȷĴĵɈɉʝɟʲ]",k:"[kƘƙꝀꝁḰḱǨǩḲḳḴḵκϰ₭]",l:"[lŁłĽľĻļĹĺḶḷḸḹḼḽḺḻĿŀȽƚⱠⱡⱢɫɬᶅɭȴʟLl]",n:"[nŃńǸǹŇňÑñṄṅŅņṆṇṊṋṈṉN̈n̈ƝɲȠƞᵰᶇɳȵɴNnŊŋ]",o:"[oØøÖöÓóÒòÔôǑǒŐőŎŏȮȯỌọƟɵƠơỎỏŌōÕõǪǫȌȍՕօ]",p:"[pṔṕṖṗⱣᵽƤƥᵱ]",q:"[qꝖꝗʠɊɋꝘꝙq̃]",r:"[rŔŕɌɍŘřŖŗṘṙȐȑȒȓṚṛⱤɽ]",s:"[sŚśṠṡṢṣꞨꞩŜŝŠšŞşȘșS̈s̈]",t:"[tŤťṪṫŢţṬṭƮʈȚțṰṱṮṯƬƭ]",u:"[uŬŭɄʉỤụÜüÚúÙùÛûǓǔŰűŬŭƯưỦủŪūŨũŲųȔȕ∪]",v:"[vṼṽṾṿƲʋꝞꝟⱱʋ]",w:"[wẂẃẀẁŴŵẄẅẆẇẈẉ]",x:"[xẌẍẊẋχ]",y:"[yÝýỲỳŶŷŸÿỸỹẎẏỴỵɎɏƳƴ]",z:"[zŹźẐẑŽžŻżẒẓẔẕƵƶ]"},i=function(){var a,b,c,d,e="",f={};for(c in h)if(h.hasOwnProperty(c))for(d=h[c].substring(2,h[c].length-1),e+=d,a=0,b=d.length;a<b;a++)f[d.charAt(a)]=c;var g=new RegExp("["+e+"]","g");return function(a){return a.replace(g,function(a){return f[a]}).toLowerCase()}}();return a}),function(a,b){"function"==typeof define&&define.amd?define("microplugin",b):"object"==typeof exports?module.exports=b():a.MicroPlugin=b()}(this,function(){var a={};a.mixin=function(a){a.plugins={},a.prototype.initializePlugins=function(a){var c,d,e,f=this,g=[];if(f.plugins={names:[],settings:{},requested:{},loaded:{}},b.isArray(a))for(c=0,d=a.length;c<d;c++)"string"==typeof a[c]?g.push(a[c]):(f.plugins.settings[a[c].name]=a[c].options,g.push(a[c].name));else if(a)for(e in a)a.hasOwnProperty(e)&&(f.plugins.settings[e]=a[e],g.push(e));for(;g.length;)f.require(g.shift())},a.prototype.loadPlugin=function(b){var c=this,d=c.plugins,e=a.plugins[b];if(!a.plugins.hasOwnProperty(b))throw new Error('Unable to find "'+b+'" plugin');d.requested[b]=!0,d.loaded[b]=e.fn.apply(c,[c.plugins.settings[b]||{}]),d.names.push(b)},a.prototype.require=function(a){var b=this,c=b.plugins;if(!b.plugins.loaded.hasOwnProperty(a)){if(c.requested[a])throw new Error('Plugin has circular dependency ("'+a+'")');b.loadPlugin(a)}return c.loaded[a]},a.define=function(b,c){a.plugins[b]={name:b,fn:c}}};var b={isArray:Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}};return a}),function(a,b){"function"==typeof define&&define.amd?define("selectize",
vendor: 23,564 bytes, line 27
27["jquery","sifter","microplugin"],b):"object"==typeof exports?module.exports=b(require("jquery"),require("sifter"),require("microplugin")):a.Selectize=b(a.jQuery,a.Sifter,a.MicroPlugin)}(this,function(a,b,c){"use strict";var d=function(a,b){if("string"!=typeof b||b.length){var c="string"==typeof b?new RegExp(b,"i"):b,d=function(a){var b=0;if(3===a.nodeType){var e=a.data.search(c);if(e>=0&&a.data.length>0){var f=a.data.match(c),g=document.createElement("span");g.className="highlight";var h=a.splitText(e),i=(h.splitText(f[0].length),h.cloneNode(!0));g.appendChild(i),h.parentNode.replaceChild(g,h),b=1}}else if(1===a.nodeType&&a.childNodes&&!/(script|style)/i.test(a.tagName)&&("highlight"!==a.className||"SPAN"!==a.tagName))for(var j=0;j<a.childNodes.length;++j)j+=d(a.childNodes[j]);return b};return a.each(function(){d(this)})}};a.fn.removeHighlight=function(){return this.find("span.highlight").each(function(){this.parentNode.firstChild.nodeName;var a=this.parentNode;a.replaceChild(this.firstChild,this),a.normalize()}).end()};var e=function(){};e.prototype={on:function(a,b){this._events=this._events||{},this._events[a]=this._events[a]||[],this._events[a].push(b)},off:function(a,b){var c=arguments.length;return 0===c?delete this._events:1===c?delete this._events[a]:(this._events=this._events||{},void(a in this._events!=!1&&this._events[a].splice(this._events[a].indexOf(b),1)))},trigger:function(a){if(this._events=this._events||{},a in this._events!=!1)for(var b=0;b<this._events[a].length;b++)this._events[a][b].apply(this,Array.prototype.slice.call(arguments,1))}},e.mixin=function(a){for(var b=["on","off","trigger"],c=0;c<b.length;c++)a.prototype[b[c]]=e.prototype[b[c]]};var f=/Mac/.test(navigator.userAgent),g=f?91:17,h=f?18:17,i=!/android/i.test(window.navigator.userAgent)&&!!document.createElement("input").validity,j=function(a){return void 0!==a},k=function(a){return void 0===a||null===a?null:"boolean"==typeof a?a?"1":"0":a+""},l=function(a){return(a+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},m={};m.before=function(a,b,c){var d=a[b];a[b]=function(){return c.apply(a,arguments),d.apply(a,arguments)}},m.after=function(a,b,c){var d=a[b];a[b]=function(){var b=d.apply(a,arguments);return c.apply(a,arguments),b}};var n=function(a){var b=!1;return function(){b||(b=!0,a.apply(this,arguments))}},o=function(a,b){var c;return function(){var d=this,e=arguments;window.clearTimeout(c),c=window.setTimeout(function(){a.apply(d,e)},b)}},p=function(a,b,c){var d,e=a.trigger,f={};a.trigger=function(){var c=arguments[0];if(-1===b.indexOf(c))return e.apply(a,arguments);f[c]=arguments},c.apply(a,[]),a.trigger=e;for(d in f)f.hasOwnProperty(d)&&e.apply(a,f[d])},q=function(a,b,c,d){a.on(b,c,function(b){for(var c=b.target;c&&c.parentNode!==a[0];)c=c.parentNode;return b.currentTarget=c,d.apply(this,[b])})},r=function(a){var b={};if("selectionStart"in a)b.start=a.selectionStart,b.length=a.selectionEnd-b.start;else if(document.selection){a.focus();var c=document.selection.createRange(),d=document.selection.createRange().text.length;c.moveStart("character",-a.value.length),b.start=c.text.length-d,b.length=d}return b},s=function(a,b,c){var d,e,f={};if(c)for(d=0,e=c.length;d<e;d++)f[c[d]]=a.css(c[d]);else f=a.css();b.css(f)},t=function(b,c){return b?(w.$testInput||(w.$testInput=a("<span />").css({position:"absolute",top:-99999,left:-99999,width:"auto",padding:0,whiteSpace:"pre"}).appendTo("body")),w.$testInput.text(b),s(c,w.$testInput,["letterSpacing","fontSize","fontFamily","fontWeight","textTransform"]),w.$testInput.width()):0},u=function(a){var b=null,c=function(c,d){var e,f,g,h,i,j,k,l;c=c||window.event||{},d=d||{},c.metaKey||c.altKey||(d.force||!1!==a.data("grow"))&&(e=a.val(),c.type&&"keydown"===c.type.toLowerCase()&&(f=c.keyCode,g=f>=48&&f<=57||f>=65&&f<=90||f>=96&&f<=111||f>=186&&f<=222||32===f,46===f||8===f?(l=r(a[0]),l.length?e=e.substring(0,l.start)+e.substring(l.start+l.length):8===f&&l.start?e=e.substring(0,l.start-1)+e.substring(l.start+1):46===f&&void 0!==l.start&&(e=e.substring(0,l.start)+e.substring(l.start+1))):g&&(j=c.shiftKey,k=String.fromCharCode(c.keyCode),k=j?k.toUpperCase():k.toLowerCase(),e+=k)),h=a.attr("placeholder"),!e&&h&&(e=h),(i=t(e,a)+4)!==b&&(b=i,a.width(i),a.triggerHandler("resize")))};a.on("keydown keyup update blur",c),c()},v=function(a){var b=document.createElement("div");return b.appendChild(a.cloneNode(!0)),b.innerHTML},w=function(c,d){var e,f,g,h,i=this;h=c[0],h.selectize=i;var j=window.getComputedStyle&&window.getComputedStyle(h,null);if(g=j?j.getPropertyValue("direction"):h.currentStyle&&h.currentStyle.direction,g=g||c.parents("[dir]:first").attr("dir")||"",a.extend(i,{order:0,settings:d,$input:c,tabIndex:c.attr("tabindex")||"",tagType:"select"===h.tagName.toLowerCase()?1:2,rtl:/rtl/i.test(g),eventNS:".selectize"+ ++w.count,highlightedValue:null,isBlurring:!1,isOpen:!1,isDisabled:!1,isRequired:c.is("[required]"),isInvalid:!1,isLocked:!1,isFocused:!1,isInputHidden:!1,isSetup:!1,isShiftDown:!1,isCmdDown:!1,isCtrlDown:!1,ignoreFocus:!1,ignoreBlur:!1,ignoreHover:!1,hasOptions:!1,currentResults:null,lastValue:"",caretPos:0,loading:0,loadedSearches:{},$activeOption:null,$activeItems:[],optgroups:{},options:{},userOptions:{},items:[],renderCache:{},onSearchChange:null===d.loadThrottle?i.onSearchChange:o(i.onSearchChange,d.loadThrottle)}),i.sifter=new b(this.options,{diacritics:d.diacritics}),i.settings.options){for(e=0,f=i.settings.options.length;e<f;e++)i.registerOption(i.settings.options[e]);delete i.settings.options}if(i.settings.optgroups){for(e=0,f=i.settings.optgroups.length;e<f;e++)i.registerOptionGroup(i.settings.optgroups[e]);delete i.settings.optgroups}i.settings.mode=i.settings.mode||(1===i.settings.maxItems?"single":"multi"),"boolean"!=typeof i.settings.hideSelected&&(i.settings.hideSelected="multi"===i.settings.mode),i.initializePlugins(i.settings.plugins),i.setupCallbacks(),i.setupTemplates(),i.setup()};return e.mixin(w),void 0!==c?c.mixin(w):function(a,b){b||(b={});console.error("Selectize: "+a),b.explanation&&(console.group&&console.group(),console.error(b.explanation),console.group&&console.groupEnd())}("Dependency MicroPlugin is missing",{explanation:'Make sure you either: (1) are using the "standalone" version of Selectize, or (2) require MicroPlugin before you load Selectize.'}),a.extend(w.prototype,{setup:function(){var b,c,d,e,j,k,l,m,n,o,p=this,r=p.settings,s=p.eventNS,t=a(window),v=a(document),w=p.$input;if(l=p.settings.mode,m=w.attr("class")||"",b=a("<div>").addClass(r.wrapperClass).addClass(m).addClass(l),c=a("<div>").addClass(r.inputClass).addClass("items").appendTo(b),d=a('<input type="text" autocomplete="off" />').appendTo(c).attr("tabindex",w.is(":disabled")?"-1":p.tabIndex),k=a(r.dropdownParent||b),e=a("<div>").addClass(r.dropdownClass).addClass(l).hide().appendTo(k),j=a("<div>").addClass(r.dropdownContentClass).appendTo(e),(o=w.attr("id"))&&(d.attr("id",o+"-selectized"),a("label[for='"+o+"']").attr("for",o+"-selectized")),p.settings.copyClassesToDropdown&&e.addClass(m),b.css({width:w[0].style.width}),p.plugins.names.length&&(n="plugin-"+p.plugins.names.join(" plugin-"),b.addClass(n),e.addClass(n)),(null===r.maxItems||r.maxItems>1)&&1===p.tagType&&w.attr("multiple","multiple"),p.settings.placeholder&&d.attr("placeholder",r.placeholder),!p.settings.splitOn&&p.settings.delimiter){var x=p.settings.delimiter.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");p.settings.splitOn=new RegExp("\\s*"+x+"+\\s*")}w.attr("autocorrect")&&d.attr("autocorrect",w.attr("autocorrect")),w.attr("autocapitalize")&&d.attr("autocapitalize",w.attr("autocapitalize")),d[0].type=w[0].type,p.$wrapper=b,p.$control=c,p.$control_input=d,p.$dropdown=e,p.$dropdown_content=j,e.on("mouseenter mousedown click","[data-disabled]>[data-selectable]",function(a){a.stopImmediatePropagation()}),e.on("mouseenter","[data-selectable]",function(){return p.onOptionHover.apply(p,arguments)}),e.on("mousedown click","[data-selectable]",function(){return p.onOptionSelect.apply(p,arguments)}),q(c,"mousedown","*:not(input)",function(){return p.onItemSelect.apply(p,arguments)}),u(d),c.on({mousedown:function(){return p.onMouseDown.apply(p,arguments)},click:function(){return p.onClick.apply(p,arguments)}}),d.on({mousedown:function(a){a.stopPropagation()},keydown:function(){return p.onKeyDown.apply(p,arguments)},keyup:function(){return p.onKeyUp.apply(p,arguments)},keypress:function(){return p.onKeyPress.apply(p,arguments)},resize:function(){p.positionDropdown.apply(p,[])},blur:function(){return p.onBlur.apply(p,arguments)},focus:function(){return p.ignoreBlur=!1,p.onFocus.apply(p,arguments)},paste:function(){return p.onPaste.apply(p,arguments)}}),v.on("keydown"+s,function(a){p.isCmdDown=a[f?"metaKey":"ctrlKey"],p.isCtrlDown=a[f?"altKey":"ctrlKey"],p.isShiftDown=a.shiftKey}),v.on("keyup"+s,function(a){a.keyCode===h&&(p.isCtrlDown=!1),16===a.keyCode&&(p.isShiftDown=!1),a.keyCode===g&&(p.isCmdDown=!1)}),v.on("mousedown"+s,function(a){if(p.isFocused){if(a.target===p.$dropdown[0]||a.target.parentNode===p.$dropdown[0])return!1;p.$control.has(a.target).length||a.target===p.$control[0]||p.blur(a.target)}}),t.on(["scroll"+s,"resize"+s].join(" "),function(){p.isOpen&&p.positionDropdown.apply(p,arguments)}),t.on("mousemove"+s,function(){p.ignoreHover=!1}),this.revertSettings={$children:w.children().detach(),tabindex:w.attr("tabindex")},w.attr("tabindex",-1).hide().after(p.$wrapper),a.isArray(r.items)&&(p.setValue(r.items),delete r.items),i&&w.on("invalid"+s,function(a){a.preventDefault(),p.isInvalid=!0,p.refreshState()}),p.updateOriginalInput(),p.refreshItems(),p.refreshState(),p.updatePlaceholder(),p.isSetup=!0,w.is(":disabled")&&p.disable(),p.on("change",this.onChange),w.data("selectize",p),w.addClass("selectized"),p.trigger("initialize"),!0===r.preload&&p.onSearchChange("")},setupTemplates:function(){var b=this,c=b.settings.labelField,d=b.settings.optgroupLabelField,e={optgroup:function(a){return'<div class="optgroup">'+a.html+"</div>"},optgroup_header:function(a,b){return'<div class="optgroup-header">'+b(a[d])+"</div>"},option:function(a,b){return'<div class="option">'+b(a[c])+"</div>"},item:function(a,b){return'<div class="item">'+b(a[c])+"</div>"},option_create:function(a,b){return'<div class="create">Add <strong>'+b(a.input)+"</strong>&hellip;</div>"}};b.settings.render=a.extend({},e,b.settings.render)},setupCallbacks:function(){var a,b,c={initialize:"onInitialize",change:"onChange",item_add:"onItemAdd",item_remove:"onItemRemove",clear:"onClear",option_add:"onOptionAdd",option_remove:"onOptionRemove",option_clear:"onOptionClear",optgroup_add:"onOptionGroupAdd",optgroup_remove:"onOptionGroupRemove",optgroup_clear:"onOptionGroupClear",dropdown_open:"onDropdownOpen",dropdown_close:"onDropdownClose",type:"onType",load:"onLoad",focus:"onFocus",blur:"onBlur"};for(a in c)c.hasOwnProperty(a)&&(b=this.settings[c[a]])&&this.on(a,b)},onClick:function(a){var b=this;b.isFocused&&b.isOpen||(b.focus(),a.preventDefault())},onMouseDown:function(b){var c=this,d=b.isDefaultPrevented();a(b.target);if(c.isFocused){if(b.target!==c.$control_input[0])return"single"===c.settings.mode?c.isOpen?c.close():c.open():d||c.setActiveItem(null),!1}else d||window.setTimeout(function(){c.focus()},0)},onChange:function(){this.$input.trigger("change")},onPaste:function(b){var c=this;if(c.isFull()||c.isInputHidden||c.isLocked)return void b.preventDefault();c.settings.splitOn&&setTimeout(function(){var b=c.$control_input.val();if(b.match(c.settings.splitOn))for(var d=a.trim(b).split(c.settings.splitOn),e=0,f=d.length;e<f;e++)c.createItem(d[e])},0)},onKeyPress:function(a){if(this.isLocked)return a&&a.preventDefault();var b=String.fromCharCode(a.keyCode||a.which);return this.settings.create&&"multi"===this.settings.mode&&b===this.settings.delimiter?(this.createItem(),a.preventDefault(),!1):void 0},onKeyDown:function(a){var b=(a.target,this.$control_input[0],this);if(b.isLocked)return void(9!==a.keyCode&&a.preventDefault());switch(a.keyCode){case 65:if(b.isCmdDown)return void b.selectAll();break;case 27:return void(b.isOpen&&(a.preventDefault(),a.stopPropagation(),b.close()));case 78:if(!a.ctrlKey||a.altKey)break;case 40:if(!b.isOpen&&b.hasOptions)b.open();else if(b.$activeOption){b.ignoreHover=!0;var c=b.getAdjacentOption(b.$activeOption,1);c.length&&b.setActiveOption(c,!0,!0)}return void a.preventDefault();case 80:if(!a.ctrlKey||a.altKey)break;case 38:if(b.$activeOption){b.ignoreHover=!0;var d=b.getAdjacentOption(b.$activeOption,-1);d.length&&b.setActiveOption(d,!0,!0)}return void a.preventDefault();case 13:return void(b.isOpen&&b.$activeOption&&(b.onOptionSelect({currentTarget:b.$activeOption}),a.preventDefault()));case 37:return void b.advanceSelection(-1,a);case 39:return void b.advanceSelection(1,a);case 9:return b.settings.selectOnTab&&b.isOpen&&b.$activeOption&&(b.onOptionSelect({currentTarget:b.$activeOption}),b.isFull()||a.preventDefault()),void(b.settings.create&&b.createItem()&&a.preventDefault());case 8:case 46:return void b.deleteSelection(a)}return!b.isFull()&&!b.isInputHidden||(f?a.metaKey:a.ctrlKey)?void 0:void a.preventDefault()},onKeyUp:function(a){var b=this;if(b.isLocked)return a&&a.preventDefault();var c=b.$control_input.val()||"";b.lastValue!==c&&(b.lastValue=c,b.onSearchChange(c),b.refreshOptions(),b.trigger("type",c))},onSearchChange:function(a){var b=this,c=b.settings.load;c&&(b.loadedSearches.hasOwnProperty(a)||(b.loadedSearches[a]=!0,b.load(function(d){c.apply(b,[a,d])})))},onFocus:function(a){var b=this,c=b.isFocused;if(b.isDisabled)return b.blur(),a&&a.preventDefault(),!1;b.ignoreFocus||(b.isFocused=!0,"focus"===b.settings.preload&&b.onSearchChange(""),c||b.trigger("focus"),b.$activeItems.length||(b.showInput(),b.setActiveItem(null),b.refreshOptions(!!b.settings.openOnFocus)),b.refreshState())},onBlur:function(a,b){var c=this;if(c.isFocused&&(c.isFocused=!1,!c.ignoreFocus)){if(!c.ignoreBlur&&document.activeElement===c.$dropdown_content[0])return c.ignoreBlur=!0,void c.onFocus(a);var d=function(){c.close(),c.setTextboxValue(""),c.setActiveItem(null),c.setActiveOption(null),c.setCaret(c.items.length),c.refreshState(),b&&b.focus&&b.focus(),c.isBlurring=!1,c.ignoreFocus=!1,c.trigger("blur")};c.isBlurring=!0,c.ignoreFocus=!0,c.settings.create&&c.settings.createOnBlur?c.createItem(null,!1,d):d()}},onOptionHover:function(a){this.ignoreHover||this.setActiveOption(a.currentTarget,!1)},onOptionSelect:function(b){var c,d,e=this;b.preventDefault&&(b.preventDefault(),b.stopPropagation()),d=a(b.currentTarget),d.hasClass("create")?e.createItem(null,function(){e.settings.closeAfterSelect&&e.close()}):void 0!==(c=d.attr("data-value"))&&(e.lastQuery=null,e.setTextboxValue(""),e.addItem(c),e.settings.closeAfterSelect?e.close():!e.settings.hideSelected&&b.type&&/mouse/.test(b.type)&&e.setActiveOption(e.getOption(c)))},onItemSelect:function(a){var b=this;b.isLocked||"multi"===b.settings.mode&&(a.preventDefault(),b.setActiveItem(a.currentTarget,a))},load:function(a){var b=this,c=b.$wrapper.addClass(b.settings.loadingClass);b.loading++,a.apply(b,[function(a){b.loading=Math.max(b.loading-1,0),a&&a.length&&(b.addOption(a),b.refreshOptions(b.isFocused&&!b.isInputHidden)),b.loading||c.removeClass(b.settings.loadingClass),b.trigger("load",a)}])},setTextboxValue:function(a){var b=this.$control_input;b.val()!==a&&(b.val(a).triggerHandler("update"),this.lastValue=a)},getValue:function(){return 1===this.tagType&&this.$input.attr("multiple")?this.items:this.items.join(this.settings.delimiter)},setValue:function(a,b){p(this,b?[]:["change"],function(){this.clear(b),this.addItems(a,b)})},setActiveItem:function(b,c){var d,e,f,g,h,i,j,k,l=this;if("single"!==l.settings.mode){if(b=a(b),!b.length)return a(l.$activeItems).removeClass("active"),l.$activeItems=[],void(l.isFocused&&l.showInput());if("mousedown"===(d=c&&c.type.toLowerCase())&&l.isShiftDown&&l.$activeItems.length){for(k=l.$control.children(".active:last"),g=Array.prototype.indexOf.apply(l.$control[0].childNodes,[k[0]]),h=Array.prototype.indexOf.apply(l.$control[0].childNodes,[b[0]]),g>h&&(j=g,g=h,h=j),e=g;e<=h;e++)i=l.$control[0].childNodes[e],-1===l.$activeItems.indexOf(i)&&(a(i).addClass("active"),l.$activeItems.push(i));c.preventDefault()}else"mousedown"===d&&l.isCtrlDown||"keydown"===d&&this.isShiftDown?b.hasClass("active")?(f=l.$activeItems.indexOf(b[0]),l.$activeItems.splice(f,1),b.removeClass("active")):l.$activeItems.push(b.addClass("active")[0]):(a(l.$activeItems).removeClass("active"),l.$activeItems=[b.addClass("active")[0]]);l.hideInput(),this.isFocused||l.focus()}},setActiveOption:function(b,c,d){var e,f,g,h,i,k=this;k.$activeOption&&k.$activeOption.removeClass("active"),k.$activeOption=null,b=a(b),b.length&&(k.$activeOption=b.addClass("active"),!c&&j(c)||(e=k.$dropdown_content.height(),f=k.$activeOption.outerHeight(!0),c=k.$dropdown_content.scrollTop()||0,g=k.$activeOption.offset().top-k.$dropdown_content.offset().top+c,h=g,i=g-e+f,g+f>e+c?k.$dropdown_content.stop().animate({scrollTop:i},d?k.settings.scrollDuration:0):g<c&&k.$dropdown_content.stop().animate({scrollTop:h},d?k.settings.scrollDuration:0)))},selectAll:function(){var a=this;"single"!==a.settings.mode&&(a.$activeItems=Array.prototype.slice.apply(a.$control.children(":not(input)").addClass("active")),a.$activeItems.length&&(a.hideInput(),a.close()),a.focus())},hideInput:function(){var a=this;a.setTextboxValue(""),a.$control_input.css({opacity:0,position:"absolute",left:a.rtl?1e4:-1e4}),a.isInputHidden=!0},showInput:function(){this.$control_input.css({opacity:1,position:"relative",left:0}),this.isInputHidden=!1},focus:function(){var a=this;a.isDisabled||(a.ignoreFocus=!0,a.$control_input[0].focus(),window.setTimeout(function(){a.ignoreFocus=!1,a.onFocus()},0))},blur:function(a){this.$control_input[0].blur(),this.onBlur(null,a)},getScoreFunction:function(a){return this.sifter.getScoreFunction(a,this.getSearchOptions())},getSearchOptions:function(){var a=this.settings,b=a.sortField;return"string"==typeof b&&(b=[{field:b}]),{fields:a.searchField,conjunction:a.searchConjunction,sort:b,nesting:a.nesting}},search:function(b){var c,d,e,f=this,g=f.settings,h=this.getSearchOptions();if(g.score&&"function"!=typeof(e=f.settings.score.apply(this,[b])))throw new Error('Selectize "score" setting must be a function that returns a function');if(b!==f.lastQuery?(f.lastQuery=b,d=f.sifter.search(b,a.extend(h,{score:e})),f.currentResults=d):d=a.extend(!0,{},f.currentResults),g.hideSelected)for(c=d.items.length-1;c>=0;c--)-1!==f.items.indexOf(k(d.items[c].id))&&d.items.splice(c,1);return d},refreshOptions:function(b){var c,e,f,g,h,i,j,l,m,n,o,p,q,r,s,t;void 0===b&&(b=!0);var u=this,w=a.trim(u.$control_input.val()),x=u.search(w),y=u.$dropdown_content,z=u.$activeOption&&k(u.$activeOption.attr("data-value"));for(g=x.items.length,"number"==typeof u.settings.maxOptions&&(g=Math.min(g,u.settings.maxOptions)),h={},i=[],c=0;c<g;c++)for(j=u.options[x.items[c].id],l=u.render("option",j),m=j[u.settings.optgroupField]||"",n=a.isArray(m)?m:[m],e=0,f=n&&n.length;e<f;e++)m=n[e],u.optgroups.hasOwnProperty(m)||(m=""),h.hasOwnProperty(m)||(h[m]=document.createDocumentFragment(),i.push(m)),h[m].appendChild(l);for(this.settings.lockOptgroupOrder&&i.sort(function(a,b){return(u.optgroups[a].$order||0)-(u.optgroups[b].$order||0)}),o=document.createDocumentFragment(),c=0,g=i.length;c<g;c++)m=i[c],u.optgroups.hasOwnProperty(m)&&h[m].childNodes.length?(p=document.createDocumentFragment(),p.appendChild(u.render("optgroup_header",u.optgroups[m])),p.appendChild(h[m]),o.appendChild(u.render("optgroup",a.extend({},u.optgroups[m],{html:v(p),dom:p})))):o.appendChild(h[m]);if(y.html(o),u.settings.highlight&&(y.removeHighlight(),x.query.length&&x.tokens.length))for(c=0,g=x.tokens.length;c<g;c++)d(y,x.tokens[c].regex);if(!u.settings.hideSelected)for(c=0,g=u.items.length;c<g;c++)u.getOption(u.items[c]).addClass("selected");q=u.canCreate(w),q&&(y.prepend(u.render("option_create",{input:w})),t=a(y[0].childNodes[0])),u.hasOptions=x.items.length>0||q,u.hasOptions?(x.items.length>0?(s=z&&u.getOption(z),s&&s.length?r=s:"single"===u.settings.mode&&u.items.length&&(r=u.getOption(u.items[0])),r&&r.length||(r=t&&!u.settings.addPrecedence?u.getAdjacentOption(t,1):y.find("[data-selectable]:first"))):r=t,u.setActiveOption(r),b&&!u.isOpen&&u.open()):(u.setActiveOption(null),b&&u.isOpen&&u.close())},addOption:function(b){var c,d,e,f=this;if(a.isArray(b))for(c=0,d=b.length;c<d;c++)f.addOption(b[c]);else(e=f.registerOption(b))&&(f.userOptions[e]=!0,f.lastQuery=null,f.trigger("option_add",e,b))},registerOption:function(a){var b=k(a[this.settings.valueField]);return void 0!==b&&null!==b&&!this.options.hasOwnProperty(b)&&(a.$order=a.$order||++this.order,this.options[b]=a,b)},registerOptionGroup:function(a){var b=k(a[this.settings.optgroupValueField]);return!!b&&(a.$order=a.$order||++this.order,this.optgroups[b]=a,b)},addOptionGroup:function(a,b){b[this.settings.optgroupValueField]=a,(a=this.registerOptionGroup(b))&&this.trigger("optgroup_add",a,b)},removeOptionGroup:function(a){this.optgroups.hasOwnProperty(a)&&(delete this.optgroups[a],this.renderCache={},this.trigger("optgroup_remove",a))},clearOptionGroups:function(){this.optgroups={},this.renderCache={},this.trigger("optgroup_clear")},updateOption:function(b,c){var d,e,f,g,h,i,j,l=this;if(b=k(b),f=k(c[l.settings.valueField]),null!==b&&l.options.hasOwnProperty(b)){if("string"!=typeof f)throw new Error("Value must be set in option data");j=l.options[b].$order,f!==b&&(delete l.options[b],-1!==(g=l.items.indexOf(b))&&l.items.splice(g,1,f)),c.$order=c.$order||j,l.options[f]=c,h=l.renderCache.item,i=l.renderCache.option,h&&(delete h[b],delete h[f]),i&&(delete i[b],delete i[f]),-1!==l.items.indexOf(f)&&(d=l.getItem(b),e=a(l.render("item",c)),d.hasClass("active")&&e.addClass("active"),d.replaceWith(e)),l.lastQuery=null,l.isOpen&&l.refreshOptions(!1)}},removeOption:function(a,b){var c=this;a=k(a);var d=c.renderCache.item,e=c.renderCache.option;d&&delete d[a],e&&delete e[a],delete c.userOptions[a],delete c.options[a],c.lastQuery=null,c.trigger("option_remove",a),c.removeItem(a,b)},clearOptions:function(){var b=this;b.loadedSearches={},b.userOptions={},b.renderCache={};var c=b.options;a.each(b.options,function(a,d){-1==b.items.indexOf(a)&&delete c[a]}),b.options=b.sifter.items=c,b.lastQuery=null,b.trigger("option_clear")},getOption:function(a){return this.getElementWithValue(a,this.$dropdown_content.find("[data-selectable]"))},getAdjacentOption:function(b,c){var d=this.$dropdown.find("[data-selectable]"),e=d.index(b)+c;return e>=0&&e<d.length?d.eq(e):a()},getElementWithValue:function(b,c){if(void 0!==(b=k(b))&&null!==b)for(var d=0,e=c.length;d<e;d++)if(c[d].getAttribute("data-value")===b)return a(c[d]);return a()},getItem:function(a){return this.getElementWithValue(a,this.$control.children())},addItems:function(b,c){this.buffer=document.createDocumentFragment();for(var d=this.$control[0].childNodes,e=0;e<d.length;e++)this.buffer.appendChild(d[e]);for(var f=a.isArray(b)?b:[b],e=0,g=f.length;e<g;e++)this.isPending=e<g-1,this.addItem(f[e],c);var h=this.$control[0];h.insertBefore(this.buffer,h.firstChild),this.buffer=null},addItem:function(b,c){p(this,c?[]:["change"],function(){var d,e,f,g,h,i=this,j=i.settings.mode;if(b=k(b),-1!==i.items.indexOf(b))return void("single"===j&&i.close());i.options.hasOwnProperty(b)&&("single"===j&&i.clear(c),"multi"===j&&i.isFull()||(d=a(i.render("item",i.options[b])),h=i.isFull(),i.items.splice(i.caretPos,0,b),i.insertAtCaret(d
vendor: 15,627 bytes, lines 27-28
27),(!i.isPending||!h&&i.isFull())&&i.refreshState(),i.isSetup&&(f=i.$dropdown_content.find("[data-selectable]"),i.isPending||(e=i.getOption(b),g=i.getAdjacentOption(e,1).attr("data-value"),i.refreshOptions(i.isFocused&&"single"!==j),g&&i.setActiveOption(i.getOption(g))),!f.length||i.isFull()?i.close():i.isPending||i.positionDropdown(),i.updatePlaceholder(),i.trigger("item_add",b,d),i.isPending||i.updateOriginalInput({silent:c}))))})},removeItem:function(b,c){var d,e,f,g=this;d=b instanceof a?b:g.getItem(b),b=k(d.attr("data-value")),-1!==(e=g.items.indexOf(b))&&(d.remove(),d.hasClass("active")&&(f=g.$activeItems.indexOf(d[0]),g.$activeItems.splice(f,1)),g.items.splice(e,1),g.lastQuery=null,!g.settings.persist&&g.userOptions.hasOwnProperty(b)&&g.removeOption(b,c),e<g.caretPos&&g.setCaret(g.caretPos-1),g.refreshState(),g.updatePlaceholder(),g.updateOriginalInput({silent:c}),g.positionDropdown(),g.trigger("item_remove",b,d))},createItem:function(b,c){var d=this,e=d.caretPos;b=b||a.trim(d.$control_input.val()||"");var f=arguments[arguments.length-1];if("function"!=typeof f&&(f=function(){}),"boolean"!=typeof c&&(c=!0),!d.canCreate(b))return f(),!1;d.lock();var g="function"==typeof d.settings.create?this.settings.create:function(a){var b={};return b[d.settings.labelField]=a,b[d.settings.valueField]=a,b},h=n(function(a){if(d.unlock(),!a||"object"!=typeof a)return f();var b=k(a[d.settings.valueField]);if("string"!=typeof b)return f();d.setTextboxValue(""),d.addOption(a),d.setCaret(e),d.addItem(b),d.refreshOptions(c&&"single"!==d.settings.mode),f(a)}),i=g.apply(this,[b,h]);return void 0!==i&&h(i),!0},refreshItems:function(){this.lastQuery=null,this.isSetup&&this.addItem(this.items),this.refreshState(),this.updateOriginalInput()},refreshState:function(){this.refreshValidityState(),this.refreshClasses()},refreshValidityState:function(){if(!this.isRequired)return!1;var a=!this.items.length;this.isInvalid=a,this.$control_input.prop("required",a),this.$input.prop("required",!a)},refreshClasses:function(){var b=this,c=b.isFull(),d=b.isLocked;b.$wrapper.toggleClass("rtl",b.rtl),b.$control.toggleClass("focus",b.isFocused).toggleClass("disabled",b.isDisabled).toggleClass("required",b.isRequired).toggleClass("invalid",b.isInvalid).toggleClass("locked",d).toggleClass("full",c).toggleClass("not-full",!c).toggleClass("input-active",b.isFocused&&!b.isInputHidden).toggleClass("dropdown-active",b.isOpen).toggleClass("has-options",!a.isEmptyObject(b.options)).toggleClass("has-items",b.items.length>0),b.$control_input.data("grow",!c&&!d)},isFull:function(){
28return null!==this.settings.maxItems&&this.items.length>=this.settings.maxItems},updateOriginalInput:function(a){var b,c,d,e,f=this;if(a=a||{},1===f.tagType){for(d=[],b=0,c=f.items.length;b<c;b++)e=f.options[f.items[b]][f.settings.labelField]||"",d.push('<option value="'+l(f.items[b])+'" selected="selected">'+l(e)+"</option>");d.length||this.$input.attr("multiple")||d.push('<option value="" selected="selected"></option>'),f.$input.html(d.join(""))}else f.$input.val(f.getValue()),f.$input.attr("value",f.$input.val());f.isSetup&&(a.silent||f.trigger("change",f.$input.val()))},updatePlaceholder:function(){if(this.settings.placeholder){var a=this.$control_input;this.items.length?a.removeAttr("placeholder"):a.attr("placeholder",this.settings.placeholder),a.triggerHandler("update",{force:!0})}},open:function(){var a=this;a.isLocked||a.isOpen||"multi"===a.settings.mode&&a.isFull()||(a.focus(),a.isOpen=!0,a.refreshState(),a.$dropdown.css({visibility:"hidden",display:"block"}),a.positionDropdown(),a.$dropdown.css({visibility:"visible"}),a.trigger("dropdown_open",a.$dropdown))},close:function(){var a=this,b=a.isOpen;"single"===a.settings.mode&&a.items.length&&(a.hideInput(),a.isBlurring||a.$control_input.blur()),a.isOpen=!1,a.$dropdown.hide(),a.setActiveOption(null),a.refreshState(),b&&a.trigger("dropdown_close",a.$dropdown)},positionDropdown:function(){var a=this.$control,b="body"===this.settings.dropdownParent?a.offset():a.position();b.top+=a.outerHeight(!0),this.$dropdown.css({width:a[0].getBoundingClientRect().width,top:b.top,left:b.left})},clear:function(a){var b=this;b.items.length&&(b.$control.children(":not(input)").remove(),b.items=[],b.lastQuery=null,b.setCaret(0),b.setActiveItem(null),b.updatePlaceholder(),b.updateOriginalInput({silent:a}),b.refreshState(),b.showInput(),b.trigger("clear"))},insertAtCaret:function(a){var b=Math.min(this.caretPos,this.items.length),c=a[0],d=this.buffer||this.$control[0];0===b?d.insertBefore(c,d.firstChild):d.insertBefore(c,d.childNodes[b]),this.setCaret(b+1)},deleteSelection:function(b){var c,d,e,f,g,h,i,j,k,l=this;if(e=b&&8===b.keyCode?-1:1,f=r(l.$control_input[0]),l.$activeOption&&!l.settings.hideSelected&&(i=l.getAdjacentOption(l.$activeOption,-1).attr("data-value")),g=[],l.$activeItems.length){for(k=l.$control.children(".active:"+(e>0?"last":"first")),h=l.$control.children(":not(input)").index(k),e>0&&h++,c=0,d=l.$activeItems.length;c<d;c++)g.push(a(l.$activeItems[c]).attr("data-value"));b&&(b.preventDefault(),b.stopPropagation())}else(l.isFocused||"single"===l.settings.mode)&&l.items.length&&(e<0&&0===f.start&&0===f.length?g.push(l.items[l.caretPos-1]):e>0&&f.start===l.$control_input.val().length&&g.push(l.items[l.caretPos]));if(!g.length||"function"==typeof l.settings.onDelete&&!1===l.settings.onDelete.apply(l,[g]))return!1;for(void 0!==h&&l.setCaret(h);g.length;)l.removeItem(g.pop());return l.showInput(),l.positionDropdown(),l.refreshOptions(!0),i&&(j=l.getOption(i),j.length&&l.setActiveOption(j)),!0},advanceSelection:function(a,b){var c,d,e,f,g,h=this;0!==a&&(h.rtl&&(a*=-1),c=a>0?"last":"first",d=r(h.$control_input[0]),h.isFocused&&!h.isInputHidden?(f=h.$control_input.val().length,(a<0?0===d.start&&0===d.length:d.start===f)&&!f&&h.advanceCaret(a,b)):(g=h.$control.children(".active:"+c),g.length&&(e=h.$control.children(":not(input)").index(g),h.setActiveItem(null),h.setCaret(a>0?e+1:e))))},advanceCaret:function(a,b){var c,d,e=this;0!==a&&(c=a>0?"next":"prev",e.isShiftDown?(d=e.$control_input[c](),d.length&&(e.hideInput(),e.setActiveItem(d),b&&b.preventDefault())):e.setCaret(e.caretPos+a))},setCaret:function(b){var c=this;if(b="single"===c.settings.mode?c.items.length:Math.max(0,Math.min(c.items.length,b)),!c.isPending){var d,e,f,g;for(f=c.$control.children(":not(input)"),d=0,e=f.length;d<e;d++)g=a(f[d]).detach(),d<b?c.$control_input.before(g):c.$control.append(g)}c.caretPos=b},lock:function(){this.close(),this.isLocked=!0,this.refreshState()},unlock:function(){this.isLocked=!1,this.refreshState()},disable:function(){var a=this;a.$input.prop("disabled",!0),a.$control_input.prop("disabled",!0).prop("tabindex",-1),a.isDisabled=!0,a.lock()},enable:function(){var a=this;a.$input.prop("disabled",!1),a.$control_input.prop("disabled",!1).prop("tabindex",a.tabIndex),a.isDisabled=!1,a.unlock()},destroy:function(){var b=this,c=b.eventNS,d=b.revertSettings;b.trigger("destroy"),b.off(),b.$wrapper.remove(),b.$dropdown.remove(),b.$input.html("").append(d.$children).removeAttr("tabindex").removeClass("selectized").attr({tabindex:d.tabindex}).show(),b.$control_input.removeData("grow"),b.$input.removeData("selectize"),0==--w.count&&w.$testInput&&(w.$testInput.remove(),w.$testInput=void 0),a(window).off(c),a(document).off(c),a(document.body).off(c),delete b.$input[0].selectize},render:function(b,c){var d,e,f="",g=!1,h=this;return"option"!==b&&"item"!==b||(d=k(c[h.settings.valueField]),g=!!d),g&&(j(h.renderCache[b])||(h.renderCache[b]={}),h.renderCache[b].hasOwnProperty(d))?h.renderCache[b][d]:(f=a(h.settings.render[b].apply(this,[c,l])),"option"===b||"option_create"===b?c[h.settings.disabledField]||f.attr("data-selectable",""):"optgroup"===b&&(e=c[h.settings.optgroupValueField]||"",f.attr("data-group",e),c[h.settings.disabledField]&&f.attr("data-disabled","")),"option"!==b&&"item"!==b||f.attr("data-value",d||""),g&&(h.renderCache[b][d]=f[0]),f[0])},clearCache:function(a){var b=this;void 0===a?b.renderCache={}:delete b.renderCache[a]},canCreate:function(a){var b=this;if(!b.settings.create)return!1;var c=b.settings.createFilter;return a.length&&("function"!=typeof c||c.apply(b,[a]))&&("string"!=typeof c||new RegExp(c).test(a))&&(!(c instanceof RegExp)||c.test(a))}}),w.count=0,w.defaults={options:[],optgroups:[],plugins:[],delimiter:",",splitOn:null,persist:!0,diacritics:!0,create:!1,createOnBlur:!1,createFilter:null,highlight:!0,openOnFocus:!0,maxOptions:1e3,maxItems:null,hideSelected:null,addPrecedence:!1,selectOnTab:!1,preload:!1,allowEmptyOption:!1,closeAfterSelect:!1,scrollDuration:60,loadThrottle:300,loadingClass:"loading",dataAttr:"data-data",optgroupField:"optgroup",valueField:"value",labelField:"text",disabledField:"disabled",optgroupLabelField:"label",optgroupValueField:"value",lockOptgroupOrder:!1,sortField:"$order",searchField:["text"],searchConjunction:"and",mode:null,wrapperClass:"selectize-control",inputClass:"selectize-input",dropdownClass:"selectize-dropdown",dropdownContentClass:"selectize-dropdown-content",dropdownParent:null,copyClassesToDropdown:!0,render:{}},a.fn.selectize=function(b){var c=a.fn.selectize.defaults,d=a.extend({},c,b),e=d.dataAttr,f=d.labelField,g=d.valueField,h=d.disabledField,i=d.optgroupField,j=d.optgroupLabelField,l=d.optgroupValueField,m=function(b,c){var h,i,j,k,l=b.attr(e);if(l)for(c.options=JSON.parse(l),h=0,i=c.options.length;h<i;h++)c.items.push(c.options[h][g]);else{var m=a.trim(b.val()||"");if(!d.allowEmptyOption&&!m.length)return;for(j=m.split(d.delimiter),h=0,i=j.length;h<i;h++)k={},k[f]=j[h],k[g]=j[h],c.options.push(k);c.items=j}},n=function(b,c){var m,n,o,p,q=c.options,r={},s=function(a){var b=e&&a.attr(e);return"string"==typeof b&&b.length?JSON.parse(b):null},t=function(b,e){b=a(b);var j=k(b.val());if(j||d.allowEmptyOption)if(r.hasOwnProperty(j)){if(e){var l=r[j][i];l?a.isArray(l)?l.push(e):r[j][i]=[l,e]:r[j][i]=e}}else{var m=s(b)||{};m[f]=m[f]||b.text(),m[g]=m[g]||j,m[h]=m[h]||b.prop("disabled"),m[i]=m[i]||e,r[j]=m,q.push(m),b.is(":selected")&&c.items.push(j)}};for(c.maxItems=b.attr("multiple")?null:1,p=b.children(),m=0,n=p.length;m<n;m++)o=p[m].tagName.toLowerCase(),"optgroup"===o?function(b){var d,e,f,g,i;for(b=a(b),f=b.attr("label"),f&&(g=s(b)||{},g[j]=f,g[l]=f,g[h]=b.prop("disabled"),c.optgroups.push(g)),i=a("option",b),d=0,e=i.length;d<e;d++)t(i[d],f)}(p[m]):"option"===o&&t(p[m])};return this.each(function(){if(!this.selectize){var e=a(this),f=this.tagName.toLowerCase(),g=e.attr("placeholder")||e.attr("data-placeholder");g||d.allowEmptyOption||(g=e.children('option[value=""]').text());var h={placeholder:g,options:[],optgroups:[],items:[]};"select"===f?n(e,h):m(e,h),new w(e,a.extend(!0,{},c,h,b))}})},a.fn.selectize.defaults=w.defaults,a.fn.selectize.support={validity:i},w.define("drag_drop",function(b){if(!a.fn.sortable)throw new Error('The "drag_drop" plugin requires jQuery UI "sortable".');if("multi"===this.settings.mode){var c=this;c.lock=function(){var a=c.lock;return function(){var b=c.$control.data("sortable");return b&&b.disable(),a.apply(c,arguments)}}(),c.unlock=function(){var a=c.unlock;return function(){var b=c.$control.data("sortable");return b&&b.enable(),a.apply(c,arguments)}}(),c.setup=function(){var b=c.setup;return function(){b.apply(this,arguments);var d=c.$control.sortable({items:"[data-value]",forcePlaceholderSize:!0,disabled:c.isLocked,start:function(a,b){b.placeholder.css("width",b.helper.css("width")),d.css({overflow:"visible"})},stop:function(){d.css({overflow:"hidden"});var b=c.$activeItems?c.$activeItems.slice():null,e=[];d.children("[data-value]").each(function(){e.push(a(this).attr("data-value"))}),c.setValue(e),c.setActiveItem(b)}})}}()}}),w.define("dropdown_header",function(b){var c=this;b=a.extend({title:"Untitled",headerClass:"selectize-dropdown-header",titleRowClass:"selectize-dropdown-header-title",labelClass:"selectize-dropdown-header-label",closeClass:"selectize-dropdown-header-close",html:function(a){return'<div class="'+a.headerClass+'"><div class="'+a.titleRowClass+'"><span class="'+a.labelClass+'">'+a.title+'</span><a href="javascript:void(0)" class="'+a.closeClass+'">&times;</a></div></div>'}},b),c.setup=function(){var d=c.setup;return function(){d.apply(c,arguments),c.$dropdown_header=a(b.html(b)),c.$dropdown.prepend(c.$dropdown_header)}}()}),w.define("optgroup_columns",function(b){var c=this;b=a.extend({equalizeWidth:!0,equalizeHeight:!0},b),this.getAdjacentOption=function(b,c){var d=b.closest("[data-group]").find("[data-selectable]"),e=d.index(b)+c;return e>=0&&e<d.length?d.eq(e):a()},this.onKeyDown=function(){var a=c.onKeyDown;return function(b){var d,e,f,g;return!this.isOpen||37!==b.keyCode&&39!==b.keyCode?a.apply(this,arguments):(c.ignoreHover=!0,g=this.$activeOption.closest("[data-group]"),d=g.find("[data-selectable]").index(this.$activeOption),g=37===b.keyCode?g.prev("[data-group]"):g.next("[data-group]"),f=g.find("[data-selectable]"),e=f.eq(Math.min(f.length-1,d)),void(e.length&&this.setActiveOption(e)))}}();var d=function(){var a,b=d.width,c=document;return void 0===b&&(a=c.createElement("div"),a.innerHTML='<div style="width:50px;height:50px;position:absolute;left:-50px;top:-50px;overflow:auto;"><div style="width:1px;height:100px;"></div></div>',a=a.firstChild,c.body.appendChild(a),b=d.width=a.offsetWidth-a.clientWidth,c.body.removeChild(a)),b},e=function(){var e,f,g,h,i,j,k;if(k=a("[data-group]",c.$dropdown_content),(f=k.length)&&c.$dropdown_content.width()){if(b.equalizeHeight){for(g=0,e=0;e<f;e++)g=Math.max(g,k.eq(e).height());k.css({height:g})}b.equalizeWidth&&(j=c.$dropdown_content.innerWidth()-d(),h=Math.round(j/f),k.css({width:h}),f>1&&(i=j-h*(f-1),k.eq(f-1).css({width:i})))}};(b.equalizeHeight||b.equalizeWidth)&&(m.after(this,"positionDropdown",e),m.after(this,"refreshOptions",e))}),w.define("remove_button",function(b){b=a.extend({label:"&times;",title:"Remove",className:"remove",append:!0},b);if("single"===this.settings.mode)return void function(b,c){c.className="remove-single";var d=b,e='<a href="javascript:void(0)" class="'+c.className+'" tabindex="-1" title="'+l(c.title)+'">'+c.label+"</a>",f=function(b,c){return a("<span>").append(b).append(c)};b.setup=function(){var g=d.setup;return function(){if(c.append){var h=a(d.$input.context).attr("id"),i=(a("#"+h),d.settings.render.item);d.settings.render.item=function(a){return f(i.apply(b,arguments),e)}}g.apply(b,arguments),b.$control.on("click","."+c.className,function(a){a.preventDefault(),d.isLocked||d.clear()})}}()}(this,b);!function(b,c){var d=b,e='<a href="javascript:void(0)" class="'+c.className+'" tabindex="-1" title="'+l(c.title)+'">'+c.label+"</a>",f=function(a,b){var c=a.search(/(<\/[^>]+>\s*)$/);return a.substring(0,c)+b+a.substring(c)};b.setup=function(){var g=d.setup;return function(){if(c.append){var h=d.settings.render.item;d.settings.render.item=function(a){return f(h.apply(b,arguments),e)}}g.apply(b,arguments),b.$control.on("click","."+c.className,function(b){if(b.preventDefault(),!d.isLocked){var c=a(b.currentTarget).parent();d.setActiveItem(c),d.deleteSelection()&&d.setCaret(d.items.length)}})}}()}(this,b)}),w.define("restore_on_backspace",function(a){var b=this;a.text=a.text||function(a){return a[this.settings.labelField]},this.onKeyDown=function(){var c=b.onKeyDown;return function(b){var d,e;return 8===b.keyCode&&""===this.$control_input.val()&&!this.$activeItems.length&&(d=this.caretPos-1)>=0&&d<this.items.length?(e=this.options[this.items[d]],this.deleteSelection(b)&&(this.setTextboxValue(a.text.apply(this,[e])),this.refreshOptions(!0)),void b.preventDefault()):c.apply(this,arguments)}}()}),w});
28Selectize.define("disable_options",function(t){var e,n=this;t=$.extend({disableOptions:[]},t),n.onFocus=(e=n.onFocus,function(){e.apply(this,arguments),$.each(t.disableOptions,function(t,e){n.$dropdown_content.find('[data-value="'+String(e)+'"]').addClass("option-disabled").removeAttr('data-selectable')})}),n.onOptionSelect=function(){var t=n.onOptionSelect;return function(e){var a,i;if(e.preventDefault&&(e.preventDefault(),e.stopPropagation()),!(i=$(e.currentTarget)).hasClass("option-disabled"))return i.hasClass("create")?n.createItem():((a=i.attr("data-value"))&&(n.lastQuery=null,n.setTextboxValue(""),n.addItem(a),!n.settings.hideSelected&&e.type&&/mouse/.test(e.type)&&n.setActiveOption(n.getOption(a))),n.blur()),t.apply(this,arguments)}}()});
29// Sticky Plugin v1.0.4 for jQuery
30// =============
31// Author: Anthony Garand
32// Improvements by German M. Bravo (Kronuz) and Ruud Kamphuis (ruudk)
33// Improvements by Leonardo C. Daronco (daronco)
34// Created: 02/14/2011
35// Date: 07/20/2015
36// Website: http://stickyjs.com/
37// Description: Makes an element on the page stick on the screen as you scroll
38//              It will only set the 'top' and 'position' of your element, you
39//              might need to adjust the width in some cases.
40
41(function (factory) {
42    if (typeof define === 'function' && define.amd) {
43        // AMD. Register as an anonymous module.
44        define(['jquery'], factory);
45    } else if (typeof module === 'object' && module.exports) {
46        // Node/CommonJS
47        module.exports = factory(require('jquery'));
48    } else {
49        // Browser globals
50        factory(jQuery);
51    }
52}(function ($) {
53    var slice = Array.prototype.slice; // save ref to original slice()
54    var splice = Array.prototype.splice; // save ref to original slice()
55
56  var defaults = {
57      topSpacing: 0,
58      bottomSpacing: 0,
59      className: 'is-sticky',
60      wrapperClassName: 'sticky-wrapper',
61      center: false,
62      getWidthFrom: '',
63      widthFromWrapper: true, // works only when .getWidthFrom is empty
64      responsiveWidth: false,
65      zIndex: 'inherit'
66    },
67    $window = $(window),
68    $document = $(document),
69    sticked = [],
70    windowHeight = $window.height(),
71    scroller = function() {
72      var scrollTop = $window.scrollTop(),
73        documentHeight = $document.height(),
74        dwh = documentHeight - windowHeight,
75        extra = (scrollTop > dwh) ? dwh - scrollTop : 0;
76
77      for (var i = 0, l = sticked.length; i < l; i++) {
78        var s = sticked[i],
79          elementTop = s.stickyWrapper.offset().top,
80          etse = elementTop - s.topSpacing - extra;
81
82        //update height in case of dynamic content
83        s.stickyWrapper.css('height', s.stickyElement.outerHeight());
84
85        if (scrollTop <= etse) {
86          if (s.currentTop !== null) {
87            s.stickyElement
88              .css({
89                'width': '',
90                'position': '',
91                'top': '',
92                'z-index': ''
93              });
94            s.stickyElement.parent().removeClass(s.className);
95            s.stickyElement.trigger('sticky-end', [s]);
96            s.currentTop = null;
97          }
98        }
99        else {
100          var newTop = documentHeight - s.stickyElement.outerHeight()
101            - s.topSpacing - s.bottomSpacing - scrollTop - extra;
102          if (newTop < 0) {
103            newTop = newTop + s.topSpacing;
104          } else {
105            newTop = s.topSpacing;
106          }
107          if (s.currentTop !== newTop) {
108            var newWidth;
109            if (s.getWidthFrom) {
110                padding =  s.stickyElement.innerWidth() - s.stickyElement.width();
111                newWidth = $(s.getWidthFrom).width() - padding || null;
112            } else if (s.widthFromWrapper) {
113                newWidth = s.stickyWrapper.width();
114            }
115            if (newWidth == null) {
116                newWidth = s.stickyElement.width();
117            }
118            s.stickyElement
119              .css('width', newWidth)
120              .css('position', 'fixed')
121              .css('top', newTop)
122              .css('z-index', s.zIndex);
123
124            s.stickyElement.parent().addClass(s.className);
125
126            if (s.currentTop === null) {
127              s.stickyElement.trigger('sticky-start', [s]);
128            } else {
129              // sticky is started but it have to be repositioned
130              s.stickyElement.trigger('sticky-update', [s]);
131            }
132
133            if (s.currentTop === s.topSpacing && s.currentTop > newTop || s.currentTop === null && newTop < s.topSpacing) {
134              // just reached bottom || just started to stick but bottom is already reached
135              s.stickyElement.trigger('sticky-bottom-reached', [s]);
136            } else if(s.currentTop !== null && newTop === s.topSpacing && s.currentTop < newTop) {
137              // sticky is started && sticked at topSpacing && overflowing from top just finished
138              s.stickyElement.trigger('sticky-bottom-unreached', [s]);
139            }
140
141            s.currentTop = newTop;
142          }
143
144          // Check if sticky has reached end of container and stop sticking
145          var stickyWrapperContainer = s.stickyWrapper.parent();
146          var unstick = (s.stickyElement.offset().top + s.stickyElement.outerHeight() >= stickyWrapperContainer.offset().top + stickyWrapperContainer.outerHeight()) && (s.stickyElement.offset().top <= s.topSpacing);
147
148          if( unstick ) {
149            s.stickyElement
150              .css('position', 'absolute')
151              .css('top', '')
152              .css('bottom', 0)
153              .css('z-index', '');
154          } else {
155            s.stickyElement
156              .css('position', 'fixed')
157              .css('top', newTop)
158              .css('bottom', '')
159              .css('z-index', s.zIndex);
160          }
161        }
162      }
163    },
164    resizer = function() {
165      windowHeight = $window.height();
166
167      for (var i = 0, l = sticked.length; i < l; i++) {
168        var s = sticked[i];
169        var newWidth = null;
170        if (s.getWidthFrom) {
171            if (s.responsiveWidth) {
172                newWidth = $(s.getWidthFrom).width();
173            }
174        } else if(s.widthFromWrapper) {
175            newWidth = s.stickyWrapper.width();
176        }
177        if (newWidth != null) {
178            s.stickyElement.css('width', newWidth);
179        }
180      }
181    },
182    methods = {
183      init: function(options) {
184        return this.each(function() {
185          var o = $.extend({}, defaults, options);
186          var stickyElement = $(this);
187
188          var stickyId = stickyElement.attr('id');
189          var wrapperId = stickyId ? stickyId + '-' + defaults.wrapperClassName : defaults.wrapperClassName;
vendor: 4,146 bytes, lines 190-316
190          var wrapper = $('<div></div>')
191            .attr('id', wrapperId)
192            .addClass(o.wrapperClassName);
193
194          stickyElement.wrapAll(function() {
195            if ($(this).parent("#" + wrapperId).length == 0) {
196                    return wrapper;
197            }
198});
199
200          var stickyWrapper = stickyElement.parent();
201
202          if (o.center) {
203            stickyWrapper.css({width:stickyElement.outerWidth(),marginLeft:"auto",marginRight:"auto"});
204          }
205
206          if (stickyElement.css("float") === "right") {
207            stickyElement.css({"float":"none"}).parent().css({"float":"right"});
208          }
209
210          o.stickyElement = stickyElement;
211          o.stickyWrapper = stickyWrapper;
212          o.currentTop    = null;
213
214          sticked.push(o);
215
216          methods.setWrapperHeight(this);
217          methods.setupChangeListeners(this);
218        });
219      },
220
221      setWrapperHeight: function(stickyElement) {
222        var element = $(stickyElement);
223        var stickyWrapper = element.parent();
224        if (stickyWrapper) {
225          stickyWrapper.css('height', element.outerHeight());
226        }
227      },
228
229      setupChangeListeners: function(stickyElement) {
230        if (window.MutationObserver) {
231          var mutationObserver = new window.MutationObserver(function(mutations) {
232            if (mutations[0].addedNodes.length || mutations[0].removedNodes.length) {
233              methods.setWrapperHeight(stickyElement);
234            }
235          });
236          mutationObserver.observe(stickyElement, {subtree: true, childList: true});
237        } else {
238          if (window.addEventListener) {
239            stickyElement.addEventListener('DOMNodeInserted', function() {
240              methods.setWrapperHeight(stickyElement);
241            }, false);
242            stickyElement.addEventListener('DOMNodeRemoved', function() {
243              methods.setWrapperHeight(stickyElement);
244            }, false);
245          } else if (window.attachEvent) {
246            stickyElement.attachEvent('onDOMNodeInserted', function() {
247              methods.setWrapperHeight(stickyElement);
248            });
249            stickyElement.attachEvent('onDOMNodeRemoved', function() {
250              methods.setWrapperHeight(stickyElement);
251            });
252          }
253        }
254      },
255      update: scroller,
256      unstick: function(options) {
257        return this.each(function() {
258          var that = this;
259          var unstickyElement = $(that);
260
261          var removeIdx = -1;
262          var i = sticked.length;
263          while (i-- > 0) {
264            if (sticked[i].stickyElement.get(0) === that) {
265                splice.call(sticked,i,1);
266                removeIdx = i;
267            }
268          }
269          if(removeIdx !== -1) {
270            unstickyElement.unwrap();
271            unstickyElement
272              .css({
273                'width': '',
274                'position': '',
275                'top': '',
276                'float': '',
277                'z-index': ''
278              })
279            ;
280          }
281        });
282      }
283    };
284
285  // should be more efficient than using $window.scroll(scroller) and $window.resize(resizer):
286  if (window.addEventListener) {
287    window.addEventListener('scroll', scroller, false);
288    window.addEventListener('resize', resizer, false);
289  } else if (window.attachEvent) {
290    window.attachEvent('onscroll', scroller);
291    window.attachEvent('onresize', resizer);
292  }
293
294  $.fn.sticky = function(method) {
295    if (methods[method]) {
296      return methods[method].apply(this, slice.call(arguments, 1));
297    } else if (typeof method === 'object' || !method ) {
298      return methods.init.apply( this, arguments );
299    } else {
300      $.error('Method ' + method + ' does not exist on jQuery.sticky');
301    }
302  };
303
304  $.fn.unstick = function(method) {
305    if (methods[method]) {
306      return methods[method].apply(this, slice.call(arguments, 1));
307    } else if (typeof method === 'object' || !method ) {
308      return methods.unstick.apply( this, arguments );
309    } else {
310      $.error('Method ' + method + ' does not exist on jQuery.sticky');
311    }
312  };
313  $(function() {
314    setTimeout(scroller, 0);
315  });
316}));
vendor: 52,920 bytes, lines 317-1865
317
318//     Underscore.js 1.8.3
319//     http://underscorejs.org
320//     (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
321//     Underscore may be freely distributed under the MIT license.
322
323(function() {
324
325  // Baseline setup
326  // --------------
327
328  // Establish the root object, `window` in the browser, or `exports` on the server.
329  var root = this;
330
331  // Save the previous value of the `_` variable.
332  var previousUnderscore = root._;
333
334  // Save bytes in the minified (but not gzipped) version:
335  var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;
336
337  // Create quick reference variables for speed access to core prototypes.
338  var
339    push             = ArrayProto.push,
340    slice            = ArrayProto.slice,
341    toString         = ObjProto.toString,
342    hasOwnProperty   = ObjProto.hasOwnProperty;
343
344  // All **ECMAScript 5** native function implementations that we hope to use
345  // are declared here.
346  var
347    nativeIsArray      = Array.isArray,
348    nativeKeys         = Object.keys,
349    nativeBind         = FuncProto.bind,
350    nativeCreate       = Object.create;
351
352  // Naked function reference for surrogate-prototype-swapping.
353  var Ctor = function(){};
354
355  // Create a safe reference to the Underscore object for use below.
356  var _ = function(obj) {
357    if (obj instanceof _) return obj;
358    if (!(this instanceof _)) return new _(obj);
359    this._wrapped = obj;
360  };
361
362  // Export the Underscore object for **Node.js**, with
363  // backwards-compatibility for the old `require()` API. If we're in
364  // the browser, add `_` as a global object.
365  if (typeof exports !== 'undefined') {
366    if (typeof module !== 'undefined' && module.exports) {
367      exports = module.exports = _;
368    }
369    exports._ = _;
370  } else {
371    root._ = _;
372  }
373
374  // Current version.
375  _.VERSION = '1.8.3';
376
377  // Internal function that returns an efficient (for current engines) version
378  // of the passed-in callback, to be repeatedly applied in other Underscore
379  // functions.
380  var optimizeCb = function(func, context, argCount) {
381    if (context === void 0) return func;
382    switch (argCount == null ? 3 : argCount) {
383      case 1: return function(value) {
384        return func.call(context, value);
385      };
386      case 2: return function(value, other) {
387        return func.call(context, value, other);
388      };
389      case 3: return function(value, index, collection) {
390        return func.call(context, value, index, collection);
391      };
392      case 4: return function(accumulator, value, index, collection) {
393        return func.call(context, accumulator, value, index, collection);
394      };
395    }
396    return function() {
397      return func.apply(context, arguments);
398    };
399  };
400
401  // A mostly-internal function to generate callbacks that can be applied
402  // to each element in a collection, returning the desired result — either
403  // identity, an arbitrary callback, a property matcher, or a property accessor.
404  var cb = function(value, context, argCount) {
405    if (value == null) return _.identity;
406    if (_.isFunction(value)) return optimizeCb(value, context, argCount);
407    if (_.isObject(value)) return _.matcher(value);
408    return _.property(value);
409  };
410  _.iteratee = function(value, context) {
411    return cb(value, context, Infinity);
412  };
413
414  // An internal function for creating assigner functions.
415  var createAssigner = function(keysFunc, undefinedOnly) {
416    return function(obj) {
417      var length = arguments.length;
418      if (length < 2 || obj == null) return obj;
419      for (var index = 1; index < length; index++) {
420        var source = arguments[index],
421            keys = keysFunc(source),
422            l = keys.length;
423        for (var i = 0; i < l; i++) {
424          var key = keys[i];
425          if (!undefinedOnly || obj[key] === void 0) obj[key] = source[key];
426        }
427      }
428      return obj;
429    };
430  };
431
432  // An internal function for creating a new object that inherits from another.
433  var baseCreate = function(prototype) {
434    if (!_.isObject(prototype)) return {};
435    if (nativeCreate) return nativeCreate(prototype);
436    Ctor.prototype = prototype;
437    var result = new Ctor;
438    Ctor.prototype = null;
439    return result;
440  };
441
442  var property = function(key) {
443    return function(obj) {
444      return obj == null ? void 0 : obj[key];
445    };
446  };
447
448  // Helper for collection methods to determine whether a collection
449  // should be iterated as an array or as an object
450  // Related: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength
451  // Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094
452  var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;
453  var getLength = property('length');
454  var isArrayLike = function(collection) {
455    var length = getLength(collection);
456    return typeof length == 'number' && length >= 0 && length <= MAX_ARRAY_INDEX;
457  };
458
459  // Collection Functions
460  // --------------------
461
462  // The cornerstone, an `each` implementation, aka `forEach`.
463  // Handles raw objects in addition to array-likes. Treats all
464  // sparse array-likes as if they were dense.
465  _.each = _.forEach = function(obj, iteratee, context) {
466    iteratee = optimizeCb(iteratee, context);
467    var i, length;
468    if (isArrayLike(obj)) {
469      for (i = 0, length = obj.length; i < length; i++) {
470        iteratee(obj[i], i, obj);
471      }
472    } else {
473      var keys = _.keys(obj);
474      for (i = 0, length = keys.length; i < length; i++) {
475        iteratee(obj[keys[i]], keys[i], obj);
476      }
477    }
478    return obj;
479  };
480
481  // Return the results of applying the iteratee to each element.
482  _.map = _.collect = function(obj, iteratee, context) {
483    iteratee = cb(iteratee, context);
484    var keys = !isArrayLike(obj) && _.keys(obj),
485        length = (keys || obj).length,
486        results = Array(length);
487    for (var index = 0; index < length; index++) {
488      var currentKey = keys ? keys[index] : index;
489      results[index] = iteratee(obj[currentKey], currentKey, obj);
490    }
491    return results;
492  };
493
494  // Create a reducing function iterating left or right.
495  function createReduce(dir) {
496    // Optimized iterator function as using arguments.length
497    // in the main function will deoptimize the, see #1991.
498    function iterator(obj, iteratee, memo, keys, index, length) {
499      for (; index >= 0 && index < length; index += dir) {
500        var currentKey = keys ? keys[index] : index;
501        memo = iteratee(memo, obj[currentKey], currentKey, obj);
502      }
503      return memo;
504    }
505
506    return function(obj, iteratee, memo, context) {
507      iteratee = optimizeCb(iteratee, context, 4);
508      var keys = !isArrayLike(obj) && _.keys(obj),
509          length = (keys || obj).length,
510          index = dir > 0 ? 0 : length - 1;
511      // Determine the initial value if none is provided.
512      if (arguments.length < 3) {
513        memo = obj[keys ? keys[index] : index];
514        index += dir;
515      }
516      return iterator(obj, iteratee, memo, keys, index, length);
517    };
518  }
519
520  // **Reduce** builds up a single result from a list of values, aka `inject`,
521  // or `foldl`.
522  _.reduce = _.foldl = _.inject = createReduce(1);
523
524  // The right-associative version of reduce, also known as `foldr`.
525  _.reduceRight = _.foldr = createReduce(-1);
526
527  // Return the first value which passes a truth test. Aliased as `detect`.
528  _.find = _.detect = function(obj, predicate, context) {
529    var key;
530    if (isArrayLike(obj)) {
531      key = _.findIndex(obj, predicate, context);
532    } else {
533      key = _.findKey(obj, predicate, context);
534    }
535    if (key !== void 0 && key !== -1) return obj[key];
536  };
537
538  // Return all the elements that pass a truth test.
539  // Aliased as `select`.
540  _.filter = _.select = function(obj, predicate, context) {
541    var results = [];
542    predicate = cb(predicate, context);
543    _.each(obj, function(value, index, list) {
544      if (predicate(value, index, list)) results.push(value);
545    });
546    return results;
547  };
548
549  // Return all the elements for which a truth test fails.
550  _.reject = function(obj, predicate, context) {
551    return _.filter(obj, _.negate(cb(predicate)), context);
552  };
553
554  // Determine whether all of the elements match a truth test.
555  // Aliased as `all`.
556  _.every = _.all = function(obj, predicate, context) {
557    predicate = cb(predicate, context);
558    var keys = !isArrayLike(obj) && _.keys(obj),
559        length = (keys || obj).length;
560    for (var index = 0; index < length; index++) {
561      var currentKey = keys ? keys[index] : index;
562      if (!predicate(obj[currentKey], currentKey, obj)) return false;
563    }
564    return true;
565  };
566
567  // Determine if at least one element in the object matches a truth test.
568  // Aliased as `any`.
569  _.some = _.any = function(obj, predicate, context) {
570    predicate = cb(predicate, context);
571    var keys = !isArrayLike(obj) && _.keys(obj),
572        length = (keys || obj).length;
573    for (var index = 0; index < length; index++) {
574      var currentKey = keys ? keys[index] : index;
575      if (predicate(obj[currentKey], currentKey, obj)) return true;
576    }
577    return false;
578  };
579
580  // Determine if the array or object contains a given item (using `===`).
581  // Aliased as `includes` and `include`.
582  _.contains = _.includes = _.include = function(obj, item, fromIndex, guard) {
583    if (!isArrayLike(obj)) obj = _.values(obj);
584    if (typeof fromIndex != 'number' || guard) fromIndex = 0;
585    return _.indexOf(obj, item, fromIndex) >= 0;
586  };
587
588  // Invoke a method (with arguments) on every item in a collection.
589  _.invoke = function(obj, method) {
590    var args = slice.call(arguments, 2);
591    var isFunc = _.isFunction(method);
592    return _.map(obj, function(value) {
593      var func = isFunc ? method : value[method];
594      return func == null ? func : func.apply(value, args);
595    });
596  };
597
598  // Convenience version of a common use case of `map`: fetching a property.
599  _.pluck = function(obj, key) {
600    return _.map(obj, _.property(key));
601  };
602
603  // Convenience version of a common use case of `filter`: selecting only objects
604  // containing specific `key:value` pairs.
605  _.where = function(obj, attrs) {
606    return _.filter(obj, _.matcher(attrs));
607  };
608
609  // Convenience version of a common use case of `find`: getting the first object
610  // containing specific `key:value` pairs.
611  _.findWhere = function(obj, attrs) {
612    return _.find(obj, _.matcher(attrs));
613  };
614
615  // Return the maximum element (or element-based computation).
616  _.max = function(obj, iteratee, context) {
617    var result = -Infinity, lastComputed = -Infinity,
618        value, computed;
619    if (iteratee == null && obj != null) {
620      obj = isArrayLike(obj) ? obj : _.values(obj);
621      for (var i = 0, length = obj.length; i < length; i++) {
622        value = obj[i];
623        if (value > result) {
624          result = value;
625        }
626      }
627    } else {
628      iteratee = cb(iteratee, context);
629      _.each(obj, function(value, index, list) {
630        computed = iteratee(value, index, list);
631        if (computed > lastComputed || computed === -Infinity && result === -Infinity) {
632          result = value;
633          lastComputed = computed;
634        }
635      });
636    }
637    return result;
638  };
639
640  // Return the minimum element (or element-based computation).
641  _.min = function(obj, iteratee, context) {
642    var result = Infinity, lastComputed = Infinity,
643        value, computed;
644    if (iteratee == null && obj != null) {
645      obj = isArrayLike(obj) ? obj : _.values(obj);
646      for (var i = 0, length = obj.length; i < length; i++) {
647        value = obj[i];
648        if (value < result) {
649          result = value;
650        }
651      }
652    } else {
653      iteratee = cb(iteratee, context);
654      _.each(obj, function(value, index, list) {
655        computed = iteratee(value, index, list);
656        if (computed < lastComputed || computed === Infinity && result === Infinity) {
657          result = value;
658          lastComputed = computed;
659        }
660      });
661    }
662    return result;
663  };
664
665  // Shuffle a collection, using the modern version of the
666  // [Fisher-Yates shuffle](http://en.wikipedia.org/wiki/Fisher–Yates_shuffle).
667  _.shuffle = function(obj) {
668    var set = isArrayLike(obj) ? obj : _.values(obj);
669    var length = set.length;
670    var shuffled = Array(length);
671    for (var index = 0, rand; index < length; index++) {
672      rand = _.random(0, index);
673      if (rand !== index) shuffled[index] = shuffled[rand];
674      shuffled[rand] = set[index];
675    }
676    return shuffled;
677  };
678
679  // Sample **n** random values from a collection.
680  // If **n** is not specified, returns a single random element.
681  // The internal `guard` argument allows it to work with `map`.
682  _.sample = function(obj, n, guard) {
683    if (n == null || guard) {
684      if (!isArrayLike(obj)) obj = _.values(obj);
685      return obj[_.random(obj.length - 1)];
686    }
687    return _.shuffle(obj).slice(0, Math.max(0, n));
688  };
689
690  // Sort the object's values by a criterion produced by an iteratee.
691  _.sortBy = function(obj, iteratee, context) {
692    iteratee = cb(iteratee, context);
693    return _.pluck(_.map(obj, function(value, index, list) {
694      return {
695        value: value,
696        index: index,
697        criteria: iteratee(value, index, list)
698      };
699    }).sort(function(left, right) {
700      var a = left.criteria;
701      var b = right.criteria;
702      if (a !== b) {
703        if (a > b || a === void 0) return 1;
704        if (a < b || b === void 0) return -1;
705      }
706      return left.index - right.index;
707    }), 'value');
708  };
709
710  // An internal function used for aggregate "group by" operations.
711  var group = function(behavior) {
712    return function(obj, iteratee, context) {
713      var result = {};
714      iteratee = cb(iteratee, context);
715      _.each(obj, function(value, index) {
716        var key = iteratee(value, index, obj);
717        behavior(result, value, key);
718      });
719      return result;
720    };
721  };
722
723  // Groups the object's values by a criterion. Pass either a string attribute
724  // to group by, or a function that returns the criterion.
725  _.groupBy = group(function(result, value, key) {
726    if (_.has(result, key)) result[key].push(value); else result[key] = [value];
727  });
728
729  // Indexes the object's values by a criterion, similar to `groupBy`, but for
730  // when you know that your index values will be unique.
731  _.indexBy = group(function(result, value, key) {
732    result[key] = value;
733  });
734
735  // Counts instances of an object that group by a certain criterion. Pass
736  // either a string attribute to count by, or a function that returns the
737  // criterion.
738  _.countBy = group(function(result, value, key) {
739    if (_.has(result, key)) result[key]++; else result[key] = 1;
740  });
741
742  // Safely create a real, live array from anything iterable.
743  _.toArray = function(obj) {
744    if (!obj) return [];
745    if (_.isArray(obj)) return slice.call(obj);
746    if (isArrayLike(obj)) return _.map(obj, _.identity);
747    return _.values(obj);
748  };
749
750  // Return the number of elements in an object.
751  _.size = function(obj) {
752    if (obj == null) return 0;
753    return isArrayLike(obj) ? obj.length : _.keys(obj).length;
754  };
755
756  // Split a collection into two arrays: one whose elements all satisfy the given
757  // predicate, and one whose elements all do not satisfy the predicate.
758  _.partition = function(obj, predicate, context) {
759    predicate = cb(predicate, context);
760    var pass = [], fail = [];
761    _.each(obj, function(value, key, obj) {
762      (predicate(value, key, obj) ? pass : fail).push(value);
763    });
764    return [pass, fail];
765  };
766
767  // Array Functions
768  // ---------------
769
770  // Get the first element of an array. Passing **n** will return the first N
771  // values in the array. Aliased as `head` and `take`. The **guard** check
772  // allows it to work with `_.map`.
773  _.first = _.head = _.take = function(array, n, guard) {
774    if (array == null) return void 0;
775    if (n == null || guard) return array[0];
776    return _.initial(array, array.length - n);
777  };
778
779  // Returns everything but the last entry of the array. Especially useful on
780  // the arguments object. Passing **n** will return all the values in
781  // the array, excluding the last N.
782  _.initial = function(array, n, guard) {
783    return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n)));
784  };
785
786  // Get the last element of an array. Passing **n** will return the last N
787  // values in the array.
788  _.last = function(array, n, guard) {
789    if (array == null) return void 0;
790    if (n == null || guard) return array[array.length - 1];
791    return _.rest(array, Math.max(0, array.length - n));
792  };
793
794  // Returns everything but the first entry of the array. Aliased as `tail` and `drop`.
795  // Especially useful on the arguments object. Passing an **n** will return
796  // the rest N values in the array.
797  _.rest = _.tail = _.drop = function(array, n, guard) {
798    return slice.call(array, n == null || guard ? 1 : n);
799  };
800
801  // Trim out all falsy values from an array.
802  _.compact = function(array) {
803    return _.filter(array, _.identity);
804  };
805
806  // Internal implementation of a recursive `flatten` function.
807  var flatten = function(input, shallow, strict, startIndex) {
808    var output = [], idx = 0;
809    for (var i = startIndex || 0, length = getLength(input); i < length; i++) {
810      var value = input[i];
811      if (isArrayLike(value) && (_.isArray(value) || _.isArguments(value))) {
812        //flatten current level of array or arguments object
813        if (!shallow) value = flatten(value, shallow, strict);
814        var j = 0, len = value.length;
815        output.length += len;
816        while (j < len) {
817          output[idx++] = value[j++];
818        }
819      } else if (!strict) {
820        output[idx++] = value;
821      }
822    }
823    return output;
824  };
825
826  // Flatten out an array, either recursively (by default), or just one level.
827  _.flatten = function(array, shallow) {
828    return flatten(array, shallow, false);
829  };
830
831  // Return a version of the array that does not contain the specified value(s).
832  _.without = function(array) {
833    return _.difference(array, slice.call(arguments, 1));
834  };
835
836  // Produce a duplicate-free version of the array. If the array has already
837  // been sorted, you have the option of using a faster algorithm.
838  // Aliased as `unique`.
839  _.uniq = _.unique = function(array, isSorted, iteratee, context) {
840    if (!_.isBoolean(isSorted)) {
841      context = iteratee;
842      iteratee = isSorted;
843      isSorted = false;
844    }
845    if (iteratee != null) iteratee = cb(iteratee, context);
846    var result = [];
847    var seen = [];
848    for (var i = 0, length = getLength(array); i < length; i++) {
849      var value = array[i],
850          computed = iteratee ? iteratee(value, i, array) : value;
851      if (isSorted) {
852        if (!i || seen !== computed) result.push(value);
853        seen = computed;
854      } else if (iteratee) {
855        if (!_.contains(seen, computed)) {
856          seen.push(computed);
857          result.push(value);
858        }
859      } else if (!_.contains(result, value)) {
860        result.push(value);
861      }
862    }
863    return result;
864  };
865
866  // Produce an array that contains the union: each distinct element from all of
867  // the passed-in arrays.
868  _.union = function() {
869    return _.uniq(flatten(arguments, true, true));
870  };
871
872  // Produce an array that contains every item shared between all the
873  // passed-in arrays.
874  _.intersection = function(array) {
875    var result = [];
876    var argsLength = arguments.length;
877    for (var i = 0, length = getLength(array); i < length; i++) {
878      var item = array[i];
879      if (_.contains(result, item)) continue;
880      for (var j = 1; j < argsLength; j++) {
881        if (!_.contains(arguments[j], item)) break;
882      }
883      if (j === argsLength) result.push(item);
884    }
885    return result;
886  };
887
888  // Take the difference between one array and a number of other arrays.
889  // Only the elements present in just the first array will remain.
890  _.difference = function(array) {
891    var rest = flatten(arguments, true, true, 1);
892    return _.filter(array, function(value){
893      return !_.contains(rest, value);
894    });
895  };
896
897  // Zip together multiple lists into a single array -- elements that share
898  // an index go together.
899  _.zip = function() {
900    return _.unzip(arguments);
901  };
902
903  // Complement of _.zip. Unzip accepts an array of arrays and groups
904  // each array's elements on shared indices
905  _.unzip = function(array) {
906    var length = array && _.max(array, getLength).length || 0;
907    var result = Array(length);
908
909    for (var index = 0; index < length; index++) {
910      result[index] = _.pluck(array, index);
911    }
912    return result;
913  };
914
915  // Converts lists into objects. Pass either a single array of `[key, value]`
916  // pairs, or two parallel arrays of the same length -- one of keys, and one of
917  // the corresponding values.
918  _.object = function(list, values) {
919    var result = {};
920    for (var i = 0, length = getLength(list); i < length; i++) {
921      if (values) {
922        result[list[i]] = values[i];
923      } else {
924        result[list[i][0]] = list[i][1];
925      }
926    }
927    return result;
928  };
929
930  // Generator function to create the findIndex and findLastIndex functions
931  function createPredicateIndexFinder(dir) {
932    return function(array, predicate, context) {
933      predicate = cb(predicate, context);
934      var length = getLength(array);
935      var index = dir > 0 ? 0 : length - 1;
936      for (; index >= 0 && index < length; index += dir) {
937        if (predicate(array[index], index, array)) return index;
938      }
939      return -1;
940    };
941  }
942
943  // Returns the first index on an array-like that passes a predicate test
944  _.findIndex = createPredicateIndexFinder(1);
945  _.findLastIndex = createPredicateIndexFinder(-1);
946
947  // Use a comparator function to figure out the smallest index at which
948  // an object should be inserted so as to maintain order. Uses binary search.
949  _.sortedIndex = function(array, obj, iteratee, context) {
950    iteratee = cb(iteratee, context, 1);
951    var value = iteratee(obj);
952    var low = 0, high = getLength(array);
953    while (low < high) {
954      var mid = Math.floor((low + high) / 2);
955      if (iteratee(array[mid]) < value) low = mid + 1; else high = mid;
956    }
957    return low;
958  };
959
960  // Generator function to create the indexOf and lastIndexOf functions
961  function createIndexFinder(dir, predicateFind, sortedIndex) {
962    return function(array, item, idx) {
963      var i = 0, length = getLength(array);
964      if (typeof idx == 'number') {
965        if (dir > 0) {
966            i = idx >= 0 ? idx : Math.max(idx + length, i);
967        } else {
968            length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1;
969        }
970      } else if (sortedIndex && idx && length) {
971        idx = sortedIndex(array, item);
972        return array[idx] === item ? idx : -1;
973      }
974      if (item !== item) {
975        idx = predicateFind(slice.call(array, i, length), _.isNaN);
976        return idx >= 0 ? idx + i : -1;
977      }
978      for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) {
979        if (array[idx] === item) return idx;
980      }
981      return -1;
982    };
983  }
984
985  // Return the position of the first occurrence of an item in an array,
986  // or -1 if the item is not included in the array.
987  // If the array is large and already in sort order, pass `true`
988  // for **isSorted** to use binary search.
989  _.indexOf = createIndexFinder(1, _.findIndex, _.sortedIndex);
990  _.lastIndexOf = createIndexFinder(-1, _.findLastIndex);
991
992  // Generate an integer Array containing an arithmetic progression. A port of
993  // the native Python `range()` function. See
994  // [the Python documentation](http://docs.python.org/library/functions.html#range).
995  _.range = function(start, stop, step) {
996    if (stop == null) {
997      stop = start || 0;
998      start = 0;
999    }
1000    step = step || 1;
1001
1002    var length = Math.max(Math.ceil((stop - start) / step), 0);
1003    var range = Array(length);
1004
1005    for (var idx = 0; idx < length; idx++, start += step) {
1006      range[idx] = start;
1007    }
1008
1009    return range;
1010  };
1011
1012  // Function (ahem) Functions
1013  // ------------------
1014
1015  // Determines whether to execute a function as a constructor
1016  // or a normal function with the provided arguments
1017  var executeBound = function(sourceFunc, boundFunc, context, callingContext, args) {
1018    if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args);
1019    var self = baseCreate(sourceFunc.prototype);
1020    var result = sourceFunc.apply(self, args);
1021    if (_.isObject(result)) return result;
1022    return self;
1023  };
1024
1025  // Create a function bound to a given object (assigning `this`, and arguments,
1026  // optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if
1027  // available.
1028  _.bind = function(func, context) {
1029    if (nativeBind && func.bind === nativeBind) return nativeBind.apply(func, slice.call(arguments, 1));
1030    if (!_.isFunction(func)) throw new TypeError('Bind must be called on a function');
1031    var args = slice.call(arguments, 2);
1032    var bound = function() {
1033      return executeBound(func, bound, context, this, args.concat(slice.call(arguments)));
1034    };
1035    return bound;
1036  };
1037
1038  // Partially apply a function by creating a version that has had some of its
1039  // arguments pre-filled, without changing its dynamic `this` context. _ acts
1040  // as a placeholder, allowing any combination of arguments to be pre-filled.
1041  _.partial = function(func) {
1042    var boundArgs = slice.call(arguments, 1);
1043    var bound = function() {
1044      var position = 0, length = boundArgs.length;
1045      var args = Array(length);
1046      for (var i = 0; i < length; i++) {
1047        args[i] = boundArgs[i] === _ ? arguments[position++] : boundArgs[i];
1048      }
1049      while (position < arguments.length) args.push(arguments[position++]);
1050      return executeBound(func, bound, this, this, args);
1051    };
1052    return bound;
1053  };
1054
1055  // Bind a number of an object's methods to that object. Remaining arguments
1056  // are the method names to be bound. Useful for ensuring that all callbacks
1057  // defined on an object belong to it.
1058  _.bindAll = function(obj) {
1059    var i, length = arguments.length, key;
1060    if (length <= 1) throw new Error('bindAll must be passed function names');
1061    for (i = 1; i < length; i++) {
1062      key = arguments[i];
1063      obj[key] = _.bind(obj[key], obj);
1064    }
1065    return obj;
1066  };
1067
1068  // Memoize an expensive function by storing its results.
1069  _.memoize = function(func, hasher) {
1070    var memoize = function(key) {
1071      var cache = memoize.cache;
1072      var address = '' + (hasher ? hasher.apply(this, arguments) : key);
1073      if (!_.has(cache, address)) cache[address] = func.apply(this, arguments);
1074      return cache[address];
1075    };
1076    memoize.cache = {};
1077    return memoize;
1078  };
1079
1080  // Delays a function for the given number of milliseconds, and then calls
1081  // it with the arguments supplied.
1082  _.delay = function(func, wait) {
1083    var args = slice.call(arguments, 2);
1084    return setTimeout(function(){
1085      return func.apply(null, args);
1086    }, wait);
1087  };
1088
1089  // Defers a function, scheduling it to run after the current call stack has
1090  // cleared.
1091  _.defer = _.partial(_.delay, _, 1);
1092
1093  // Returns a function, that, when invoked, will only be triggered at most once
1094  // during a given window of time. Normally, the throttled function will run
1095  // as much as it can, without ever going more than once per `wait` duration;
1096  // but if you'd like to disable the execution on the leading edge, pass
1097  // `{leading: false}`. To disable execution on the trailing edge, ditto.
1098  _.throttle = function(func, wait, options) {
1099    var context, args, result;
1100    var timeout = null;
1101    var previous = 0;
1102    if (!options) options = {};
1103    var later = function() {
1104      previous = options.leading === false ? 0 : _.now();
1105      timeout = null;
1106      result = func.apply(context, args);
1107      if (!timeout) context = args = null;
1108    };
1109    return function() {
1110      var now = _.now();
1111      if (!previous && options.leading === false) previous = now;
1112      var remaining = wait - (now - previous);
1113      context = this;
1114      args = arguments;
1115      if (remaining <= 0 || remaining > wait) {
1116        if (timeout) {
1117          clearTimeout(timeout);
1118          timeout = null;
1119        }
1120        previous = now;
1121        result = func.apply(context, args);
1122        if (!timeout) context = args = null;
1123      } else if (!timeout && options.trailing !== false) {
1124        timeout = setTimeout(later, remaining);
1125      }
1126      return result;
1127    };
1128  };
1129
1130  // Returns a function, that, as long as it continues to be invoked, will not
1131  // be triggered. The function will be called after it stops being called for
1132  // N milliseconds. If `immediate` is passed, trigger the function on the
1133  // leading edge, instead of the trailing.
1134  _.debounce = function(func, wait, immediate) {
1135    var timeout, args, context, timestamp, result;
1136
1137    var later = function() {
1138      var last = _.now() - timestamp;
1139
1140      if (last < wait && last >= 0) {
1141        timeout = setTimeout(later, wait - last);
1142      } else {
1143        timeout = null;
1144        if (!immediate) {
1145          result = func.apply(context, args);
1146          if (!timeout) context = args = null;
1147        }
1148      }
1149    };
1150
1151    return function() {
1152      context = this;
1153      args = arguments;
1154      timestamp = _.now();
1155      var callNow = immediate && !timeout;
1156      if (!timeout) timeout = setTimeout(later, wait);
1157      if (callNow) {
1158        result = func.apply(context, args);
1159        context = args = null;
1160      }
1161
1162      return result;
1163    };
1164  };
1165
1166  // Returns the first function passed as an argument to the second,
1167  // allowing you to adjust arguments, run code before and after, and
1168  // conditionally execute the original function.
1169  _.wrap = function(func, wrapper) {
1170    return _.partial(wrapper, func);
1171  };
1172
1173  // Returns a negated version of the passed-in predicate.
1174  _.negate = function(predicate) {
1175    return function() {
1176      return !predicate.apply(this, arguments);
1177    };
1178  };
1179
1180  // Returns a function that is the composition of a list of functions, each
1181  // consuming the return value of the function that follows.
1182  _.compose = function() {
1183    var args = arguments;
1184    var start = args.length - 1;
1185    return function() {
1186      var i = start;
1187      var result = args[start].apply(this, arguments);
1188      while (i--) result = args[i].call(this, result);
1189      return result;
1190    };
1191  };
1192
1193  // Returns a function that will only be executed on and after the Nth call.
1194  _.after = function(times, func) {
1195    return function() {
1196      if (--times < 1) {
1197        return func.apply(this, arguments);
1198      }
1199    };
1200  };
1201
1202  // Returns a function that will only be executed up to (but not including) the Nth call.
1203  _.before = function(times, func) {
1204    var memo;
1205    return function() {
1206      if (--times > 0) {
1207        memo = func.apply(this, arguments);
1208      }
1209      if (times <= 1) func = null;
1210      return memo;
1211    };
1212  };
1213
1214  // Returns a function that will be executed at most one time, no matter how
1215  // often you call it. Useful for lazy initialization.
1216  _.once = _.partial(_.before, 2);
1217
1218  // Object Functions
1219  // ----------------
1220
1221  // Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed.
1222  var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString');
1223  var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString',
1224                      'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];
1225
1226  function collectNonEnumProps(obj, keys) {
1227    var nonEnumIdx = nonEnumerableProps.length;
1228    var constructor = obj.constructor;
1229    var proto = (_.isFunction(constructor) && constructor.prototype) || ObjProto;
1230
1231    // Constructor is a special case.
1232    var prop = 'constructor';
1233    if (_.has(obj, prop) && !_.contains(keys, prop)) keys.push(prop);
1234
1235    while (nonEnumIdx--) {
1236      prop = nonEnumerableProps[nonEnumIdx];
1237      if (prop in obj && obj[prop] !== proto[prop] && !_.contains(keys, prop)) {
1238        keys.push(prop);
1239      }
1240    }
1241  }
1242
1243  // Retrieve the names of an object's own properties.
1244  // Delegates to **ECMAScript 5**'s native `Object.keys`
1245  _.keys = function(obj) {
1246    if (!_.isObject(obj)) return [];
1247    if (nativeKeys) return nativeKeys(obj);
1248    var keys = [];
1249    for (var key in obj) if (_.has(obj, key)) keys.push(key);
1250    // Ahem, IE < 9.
1251    if (hasEnumBug) collectNonEnumProps(obj, keys);
1252    return keys;
1253  };
1254
1255  // Retrieve all the property names of an object.
1256  _.allKeys = function(obj) {
1257    if (!_.isObject(obj)) return [];
1258    var keys = [];
1259    for (var key in obj) keys.push(key);
1260    // Ahem, IE < 9.
1261    if (hasEnumBug) collectNonEnumProps(obj, keys);
1262    return keys;
1263  };
1264
1265  // Retrieve the values of an object's properties.
1266  _.values = function(obj) {
1267    var keys = _.keys(obj);
1268    var length = keys.length;
1269    var values = Array(length);
1270    for (var i = 0; i < length; i++) {
1271      values[i] = obj[keys[i]];
1272    }
1273    return values;
1274  };
1275
1276  // Returns the results of applying the iteratee to each element of the object
1277  // In contrast to _.map it returns an object
1278  _.mapObject = function(obj, iteratee, context) {
1279    iteratee = cb(iteratee, context);
1280    var keys =  _.keys(obj),
1281          length = keys.length,
1282          results = {},
1283          currentKey;
1284      for (var index = 0; index < length; index++) {
1285        currentKey = keys[index];
1286        results[currentKey] = iteratee(obj[currentKey], currentKey, obj);
1287      }
1288      return results;
1289  };
1290
1291  // Convert an object into a list of `[key, value]` pairs.
1292  _.pairs = function(obj) {
1293    var keys = _.keys(obj);
1294    var length = keys.length;
1295    var pairs = Array(length);
1296    for (var i = 0; i < length; i++) {
1297      pairs[i] = [keys[i], obj[keys[i]]];
1298    }
1299    return pairs;
1300  };
1301
1302  // Invert the keys and values of an object. The values must be serializable.
1303  _.invert = function(obj) {
1304    var result = {};
1305    var keys = _.keys(obj);
1306    for (var i = 0, length = keys.length; i < length; i++) {
1307      result[obj[keys[i]]] = keys[i];
1308    }
1309    return result;
1310  };
1311
1312  // Return a sorted list of the function names available on the object.
1313  // Aliased as `methods`
1314  _.functions = _.methods = function(obj) {
1315    var names = [];
1316    for (var key in obj) {
1317      if (_.isFunction(obj[key])) names.push(key);
1318    }
1319    return names.sort();
1320  };
1321
1322  // Extend a given object with all the properties in passed-in object(s).
1323  _.extend = createAssigner(_.allKeys);
1324
1325  // Assigns a given object with all the own properties in the passed-in object(s)
1326  // (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)
1327  _.extendOwn = _.assign = createAssigner(_.keys);
1328
1329  // Returns the first key on an object that passes a predicate test
1330  _.findKey = function(obj, predicate, context) {
1331    predicate = cb(predicate, context);
1332    var keys = _.keys(obj), key;
1333    for (var i = 0, length = keys.length; i < length; i++) {
1334      key = keys[i];
1335      if (predicate(obj[key], key, obj)) return key;
1336    }
1337  };
1338
1339  // Return a copy of the object only containing the whitelisted properties.
1340  _.pick = function(object, oiteratee, context) {
1341    var result = {}, obj = object, iteratee, keys;
1342    if (obj == null) return result;
1343    if (_.isFunction(oiteratee)) {
1344      keys = _.allKeys(obj);
1345      iteratee = optimizeCb(oiteratee, context);
1346    } else {
1347      keys = flatten(arguments, false, false, 1);
1348      iteratee = function(value, key, obj) { return key in obj; };
1349      obj = Object(obj);
1350    }
1351    for (var i = 0, length = keys.length; i < length; i++) {
1352      var key = keys[i];
1353      var value = obj[key];
1354      if (iteratee(value, key, obj)) result[key] = value;
1355    }
1356    return result;
1357  };
1358
1359   // Return a copy of the object without the blacklisted properties.
1360  _.omit = function(obj, iteratee, context) {
1361    if (_.isFunction(iteratee)) {
1362      iteratee = _.negate(iteratee);
1363    } else {
1364      var keys = _.map(flatten(arguments, false, false, 1), String);
1365      iteratee = function(value, key) {
1366        return !_.contains(keys, key);
1367      };
1368    }
1369    return _.pick(obj, iteratee, context);
1370  };
1371
1372  // Fill in a given object with default properties.
1373  _.defaults = createAssigner(_.allKeys, true);
1374
1375  // Creates an object that inherits from the given prototype object.
1376  // If additional properties are provided then they will be added to the
1377  // created object.
1378  _.create = function(prototype, props) {
1379    var result = baseCreate(prototype);
1380    if (props) _.extendOwn(result, props);
1381    return result;
1382  };
1383
1384  // Create a (shallow-cloned) duplicate of an object.
1385  _.clone = function(obj) {
1386    if (!_.isObject(obj)) return obj;
1387    return _.isArray(obj) ? obj.slice() : _.extend({}, obj);
1388  };
1389
1390  // Invokes interceptor with the obj, and then returns obj.
1391  // The primary purpose of this method is to "tap into" a method chain, in
1392  // order to perform operations on intermediate results within the chain.
1393  _.tap = function(obj, interceptor) {
1394    interceptor(obj);
1395    return obj;
1396  };
1397
1398  // Returns whether an object has a given set of `key:value` pairs.
1399  _.isMatch = function(object, attrs) {
1400    var keys = _.keys(attrs), length = keys.length;
1401    if (object == null) return !length;
1402    var obj = Object(object);
1403    for (var i = 0; i < length; i++) {
1404      var key = keys[i];
1405      if (attrs[key] !== obj[key] || !(key in obj)) return false;
1406    }
1407    return true;
1408  };
1409
1410
1411  // Internal recursive comparison function for `isEqual`.
1412  var eq = function(a, b, aStack, bStack) {
1413    // Identical objects are equal. `0 === -0`, but they aren't identical.
1414    // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).
1415    if (a === b) return a !== 0 || 1 / a === 1 / b;
1416    // A strict comparison is necessary because `null == undefined`.
1417    if (a == null || b == null) return a === b;
1418    // Unwrap any wrapped objects.
1419    if (a instanceof _) a = a._wrapped;
1420    if (b instanceof _) b = b._wrapped;
1421    // Compare `[[Class]]` names.
1422    var className = toString.call(a);
1423    if (className !== toString.call(b)) return false;
1424    switch (className) {
1425      // Strings, numbers, regular expressions, dates, and booleans are compared by value.
1426      case '[object RegExp]':
1427      // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')
1428      case '[object String]':
1429        // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is
1430        // equivalent to `new String("5")`.
1431        return '' + a === '' + b;
1432      case '[object Number]':
1433        // `NaN`s are equivalent, but non-reflexive.
1434        // Object(NaN) is equivalent to NaN
1435        if (+a !== +a) return +b !== +b;
1436        // An `egal` comparison is performed for other numeric values.
1437        return +a === 0 ? 1 / +a === 1 / b : +a === +b;
1438      case '[object Date]':
1439      case '[object Boolean]':
1440        // Coerce dates and booleans to numeric primitive values. Dates are compared by their
1441        // millisecond representations. Note that invalid dates with millisecond representations
1442        // of `NaN` are not equivalent.
1443        return +a === +b;
1444    }
1445
1446    var areArrays = className === '[object Array]';
1447    if (!areArrays) {
1448      if (typeof a != 'object' || typeof b != 'object') return false;
1449
1450      // Objects with different constructors are not equivalent, but `Object`s or `Array`s
1451      // from different frames are.
1452      var aCtor = a.constructor, bCtor = b.constructor;
1453      if (aCtor !== bCtor && !(_.isFunction(aCtor) && aCtor instanceof aCtor &&
1454                               _.isFunction(bCtor) && bCtor instanceof bCtor)
1455                          && ('constructor' in a && 'constructor' in b)) {
1456        return false;
1457      }
1458    }
1459    // Assume equality for cyclic structures. The algorithm for detecting cyclic
1460    // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.
1461
1462    // Initializing stack of traversed objects.
1463    // It's done here since we only need them for objects and arrays comparison.
1464    aStack = aStack || [];
1465    bStack = bStack || [];
1466    var length = aStack.length;
1467    while (length--) {
1468      // Linear search. Performance is inversely proportional to the number of
1469      // unique nested structures.
1470      if (aStack[length] === a) return bStack[length] === b;
1471    }
1472
1473    // Add the first object to the stack of traversed objects.
1474    aStack.push(a);
1475    bStack.push(b);
1476
1477    // Recursively compare objects and arrays.
1478    if (areArrays) {
1479      // Compare array lengths to determine if a deep comparison is necessary.
1480      length = a.length;
1481      if (length !== b.length) return false;
1482      // Deep compare the contents, ignoring non-numeric properties.
1483      while (length--) {
1484        if (!eq(a[length], b[length], aStack, bStack)) return false;
1485      }
1486    } else {
1487      // Deep compare objects.
1488      var keys = _.keys(a), key;
1489      length = keys.length;
1490      // Ensure that both objects contain the same number of properties before comparing deep equality.
1491      if (_.keys(b).length !== length) return false;
1492      while (length--) {
1493        // Deep compare each member
1494        key = keys[length];
1495        if (!(_.has(b, key) && eq(a[key], b[key], aStack, bStack))) return false;
1496      }
1497    }
1498    // Remove the first object from the stack of traversed objects.
1499    aStack.pop();
1500    bStack.pop();
1501    return true;
1502  };
1503
1504  // Perform a deep comparison to check if two objects are equal.
1505  _.isEqual = function(a, b) {
1506    return eq(a, b);
1507  };
1508
1509  // Is a given array, string, or object empty?
1510  // An "empty" object has no enumerable own-properties.
1511  _.isEmpty = function(obj) {
1512    if (obj == null) return true;
1513    if (isArrayLike(obj) && (_.isArray(obj) || _.isString(obj) || _.isArguments(obj))) return obj.length === 0;
1514    return _.keys(obj).length === 0;
1515  };
1516
1517  // Is a given value a DOM element?
1518  _.isElement = function(obj) {
1519    return !!(obj && obj.nodeType === 1);
1520  };
1521
1522  // Is a given value an array?
1523  // Delegates to ECMA5's native Array.isArray
1524  _.isArray = nativeIsArray || function(obj) {
1525    return toString.call(obj) === '[object Array]';
1526  };
1527
1528  // Is a given variable an object?
1529  _.isObject = function(obj) {
1530    var type = typeof obj;
1531    return type === 'function' || type === 'object' && !!obj;
1532  };
1533
1534  // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp, isError.
1535  _.each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp', 'Error'], function(name) {
1536    _['is' + name] = function(obj) {
1537      return toString.call(obj) === '[object ' + name + ']';
1538    };
1539  });
1540
1541  // Define a fallback version of the method in browsers (ahem, IE < 9), where
1542  // there isn't any inspectable "Arguments" type.
1543  if (!_.isArguments(arguments)) {
1544    _.isArguments = function(obj) {
1545      return _.has(obj, 'callee');
1546    };
1547  }
1548
1549  // Optimize `isFunction` if appropriate. Work around some typeof bugs in old v8,
1550  // IE 11 (#1621), and in Safari 8 (#1929).
1551  if (typeof /./ != 'function' && typeof Int8Array != 'object') {
1552    _.isFunction = function(obj) {
1553      return typeof obj == 'function' || false;
1554    };
1555  }
1556
1557  // Is a given object a finite number?
1558  _.isFinite = function(obj) {
1559    return isFinite(obj) && !isNaN(parseFloat(obj));
1560  };
1561
1562  // Is the given value `NaN`? (NaN is the only number which does not equal itself).
1563  _.isNaN = function(obj) {
1564    return _.isNumber(obj) && obj !== +obj;
1565  };
1566
1567  // Is a given value a boolean?
1568  _.isBoolean = function(obj) {
1569    return obj === true || obj === false || toString.call(obj) === '[object Boolean]';
1570  };
1571
1572  // Is a given value equal to null?
1573  _.isNull = function(obj) {
1574    return obj === null;
1575  };
1576
1577  // Is a given variable undefined?
1578  _.isUndefined = function(obj) {
1579    return obj === void 0;
1580  };
1581
1582  // Shortcut function for checking if an object has a given property directly
1583  // on itself (in other words, not on a prototype).
1584  _.has = function(obj, key) {
1585    return obj != null && hasOwnProperty.call(obj, key);
1586  };
1587
1588  // Utility Functions
1589  // -----------------
1590
1591  // Run Underscore.js in *noConflict* mode, returning the `_` variable to its
1592  // previous owner. Returns a reference to the Underscore object.
1593  _.noConflict = function() {
1594    root._ = previousUnderscore;
1595    return this;
1596  };
1597
1598  // Keep the identity function around for default iteratees.
1599  _.identity = function(value) {
1600    return value;
1601  };
1602
1603  // Predicate-generating functions. Often useful outside of Underscore.
1604  _.constant = function(value) {
1605    return function() {
1606      return value;
1607    };
1608  };
1609
1610  _.noop = function(){};
1611
1612  _.property = property;
1613
1614  // Generates a function for a given object that returns a given property.
1615  _.propertyOf = function(obj) {
1616    return obj == null ? function(){} : function(key) {
1617      return obj[key];
1618    };
1619  };
1620
1621  // Returns a predicate for checking whether an object has a given set of
1622  // `key:value` pairs.
1623  _.matcher = _.matches = function(attrs) {
1624    attrs = _.extendOwn({}, attrs);
1625    return function(obj) {
1626      return _.isMatch(obj, attrs);
1627    };
1628  };
1629
1630  // Run a function **n** times.
1631  _.times = function(n, iteratee, context) {
1632    var accum = Array(Math.max(0, n));
1633    iteratee = optimizeCb(iteratee, context, 1);
1634    for (var i = 0; i < n; i++) accum[i] = iteratee(i);
1635    return accum;
1636  };
1637
1638  // Return a random integer between min and max (inclusive).
1639  _.random = function(min, max) {
1640    if (max == null) {
1641      max = min;
1642      min = 0;
1643    }
1644    return min + Math.floor(Math.random() * (max - min + 1));
1645  };
1646
1647  // A (possibly faster) way to get the current timestamp as an integer.
1648  _.now = Date.now || function() {
1649    return new Date().getTime();
1650  };
1651
1652   // List of HTML entities for escaping.
1653  var escapeMap = {
1654    '&': '&amp;',
1655    '<': '&lt;',
1656    '>': '&gt;',
1657    '"': '&quot;',
1658    "'": '&#x27;',
1659    '`': '&#x60;'
1660  };
1661  var unescapeMap = _.invert(escapeMap);
1662
1663  // Functions for escaping and unescaping strings to/from HTML interpolation.
1664  var createEscaper = function(map) {
1665    var escaper = function(match) {
1666      return map[match];
1667    };
1668    // Regexes for identifying a key that needs to be escaped
1669    var source = '(?:' + _.keys(map).join('|') + ')';
1670    var testRegexp = RegExp(source);
1671    var replaceRegexp = RegExp(source, 'g');
1672    return function(string) {
1673      string = string == null ? '' : '' + string;
1674      return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;
1675    };
1676  };
1677  _.escape = createEscaper(escapeMap);
1678  _.unescape = createEscaper(unescapeMap);
1679
1680  // If the value of the named `property` is a function then invoke it with the
1681  // `object` as context; otherwise, return it.
1682  _.result = function(object, property, fallback) {
1683    var value = object == null ? void 0 : object[property];
1684    if (value === void 0) {
1685      value = fallback;
1686    }
1687    return _.isFunction(value) ? value.call(object) : value;
1688  };
1689
1690  // Generate a unique integer id (unique within the entire client session).
1691  // Useful for temporary DOM ids.
1692  var idCounter = 0;
1693  _.uniqueId = function(prefix) {
1694    var id = ++idCounter + '';
1695    return prefix ? prefix + id : id;
1696  };
1697
1698  // By default, Underscore uses ERB-style template delimiters, change the
1699  // following template settings to use alternative delimiters.
1700  _.templateSettings = {
1701    evaluate    : /<%([\s\S]+?)%>/g,
1702    interpolate : /<%=([\s\S]+?)%>/g,
1703    escape      : /<%-([\s\S]+?)%>/g
1704  };
1705
1706  // When customizing `templateSettings`, if you don't want to define an
1707  // interpolation, evaluation or escaping regex, we need one that is
1708  // guaranteed not to match.
1709  var noMatch = /(.)^/;
1710
1711  // Certain characters need to be escaped so that they can be put into a
1712  // string literal.
1713  var escapes = {
1714    "'":      "'",
1715    '\\':     '\\',
1716    '\r':     'r',
1717    '\n':     'n',
1718    '\u2028': 'u2028',
1719    '\u2029': 'u2029'
1720  };
1721
1722  var escaper = /\\|'|\r|\n|\u2028|\u2029/g;
1723
1724  var escapeChar = function(match) {
1725    return '\\' + escapes[match];
1726  };
1727
1728  // JavaScript micro-templating, similar to John Resig's implementation.
1729  // Underscore templating handles arbitrary delimiters, preserves whitespace,
1730  // and correctly escapes quotes within interpolated code.
1731  // NB: `oldSettings` only exists for backwards compatibility.
1732  _.template = function(text, settings, oldSettings) {
1733    if (!settings && oldSettings) settings = oldSettings;
1734    settings = _.defaults({}, settings, _.templateSettings);
1735
1736    // Combine delimiters into one regular expression via alternation.
1737    var matcher = RegExp([
1738      (settings.escape || noMatch).source,
1739      (settings.interpolate || noMatch).source,
1740      (settings.evaluate || noMatch).source
1741    ].join('|') + '|$', 'g');
1742
1743    // Compile the template source, escaping string literals appropriately.
1744    var index = 0;
1745    var source = "__p+='";
1746    text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {
1747      source += text.slice(index, offset).replace(escaper, escapeChar);
1748      index = offset + match.length;
1749
1750      if (escape) {
1751        source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'";
1752      } else if (interpolate) {
1753        source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'";
1754      } else if (evaluate) {
1755        source += "';\n" + evaluate + "\n__p+='";
1756      }
1757
1758      // Adobe VMs need the match returned to produce the correct offest.
1759      return match;
1760    });
1761    source += "';\n";
1762
1763    // If a variable is not specified, place data values in local scope.
1764    if (!settings.variable) source = 'with(obj||{}){\n' + source + '}\n';
1765
1766    source = "var __t,__p='',__j=Array.prototype.join," +
1767      "print=function(){__p+=__j.call(arguments,'');};\n" +
1768      source + 'return __p;\n';
1769
1770    try {
1771      var render = new Function(settings.variable || 'obj', '_', source);
1772    } catch (e) {
1773      e.source = source;
1774      throw e;
1775    }
1776
1777    var template = function(data) {
1778      return render.call(this, data, _);
1779    };
1780
1781    // Provide the compiled source as a convenience for precompilation.
1782    var argument = settings.variable || 'obj';
1783    template.source = 'function(' + argument + '){\n' + source + '}';
1784
1785    return template;
1786  };
1787
1788  // Add a "chain" function. Start chaining a wrapped Underscore object.
1789  _.chain = function(obj) {
1790    var instance = _(obj);
1791    instance._chain = true;
1792    return instance;
1793  };
1794
1795  // OOP
1796  // ---------------
1797  // If Underscore is called as a function, it returns a wrapped object that
1798  // can be used OO-style. This wrapper holds altered versions of all the
1799  // underscore functions. Wrapped objects may be chained.
1800
1801  // Helper function to continue chaining intermediate results.
1802  var result = function(instance, obj) {
1803    return instance._chain ? _(obj).chain() : obj;
1804  };
1805
1806  // Add your own custom functions to the Underscore object.
1807  _.mixin = function(obj) {
1808    _.each(_.functions(obj), function(name) {
1809      var func = _[name] = obj[name];
1810      _.prototype[name] = function() {
1811        var args = [this._wrapped];
1812        push.apply(args, arguments);
1813        return result(this, func.apply(_, args));
1814      };
1815    });
1816  };
1817
1818  // Add all of the Underscore functions to the wrapper object.
1819  _.mixin(_);
1820
1821  // Add all mutator Array functions to the wrapper.
1822  _.each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {
1823    var method = ArrayProto[name];
1824    _.prototype[name] = function() {
1825      var obj = this._wrapped;
1826      method.apply(obj, arguments);
1827      if ((name === 'shift' || name === 'splice') && obj.length === 0) delete obj[0];
1828      return result(this, obj);
1829    };
1830  });
1831
1832  // Add all accessor Array functions to the wrapper.
1833  _.each(['concat', 'join', 'slice'], function(name) {
1834    var method = ArrayProto[name];
1835    _.prototype[name] = function() {
1836      return result(this, method.apply(this._wrapped, arguments));
1837    };
1838  });
1839
1840  // Extracts the result from a wrapped and chained object.
1841  _.prototype.value = function() {
1842    return this._wrapped;
1843  };
1844
1845  // Provide unwrapping proxy for some methods used in engine operations
1846  // such as arithmetic and JSON stringification.
1847  _.prototype.valueOf = _.prototype.toJSON = _.prototype.value;
1848
1849  _.prototype.toString = function() {
1850    return '' + this._wrapped;
1851  };
1852
1853  // AMD registration happens at the end for compatibility with AMD loaders
1854  // that may not enforce next-turn semantics on modules. Even though general
1855  // practice for AMD registration is to be anonymous, underscore registers
1856  // as a named module because, like jQuery, it is a base library that is
1857  // popular enough to be bundled in a third party lib, but not be part of
1858  // an AMD load request. Those cases could generate an error when an
1859  // anonymous define() is called outside of a loader request.
1860  if (typeof define === 'function' && define.amd) {
1861    define('underscore', [], function() {
1862      return _;
1863    });
1864  }
1865}.call(this));
1866//
1867// Popover
1868//
1869
1870'use strict';
1871
1872var Popover = (function() {
1873
1874	// Variables
1875
1876	var $popover = $('[data-toggle="popover"]');
1877
1878
1879	// Methods
1880
1881	function init($this) {
1882		var popoverClass = '';
1883
1884		if ($this.data('color')) {
1885			popoverClass = ' popover-' + $this.data('color');
1886		}
1887
1888		var options = {
1889			trigger: 'focus',
1890			template: '<div class="popover' + popoverClass + '" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'
1891		};
1892
1893		$this.popover(options);
1894	}
1895
1896
1897	// Events
1898
1899	if ($popover.length) {
1900		$popover.each(function() {
1901			init($(this));
1902		});
1903	}
1904
1905})();
1906
1907//
1908// Tooltip
1909//
1910
1911'use strict';
1912
1913var Tooltip = (function() {
1914
1915	// Variables
1916
1917	var $tooltip = $('[data-toggle="tooltip"]');
1918
1919
1920	// Methods
1921
1922	function init() {
1923		$tooltip.tooltip();
1924	}
1925
1926
1927	// Events
1928
1929	if ($tooltip.length) {
1930		init();
1931	}
1932
1933})();
1934
1935//
1936// Swiper
1937// init of plugin Swiper JS
1938//
1939
1940$('.featured-products__carousel .owl-carousel').owlCarousel({
1941    loop: false,
1942    nav: true,
1943    dots: false,
1944    navText : ["",""],
1945    responsive:{
1946        0: {
1947            items: 2,
1948			margin: 20,
1949        },
1950        768: {
1951            items: 3,
1952			margin: 20,
1953        },
1954		992: {
1955            items: 3,
1956			margin: 30,
1957			// stagePadding: 10,
1958        },
1959        1300: {
1960            items: 4,
1961			margin: 20,
1962			stagePadding: 0,
1963        }
1964    }
1965});
1966//
1967// Popover
1968//
1969
1970'use strict';
1971
1972var Popover = (function() {
1973
1974	// Variables
1975
1976	var $popover = $('[data-toggle="popover"]'),
1977		$popoverClass = '';
1978
1979
1980	// Methods
1981
1982	function init($this) {
1983		if ($this.data('color')) {
1984			$popoverClass = 'popover-' + $this.data('color');
1985		}
1986
1987		var options = {
1988			template: '<div class="popover ' + $popoverClass + '" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'
1989		};
1990
1991		$this.popover(options);
1992	}
1993
1994
1995	// Events
1996
1997	if ($popover.length) {
1998		$popover.each(function() {
1999			init($(this));
2000		});
2001	}
2002
2003})();
2004
2005//
2006// Scrollbar
2007//
2008
2009'use strict';
2010
2011var Scrollbar = (function() {
2012
2013	// Variables
2014
2015	var $scrollbar = $('.scrollbar-inner');
2016
2017
2018	// Methods
2019
2020	function init() {
2021		$scrollbar.scrollbar().scrollLock()
2022	}
2023
2024
2025	// Events
2026
2027	if ($scrollbar.length) {
2028		init();
2029	}
2030
2031})();
2032
2033//
2034// Sticky
2035//
2036
2037'use strict';
2038
2039var Sticky = (function() {
2040
2041	//
2042	// Variables
2043	//
2044
2045	var $sticky = $('[data-toggle="sticky"]');
2046
2047
2048	//
2049	// Methods
2050	//
2051
2052	function init($this) {
2053
2054		var offset = $this.data('sticky-offset') ? $this.data('sticky-offset') : 0;
2055		var options = {
2056			'offset_top': offset
2057		};
2058
2059		if($(window).width() > 1000) {
2060			$this.stick_in_parent(options);
2061		} else {
2062			$this.trigger("sticky_kit:detach");
2063		}
2064	}
2065
2066
2067	//
2068	// Events
2069	//
2070
2071	$(window).on('load resize', function() {
2072		if ($sticky.length) {
2073
2074			// Init selects
2075			$sticky.each(function() {
2076				init($(this));
2077			});
2078		}
2079	})
2080
2081
2082})();
2083
2084//
2085// Forms
2086//
2087
2088'use strict';
2089
2090
2091//
2092// Form control
2093//
2094
2095var FormControl = (function() {
2096
2097	// Variables
2098
2099	var $input = $('.form-control'),
2100		$indeterminateCheckbox = $('[data-toggle="indeterminate"]');
2101
2102
2103	// Methods
2104
2105	function init($this) {
2106		$this.on('focus blur', function(e) {
2107        $(this).parents('.form-group').toggleClass('focused', (e.type === 'focus' || this.value.length > 0));
2108    }).trigger('blur');
2109	}
2110
2111
2112	// Events
2113
2114	if ($input.length) {
2115		init($input);
2116	}
2117
2118	// Add indeterminate state to a checkbox
2119	if($indeterminateCheckbox.length) {
2120		$indeterminateCheckbox.each(function() {
2121			$(this).prop('indeterminate', true)
2122		})
2123	}
2124
2125})();
2126
2127
2128//
2129// Custom input file
2130//
2131
2132var CustomInputFile = (function() {
2133
2134	// Variables
2135
2136	var $customInputFile = $('.custom-input-file');
2137
2138
2139	// Methods
2140
2141	function change($input, $this, $e) {
2142		var fileName,
2143			$label = $input.next('label'),
2144			labelVal = $label.html();
2145
2146		if ($this && $this.files.length > 1) {
2147			fileName = ($this.getAttribute('data-multiple-caption') || '').replace('{count}', $this.files.length);
2148		}
2149		else if ($e.target.value) {
2150			fileName = $e.target.value.split('\\').pop();
2151		}
2152
2153		if (fileName) {
2154			$label.find('span').html(fileName);
2155		}
2156		else {
2157			$label.html(labelVal);
2158		}
2159	}
2160
2161	function focus($input) {
2162		$input.addClass('has-focus');
2163	}
2164
2165	function blur($input) {
2166		$input.removeClass('has-focus');
2167	}
2168
2169
2170	// Events
2171
2172	if ($customInputFile.length) {
2173		$customInputFile.each(function() {
2174			var $input = $(this);
2175
2176			$input.on('change', function(e) {
2177				var $this = this,
2178					$e = e;
2179
2180				change($input, $this, $e);
2181	        });
2182
2183	        // Firefox bug fix
2184	        $input.on('focus', function() {
2185	            focus($input);
2186	        })
2187	        .on('blur', function() {
2188	            blur($input);
2189	        });
2190		});
2191	}
2192})();
2193
2194//
2195// Navbar
2196//
2197
2198'use strict';
2199
2200var NavbarCollapse = (function() {
2201
2202	// Variables
2203
2204    var $nav = $('#navbar-main'),
2205	    $collapse = $('#navbar-main-collapse'),
2206        $navTop = $('#navbar-top-main');
2207
2208
2209	// Methods
2210
2211	function showNavbarCollapse($this) {
2212        $nav.addClass('navbar-collapsed');
2213        $navTop.addClass('navbar-collapsed');
2214        $('#header-main').addClass('header-collapse-show')
2215	}
2216
2217    function hideNavbarCollapse($this) {
2218        $this.removeClass('collapsing').addClass('collapsing-out');
2219        $nav.removeClass('navbar-collapsed').addClass('navbar-collapsed-out');
2220        $navTop.removeClass('navbar-collapsed').addClass('navbar-collapsed-out');
2221	}
2222
2223    function hiddenNavbarCollapse($this) {
2224        $this.removeClass('collapsing-out');
2225        $nav.removeClass('navbar-collapsed-out');
2226        $navTop.removeClass('navbar-collapsed-out');
2227        $('#header-main').removeClass('header-collapse-show')
2228	}
2229
2230
2231	// Events
2232
2233    if ($collapse.length) {
2234    	$collapse.on({
2235    		'show.bs.collapse': function() {
2236    			showNavbarCollapse($collapse);
2237    		}
2238    	})
2239
2240        $collapse.on({
2241    		'hide.bs.collapse': function() {
2242                hideNavbarCollapse($collapse);
2243    		}
2244    	})
2245
2246        $collapse.on({
2247    		'hidden.bs.collapse': function() {
2248                hiddenNavbarCollapse($collapse);
2249    		}
2250    	})
2251    }
2252
2253})();
2254
2255
2256//
2257// Sticky Navbar
2258//
2259
2260var NavbarSticky = (function() {
2261
2262	// Variables
2263
2264	var $nav = $('.navbar-sticky');
2265
2266
2267	// Methods
2268
2269	function init($this) {
2270
2271		var scrollTop = $(window).scrollTop(); // our current vertical position from the top
2272
2273		// if we've scrolled more than the navigation, change its position to fixed to stick to top,
2274		// otherwise change it back to relative
2275		if (scrollTop > (navOffsetTop + 200)) {
2276			$this.addClass('sticky');
2277		} else {
2278			$this.removeClass('sticky');
2279		}
2280	}
2281
2282
2283	// Events
2284
2285	if ($nav.length) {
2286
2287        var navOffsetTop = $nav.offset().top;
2288
2289		// Init sticky navbar
2290		init($nav);
2291
2292		// re-calculate stickyness on scroll
2293		$(window).on({
2294			'scroll': function() {
2295				init($nav);
2296			}
2297		})
2298	}
2299})();
2300
2301//
2302// Scroll to (anchor links)
2303//
2304
2305'use strict';
2306
2307var ScrollTo = (function() {
2308
2309	//
2310	// Variables
2311	//
2312
2313	var $scrollTo = $('.scroll-me, [data-scroll-to], .toc-entry a'),
2314		urlHash = window.location.hash;
2315
2316
2317	//
2318	// Methods
2319	//
2320
2321	function init(hash) {
2322		$('html, body').animate({
2323	        scrollTop: $(hash).offset().top
2324	    }, 'slow');
2325	}
2326
2327	function scrollTo($this) {
2328		var $el = $this.attr('href');
2329        var offset = $this.data('scroll-to-offset') ? $this.data('scroll-to-offset') : 0;
2330		var options = {
2331			scrollTop: $($el).offset().top - offset
2332		};
2333
2334        // Animate scroll to the selected section
2335        $('html, body').stop(true, true).animate(options, 600);
2336
2337        event.preventDefault();
2338	}
2339
2340
2341	//
2342	// Events
2343	//
2344
2345	if ($scrollTo.length) {
2346		// Init scroll on click
2347		$scrollTo.on('click', function(event) {
2348			scrollTo($(this));
2349		});
2350	}
2351
2352	$(window).on("load", function () {
2353		// Init scroll on page load if a hash is present
2354		if(urlHash && urlHash != '#!' && $(urlHash).length) {
2355			init(urlHash)
2356		}
2357	});
2358})();
2359
2360//
2361// Shape
2362// extending the functionality of the shape utility classes from purpose/utitlies/_shape.scss
2363//
2364
2365
2366'use strict';
2367
2368$( document ).ready(function() {
2369
2370	// Variables
2371
2372	var $shape = $('.shape-container');
2373
2374
2375	// Methods
2376
2377	function init($this) {
2378
2379		var svgHeight = $this.find('svg').height();
2380		// alert(svgHeight)
2381		$this.css({
2382			'height': svgHeight + 'px'
2383		});
2384
2385	}
2386
2387
2388	// Events
2389
2390	$(window).on({
2391		'load resize': function() {
2392			if ($shape.length) {
2393				$shape.each(function() {
2394					init($(this));
2395				});
2396			}
2397		}
2398	})
2399
2400});
2401!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).Sweetalert2=e()}(this,function(){"use strict";function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function a(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function c(t,e,n){return e&&o(t.prototype,e),n&&o(t,n),t}function s(){return(s=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n,o=arguments[e];for(n in o)Object.prototype.hasOwnProperty.call(o,n)&&(t[n]=o[n])}return t}).apply(this,arguments)}function u(t){return(u=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function l(t,e){return(l=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function d(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(t){return!1}}function i(t,e,n){return(i=d()?Reflect.construct:function(t,e,n){var o=[null];o.push.apply(o,e);o=new(Function.bind.apply(t,o));return n&&l(o,n.prototype),o}).apply(null,arguments)}function p(t,e){return!e||"object"!=typeof e&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function f(t,e,n){return(f="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){t=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=u(t)););return t}(t,e);if(t){e=Object.getOwnPropertyDescriptor(t,e);return e.get?e.get.call(n):e.value}})(t,e,n||t)}function m(t){return t.charAt(0).toUpperCase()+t.slice(1)}function h(e){return Object.keys(e).map(function(t){return e[t]})}function g(t){return Array.prototype.slice.call(t)}function v(t,e){e='"'.concat(t,'" is deprecated and will be removed in the next major release. Please use "').concat(e,'" instead.'),-1===Y.indexOf(e)&&(Y.push(e),W(e))}function b(t){return t&&"function"==typeof t.toPromise}function y(t){return b(t)?t.toPromise():Promise.resolve(t)}function w(t){return t&&Promise.resolve(t)===t}function C(t){return t instanceof Element||"object"===r(t=t)&&t.jquery}function k(){return document.body.querySelector(".".concat($.container))}function A(t){var e=k();return e?e.querySelector(t):null}function t(t){return A(".".concat(t))}function x(){return t($.popup)}function n(){var t=x();return g(t.querySelectorAll(".".concat($.icon)))}function B(){var t=n().filter(function(t){return wt(t)});return t.length?t[0]:null}function P(){return t($.title)}function E(){return t($.content)}function S(){return t($.image)}function O(){return t($["progress-steps"])}function T(){return t($["validation-message"])}function L(){return A(".".concat($.actions," .").concat($.confirm))}function q(){return A(".".concat($.actions," .").concat($.deny))}function D(){return A(".".concat($.loader))}function j(){return A(".".concat($.actions," .").concat($.cancel))}function I(){return t($.actions)}function M(){return t($.header)}function H(){return t($.footer)}function V(){return t($["timer-progress-bar"])}function R(){return t($.close)}
2401function N(){var t=g(x().querySelectorAll('[tabindex]:not([tabindex="-1"]):not([tabindex="0"])')).sort(function(t,e){return t=parseInt(t.getAttribute("tabindex")),(e=parseInt(e.getAttribute("tabindex")))<t?1:t<e?-1:0}),e=g(x().querySelectorAll('\n  a[href],\n  area[href],\n  input:not([disabled]),\n  select:not([disabled]),\n  textarea:not([disabled]),\n  button:not([disabled]),\n  iframe,\n  object,\n  embed,\n  [tabindex="0"],\n  [contenteditable],\n  audio[controls],\n  video[controls],\n  summary\n')).filter(function(t){return"-1"!==t.getAttribute("tabindex")});return function(t){for(var e=[],n=0;n<t.length;n++)-1===e.indexOf(t[n])&&e.push(t[n]);return e}(t.concat(e)).filter(function(t){return wt(t)})}function U(){return!G()&&!document.body.classList.contains($["no-backdrop"])}function _(e,t){e.textContent="",t&&(t=(new DOMParser).parseFromString(t,"text/html"),g(t.querySelector("head").childNodes).forEach(function(t){e.appendChild(t)}),g(t.querySelector("body").childNodes).forEach(function(t){e.appendChild(t)}))}function F(t,e){if(e){for(var n=e.split(/\s+/),o=0;o<n.length;o++)if(!t.classList.contains(n[o]))return;return 1}}function z(t,e,n){var o,i;if(i=e,g((o=t).classList).forEach(function(t){-1===h($).indexOf(t)&&-1===h(X).indexOf(t)&&-1===h(i.showClass).indexOf(t)&&o.classList.remove(t)}),e.customClass&&e.customClass[n]){if("string"!=typeof e.customClass[n]&&!e.customClass[n].forEach)return W("Invalid type of customClass.".concat(n,'! Expected string or iterable object, got "').concat(r(e.customClass[n]),'"'));vt(t,e.customClass[n])}}var e="SweetAlert2:",W=function(t){console.warn("".concat(e," ").concat("object"===r(t)?t.join(" "):t))},K=function(t){console.error("".concat(e," ").concat(t))},Y=[],Z=function(t){return"function"==typeof t?t():t},Q=Object.freeze({cancel:"cancel",backdrop:"backdrop",close:"close",esc:"esc",timer:"timer"}),J=function(t){var e,n={};for(e in t)n[t[e]]="swal2-"+t[e];return n},$=J(["container","shown","height-auto","iosfix","popup","modal","no-backdrop","no-transition","toast","toast-shown","toast-column","show","hide","close","title","header","content","html-container","actions","confirm","deny","cancel","footer","icon","icon-content","image","input","file","range","select","radio","checkbox","label","textarea","inputerror","input-label","validation-message","progress-steps","active-progress-step","progress-step","progress-step-line","loader","loading","styled","top","top-start","top-end","top-left","top-right","center","center-start","center-end","center-left","center-right","bottom","bottom-start","bottom-end","bottom-left","bottom-right","grow-row","grow-column","grow-fullscreen","rtl","timer-progress-bar","timer-progress-bar-container","scrollbar-measure","icon-success","icon-warning","icon-info","icon-question","icon-error"]),X=J(["success","warning","info","question","error"]),G=function(){return document.body.classList.contains($["toast-shown"])},tt={previousBodyPadding:null};function et(t,e){if(!e)return null;switch(e){case"select":case"textarea":case"file":return yt(t,$[e]);case"checkbox":return t.querySelector(".".concat($.checkbox," input"));case"radio":return t.querySelector(".".concat($.radio," input:checked"))||t.querySelector(".".concat($.radio," input:first-child"));case"range":return t.querySelector(".".concat($.range," input"));default:return yt(t,$.input)}}function nt(t){var e;t.focus(),"file"!==t.type&&(e=t.value,t.value="",t.value=e)}function ot(t,e,n){t&&e&&("string"==typeof e&&(e=e.split(/\s+/).filter(Boolean)),e.forEach(function(e){t.forEach?t.forEach(function(t){n?t.classList.add(e):t.classList.remove(e)}):n?t.classList.add(e):t.classList.remove(e)}))}function it(t,e,n){n==="".concat(parseInt(n))&&(n=parseInt(n)),n||0===parseInt(n)?t.style[e]="number"==typeof n?"".concat(n,"px"):n:t.style.removeProperty(e)}function rt(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"flex";t.style.display=e}function at(t){t.style.display="none"}function ct(t,e,n,o){(e=t.querySelector(e))&&(e.style[n]=o)}function st(t,e,n){e?rt(t,n):at(t)}function ut(t){return!!(t.scrollHeight>t.clientHeight)}function lt(t){var e=window.getComputedStyle(t),t=parseFloat(e.getPropertyValue("animation-duration")||"0"),e=parseFloat(e.getPropertyValue("transition-duration")||"0");return 0<t||0<e}function dt(t){var e=1<arguments.length&&void 0!==arguments[1]&&arguments[1],n=V();wt(n)&&(e&&(n.style.transition="none",n.style.width="100%"),setTimeout(function(){n.style.transition="width ".concat(t/1e3,"s linear"),n.style.width="0%"},10))}function pt(){return"undefined"==typeof window||"undefined"==typeof document}function ft(t){Mn.isVisible()&&gt!==t.target.value&&Mn.resetValidationMessage(),gt=t.target.value}function mt(t,e){t instanceof HTMLElement?e.appendChild(t):"object"===r(t)?At(t,e):t&&_(e,t)}function ht(t,e){var n,o,i,r,a=I(),c=D(),s=L(),u=q(),l=j();e.showConfirmButton||e.showDenyButton||e.showCancelButton||at(a),z(a,e,"actions"),Pt(s,"confirm",e),Pt(u,"deny",e),Pt(l,"cancel",e),n=s,o=u,i=l,(r=e).buttonsStyling?(vt([n,o,i],$.styled),r.confirmButtonColor&&(n.style.backgroundColor=r.confirmButtonColor),r.denyButtonColor&&(o.style.backgroundColor=r.denyButtonColor),r.cancelButtonColor&&(i.style.backgroundColor=r.cancelButtonColor)):bt([n,o,i],$.styled),e.reverseButtons&&(a.insertBefore(l,c),a.insertBefore(u,c),a.insertBefore(s,c)),_(c,e.loaderHtml),z(c,e,"loader")}var gt,vt=function(t,e){ot(t,e,!0)},bt=function(t,e){ot(t,e,!1)},yt=function(t,e){for(var n=0;n<t.childNodes.length;n++)if(F(t.childNodes[n],e))return t.childNodes[n]},wt=function(t){return!(!t||!(t.offsetWidth||t.offsetHeight||t.getClientRects().length))},Ct='\n <div aria-labelledby="'.concat($.title,'" aria-describedby="').concat($.content,'" class="').concat($.popup,'" tabindex="-1">\n   <div class="').concat($.header,'">\n     <ul class="').concat($["progress-steps"],'"></ul>\n     <div class="').concat($.icon," ").concat(X.error,'"></div>\n     <div class="').concat($.icon," ").concat(X.question,'"></div>\n     <div class="').concat($.icon," ").concat(X.warning,'"></div>\n     <div class="').concat($.icon," ").concat(X.info,'"></div>\n     <div class="').concat($.icon," ").concat(X.success,'"></div>\n     <img class="').concat($.image,'" />\n     <h2 class="').concat($.title,'" id="').concat($.title,'"></h2>\n     <button type="button" class="').concat($.close,'"></button>\n   </div>\n   <div class="').concat($.content,'">\n     <div id="').concat($.content,'" class="').concat($["html-container"],'"></div>\n     <input class="').concat($.input,'" />\n     <input type="file" class="').concat($.file,'" />\n     <div class="').concat($.range,'">\n       <input type="range" />\n       <output></output>\n     </div>\n     <select class="').concat($.select,'"></select>\n     <div class="').concat($.radio,'"></div>
2401\n     <label for="').concat($.checkbox,'" class="').concat($.checkbox,'">\n       <input type="checkbox" />\n       <span class="').concat($.label,'"></span>\n     </label>\n     <textarea class="').concat($.textarea,'"></textarea>\n     <div class="').concat($["validation-message"],'" id="').concat($["validation-message"],'"></div>\n   </div>\n   <div class="').concat($.actions,'">\n     <div class="').concat($.loader,'"></div>\n     <button type="button" class="').concat($.confirm,'"></button>\n     <button type="button" class="').concat($.deny,'"></button>\n     <button type="button" class="').concat($.cancel,'"></button>\n   </div>\n   <div class="').concat($.footer,'"></div>\n   <div class="').concat($["timer-progress-bar-container"],'">\n     <div class="').concat($["timer-progress-bar"],'"></div>\n   </div>\n </div>\n').replace(/(^|\n)\s*/g,""),kt=function(t){var e,n,o,i,r,a=!!(i=k())&&(i.parentNode.removeChild(i),bt([document.documentElement,document.body],[$["no-backdrop"],$["toast-shown"],$["has-column"]]),!0);pt()?K("SweetAlert2 requires document to initialize"):((r=document.createElement("div")).className=$.container,a&&vt(r,$["no-transition"]),_(r,Ct),(i="string"==typeof(e=t.target)?document.querySelector(e):e).appendChild(r),a=t,(e=x()).setAttribute("role",a.toast?"alert":"dialog"),e.setAttribute("aria-live",a.toast?"polite":"assertive"),a.toast||e.setAttribute("aria-modal","true"),r=i,"rtl"===window.getComputedStyle(r).direction&&vt(k(),$.rtl),t=E(),a=yt(t,$.input),e=yt(t,$.file),n=t.querySelector(".".concat($.range," input")),o=t.querySelector(".".concat($.range," output")),i=yt(t,$.select),r=t.querySelector(".".concat($.checkbox," input")),t=yt(t,$.textarea),a.oninput=ft,e.onchange=ft,i.onchange=ft,r.onchange=ft,t.oninput=ft,n.oninput=function(t){ft(t),o.value=n.value},n.onchange=function(t){ft(t),n.nextSibling.value=n.value})},At=function(t,e){t.jquery?xt(e,t):_(e,t.toString())},xt=function(t,e){if(t.textContent="",0 in e)for(var n=0;n in e;n++)t.appendChild(e[n].cloneNode(!0));else t.appendChild(e.cloneNode(!0))},Bt=function(){if(pt())return!1;var t,e=document.createElement("div"),n={WebkitAnimation:"webkitAnimationEnd",OAnimation:"oAnimationEnd oanimationend",animation:"animationend"};for(t in n)if(Object.prototype.hasOwnProperty.call(n,t)&&void 0!==e.style[t])return n[t];return!1}();function Pt(t,e,n){st(t,n["show".concat(m(e),"Button")],"inline-block"),_(t,n["".concat(e,"ButtonText")]),t.setAttribute("aria-label",n["".concat(e,"ButtonAriaLabel")]),t.className=$[e],z(t,n,"".concat(e,"Button")),vt(t,n["".concat(e,"ButtonClass")])}function Et(t,e){var n,o,i=k();i&&(o=i,"string"==typeof(n=e.backdrop)?o.style.background=n:n||vt([document.documentElement,document.body],$["no-backdrop"]),!e.backdrop&&e.allowOutsideClick&&W('"allowOutsideClick" parameter requires `backdrop` parameter to be set to `true`'),o=i,(n=e.position)in $?vt(o,$[n]):(W('The "position" parameter is not valid, defaulting to "center"'),vt(o,$.center)),n=i,!(o=e.grow)||"string"!=typeof o||(o="grow-".concat(o))in $&&vt(n,$[o]),z(i,e,"container"),(e=document.body.getAttribute("data-swal2-queue-step"))&&(i.setAttribute("data-queue-step",e),document.body.removeAttribute("data-swal2-queue-step")))}function St(t,e){t.placeholder&&!e.inputPlaceholder||(t.placeholder=e.inputPlaceholder)}function Ot(t,e,n){var o,i;n.inputLabel&&(t.id=$.input,o=document.createElement("label"),i=$["input-label"],o.setAttribute("for",t.id),o.className=i,vt(o,n.customClass.inputLabel),o.innerText=n.inputLabel,e.insertAdjacentElement("beforebegin",o))}var Tt={promise:new WeakMap,innerParams:new WeakMap,domCache:new WeakMap},Lt=["input","file","range","select","radio","checkbox","textarea"],qt=function(t){if(!Mt[t.input])return K('Unexpected type of input! Expected "text", "email", "password", "number", "tel", "select", "radio", "checkbox", "textarea", "file" or "url", got "'.concat(t.input,'"'));var e=It(t.input),n=Mt[t.input](e,t);rt(n),setTimeout(function(){nt(n)})},Dt=function(t,e){var n=et(E(),t);
2401if(n)for(var o in!function(t){for(var e=0;e<t.attributes.length;e++){var n=t.attributes[e].name;-1===["type","value","style"].indexOf(n)&&t.removeAttribute(n)}}(n),e)"range"===t&&"placeholder"===o||n.setAttribute(o,e[o])},jt=function(t){var e=It(t.input);t.customClass&&vt(e,t.customClass.input)},It=function(t){t=$[t]||$.input;return yt(E(),t)},Mt={};Mt.text=Mt.email=Mt.password=Mt.number=Mt.tel=Mt.url=function(t,e){return"string"==typeof e.inputValue||"number"==typeof e.inputValue?t.value=e.inputValue:w(e.inputValue)||W('Unexpected type of inputValue! Expected "string", "number" or "Promise", got "'.concat(r(e.inputValue),'"')),Ot(t,t,e),St(t,e),t.type=e.input,t},Mt.file=function(t,e){return Ot(t,t,e),St(t,e),t},Mt.range=function(t,e){var n=t.querySelector("input"),o=t.querySelector("output");return n.value=e.inputValue,n.type=e.input,o.value=e.inputValue,Ot(n,t,e),t},Mt.select=function(t,e){var n;return t.textContent="",e.inputPlaceholder&&(n=document.createElement("option"),_(n,e.inputPlaceholder),n.value="",n.disabled=!0,n.selected=!0,t.appendChild(n)),Ot(t,t,e),t},Mt.radio=function(t){return t.textContent="",t},Mt.checkbox=function(t,e){var n=et(E(),"checkbox");n.value=1,n.id=$.checkbox,n.checked=Boolean(e.inputValue);n=t.querySelector("span");return _(n,e.inputPlaceholder),t},Mt.textarea=function(e,t){e.value=t.inputValue,St(e,t),Ot(e,e,t);function n(t){return parseInt(window.getComputedStyle(t).paddingLeft)+parseInt(window.getComputedStyle(t).paddingRight)}var o;return"MutationObserver"in window&&(o=parseInt(window.getComputedStyle(x()).width),new MutationObserver(function(){var t=e.offsetWidth+n(x())+n(E());x().style.width=o<t?"".concat(t,"px"):null}).observe(e,{attributes:!0,attributeFilter:["style"]})),e};function Ht(t,e){var o,i,r,n=E().querySelector("#".concat($.content));e.html?(mt(e.html,n),rt(n,"block")):e.text?(n.textContent=e.text,rt(n,"block")):at(n),t=t,o=e,i=E(),t=Tt.innerParams.get(t),r=!t||o.input!==t.input,Lt.forEach(function(t){var e=$[t],n=yt(i,e);Dt(t,o.inputAttributes),n.className=e,r&&at(n)}),o.input&&(r&&qt(o),jt(o)),z(E(),e,"content")}function Vt(){return k()&&k().getAttribute("data-queue-step")}function Rt(t,o){var i=O();if(!o.progressSteps||0===o.progressSteps.length)return at(i),0;rt(i),i.textContent="";var r=parseInt(void 0===o.currentProgressStep?Vt():o.currentProgressStep);r>=o.progressSteps.length&&W("Invalid currentProgressStep parameter, it should be less than progressSteps.length (currentProgressStep like JS arrays starts from 0)"),o.progressSteps.forEach(function(t,e){var n,t=(n=t,t=document.createElement("li"),vt(t,$["progress-step"]),_(t,n),t);i.appendChild(t),e===r&&vt(t,$["active-progress-step"]),e!==o.progressSteps.length-1&&(t=o,e=document.createElement("li"),vt(e,$["progress-step-line"]),t.progressStepsDistance&&(e.style.width=t.progressStepsDistance),e=e,i.appendChild(e))})}function Nt(t,e){var n=M();z(n,e,"header"),Rt(0,e),n=t,t=e,(n=Tt.innerParams.get(n))&&t.icon===n.icon&&B()?zt(B(),t):(Ft(),t.icon&&(-1!==Object.keys(X).indexOf(t.icon)?(n=A(".".concat($.icon,".").concat(X[t.icon])),rt(n),Kt(n,t),zt(n,t),vt(n,t.showClass.icon)):K('Unknown icon! Expected "success", "error", "warning", "info" or "question", got "'.concat(t.icon,'"')))),function(t){var e=S();if(!t.imageUrl)return at(e);rt(e,""),e.setAttribute("src",t.imageUrl),e.setAttribute("alt",t.imageAlt),it(e,"width",t.imageWidth),it(e,"height",t.imageHeight),e.className=$.image,z(e,t,"image")}(e),n=e,t=P(),st(t,n.title||n.titleText),n.title&&mt(n.title,t),n.titleText&&(t.innerText=n.titleText),z(t,n,"title"),n=e,e=R(),_(e,n.closeButtonHtml),z(e,n,"closeButton"),st(e,n.showCloseButton),e.setAttribute("aria-label",n.closeButtonAriaLabel)}function Ut(t,e){var n,o;o=e,n=x(),it(n,"width",o.width),it(n,"padding",o.padding),o.background&&(n.style.background=o.background),Jt(n,o),Et(0,e),Nt(t,e),Ht(t,e),ht(0,e),o=e,t=H(),st(t,o.footer),o.footer&&mt(o.footer,t),z(t,o,"footer"),"function"==typeof e.didRender?e.didRender(x()):"function"==typeof e.onRender&&e.onRender(x())}function _t(){return L()&&L().click()}var Ft=function(){for(var t=n(),e=0;e<t.length;e++)at(t[e])},zt=function(t,e){Yt(t,e),Wt(),z(t,e,"icon")},Wt=function(){for(var t=x(),e=window.getComputedStyle(t).getPropertyValue("background-color"),n=t.querySelectorAll("[class^=swal2-success-circular-line], .swal2-success-fix"),o=0;o<n.length;o++)n[o].style.backgroundColor=e},Kt=function(t,e){t.textContent="",e.iconHtml?_(t,Zt(e.iconHtml)):"success"===e.icon?_(t,'\n      <div class="swal2-success-circular-line-left"></div>
2401\n      <span class="swal2-success-line-tip"></span> <span class="swal2-success-line-long"></span>\n      <div class="swal2-success-ring"></div> <div class="swal2-success-fix"></div>\n      <div class="swal2-success-circular-line-right"></div>\n    '):"error"===e.icon?_(t,'\n      <span class="swal2-x-mark">\n        <span class="swal2-x-mark-line-left"></span>\n        <span class="swal2-x-mark-line-right"></span>\n      </span>\n    '):_(t,Zt({question:"?",warning:"!",info:"i"}[e.icon]))},Yt=function(t,e){if(e.iconColor){t.style.color=e.iconColor,t.style.borderColor=e.iconColor;for(var n=0,o=[".swal2-success-line-tip",".swal2-success-line-long",".swal2-x-mark-line-left",".swal2-x-mark-line-right"];n<o.length;n++)ct(t,o[n],"backgroundColor",e.iconColor);ct(t,".swal2-success-ring","borderColor",e.iconColor)}},Zt=function(t){return'<div class="'.concat($["icon-content"],'">').concat(t,"</div>")},Qt=[],Jt=function(t,e){t.className="".concat($.popup," ").concat(wt(t)?e.showClass.popup:""),e.toast?(vt([document.documentElement,document.body],$["toast-shown"]),vt(t,$.toast)):vt(t,$.modal),z(t,e,"popup"),"string"==typeof e.customClass&&vt(t,e.customClass),e.icon&&vt(t,$["icon-".concat(e.icon)])};function $t(t){var e=x();e||Mn.fire(),e=x();var n=I(),o=D();!t&&wt(L())&&(t=L()),rt(n),t&&(at(t),o.setAttribute("data-button-to-replace",t.className)),o.parentNode.insertBefore(o,t),vt([e,n],$.loading),rt(o),e.setAttribute("data-loading",!0),e.setAttribute("aria-busy",!0),e.focus()}function Xt(){return new Promise(function(t){var e=window.scrollX,n=window.scrollY;ee.restoreFocusTimeout=setTimeout(function(){ee.previousActiveElement&&ee.previousActiveElement.focus?(ee.previousActiveElement.focus(),ee.previousActiveElement=null):document.body&&document.body.focus(),t()},100),void 0!==e&&void 0!==n&&window.scrollTo(e,n)})}function Gt(){if(ee.timeout)return function(){var t=V(),e=parseInt(window.getComputedStyle(t).width);t.style.removeProperty("transition"),t.style.width="100%";var n=parseInt(window.getComputedStyle(t).width),n=parseInt(e/n*100);t.style.removeProperty("transition"),t.style.width="".concat(n,"%")}(),ee.timeout.stop()}function te(){if(ee.timeout){var t=ee.timeout.start();return dt(t),t}}var ee={},ne=!1,oe={};function ie(t){for(var e=t.target;e&&e!==document;e=e.parentNode)for(var n in oe){var o=e.getAttribute(n);if(o)return void oe[n].fire({template:o})}}function re(t){return Object.prototype.hasOwnProperty.call(se,t)}function ae(t){return le[t]}function ce(t){for(var e in t)re(o=e)||W('Unknown parameter "'.concat(o,'"')),t.toast&&(n=e,-1!==de.indexOf(n)&&W('The parameter "'.concat(n,'" is incompatible with toasts'))),ae(n=e)&&v(n,ae(n));var n,o}var se={title:"",titleText:"",text:"",html:"",footer:"",icon:void 0,iconColor:void 0,iconHtml:void 0,template:void 0,toast:!1,animation:!0,showClass:{popup:"swal2-show",backdrop:"swal2-backdrop-show",icon:"swal2-icon-show"},hideClass:{popup:"swal2-hide",backdrop:"swal2-backdrop-hide",icon:"swal2-icon-hide"},customClass:{},target:"body",backdrop:!0,heightAuto:!0,allowOutsideClick:!0,allowEscapeKey:!0,allowEnterKey:!0,stopKeydownPropagation:!0,keydownListenerCapture:!1,showConfirmButton:!0,showDenyButton:!1,showCancelButton:!1,preConfirm:void 0,preDeny:void 0,confirmButtonText:"OK",confirmButtonAriaLabel:"",confirmButtonColor:void 0,denyButtonText:"No",denyButtonAriaLabel:"",denyButtonColor:void 0,cancelButtonText:"Cancel",cancelButtonAriaLabel:"",cancelButtonColor:void 0,buttonsStyling:!0,reverseButtons:!1,focusConfirm:!0,focusDeny:!1,focusCancel:!1,showCloseButton:!1,closeButtonHtml:"&times;",closeButtonAriaLabel:"Close this dialog",loaderHtml:"",showLoaderOnConfirm:!1,imageUrl:void 0,imageWidth:void 0,imageHeight:void 0,imageAlt:"",timer:void 0,timerProgressBar:!1,width:void 0,padding:void 0,background:void 0,input:void 0,inputPlaceholder:"",inputLabel:"",inputValue:"",inputOptions:{},inputAutoTrim:!0,inputAttributes:{},inputValidator:void 0,returnInputValueOnDeny:!1,validationMessage:void 0,grow:!1,position:"center",progressSteps:[],currentProgressStep:void 0,progressStepsDistance:void 0,onBeforeOpen:void 0,onOpen:void 0,willOpen:void 0,didOpen:void 0,onRender:void 0,didRender:void 0,onClose:void 0,onAfterClose:void 0,willClose:void 0,didClose
2401:void 0,onDestroy:void 0,didDestroy:void 0,scrollbarPadding:!0},ue=["allowEscapeKey","allowOutsideClick","background","buttonsStyling","cancelButtonAriaLabel","cancelButtonColor","cancelButtonText","closeButtonAriaLabel","closeButtonHtml","confirmButtonAriaLabel","confirmButtonColor","confirmButtonText","currentProgressStep","customClass","denyButtonAriaLabel","denyButtonColor","denyButtonText","didClose","didDestroy","footer","hideClass","html","icon","iconColor","imageAlt","imageHeight","imageUrl","imageWidth","onAfterClose","onClose","onDestroy","progressSteps","reverseButtons","showCancelButton","showCloseButton","showConfirmButton","showDenyButton","text","title","titleText","willClose"],le={animation:'showClass" and "hideClass',onBeforeOpen:"willOpen",onOpen:"didOpen",onRender:"didRender",onClose:"willClose",onAfterClose:"didClose",onDestroy:"didDestroy"},de=["allowOutsideClick","allowEnterKey","backdrop","focusConfirm","focusDeny","focusCancel","heightAuto","keydownListenerCapture"],pe=Object.freeze({isValidParameter:re,isUpdatableParameter:function(t){return-1!==ue.indexOf(t)},isDeprecatedParameter:ae,argsToParams:function(n){var o={};return"object"!==r(n[0])||C(n[0])?["title","html","icon"].forEach(function(t,e){e=n[e];"string"==typeof e||C(e)?o[t]=e:void 0!==e&&K("Unexpected type of ".concat(t,'! Expected "string" or "Element", got ').concat(r(e)))}):s(o,n[0]),o},isVisible:function(){return wt(x())},clickConfirm:_t,clickDeny:function(){return q()&&q().click()},clickCancel:function(){return j()&&j().click()},getContainer:k,getPopup:x,getTitle:P,getContent:E,getHtmlContainer:function(){return t($["html-container"])},getImage:S,getIcon:B,getIcons:n,getInputLabel:function(){return t($["input-label"])},getCloseButton:R,getActions:I,getConfirmButton:L,getDenyButton:q,getCancelButton:j,getLoader:D,getHeader:M,getFooter:H,getTimerProgressBar:V,getFocusableElements:N,getValidationMessage:T,isLoading:function(){return x().hasAttribute("data-loading")},fire:function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return i(this,e)},mixin:function(r){return function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&l(t,e)}(i,t);var n,o,e=(n=i,o=d(),function(){var t,e=u(n);return p(this,o?(t=u(this).constructor,Reflect.construct(e,arguments,t)):e.apply(this,arguments))});function i(){return a(this,i),e.apply(this,arguments)}return c(i,[{key:"_main",value:function(t,e){return f(u(i.prototype),"_main",this).call(this,t,s({},e,r))}}]),i}(this)},queue:function(t){var r=this;Qt=t;function a(t,e){Qt=[],t(e)}var c=[];return new Promise(function(i){!function e(n,o){n<Qt.length?(document.body.setAttribute("data-swal2-queue-step",n),r.fire(Qt[n]).then(function(t){void 0!==t.value?(c.push(t.value),e(n+1,o)):a(i,{dismiss:t.dismiss})})):a(i,{value:c})}(0)})},getQueueStep:Vt,insertQueueStep:function(t,e){return e&&e<Qt.length?Qt.splice(e,0,t):Qt.push(t)},deleteQueueStep:function(t){void 0!==Qt[t]&&Qt.splice(t,1)},showLoading:$t,enableLoading:$t,getTimerLeft:function(){return ee.timeout&&ee.timeout.getTimerLeft()},stopTimer:Gt,resumeTimer:te,toggleTimer:function(){var t=ee.timeout;return t&&(t.running?Gt:te)()},increaseTimer:function(t){if(ee.timeout){t=ee.timeout.increase(t);return dt(t,!0),t}},isTimerRunning:function(){return ee.timeout&&ee.timeout.isRunning()},bindClickHandler:function(){oe[0<arguments.length&&void 0!==arguments[0]?arguments[0]:"data-swal-template"]=this,ne||(document.body.addEventListener("click",ie),ne=!0)}});function fe(){var t,e;Tt.innerParams.get(this)&&(t=Tt.domCache.get(this),at(t.loader),(e=t.popup.getElementsByClassName(t.loader.getAttribute("data-button-to-replace"))).length?rt(e[0],"inline-block"):wt(L())||wt(q())||wt(j())||at(t.actions),bt([t.popup,t.actions],$.loading),t.popup.removeAttribute("aria-busy"),t.popup.removeAttribute("data-loading"),t.confirmButton.disabled=!1,t.denyButton.disabled=!1,t.cancelButton.disabled=!1)}function me(){null===tt.previousBodyPadding&&document.body.scrollHeight>window.innerHeight&&(tt.previousBodyPadding=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right")),document.body.style.paddingRight="".concat(tt.previousBodyPadding+function(){var t=document.createElement("div");t.className=$["scrollbar-measure"],document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e}(),"px"))}function he(){return!!window.MSInputMethodContext&&!!document.documentMode}function ge(){var t=k(),e=x();t.style.removeProperty("align-items"),e.offsetTop<0&&(t.style.alignItems="flex-start")}var ve=function(){navigator.userAgent.match(/(CriOS|FxiOS|EdgiOS|YaBrowser|UCBrowser)/i)||x().scrollHeight>window.innerHeight-44&&(k().style.paddingBottom="".concat(44,"px"))},be=function(){var e,t=k();t.ontouchstart=function(t){e=ye(t)},t.ontouchmove=function(t){e&&(t.preventDefault(),t.stopPropagation())}},ye=function(t){var e=t.target,n=k();return!we(t)&&!Ce(t)&&(e===n||!(ut(n)||"INPUT"===e.tagName||ut(E())&&E().contains(e)))},we=function(t){return t.touches&&t.touches.length&&"stylus"===t.touches[0].touchType},Ce=function(t){return t.touches&&1<t.touches.length},ke={swalPromiseResolve:new WeakMap};function Ae(t,e,n,o){n?Oe(t,o):(Xt().then(function(){return Oe(t,o)}),ee.keydownTarget.removeEventListener("keydown",ee.keydownHandler,{capture:ee.keydownListenerCapture}),ee.keydownHandlerAdded=!1),e.parentNode&&!document.body.getAttribute("data-swal2-queue-step")&&e.parentNode.removeChild(e),U()&&(null!==tt.previousBodyPadding&&(document.body.style.paddingRight="".concat(tt.previousBodyPadding,"px"),tt.previousBodyPadding=null),F(document.body,$.iosfix)&&
2401(e=parseInt(document.body.style.top,10),bt(document.body,$.iosfix),document.body.style.top="",document.body.scrollTop=-1*e),"undefined"!=typeof window&&he()&&window.removeEventListener("resize",ge),g(document.body.children).forEach(function(t){t.hasAttribute("data-previous-aria-hidden")?(t.setAttribute("aria-hidden",t.getAttribute("data-previous-aria-hidden")),t.removeAttribute("data-previous-aria-hidden")):t.removeAttribute("aria-hidden")})),bt([document.documentElement,document.body],[$.shown,$["height-auto"],$["no-backdrop"],$["toast-shown"],$["toast-column"]])}function xe(t){var e,n,o,i=x();i&&(t=Be(t),(e=Tt.innerParams.get(this))&&!F(i,e.hideClass.popup)&&(n=ke.swalPromiseResolve.get(this),bt(i,e.showClass.popup),vt(i,e.hideClass.popup),o=k(),bt(o,e.showClass.backdrop),vt(o,e.hideClass.backdrop),Pe(this,i,e),n(t)))}function Be(t){return void 0===t?{isConfirmed:!1,isDenied:!1,isDismissed:!0}:s({isConfirmed:!1,isDenied:!1,isDismissed:!1},t)}function Pe(t,e,n){var o=k(),i=Bt&&lt(e),r=n.onClose,a=n.onAfterClose,c=n.willClose,n=n.didClose;Ee(e,c,r),i?Se(t,e,o,n||a):Ae(t,o,G(),n||a)}var Ee=function(t,e,n){null!==e&&"function"==typeof e?e(t):null!==n&&"function"==typeof n&&n(t)},Se=function(t,e,n,o){ee.swalCloseEventFinishedCallback=Ae.bind(null,t,n,G(),o),e.addEventListener(Bt,function(t){t.target===e&&(ee.swalCloseEventFinishedCallback(),delete ee.swalCloseEventFinishedCallback)})},Oe=function(t,e){setTimeout(function(){"function"==typeof e&&e(),t._destroy()})};function Te(t,e,n){var o=Tt.domCache.get(t);e.forEach(function(t){o[t].disabled=n})}function Le(t,e){if(!t)return!1;if("radio"===t.type)for(var n=t.parentNode.parentNode.querySelectorAll("input"),o=0;o<n.length;o++)n[o].disabled=e;else t.disabled=e}var qe=function(){function n(t,e){a(this,n),this.callback=t,this.remaining=e,this.running=!1,this.start()}return c(n,[{key:"start",value:function(){return this.running||(this.running=!0,this.started=new Date,this.id=setTimeout(this.callback,this.remaining)),this.remaining}},{key:"stop",value:function(){return this.running&&(this.running=!1,clearTimeout(this.id),this.remaining-=new Date-this.started),this.remaining}},{key:"increase",value:function(t){var e=this.running;return e&&this.stop(),this.remaining+=t,e&&this.start(),this.remaining}},{key:"getTimerLeft",value:function(){return this.running&&(this.stop(),this.start()),this.remaining}},{key:"isRunning",value:function(){return this.running}}]),n}(),De={email:function(t,e){return/^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9-]{2,24}$/.test(t)?Promise.resolve():Promise.resolve(e||"Invalid email address")},url:function(t,e){return/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-z]{2,63}\b([-a-zA-Z0-9@:%_+.~#?&/=]*)$/.test(t)?Promise.resolve():Promise.resolve(e||"Invalid URL")}};function je(t){var e,n;(e=t).inputValidator||Object.keys(De).forEach(function(t){e.input===t&&(e.inputValidator=De[t])}),t.showLoaderOnConfirm&&!t.preConfirm&&W("showLoaderOnConfirm is set to true, but preConfirm is not defined.\nshowLoaderOnConfirm should be used together with preConfirm, see usage example:\nhttps://sweetalert2.github.io/#ajax-request"),t.animation=Z(t.animation),(n=t).target&&("string"!=typeof n.target||document.querySelector(n.target))&&("string"==typeof n.target||n.target.appendChild)||(W('Target parameter is not valid, defaulting to "body"'),n.target="body"),"string"==typeof t.title&&(t.title=t.title.split("\n").join("<br />")),kt(t)}function Ie(t){var e=k(),n=x();"function"==typeof t.willOpen?t.willOpen(n):"function"==typeof t.onBeforeOpen&&t.onBeforeOpen(n);var o=window.getComputedStyle(document.body).overflowY;$e(e,n,t),setTimeout(function(){Qe(e,n)},10),U()&&(Je(e,t.scrollbarPadding,o),g(document.body.children).forEach(function(t){t===k()||function(t,e){if("function"==typeof t.contains)return t.contains(e)}(t,k())||(t.hasAttribute("aria-hidden")&&t.setAttribute("data-previous-aria-hidden",t.getAttribute("aria-hidden")),t.setAttribute("aria-hidden","true"))})),G()||ee.previousActiveElement||(ee.previousActiveElement=document.activeElement),Ze(n,t),bt(e,$["no-transition"])}function Me(t){var e=x();t.target===e&&(t=k(),e.removeEventListener(Bt,Me),t.style.overflowY="auto")}function He(t,e){t.closePopup({isConfirmed:!0,value:e})}function Ve(t,e,n){var o=N();if(o.length)return(e+=n)===o.length?e=0:-1===e&&(e=o.length-1),o[e].focus();x().focus()}var Re=["swal-title","swal-html","swal-footer"],Ne=function(t){var n={};
2401return g(t.querySelectorAll("swal-param")).forEach(function(t){Ye(t,["name","value"]);var e=t.getAttribute("name"),t=t.getAttribute("value");"boolean"==typeof se[e]&&"false"===t&&(t=!1),"object"===r(se[e])&&(t=JSON.parse(t)),n[e]=t}),n},Ue=function(t){var n={};return g(t.querySelectorAll("swal-button")).forEach(function(t){Ye(t,["type","color","aria-label"]);var e=t.getAttribute("type");n["".concat(e,"ButtonText")]=t.innerHTML,n["show".concat(m(e),"Button")]=!0,t.hasAttribute("color")&&(n["".concat(e,"ButtonColor")]=t.getAttribute("color")),t.hasAttribute("aria-label")&&(n["".concat(e,"ButtonAriaLabel")]=t.getAttribute("aria-label"))}),n},_e=function(t){var e={},t=t.querySelector("swal-image");return t&&(Ye(t,["src","width","height","alt"]),t.hasAttribute("src")&&(e.imageUrl=t.getAttribute("src")),t.hasAttribute("width")&&(e.imageWidth=t.getAttribute("width")),t.hasAttribute("height")&&(e.imageHeight=t.getAttribute("height")),t.hasAttribute("alt")&&(e.imageAlt=t.getAttribute("alt"))),e},Fe=function(t){var e={},t=t.querySelector("swal-icon");return t&&(Ye(t,["type","color"]),t.hasAttribute("type")&&(e.icon=t.getAttribute("type")),t.hasAttribute("color")&&(e.iconColor=t.getAttribute("color")),e.iconHtml=t.innerHTML),e},ze=function(t){var n={},e=t.querySelector("swal-input");e&&(Ye(e,["type","label","placeholder","value"]),n.input=e.getAttribute("type")||"text",e.hasAttribute("label")&&(n.inputLabel=e.getAttribute("label")),e.hasAttribute("placeholder")&&(n.inputPlaceholder=e.getAttribute("placeholder")),e.hasAttribute("value")&&(n.inputValue=e.getAttribute("value")));t=t.querySelectorAll("swal-input-option");return t.length&&(n.inputOptions={},g(t).forEach(function(t){Ye(t,["value"]);var e=t.getAttribute("value"),t=t.innerHTML;n.inputOptions[e]=t})),n},We=function(t,e){var n,o={};for(n in e){var i=e[n],r=t.querySelector(i);r&&(Ye(r,[]),o[i.replace(/^swal-/,"")]=r.innerHTML)}return o},Ke=function(t){var e=Re.concat(["swal-param","swal-button","swal-image","swal-icon","swal-input","swal-input-option"]);g(t.querySelectorAll("*")).forEach(function(t){t=t.tagName.toLowerCase();-1===e.indexOf(t)&&W("Unrecognized element <".concat(t,">"))})},Ye=function(e,n){g(e.attributes).forEach(function(t){-1===n.indexOf(t.name)&&W(['Unrecognized attribute "'.concat(t.name,'" on <').concat(e.tagName.toLowerCase(),">."),"".concat(n.length?"Allowed attributes are: ".concat(n.join(", ")):"To set the value, use HTML within the element.")])})},Ze=function(t,e){"function"==typeof e.didOpen?setTimeout(function(){return e.didOpen(t)}):"function"==typeof e.onOpen&&setTimeout(function(){return e.onOpen(t)})},Qe=function(t,e){Bt&&lt(e)?(t.style.overflowY="hidden",e.addEventListener(Bt,Me)):t.style.overflowY="auto"},Je=function(t,e,n){var o;(/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream||"MacIntel"===navigator.platform&&1<navigator.maxTouchPoints)&&!F(document.body,$.iosfix)&&(o=document.body.scrollTop,document.body.style.top="".concat(-1*o,"px"),vt(document.body,$.iosfix),be(),ve()),"undefined"!=typeof window&&he()&&(ge(),window.addEventListener("resize",ge)),e&&"hidden"!==n&&me(),setTimeout(function(){t.scrollTop=0})},$e=function(t,e,n){vt(t,n.showClass.backdrop),e.style.setProperty("opacity","0","important"),rt(e),setTimeout(function(){vt(e,n.showClass.popup),e.style.removeProperty("opacity")},10),vt([document.documentElement,document.body],$.shown),n.heightAuto&&n.backdrop&&!n.toast&&vt([document.documentElement,document.body],$["height-auto"])},Xe=function(t){return t.checked?1:0},Ge=function(t){return t.checked?t.value:null},tn=function(t){return t.files.length?null!==t.getAttribute("multiple")?t.files:t.files[0]:null},en=function(e,n){function o(t){return on[n.input](i,rn(t),n)}var i=E();b(n.inputOptions)||w(n.inputOptions)?($t(),y(n.inputOptions).then(function(t){e.hideLoading(),o(t)})):"object"===r(n.inputOptions)?o(n.inputOptions):K("Unexpected type of inputOptions! Expected object, Map or Promise, got ".concat(r(n.inputOptions)))},nn=function(e,n){var o=e.getInput();at(o),y(n.inputValue).then(function(t){o.value="number"===n.input?parseFloat(t)||0:"".concat(t),rt(o
2401),o.focus(),e.hideLoading()}).catch(function(t){K("Error in inputValue promise: ".concat(t)),o.value="",rt(o),o.focus(),e.hideLoading()})},on={select:function(t,e,i){function o(t,e,n){var o=document.createElement("option");o.value=n,_(o,e),o.selected=an(n,i.inputValue),t.appendChild(o)}var r=yt(t,$.select);e.forEach(function(t){var e,n=t[0],t=t[1];Array.isArray(t)?((e=document.createElement("optgroup")).label=n,e.disabled=!1,r.appendChild(e),t.forEach(function(t){return o(e,t[1],t[0])})):o(r,t,n)}),r.focus()},radio:function(t,e,i){var r=yt(t,$.radio);e.forEach(function(t){var e=t[0],n=t[1],o=document.createElement("input"),t=document.createElement("label");o.type="radio",o.name=$.radio,o.value=e,an(e,i.inputValue)&&(o.checked=!0);e=document.createElement("span");_(e,n),e.className=$.label,t.appendChild(o),t.appendChild(e),r.appendChild(t)});e=r.querySelectorAll("input");e.length&&e[0].focus()}},rn=function n(o){var i=[];return"undefined"!=typeof Map&&o instanceof Map?o.forEach(function(t,e){"object"===r(t)&&(t=n(t)),i.push([e,t])}):Object.keys(o).forEach(function(t){var e=o[t];"object"===r(e)&&(e=n(e)),i.push([t,e])}),i},an=function(t,e){return e&&e.toString()===t.toString()},cn=function(t,e,n){var o=function(t,e){var n=t.getInput();if(!n)return null;switch(e.input){case"checkbox":return Xe(n);case"radio":return Ge(n);case"file":return tn(n);default:return e.inputAutoTrim?n.value.trim():n.value}}(t,e);e.inputValidator?sn(t,e,o):t.getInput().checkValidity()?("deny"===n?un:ln)(t,e,o):(t.enableButtons(),t.showValidationMessage(e.validationMessage))},sn=function(e,n,o){e.disableInput(),Promise.resolve().then(function(){return y(n.inputValidator(o,n.validationMessage))}).then(function(t){e.enableButtons(),e.enableInput(),t?e.showValidationMessage(t):ln(e,n,o)})},un=function(e,t,n){t.preDeny?Promise.resolve().then(function(){return y(t.preDeny(n,t.validationMessage))}).then(function(t){!1===t?e.hideLoading():e.closePopup({isDenied:!0,value:void 0===t?n:t})}):e.closePopup({isDenied:!0,value:n})},ln=function(e,t,n){t.showLoaderOnConfirm&&$t(),t.preConfirm?(e.resetValidationMessage(),Promise.resolve().then(function(){return y(t.preConfirm(n,t.validationMessage))}).then(function(t){wt(T())||!1===t?e.hideLoading():He(e,void 0===t?n:t)})):He(e,n)},dn=["ArrowRight","ArrowDown","Right","Down"],pn=["ArrowLeft","ArrowUp","Left","Up"],fn=["Escape","Esc"],mn=function(t,e,n){var o=Tt.innerParams.get(t);o.stopKeydownPropagation&&e.stopPropagation(),"Enter"===e.key?hn(t,e,o):"Tab"===e.key?gn(e,o):-1!==[].concat(dn,pn).indexOf(e.key)?vn(e.key):-1!==fn.indexOf(e.key)&&bn(e,o,n)},hn=function(t,e,n){e.isComposing||e.target&&t.getInput()&&e.target.outerHTML===t.getInput().outerHTML&&-1===["textarea","file"].indexOf(n.input)&&(_t(),e.preventDefault())},gn=function(t,e){for(var n=t.target,o=N(),i=-1,r=0;r<o.length;r++)if(n===o[r]){i=r;break}t.shiftKey?Ve(0,i,-1):Ve(0,i,1),t.stopPropagation(),t.preventDefault()},vn=function(t){-1!==[L(),q(),j()].indexOf(document.activeElement)&&(t=-1!==dn.indexOf(t)?"nextElementSibling":"previousElementSibling",(t=document.activeElement[t])&&t.focus())},bn=function(t,e,n){Z(e.allowEscapeKey)&&(t.preventDefault(),n(Q.esc))},yn=function(e,t,n){t.popup.onclick=function(){var t=Tt.innerParams.get(e);t.showConfirmButton||t.showDenyButton||t.showCancelButton||t.showCloseButton||t.timer||t.input||n(Q.close)}},wn=!1,Cn=function(e){e.popup.onmousedown=function(){e.container.onmouseup=function(t){e.container.onmouseup=void 0,t.target===e.container&&(wn=!0)}}},kn=function(e){e.container.onmousedown=function(){e.popup.onmouseup=function(t){e.popup.onmouseup=void 0,t.target!==e.popup&&!e.popup.contains(t.target)||(wn=!0)}}},An=function(n,o,i){o.container.onclick=function(t){var e=Tt.innerParams.get(n);wn?wn=!1:t.target===o.container&&Z(e.allowOutsideClick)&&i(Q.backdrop)}};function xn(t,e){var n=function(t){t="string"==typeof t.template?document.querySelector(t.template):t.template;if(!t)return{};t=t.content||t;return Ke(t),s(Ne(t),Ue(t),_e(t),Fe(t),ze(t),We(t,Re))}(t),o=s({},se.showClass,e.showClass,n.showClass,t.showClass),i=s({},se.hideClass,e.hideClass,n.hideClass,t.hideClass);return(n=s({},se,e,n,t)).showClass=o,n.hideClass=i,!1===t.animation&&(n.showClass={popup:"swal2-noanimation",backdrop:"swal2-noanimation"},n.hideClass={}),n}function Bn(a,c,s){return new Promise(function(t){function e(t){a.closePopup({isDismissed:!0,dismiss:t})}var n,o,i,r;ke.swalPromiseResolve.set(a,t),c.confirmButton.onclick=function(){return e=s,(t=a).disableButtons(),void(e.input?cn(t,e,"confirm"):ln(t,e,!0));var t,e},c.denyButton.onclick=function(){return e=s,(t=a).disableButtons(),void(e.returnInputValueOnDeny?cn(t,e,"deny"):un(t,e,!1));var t,e},c.cancelButton.onclick=function(){return t=e,a.disableButtons(),void t(Q.cancel);var t},c.closeButton.onclick=function(){return e(Q.close)},n=a,r=c,t=e,Tt.innerParams.get(n).toast?yn(n,r,t):(Cn(r),kn(r),An(n,r,t)),o=a,r=s,i=e,(t=ee).keydownTarget&&t.keydownHandlerAdded&&(t.keydownTarget.removeEventListener("keydown",t.keydownHandler,{capture:t.keydownListenerCapture}),t.keydownHandlerAdded=!1),r.toast||(t.keydownHandler=function(t){return mn(o,t,i)},t.keydownTarget=r.keydownListenerCapture?window:x(),t.keydownListenerCapture=r.keydownListenerCapture,t.keydownTarget.addEventListener("keydown",t.keydownHandler,{capture:t.keydownListenerCapture}),t.keydownHandlerAdded=!0),(s.toast&&(s.input||s.footer||s.showCloseButton)?vt:bt)(document.body,$["toast-column"]),r=a,"select"===(t=s).input||"radio"===t.input?en(r,t):-1!==["text","email","number","tel","textarea"].indexOf(t.input)&&(b(t.inputValue)||w(t.inputValue))&&nn(r,t),Ie(s),En(ee,s,e),Sn(c,s),setTimeout(function(){c.container.scrollTop=0})})}function Pn(t){var e={popup:x(),container:k(),content:E(),actions:I(),confirmButton:L(),denyButton:q(),cancelButton:j(),loader:D(),closeButton:R(),validationMessage:T(),progressSteps:O()};return Tt.domCache.set(t,e),e}var En=function(t,e,n){var o=V();at(o),e.timer&&(t.timeout=new qe(function(){n("timer"),delete t.timeout},e.timer),e.timerProgressBar&&(rt(o),setTimeout(function(){t.timeout&&t.timeout.running&&dt(e.timer)})))},Sn=function(t,e){if(!e.toast)return Z(e.allowEnterKey)?void(On(t,e)||Ve(0,-1,1)):Tn()},On=function(t,e){return e.focusDeny&&wt(t.denyButton)?(t.denyButton.focus(),!0):e.focusCancel&&wt(t.cancelButton)?(t.cancelButton.focus(),!0):!(!e.focusConfirm||!wt(t.confirmButton))&&(t.confirmButton.focus(),!0)},Tn=function(){document.activeElement&&"function"==typeof document.activeElement.blur&&document.activeElement.blur()};function Ln(t){"function"==typeof t.didDestroy?t.didDestroy():"function"==typeof t.onDestroy&&t.onDestroy()}function qn(t){delete t.params,delete ee.keydownHandler,delete ee.keydownTarget,jn(Tt),jn(ke)}var Dn,jn=function(t){for(var e in t)t[e]=new WeakMap}
2401,J=Object.freeze({hideLoading:fe,disableLoading:fe,getInput:function(t){var e=Tt.innerParams.get(t||this);return(t=Tt.domCache.get(t||this))?et(t.content,e.input):null},close:xe,closePopup:xe,closeModal:xe,closeToast:xe,enableButtons:function(){Te(this,["confirmButton","denyButton","cancelButton"],!1)},disableButtons:function(){Te(this,["confirmButton","denyButton","cancelButton"],!0)},enableInput:function(){return Le(this.getInput(),!1)},disableInput:function(){return Le(this.getInput(),!0)},showValidationMessage:function(t){var e=Tt.domCache.get(this),n=Tt.innerParams.get(this);_(e.validationMessage,t),e.validationMessage.className=$["validation-message"],n.customClass&&n.customClass.validationMessage&&vt(e.validationMessage,n.customClass.validationMessage),rt(e.validationMessage),(e=this.getInput())&&(e.setAttribute("aria-invalid",!0),e.setAttribute("aria-describedBy",$["validation-message"]),nt(e),vt(e,$.inputerror))},resetValidationMessage:function(){var t=Tt.domCache.get(this);t.validationMessage&&at(t.validationMessage),(t=this.getInput())&&(t.removeAttribute("aria-invalid"),t.removeAttribute("aria-describedBy"),bt(t,$.inputerror))},getProgressSteps:function(){return Tt.domCache.get(this).progressSteps},_main:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};return ce(s({},e,t)),ee.currentInstance&&ee.currentInstance._destroy(),ee.currentInstance=this,je(t=xn(t,e)),Object.freeze(t),ee.timeout&&(ee.timeout.stop(),delete ee.timeout),clearTimeout(ee.restoreFocusTimeout),e=Pn(this),Ut(this,t),Tt.innerParams.set(this,t),Bn(this,e,t)},update:function(e){var t=x(),n=Tt.innerParams.get(this);if(!t||F(t,n.hideClass.popup))return W("You're trying to update the closed or closing popup, that won't work. Use the update() method in preConfirm parameter or show a new popup.");var o={};Object.keys(e).forEach(function(t){Mn.isUpdatableParameter(t)?o[t]=e[t]:W('Invalid parameter to update: "'.concat(t,'". Updatable params are listed here: https://github.com/sweetalert2/sweetalert2/blob/master/src/utils/params.js\n\nIf you think this parameter should be updatable, request it here: https://github.com/sweetalert2/sweetalert2/issues/new?template=02_feature_request.md'))}),n=s({},n,o),Ut(this,n),Tt.innerParams.set(this,n),Object.defineProperties(this,{params:{value:s({},this.params,e),writable:!1,enumerable:!0}})},_destroy:function(){var t=Tt.domCache.get(this),e=Tt.innerParams.get(this);e&&(t.popup&&ee.swalCloseEventFinishedCallback&&(ee.swalCloseEventFinishedCallback(),delete ee.swalCloseEventFinishedCallback),ee.deferDisposalTimer&&(clearTimeout(ee.deferDisposalTimer),delete ee.deferDisposalTimer),Ln(e),qn(this))}}),In=function(){function i(){if(a(this,i),"undefined"!=typeof window){"undefined"==typeof Promise&&K("This package requires a Promise library, please include a shim to enable it in this browser (See: https://github.com/sweetalert2/sweetalert2/wiki/Migration-from-SweetAlert-to-SweetAlert2#1-ie-support)"),Dn=this;for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];var o=Object.freeze(this.constructor.argsToParams(e));Object.defineProperties(this,{params:{value:o,writable:!1,enumerable:!0,configurable:!0}});o=this._main(this.params);Tt.promise.set(this,o)}}return c(i,[{key:"then",value:function(t){return Tt.promise.get(this).then(t)}},{key:"finally",value:function(t){return Tt.promise.get(this).finally(t)}}]),i}();s(In.prototype,J),s(In,pe),Object.keys(J).forEach(function(t){In[t]=function(){if(Dn)return Dn[t].apply(Dn,arguments)}}),In.DismissReason=Q,In.version="10.13.0";var Mn=In;return Mn.default=Mn}),void 0!==this&&this.Sweetalert2&&(this.swal=this.sweetAlert=this.Swal=this.SweetAlert=this.Sweetalert2);
2402"use strict";
2403
2404var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
2405
2406function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
2407
2408function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { c
2408onstructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
2409
2410function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
2411
2412/*
2413 *
2414 * More info at [www.dropzonejs.com](http://www.dropzonejs.com)
2415 *
2416 * Copyright (c) 2012, Matias Meno
2417 *
2418 * Permission is hereby granted, free of charge, to any person obtaining a copy
2419 * of this software and associated documentation files (the "Software"), to deal
2420 * in the Software without restriction, including without limitation the rights
2421 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
2422 * copies of the Software, and to permit persons to whom the Software is
2423 * furnished to do so, subject to the following conditions:
2424 *
2425 * The above copyright notice and this permission notice shall be included in
2426 * all copies or substantial portions of the Software.
2427 *
2428 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
2429 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2430 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
2431 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
2432 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
2433 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
2434 * THE SOFTWARE.
2435 *
2436 */
2437
2438// The Emitter class provides the ability to call `.on()` on Dropzone to listen
2439// to events.
2440// It is strongly based on component's emitter class, and I removed the
2441// functionality because of the dependency hell with different frameworks.
2442var Emitter = function () {
2443  function Emitter() {
2444    _classCallCheck(this, Emitter);
2445  }
2446
2447  _createClass(Emitter, [{
2448    key: "on",
2449
2450    // Add an event listener for given event
2451    value: function on(event, fn) {
2452      this._callbacks = this._callbacks || {};
2453      // Create namespace for this event
2454      if (!this._callbacks[event]) {
2455        this._callbacks[event] = [];
2456      }
2457      this._callbacks[event].push(fn);
2458      return this;
2459    }
2460  }, {
2461    key: "emit",
2462    value: function emit(event) {
2463      this._callbacks = this._callbacks || {};
2464      var callbacks = this._callbacks[event];
2465
2466      if (callbacks) {
2467        for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
2468          args[_key - 1] = arguments[_key];
2469        }
2470
2471        for (var _iterator = callbacks, _isArray = true, _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
2472          var _ref;
2473
2474          if (_isArray) {
2475            if (_i >= _iterator.length) break;
2476            _ref = _iterator[_i++];
2477          } else {
2478            _i = _iterator.next();
2479            if (_i.done) break;
2480            _ref = _i.value;
2481          }
2482
2483          var callback = _ref;
2484
2485          callback.apply(this, args);
2486        }
2487      }
2488
2489      return this;
2490    }
2491
2492    // Remove event listener for given event. If fn is not provided, all event
2493    // listeners for that event will be removed. If neither is provided, all
2494    // event listeners will be removed.
2495
2496  }, {
2497    key: "off",
2498    value: function off(event, fn) {
2499      if (!this._callbacks || arguments.length === 0) {
2500        this._callbacks = {};
2501        return this;
2502      }
2503
2504      // specific event
2505      var callbacks = this._callbacks[event];
2506      if (!callbacks) {
2507        return this;
2508      }
2509
2510      // remove all handlers
2511      if (arguments.length === 1) {
2512        delete this._callbacks[event];
2513        return this;
2514      }
2515
2516      // remove specific handler
2517      for (var i = 0; i < callbacks.length; i++) {
2518        var callback = callbacks[i];
2519        if (callback === fn) {
2520          callbacks.splice(i, 1);
2521          break;
2522        }
2523      }
2524
2525      return this;
2526    }
2527  }]);
2528
2529  return Emitter;
2530}();
2531
2532var Dropzone = function (_Emitter) {
2533  _inherits(Dropzone, _Emitter);
2534
2535  _createClass(Dropzone, null, [{
2536    key: "initClass",
2537    value: function initClass() {
2538
2539      // Exposing the emitter class, mainly for tests
2540      this.prototype.Emitter = Emitter;
2541
2542      /*
2543       This is a list of all available events you can register on a dropzone object.
2544        You can register an event handler like this:
2545        dropzone.on("dragEnter", function() { });
2546        */
2547      this.prototype.events = ["drop", "dragstart", "dragend", "dragenter", "dragover", "dragleave", "addedfile", "addedfiles", "removedfile", "thumbnail", "error", "errormultiple", "processing", "processingmultiple", "uploadprogress", "totaluploadprogress", "sending", "sendingmultiple", "success", "successmultiple", "canceled", "canceledmultiple", "complete", "completemultiple", "reset", "maxfilesexceeded", "maxfilesreached", "queuecomplete"];
2548
2549      this.prototype.defaultOptions = {
2550        /**
2551         * Has to be specified on elements other than form (or when the form
2552         * doesn't have an `action` attribute). You can also
2553         * provide a function that will be called with `files` and
2554         * must return the url (since `v3.12.0`)
2555         */
2556        url: null,
2557
2558        /**
2559         * Can be changed to `"put"` if necessary. You can also provide a function
2560         * that will be called with `files` and must return the method (since `v3.12.0`).
2561         */
2562        method: "post",
2563
2564        /**
2565         * Will be set on the XHRequest.
2566         */
2567        withCredentials: false,
2568
2569        /**
2570         * The timeout for the XHR requests in milliseconds (since `v4.4.0`).
2571         */
2572        timeout: 30000,
2573
2574        /**
2575         * How many file uploads to process in parallel (See the
2576         * Enqueuing file uploads* documentation section for more info)
2577         */
2578        parallelUploads: 2,
2579
2580        /**
2581         * Whether to send multiple files in one request. If
2582         * this it set to true, then the fallback file input element will
2583         * have the `multiple` attribute as well. This option will
2584         * also trigger additional events (like `processingmultiple`). See the events
2585         * documentation section for more information.
2586         */
2587        uploadMultiple: false,
2588
2589        /**
2590         * Whether you want files to be uploaded in chunks to your server. This can't be
2591         * used in combination with `uploadMultiple`.
2592         *
2593         * See [chunksUploaded](#config-chunksUploaded) for the callback to finalise an upload.
2594         */
2595        chunking: false,
2596
2597        /**
2598         * If `chunking` is enabled, this defines whether **every** file should be chunked,
2599         * even if the file size is below chunkSize. This means, that the additional chunk
2600         * form data will be submitted and the `chunksUploaded` callback will be invoked.
2601         */
2602        forceChunking: false,
2603
2604        /**
2605         * If `chunking` is `true`, then this defines the chunk size in bytes.
2606         */
2607        chunkSize: 2000000,
2608
2609        /**
2610         * If `true`, the individual chunks of a file are being uploaded simultaneously.
2611         */
2612        parallelChunkUploads: false,
2613
2614        /**
2615         * Whether a chunk should be retried if it fails.
2616         */
2617        retryChunks: false,
2618
2619        /**
2620         * If `retryChunks` is true, how many times should it be retried.
2621         */
2622        retryChunksLimit: 3,
2623
2624        /**
2625         * If not `null` defines how many files this Dropzone handles. If it exceeds,
2626         * the event `maxfilesexceeded` will be called. The dropzone element gets the
2627         * class `dz-max-files-reached` accordingly so you can provide visual feedback.
2628         */
2629        maxFilesize: 256,
2630
2631        /**
2632         * The name of the file param that gets transferred.
2633         * **NOTE**: If you have the option  `uploadMultiple` set to `true`, then
2634         * Dropzone will append `[]` to the name.
2635         */
2636        paramName: "file",
2637
2638        /**
2639         * Whether thumbnails for images should be generated
2640         */
2641        createImageThumbnails: true,
2642
2643        /**
2644         * In MB. When the filename exceeds this limit, the thumbnail will not be generated.
2645         */
2646        maxThumbnailFilesize: 10,
2647
2648        /**
2649         * If `null`, the ratio of the image will be used to calculate it.
2650         */
2651        thumbnailWidth: 120,
2652
2653        /**
2654         * The same as `thumbnailWidth`. If both are null, images will not be resized.
2655         */
2656        thumbnailHeight: 120,
2657
2658        /**
2659         * How the images should be scaled down in case both, `thumbnailWidth` and `thumbnailHeight` are provided.
2660         * Can be either `contain` or `crop`.
2661         */
2662        thumbnailMethod: 'crop',
2663
2664        /**
2665         * If set, images will be resized to these dimensions before being **uploaded**.
2666         * If only one, `resizeWidth` **or** `resizeHeight` is provided, the original aspect
2667         * ratio of the file will be preserved.
2668         *
2669         * The `options.transformFile` function uses these options, so if the `transformFile` function
2670         * is overridden, these options don't do anything.
2671         */
2672        resizeWidth: null,
2673
2674        /**
2675         * See `resizeWidth`.
2676         */
2677        resizeHeight: null,
2678
2679        /**
2680         * The mime type of the resized image (before it gets uploaded to the server).
2681         * If `null` the original mime type will be used. To force jpeg, for example, use `image/jpeg`.
2682         * See `resizeWidth` for more information.
2683         */
2684        resizeMimeType: null,
2685
2686        /**
2687         * The quality of the resized images. See `resizeWidth`.
2688         */
2689        resizeQuality: 0.8,
2690
2691        /**
2692         * How the images should be scaled down in case both, `resizeWidth` and `resizeHeight` are provided.
2693         * Can be either `contain` or `crop`.
2694         */
2695        resizeMethod: 'contain',
2696
2697        /**
2698         * The base that is used to calculate the filesize. You can change this to
2699         * 1024 if you would rather display kibibytes, mebibytes, etc...
2700         * 1024 is technically incorrect, because `1024 bytes` are `1 kibibyte` not `1 kilobyte`.
2701         * You can change this to `1024` if you don't care about validity.
2702         */
2703        filesizeBase: 1000,
2704
2705        /**
2706         * Can be used to limit the maximum number of files that will be handled by this Dropzone
2707         */
2708        maxFiles: null,
2709
2710        /**
2711         * An optional object to send additional headers to the server. Eg:
2712         * `{ "My-Awesome-Header": "header value" }`
2713         */
2714        headers: null,
2715
2716        /**
2717         * If `true`, the dropzone element itself will be clickable, if `false`
2718         * nothing will be clickable.
2719         *
2720         * You can also pass an HTML element, a CSS selector (for multiple elements)
2721         * or an array of those. In that case, all of those elements will trigger an
2722         * upload when clicked.
2723         */
2724        clickable: true,
2725
2726        /**
2727         * Whether hidden files in directories should be ignored.
2728         */
2729        ignoreHiddenFiles: true,
2730
2731        /**
2732         * The default implementation of `accept` checks the file's mime type or
2733         * extension against this list. This is a comma separated list of mime
2734         * types or file extensions.
2735         *
2736         * Eg.: `image/*,application/pdf,.psd`
2737         *
2738         * If the Dropzone is `clickable` this option will also be used as
2739         * [`accept`](https://developer.mozilla.org/en-US/docs/HTML/Element/input#attr-accept)
2740         * parameter on the hidden file input as well.
2741         */
2742        acceptedFiles: null,
2743
2744        /**
2745         * **Deprecated!**
2746         * Use acceptedFiles instead.
2747         */
2748        acceptedMimeTypes: null,
2749
2750        /**
2751         * If false, files will be added to the queue but the queue will not be
2752         * processed automatically.
2753         * This can be useful if you need some additional user input before sending
2754         * files (or if you want want all files sent at once).
2755         * If you're ready to send the file simply call `myDropzone.processQueue()`.
2756         *
2757         * See the [enqueuing file uploads](#enqueuing-file-uploads) documentation
2758         * section for more information.
2759         */
2760        autoProcessQueue: true,
2761
2762        /**
2763         * If false, files added to the dropzone will not be queued by default.
2764         * You'll have to call `enqueueFile(file)` manually.
2765         */
2766        autoQueue: true,
2767
2768        /**
2769         * If `true`, this will add a link to every file preview to remove or cancel (if
2770         * already uploading) the file. The `dictCancelUpload`, `dictCancelUploadConfirmation`
2771         * and `dictRemoveFile` options are used for the wording.
2772         */
2773        addRemoveLinks: false,
2774
2775        /**
2776         * Defines where to display the file previews – if `null` the
2777         * Dropzone element itself is used. Can be a plain `HTMLElement` or a CSS
2778         * selector. The element should have the `dropzone-previews` class so
2779         * the previews are displayed properly.
2780         */
2781        previewsContainer: null,
2782
2783        /**
2784         * This is the element the hidden input field (which is used when clicking on the
2785         * dropzone to trigger file selection) will be appended to. This might
2786         * be important in case you use frameworks to switch the content of your page.
2787         *
2788         * Can be a selector string, or an element directly.
2789         */
2790        hiddenInputContainer: "body",
2791
2792        /**
2793         * If null, no capture type will be specified
2794         * If camera, mobile devices will skip the file selection and choose camera
2795         * If microphone, mobile devices will skip the file selection and choose the microphone
2796         * If camcorder, mobile devices will skip the file selection and choose the camera in video mode
2797         * On apple devices multiple must be set to false.  AcceptedFiles may need to
2798         * be set to an appropriate mime type (e.g. "image/*", "audio/*", or "video/*").
2799         */
2800        capture: null,
2801
2802        /**
2803         * **Deprecated**. Use `renameFile` instead.
2804         */
2805        renameFilename: null,
2806
2807        /**
2808         * A function that is invoked before the file is uploaded to the server and renames the file.
2809         * This function gets the `File` as argument and can use the `file.name`. The actual name of the
2810         * file that gets used during the upload can be accessed through `file.upload.filename`.
2811         */
2812        renameFile: null,
2813
2814        /**
2815         * If `true` the fallback will be forced. This is very useful to test your server
2816         * implementations first and make sure that everything works as
2817         * expected without dropzone if you experience problems, and to test
2818         * how your fallbacks will look.
2819         */
2820        forceFallback: false,
2821
2822        /**
2823         * The text used before any files are dropped.
2824         */
2825        dictDefaultMessage: "Drop files here to upload",
2826
2827        /**
2828         * The text that replaces the default message text it the browser is not supported.
2829         */
2830        dictFallbackMessage: "Your browser does not support drag'n'drop file uploads.",
2831
2832        /**
2833         * The text that will be added before the fallback form.
2834         * If you provide a  fallback element yourself, or if this option is `null` this will
2835         * be ignored.
2836         */
2837        dictFallbackText: "Please use the fallback form below to upload your files like in the olde
2837n days.",
2838
2839        /**
2840         * If the filesize is too big.
2841         * `{{filesize}}` and `{{maxFilesize}}` will be replaced with the respective configuration values.
2842         */
2843        dictFileTooBig: "File is too big ({{filesize}}MiB). Max filesize: {{maxFilesize}}MiB.",
2844
2845        /**
2846         * If the file doesn't match the file type.
2847         */
2848        dictInvalidFileType: "You can't upload files of this type.",
2849
2850        /**
2851         * If the server response was invalid.
2852         * `{{statusCode}}` will be replaced with the servers status code.
2853         */
2854        dictResponseError: "Server responded with {{statusCode}} code.",
2855
2856        /**
2857         * If `addRemoveLinks` is true, the text to be used for the cancel upload link.
2858         */
2859        dictCancelUpload: "Cancel upload",
2860
2861        /**
2862         * The text that is displayed if an upload was manually canceled
2863         */
2864        dictUploadCanceled: "Upload canceled.",
2865
2866        /**
2867         * If `addRemoveLinks` is true, the text to be used for confirmation when cancelling upload.
2868         */
2869        dictCancelUploadConfirmation: "Are you sure you want to cancel this upload?",
2870
2871        /**
2872         * If `addRemoveLinks` is true, the text to be used to remove a file.
2873         */
2874        dictRemoveFile: "Remove file",
2875
2876        /**
2877         * If this is not null, then the user will be prompted before removing a file.
2878         */
2879        dictRemoveFileConfirmation: null,
2880
2881        /**
2882         * Displayed if `maxFiles` is st and exceeded.
2883         * The string `{{maxFiles}}` will be replaced by the configuration value.
2884         */
2885        dictMaxFilesExceeded: "You can not upload any more files.",
2886
2887        /**
2888         * Allows you to translate the different units. Starting with `tb` for terabytes and going down to
2889         * `b` for bytes.
2890         */
2891        dictFileSizeUnits: { tb: "TB", gb: "GB", mb: "MB", kb: "KB", b: "b" },
2892        /**
2893         * Called when dropzone initialized
2894         * You can add event listeners here
2895         */
2896        init: function init() {},
2897
2898
2899        /**
2900         * Can be an **object** of additional parameters to transfer to the server, **or** a `Function`
2901         * that gets invoked with the `files`, `xhr` and, if it's a chunked upload, `chunk` arguments. In case
2902         * of a function, this needs to return a map.
2903         *
2904         * The default implementation does nothing for normal uploads, but adds relevant information for
2905         * chunked uploads.
2906         *
2907         * This is the same as adding hidden input fields in the form element.
2908         */
2909        params: function params(files, xhr, chunk) {
2910          if (chunk) {
2911            return {
2912              dzuuid: chunk.file.upload.uuid,
2913              dzchunkindex: chunk.index,
2914              dztotalfilesize: chunk.file.size,
2915              dzchunksize: this.options.chunkSize,
2916              dztotalchunkcount: chunk.file.upload.totalChunkCount,
2917              dzchunkbyteoffset: chunk.index * this.options.chunkSize
2918            };
2919          }
2920        },
2921
2922
2923        /**
2924         * A function that gets a [file](https://developer.mozilla.org/en-US/docs/DOM/File)
2925         * and a `done` function as parameters.
2926         *
2927         * If the done function is invoked without arguments, the file is "accepted" and will
2928         * be processed. If you pass an error message, the file is rejected, and the error
2929         * message will be displayed.
2930         * This function will not be called if the file is too big or doesn't match the mime types.
2931         */
2932        accept: function accept(file, done) {
2933          return done();
2934        },
2935
2936
2937        /**
2938         * The callback that will be invoked when all chunks have been uploaded for a file.
2939         * It gets the file for which the chunks have been uploaded as the first parameter,
2940         * and the `done` function as second. `done()` needs to be invoked when everything
2941         * needed to finish the upload process is done.
2942         */
2943        chunksUploaded: function chunksUploaded(file, done) {
2944          done();
2945        },
2946
2947        /**
2948         * Gets called when the browser is not supported.
2949         * The default implementation shows the fallback input field and adds
2950         * a text.
2951         */
2952        fallback: function fallback() {
2953          // This code should pass in IE7... :(
2954          var messageElement = void 0;
2955          this.element.className = this.element.className + " dz-browser-not-supported";
2956
2957          for (var _iterator2 = this.element.getElementsByTagName("div"), _isArray2 = true, _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {
2958            var _ref2;
2959
2960            if (_isArray2) {
2961              if (_i2 >= _iterator2.length) break;
2962              _ref2 = _iterator2[_i2++];
2963            } else {
2964              _i2 = _iterator2.next();
2965              if (_i2.done) break;
2966              _ref2 = _i2.value;
2967            }
2968
2969            var child = _ref2;
2970
2971            if (/(^| )dz-message($| )/.test(child.className)) {
2972              messageElement = child;
2973              child.className = "dz-message"; // Removes the 'dz-default' class
2974              break;
2975            }
2976          }
2977          if (!messageElement) {
2978            messageElement = Dropzone.createElement("<div class=\"dz-message\"><span></span></div>");
2979            this.element.appendChild(messageElement);
2980          }
2981
2982          var span = messageElement.getElementsByTagName("span")[0];
2983          if (span) {
2984            if (span.textContent != null) {
2985              span.textContent = this.options.dictFallbackMessage;
2986            }
2986 else if (span.innerText != null) {
2987              span.innerText = this.options.dictFallbackMessage;
2988            }
2989          }
2990
2991          return this.element.appendChild(this.getFallbackForm());
2992        },
2993
2994
2995        /**
2996         * Gets called to calculate the thumbnail dimensions.
2997         *
2998         * It gets `file`, `width` and `height` (both may be `null`) as parameters and must return an object containing:
2999         *
3000         *  - `srcWidth` & `srcHeight` (required)
3001         *  - `trgWidth` & `trgHeight` (required)
3002         *  - `srcX` & `srcY` (optional, default `0`)
3003         *  - `trgX` & `trgY` (optional, default `0`)
3004         *
3005         * Those values are going to be used by `ctx.drawImage()`.
3006         */
3007        resize: function resize(file, width, height, resizeMethod) {
3008          var info = {
3009            srcX: 0,
3010            srcY: 0,
3011            srcWidth: file.width,
3012            srcHeight: file.height
3013          };
3014
3015          var srcRatio = file.width / file.height;
3016
3017          // Automatically calculate dimensions if not specified
3018          if (width == null && height == null) {
3019            width = info.srcWidth;
3020            height = info.srcHeight;
3021          } else if (width == null) {
3022            width = height * srcRatio;
3023          } else if (height == null) {
3024            height = width / srcRatio;
3025          }
3026
3027          // Make sure images aren't upscaled
3028          width = Math.min(width, info.srcWidth);
3029          height = Math.min(height, info.srcHeight);
3030
3031          var trgRatio = width / height;
3032
3033          if (info.srcWidth > width || info.srcHeight > height) {
3034            // Image is bigger and needs rescaling
3035            if (resizeMethod === 'crop') {
3036              if (srcRatio > trgRatio) {
3037                info.srcHeight = file.height;
3038                info.srcWidth = info.srcHeight * trgRatio;
3039              } else {
3040                info.srcWidth = file.width;
3041                info.srcHeight = info.srcWidth / trgRatio;
3042              }
3043            } else if (resizeMethod === 'contain') {
3044              // Method 'contain'
3045              if (srcRatio > trgRatio) {
3046                height = width / srcRatio;
3047              } else {
3048                width = height * srcRatio;
3049              }
3050            } else {
3051              throw new Error("Unknown resizeMethod '" + resizeMethod + "'");
3052            }
3053          }
3054
3055          info.srcX = (file.width - info.srcWidth) / 2;
3056          info.srcY = (file.height - info.srcHeight) / 2;
3057
3058          info.trgWidth = width;
3059          info.trgHeight = height;
3060
3061          return info;
3062        },
3063
3064
3065        /**
3066         * Can be used to transform the file (for example, resize an image if necessary).
3067         *
3068         * The default implementation uses `resizeWidth` and `resizeHeight` (if provided) and resizes
3069         * images according to those dimensions.
3070         *
3071         * Gets the `file` as the first parameter, and a `done()` function as the second, that needs
3072         * to be invoked with the file when the transformation is done.
3073         */
3074        transformFile: function transformFile(file, done) {
3075          if ((this.options.resizeWidth || this.options.resizeHeight) && file.type.match(/image.*/)) {
3076            return this.resizeImage(file, this.options.resizeWidth, this.options.resizeHeight, this.options.resizeMethod, done);
3077          } else {
3078            return done(file);
3079          }
3080        },
3081
3082
3083        /**
3084         * A string that contains the template used for each dropped
3085         * file. Change it to fulfill your needs but make sure to properly
3086         * provide all elements.
3087         *
3088         * If you want to use an actual HTML element instead of providing a String
3089         * as a config option, you could create a div with the id `tpl`,
3090         * put the template inside it and provide the element like this:
3091         *
3092         *     document
3093         *       .querySelector('#tpl')
3094         *       .innerHTML
3095         *
3096         */
3097        previewTemplate: "<div class=\"dz-preview dz-file-preview\">\n  <div class=\"dz-image\"><img data-dz-thumbnail /></div>\n  <div class=\"dz-details\">\n    <div class=\"dz-size\"><span data-dz-size></span></div>\n    <div class=\"dz-filename\"><span data-dz-name></span></div>\n  </div>\n  <div class=\"dz-progress\"><span class=\"dz-upload\" data-dz-uploadprogress></span></div>\n  <div class=\"dz-error-message\"><span data-dz-errormessage></span></div>\n  <div class=\"dz-success-mark\">\n    <svg width=\"54px\" height=\"54px\" viewBox=\"0 0 54 54\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:sketch=\"http://www.bohemiancoding.com/sketch/ns\">\n      <title>Check</title>\n      <defs></defs>\n      <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" sketch:type=\"MSPage\">\n        <path d=\"M23.5,31.8431458 L17.5852419,25.9283877 C16.0248253,24.3679711 13.4910294,24.366835 11.9289322,25.9289322 C10.3700136,27.4878508 10.3665912,30.0234455 11.9283877,31.5852419 L20.4147581,40.0716123 C20.5133999,40.1702541 20.6159315,40.2626649 20.7218615,40.3488435 C22.2835669,41.8725651 24.794234,41.8626202 26.3461564,40.3106978 L43.3106978,23.3461564 C44.8771021,21.7797521 44.8758057,19.2483887 43.3137085,17.6862915 C41.7547899,16.1273729 39.2176035,16.1255422 37.6538436,17.6893022 L23.5,31.8431458 Z M27,53 C41.3594035,53 53,41.3594035 53,27 C53,12.6405965 41.3594035,1 27,1 C12.6405965,1 1,12.6405965 1,27 C1,41.3594035 12.6405965,53 27,53 Z\" id=\"Oval-2\" stroke-opacity=\"0.198794158\" stroke=\"#747474\" fill-opacity=\"0.816519475\" fill=\"#FFFFFF\" sketch:type=\"MSShapeGroup\"></path>\n      </g>\n    </svg>\n  </div>\n  <div class=\"dz-error-mark\">\n    <svg width=\"54px\" height=\"54px\" viewBox=\"0 0 54 54\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:sketch=\"http://www.bohemiancoding.com/sketch/ns\">\n      <title>Error</title>\n      <defs></defs>\n      <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" sketch:type=\"MSPage\">\n        <g id=\"Check-+-Oval-2\" sketch:type=\"MSLayerGroup\" stroke=\"#747474\" stroke-opacity=\"0.198794158\" fill=\"#FFFFFF\" fill-opacity=\"0.816519475\">\n          <path d=\"M32.6568542,29 L38.3106978,23.3461564 C39.8771021,21.7797521 39.8758057,19.2483887 38.3137085,17.6862915 C36.7547899,16.1273729 34.2176035,16.1255422 32.6538436,17.6893022 L27,23.3431458 L21.3461564,17.6893022 C19.7823965,16.1255422 17.2452101,16.1273729 15.6862915,17.6862915 C14.1241943,19.2483887 14.1228979,21.7797521 15.6893022,23.3461564 L21.3431458,29 L15.6893022,34.6538436 C14.1228979,36.2202479 14.1241943,38.7516113 15.6862915,40.3137085 C17.2452101,41.8726271 19.7823965,41.8744578 21.3461564,40.3106978 L27,34.6568542 L32.6538436,40.3106978 C34.2176035,41.8744578 36.7547899,41.8726271 38.3137085,40.3137085 C39.8758057,38.7516113 39.8771021,36.2202479 38.3106978,34.6538436 L32.6568542,29 Z M27,53 C41.3594035,53 53,41.3594035 53,27 C53,12.6405965 41.3594035,1 27,1 C12.6405965,1 1,12.6405965 1,27 C1,41.3594035 12.6405965,53 27,53 Z\" id=\"Oval-2\" sketch:type=\"MSShapeGroup\"></path>\n        </g>\n      </g>\n    </svg>\n  </div>\n</div>",
3098
3099        // END OPTIONS
3100        // (Required by the dropzone documentation parser)
3101
3102
3103        /*
3104         Those functions register themselves to the events on init and handle all
3105         the user interface specific stuff. Overwriting them won't break the upload
3106         but can break the way it's displayed.
3107         You can overwrite them if you don't like the default behavior. If you just
3108         want to add an additional event handler, register it on the dropzone object
3109         and don't overwrite those options.
3110         */
3111
3112        // Those are self explanatory and simply concern the DragnDrop.
3113        drop: function drop(e) {
3114          return this.element.classList.remove("dz-drag-hover");
3115        },
3116        dragstart: function dragstart(e) {},
3117        dragend: function dragend(e) {
3118          return this.element.classList.remove("dz-drag-hover");
3119        },
3120        dragenter: function dragenter(e) {
3121          return this.element.classList.add("dz-drag-hover");
3122        },
3123        dragover: function dragover(e) {
3124          return this.element.classList.add("dz-drag-hover");
3125        },
3126        dragleave: function dragleave(e) {
3127          return this.element.classList.remove("dz-drag-hover");
3128        },
3129        paste: function paste(e) {},
3130
3131
3132        // Called whenever there are no files left in the dropzone anymore, and the
3133        // dropzone should be displayed as if in the initial state.
3134        reset: function reset() {
3135          return this.element.classList.remove("dz-started");
3136        },
3137
3138
3139        // Called when a file is added to the queue
3140        // Receives `file`
3141        addedfile: function addedfile(file) {
3142          var _this2 = this;
3143
3144          if (this.element === this.previewsContainer) {
3145            this.element.classList.add("dz-started");
3146          }
3147
3148          if (this.previewsContainer) {
3149            file.previewElement = Dropzone.createElement(this.options.previewTemplate.trim());
3150            file.previewTemplate = file.previewElement; // Backwards compatibility
3151
3152            this.previewsContainer.appendChild(file.previewElement);
3153            for (var _iterator3 = file.previewElement.querySelectorAll("[data-dz-name]"), _isArray3 = true, _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) {
3154              var _ref3;
3155
3156              if (_isArray3) {
3157                if (_i3 >= _iterator3.length) break;
3158                _ref3 = _iterator3[_i3++];
3159              } else {
3160                _i3 = _iterator3.next();
3161                if (_i3.done) break;
3162                _ref3 = _i3.value;
3163              }
3164
3165              var node = _ref3;
3166
3167              node.textContent = file.name;
3168            }
3169            for (var _iterator4 = file.previewElement.querySelectorAll("[data-dz-size]"), _isArray4 = true, _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) {
3170              if (_isArray4) {
3171                if (_i4 >= _iterator4.length) break;
3172                node = _iterator4[_i4++];
3173              } else {
3174                _i4 = _iterator4.next();
3175                if (_i4.done) break;
3176                node = _i4.value;
3177              }
3178
3179              node.innerHTML = this.filesize(file.size);
3180            }
3181
3182            if (this.options.addRemoveLinks) {
3183              file._removeLink = Dropzone.createElement("<a class=\"dz-remove\" href=\"javascript:undefined;\" data-dz-remove>" + this.options.dictRemoveFile + "</a>");
3184              file.previewElement.appendChild(file._removeLink);
3185            }
3186
3187            var removeFileEvent = function removeFileEvent(e) {
3188              e.preventDefault();
3189              e.stopPropagation();
3190              if (file.status === Dropzone.UPLOADING) {
3191                return Dropzone.confirm(_this2.options.dictCancelUploadConfirmation, function () {
3192                  return _this2.removeFile(file);
3193                });
3194              } else {
3195                if (_this2.options.dictRemoveFileConfirmation) {
3196                  return Dropzone.confirm(_this2.options.dictRemoveFileConfirmation, function () {
3197                    return _this2.removeFile(file);
3198                  });
3199                } else {
3200                  return _this2.removeFile(file);
3201                }
3202              }
3203            };
3204
3205            for (var _iterator5 = file.previewElement.querySelectorAll("[data-dz-remove]"), _isArray5 = true, _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) {
3206              var _ref4;
3207
3208              if (_isArray5) {
3209                if (_i5 >= _iterator5.length) break;
3210                _ref4 = _iterator5[_i5++];
3211              } else {
3212                _i5 = _iterator5.next();
3213                if (_i5.done) break;
3214                _ref4 = _i5.value;
3215              }
3216
3217              var removeLink = _ref4;
3218
3219              removeLink.addEventListener("click", removeFileEvent);
3220            }
3221          }
3222        },
3223
3224
3225        // Called whenever a file is removed.
3226        removedfile: function removedfile(file) {
3227          if (file.previewElement != null && file.previewElement.parentNode != null) {
3228            file.previewElement.parentNode.removeChild(file.previewElement);
3229          }
3230          return this._updateMaxFilesReachedClass();
3231        },
3232
3233
3234        // Called when a thumbnail has been generated
3235        // Receives `file` and `dataUrl`
3236        thumbnail: function thumbnail(file, dataUrl) {
3237          if (file.previewElement) {
3238            file.previewElement.classList.remove("dz-file-preview");
3239            for (var _iterator6 = file.previewElement.querySelectorAll("[data-dz-thumbnail]"), _isArray6 = true, _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator]();;) {
3240              var _ref5;
3241
3242              if (_isArray6) {
3243                if (_i6 >= _iterator6.length) break;
3244                _ref5 = _iterator6[_i6++];
3245              } else {
3246                _i6 = _iterator6.next();
3247                if (_i6.done) break;
3248                _ref5 = _i6.value;
3249              }
3250
3251              var thumbnailElement = _ref5;
3252
3253              thumbnailElement.alt = file.name;
3254              thumbnailElement.src = dataUrl;
3255            }
3256
3257            return setTimeout(function () {
3258              return file.previewElement.classList.add("dz-image-preview");
3259            }, 1);
3260          }
3261        },
3262
3263
3264        // Called whenever an error occurs
3265        // Receives `file` and `message`
3266        error: function error(file, message) {
3267          if (file.previewElement) {
3268            file.previewElement.classList.add("dz-error");
3269            if (typeof message !== "String" && message.error) {
3270              message = message.error;
3271            }
3272            for (var _iterator7 = file.previewElement.querySelectorAll("[data-dz-errormessage]"), _isArray7 = true, _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) {
3273              var _ref6;
3274
3275              if (_isArray7) {
3276                if (_i7 >= _iterator7.length) break;
3277                _ref6 = _iterator7[_i7++];
3278              } else {
3279                _i7 = _iterator7.next();
3280                if (_i7.done) break;
3281                _ref6 = _i7.value;
3282              }
3283
3284              var node = _ref6;
3285
3286              node.textContent = message;
3287            }
3288          }
3289        },
3290        errormultiple: function errormultiple() {},
3291
3292
3293        // Called when a file gets processed. Since there is a cue, not all added
3294        // files are processed immediately.
3295        // Receives `file`
3296        processing: function processing(file) {
3297          if (file.previewElement) {
3298            file.previewElement.classList.add("dz-processing");
3299            if (file._removeLink) {
3300              return file._removeLink.innerHTML = this.options.dictCancelUpload;
3301            }
3302          }
3303        },
3304        processingmultiple: function processingmultiple() {},
3305
3306
3307        // Called whenever the upload progress gets updated.
3308        // Receives `file`, `progress` (percentage 0-100) and `bytesSent`.
3309        // To get the total number of bytes of the file, use `file.size`
3310        uploadprogress: function uploadprogress(file, progress, bytesSent) {
3311          if (file.previewElement) {
3312            for (var _iterator8 = file.previewElement.querySelectorAll("[data-dz-uploadprogress]"), _isArray8 = true, _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator]();;) {
3313              var _ref7;
3314
3315              if (_isArray8) {
3316                if (_i8 >= _iterator8.length) break;
3317                _ref7 = _iterator8[_i8++];
3318              } else {
3319                _i8 = _iterator8.next();
3320                if (_i8.done) break;
3321                _ref7 = _i8.value;
3322              }
3323
3324              var node = _ref7;
3325
3326              node.nodeName === 'PROGRESS' ? node.value = progress : node.style.width = progress + "%";
3327            }
3328          }
3329        },
3330
3331
3332        // Called whenever the total upload progress gets updated.
3333        // Called with totalUploadProgress (0-100), totalBytes and totalBytesSent
3334        totaluploadprogress: function totaluploadprogress() {},
3335
3336
3337        // Called just before the file is sent. Get
3337s the `xhr` object as second
3338        // parameter, so you can modify it (for example to add a CSRF token) and a
3339        // `formData` object to add additional information.
3340        sending: function sending() {},
3341        sendingmultiple: function sendingmultiple() {},
3342
3343
3344        // When the complete upload is finished and successful
3345        // Receives `file`
3346        success: function success(file) {
3347          if (file.previewElement) {
3348            return file.previewElement.classList.add("dz-success");
3349          }
3350        },
3351        successmultiple: function successmultiple() {},
3352
3353
3354        // When the upload is canceled.
3355        canceled: function canceled(file) {
3356          return this.emit("error", file, this.options.dictUploadCanceled);
3357        },
3358        canceledmultiple: function canceledmultiple() {},
3359
3360
3361        // When the upload is finished, either with success or an error.
3362        // Receives `file`
3363        complete: function complete(file) {
3364          if (file._removeLink) {
3365            file._removeLink.innerHTML = this.options.dictRemoveFile;
3366          }
3367          if (file.previewElement) {
3368            return file.previewElement.classList.add("dz-complete");
3369          }
3370        },
3371        completemultiple: function completemultiple() {},
3372        maxfilesexceeded: function maxfilesexceeded() {},
3373        maxfilesreached: function maxfilesreached() {},
3374        queuecomplete: function queuecomplete() {},
3375        addedfiles: function addedfiles() {}
3376      };
3377
3378      this.prototype._thumbnailQueue = [];
3379      this.prototype._processingThumbnail = false;
3380    }
3381
3382    // global utility
3383
3384  }, {
3385    key: "extend",
3386    value: function extend(target) {
3387      for (var _len2 = arguments.length, objects = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
3388        objects[_key2 - 1] = arguments[_key2];
3389      }
3390
3391      for (var _iterator9 = objects, _isArray9 = true, _i9 = 0, _iterator9 = _isArray9 ? _iterator9 : _iterator9[Symbol.iterator]();;) {
3392        var _ref8;
3393
3394        if (_isArray9) {
3395          if (_i9 >= _iterator9.length) break;
3396          _ref8 = _iterator9[_i9++];
3397        } else {
3398          _i9 = _iterator9.next();
3399          if (_i9.done) break;
3400          _ref8 = _i9.value;
3401        }
3402
3403        var object = _ref8;
3404
3405        for (var key in object) {
3406          var val = object[key];
3407          target[key] = val;
3408        }
3409      }
3410      return target;
3411    }
3412  }]);
3413
3414  function Dropzone(el, options) {
3415    _classCallCheck(this, Dropzone);
3416
3417    var _this = _possibleConstructorReturn(this, (Dropzone.__proto__ || Object.getPrototypeOf(Dropzone)).call(this));
3418
3419    var fallback = void 0,
3420        left = void 0;
3421    _this.element = el;
3422    // For backwards compatibility since the version was in the prototype previously
3423    _this.version = Dropzone.version;
3424
3425    _this.defaultOptions.previewTemplate = _this.defaultOptions.previewTemplate.replace(/\n*/g, "");
3426
3427    _this.clickableElements = [];
3428    _this.listeners = [];
3429    _this.files = []; // All files
3430
3431    if (typeof _this.element === "string") {
3432      _this.element = document.querySelector(_this.element);
3433    }
3434
3435    // Not checking if instance of HTMLElement or Element since IE9 is extremely weird.
3436    if (!_this.element || _this.element.nodeType == null) {
3437      throw new Error("Invalid dropzone element.");
3438    }
3439
3440    if (_this.element.dropzone) {
3441      throw new Error("Dropzone already attached.");
3442    }
3443
3444    // Now add this dropzone to the instances.
3445    Dropzone.instances.push(_this);
3446
3447    // Put the dropzone inside the element itself.
3448    _this.element.dropzone = _this;
3449
3450    var elementOptions = (left = Dropzone.optionsForElement(_this.element)) != null ? left : {};
3451
3452    _this.options = Dropzone.extend({}, _this.defaultOptions, elementOptions, options != null ? options : {});
3453
3454    // If the browser failed, just call the fallback and leave
3455    if (_this.options.forceFallback || !Dropzone.isBrowserSupported()) {
3456      var _ret;
3457
3458      return _ret = _this.options.fallback.call(_this), _possibleConstructorReturn(_this, _ret);
3459    }
3460
3461    // @options.url = @element.getAttribute "action" unless @options.url?
3462    if (_this.options.url == null) {
3463      _this.options.url = _this.element.getAttribute("action");
3464    }
3465
3466    if (!_this.options.url) {
3467      throw new Error("No URL provided.");
3468    }
3469
3470    if (_this.options.acceptedFiles && _this.options.acceptedMimeTypes) {
3471      throw new Error("You can't provide both 'acceptedFiles' and 'acceptedMimeTypes'. 'acceptedMimeTypes' is deprecated.");
3472    }
3473
3474    if (_this.options.uploadMultiple && _this.options.chunking) {
3475      throw new Error('You cannot set both: uploadMultiple and chunking.');
3476    }
3477
3478    // Backwards compatibility
3479    if (_this.options.acceptedMimeTypes) {
3480      _this.options.acceptedFiles = _this.options.acceptedMimeTypes;
3481      delete _this.options.acceptedMimeTypes;
3482    }
3483
3484    // Backwards compatibility
3485    if (_this.options.renameFilename != null) {
3486      _this.options.renameFile = function (file) {
3487        return _this.options.renameFilename.call(_this, file.name, file);
3488      };
3489    }
3490
3491    _this.options.method = _this.options.method.toUpperCase();
3492
3493    if ((fallback = _this.getExistingFallback()) && fallback.parentNode) {
3494      // Remove the fallback
3495      fallback.parentNode.removeChild(fallback);
3496    }
3497
3498    // Display previews in the previewsContainer element or the Dropzone element unless explicitly set to false
3499    if (_this.options.previewsContainer !== false) {
3500      if (_this.options.previewsContainer) {
3501        _this.previewsContainer = Dropzone.getElement(_this.options.previewsContainer, "previewsContainer");
3502      } else {
3503        _this.previewsContainer = _this.element;
3504      }
3505    }
3506
3507    if (_this.options.clickable) {
3508      if (_this.options.clickable === true) {
3509        _this.clickableElements = [_this.element];
3510      } else {
3511        _this.clickableElements = Dropzone.getElements(_this.options.clickable, "clickable");
3512      }
3513    }
3514
3515    _this.init();
3516    return _this;
3517  }
3518
3519  // Returns all files that have been accepted
3520
3521
3522  _createClass(Dropzone, [{
3523    key: "getAcceptedFiles",
3524    value: function getAcceptedFiles() {
3525      return this.files.filter(function (file) {
3526        return file.accepted;
3527      }).map(function (file) {
3528        return file;
3529      });
3530    }
3531
3532    // Returns all files that have been rejected
3533    // Not sure when that's going to be useful, but added for completeness.
3534
3535  }, {
3536    key: "getRejectedFiles",
3537    value: function getRejectedFiles() {
3538      return this.files.filter(function (file) {
3539        return !file.accepted;
3540      }).map(function (file) {
3541        return file;
3542      });
3543    }
3544  }, {
3545    key: "getFilesWithStatus",
3546    value: function getFilesWithStatus(status) {
3547      return this.files.filter(function (file) {
3548        return file.status === status;
3549      }).map(function (file) {
3550        return file;
3551      });
3552    }
3553
3554    // Returns all files that are in the queue
3555
3556  }, {
3557    key: "getQueuedFiles",
3558    value: function getQueuedFiles() {
3559      return this.getFilesWithStatus(Dropzone.QUEUED);
3560    }
3561  }, {
3562    key: "getUploadingFiles",
3563    value: function getUploadingFiles() {
3564      return this.getFilesWithStatus(Dropzone.UPLOADING);
3565    }
3566  }, {
3567    key: "getErroredFiles",
3568    value: function getErroredFiles() {
3569      return this.getFilesWithStatus(Dropzone.ERROR);
3570    }
3571  }, {
3572    key: "getAddedFiles",
3573    value: function getAddedFiles() {
3574      return this.getFilesWithStatus(Dropzone.ADDED);
3575    }
3576
3577    // Files that are either queued or uploading
3578
3579  }, {
3580    key: "getActiveFiles",
3581    value: function getActiveFiles() {
3582      return this.files.filter(function (file) {
3583        return file.status === Dropzone.UPLOADING || file.status === Dropzone.QUEUED;
3584      }).map(function (file) {
3585        return file;
3586      });
3587    }
3588
3589    // The function that gets called when Dropzone is initialized. You
3590    // can (and should) setup event listeners inside this function.
3591
3592  }, {
3593    key: "init",
3594    value: function init() {
3595      var _this3 = this;
3596
3597      // In case it isn't set already
3598      if (this.element.tagName === "form") {
3599        this.element.setAttribute("enctype", "multipart/form-data");
3600      }
3601
3602      if (this.element.classList.contains("dropzone") && !this.element.querySelector(".dz-message")) {
3603        this.element.appendChild(Dropzone.createElement("<div class=\"dz-default dz-message\"><span>" + this.options.dictDefaultMessage + "</span></div>"));
3604      }
3605
3606      if (this.clickableElements.length) {
3607        var setupHiddenFileInput = function setupHiddenFileInput() {
3608          if (_this3.hiddenFileInput) {
3609            _this3.hiddenFileInput.parentNode.removeChild(_this3.hiddenFileInput);
3610          }
3611          _this3.hiddenFileInput = document.createElement("input");
3612          _this3.hiddenFileInput.setAttribute("type", "file");
3613          if (_this3.options.maxFiles === null || _this3.options.maxFiles > 1) {
3614            _this3.hiddenFileInput.setAttribute("multiple", "multiple");
3615          }
3616          _this3.hiddenFileInput.className = "dz-hidden-input";
3617
3618          if (_this3.options.acceptedFiles !== null) {
3619            _this3.hiddenFileInput.setAttribute("accept", _this3.options.acceptedFiles);
3620          }
3621          if (_this3.options.capture !== null) {
3622            _this3.hiddenFileInput.setAttribute("capture", _this3.options.capture);
3623          }
3624
3625          // Not setting `display="none"` because some browsers don't accept clicks
3626          // on elements that aren't displayed.
3627          _this3.hiddenFileInput.style.visibility = "hidden";
3628          _this3.hiddenFileInput.style.position = "absolute";
3629          _this3.hiddenFileInput.style.top = "0";
3630          _this3.hiddenFileInput.style.left = "0";
3631          _this3.hiddenFileInput.style.height = "0";
3632          _this3.hiddenFileInput.style.width = "0";
3633          Dropzone.getElement(_this3.options.hiddenInputContainer, 'hiddenInputContainer').appendChild(_this3.hiddenFileInput);
3634          return _this3.hiddenFileInput.addEventListener("change", function () {
3635            var files = _this3.hiddenFileInput.files;
3636
3637            if (files.length) {
3638              for (var _iterator10 = files, _isArray10 = true, _i10 = 0, _iterator10 = _isArray10 ? _iterator10 : _iterator10[Symbol.iterator]();;) {
3639                var _ref9;
3640
3641                if (_isArray10) {
3642                  if (_i10 >= _iterator10.length) break;
3643                  _ref9 = _iterator10[_i10++];
3644                } else {
3645                  _i10 = _iterator10.next();
3646                  if (_i10.done) break;
3647                  _ref9 = _i10.value;
3648                }
3649
3650                var file = _ref9;
3651
3652                _this3.addFile(file);
3653              }
3654            }
3655            _this3.emit("addedfiles", files);
3656            return setupHiddenFileInput();
3657          });
3658        };
3659        setupHiddenFileInput();
3660      }
3661
3662      this.URL = window.URL !== null ? window.URL : window.webkitURL;
3663
3664      // Setup all event listeners on the Dropzone object itself.
3665      // They're not in @setupEventListeners() because they shouldn't be removed
3666      // again when the dropzone gets disabled.
3667      for (var _iterator11 = this.events, _isArray11 = true, _i11 = 0, _iterator11 = _isArray11 ? _iterator11 : _iterator11[Symbol.iterator]();;) {
3668        var _ref10;
3669
3670        if (_isArray11) {
3671          if (_i11 >= _iterator11.length) break;
3672          _ref10 = _iterator11[_i11++];
3673        } else {
3674          _i11 = _iterator11.next();
3675          if (_i11.done) break;
3676          _ref10 = _i11.value;
3677        }
3678
3679        var eventName = _ref10;
3680
3681        this.on(eventName, this.options[eventName]);
3682      }
3683
3684      this.on("uploadprogress", function () {
3685        return _this3.updateTotalUploadProgress();
3686      });
3687
3688      this.on("removedfile", function () {
3689        return _this3.updateTotalUploadProgress();
3690      });
3691
3692      this.on("canceled", function (file) {
3693        return _this3.emit("complete", file);
3694      });
3695
3696      // Emit a `queuecomplete` event if all files finished uploading.
3697      this.on("complete", function (file) {
3698        if (_this3.getAddedFiles().length === 0 && _this3.getUploadingFiles().length === 0 && _this3.getQueuedFiles().length === 0) {
3699          // This needs to be deferred so that `queuecomplete` really triggers after `complete`
3700          return setTimeout(function () {
3701            return _this3.emit("queuecomplete");
3702          }, 0);
3703        }
3704      });
3705
3706      var noPropagation = function noPropagation(e) {
3707        e.stopPropagation();
3708        if (e.preventDefault) {
3709          return e.preventDefault();
3710        } else {
3711          return e.returnValue = false;
3712        }
3713      };
3714
3715      // Create the listeners
3716      this.listeners = [{
3717        element: this.element,
3718        events: {
3719          "dragstart": function dragstart(e) {
3720            return _this3.emit("dragstart", e);
3721          },
3722          "dragenter": function dragenter(e) {
3723            noPropagation(e);
3724            return _this3.emit("dragenter", e);
3725          },
3726          "dragover": function dragover(e) {
3727            // Makes it possible to drag files from chrome's download bar
3728            // http://stackoverflow.com/questions/19526430/drag-and-drop-file-uploads-from-chrome-downloads-bar
3729            // Try is required to prevent bug in Internet Explorer 11 (SCRIPT65535 exception)
3730            var efct = void 0;
3731            try {
3732              efct = e.dataTransfer.effectAllowed;
3733            } catch (error) {}
3734            e.dataTransfer.dropEffect = 'move' === efct || 'linkMove' === efct ? 'move' : 'copy';
3735
3736            noPropagation(e);
3737            return _this3.emit("dragover", e);
3738          },
3739          "dragleave": function dragleave(e) {
3740            return _this3.emit("dragleave", e);
3741          },
3742          "drop": function drop(e) {
3743            noPropagation(e);
3744            return _this3.drop(e);
3745          },
3746          "dragend": function dragend(e) {
3747            return _this3.emit("dragend", e);
3748          }
3749
3750          // This is disabled right now, because the browsers don't implement it properly.
3751          // "paste": (e) =>
3752          //   noPropagation e
3753          //   @paste e
3754        } }];
3755
3756      this.clickableElements.forEach(function (clickableElement) {
3757        return _this3.listeners.push({
3758          element: clickableElement,
3759          events: {
3760            "click": function click(evt) {
3761              // Only the actual dropzone or the message element should trigger file selection
3762              if (clickableElement !== _this3.element || evt.target === _this3.element || Dropzone.elementInside(evt.target, _this3.element.querySelector(".dz-message"))) {
3763                _this3.hiddenFileInput.click(); // Forward the click
3764              }
3765              return true;
3766            }
3767          }
3768        });
3769      });
3770
3771      this.enable();
3772
3773      return this.options.init.call(this);
3774    }
3775
3776    // Not fully tested yet
3777
3778  }, {
3779    key: "destroy",
3780    value: function destroy() {
3781      this.disable();
3782      this.removeAllFiles(true);
3783      if (this.hiddenFileInput != null ? this.hiddenFileInput.parentNode : undefined) {
3784        this.hiddenFileInput.parentNode.removeChild(this.hiddenFileInput);
3785        this.hiddenFileInput = null;
3786      }
3787      delete this.element.dropzone;
3788      return Dropzone.instances.splice(Dropzone.instances.indexOf(this), 1);
3789    }
3790  }, {
3791    key: "updateTotalUploadProgress",
3792    value: function updateTotalUploadProgress() {
3793      var totalUploadProgress = void 0;
3794      var totalBytesSent = 0;
3795      var totalBytes = 0;
3796
3797      var activeFiles = this.getActiveFiles();
3798
3799      if (activeFiles.length) {
3800        for (var _iterator12 = this.getActiveFiles(), _isArray12 = true, _i12 = 0, _iterator12 = _isArray12 ? _iterator12 : _iterator12[Symbol.iterator]();;) {
3801          var _ref11;
3802
3803          if (_isArray12) {
3804            if (_i12 >= _iterator12.length) break;
3805            _ref11 = _iterator12[_i12++];
3806          } else {
3807            _i12 = _iterator12.next();
3808            if (_i12.done) break;
3809            _ref11 = _i12.value;
3810          }
3811
3812          var file = _ref11;
3813
3814          totalBytesSent += file.upload.bytesSent;
3815          totalBytes += file.upload.total;
3816        }
3817        totalUploadProgress = 100 * totalBytesSent / totalBytes;
3818      } else {
3819        totalUploadProgress = 100;
3820      }
3821
3822      return this.emit("totaluploadprogress", totalUploadProgress, totalBytes, totalBytesSent);
3823    }
3824
3825    // @options.paramName can be a function taking one parameter rather than a string.
3826    // A parameter name for a file is obtained simply by calling this with an index number.
3827
3828  }, {
3829    key: "_getParamName",
3830    value: function _getParamName(n) {
3831      if (typeof this.options.paramName === "function") {
3832        return this.options.paramName(n);
3833      } else {
3834        return "" + this.options.paramName + (this.options.uploadMultiple ? "[" + n + "]" : "");
3835      }
3836    }
3837
3838    // If @options.renameFile is a function,
3839    // the function will be used to rename the file.name before appending it to the formData
3840
3841  }, {
3842    key: "_renameFile",
3843    value: function _renameFile(file) {
3844      if (typeof this.options.renameFile !== "function") {
3845        return file.name;
3846      }
3847      return this.options.renameFile(file);
3848    }
3849
3850    // Returns a form that can be used as fallback if the browser does not support DragnDrop
3851    //
3852    // If the dropzone is already a form, only the input field and button are returned. Otherwise a complete form element is provided.
3853    // This code has to pass in IE7 :(
3854
3855  }, {
3856    key: "getFallbackForm",
3857    value: function getFallbackForm() {
3858      var existingFallback = void 0,
3859          form = void 0;
3860      if (existingFallback = this.getExistingFallback()) {
3861        return existingFallback;
3862      }
3863
3864      var fieldsString = "<div class=\"dz-fallback\">";
3865      if (this.options.dictFallbackText) {
3866        fieldsString += "<p>" + this.options.dictFallbackText + "</p>";
3867      }
3868      fieldsString += "<input type=\"file\" name=\"" + this._getParamName(0) + "\" " + (this.options.uploadMultiple ? 'multiple="multiple"' : undefined) + " /><input type=\"submit\" value=\"Upload!\"></div>";
3869
3870      var fields = Dropzone.createElement(fieldsString);
3871      if (this.element.tagName !== "FORM") {
3872        form = Dropzone.createElement("<form action=\"" + this.options.url + "\" enctype=\"multipart/form-data\" method=\"" + this.options.method + "\"></form>");
3873        form.appendChild(fields);
3874      } else {
3875        // Make sure that the enctype and method attributes are set properly
3876        this.element.setAttribute("enctype", "multipart/form-data");
3877        this.element.setAttribute("method", this.options.method);
3878      }
3879      return form != null ? form : fields;
3880    }
3881
3882    // Returns the fallback elements if they exist already
3883    //
3884    // This code has to pass in IE7 :(
3885
3886  }, {
3887    key: "getExistingFallback",
3888    value: function getExistingFallback() {
3889      var getFallback = function getFallback(elements) {
3890        for (var _iterator13 = elements, _isArray13 = true, _i13 = 0, _iterator13 = _isArray13 ? _iterator13 : _iterator13[Symbol.iterator]();;) {
3891          var _ref12;
3892
3893          if (_isArray13) {
3894            if (_i13 >= _iterator13.length) break;
3895            _ref12 = _iterator13[_i13++];
3896          } else {
3897            _i13 = _iterator13.next();
3898            if (_i13.done) break;
3899            _ref12 = _i13.value;
3900          }
3901
3902          var el = _ref12;
3903
3904          if (/(^| )fallback($| )/.test(el.className)) {
3905            return el;
3906          }
3907        }
3908      };
3909
3910      var _arr = ["div", "form"];
3911      for (var _i14 = 0; _i14 < _arr.length; _i14++) {
3912        var tagName = _arr[_i14];
3913        var fallback;
3914        if (fallback = getFallback(this.element.getElementsByTagName(tagName))) {
3915          return fallback;
3916        }
3917      }
3918    }
3919
3920    // Activates all listeners stored in @listeners
3921
3922  }, {
3923    key: "setupEventListeners",
3924    value: function setupEventListeners() {
3925      return this.listeners.map(function (elementListeners) {
3926        return function () {
3927          var result = [];
3928          for (var event in elementListeners.events) {
3929            var listener = elementListeners.events[event];
3930            result.push(elementListeners.element.addEventListener(event, listener, false));
3931          }
3932          return result;
3933        }();
3934      });
3935    }
3936
3937    // Deactivates all listeners stored in @listeners
3938
3939  }, {
3940    key: "removeEventListeners",
3941    value: function removeEventListeners() {
3942      return this.listeners.map(function (elementListeners) {
3943        return function () {
3944          var result = [];
3945          for (var event in elementListeners.events) {
3946            var listener = elementListeners.events[event];
3947            result.push(elementListeners.element.removeEventListener(event, listener, false));
3948          }
3949          return result;
3950        }();
3951      });
3952    }
3953
3954    // Removes all event listeners and cancels all files in the queue or being processed.
3955
3956  }, {
3957    key: "disable",
3958    value: function disable() {
3959      var _this4 = this;
3960
3961      this.clickableElements.forEach(function (element) {
3962        return element.classList.remove("dz-clickable");
3963      });
3964      this.removeEventListeners();
3965      this.disabled = true;
3966
3967      return this.files.map(function (file) {
3968        return _this4.cancelUpload(file);
3969      });
3970    }
3971  }, {
3972    key: "enable",
3973    value: function enable() {
3974      delete this.disabled;
3975      this.clickableElements.forEach(function (element) {
3976        return element.classList.add("dz-clickable");
3977      });
3978      return this.setupEventListeners();
3979    }
3980
3981    // Returns a nicely formatted filesize
3982
3983  }, {
3984    key: "filesize",
3985    value: function filesize(size) {
3986      var selectedSize = 0;
3987      var selectedUnit = "b";
3988
3989      if (size > 0) {
3990        var units = ['tb', 'gb', 'mb', 'kb', 'b'];
3991
3992        for (var i = 0; i < units.length; i++) {
3993          var unit = units[i];
3994          var cutoff = Math.pow(this.options.filesizeBase, 4 - i) / 10;
3995
3996          if (size >= cutoff) {
3997            selectedSize = size / Math.pow(this.options.filesizeBase, 4 - i);
3998            selectedUnit = unit;
3999            break;
4000          }
4001        }
4002
4003        selectedSize = Math.round(10 * selectedSize) / 10; // Cutting of digits
4004      }
4005
4006      return "<strong>" + selectedSize + "</strong> " + this.options.dictFileSizeUnits[selectedUnit];
4007    }
4008
4009    // Adds or removes the `dz-max-files-reached` class from the form.
4010
4011  }, {
4012    key: "_updateMaxFilesReachedClass",
4013    value: function _updateMaxFilesReachedClass() {
4014      if (this.options.maxFiles != null && this.getAcceptedFiles().length >= this.options.maxFiles) {
4015        if (this.getAcceptedFiles().length === this.options.maxFiles) {
4016          this.emit('maxfilesreached', this.files);
4017        }
4018        return this.element.classList.add("dz-max-files-reached");
4019      } else {
4020        return this.element.classList.remove("dz-max-files-reached");
4021      }
4022    }
4023  }, {
4024    key: "drop",
4025    value: function drop(e) {
4026      if (!e.dataTransfer) {
4027        return;
4028      }
4029      this.emit("drop", e);
4030
4031      // Convert the FileList to an Array
4032      // This is necessary for IE11
4033      var files = [];
4034      for (var i = 0; i < e.dataTransfer.files.length; i++) {
4035        files[i] = e.dataTransfer.files[i];
4036      }
4037
4038      this.emit("addedfiles", files);
4039
4040      // Even if it's a folder, files.length will contain the folders.
4041      if (files.length) {
4042        var items = e.dataTransfer.items;
4043
4044        if (items && items.length && items[0].webkitGetAsEntry != null) {
4045          // The browser supports dropping of folders, so handle items instead of files
4046          this._addFilesFromItems(items);
4047        } else {
4048          this.handleFiles(files);
4049        }
4050      }
4051    }
4052  }, {
4053    key: "paste",
4054    value: function paste(e) {
4055      if (__guard__(e != null ? e.clipboardData : undefined, function (x) {
4056        return x.items;
4057      }) == null) {
4058        return;
4059      }
4060
4061      this.emit("paste", e);
4062      var items = e.clipboardData.items;
4063
4064
4065      if (items.length) {
4066        return this._addFilesFromItems(items);
4067      }
4068    }
4069  }, {
4070    key: "handleFiles",
4071    value: function handleFiles(files) {
4072      for (var _iterator14 = files, _isArray14 = true, _i15 = 0, _iterator14 = _isArray14 ? _iterator14 : _iterator14[Symbol.iterator]();;) {
4073        var _ref13;
4074
4075        if (_isArray14) {
4076          if (_i15 >= _iterator14.length) break;
4077          _ref13 = _iterator14[_i15++];
4078        } else {
4079          _i15 = _iterator14.next();
4080          if (_i15.done) break;
4081          _ref13 = _i15.value;
4082        }
4083
4084        var file = _ref13;
4085
4086        this.addFile(file);
4087      }
4088    }
4089
4090    // When a folder is dropped (or files are pasted), items must be handled
4091    // instead of files.
4092
4093  }, {
4094    key: "_addFilesFromItems",
4095    value: function _addFilesFromItems(items) {
4096      var _this5 = this;
4097
4098      return function () {
4099        var result = [];
4100        for (var _iterator15 = items, _isArray15 = true, _i16 = 0, _iterator15 = _isArray15 ? _iterator15 : _iterator15[Symbol.iterator]();;) {
4101          var _ref14;
4102
4103          if (_isArray15) {
4104            if (_i16 >= _iterator15.length) break;
4105            _ref14 = _iterator15[_i16++];
4106          } else {
4107            _i16 = _iterator15.next();
4108            if (_i16.done) break;
4109            _ref14 = _i16.value;
4110          }
4111
4112          var item = _ref14;
4113
4114          var entry;
4115          if (item.webkitGetAsEntry != null && (entry = item.webkitGetAsEntry())) {
4116            if (entry.isFile) {
4117              result.push(_this5.addFile(item.getAsFile()));
4118            } else if (entry.isDirectory) {
4119              // Append all files from that directory to files
4120              result.push(_this5._addFilesFromDirectory(entry, entry.name));
4121            } else {
4122              result.push(undefined);
4123            }
4124          } else if (item.getAsFile != null) {
4125            if (item.kind == null || item.kind === "file") {
4126              result.push(_this5.addFile(item.getAsFile()));
4127            } else {
4128              result.push(undefined);
4129            }
4130          } else {
4131            result.push(undefined);
4132          }
4133        }
4134        return result;
4135      }();
4136    }
4137
4138    // Goes through the directory, and adds each file it finds recursively
4139
4140  }, {
4141    key: "_addFilesFromDirectory",
4142    value: function _addFilesFromDirectory(directory, path) {
4143      var _this6 = this;
4144
4145      var dirReader = directory.createReader();
4146
4147      var errorHandler = function errorHandler(error) {
4148        return __guardMethod__(console, 'log', function (o) {
4149          return o.log(error);
4150        });
4151      };
4152
4153      var readEntries = function readEntries() {
4154        return dirReader.readEntries(function (entries) {
4155          if (entries.length > 0) {
4156            for (var _iterator16 = entries, _isArray16 = true, _i17 = 0, _iterator16 = _isArray16 ? _iterator16 : _iterator16[Symbol.iterator]();;) {
4157              var _ref15;
4158
4159              if (_isArray16) {
4160                if (_i17 >= _iterator16.length) break;
4161                _ref15 = _iterator16[_i17++];
4162              } else {
4163                _i17 = _iterator16.next();
4164                if (_i17.done) break;
4165                _ref15 = _i17.value;
4166              }
4167
4168              var entry = _ref15;
4169
4170              if (entry.isFile) {
4171                entry.file(function (file) {
4172                  if (_this6.options.ignoreHiddenFiles && file.name.substring(0, 1) === '.') {
4173                    return;
4174                  }
4175                  file.fullPath = path + "/" + file.name;
4176                  return _this6.addFile(file);
4177                });
4178              } else if (entry.isDirectory) {
4179                _this6._addFilesFromDirectory(entry, path + "/" + entry.name);
4180              }
4181            }
4182
4183            // Recursively call readEntries() again, since browser only handle
4184            // the first 100 entries.
4185            // See: https://developer.mozilla.org/en-US/docs/Web/API/DirectoryReader#readEntries
4186            readEntries();
4187          }
4188          return null;
4189        }, errorHandler);
4190      };
4191
4192      return readEntries();
4193    }
4194
4195    // If `done()` is called without argument the file is accepted
4196    // If you call it with an error message, the file is rejected
4197    // (This allows for asynchronous validation)
4198    //
4199    // This function checks the filesize, and if the file.type passes the
4200    // `acceptedFiles` check.
4201
4202  }, {
4203    key: "accept",
4204    value: function accept(file, done) {
4205      if (this.options.maxFilesize && file.size > this.options.maxFilesize * 1024 * 1024) {
4206        return done(this.options.dictFileTooBig.replace("{{filesize}}", Math.round(file.size / 1024 / 10.24) / 100).replace("{{maxFilesize}}", this.options.maxFilesize));
4207      } else if (!Dropzone.isValidFile(file, this.options.acceptedFiles)) {
4208        return done(this.options.dictInvalidFileType);
4209      } else if (this.options.maxFiles != null && this.getAcceptedFiles().length >= this.options.maxFiles) {
4210        done(this.options.dictMaxFilesExceeded.replace("{{maxFiles}}", this.options.maxFiles));
4211        return this.emit("maxfilesexceeded", file);
4212      } else {
4213        return this.options.accept.call(this, file, done);
4214      }
4215    }
4216  }, {
4217    key: "addFile",
4218    value: function addFile(file) {
4219      var _this7 = this;
4220
4221      file.upload = {
4222        uuid: Dropzone.uuidv4(),
4223        progress: 0,
4224        // Setting the total upload size to file.size for the beginning
4225        // It's actual different than the size to be transmitted.
4226        total: file.size,
4227        bytesSent: 0,
4228        filename: this._renameFile(file),
4229        chunked: this.options.chunking && (this.options.forceChunking || file.size > this.options.chunkSize),
4230        totalChunkCount: Math.ceil(file.size / this.options.chunkSize)
4231      };
4232      this.files.push(file);
4233
4234      file.status = Dropzone.ADDED;
4235
4236      this.emit("addedfile", file);
4237
4238      this._enqueueThumbnail(file);
4239
4240      return this.accept(file, function (error) {
4241        if (error) {
4242          file.accepted = false;
4243          _this7._errorProcessing([file], error); // Will set the file.status
4244        } else {
4245          file.accepted = true;
4246          if (_this7.options.autoQueue) {
4247            _this7.enqueueFile(file);
4248          } // Will set .accepted = true
4249        }
4250        return _this7._updateMaxFilesReachedClass();
4251      });
4252    }
4253
4254    // Wrapper for enqueueFile
4255
4256  }, {
4257    key: "enqueueFiles",
4258    value: function enqueueFiles(files) {
4259      for (var _iterator17 = files, _isArray17 = true, _i18 = 0, _iterator17 = _isArray17 ? _iterator17 : _iterator17[Symbol.iterator]();;) {
4260        var _ref16;
4261
4262        if (_isArray17) {
4263          if (_i18 >= _iterator17.length) break;
4264          _ref16 = _iterator17[_i18++];
4265        } else {
4266          _i18 = _iterator17.next();
4267          if (_i18.done) break;
4268          _ref16 = _i18.value;
4269        }
4270
4271        var file = _ref16;
4272
4273        this.enqueueFile(file);
4274      }
4275      return null;
4276    }
4277  }, {
4278    key: "enqueueFile",
4279    value: function enqueueFile(file) {
4280      var _this8 = this;
4281
4282      if (file.status === Dropzone.ADDED && file.accepted === true) {
4283        file.status = Dropzone.QUEUED;
4284        if (this.options.autoProcessQueue) {
4285          return setTimeout(function () {
4286            return _this8.processQueue();
4287          }, 0); // Deferring the call
4288        }
4289      } else {
4290        throw new Error("This file can't be queued because it has already been processed or was rejected.");
4291      }
4292    }
4293  }, {
4294    key: "_enqueueThumbnail",
4295    value: function _enqueueThumbnail(file) {
4296      var _this9 = this;
4297
4298      if (this.options.createImageThumbnails && file.type.match(/image.*/) && file.size <= this.options.maxThumbnailFilesize * 1024 * 1024) {
4299        this._thumbnailQueue.push(file);
4300        return setTimeout(function () {
4301          return _this9._processThumbnailQueue();
4302        }, 0); // Deferring the call
4303      }
4304    }
4305  }, {
4306    key: "_processThumbnailQueue",
4307    value: function _processThumbnailQueue() {
4308      var _this10 = this;
4309
4310      if (this._processingThumbnail || this._thumbnailQueue.length === 0) {
4311        return;
4312      }
4313
4314      this._processingThumbnail = true;
4315      var file = this._thumbnailQueue.shift();
4316      return this.createThumbnail(file, this.options.thumbnailWidth, this.options.thumbnailHeight, this.options.thumbnailMethod, true, function (dataUrl) {
4317        _this10.emit("thumbnail", file, dataUrl);
4318        _this10._processingThumbnail = false;
4319        return _this10._processThumbnailQueue();
4320      });
4321    }
4322
4323    // Can be called by the user to remove a file
4324
4325  }, {
4326    key: "removeFile",
4327    value: function removeFile(file) {
4328      if (file.status === Dropzone.UPLOADING) {
4329        this.cancelUpload(file);
4330      }
4331      this.files = without(this.files, file);
4332
4333      this.emit("removedfile", file);
4334      if (this.files.length === 0) {
4335        return this.emit("reset");
4336      }
4337    }
4338
4339    // Removes all files that aren't currently processed from the list
4340
4341  }, {
4342    key: "removeAllFiles",
4343    value: function removeAllFiles(cancelIfNecessary) {
4344      // Create a copy of files since removeFile() changes the @files array.
4345      if (cancelIfNecessary == null) {
4346        cancelIfNecessary = false;
4347      }
4348      for (var _iterator18 = this.files.slice(), _isArray18 = true, _i19 = 0, _iterator18 = _isArray18 ? _iterator18 : _iterator18[Symbol.iterator]();;) {
4349        var _ref17;
4350
4351        if (_isArray18) {
4352          if (_i19 >= _iterator18.length) break;
4353          _ref17 = _iterator18[_i19++];
4354        } else {
4355          _i19 = _iterator18.next();
4356          if (_i19.done) break;
4357          _ref17 = _i19.value;
4358        }
4359
4360        var file = _ref17;
4361
4362        if (file.status !== Dropzone.UPLOADING || cancelIfNecessary) {
4363          this.removeFile(file);
4364        }
4365      }
4366      return null;
4367    }
4368
4369    // Resizes an image before it gets sent to the server. This function is the default behavior of
4370    // `options.transformFile` if `resizeWidth` or `resizeHeight` are set. The callback is invoked with
4371    // the resized blob.
4372
4373  }, {
4374    key: "resizeImage",
4375    value: function resizeImage(file, width, height, resizeMethod, callback) {
4376      var _this11 = this;
4377
4378      return this.createThumbnail(file, width, height, resizeMethod, true, function (dataUrl, canvas) {
4379        if (canvas == null) {
4380          // The image has not been resized
4381          return callback(file);
4382        } else {
4383          var resizeMimeType = _this11.options.resizeMimeType;
4384
4385          if (resizeMimeType == null) {
4386            resizeMimeType = file.type;
4387          }
4388          var resizedDataURL = canvas.toDataURL(resizeMimeType, _this11.options.resizeQuality);
4389          if (resizeMimeType === 'image/jpeg' || resizeMimeType === 'image/jpg') {
4390            // Now add the original EXIF information
4391            resizedDataURL = ExifRestore.restore(file.dataURL, resizedDataURL);
4392          }
4393          return callback(Dropzone.dataURItoBlob(resizedDataURL));
4394        }
4395      });
4396    }
4397  }, {
4398    key: "createThumbnail",
4399    value: function createThumbnail(file, width, height, resizeMethod, fixOrientation, callback) {
4400      var _this12 = this;
4401
4402      var fileReader = new FileReader();
4403
4404      fileReader.onload = function () {
4405
4406        file.dataURL = fileReader.result;
4407
4408        // Don't bother creating a thumbnail for SVG images since they're vector
4409        if (file.type === "image/svg+xml") {
4410          if (callback != null) {
4411            callback(fileReader.result);
4412          }
4413          return;
4414        }
4415
4416        return _this12.createThumbnailFromUrl(file, width, height, resizeMethod, fixOrientation, callback);
4417      };
4418
4419      return fileReader.readAsDataURL(file);
4420    }
4421  }, {
4422    key: "createThumbnailFromUrl",
4423    value: function createThumbnailFromUrl(file, width, height, resizeMethod, fixOrientation, callback, crossOrigin) {
4424      var _this13 = this;
4425
4426      // Not using `new Image` here because of a bug in latest Chrome versions.
4427      // See https://github.com/enyo/dropzone/pull/226
4428      var img = document.createElement("img");
4429
4430      if (crossOrigin) {
4431        img.crossOrigin = crossOrigin;
4432      }
4433
4434      img.onload = function () {
4435        var loadExif = function loadExif(callback) {
4436          return callback(1);
4437        };
4438        if (typeof EXIF !== 'undefined' && EXIF !== null && fixOrientation) {
4439          loadExif = function loadExif(callback) {
4440            return EXIF.getData(img, function () {
4441              return callback(EXIF.getTag(this, 'Orientation'));
4442            });
4443          };
4444        }
4445
4446        return loadExif(function (orientation) {
4447          file.width = img.width;
4448          file.height = img.height;
4449
4450          var resizeInfo = _this13.options.resize.call(_this13, file, width, height, resizeMethod);
4451
4452          var canvas = document.createElement("canvas");
4453          var ctx = canvas.getContext("2d");
4454
4455          canvas.width = resizeInfo.trgWidth;
4456          canvas.height = resizeInfo.trgHeight;
4457
4458          if (orientation > 4) {
4459            canvas.width = resizeInfo.trgHeight;
4460            canvas.height = resizeInfo.trgWidth;
4461          }
4462
4463          switch (orientation) {
4464            case 2:
4465              // horizontal flip
4466              ctx.translate(canvas.width, 0);
4467              ctx.scale(-1, 1);
4468              break;
4469            case 3:
4470              // 180° rotate left
4471              ctx.translate(canvas.width, canvas.height);
4472              ctx.rotate(Math.PI);
4473              break;
4474            case 4:
4475              // vertical flip
4476              ctx.translate(0, canvas.height);
4477              ctx.scale(1, -1);
4478              break;
4479            case 5:
4480              // vertical flip + 90 rotate right
4481              ctx.rotate(0.5 * Math.PI);
4482              ctx.scale(1, -1);
4483              break;
4484            case 6:
4485              // 90° rotate right
4486              ctx.rotate(0.5 * Math.PI);
4487              ctx.translate(0, -canvas.width);
4488              break;
4489            case 7:
4490              // horizontal flip + 90 rotate right
4491              ctx.rotate(0.5 * Math.PI);
4492              ctx.translate(canvas.height, -canvas.width);
4493              ctx.scale(-1, 1);
4494              break;
4495            case 8:
4496              // 90° rotate left
4497              ctx.rotate(-0.5 * Math.PI);
4498              ctx.translate(-canvas.height, 0);
4499              break;
4500          }
4501
4502          // This is a bugfix for iOS' scaling bug.
4503          drawImageIOSFix(ctx, img, resizeInfo.srcX != null ? resizeInfo.srcX : 0, resizeInfo.srcY != null ? resizeInfo.srcY : 0, resizeInfo.srcWidth, resizeInfo.srcHeight, resizeInfo.trgX != null ? resizeInfo.trgX : 0, resizeInfo.trgY != null ? resizeInfo.trgY : 0, resizeInfo.trgWidth, resizeInfo.trgHeight);
4504
4505          var thumbnail = canvas.toDataURL("image/png");
4506
4507          if (callback != null) {
4508            return callback(thumbnail, canvas);
4509          }
4510        });
4511      };
4512
4513      if (callback != null) {
4514        img.onerror = callback;
4515      }
4516
4517      return img.src = file.dataURL;
4518    }
4519
4520    // Goes through the queue and processes files if there aren't too many already.
4521
4522  }, {
4523    key: "processQueue",
4524    value: function processQueue() {
4525      var parallelUploads = this.options.parallelUploads;
4526
4527      var processingLength = this.getUploadingFiles().length;
4528      var i = processingLength;
4529
4530      // There are already at least as many files uploading than should be
4531      if (processingLength >= parallelUploads) {
4532        return;
4533      }
4534
4535      var queuedFiles = this.getQueuedFiles();
4536
4537      if (!(queuedFiles.length > 0)) {
4538        return;
4539      }
4540
4541      if (this.options.uploadMultiple) {
4542        // The files should be uploaded in one request
4543        return this.processFiles(queuedFiles.slice(0, parallelUploads - processingLength));
4544      } else {
4545        while (i < parallelUploads) {
4546          if (!queuedFiles.length) {
4547            return;
4548          } // Nothing left to process
4549          this.processFile(queuedFiles.shift());
4550          i++;
4551        }
4552      }
4553    }
4554
4555    // Wrapper for `processFiles`
4556
4557  }, {
4558    key: "processFile",
4559    value: function processFile(file) {
4560      return this.processFiles([file]);
4561    }
4562
4563    // Loads the file, then calls finishedLoading()
4564
4565  }, {
4566    key: "processFiles",
4567    value: function processFiles(files) {
4568      for (var _iterator19 = files, _isArray19 = true, _i20 = 0, _iterator19 = _isArray19 ? _iterator19 : _iterator19[Symbol.iterator]();;) {
4569        var _ref18;
4570
4571        if (_isArray19) {
4572          if (_i20 >= _iterator19.length) break;
4573          _ref18 = _iterator19[_i20++];
4574        } else {
4575          _i20 = _iterator19.next();
4576          if (_i20.done) break;
4577          _ref18 = _i20.value;
4578        }
4579
4580        var file = _ref18;
4581
4582        file.processing = true; // Backwards compatibility
4583        file.status = Dropzone.UPLOADING;
4584
4585        this.emit("processing", file);
4586      }
4587
4588      if (this.options.uploadMultiple) {
4589        this.emit("processingmultiple", files);
4590      }
4591
4592      return this.uploadFiles(files);
4593    }
4594  }, {
4595    key: "_getFilesWithXhr",
4596    value: function _getFilesWithXhr(xhr) {
4597      var files = void 0;
4598      return files = this.files.filter(function (file) {
4599        return file.xhr === xhr;
4600      }).map(function (file) {
4601        return file;
4602      });
4603    }
4604
4605    // Cancels the file upload and sets the status to CANCELED
4606    // **if** the file is actually being uploaded.
4607    // If it's still in the queue, the file is being removed from it and the status
4608    // set to CANCELED.
4609
4610  }, {
4611    key: "cancelUpload",
4612    value: function cancelUpload(file) {
4613      if (file.status === Dropzone.UPLOADING) {
4614        var groupedFiles = this._getFilesWithXhr(file.xhr);
4615        for (var _iterator20 = groupedFiles, _isArray20 = true, _i21 = 0, _iterator20 = _isArray20 ? _iterator20 : _iterator20[Symbol.iterator]();;) {
4616          var _ref19;
4617
4618          if (_isArray20) {
4619            if (_i21 >= _iterator20.length) break;
4620            _ref19 = _iterator20[_i21++];
4621          } else {
4622            _i21 = _iterator20.next();
4623            if (_i21.done) break;
4624            _ref19 = _i21.value;
4625          }
4626
4627          var groupedFile = _ref19;
4628
4629          groupedFile.status = Dropzone.CANCELED;
4630        }
4631        if (typeof file.xhr !== 'undefined') {
4632          file.xhr.abort();
4633        }
4634        for (var _iterator21 = groupedFiles, _isArray21 = true, _i22 = 0, _iterator21 = _isArray21 ? _iterator21 : _iterator21[Symbol.iterator]();;) {
4635          var _ref20;
4636
4637          if (_isArray21) {
4638            if (_i22 >= _iterator21.length) break;
4639            _ref20 = _iterator21[_i22++];
4640          } else {
4641            _i22 = _iterator21.next();
4642            if (_i22.done) break;
4643            _ref20 = _i22.value;
4644          }
4645
4646          var _groupedFile = _ref20;
4647
4648          this.emit("canceled", _groupedFile);
4649        }
4650        if (this.options.uploadMultiple) {
4651          this.emit("canceledmultiple", groupedFiles);
4652        }
4653      } else if (file.status === Dropzone.ADDED || file.status === Dropzone.QUEUED) {
4654        file.status = Dropzone.CANCELED;
4655        this.emit("canceled", file);
4656        if (this.options.uploadMultiple) {
4657          this.emit("canceledmultiple", [file]);
4658        }
4659      }
4660
4661      if (this.options.autoProcessQueue) {
4662        return this.processQueue();
4663      }
4664    }
4665  }, {
4666    key: "resolveOption",
4667    value: function resolveOption(option) {
4668      if (typeof option === 'function') {
4669        for (var _len3 = arguments.length, args = Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
4670          args[_key3 - 1] = arguments[_key3];
4671        }
4672
4673        return option.apply(this, args);
4674      }
4675      return option;
4676    }
4677  }, {
4678    key: "uploadFile",
4679    value: function uploadFile(file) {
4680      return this.uploadFiles([file]);
4681    }
4682  }, {
4683    key: "uploadFiles",
4684    value: function uploadFiles(files) {
4685      var _this14 = this;
4686
4687      this._transformFiles(files, function (transformedFiles) {
4688        if (files[0].upload.chunked) {
4689          // This file should be sent in chunks!
4690
4691          // If the chunking option is set, we **know** that there can only be **one** file, since
4692          // uploadMultiple is not allowed with this option.
4693          var file = files[0];
4694          var transformedFile = transformedFiles[0];
4695          var startedChunkCount = 0;
4696
4697          file.upload.chunks = [];
4698
4699          var handleNextChunk = function handleNextChunk() {
4700            var chunkIndex = 0;
4701
4702            // Find the next item in file.upload.chunks that is not defined yet.
4703            while (file.upload.chunks[chunkIndex] !== undefined) {
4704              chunkIndex++;
4705            }
4706
4707            // This means, that all chunks have already been started.
4708            if (chunkIndex >= file.upload.totalChunkCount) return;
4709
4710            startedChunkCount++;
4711
4712            var start = chunkIndex * _this14.options.chunkSize;
4713            var end = Math.min(start + _this14.options.chunkSize, file.size);
4714
4715            var dataBlock = {
4716              name: _this14._getParamName(0),
4717              data: transformedFile.webkitSlice ? transformedFile.webkitSlice(start, end) : transformedFile.slice(start, end),
4718              filename: file.upload.filename,
4719              chunkIndex: chunkIndex
4720            };
4721
4722            file.upload.chunks[chunkIndex] = {
4723              file: file,
4724              index: chunkIndex,
4725              dataBlock: dataBlock, // In case we want to retry.
4726              status: Dropzone.UPLOADING,
4727              progress: 0,
4728              retries: 0 // The number of times this block has been retried.
4729            };
4730
4731            _this14._uploadData(files, [dataBlock]);
4732          };
4733
4734          file.upload.finishedChunkUpload = function (chunk) {
4735            var allFinished = true;
4736            chunk.status = Dropzone.SUCCESS;
4737
4738            // Clear the data from the chunk
4739            chunk.dataBlock = null;
4740            // Leaving this reference to xhr intact here will cause memory leaks in some browsers
4741            chunk.xhr = null;
4742
4743            for (var i = 0; i < file.upload.totalChunkCount; i++) {
4744              if (file.upload.chunks[i] === undefined) {
4745                return handleNextChunk();
4746              }
4747              if (file.upload.chunks[i].status !== Dropzone.SUCCESS) {
4748                allFinished = false;
4749              }
4750            }
4751
4752            if (allFinished) {
4753              _this14.options.chunksUploaded(file, function () {
4754                _this14._finished(files, '', null);
4755              });
4756            }
4757          };
4758
4759          if (_this14.options.parallelChunkUploads) {
4760            for (var i = 0; i < file.upload.totalChunkCount; i++) {
4761              handleNextChunk();
4762            }
4763          } else {
4764            handleNextChunk();
4765          }
4766        } else {
4767          var dataBlocks = [];
4768          for (var _i23 = 0; _i23 < files.length; _i23++) {
4769            dataBlocks[_i23] = {
4770              name: _this14._getParamName(_i23),
4771              data: transformedFiles[_i23],
4772              filename: files[_i23].upload.filename
4773            };
4774          }
4775          _this14._uploadData(files, dataBlocks);
4776        }
4777      });
4778    }
4779
4780    /// Returns the right chunk for given file and xhr
4781
4782  }, {
4783    key: "_getChunk",
4784    value: function _getChunk(file, xhr) {
4785      for (var i = 0; i < file.upload.totalChunkCount; i++) {
4786        if (file.upload.chunks[i] !== undefined && file.upload.chunks[i].xhr === xhr) {
4787          return file.upload.chunks[i];
4788        }
4789      }
4790    }
4791
4792    // This function actually uploads the file(s) to the server.
4793    // If dataBlocks contains the actual data to upload (meaning, that this could either be transformed
4794    // files, or individual chunks for chunked upload).
4795
4796  }, {
4797    key: "_uploadData",
4798    value: function _uploadData(files, dataBlocks) {
4799      var _this15 = this;
4800
4801      var xhr = new XMLHttpRequest();
4802
4803      // Put the xhr object in the file objects to be able to reference it later.
4804      for (var _iterator22 = files, _isArray22 = true, _i24 = 0, _iterator22 = _isArray22 ? _iterator22 : _iterator22[Symbol.iterator]();;) {
4805        var _ref21;
4806
4807        if (_isArray22) {
4808          if (_i24 >= _iterator22.length) break;
4809          _ref21 = _iterator22[_i24++];
4810        } else {
4811          _i24 = _iterator22.next();
4812          if (_i24.done) break;
4813          _ref21 = _i24.value;
4814        }
4815
4816        var file = _ref21;
4817
4818        file.xhr = xhr;
4819      }
4820      if (files[0].upload.chunked) {
4821        // Put the xhr object in the right chunk object, so it can be associated later, and found with _getChunk
4822        files[0].upload.chunks[dataBlocks[0].chunkIndex].xhr = xhr;
4823      }
4824
4825      var method = this.resolveOption(this.options.method, files);
4826      var url = this.resolveOption(this.options.url, files);
4827      xhr.open(method, url, true);
4828
4829      // Setting the timeout after open because of IE11 issue: https://gitlab.com/meno/dropzone/issues/8
4830      xhr.timeout = this.resolveOption(this.options.timeout, files);
4831
4832      // Has to be after `.open()`. See https://github.com/enyo/dropzone/issues/179
4833      xhr.withCredentials = !!this.options.withCredentials;
4834
4835      xhr.onload = function (e) {
4836        _this15._finishedUploading(files, xhr, e);
4837      };
4838
4839      xhr.onerror = function () {
4840        _this15._handleUploadError(files, xhr);
4841      };
4842
4843      // Some browsers do not have the .upload property
4844      var progressObj = xhr.upload != null ? xhr.upload : xhr;
4845      progressObj.onprogress = function (e) {
4846        return _this15._updateFilesUploadProgress(files, xhr, e);
4847      };
4848
4849      var headers = {
4850        "Accept": "application/json",
4851        "Cache-Control": "no-cache",
4852        "X-Requested-With": "XMLHttpRequest"
4853      };
4854
4855      if (this.options.headers) {
4856        Dropzone.extend(headers, this.options.headers);
4857      }
4858
4859      for (var headerName in headers) {
4860        var headerValue = headers[headerName];
4861        if (headerValue) {
4862          xhr.setRequestHeader(headerName, headerValue);
4863        }
4864      }
4865
4866      var formData = new FormData();
4867
4868      // Adding all @options parameters
4869      if (this.options.params) {
4870        var additionalParams = this.options.params;
4871        if (typeof additionalParams === 'function') {
4872          additionalParams = additionalParams.call(this, files, xhr, files[0].upload.chunked ? this._getChunk(files[0], xhr) : null);
4873        }
4874
4875        for (var key in additionalParams) {
4876          var value = additionalParams[key];
4877          formData.append(key, value);
4878        }
4879      }
4880
4881      // Let the user add additional data if necessary
4882      for (var _iterator23 = files, _isArray23 = true, _i25 = 0, _iterator23 = _isArray23 ? _iterator23 : _iterator23[Symbol.iterator]();;) {
4883        var _ref22;
4884
4885        if (_isArray23) {
4886          if (_i25 >= _iterator23.length) break;
4887          _ref22 = _iterator23[_i25++];
4888        } else {
4889          _i25 = _iterator23.next();
4890          if (_i25.done) break;
4891          _ref22 = _i25.value;
4892        }
4893
4894        var _file = _ref22;
4895
4896        this.emit("sending", _file, xhr, formData);
4897      }
4898      if (this.options.uploadMultiple) {
4899        this.emit("sendingmultiple", files, xhr, formData);
4900      }
4901
4902      this._addFormElementData(formData);
4903
4904      // Finally add the files
4905      // Has to be last because some servers (eg: S3) expect the file to be the last parameter
4906      for (var i = 0; i < dataBlocks.length; i++) {
4907        var dataBlock = dataBlocks[i];
4908        formData.append(dataBlock.name, dataBlock.data, dataBlock.filename);
4909      }
4910
4911      this.submitRequest(xhr, formData, files);
4912    }
4913
4914    // Transforms all files with this.options.transformFile and invokes done with the transformed files when done.
4915
4916  }, {
4917    key: "_transformFiles",
4918    value: function _transformFiles(files, done) {
4919      var _this16 = this;
4920
4921      var transformedFiles = [];
4922      // Clumsy way of handling asynchronous calls, until I get to add a proper Future library.
4923      var doneCounter = 0;
4924
4925      var _loop = function _loop(i) {
4926        _this16.options.transformFile.call(_this16, files[i], function (transformedFile) {
4927          transformedFiles[i] = transformedFile;
4928          if (++doneCounter === files.length) {
4929            done(transformedFiles);
4930          }
4931        });
4932      };
4933
4934      for (var i = 0; i < files.length; i++) {
4935        _loop(i);
4936      }
4937    }
4938
4939    // Takes care of adding other input elements of the form to the AJAX request
4940
4941  }, {
4942    key: "_addFormElementData",
4943    value: function _addFormElementData(formData) {
4944      // Take care of other input elements
4945      if (this.element.tagName === "FORM") {
4946        for (var _iterator24 = this.element.querySelectorAll("input, textarea, select, button"), _isArray24 = true, _i26 = 0, _iterator24 = _isArray24 ? _iterator24 : _iterator24[Symbol.iterator]();;) {
4947          var _ref23;
4948
4949          if (_isArray24) {
4950            if (_i26 >= _iterator24.length) break;
4951            _ref23 = _iterator24[_i26++];
4952          } else {
4953            _i26 = _iterator24.next();
4954            if (_i26.done) break;
4955            _ref23 = _i26.value;
4956          }
4957
4958          var input = _ref23;
4959
4960          var inputName = input.getAttribute("name");
4961          var inputType = input.getAttribute("type");
4962          if (inputType) inputType = inputType.toLowerCase();
4963
4964          // If the input doesn't have a name, we can't use it.
4965          if (typeof inputName === 'undefined' || inputName === null) continue;
4966
4967          if (input.tagName === "SELECT" && input.hasAttribute("multiple")) {
4968            // Possibly multiple values
4969            for (var _iterator25 = input.options, _isArray25 = true, _i27 = 0, _iterator25 = _isArray25 ? _iterator25 : _iterator25[Symbol.iterator]();;) {
4970              var _ref24;
4971
4972              if (_isArray25) {
4973                if (_i27 >= _iterator25.length) break;
4974                _ref24 = _iterator25[_i27++];
4975              } else {
4976                _i27 = _iterator25.next();
4977                if (_i27.done) break;
4978                _ref24 = _i27.value;
4979              }
4980
4981              var option = _ref24;
4982
4983              if (option.selected) {
4984                formData.append(inputName, option.value);
4985              }
4986            }
4987          } else if (!inputType || inputType !== "checkbox" && inputType !== "radio" || input.checked) {
4988            formData.append(inputName, input.value);
4989          }
4990        }
4991      }
4992    }
4993
4994    // Invoked when there is new progress information about given files.
4995    // If e is not provided, it is assumed that the upload is finished.
4996
4997  }, {
4998    key: "_updateFilesUploadProgress",
4999    value: function _updateFilesUploadProgress(files, xhr, e) {
5000      var progress = void 0;
5001      if (typeof e !== 'undefined') {
5002        progress = 100 * e.loaded / e.total;
5003
5004        if (files[0].upload.chunked) {
5005          var file = files[0];
5006          // Since this is a chunked upload, we need to update the appropriate chunk progress.
5007          var chunk = this._getChunk(file, xhr);
5008          chunk.progress = progress;
5009          chunk.total = e.total;
5010          chunk.bytesSent = e.loaded;
5011          var fileProgress = 0,
5012              fileTotal = void 0,
5013              fileBytesSent = void 0;
5014          file.upload.progress = 0;
5015          file.upload.total = 0;
5016          file.upload.bytesSent = 0;
5017          for (var i = 0; i < file.upload.totalChunkCount; i++) {
5018            if (file.upload.chunks[i] !== undefined && file.upload.chunks[i].progress !== undefined) {
5019              file.upload.progress += file.upload.chunks[i].progress;
5020              file.upload.total += file.upload.chunks[i].total;
5021              file.upload.bytesSent += file.upload.chunks[i].bytesSent;
5022            }
5023          }
5024          file.upload.progress = file.upload.progress / file.upload.totalChunkCount;
5025        } else {
5026          for (var _iterator26 = files, _isArray26 = true, _i28 = 0, _iterator26 = _isArray26 ? _iterator26 : _iterator26[Symbol.iterator]();;) {
5027            var _ref25;
5028
5029            if (_isArray26) {
5030              if (_i28 >= _iterator26.length) break;
5031              _ref25 = _iterator26[_i28++];
5032            } else {
5033              _i28 = _iterator26.next();
5034              if (_i28.done) break;
5035              _ref25 = _i28.value;
5036            }
5037
5038            var _file2 = _ref25;
5039
5040            _file2.upload.progress = progress;
5041            _file2.upload.total = e.total;
5042            _file2.upload.bytesSent = e.loaded;
5043          }
5044        }
5045        for (var _iterator27 = files, _isArray27 = true, _i29 = 0, _iterator27 = _isArray27 ? _iterator27 : _iterator27[Symbol.iterator]();;) {
5046          var _ref26;
5047
5048          if (_isArray27) {
5049            if (_i29 >= _iterator27.length) break;
5050            _ref26 = _iterator27[_i29++];
5051          } else {
5052            _i29 = _iterator27.next();
5053            if (_i29.done) break;
5054            _ref26 = _i29.value;
5055          }
5056
5057          var _file3 = _ref26;
5058
5059          this.emit("uploadprogress", _file3, _file3.upload.progress, _file3.upload.bytesSent);
5060        }
5061      } else {
5062        // Called when the file finished uploading
5063
5064        var allFilesFinished = true;
5065
5066        progress = 100;
5067
5068        for (var _iterator28 = files, _isArray28 = true, _i30 = 0, _iterator28 = _isArray28 ? _iterator28 : _iterator28[Symbol.iterator]();;) {
5069          var _ref27;
5070
5071          if (_isArray28) {
5072            if (_i30 >= _iterator28.length) break;
5073            _ref27 = _iterator28[_i30++];
5074          } else {
5075            _i30 = _iterator28.next();
5076            if (_i30.done) break;
5077            _ref27 = _i30.value;
5078          }
5079
5080          var _file4 = _ref27;
5081
5082          if (_file4.upload.progress !== 100 || _file4.upload.bytesSent !== _file4.upload.total) {
5083            allFilesFinished = false;
5084          }
5085          _file4.upload.progress = progress;
5086          _file4.upload.bytesSent = _file4.upload.total;
5087        }
5088
5089        // Nothing to do, all files already at 100%
5090        if (allFilesFinished) {
5091          return;
5092        }
5093
5094        for (var _iterator29 = files, _isArray29 = true, _i31 = 0, _iterator29 = _isArray29 ? _iterator29 : _iterator29[Symbol.iterator]();;) {
5095          var _ref28;
5096
5097          if (_isArray29) {
5098            if (_i31 >= _iterator29.length) break;
5099            _ref28 = _iterator29[_i31++];
5100          } else {
5101            _i31 = _iterator29.next();
5102            if (_i31.done) break;
5103            _ref28 = _i31.value;
5104          }
5105
5106          var _file5 = _ref28;
5107
5108          this.emit("uploadprogress", _file5, progress, _file5.upload.bytesSent);
5109        }
5110      }
5111    }
5112  }, {
5113    key: "_finishedUploading",
5114    value: function _finishedUploading(files, xhr, e) {
5115      var response = void 0;
5116
5117      if (files[0].status === Dropzone.CANCELED) {
5118        return;
5119      }
5120
5121      if (xhr.readyState !== 4) {
5122        return;
5123      }
5124
5125      if (xhr.responseType !== 'arraybuffer' && xhr.responseType !== 'blob') {
5126        response = xhr.responseText;
5127
5128        if (xhr.getResponseHeader("content-type") && ~xhr.getResponseHeader("content-type").indexOf("application/json")) {
5129          try {
5130            response = JSON.parse(response);
5131          } catch (error) {
5132            e = error;
5133            response = "Invalid JSON response from server.";
5134          }
5135        }
5136      }
5137
5138      this._updateFilesUploadProgress(files);
5139
5140      if (!(200 <= xhr.status && xhr.status < 300)) {
5141        this._handleUploadError(files, xhr, response);
5142      } else {
5143        if (files[0].upload.chunked) {
5144          files[0].upload.finishedChunkUpload(this._getChunk(files[0], xhr));
5145        } else {
5146          this._finished(files, response, e);
5147        }
5148      }
5149    }
5150  }, {
5151    key: "_handleUploadError",
5152    value: function _handleUploadError(files, xhr, response) {
5153      if (files[0].status === Dropzone.CANCELED) {
5154        return;
5155      }
5156
5157      if (files[0].upload.chunked && this.options.retryChunks) {
5158        var chunk = this._getChunk(files[0], xhr);
5159        if (chunk.retries++ < this.options.retryChunksLimit) {
5160          this._uploadData(files, [chunk.dataBlock]);
5161          return;
5162        } else {
5163          console.warn('Retried this chunk too often. Giving up.');
5164        }
5165      }
5166
5167      for (var _iterator30 = files, _isArray30 = true, _i32 = 0, _iterator30 = _isArray30 ? _iterator30 : _iterator30[Symbol.iterator]();;) {
5168        var _ref29;
5169
5170        if (_isArray30) {
5171          if (_i32 >= _iterator30.length) break;
5172          _ref29 = _iterator30[_i32++];
5173        } else {
5174          _i32 = _iterator30.next();
5175          if (_i32.done) break;
5176          _ref29 = _i32.value;
5177        }
5178
5179        var file = _ref29;
5180
5181        this._errorProcessing(files, response || this.options.dictResponseError.replace("{{statusCode}}", xhr.status), xhr);
5182      }
5183    }
5184  }, {
5185    key: "submitRequest",
5186    value: function submitRequest(xhr, formData, files) {
5187      xhr.send(formData);
5188    }
5189
5190    // Called internally when processing is finished.
5191    // Individual callbacks have to be called in the appropriate sections.
5192
5193  }, {
5194    key: "_finished",
5195    value: function _finished(files, responseText, e) {
5196      for (var _iterator31 = files, _isArray31 = true, _i33 = 0, _iterator31 = _isArray31 ? _iterator31 : _iterator31[Symbol.iterator]();;) {
5197        var _ref30;
5198
5199        if (_isArray31) {
5200          if (_i33 >= _iterator31.length) break;
5201          _ref30 = _iterator31[_i33++];
5202        } else {
5203          _i33 = _iterator31.next();
5204          if (_i33.done) break;
5205          _ref30 = _i33.value;
5206        }
5207
5208        var file = _ref30;
5209
5210        file.status = Dropzone.SUCCESS;
5211        this.emit("success", file, responseText, e);
5212        this.emit("complete", file);
5213      }
5214      if (this.options.uploadMultiple) {
5215        this.emit("successmultiple", files, responseText, e);
5216        this.emit("completemultiple", files);
5217      }
5218
5219      if (this.options.autoProcessQueue) {
5220        return this.processQueue();
5221      }
5222    }
5223
5224    // Called internally when processing is finished.
5225    // Individual callbacks have to be called in the appropriate sections.
5226
5227  }, {
5228    key: "_errorProcessing",
5229    value: function _errorProcessing(files, message, xhr) {
5230      for (var _iterator32 = files, _isArray32 = true, _i34 = 0, _iterator32 = _isArray32 ? _iterator32 : _iterator32[Symbol.iterator]();;) {
5231        var _ref31;
5232
5233        if (_isArray32) {
5234          if (_i34 >= _iterator32.length) break;
5235          _ref31 = _iterator32[_i34++];
5236        } else {
5237          _i34 = _iterator32.next();
5238          if (_i34.done) break;
5239          _ref31 = _i34.value;
5240        }
5241
5242        var file = _ref31;
5243
5244        file.status = Dropzone.ERROR;
5245        this.emit("error", file, message, xhr);
5246        this.emit("complete", file);
5247      }
5248      if (this.options.uploadMultiple) {
5249        this.emit("errormultiple", files, message, xhr);
5250        this.emit("completemultiple", files);
5251      }
5252
5253      if (this.options.autoProcessQueue) {
5254        return this.processQueue();
5255      }
5256    }
5257  }], [{
5258    key: "uuidv4",
5259    value: function uuidv4() {
5260      return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
5261        var r = Math.random() * 16 | 0,
5262            v = c === 'x' ? r : r & 0x3 | 0x8;
5263        return v.toString(16);
5264      });
5265    }
5266  }]);
5267
5268  return Dropzone;
5269}(Emitter);
5270
5271Dropzone.initClass();
5272
5273Dropzone.version = "5.5.0";
5274
5275// This is a map of options for your different dropzones. Add configurations
5276// to this object for your different dropzone elemens.
5277//
5278// Example:
5279//
5280//     Dropzone.options.myDropzoneElementId = { maxFilesize: 1 };
5281//
5282// To disable autoDiscover for a specific element, you can set `false` as an option:
5283//
5284//     Dropzone.options.myDisabledElementId = false;
5285//
5286// And in html:
5287//
5288//     <form action="/upload" id="my-dropzone-element-id" class="dropzone"></form>
5289Dropzone.options = {};
5290
5291// Returns the options for an element or undefined if none available.
5292Dropzone.optionsForElement = function (element) {
5293  // Get the `Dropzone.options.elementId` for this element if it exists
5294  if (element.getAttribute("id")) {
5295    return Dropzone.options[camelize(element.getAttribute("id"))];
5296  } else {
5297    return undefined;
5298  }
5299};
5300
5301// Holds a list of all dropzone instances
5302Dropzone.instances = [];
5303
5304// Returns the dropzone for given element if any
5305Dropzone.forElement = function (element) {
5306  if (typeof element === "string") {
5307    element = document.querySelector(element);
5308  }
5309  if ((element != null ? element.dropzone : undefined) == null) {
5310    throw new Error("No Dropzone found for given element. This is probably because you're trying to access it before Dropzone had the time to initialize. Use the `init` option to setup any additional observers on your Dropzone.");
5311  }
5312  return element.dropzone;
5313};
5314
5315// Set to false if you don't want Dropzone to automatically find and attach to .dropzone elements.
5316Dropzone.autoDiscover = true;
5317
5318// Looks for all .dropzone elements and creates a dropzone for them
5319Dropzone.discover = function () {
5320  var dropzones = void 0;
5321  if (document.querySelectorAll) {
5322    dropzones = document.querySelectorAll(".dropzone");
5323  } else {
5324    dropzones = [];
5325    // IE :(
5326    var checkElements = function checkElements(elements) {
5327      return function () {
5328        var result = [];
5329        for (var _iterator33 = elements, _isArray33 = true, _i35 = 0, _iterator33 = _isArray33 ? _iterator33 : _iterator33[Symbol.iterator]();;) {
5330          var _ref32;
5331
5332          if (_isArray33) {
5333            if (_i35 >= _iterator33.length) break;
5334            _ref32 = _iterator33[_i35++];
5335          } else {
5336            _i35 = _iterator33.next();
5337            if (_i35.done) break;
5338            _ref32 = _i35.value;
5339          }
5340
5341          var el = _ref32;
5342
5343          if (/(^| )dropzone($| )/.test(el.className)) {
5344            result.push(dropzones.push(el));
5345          } else {
5346            result.push(undefined);
5347          }
5348        }
5349        return result;
5350      }();
5351    };
5352    checkElements(document.getElementsByTagName("div"));
5353    checkElements(document.getElementsByTagName("form"));
5354  }
5355
5356  return function () {
5357    var result = [];
5358    for (var _iterator34 = dropzones, _isArray34 = true, _i36 = 0, _iterator34 = _isArray34 ? _iterator34 : _iterator34[Symbol.iterator]();;) {
5359      var _ref33;
5360
5361      if (_isArray34) {
5362        if (_i36 >= _iterator34.length) break;
5363        _ref33 = _iterator34[_i36++];
5364      } else {
5365        _i36 = _iterator34.next();
5366        if (_i36.done) break;
5367        _ref33 = _i36.value;
5368      }
5369
5370      var dropzone = _ref33;
5371
5372      // Create a dropzone unless auto discover has been disabled for specific element
5373      if (Dropzone.optionsForElement(dropzone) !== false) {
5374        result.push(new Dropzone(dropzone));
5375      } else {
5376        result.push(undefined);
5377      }
5378    }
5379    return result;
5380  }();
5381};
5382
5383// Since the whole Drag'n'Drop API is pretty new, some browsers implement it,
5384// but not correctly.
5385// So I created a blacklist of userAgents. Yes, yes. Browser sniffing, I know.
5386// But what to do when browsers *theoretically* support an API, but crash
5387// when using it.
5388//
5389// This is a list of regular expressions tested against navigator.userAgent
5390//
5391// ** It should only be used on browser that *do* support the API, but
5392// incorrectly **
5393//
5394Dropzone.blacklistedBrowsers = [
5395// The mac os and windows phone version of opera 12 seems to have a problem with the File drag'n'drop API.
5396/opera.*(Macintosh|Windows Phone).*version\/12/i];
5397
5398// Checks if the browser is supported
5399Dropzone.isBrowserSupported = function () {
5400  var capableBrowser = true;
5401
5402  if (window.File && window.FileReader && window.FileList && window.Blob && window.FormData && document.querySelector) {
5403    if (!("classList" in document.createElement("a"))) {
5404      capableBrowser = false;
5405    } else {
5406      // The browser supports the API, but may be blacklisted.
5407      for (var _iterator35 = Dropzone.blacklistedBrowsers, _isArray35 = true, _i37 = 0, _iterator35 = _isArray35 ? _iterator35 : _iterator35[Symbol.iterator]();;) {
5408        var _ref34;
5409
5410        if (_isArray35) {
5411          if (_i37 >= _iterator35.length) break;
5412          _ref34 = _iterator35[_i37++];
5413        } else {
5414          _i37 = _iterator35.next();
5415          if (_i37.done) break;
5416          _ref34 = _i37.value;
5417        }
5418
5419        var regex = _ref34;
5420
5421        if (regex.test(navigator.userAgent)) {
5422          capableBrowser = false;
5423          continue;
5424        }
5425      }
5426    }
5427  } else {
5428    capableBrowser = false;
5429  }
5430
5431  return capableBrowser;
5432};
5433
5434Dropzone.dataURItoBlob = function (dataURI) {
5435  // convert base64 to raw binary data held in a string
5436  // doesn't handle URLEncoded DataURIs - see SO answer #6850276 for code that does this
5437  var byteString = atob(dataURI.split(',')[1]);
5438
5439  // separate out the mime component
5440  var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];
5441
5442  // write the bytes of the string to an ArrayBuffer
5443  var ab = new ArrayBuffer(byteString.length);
5444  var ia = new Uint8Array(ab);
5445  for (var i = 0, end = byteString.length, asc = 0 <= end; asc ? i <= end : i >= end; asc ? i++ : i--) {
5446    ia[i] = byteString.charCodeAt(i);
5447  }
5448
5449  // write the ArrayBuffer to a blob
5450  return new Blob([ab], { type: mimeString });
5451};
5452
5453// Returns an array without the rejected item
5454var without = function without(list, rejectedItem) {
5455  return list.filter(function (item) {
5456    return item !== rejectedItem;
5457  }).map(function (item) {
5458    return item;
5459  });
5460};
5461
5462// abc-def_ghi -> abcDefGhi
5463var camelize = function camelize(str) {
5464  return str.replace(/[\-_](\w)/g, function (match) {
5465    return match.charAt(1).toUpperCase();
5466  });
5467};
5468
5469// Creates an element from string
5470Dropzone.createElement = function (string) {
5471  var div = document.createElement("div");
5472  div.innerHTML = string;
5473  return div.childNodes[0];
5474};
5475
5476// Tests if given element is inside (or simply is) the container
5477Dropzone.elementInside = function (element, container) {
5478  if (element === container) {
5479    return true;
5480  } // Coffeescript doesn't support do/while loops
5481  while (element = element.parentNode) {
5482    if (element === container) {
5483      return true;
5484    }
5485  }
5486  return false;
5487};
5488
5489Dropzone.getElement = function (el, name) {
5490  var element = void 0;
5491  if (typeof el === "string") {
5492    element = document.querySelector(el);
5493  } else if (el.nodeType != null) {
5494    element = el;
5495  }
5496  if (element == null) {
5497    throw new Error("Invalid `" + name + "` option provided. Please provide a CSS selector or a plain HTML element.");
5498  }
5499  return element;
5500};
5501
5502Dropzone.getElements = function (els, name) {
5503  var el = void 0,
5504      elements = void 0;
5505  if (els instanceof Array) {
5506    elements = [];
5507    try {
5508      for (var _iterator36 = els, _isArray36 = true, _i38 = 0, _iterator36 = _isArray36 ? _iterator36 : _iterator36[Symbol.iterator]();;) {
5509        if (_isArray36) {
5510          if (_i38 >= _iterator36.length) break;
5511          el = _iterator36[_i38++];
5512        } else {
5513          _i38 = _iterator36.next();
5514          if (_i38.done) break;
5515          el = _i38.value;
5516        }
5517
5518        elements.push(this.getElement(el, name));
5519      }
5520    } catch (e) {
5521      elements = null;
5522    }
5523  } else if (typeof els === "string") {
5524    elements = [];
5525    for (var _iterator37 = document.querySelectorAll(els), _isArray37 = true, _i39 = 0, _iterator37 = _isArray37 ? _iterator37 : _iterator37[Symbol.iterator]();;) {
5526      if (_isArray37) {
5527        if (_i39 >= _iterator37.length) break;
5528        el = _iterator37[_i39++];
5529      } else {
5530        _i39 = _iterator37.next();
5531        if (_i39.done) break;
5532        el = _i39.value;
5533      }
5534
5535      elements.push(el);
5536    }
5537  } else if (els.nodeType != null) {
5538    elements = [els];
5539  }
5540
5541  if (elements == null || !elements.length) {
5542    throw new Error("Invalid `" + name + "` option provided. Please provide a CSS selector, a plain HTML element or a list of those.");
5543  }
5544
5545  return elements;
5546};
5547
5548// Asks the user the question and calls accepted or rejected accordingly
5549//
5550// The default implementation just uses `window.confirm` and then calls the
5551// appropriate callback.
5552Dropzone.confirm = function (question, accepted, rejected) {
5553  if (window.confirm(question)) {
5554    return accepted();
5555  } else if (rejected != null) {
5556    return rejected();
5557  }
5558};
5559
5560// Validates the mime type like this:
5561//
5562// https://developer.mozilla.org/en-US/docs/HTML/Element/input#attr-accept
5563Dropzone.isValidFile = function (file, acceptedFiles) {
5564  if (!acceptedFiles) {
5565    return true;
5566  } // If there are no accepted mime types, it's OK
5567  acceptedFiles = acceptedFiles.split(",");
5568
5569  var mimeType = file.type;
5570  var baseMimeType = mimeType.replace(/\/.*$/, "");
5571
5572  for (var _iterator38 = acceptedFiles, _isArray38 = true, _i40 = 0, _iterator38 = _isArray38 ? _iterator38 : _iterator38[Symbol.iterator]();;) {
5573    var _ref35;
5574
5575    if (_isArray38) {
5576      if (_i40 >= _iterator38.length) break;
5577      _ref35 = _iterator38[_i40++];
5578    } else {
5579      _i40 = _iterator38.next();
5580      if (_i40.done) break;
5581      _ref35 = _i40.value;
5582    }
5583
5584    var validType = _ref35;
5585
5586    validType = validType.trim();
5587    if (validType.charAt(0) === ".") {
5588      if (file.name.toLowerCase().indexOf(validType.toLowerCase(), file.name.length - validType.length) !== -1) {
5589        return true;
5590      }
5591    } else if (/\/\*$/.test(validType)) {
5592      // This is something like a image/* mime type
5593      if (baseMimeType === validType.replace(/\/.*$/, "")) {
5594        return true;
5595      }
5596    } else {
5597      if (mimeType === validType) {
5598        return true;
5599      }
5600    }
5601  }
5602
5603  return false;
5604};
5605
5606// Augment jQuery
5607if (typeof jQuery !== 'undefined' && jQuery !== null) {
5608  jQuery.fn.dropzone = function (options) {
5609    return this.each(function () {
5610      return new Dropzone(this, options);
5611    });
5612  };
5613}
5614
5615if (typeof module !== 'undefined' && module !== null) {
5616  module.exports = Dropzone;
5617} else {
5618  window.Dropzone = Dropzone;
5619}
5620
5621// Dropzone file status codes
5622Dropzone.ADDED = "added";
5623
5624Dropzone.QUEUED = "queued";
5625// For backwards compatibility. Now, if a file is accepted, it's either queued
5626// or uploading.
5627Dropzone.ACCEPTED = Dropzone.QUEUED;
5628
5629Dropzone.UPLOADING = "uploading";
5630Dropzone.PROCESSING = Dropzone.UPLOADING; // alias
5631
5632Dropzone.CANCELED = "canceled";
5633Dropzone.ERROR = "error";
5634Dropzone.SUCCESS = "success";
5635
5636/*
5637
5638 Bugfix for iOS 6 and 7
5639 Source: http://stackoverflow.com/questions/11929099/html5-canvas-drawimage-ratio-bug-ios
5640 based on the work of https://github.com/stomita/ios-imagefile-megapixel
5641
5642 */
5643
5644// Detecting vertical squash in loaded image.
5645// Fixes a bug which squash image vertically while drawing into canvas for some images.
5646// This is a bug in iOS6 devices. This function from https://github.com/stomita/ios-imagefile-megapixel
5647var detectVerticalSquash = function detectVerticalSquash(img) {
5648  var iw = img.naturalWidth;
5649  var ih = img.naturalHeight;
5650  var canvas = document.createElement("canvas");
5651  canvas.width = 1;
5652  canvas.height = ih;
5653  var ctx = canvas.getContext("2d");
5654  ctx.drawImage(img, 0, 0);
5655
5656  var _ctx$getImageData = ctx.getImageData(1, 0, 1, ih),
5657      data = _ctx$getImageData.data;
5658
5659  // search image edge pixel position in case it is squashed vertically.
5660
5661
5662  var sy = 0;
5663  var ey = ih;
5664  var py = ih;
5665  while (py > sy) {
5666    var alpha = data[(py - 1) * 4 + 3];
5667
5668    if (alpha === 0) {
5669      ey = py;
5670    } else {
5671      sy = py;
5672    }
5673
5674    py = ey + sy >> 1;
5675  }
5676  var ratio = py / ih;
5677
5678  if (ratio === 0) {
5679    return 1;
5680  } else {
5681    return ratio;
5682  }
5683};
5684
5685// A replacement for context.drawImage
5686// (args are for source and destination).
5687var drawImageIOSFix = function drawImageIOSFix(ctx, img, sx, sy, sw, sh, dx, dy, dw, dh) {
5688  var vertSquashRatio = detectVerticalSquash(img);
5689  return ctx.drawImage(img, sx, sy, sw, sh, dx, dy, dw, dh / vertSquashRatio);
5690};
5691
5692// Based on MinifyJpeg
5693// Source: http://www.perry.cz/files/ExifRestorer.js
5694// http://elicon.blog57.fc2.com/blog-entry-206.html
5695
5696var ExifRestore = function () {
5697  function ExifRestore() {
5698    _classCallCheck(this, ExifRestore);
5699  }
5700
5701  _createClass(ExifRestore, null, [{
5702    key: "initClass",
5703    value: function initClass() {
5704      this.KEY_STR = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
5704+/=';
5705    }
5706  }, {
5707    key: "encode64",
5708    value: function encode64(input) {
5709      var output = '';
5710      var chr1 = undefined;
5711      var chr2 = undefined;
5712      var chr3 = '';
5713      var enc1 = undefined;
5714      var enc2 = undefined;
5715      var enc3 = undefined;
5716      var enc4 = '';
5717      var i = 0;
5718      while (true) {
5719        chr1 = input[i++];
5720        chr2 = input[i++];
5721        chr3 = input[i++];
5722        enc1 = chr1 >> 2;
5723        enc2 = (chr1 & 3) << 4 | chr2 >> 4;
5724        enc3 = (chr2 & 15) << 2 | chr3 >> 6;
5725        enc4 = chr3 & 63;
5726        if (isNaN(chr2)) {
5727          enc3 = enc4 = 64;
5728        } else if (isNaN(chr3)) {
5729          enc4 = 64;
5730        }
5731        output = output + this.KEY_STR.charAt(enc1) + this.KEY_STR.charAt(enc2) + this.KEY_STR.charAt(enc3) + this.KEY_STR.charAt(enc4);
5732        chr1 = chr2 = chr3 = '';
5733        enc1 = enc2 = enc3 = enc4 = '';
5734        if (!(i < input.length)) {
5735          break;
5736        }
5737      }
5738      return output;
5739    }
5740  }, {
5741    key: "restore",
5742    value: function restore(origFileBase64, resizedFileBase64) {
5743      if (!origFileBase64.match('data:image/jpeg;base64,')) {
5744        return resizedFileBase64;
5745      }
5746      var rawImage = this.decode64(origFileBase64.replace('data:image/jpeg;base64,', ''));
5747      var segments = this.slice2Segments(rawImage);
5748      var image = this.exifManipulation(resizedFileBase64, segments);
5749      return "data:image/jpeg;base64," + this.encode64(image);
5750    }
5751  }, {
5752    key: "exifManipulation",
5753    value: function exifManipulation(resizedFileBase64, segments) {
5754      var exifArray = this.getExifArray(segments);
5755      var newImageArray = this.insertExif(resizedFileBase64, exifArray);
5756      var aBuffer = new Uint8Array(newImageArray);
5757      return aBuffer;
5758    }
5759  }, {
5760    key: "getExifArray",
5761    value: function getExifArray(segments) {
5762      var seg = undefined;
5763      var x = 0;
5764      while (x < segments.length) {
5765        seg = segments[x];
5766        if (seg[0] === 255 & seg[1] === 225) {
5767          return seg;
5768        }
5769        x++;
5770      }
5771      return [];
5772    }
5773  }, {
5774    key: "insertExif",
5775    value: function insertExif(resizedFileBase64, exifArray) {
5776      var imageData = resizedFileBase64.replace('data:image/jpeg;base64,', '');
5777      var buf = this.decode64(imageData);
5778      var separatePoint = buf.indexOf(255, 3);
5779      var mae = buf.slice(0, separatePoint);
5780      var ato = buf.slice(separatePoint);
5781      var array = mae;
5782      array = array.concat(exifArray);
5783      array = array.concat(ato);
5784      return array;
5785    }
5786  }, {
5787    key: "slice2Segments",
5788    value: function slice2Segments(rawImageArray) {
5789      var head = 0;
5790      var segments = [];
5791      while (true) {
5792        var length;
5793        if (rawImageArray[head] === 255 & rawImageArray[head + 1] === 218) {
5794          break;
5795        }
5796        if (rawImageArray[head] === 255 & rawImageArray[head + 1] === 216) {
5797          head += 2;
5798        } else {
5799          length = rawImageArray[head + 2] * 256 + rawImageArray[head + 3];
5800          var endPoint = head + length + 2;
5801          var seg = rawImageArray.slice(head, endPoint);
5802          segments.push(seg);
5803          head = endPoint;
5804        }
5805        if (head > rawImageArray.length) {
5806          break;
5807        }
5808      }
5809      return segments;
5810    }
5811  }, {
5812    key: "decode64",
5813    value: function decode64(input) {
5814      var output = '';
5815      var chr1 = undefined;
5816      var chr2 = undefined;
5817      var chr3 = '';
5818      var enc1 = undefined;
5819      var enc2 = undefined;
5820      var enc3 = undefined;
5821      var enc4 = '';
5822      var i = 0;
5823      var buf = [];
5824      // remove all characters that are not A-Z, a-z, 0-9, +, /, or =
5825      var base64test = /[^A-Za-z0-9\+\/\=]/g;
5826      if (base64test.exec(input)) {
5827        console.warn('There were invalid base64 characters in the input text.\nValid base64 characters are A-Z, a-z, 0-9, \'+\', \'/\',and \'=\'\nExpect errors in decoding.');
5828      }
5829      input = input.replace(/[^A-Za-z0-9\+\/\=]/g, '');
5830      while (true) {
5831        enc1 = this.KEY_STR.indexOf(input.charAt(i++));
5832        enc2 = this.KEY_STR.indexOf(input.charAt(i++));
5833        enc3 = this.KEY_STR.indexOf(input.charAt(i++));
5834        enc4 = this.KEY_STR.indexOf(input.charAt(i++));
5835        chr1 = enc1 << 2 | enc2 >> 4;
5836        chr2 = (enc2 & 15) << 4 | enc3 >> 2;
5837        chr3 = (enc3 & 3) << 6 | enc4;
5838        buf.push(chr1);
5839        if (enc3 !== 64) {
5840          buf.push(chr2);
5841        }
5842        if (enc4 !== 64) {
5843          buf.push(chr3);
5844        }
5845        chr1 = chr2 = chr3 = '';
5846        enc1 = enc2 = enc3 = enc4 = '';
5847        if (!(i < input.length)) {
5848          break;
5849        }
5850      }
5851      return buf;
5852    }
5853  }]);
5854
5855  return ExifRestore;
5856}();
5857
5858ExifRestore.initClass();
5859
5860/*
5861 * contentloaded.js
5862 *
5863 * Author: Diego Perini (diego.perini at gmail.com)
5864 * Summary: cross-browser wrapper for DOMContentLoaded
5865 * Updated: 20101020
5866 * License: MIT
5867 * Version: 1.2
5868 *
5869 * URL:
5870 * http://javascript.nwbox.com/ContentLoaded/
5871 * http://javascript.nwbox.com/ContentLoaded/MIT-LICENSE
5872 */
5873
5874// @win window reference
5875// @fn function reference
5876var contentLoaded = function contentLoaded(win, fn) {
5877  var done = false;
5878  var top = true;
5879  var doc = win.document;
5880  var root = doc.documentElement;
5881  var add = doc.addEventListener ? "addEventListener" : "attachEvent";
5882  var rem = doc.addEventListener ? "removeEventListener" : "detachEvent";
5883  var pre = doc.addEventListener ? "" : "on";
5884  var init = function init(e) {
5885    if (e.type === "readystatechange" && doc.readyState !== "complete") {
5886      return;
5887    }
5888    (e.type === "load" ? win : doc)[rem](pre + e.type, init, false);
5889    if (!done && (done = true)) {
5890      return fn.call(win, e.type || e);
5891    }
5892  };
5893
5894  var poll = function poll() {
5895    try {
5896      root.doScroll("left");
5897    } catch (e) {
5898      setTimeout(poll, 50);
5899      return;
5900    }
5901    return init("poll");
5902  };
5903
5904  if (doc.readyState !== "complete") {
5905    if (doc.createEventObject && root.doScroll) {
5906      try {
5907        top = !win.frameElement;
5908      } catch (error) {}
5909      if (top) {
5910        poll();
5911      }
5912    }
5913    doc[add](pre + "DOMContentLoaded", init, false);
5914    doc[add](pre + "readystatechange", init, false);
5915    return win[add](pre + "load", init, false);
5916  }
5917};
5918
5919// As a single function to be able to write tests.
5920Dropzone._autoDiscoverFunction = function () {
5921  if (Dropzone.autoDiscover) {
5922    return Dropzone.discover();
5923  }
5924};
5925contentLoaded(window, Dropzone._autoDiscoverFunction);
5926
5927function __guard__(value, transform) {
5928  return typeof value !== 'undefined' && value !== null ? transform(value) : undefined;
5929}
5930function __guardMethod__(obj, methodName, transform) {
5931  if (typeof obj !== 'undefined' && obj !== null && typeof obj[methodName] === 'function') {
5932    return transform(obj, methodName);
5933  } else {
5934    return undefined;
5935  }
5936}

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.