PageSourceSearch

https://www.nycacademy.org/bundles/scripts/theme05?v=NyVAAJeKw8Rv1bm-n8Y_5A5dFGWBmbP-vk34_lJbNCA1

js nycacademy.org collected 2026-09-30 11:32:28 UTC 1,105,818 bytes, 12,285 lines download raw bytes

1/* Minification failed. Returning unminified contents.
2(9097,27-28): run-time error JS1195: Expected expression: >
3(9099,14-15): run-time error JS1195: Expected expression: )
4(9120,5-6): run-time error JS1002: Syntax error: }
5(9843,1-2): run-time error JS1002: Syntax error: }
6(9846,34-35): run-time error JS1004: Expected ';': {
7 */
8/*! jQuery v2.1.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */�
vendor: 32,013 bytes, lines 8-9
8
9!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.1",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),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("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="<select msallowclip=''><option selected=''></option></select>",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=lb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=mb(b);function pb(){}pb.prototype=d.filters=d.pseudos,d.setFilters=new pb,g=fb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fb.error(a):z(a,i).slice(0)};function qb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+Math.random()}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)
9
vendor: 9,806 bytes, line 10
10},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=L.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var Q=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,R=["Top","Right","Bottom","Left"],S=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)},T=/^(?:checkbox|radio)$/i;!function(){var a=l.createDocumentFragment(),b=a.appendChild(l.createElement("div")),c=l.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button;return null==a.pageX&&null!=b.clientX&&(c=a.target.ownerDocument||l,d=c.documentElement,e=c.body,a.pageX=b.clientX+(d&&d.scrollLeft||e&&e.scrollLeft||0)-(d&&d.clientLeft||e&&e.clientLeft||0),a.pageY=b.clientY+(d&&d.scrollTop||e&&e.scrollTop||0)-(d&&d.clientTop||e&&e.clientTop||0)),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},fix:function(a){if(a[n.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=W.test(e)?this.mouseHooks:V.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new n.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=l),3===a.target.nodeType&&(a.target=a.target.parentNode),g.filter?g.filter(a,f):a},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==_()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===_()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&n.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=n.extend(new n.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?n.event.trigger(e,null,b):n.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?Z:$):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={isDefaultPrevented:$,isPropagationStopped:$,isImmediatePropagationStopped:$,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=Z,a&&a.preventDefault&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=Z,a&&a.stopPropagation&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=Z,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}}
vendor: 17,252 bytes, line 10
10,n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!n.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.focusinBubbles||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a),!0)};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=L.access(d,b);e||d.addEventListener(a,c,!0),L.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=L.access(d,b)-1;e?L.access(d,b,e):(d.removeEventListener(a,c,!0),L.remove(d,b))}}}),n.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(g in a)this.on(g,b,c,a[g],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=$;else if(!d)return this;return 1===e&&(f=d,d=function(a){return n().off(a),f.apply(this,arguments)},d.guid=f.guid||(f.guid=n.guid++)),this.each(function(){n.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=$),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});var ab=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bb=/<([\w:]+)/,cb=/<|&#?\w+;/,db=/<(?:script|style|link)/i,eb=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/^$|\/(?:java|ecma)script/i,gb=/^true\/(.*)/,hb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ib={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,"",""]};ib.optgroup=ib.option,ib.tbody=ib.tfoot=ib.colgroup=ib.caption=ib.thead,ib.th=ib.td;function jb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=ob(h),f=ob(a),d=0,e=f.length;e>d;d++)pb(f[d],g[d]);if(b)if(c)for(f=f||ob(a),g=g||ob(h),d=0,e=f.length;e>d;d++)nb(f[d],g[d]);else nb(a,h);return g=ob(h,"script"),g.length>0&&mb(g,!i&&ob(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(cb.test(e)){f=f||k.appendChild(b.createElement("div")),g=(bb.exec(e)||["",""])[1].toLowerCase(),h=ib[g]||ib._default,f.innerHTML=h[1]+e.replace(ab,"<$1></$2>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=ob(k.appendChild(e),"script"),i&&mb(f),c)){j=0;while(e=f[j++])fb.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(ob(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&mb(ob(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(ob(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!db.test(a)&&!ib[(bb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ab,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ob(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(ob(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&eb.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(ob(c,"script"),kb),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,ob(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,lb),j=0;g>j;j++)h=f[j],fb.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(hb,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qb,rb={};function sb(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function tb(a){var b=l,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(qb||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=qb[0].contentDocument,b.write(),b.close(),c=sb(a,b),qb.detach()),rb[a]=c),c}var ub=/^margin/,vb=new RegExp("^("+Q+")(?!px)[a-z%]+$","i"),wb=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)};function xb(a,b,c){var d,e,f,g,h=a.style;return c=c||wb(a),c&&(g=c.getPropertyValue(b)||c[b]),c&&(""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),vb.test(g)&&ub.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function yb(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d=l.documentElement,e=l.createElement("div"),f=l.createElement("div");if(f.style){f.style.backgroundClip="content-box",f.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===f.style.backgroundClip,e.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",e.appendChild(f);function g(){f.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",f.innerHTML="",d.appendChild(e);var g=a.getComputedStyle(f,null);b="1%"!==g.top,c="4px"===g.width,d.removeChild(e)}a.getComputedStyle&&n.extend(k,{pixelPosition:function(){return g(),b},boxSizingReliable:function(){return null==c&&g(),c},reliableMarginRight:function(){var b,c=f.appendChild(l.createElement("div"));return c.style.cssText=f.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",f.style.width="1px",d.appendChild(e),b=!parseFloat(a.getComputedStyle(c,null).marginRight),d.removeChild(e),b}})}}(),n.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var zb=/^(none|table(?!-c[ea]).+)/,Ab=new RegExp("^("+Q+")(.*)$","i"),Bb=new RegExp("^([+-])=("+Q+")","i"),Cb={position:"absolute",visibility:"hidden",display:"block"},Db={letterSpacing:"0",fontWeight:"400"},Eb=["Webkit","O","Moz","ms"];function Fb(a,b){if(b in a)return b;var c=b[0].toUpperCase()+b.slice(1),d=b,e=Eb.length;while(e--)if(b=Eb[e]+c,b in a)return b;return d}function Gb(a,b,c){var d=Ab.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Hb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+R[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+R[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+R[f]+"Width",!0,e))):(g+=n.css(a,"padding"+R[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+R[f]+"Width",!0,e)));return g}function Ib(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=wb(a),g="border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=xb(a,b,f),(0>e||null==e)&&(e=a.style[b]),vb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Hb(a,b,c||(g?"border":"content"),d,f)+"px"}function Jb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=L.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&S(d)&&(f[g]=L.access(d,"olddisplay",tb(d.nodeName)))):(e=S(d),"none"===c&&e||L.set(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=xb(a,"opacity");return""===c?"1":c}}}},cssNumber:{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:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;return b=n.cssProps[h]||(n.cssProps[h]=Fb(i,h)),g=n.cssHooks[b]||n.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=Bb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(n.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||n.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Fb(a.style,h)),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=xb(a,b,d)),"normal"===e&&b in Db&&(e=Db[b]),""===c||c?(f=parseFloat(e),c===!0||n.isNumeric(f)?f||0:e):e}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?zb.test(n.css(a,"display"))&&0===a.offsetWidth?n.swap(a,Cb,function(){return Ib(a,b,d)}):Ib(a,b,d):void 0},set:function(a,c,d){var e=d&&wb(a);return Gb(a,c,d?Hb(a,b,d,"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),n.cssHooks.marginRight=yb(k.reliableMarginRight,function(a,b){return b?n.swap(a,{display:"inline-block"},xb,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+R[d]+b]=f[d]||f[d-2]||f[0];return e}},ub.test(a)||(n.cssHooks[a+b].set=Gb)}),n.fn.extend({css:function(a,b){return J(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=wb(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return Jb(this,!0)},hide:function(){return Jb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){S(this)?n(this).show():n(this).hide()})}});function Kb(a,b,c,d,e){return new Kb.prototype.init(a,b,c,d,e)}n.Tween=Kb,Kb.prototype={constructor:Kb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=Kb.propHooks[this.prop];return a&&a.get?a.get(this):Kb.propHooks._default.get(this)},run:function(a){var b,c=Kb.propHooks[this.prop];return this.pos=b=this.options.duration?n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Kb.propHooks._default.set(this),this}},Kb.prototype.init.prototype=Kb.prototype,Kb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[n.cssProps[a.prop]]||n.cssHooks[a.prop])?n.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Kb.propHooks.scrollTop=Kb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},n.fx=Kb.prototype.init,n.fx.step={};var Lb,Mb,Nb=/^(?:toggle|show|hide)$/,Ob=new RegExp("^(?:([+-])=|)("+Q+")([a-z%]*)$","i"),Pb=/queueHooks$/,Qb=[Vb],Rb={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=Ob.exec(b),f=e&&e[3]||(n.cssNumber[a]?"":"px"),g=(n.cssNumber[a]||"px"!==f&&+d)&&Ob.exec(n.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,n.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function Sb(){return setTimeout(function(){Lb=void 0}),Lb=n.now()}function Tb(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=R[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function Ub(a,b,c){for(var d,e=(Rb[b]||[]).concat(Rb["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function Vb(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},o=a.style,p=a.nodeType&&S(a),q=L.get(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=n.css(a,"display"),k="none"===j?L.get(a,"olddisplay")||tb(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(o.display="inline-block")),c.overflow&&(o.overflow="hidden",l.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],Nb.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}m[d]=q&&q[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(m))"inline"===("none"===j?tb(a.nodeName):j)&&(o.display=j);else{q?"hidden"in q&&(p=q.hidden):q=L.access(a,"fxshow",{}),f&&(q.hidden=!p),p?n(a).show():l.done(function(){n(a).hide()}),l.done(function(){var b;L.remove(a,"fxshow");for(b in m)n.style(a,b,m[b])});for(d in m)g=Ub(p?q[d]:0,d,l),d in q||(q[d]=g.start,p&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function Wb(a,b){var c,d,e,f,g;
vendor: 7,746 bytes, lines 10-11
10for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function Xb(a,b,c){var d,e,f=0,g=Qb.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Lb||Sb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:Lb||Sb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(Wb(k,j.opts.specialEasing);g>f;f++)if(d=Qb[f].call(j,a,k,j.opts))return d;return n.map(k,Ub,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(Xb,{tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],Rb[c]=Rb[c]||[],Rb[c].unshift(b)},prefilter:function(a,b){b?Qb.unshift(a):Qb.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(S).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=Xb(this,n.extend({},a),f);(e||L.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=L.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&Pb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=L.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(Tb(b,!0),a,d,e)}}),n.each({slideDown:Tb("show"),slideUp:Tb("hide"),slideToggle:Tb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=0,c=n.timers;for(Lb=n.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||n.fx.stop(),Lb=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){Mb||(Mb=setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){clearInterval(Mb),Mb=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(a,b){return a=n.fx?n.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a=l.createElement("input"),b=l.createElement("select"),c=b.appendChild(l.createElement("option"));a.type="checkbox",k.checkOn=""!==a.value,k.optSelected=c.selected,b.disabled=!0,k.optDisabled=!c.disabled,a=l.createElement("input"),a.value="t",a.type="radio",k.radioValue="t"===a.value}();var Yb,Zb,$b=n.expr.attrHandle;n.fn.extend({attr:function(a,b){return J(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===U?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),d=n.attrHooks[b]||(n.expr.match.bool.test(b)?Zb:Yb)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void n.removeAttr(a,b))
11},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),Zb={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=$b[b]||n.find.attr;$b[b]=function(a,b,d){var e,f;return d||(f=$b[b],$b[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,$b[b]=f),e}});var _b=/^(?:input|select|textarea|button)$/i;n.fn.extend({prop:function(a,b){return J(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!n.isXMLDoc(a),f&&(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){return a.hasAttribute("tabindex")||_b.test(a.nodeName)||a.href?a.tabIndex:-1}}}}),k.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this});var ac=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h="string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ac," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=n.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0===arguments.length||"string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ac," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?n.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(n.isFunction(a)?function(c){n(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=n(this),f=a.match(E)||[];
vendor: 17,345 bytes, line 11
11while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===U||"boolean"===c)&&(this.className&&L.set(this,"__className__",this.className),this.className=this.className||a===!1?"":L.get(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ac," ").indexOf(b)>=0)return!0;return!1}});var bc=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(bc,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=n.inArray(d.value,f)>=0)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>=0:void 0}},k.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var cc=n.now(),dc=/\?/;n.parseJSON=function(a){return JSON.parse(a+"")},n.parseXML=function(a){var b,c;if(!a||"string"!=typeof a)return null;try{c=new DOMParser,b=c.parseFromString(a,"text/xml")}catch(d){b=void 0}return(!b||b.getElementsByTagName("parsererror").length)&&n.error("Invalid XML: "+a),b};var ec,fc,gc=/#.*$/,hc=/([?&])_=[^&]*/,ic=/^(.*?):[ \t]*([^\r\n]*)$/gm,jc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,kc=/^(?:GET|HEAD)$/,lc=/^\/\//,mc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,nc={},oc={},pc="*/".concat("*");try{fc=location.href}catch(qc){fc=l.createElement("a"),fc.href="",fc=fc.href}ec=mc.exec(fc.toLowerCase())||[];function rc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(n.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function sc(a,b,c,d){var e={},f=a===oc;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function tc(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&n.extend(!0,a,d),a}function uc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function vc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:fc,type:"GET",isLocal:jc.test(ec[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":pc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?tc(tc(a,n.ajaxSettings),b):tc(n.ajaxSettings,a)},ajaxPrefilter:rc(nc),ajaxTransport:rc(oc),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=n.ajaxSetup({},b),l=k.context||k,m=k.context&&(l.nodeType||l.jquery)?n(l):n.event,o=n.Deferred(),p=n.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!f){f={};while(b=ic.exec(e))f[b[1].toLowerCase()]=b[2]}b=f[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?e:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return c&&c.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||fc)+"").replace(gc,"").replace(lc,ec[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=n.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(h=mc.exec(k.url.toLowerCase()),k.crossDomain=!(!h||h[1]===ec[1]&&h[2]===ec[2]&&(h[3]||("http:"===h[1]?"80":"443"))===(ec[3]||("http:"===ec[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=n.param(k.data,k.traditional)),sc(nc,k,b,v),2===t)return v;i=k.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!kc.test(k.type),d=k.url,k.hasContent||(k.data&&(d=k.url+=(dc.test(d)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=hc.test(d)?d.replace(hc,"$1_="+cc++):d+(dc.test(d)?"&":"?")+"_="+cc++)),k.ifModified&&(n.lastModified[d]&&v.setRequestHeader("If-Modified-Since",n.lastModified[d]),n.etag[d]&&v.setRequestHeader("If-None-Match",n.etag[d])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+pc+"; q=0.01":""):k.accepts["*"]);for(j in k.headers)v.setRequestHeader(j,k.headers[j]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(j in{success:1,error:1,complete:1})v[j](k[j]);if(c=sc(oc,k,b,v)){v.readyState=1,i&&m.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,c.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,f,h){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),c=void 0,e=h||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,f&&(u=uc(k,v,f)),u=vc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(n.lastModified[d]=w),w=v.getResponseHeader("etag"),w&&(n.etag[d]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,i&&m.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),i&&(m.trigger("ajaxComplete",[v,k]),--n.active||n.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){var b;return n.isFunction(a)?this.each(function(b){n(this).wrapAll(a.call(this,b))}):(this[0]&&(b=n(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return this.each(n.isFunction(a)?function(b){n(this).wrapInner(a.call(this,b))}:function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var wc=/%20/g,xc=/\[\]$/,yc=/\r?\n/g,zc=/^(?:submit|button|image|reset|file)$/i,Ac=/^(?:input|select|textarea|keygen)/i;function Bc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||xc.test(a)?d(a,e):Bc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Bc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Bc(c,a[c],b,e);return d.join("&").replace(wc,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&Ac.test(this.nodeName)&&!zc.test(a)&&(this.checked||!T.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(yc,"\r\n")}}):{name:b.name,value:c.replace(yc,"\r\n")}}).get()}}),n.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(a){}};var Cc=0,Dc={},Ec={0:200,1223:204},Fc=n.ajaxSettings.xhr();a.ActiveXObject&&n(a).on("unload",function(){for(var a in Dc)Dc[a]()}),k.cors=!!Fc&&"withCredentials"in Fc,k.ajax=Fc=!!Fc,n.ajaxTransport(function(a){var b;return k.cors||Fc&&!a.crossDomain?{send:function(c,d){var e,f=a.xhr(),g=++Cc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)f.setRequestHeader(e,c[e]);b=function(a){return function(){b&&(delete Dc[g],b=f.onload=f.onerror=null,"abort"===a?f.abort():"error"===a?d(f.status,f.statusText):d(Ec[f.status]||f.status,f.statusText,"string"==typeof f.responseText?{text:f.responseText}:void 0,f.getAllResponseHeaders()))}},f.onload=b(),f.onerror=b("error"),b=Dc[g]=b("abort");try{f.send(a.hasContent&&a.data||null)}catch(h){if(b)throw h}},abort:function(){b&&b()}}:void 0}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=n("<script>").prop({async:!0,charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&e("error"===a.type?404:200,a.type)}),l.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Gc=[],Hc=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Gc.pop()||n.expando+"_"+cc++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Hc.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Hc.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Hc,"$1"+e):b.jsonp!==!1&&(b.url+=(dc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Gc.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||l;var d=v.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=n.buildFragment([a],b,e),e&&e.length&&n(e).remove(),n.merge([],d.childNodes))};var Ic=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&Ic)return Ic.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=n.trim(a.slice(h)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e,dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,f||[a.responseText,b,a])}),this},n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};var Jc=a.document.documentElement;function Kc(a){return n.isWindow(a)?a:9===a.nodeType&&a.defaultView}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d=this[0],e={top:0,left:0},f=d&&d.ownerDocument;if(f)return b=f.documentElement,n.contains(b,d)?(typeof d.getBoundingClientRect!==U&&(e=d.getBoundingClientRect()),c=Kc(f),{top:e.top+c.pageYOffset-b.clientTop,left:e.left+c.pageXOffset-b.clientLeft}):e},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===n.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(d=a.offset()),d.top+=n.css(a[0],"borderTopWidth",!0),d.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-d.top-n.css(c,"marginTop",!0),left:b.left-d.left-n.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||Jc;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Jc})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b,c){var d="pageYOffset"===c;n.fn[b]=function(e){return J(this,function(b,e,f){var g=Kc(b);return void 0===f?g?g[c]:b[e]:void(g?g.scrollTo(d?a.pageXOffset:f,d?f:a.pageYOffset):b[e]=f)},b,e,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=yb(k.pixelPosition,function(a,c){return c?(c=xb(a,b),vb.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return J(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var Lc=a.jQuery,Mc=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=Mc),b&&a.jQuery===n&&(a.jQuery=Lc),n},typeof b===U&&(a.jQuery=a.$=n),n});
11
12//# sourceMappingURL=jquery.min.map;
13/*! jQuery UI - v1.11.4 - 2015-03-11
14* http://jqueryui.com
vendor: 4,473 bytes, lines 15-18
15* Includes: core.js, widget.js, mouse.js, position.js, accordion.js, autocomplete.js, button.js, datepicker.js, dialog.js, draggable.js, droppable.js, effect.js, effect-blind.js, effect-bounce.js, effect-clip.js, effect-drop.js, effect-explode.js, effect-fade.js, effect-fold.js, effect-highlight.js, effect-puff.js, effect-pulsate.js, effect-scale.js, effect-shake.js, effect-size.js, effect-slide.js, effect-transfer.js, menu.js, progressbar.js, resizable.js, selectable.js, selectmenu.js, slider.js, sortable.js, spinner.js, tabs.js, tooltip.js
16* Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */
17
18(function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){function t(t,s){var n,a,o,r=t.nodeName.toLowerCase();return"area"===r?(n=t.parentNode,a=n.name,t.href&&a&&"map"===n.nodeName.toLowerCase()?(o=e("img[usemap='#"+a+"']")[0],!!o&&i(o)):!1):(/^(input|select|textarea|button|object)$/.test(r)?!t.disabled:"a"===r?t.href||s:s)&&i(t)}function i(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}function s(e){for(var t,i;e.length&&e[0]!==document;){if(t=e.css("position"),("absolute"===t||"relative"===t||"fixed"===t)&&(i=parseInt(e.css("zIndex"),10),!isNaN(i)&&0!==i))return i;e=e.parent()}return 0}function n(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},e.extend(this._defaults,this.regional[""]),this.regional.en=e.extend(!0,{},this.regional[""]),this.regional["en-US"]=e.extend(!0,{},this.regional.en),this.dpDiv=a(e("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function a(t){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return t.delegate(i,"mouseout",function(){e(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&e(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&e(this).removeClass("ui-datepicker-next-hover")}).delegate(i,"mouseover",o)}function o(){e.datepicker._isDisabledDatepicker(v.inline?v.dpDiv.parent()[0]:v.input[0])||(e(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),e(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&e(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&e(this).addClass("ui-datepicker-next-hover"))}function r(t,i){e.extend(t,i);for(var s in i)null==i[s]&&(t[s]=i[s]);return t}function h(e){return function(){var t=this.element.val();e.apply(this,arguments),this._refresh(),t!==this.element.val()&&this._trigger("change")}}e.ui=e.ui||{},e.extend(e.ui,{version:"1.11.4
vendor: 4,947 bytes, line 18
18",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({scrollParent:function(t){var i=this.css("position"),s="absolute"===i,n=t?/(auto|scroll|hidden)/:/(auto|scroll)/,a=this.parents().filter(function(){var t=e(this);return s&&"static"===t.css("position")?!1:n.test(t.css("overflow")+t.css("overflow-y")+t.css("overflow-x"))}).eq(0);return"fixed"!==i&&a.length?a:e(this[0].ownerDocument||document)},uniqueId:function(){var e=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++e)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,s){return!!e.data(t,s[3])},focusable:function(i){return t(i,!isNaN(e.attr(i,"tabindex")))},tabbable:function(i){var s=e.attr(i,"tabindex"),n=isNaN(s);return(n||s>=0)&&t(i,!n)}}),e("<a>").outerWidth(1).jquery||e.each(["Width","Height"],function(t,i){function s(t,i,s,a){return e.each(n,function(){i-=parseFloat(e.css(t,"padding"+this))||0,s&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),a&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],a=i.toLowerCase(),o={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+i]=function(t){return void 0===t?o["inner"+i].call(this):this.each(function(){e(this).css(a,s(this,t)+"px")})},e.fn["outer"+i]=function(t,n){return"number"!=typeof t?o["outer"+i].call(this,t):this.each(function(){e(this).css(a,s(this,t,!0,n)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.fn.extend({focus:function(t){return function(i,s){return"number"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),s&&s.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),disableSelection:function(){var e="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.bind(e+".ui-disableSelection",function(e){e.preventDefault()})}}(),enableSelection:function(){return this.unbind(".ui-disableSelection")},zIndex:function(t){if(void 0!==t)return this.css("zIndex",t);if(this.length)for(var i,s,n=e(this[0]);n.length&&n[0]!==document;){if(i=n.css("position"),("absolute"===i||"relative"===i||"fixed"===i)&&(s=parseInt(n.css("zIndex"),10),!isNaN(s)&&0!==s))return s;n=n.parent()}return 0}}),e.ui.plugin={add:function(t,i,s){var n,a=e.ui[t].prototype;for(n in s)a.plugins[n]=a.plugins[n]||[],a.plugins[n].push([i,s[n]])},call:function(e,t,i,s){var n,a=e.plugins[t];if(a&&(s||e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType))for(n=0;a.length>n;n++)e.options[a[n][0]]&&a[n][1].apply(e.element,i)}};var l=0,u=Array.prototype.slice;e.cleanData=function(t){return function(i){var s,n,a;for(a=0;null!=(n=i[a]);a++)try{s=e._data(n,"events"),s&&s.remove&&e(n).triggerHandler("remove")}catch(o){}t(i)}}(e.cleanData),e.widget=function(t,i,s){var n,a,o,r,h={},l=t.split(".")[0];return t=t.split(".")[1],n=l+"-"+t,s||(s=i,i=e.Widget),e.expr[":"][n.toLowerCase()]=function(t){return!!e.data(t,n)},e[l]=e[l]||{},a=e[l][t],o=e[l][t]=function(e,t){return this._createWidget?(arguments.length&&this._createWidget(e,t),void 0):new o(e,t)},e.extend(o,a,{version:s.version,_proto:e.extend({},s),_childConstructors:[]}),r=new i,r.options=e.widget.extend({},r.options),e.each(s,function(t,s){return e.isFunction(s)?(h[t]=function(){var e=function(){return i.prototype[t].apply(this,arguments)},n=function(e){return i.prototype[t].apply(this,e)};return function(){var t,i=this._super,a=this._superApply;return this._super=e,this._superApply=n,t=s.apply(this,arguments),this._super=i,this._superApply=a,t}}(),void 0):(h[t]=s,void 0)}),o.prototype=e.widget.extend(r,{widgetEventPrefix:a?r.widgetEventPrefix||t:t},h,{constructor:o,namespace:l,widgetName:t,widgetFullName:n}),a?(e.each(a._childConstructors,function(t,i){var s=i.prototype;e.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete a._childConstructors):i._childConstructors.push(o),e.widget.bridge(t,o),o},e.widget.extend=function(t){for(var i,s,n=u.call(arguments,1),a=0,o=n.length;o>a;a++)for(i in n[a])s=n[a][i],n[a].hasOwnProperty(i)&&void 0!==s&&(t[i]=e.isPlainObject(s)?e.isPlainObject(t[i])?e.widget.extend({},t[i],s):e.widget.extend({},s):s);return t},e.widget.bridge=function(t,i){var s=i.prototype.widgetFullName||t;e.fn[t]=function(n){var a="string"==typeof n,o=u.call(arguments,1
vendor: 10,013 bytes, line 18
18),r=this;return a?this.each(function(){var i,a=e.data(this,s);return"instance"===n?(r=a,!1):a?e.isFunction(a[n])&&"_"!==n.charAt(0)?(i=a[n].apply(a,o),i!==a&&void 0!==i?(r=i&&i.jquery?r.pushStack(i.get()):i,!1):void 0):e.error("no such method '"+n+"' for "+t+" widget instance"):e.error("cannot call methods on "+t+" prior to initialization; "+"attempted to call method '"+n+"'")}):(o.length&&(n=e.widget.extend.apply(null,[n].concat(o))),this.each(function(){var t=e.data(this,s);t?(t.option(n||{}),t._init&&t._init()):e.data(this,s,new i(n,this))})),r}},e.Widget=function(){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(t,i){i=e(i||this.defaultElement||this)[0],this.element=e(i),this.uuid=l++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=e(),this.hoverable=e(),this.focusable=e(),i!==this&&(e.data(i,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===i&&this.destroy()}}),this.document=e(i.style?i.ownerDocument:i.document||i),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this.options=e.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:e.noop,widget:function(){return this.element},option:function(t,i){var s,n,a,o=t;if(0===arguments.length)return e.widget.extend({},this.options);if("string"==typeof t)if(o={},s=t.split("."),t=s.shift(),s.length){for(n=o[t]=e.widget.extend({},this.options[t]),a=0;s.length-1>a;a++)n[s[a]]=n[s[a]]||{},n=n[s[a]];if(t=s.pop(),1===arguments.length)return void 0===n[t]?null:n[t];n[t]=i}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];o[t]=i}return this._setOptions(o),this},_setOptions:function(e){var t;for(t in e)this._setOption(t,e[t]);return this},_setOption:function(e,t){return this.options[e]=t,"disabled"===e&&(this.widget().toggleClass(this.widgetFullName+"-disabled",!!t),t&&(this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus"))),this},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_on:function(t,i,s){var n,a=this;"boolean"!=typeof t&&(s=i,i=t,t=!1),s?(i=n=e(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),e.each(s,function(s,o){function r(){return t||a.options.disabled!==!0&&!e(this).hasClass("ui-state-disabled")?("string"==typeof o?a[o]:o).apply(a,arguments):void 0}"string"!=typeof o&&(r.guid=o.guid=o.guid||r.guid||e.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+a.eventNamespace,u=h[2];u?n.delegate(u,l,r):i.bind(l,r)})},_off:function(t,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.unbind(i).undelegate(i),this.bindings=e(this.bindings.not(t).get()),this.focusable=e(this.focusable.not(t).get()),this.hoverable=e(this.hoverable.not(t).get())},_delay:function(e,t){function i(){return("string"==typeof e?s[e]:e).apply(s,arguments)}var s=this;return setTimeout(i,t||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){e(t.currentTarget).addClass("ui-state-hover")},mouseleave:function(t){e(t.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){e(t.currentTarget).addClass("ui-state-focus")},focusout:function(t){e(t.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(t,i,s){var n,a,o=this.options[t];if(s=s||{},i=e.Event(i),i.type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),i.target=this.element[0],a=i.originalEvent)for(n in a)n in i||(i[n]=a[n]);return this.element.trigger(i,s),!(e.isFunction(o)&&o.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},e.each({show:"fadeIn",hide:"fadeOut"},function(t,i){e.Widget.prototype["_"+t]=function(s,n,a){"string"==typeof n&&(n={effect:n});var o,r=n?n===!0||"number"==typeof n?i:n.effect||i:t;n=n||{},"number"==typeof n&&(n={duration:n}),o=!e.isEmptyObject(n),n.complete=a,n.delay&&s.delay(n.delay),o&&e.effects&&e.effects.effect[r]?s[t](n):r!==t&&s[r]?s[r](n.duration,n.easing,a):s.queue(function(i){e(this)[t](),a&&a.call(s[0]),i()})}}),e.widget;var d=!1;e(document).mouseup(function(){d=!1}),e.widget("ui.mouse",{version:"1.11.4",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.bind("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).bind("click."+this.widgetName,function(i){return!0===e.data(i.target,t.widgetName+".preventClickEvent")?(e.removeData(i.target,t.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(t){if(!d){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(t),this._mouseDownEvent=t;var i=this,s=1===t.which,n="string"==typeof this.options.cancel&&t.target.nodeName?e(t.target).closest(this.options.cancel).length:!1;return s&&!n&&this._mouseCapture(t)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(t)!==!1,!this._mouseStarted)?(t.preventDefault(),!0):(!0===e.data(t.target,this.widgetName+".preventClickEvent")&&e.removeData(t.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return i._mouseMove(e)},this._mouseUpDelegate=function(e){return i._mouseUp(e)},this.document.bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),t.preventDefault(),d=!0,!0)):!0}},_mouseMove:function(t){if(this._mouseMoved){if(e.ui.ie&&(!document.documentMode||9>document.documentMode)&&!t.button)return this._mouseUp(t);if(!t.which)return this._mouseUp(t)}return(t.which||t.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,t)!==!1,this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(t){return this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&e.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),d=!1,!1},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),function(){function t(e,t,i){return[parseFloat(e[0])*(p.test(e[0])?t/100:1),parseFloat(e[1])*(p.test(e[1])?i/100:1)]}function i(t,i){return parseInt(e.css(t,i),10)||0}function s(t){var i=t[0];return 9===i.nodeType?{width:t.width(),height:t.height(),offset:{top:0,left:0}}:e.isWindow(i)?{width:t.width(),height:t.height(),offset:{top:t.scrollTop(),left:t.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:t.outerWidth(),height:t.outerHeight(),offset:t.offset()}}e.ui=e.ui||{};var n,a,o=Math.max,r=Math.abs,h=Math.round,l=/left|center|right/,u=/top|center|bottom/,d=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,p=/%$/,f=e.fn.position;e.position={scrollbarWidth:function(){if(void 0!==n)return n;var t,i,s=e("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),a=s.children()[0];return e("body").append(s),t=a.offsetWidth,s.css("overflow","scroll"),i=a.offsetWidth,t===i&&(i=s[0].clientWidth),s.remove(),n=t-i},getScrollInfo:function(t){var i=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),s=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),n="scroll"===i||"auto"===i&&t.width<t.element[0].scrollWidth,a="scroll"===s||"auto"===s&&t.height<t.element[0].scrollHeight;return{width:a?e.position.scrollbarWidth():0,height:n?e.position.scrollbarWidth():0}},getWithinInfo:function(t){var i=e(t||window),s=e.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType;return{element:i,isWindow:s,isDocument:n,offset:i.offset()||{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:s||n?i.width():i.outerWidth(),height:s||n?i.height():i.outerHeight()}}},e.fn.position=function(n){if(!n||!n.of)return f.apply(this,arguments);n=e.extend({},n);var p,m,g,v,y,b,_=e(n.of),x=e.position.getWithinInfo(n.within),w=e.position.getScrollInfo(x),k=(n.collision||"flip").split(" "),T={};return b=s(_),_[0].preventDefault&&(n.at="left top"),m=b.width,g=b.height,v=b.offset,y=e.extend({},v),e.each(["my","at"],function(){var e,t,i=(n[this]||"").split(" ");1===i.length&&(i=l.test(i[0])?i.concat(["center"]):u.test(i[0])?["center"].concat(i):["center","center"]),i[0]=l.test(i[0])?i[0]:"center",i[1]=u.test(i[1])?i[1]:"center",e=d.exec(i[0]),t=d.exec(i[1]),T[this]=[e?e[0]:0,t?t[0]:0],n[this]=[c.exec(i[0])[0],c.exec(i[1])[0]]}
vendor: 1,160 bytes, line 18
18),1===k.length&&(k[1]=k[0]),"right"===n.at[0]?y.left+=m:"center"===n.at[0]&&(y.left+=m/2),"bottom"===n.at[1]?y.top+=g:"center"===n.at[1]&&(y.top+=g/2),p=t(T.at,m,g),y.left+=p[0],y.top+=p[1],this.each(function(){var s,l,u=e(this),d=u.outerWidth(),c=u.outerHeight(),f=i(this,"marginLeft"),b=i(this,"marginTop"),D=d+f+i(this,"marginRight")+w.width,S=c+b+i(this,"marginBottom")+w.height,M=e.extend({},y),C=t(T.my,u.outerWidth(),u.outerHeight());"right"===n.my[0]?M.left-=d:"center"===n.my[0]&&(M.left-=d/2),"bottom"===n.my[1]?M.top-=c:"center"===n.my[1]&&(M.top-=c/2),M.left+=C[0],M.top+=C[1],a||(M.left=h(M.left),M.top=h(M.top)),s={marginLeft:f,marginTop:b},e.each(["left","top"],function(t,i){e.ui.position[k[t]]&&e.ui.position[k[t]][i](M,{targetWidth:m,targetHeight:g,elemWidth:d,elemHeight:c,collisionPosition:s,collisionWidth:D,collisionHeight:S,offset:[p[0]+C[0],p[1]+C[1]],my:n.my,at:n.at,within:x,elem:u})}),n.using&&(l=function(e){var t=v.left-M.left,i=t+m-d,s=v.top-M.top,a=s+g-c,h={target:{element:_,left:v.left,top:v.top,width:m,height:g},element:{element:u,left:M.left,top:M.top,width:d,height:c},horizontal:0>i?"left":t>0?"right":"center",vertical:0>
vendor: 12,435 bytes, lines 18-19
18a?"top":s>0?"bottom":"middle"};d>m&&m>r(t+i)&&(h.horizontal="center"),c>g&&g>r(s+a)&&(h.vertical="middle"),h.important=o(r(t),r(i))>o(r(s),r(a))?"horizontal":"vertical",n.using.call(this,e,h)}),u.offset(e.extend(M,{using:l}))})},e.ui.position={fit:{left:function(e,t){var i,s=t.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=e.left-t.collisionPosition.marginLeft,h=n-r,l=r+t.collisionWidth-a-n;t.collisionWidth>a?h>0&&0>=l?(i=e.left+h+t.collisionWidth-a-n,e.left+=h-i):e.left=l>0&&0>=h?n:h>l?n+a-t.collisionWidth:n:h>0?e.left+=h:l>0?e.left-=l:e.left=o(e.left-r,e.left)},top:function(e,t){var i,s=t.within,n=s.isWindow?s.scrollTop:s.offset.top,a=t.within.height,r=e.top-t.collisionPosition.marginTop,h=n-r,l=r+t.collisionHeight-a-n;t.collisionHeight>a?h>0&&0>=l?(i=e.top+h+t.collisionHeight-a-n,e.top+=h-i):e.top=l>0&&0>=h?n:h>l?n+a-t.collisionHeight:n:h>0?e.top+=h:l>0?e.top-=l:e.top=o(e.top-r,e.top)}},flip:{left:function(e,t){var i,s,n=t.within,a=n.offset.left+n.scrollLeft,o=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=e.left-t.collisionPosition.marginLeft,u=l-h,d=l+t.collisionWidth-o-h,c="left"===t.my[0]?-t.elemWidth:"right"===t.my[0]?t.elemWidth:0,p="left"===t.at[0]?t.targetWidth:"right"===t.at[0]?-t.targetWidth:0,f=-2*t.offset[0];0>u?(i=e.left+c+p+f+t.collisionWidth-o-a,(0>i||r(u)>i)&&(e.left+=c+p+f)):d>0&&(s=e.left-t.collisionPosition.marginLeft+c+p+f-h,(s>0||d>r(s))&&(e.left+=c+p+f))},top:function(e,t){var i,s,n=t.within,a=n.offset.top+n.scrollTop,o=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=e.top-t.collisionPosition.marginTop,u=l-h,d=l+t.collisionHeight-o-h,c="top"===t.my[1],p=c?-t.elemHeight:"bottom"===t.my[1]?t.elemHeight:0,f="top"===t.at[1]?t.targetHeight:"bottom"===t.at[1]?-t.targetHeight:0,m=-2*t.offset[1];0>u?(s=e.top+p+f+m+t.collisionHeight-o-a,(0>s||r(u)>s)&&(e.top+=p+f+m)):d>0&&(i=e.top-t.collisionPosition.marginTop+p+f+m-h,(i>0||d>r(i))&&(e.top+=p+f+m))}},flipfit:{left:function(){e.ui.position.flip.left.apply(this,arguments),e.ui.position.fit.left.apply(this,arguments)},top:function(){e.ui.position.flip.top.apply(this,arguments),e.ui.position.fit.top.apply(this,arguments)}}},function(){var t,i,s,n,o,r=document.getElementsByTagName("body")[0],h=document.createElement("div");t=document.createElement(r?"div":"body"),s={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},r&&e.extend(s,{position:"absolute",left:"-1000px",top:"-1000px"});for(o in s)t.style[o]=s[o];t.appendChild(h),i=r||document.documentElement,i.insertBefore(t,i.firstChild),h.style.cssText="position: absolute; left: 10.7432222px;",n=e(h).offset().left,a=n>10&&11>n,t.innerHTML="",i.removeChild(t)}()}(),e.ui.position,e.widget("ui.accordion",{version:"1.11.4",options:{active:0,animate:{},collapsible:!1,event:"click",header:"> li > :first-child,> :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var t=this.options;this.prevShow=this.prevHide=e(),this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role","tablist"),t.collapsible||t.active!==!1&&null!=t.active||(t.active=0),this._processPanels(),0>t.active&&(t.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():e()}},_createIcons:function(){var t=this.options.icons;t&&(e("<span>").addClass("ui-accordion-header-icon ui-icon "+t.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(t.header).addClass(t.activeHeader),this.headers.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var e;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").removeUniqueId(),this._destroyIcons(),e=this.headers.next().removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").css("display","").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&e.css("height","")},_setOption:function(e,t){return"active"===e?(this._activate(t),void 0):("event"===e&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(t)),this._super(e,t),"collapsible"!==e||t||this.options.active!==!1||this._activate(0),"icons"===e&&(this._destroyIcons(),t&&this._createIcons()),"disabled"===e&&(this.element.toggleClass("ui-state-disabled",!!t).attr("aria-disabled",t),this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!t)),void 0)},_keydown:function(t){if(!t.altKey&&!t.ctrlKey){var i=e.ui.keyCode,s=this.headers.length,n=this.headers.index(t.target),a=!1;switch(t.keyCode){case i.RIGHT:case i.DOWN:a=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:a=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(t);break;case i.HOME:a=this.headers[0];break;case i.END:a=this.headers[s-1]}a&&(e(t.target).attr("tabIndex",-1),e(a).attr("tabIndex",0),a.focus(),t.preventDefault())}},_panelKeyDown:function(t){t.keyCode===e.ui.keyCode.UP&&t.ctrlKey&&e(t.currentTarget).prev().focus()},refresh:function(){var t=this.options;this._processPanels(),t.active===!1&&t.collapsible===!0||!this.headers.length?(t.active=!1,this.active=e()):t.active===!1?this._activate(0):this.active.length&&!e.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(t.active=!1,this.active=e()):this._activate(Math.max(0,t.active-1)):t.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var e=this.headers,t=this.panels;this.headers=this.element.find(this.options.header).addClass("ui-accordion-header ui-state-default ui-corner-all"),this.panels=this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide(),t&&(this._off(e.not(this.headers)),this._off(t.not(this.panels)))},_refresh:function(){var t,i=this.options,s=i.heightStyle,n=this.element.parent();this.active=this._findActive(i.active).addClass("ui-accordion-header-active ui-state-active ui-corner-top").removeClass("ui-corner-all"),this.active.next().addClass("ui-accordion-content-active").show(),this.headers.attr("role","tab").each(function(){var t=e(this),i=t.uniqueId().attr("id"),s=t.next(),n=s.uniqueId().attr("id");t.attr("aria-controls",n),s.attr("aria-labelledby",i)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(i.event),"fill"===s?(t=n.height(),this.element.siblings(":visible").each(function(){var i=e(this),s=i.css("position");"absolute"!==s&&"fixed"!==s&&(t-=i.outerHeight(!0))}),this.headers.each(function(){t-=e(this).outerHeight(!0)}),this.headers.next().each(function(){e(this).height(Math.max(0,t-e(this).innerHeight()+e(this).height()))}).css("overflow","auto")):"auto"===s&&(t=0,this.headers.next().each(function(){t=Math.max(t,e(this).css("height","").height())}).height(t))},_activate:function(t){var i=this._findActive(t)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:e.noop}))},_findActive:function(t){return"number"==typeof t?this.headers.eq(t):e()},_setupEvents:function(t){var i={keydown:"_keydown"};t&&e.each(t.split(" "),function(e,t){i[t]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(t){var i=this.options,s=this.active,n=e(t.currentTarget),a=n[0]===s[0],o=a&&i.collapsible,r=o?e():n.next(),h=s.next(),l={oldHeader:s,oldPanel:h,newHeader:o?e():n,newPanel:r};t.preventDefault(),a&&!i.collapsible||this._trigger("beforeActivate",t,l)===!1||(i.active=o?!1:this.headers.index(n),this.active=a?e():n,this._toggle(l),s.removeClass("ui-accordion-header-active ui-state-active"),i.icons&&s.children(".ui-accordion-header-icon").removeClass(i.icons.activeHeader).addClass(i.icons.header),a||(n.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),i.icons&&n.children(".ui-accordion-header-icon").removeClass(i.icons.header).addClass(i.icons.activeHeader),n.next().addClass("ui-accordion-content-active")))},_toggle:function(t){var i=t.newPanel,s=this.prevShow.length?this.prevShow:t.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,t):(s.hide(),i.show(),this._toggleComplete(t)),s.attr({"aria-hidden":"true"}),s.prev().attr({"aria-selected":"false","aria-expanded":"false"}),i.length&&s.length?s.prev().attr({tabIndex:-1,"aria-expanded":"false"}):i.length&&this.headers.filter(function(){return 0===parseInt(e(this).attr("tabIndex"),10)}).attr("tabIndex",-1),i.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(e,t,i){var s,n,a,o=this,r=0,h=e.css("box-sizing"),l=e.length&&(!t.length||e.index()<t.index()),u=this.options.animate||{},d=l&&u.down||u,c=function(){o._toggleComplete(i)};return"number"==typeof d&&(a=d),"string"==typeof d&&(n=d),n=n||d.easing||u.easing,a=a||d.duration||u.duration,t.length?e.length?(s=e.show().outerHeight(),t.animate(this.hideProps,{duration:a,easing:n,step:function(e,t){t.now=Math.round(e)}}),e.hide().animate(this.showProps,{duration:a,easing:n,complete:c,step:function(e,i){i.now=Math.round(e),"height"!==i.prop?"content-box"===h&&(r+=i.now):"content"!==o.options.heightStyle&&(i.now=Math.round(s-t.outerHeight()-r),r=0)}}),void 0):t.animate(this.hideProps,a,n,c):e.animate(this.showProps,a,n,c)},_toggleComplete:function(e){var t=e.oldPanel;t.removeClass("ui-accordion-content-active").prev().removeClass("ui-corner-top").addClass("ui-corner-all"),t.length&&(t.parent()[0].className=t.parent()[0].className),this._trigger("activate",null,e)}}),e.widget("ui.menu",{version:"1.11.4",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},items:"> *",menus:"ul",position:{my:"left-1 top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item":function(e){e.preventDefault()},"click .ui-menu-item":function(t){var i=e(t.target);!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&e(this.document[0].activeElement).closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(t){if(!this.previousFilter){var i=e(t.currentTarget);
19i.siblings(".ui-state-active").removeClass("ui-state-active"),this.focus(t,i)}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(e,t){var i=this.active||this.element.find(this.options.items).eq(0);t||this.focus(e,i)},blur:function(t){this._delay(function(){e.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(t)}
vendor: 5,385 bytes, line 19
19)},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(e){this._closeOnDocumentClick(e)&&this.collapseAll(e),this.mouseHandled=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-menu-icons ui-front").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").removeUniqueId().removeClass("ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var t=e(this);t.data("ui-menu-submenu-carat")&&t.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(t){var i,s,n,a,o=!0;switch(t.keyCode){case e.ui.keyCode.PAGE_UP:this.previousPage(t);break;case e.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case e.ui.keyCode.HOME:this._move("first","first",t);break;case e.ui.keyCode.END:this._move("last","last",t);break;case e.ui.keyCode.UP:this.previous(t);break;case e.ui.keyCode.DOWN:this.next(t);break;case e.ui.keyCode.LEFT:this.collapse(t);break;case e.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case e.ui.keyCode.ENTER:case e.ui.keyCode.SPACE:this._activate(t);break;case e.ui.keyCode.ESCAPE:this.collapse(t);break;default:o=!1,s=this.previousFilter||"",n=String.fromCharCode(t.keyCode),a=!1,clearTimeout(this.filterTimer),n===s?a=!0:n=s+n,i=this._filterMenuItems(n),i=a&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i,i.length||(n=String.fromCharCode(t.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(t,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}o&&t.preventDefault()},_activate:function(e){this.active.is(".ui-state-disabled")||(this.active.is("[aria-haspopup='true']")?this.expand(e):this.select(e))},refresh:function(){var t,i,s=this,n=this.options.icons.submenu,a=this.element.find(this.options.menus);this.element.toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length),a.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-front").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=e(this),i=t.parent(),s=e("<span>").addClass("ui-menu-icon ui-icon "+n).data("ui-menu-submenu-carat",!0);i.attr("aria-haspopup","true").prepend(s),t.attr("aria-labelledby",i.attr("id"))}),t=a.add(this.element),i=t.find(this.options.items),i.not(".ui-menu-item").each(function(){var t=e(this);s._isDivider(t)&&t.addClass("ui-widget-content ui-menu-divider")}),i.not(".ui-menu-item, .ui-menu-divider").addClass("ui-menu-item").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),i.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!e.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(e,t){"icons"===e&&this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(t.submenu),"disabled"===e&&this.element.toggleClass("ui-state-disabled",!!t).attr("aria-disabled",t),this._super(e,t)},focus:function(e,t){var i,s;this.blur(e,e&&"focus"===e.type),this._scrollIntoView(t),this.active=t.first(),s=this.active.addClass("ui-state-focus").removeClass("ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),this.active.parent().closest(".ui-menu-item").addClass("ui-state-active"),e&&"keydown"===e.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=t.children(".ui-menu"),i.length&&e&&/^mouse/.test(e.type)&&this._startOpening(i),this.activeMenu=t.parent(),this._trigger("focus",e,{item:t})},_scrollIntoView:function(t){var i,s,n,a,o,r;this._hasScroll()&&(i=parseFloat(e.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(e.css(this.activeMenu[0],"paddingTop"))||0,n=t.offset().top-this.activeMenu.offset().top-i-s,a=this.activeMenu.scrollTop(),o=this.activeMenu.height(),r=t.outerHeight(),0>n?this.activeMenu.scrollTop(a+n):n+r>o&&this.activeMenu.scrollTop(a+n-o+r))},blur:function(e,t){t||clearTimeout(this.timer),this.active&&(this.active.removeClass("ui-state-focus"),this.active=null,this._trigger("blur",e,{item:this.active}))},_startOpening:function(e){clearTimeout(this.timer),"true"===e.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(e)},this.delay))},_open:function(t){var i=e.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(t.parents(".ui-menu")).hide().attr("aria-hidden","true"),t.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(t,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:e(t&&t.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(t),this.activeMenu=s},this.delay)},_close:function(e){e||(e=this.active?this.active.parent():this.element),e.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","fal
vendor: 28,464 bytes, lines 19-20
19se").end().find(".ui-state-active").not(".ui-state-focus").removeClass("ui-state-active")},_closeOnDocumentClick:function(t){return!e(t.target).closest(".ui-menu").length},_isDivider:function(e){return!/[^\-\u2014\u2013\s]/.test(e.text())},collapse:function(e){var t=this.active&&this.active.parent().closest(".ui-menu-item",this.element);t&&t.length&&(this._close(),this.focus(e,t))},expand:function(e){var t=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();t&&t.length&&(this._open(t.parent()),this._delay(function(){this.focus(e,t)}))},next:function(e){this._move("next","first",e)},previous:function(e){this._move("prev","last",e)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(e,t,i){var s;this.active&&(s="first"===e||"last"===e?this.active["first"===e?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[e+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[t]()),this.focus(i,s)},nextPage:function(t){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=e(this),0>i.offset().top-s-n}),this.focus(t,i)):this.focus(t,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())),void 0):(this.next(t),void 0)},previousPage:function(t){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=e(this),i.offset().top-s+n>0}),this.focus(t,i)):this.focus(t,this.activeMenu.find(this.options.items).first())),void 0):(this.next(t),void 0)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(t){this.active=this.active||e(t.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(t,!0),this._trigger("select",t,i)},_filterMenuItems:function(t){var i=t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),s=RegExp("^"+i,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function(){return s.test(e.trim(e(this).text()))})}}),e.widget("ui.autocomplete",{version:"1.11.4",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var t,i,s,n=this.element[0].nodeName.toLowerCase(),a="textarea"===n,o="input"===n;this.isMultiLine=a?!0:o?!1:this.element.prop("isContentEditable"),this.valueMethod=this.element[a||o?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return t=!0,s=!0,i=!0,void 0;t=!1,s=!1,i=!1;var a=e.ui.keyCode;switch(n.keyCode){case a.PAGE_UP:t=!0,this._move("previousPage",n);break;case a.PAGE_DOWN:t=!0,this._move("nextPage",n);break;case a.UP:t=!0,this._keyEvent("previous",n);break;case a.DOWN:t=!0,this._keyEvent("next",n);break;case a.ENTER:this.menu.active&&(t=!0,n.preventDefault(),this.menu.select(n));break;case a.TAB:this.menu.active&&this.menu.select(n);break;case a.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(t)return t=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),void 0;if(!i){var n=e.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(e){return s?(s=!1,e.preventDefault(),void 0):(this._searchTimeout(e),void 0)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(e){return this.cancelBlur?(delete this.cancelBlur,void 0):(clearTimeout(this.searching),this.close(e),this._change(e),void 0)}}),this._initSource(),this.menu=e("<ul>").addClass("ui-autocomplete ui-front").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur});var i=this.menu.element[0];e(t.target).closest(".ui-menu-item").length||this._delay(function(){var t=this;this.document.one("mousedown",function(s){s.target===t.element[0]||s.target===i||e.contains(i,s.target)||t.close()})})},menufocus:function(t,i){var s,n;return this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type))?(this.menu.blur(),this.document.one("mousemove",function(){e(t.target).trigger(t.originalEvent)}),void 0):(n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",t,{item:n})&&t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(n.value),s=i.item.attr("aria-label")||n.value,s&&e.trim(s).length&&(this.liveRegion.children().hide(),e("<div>").text(s).appendTo(this.liveRegion)),void 0)},menuselect:function(e,t){var i=t.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==this.document[0].activeElement&&(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",e,{item:i})&&this._value(i.value),this.term=this._value(),this.close(e),this.selectedItem=i}}),this.liveRegion=e("<span>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).addClass("ui-helper-hidden-accessible").appendTo(this.document[0].body),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(e,t){this._super(e,t),"source"===e&&this._initSource(),"appendTo"===e&&this.menu.element.appendTo(this._appendTo()),"disabled"===e&&t&&this.xhr&&this.xhr.abort()},_appendTo:function(){var t=this.options.appendTo;return t&&(t=t.jquery||t.nodeType?e(t):this.document.find(t).eq(0)),t&&t[0]||(t=this.element.closest(".ui-front")),t.length||(t=this.document[0].body),t},_initSource:function(){var t,i,s=this;e.isArray(this.options.source)?(t=this.options.source,this.source=function(i,s){s(e.ui.autocomplete.filter(t,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(t,n){s.xhr&&s.xhr.abort(),s.xhr=e.ajax({url:i,data:t,dataType:"json",success:function(e){n(e)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(e){clearTimeout(this.searching),this.searching=this._delay(function(){var t=this.term===this._value(),i=this.menu.element.is(":visible"),s=e.altKey||e.ctrlKey||e.metaKey||e.shiftKey;(!t||t&&!i&&!s)&&(this.selectedItem=null,this.search(null,e))},this.options.delay)},search:function(e,t){return e=null!=e?e:this._value(),this.term=this._value(),e.length<this.options.minLength?this.close(t):this._trigger("search",t)!==!1?this._search(e):void 0},_search:function(e){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:e},this._response())},_response:function(){var t=++this.requestIndex;return e.proxy(function(e){t===this.requestIndex&&this.__response(e),this.pending--,this.pending||this.element.removeClass("ui-autocomplete-loading")},this)},__response:function(e){e&&(e=this._normalize(e)),this._trigger("response",null,{content:e}),!this.options.disabled&&e&&e.length&&!this.cancelSearch?(this._suggest(e),this._trigger("open")):this._close()},close:function(e){this.cancelSearch=!0,this._close(e)},_close:function(e){this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",e))},_change:function(e){this.previous!==this._value()&&this._trigger("change",e,{item:this.selectedItem})},_normalize:function(t){return t.length&&t[0].label&&t[0].value?t:e.map(t,function(t){return"string"==typeof t?{label:t,value:t}:e.extend({},t,{label:t.label||t.value,value:t.value||t.label})})},_suggest:function(t){var i=this.menu.element.empty();this._renderMenu(i,t),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(e.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next()},_resizeMenu:function(){var e=this.menu.element;e.outerWidth(Math.max(e.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(t,i){var s=this;e.each(i,function(e,i){s._renderItemData(t,i)})},_renderItemData:function(e,t){return this._renderItem(e,t).data("ui-autocomplete-item",t)},_renderItem:function(t,i){return e("<li>").text(i.label).appendTo(t)},_move:function(e,t){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(e)||this.menu.isLastItem()&&/^next/.test(e)?(this.isMultiLine||this._value(this.term),this.menu.blur(),void 0):(this.menu[e](t),void 0):(this.search(null,t),void 0)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(e,t){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(e,t),t.preventDefault())}}),e.extend(e.ui.autocomplete,{escapeRegex:function(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,i){var s=RegExp(e.ui.autocomplete.escapeRegex(i),"i");return e.grep(t,function(e){return s.test(e.label||e.value||e)})}}),e.widget("ui.autocomplete",e.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(e){return e+(e>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(t){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=t&&t.length?this.options.messages.results(t.length):this.options.messages.noResults,this.liveRegion.children().hide(),e("<div>").text(i).appendTo(this.liveRegion))}}),e.ui.autocomplete;var c,p="ui-button ui-widget ui-state-default ui-corner-all",f="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",m=function(){var t=e(this);setTimeout(function(){t.find(":ui-button").button("refresh")},1)},g=function(t){var i=t.name,s=t.form,n=e([]);return i&&(i=i.replace(/'/g,"\\'"),n=s?e(s).find("[name='"+i+"'][type=radio]"):e("[name='"+i+"'][type=radio]",t.ownerDocument).filter(function(){return!this.form})),n};e.widget("ui.button",{version:"1.11.4",defaultElement:"<button>",options:{disabled:null,text:!0,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset"+this.eventNamespace).bind("reset"+this.eventNamespace,m),"boolean"!=typeof this.options.disabled?this.options.disabled=!!this.element.prop("disabled"):this.element.prop("disabled",this.options.disabled),this._determineButtonType(),this.hasTitle=!!this.buttonElement.attr("title");var t=this,i=this.options,s="checkbox"===this.type||"radio"===this.type,n=s?"":"ui-state-active";null===i.label&&(i.label="input"===this.type?this.buttonElement.val():this.buttonElement.html()),this._hoverable(this.buttonElement),this.buttonElement.addClass(p).attr("role","button").bind("mouseenter"+this.eventNamespace,function(){i.disabled||this===c&&e(this).addClass("ui-state-active")}).bind("mouseleave"+this.eventNamespace,function(){i.disabled||e(this).removeClass(n)}).bind("click"+this.eventNamespace,function(e){i.disabled&&(e.preventDefault(),e.stopImmediatePropagation())}),this._on({focus:function(){this.buttonElement.addClass("ui-state-focus")},blur:function(){this.buttonElement.removeClass("ui-state-focus")}}),s&&this.element.bind("change"+this.eventNamespace,function(){t.refresh()}),"checkbox"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){return i.disabled?!1:void 0}):"radio"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){if(i.disabled)return!1;e(this).addClass("ui-state-active"),t.buttonElement.attr("aria-pressed","true");var s=t.element[0];g(s).not(s).map(function(){return e(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")}):(this.buttonElement.bind("mousedown"+this.eventNamespace,function(){return i.disabled?!1:(e(this).addClass("ui-state-active"),c=this,t.document.one("mouseup",function(){c=null}),void 0)}).bind("mouseup"+this.eventNamespace,function(){return i.disabled?!1:(e(this).removeClass("ui-state-active"),void 0)}).bind("keydown"+this.eventNamespace,function(t){return i.disabled?!1:((t.keyCode===e.ui.keyCode.SPACE||t.keyCode===e.ui.keyCode.ENTER)&&e(this).addClass("ui-state-active"),void 0)}).bind("keyup"+this.eventNamespace+" blur"+this.eventNamespace,function(){e(this).removeClass("ui-state-active")}),this.buttonElement.is("a")&&this.buttonElement.keyup(function(t){t.keyCode===e.ui.keyCode.SPACE&&e(this).click()})),this._setOption("disabled",i.disabled),this._resetButton()},_determineButtonType:function(){var e,t,i;this.type=this.element.is("[type=checkbox]")?"checkbox":this.element.is("[type=radio]")?"radio":this.element.is("input")?"input":"button","checkbox"===this.type||"radio"===this.type?(e=this.element.parents().last(),t="label[for='"+this.element.attr("id")+"']",this.buttonElement=e.find(t),this.buttonElement.length||(e=e.length?e.siblings():this.element.siblings(),this.buttonElement=e.filter(t),this.buttonElement.length||(this.buttonElement=e.find(t))),this.element.addClass("ui-helper-hidden-accessible"),i=this.element.is(":checked"),i&&this.buttonElement.addClass("ui-state-active"),this.buttonElement.prop("aria-pressed",i)):this.buttonElement=this.element},widget:function(){return this.buttonElement},_destroy:function(){this.element.removeClass("ui-helper-hidden-accessible"),this.buttonElement.removeClass(p+" ui-state-active "+f).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()),this.hasTitle||this.buttonElement.removeAttr("title")},_setOption:function(e,t){return this._super(e,t),"disabled"===e?(this.widget().toggleClass("ui-state-disabled",!!t),this.element.prop("disabled",!!t),t&&("checkbox"===this.type||"radio"===this.type?this.buttonElement.removeClass("ui-state-focus"):this.buttonElement.removeClass("ui-state-focus ui-state-active")),void 0):(this._resetButton(),void 0)},refresh:function(){var t=this.element.is("input, button")?this.element.is(":disabled"):this.element.hasClass("ui-button-disabled");t!==this.options.disabled&&this._setOption("disabled",t),"radio"===this.type?g(this.element[0]).each(function(){e(this).is(":checked")?e(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true"):e(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")}):"checkbox"===this.type&&(this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false"))},_resetButton:function(){if("input"===this.type)return this.options.label&&this.element.val(this.options.label),void 0;var t=this.buttonElement.removeClass(f),i=e("<span></span>",this.document[0]).addClass("ui-button-text").html(this.options.label).appendTo(t.empty()).text(),s=this.options.icons,n=s.primary&&s.secondary,a=[];s.primary||s.secondary?(this.options.text&&a.push("ui-button-text-icon"+(n?"s":s.primary?"-primary":"-secondary")),s.primary&&t.prepend("<span class='ui-button-icon-primary ui-icon "+s.primary+"'></span>"),s.secondary&&t.append("<span class='ui-button-icon-secondary ui-icon "+s.secondary+"'></span>"),this.options.text||(a.push(n?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||t.attr("title",e.trim(i)))):a.push("ui-button-text-only"),t.addClass(a.join(" "))}}),e.widget("ui.buttonset",{version:"1.11.4",options:{items:"button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(e,t){"disabled"===e&&this.buttons.button("option",e,t),this._super(e,t)},refresh:function(){var t="rtl"===this.element.css("direction"),i=this.element.find(this.options.items),s=i.filter(":ui-button");i.not(":ui-button").button(),s.button("refresh"),this.buttons=i.map(function(){return e(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(t?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(t?"ui-corner-left":"ui-corner-right").end().end()},_destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return e(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy")}}),e.ui.button,e.extend(e.ui,{datepicker:{version:"1.11.4"}});var v;e.extend(n.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(e){return r(this._defaults,e||{}),this},_attachDatepicker:function(t,i){var s,n,a;s=t.nodeName.toLowerCase(),n="div"===s||"span"===s,t.id||(this.uuid+=1,t.id="dp"+this.uuid),a=this._newInst(e(t),n),a.settings=e.extend({},i||{}),"input"===s?this._connectDatepicker(t,a):n&&this._inlineDatepicker(t,a)},_newInst:function(t,i){var s=t[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:s,input:t,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?a(e("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(t,i){var s=e(t);i.append=e([]),i.trigger=e([]),s.hasClass(this.markerClassName)||(this._attachments(s,i),s.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp),this._autoSize(i),e.data(t,"datepicker",i),i.settings.disabled&&this._disableDatepicker(t))},_attachments:function(t,i){var s,n,a,o=this._get(i,"appendText"),r=this._get(i,"isRTL");i.append&&i.append.remove(),o&&(i.append=e("<span class='"+this._appendClass+"'>"+o+"</span>"),t[r?"before":"after"](i.append)),t.unbind("focus",this._showDatepicker),i.trigger&&i.trigger.remove(),s=this._get(i,"showOn"),("focus"===s||"both"===s)&&t.focus(this._showDatepicker),("button"===s||"both"===s)&&(n=this._get(i,"buttonText"),a=this._get(i,"buttonImage"),i.trigger=e(this._get(i,"buttonImageOnly")?e("<img/>").addClass(this._triggerClass).attr({src:a,alt:n,title:n}):e("<button type='button'></button>").addClass(this._triggerClass).html(a?e("<img/>").attr({src:a,alt:n,title:n}):n)),t[r?"before":"after"](i.trigger),i.trigger.click(function(){return e.datepicker._datepickerShowing&&e.datepicker._lastInput===t[0]?e.datepicker._hideDatepicker():e.datepicker._datepickerShowing&&e.datepicker._lastInput!==t[0]?(e.datepicker._hideDatepicker(),e.datepicker._showDatepicker(t[0])):e.datepicker._showDatepicker(t[0]),!1}))},_autoSize:function(e){if(this._get(e,"autoSize")&&!e.inline){var t,i,s,n,a=new Date(2009,11,20),o=this._get(e,"dateFormat");o.match(/[DM]/)&&(t=function(e){for(i=0,s=0,n=0;e.length>n;n++)e[n].length>i&&(i=e[n].length,s=n);return s},a.setMonth(t(this._get(e,o.match(/MM/)?"monthNames":"monthNamesShort"))),a.setDate(t(this._get(e,o.match(/DD/)?"dayNames":"dayNamesShort"))+20-a.getDay())),e.input.attr("size",this._formatDate(e,a).length)}},_inlineDatepicker:function(t,i){var s=e(t);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),e.data(t,"datepicker",i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(t),i.dpDiv.css("display","block"))},_dialogDatepicker:function(t,i,s,n,a){var o,h,l,u,d,c=this._dialogInst;return c||(this.uuid+=1,o="dp"+this.uuid,this._dialogInput=e("<input type='text' id='"+o+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.keydown(this._doKeyDown),e("body").append(this._dialogInput),c=this._dialogInst=this._newInst(this._dialogInput,!1),c.settings={},e.data(this._dialogInput[0],"datepicker",c)),r(c.settings,n||{}),i=i&&i.constructor===Date?this._formatDate(c,i):i,this._dialogInput.val(i),this._pos=a?a.length?a:[a.pageX,a.pageY]:null,this._pos||(h=document.documentElement.clientWidth,l=document.documentElement.clientHeight,u=document.documentElement.scrollLeft||document.body.scrollLeft,d=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[h/2-100+u,l/2-150+d]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),c.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),e.blockUI&&e.blockUI(this.dpDiv),e.data(this._dialogInput[0],"datepicker",c),this},_destroyDatepicker:function(t){var i,s=e(t),n=e.data(t,"datepicker");s.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),e.removeData(t,"datepicker"),"input"===i?(n.append.remove(),n.trigger.remove(),s.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):("div"===i||"span"===i)&&s.removeClass(this.markerClassName).empty(),v===n&&(v=null))},_enableDatepicker:function(t){var i,s,n=e(t),a=e.data(t,"datepicker");n.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),"input"===i?(t.disabled=!1,a.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=e.map(this._disabledInputs,function(e){return e===t?null:e}))},_disableDatepicker:function(t){var i,s,n=e(t),a=e.data(t,"datepicker");n.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),"input"===i?(t.disabled=!0,a.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=e.map(this._disabledInputs,function(e){return e===t?null:e}),this._disabledInputs[this._disabledInputs.length]=t)},_isDisabledDatepicker:function(e){if(!e)return!1;for(var t=0;this._disabledInputs.length>t;t++)if(this._disabledInputs[t]===e)return!0;return!1},_getInst:function(t){try{return e.data(t,"datepicker")}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(t,i,s){var n,a,o,h,l=this._getInst(t);return 2===arguments.length&&"string"==typeof i?"defaults"===i?e.extend({},e.datepicker._defaults):l?"all"===i?e.extend({},l.settings):this._get(l,i):null:(n=i||{},"string"==typeof i&&(n={},n[i]=s),l&&(this._curInst===l&&this._hideDatepicker(),a=this._getDateDatepicker(t,!0),o=this._getMinMaxDate(l,"min"),h=this._getMinMaxDate(l,"max"),r(l.settings,n),null!==o&&void 0!==n.dateFormat&&void 0===n.minDate&&(l.settings.minDate=this._formatDate(l,o)),null!==h&&void 0!==n.dateFormat&&void 0===n.maxDate&&(l.settings.maxDate=this._formatDate(l,h)),"disabled"in n&&(n.disabled?this._disableDatepicker(t):this._enableDatepicker(t)),this._attachments(e(t),l),this._autoSize(l),this._setDate(l,a),this._updateAlternate(l),this._updateDatepicker(l)),void 0)},_changeDatepicker:function(e,t,i){this._optionDatepicker(e,t,i)},_refreshDatepicker:function(e){var t=this._getInst(e);t&&this._updateDatepicker(t)},_setDateDatepicker:function(e,t){var i=this._getInst(e);i&&(this._setDate(i,t),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(e,t){var i=this._getInst(e);return i&&!i.inline&&this._setDateFromField(i,t),i?this._getDate(i):null},_doKeyDown:function(t){var i,s,n,a=e.datepicker._getInst(t.target),o=!0,r=a.dpDiv.is(".ui-datepicker-rtl");if(a._keyEvent=!0,e.datepicker._datepickerShowing)switch(t.keyCode){case 9:e.datepicker._hideDatepicker(),o=!1;break;case 13:return n=e("td."+e.datepicker._dayOverClass+":not(."+e.datepicker._currentClass+")",a.dpDiv),n[0]&&e.datepicker._selectDay(t.target,a.selectedMonth,a.selectedYear,n[0]),i=e.datepicker._get(a,"onSelect"),i?(s=e.datepicker._formatDate(a),i.apply(a.input?a.input[0]:null,[s,a])):e.datepicker._hideDatepicker(),!1;case 27:e.datepicker._hideDatepicker();break;case 33:e.datepicker._adjustDate(t.target,t.ctrlKey?-e.datepicker._get(a,"stepBigMonths"):-e.datepicker._get(a,"stepMonths"),"M");break;case 34:e.datepicker._adjustDate(t.target,t.ctrlKey?+e.datepicker._get(a,"stepBigMonths"):+e.datepicker._get(a,"stepMonths"),"M");break;case 35:(t.ctrlKey||t.metaKey)&&e.datepicker._clearDate(t.target),o=t.ctrlKey||t.metaKey;break;case 36:(t.ctrlKey||t.metaKey)&&e.datepicker._gotoToday(t.target),o=t.ctrlKey||t.metaKey;break;case 37:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,r?1:-1,"D"),o=t.ctrlKey||t.metaKey,t.originalEvent.altKey&&e.datepicker._adjustDate(t.target,t.ctrlKey?-e.datepicker._get(a,"stepBigMonths"):-e.datepicker._get(a,"stepMonths"),"M");break;case 38:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,-7,"D"),o=t.ctrlKey||t.metaKey;break;case 39:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,r?-1:1,"D"),o=t.ctrlKey||t.metaKey,t.originalEvent.altKey&&e.datepicker._adjustDate(t.target,t.ctrlKey?+e.datepicker._get(a,"stepBigMonths"):+e.datepicker._get(a,"stepMonths"),"M");break;case 40:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,7,"D"),o=t.ctrlKey||t.metaKey;break;default:o=!1}else 36===t.keyCode&&t.ctrlKey?e.datepicker._showDatepicker(this):o=!1;o&&(t.preventDefault(),t.stopPropagation())},_doKeyPress:function(t){var i,s,n=e.datepicker._getInst(t.target);
20return e.datepicker._get(n,"constrainInput")?(i=e.datepicker._possibleChars(e.datepicker._get(n,"dateFormat")),s=String.fromCharCode(null==t.charCode?t.keyCode:t.charCode),t.ctrlKey||t.metaKey||" ">s||!i||i.indexOf(s)>-1):void 0},_doKeyUp:function(t){var i,s=e.datepicker._getInst(t.target);if(s.input.val()!==s.lastVal)try{i=e.datepicker.parseDate(e.datepicker._get(s,"dateFormat"),s.input?s.input.val():null,e.datepicker._getFormatConfig(s)),i&&(e.datepicker._setDateFromField(s),e.datepicker._updateAlternate(s),e.datepicker._updateDatepicker(s))}catch(n){}return!0},_showDatepicker:function(t){if(t=t.target||t,"input"!==t.nodeName.toLowerCase()&&(t=e("input",t.parentNode)[0]),!e.datepicker._isDisabledDatepicker(t)&&e.datepicker._lastInput!==t){var i,n,a,o,h,l,u;i=e.datepicker._getInst(t),e.datepicker._curInst&&e.datepicker._curInst!==i&&(e.datepicker._curInst.dpDiv.stop(!0,!0),i&&e.datepicker._datepickerShowing&&e.datepicker._hideDatepicker(e.datepicker._curInst.input[0])),n=e.datepicker._get(i,"beforeShow"),a=n?n.apply(t,[t,i]):{},a!==!1&&(r(i.settings,a),i.lastVal=null,e.datepicker._lastInput=t,e.datepicker._setDateFromField(i),e.datepicker._inDialog&&(t.value=""),e.datepicker._pos||(e.datepicker._pos=e.datepicker._findPos(t),e.datepicker._pos[1]+=t.offsetHeight),o=!1,e(t).parents().each(function(){return o|="fixed"===e(this).css("position"),!o}),h={left:e.datepicker._pos[0],top:e.datepicker._pos[1]},e.datepicker._pos=null,i.dpDiv.empty(),i.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),e.datepicker._updateDatepicker(i),h=e.datepicker._checkOffset(i,h,o),i.dpDiv.css({position:e.datepicker._inDialog&&e.blockUI?"static":o?"fixed":"absolute",display:"none",left:h.left+"px",top:h.top+"px"}),i.inline||(l=e.datepicker._get(i,"showAnim"),u=e.datepicker._get(i,"duration"),i.dpDiv.css("z-index",s(e(t))+1),e.datepicker._datepickerShowing=!0,e.effects&&e.effects.effect[l]?i.dpDiv.show(l,e.datepicker._get(i,"showOptions"),u):i.dpDiv[l||"show"](l?u:null),e.datepicker._shouldFocusInput(i)&&i.input.focus(),e.datepicker._curInst=i))}},_updateDatepicker:function(t){this.maxRows=4,v=t,t.dpDiv.empty().append(this._generateHTML(t)),this._attachHandlers(t);
vendor: 11,237 bytes, line 20
20var i,s=this._getNumberOfMonths(t),n=s[1],a=17,r=t.dpDiv.find("."+this._dayOverClass+" a");r.length>0&&o.apply(r.get(0)),t.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),n>1&&t.dpDiv.addClass("ui-datepicker-multi-"+n).css("width",a*n+"em"),t.dpDiv[(1!==s[0]||1!==s[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),t.dpDiv[(this._get(t,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),t===e.datepicker._curInst&&e.datepicker._datepickerShowing&&e.datepicker._shouldFocusInput(t)&&t.input.focus(),t.yearshtml&&(i=t.yearshtml,setTimeout(function(){i===t.yearshtml&&t.yearshtml&&t.dpDiv.find("select.ui-datepicker-year:first").replaceWith(t.yearshtml),i=t.yearshtml=null},0))},_shouldFocusInput:function(e){return e.input&&e.input.is(":visible")&&!e.input.is(":disabled")&&!e.input.is(":focus")},_checkOffset:function(t,i,s){var n=t.dpDiv.outerWidth(),a=t.dpDiv.outerHeight(),o=t.input?t.input.outerWidth():0,r=t.input?t.input.outerHeight():0,h=document.documentElement.clientWidth+(s?0:e(document).scrollLeft()),l=document.documentElement.clientHeight+(s?0:e(document).scrollTop());return i.left-=this._get(t,"isRTL")?n-o:0,i.left-=s&&i.left===t.input.offset().left?e(document).scrollLeft():0,i.top-=s&&i.top===t.input.offset().top+r?e(document).scrollTop():0,i.left-=Math.min(i.left,i.left+n>h&&h>n?Math.abs(i.left+n-h):0),i.top-=Math.min(i.top,i.top+a>l&&l>a?Math.abs(a+r):0),i},_findPos:function(t){for(var i,s=this._getInst(t),n=this._get(s,"isRTL");t&&("hidden"===t.type||1!==t.nodeType||e.expr.filters.hidden(t));)t=t[n?"previousSibling":"nextSibling"];return i=e(t).offset(),[i.left,i.top]},_hideDatepicker:function(t){var i,s,n,a,o=this._curInst;!o||t&&o!==e.data(t,"datepicker")||this._datepickerShowing&&(i=this._get(o,"showAnim"),s=this._get(o,"duration"),n=function(){e.datepicker._tidyDialog(o)},e.effects&&(e.effects.effect[i]||e.effects[i])?o.dpDiv.hide(i,e.datepicker._get(o,"showOptions"),s,n):o.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?s:null,n),i||n(),this._datepickerShowing=!1,a=this._get(o,"onClose"),a&&a.apply(o.input?o.input[0]:null,[o.input?o.input.val():"",o]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),e.blockUI&&(e.unblockUI(),e("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(e){e.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(t){if(e.datepicker._curInst){var i=e(t.target),s=e.datepicker._getInst(i[0]);(i[0].id!==e.datepicker._mainDivId&&0===i.parents("#"+e.datepicker._mainDivId).length&&!i.hasClass(e.datepicker.markerClassName)&&!i.closest("."+e.datepicker._triggerClass).length&&e.datepicker._datepickerShowing&&(!e.datepicker._inDialog||!e.blockUI)||i.hasClass(e.datepicker.markerClassName)&&e.datepicker._curInst!==s)&&e.datepicker._hideDatepicker()}},_adjustDate:function(t,i,s){var n=e(t),a=this._getInst(n[0]);this._isDisabledDatepicker(n[0])||(this._adjustInstDate(a,i+("M"===s?this._get(a,"showCurrentAtPos"):0),s),this._updateDatepicker(a))},_gotoToday:function(t){var i,s=e(t),n=this._getInst(s[0]);this._get(n,"gotoCurrent")&&n.currentDay?(n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear):(i=new Date,n.selectedDay=i.getDate(),n.drawMonth=n.selectedMonth=i.getMonth(),n.drawYear=n.selectedYear=i.getFullYear()),this._notifyChange(n),this._adjustDate(s)},_selectMonthYear:function(t,i,s){var n=e(t),a=this._getInst(n[0]);a["selected"+("M"===s?"Month":"Year")]=a["draw"+("M"===s?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(a),this._adjustDate(n)},_selectDay:function(t,i,s,n){var a,o=e(t);e(n).hasClass(this._unselectableClass)||this._isDisabledDatepicker(o[0])||(a=this._getInst(o[0]),a.selectedDay=a.currentDay=e("a",n).html(),a.selectedMonth=a.currentMonth=i,a.selectedYear=a.currentYear=s,this._selectDate(t,this._formatDate(a,a.currentDay,a.currentMonth,a.currentYear)))},_clearDate:function(t){var i=e(t);this._selectDate(i,"")},_selectDate:function(t,i){var s,n=e(t),a=this._getInst(n[0]);i=null!=i?i:this._formatDate(a),a.input&&a.input.val(i),this._updateAlternate(a),s=this._get(a,"onSelect"),s?s.apply(a.input?a.input[0]:null,[i,a]):a.input&&a.input.trigger("change"),a.inline?this._updateDatepicker(a):(this._hideDatepicker(),this._lastInput=a.input[0],"object"!=typeof a.input[0]&&a.input.focus(),this._lastInput=null)},_updateAlternate:function(t){var i,s,n,a=this._get(t,"altField");a&&(i=this._get(t,"altFormat")||this._get(t,"dateFormat"),s=this._getDate(t),n=this.formatDate(i,s,this._getFormatConfig(t)),e(a).each(function(){e(this).val(n)}))},noWeekends:function(e){var t=e.getDay();return[t>0&&6>t,""]},iso8601Week:function(e){var t,i=new Date(e.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),t=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((t-i)/864e5)/7)+1},parseDate:function(t,i,s){if(null==t||null==i)throw"Invalid arguments";if(i="object"==typeof i?""+i:i+"",""===i)return null;var n,a,o,r,h=0,l=(s?s.shortYearCutoff:null)||this._defaults.shortYearCutoff,u="string"!=typeof l?l:(new Date).getFullYear()%100+parseInt(l,10),d=(s?s.dayNamesShort:null)||this._defaults.dayNamesShort,c=(s?s.dayNames:null)||this._defaults.dayNames,p=(s?s.monthNamesShort:null)||this._defaults.monthNamesShort,f=(s?s.monthNames:null)||this._defaults.monthNames,m=-1,g=-1,v=-1,y=-1,b=!1,_=function(e){var i=t.length>n+1&&t.charAt(n+1)===e;return i&&n++,i},x=function(e){var t=_(e),s="@"===e?14:"!"===e?20:"y"===e&&t?4:"o"===e?3:2,n="y"===e?s:1,a=RegExp("^\\d{"+n+","+s+"}"),o=i.substring(h).match(a);if(!o)throw"Missing number at position "+h;return h+=o[0].length,parseInt(o[0],10)},w=function(t,s,n){var a=-1,o=e.map(_(t)?n:s,function(e,t){return[[t,e]]}).sort(function(e,t){return-(e[1].length-t[1].length)});if(e.each(o,function(e,t){var s=t[1];return i.substr(h,s.length).toLowerCase()===s.toLowerCase()?(a=t[0],h+=s.length,!1):void 0}),-1!==a)return a+1;throw"Unknown name at position "+h},k=function(){if(i.charAt(h)!==t.charAt(n))throw"Unexpected literal at position "+h;h++};for(n=0;t.length>n;n++)if(b)"'"!==t.charAt(n)||_("'")?k():b=!1;else switch(t.charAt(n)){case"d":v=x("d");break;case"D":w("D",d,c);break;case"o":y=x("o");break;case"m":g=x("m");break;case"M":g=w("M",p,f);break;case"y":m=x("y");break;case"@":r=new Date(x("@")),m=r.getFullYear(),g=r.getMonth()+1,v=r.getDate();break;case"!":r=new Date((x("!")-this._ticksTo1970)/1e4),m=r.getFullYear(),g=r.getMonth()+1,v=r.getDate();break;case"'":_("'")?k():b=!0;break;default:k()}if(i.length>h&&(o=i.substr(h),!/^\s+/.test(o)))throw"Extra/unparsed characters found in date: "+o;if(-1===m?m=(new Date).getFullYear():100>m&&(m+=(new Date).getFullYear()-(new Date).getFullYear()%100+(u>=m?0:-100)),y>-1)for(g=1,v=y;;){if(a=this._getDaysInMonth(m,g-1),a>=v)break;g++,v-=a}if(r=this._daylightSavingAdjust(new Date(m,g-1,v)),r.getFullYear()!==m||r.getMonth()+1!==g||r.getDate()!==v)throw"Invalid date";return r},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(e,t,i){if(!t)return"";var s,n=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,a=(i?i.dayNames:null)||this._defaults.dayNames,o=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,r=(i?i.monthNames:null)||this._defaults.monthNames,h=function(t){var i=e.length>s+1&&e.charAt(s+1)===t;return i&&s++,i},l=function(e,t,i){var s=""+t;if(h(e))for(;i>s.length;)s="0"+s;return s},u=function(e,t,i,s){return h(e)?s[t]:i[t]},d="",c=!1;if(t)for(s=0;e.length>s;s++)if(c)"'"!==e.charAt(s)||h("'")?d+=e.charAt(s):c=!1;else switch(e.charAt(s)){case"d":d+=l("d",t.getDate(),2);break;case"D":d+=u("D",t.getDay(),n,a);break;case"o":d+=l("o",Math.round((new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime()-new Date(t.getFullYear(),0,0).getTime())/864e5),3);break;case"m":d+=l("m",t.getMonth()+1,2);break;case"M":d+=u("M",t.getMonth(),o,r);break;case"y":d+=h("y")?t.getFullYear():(10>t.getYear()%100?"0":"")+t.getYear()%100;break;case"@":d+=t.getTime();break;case"!":d+=1e4*t.getTime()+this._ticksTo1970;break;case"'":h("'")?d+="'":c=!0;break;default:d+=e.charAt(s)}return d},_possibleChars:function(e){var t,i="",s=!1,n=function(i){var s=e.length>t+1&&e.charAt(t+1)===i;return s&&t++,s};for(t=0;e.length>t;t++)if(s)"'"!==e.charAt(t)||n("'")?i+=e.charAt(t):s=!1;else switch(e.charAt(t)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":n("'")?i+="'":s=!0;break;default:i+=e.charAt(t)}return i},_get:function(e,t){return void 0!==e.settings[t]?e.settings[t]:this._defaults[t]},_setDateFromField:function(e,t){if(e.input.val()!==e.lastVal){var i=this._get(e,"dateFormat"),s=e.lastVal=e.input?e.input.val():null,n=this._getDefaultDate(e),a=n,o=this._getFormatConfig(e);try{a=this.parseDate(i,s,o)||n}catch(r){s=t?"":s}e.selectedDay=a.getDate(),e.drawMonth=e.selectedMonth=a.getMonth(),e.drawYear=e.selectedYear=a.getFullYear(),e.currentDay=s?a.getDate():0,e.currentMonth=s?a.getMonth():0,e.currentYear=s?a.getFullYear():0,this._adjustInstDate(e)}},_getDefaultDate:function(e){return this._restrictMinMax(e,this._determineDate(e,this._get(e,"defaultDate"),new Date))},_determineDate:function(t,i,s){var n=function(e){var t=new Date;return t.setDate(t.getDate()+e),t},a=function(i){try{return e.datepicker.parseDate(e.datepicker._get(t,"dateFormat"),i,e.datepicker._getFormatConfig(t))}catch(s){}for(var n=(i.toLowerCase().match(/^c/)?e.datepicker._getDate(t):null)||new Date,a=n.getFullYear(),o=n.getMonth(),r=n.getDate(),h=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,l=h.exec(i);l;){switch(l[2]||"d"){case"d":case"D":r+=parseInt(l[1],10);break;case"w":case"W":r+=7*parseInt(l[1],10);break;case"m":case"M":o+=parseInt(l[1],10),r=Math.min(r,e.datepicker._getDaysInMonth(a,o));break;case"y":case"Y":a+=parseInt(l[1],10),r=Math.min(r,e.datepicker._getDaysInMonth(a,o))}l=h.exec(i)}return new Date(a,o,r)},o=null==i||""===i?s:"string"==typeof i?a(i):"number"==typeof i?isNaN(i)?s:n(i):new Date(i.getTime());return o=o&&"Invalid Date"==""+o?s:o,o&&(o.setHours(0),o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0)),this._daylightSavingAdjust(o)},_daylightSavingAdjust:function(e){return e?(e.setHours(e.getHours()>12?e.getHours()+2:0),e):null},_setDate:function(e,t,i){var s=!t,n=e.selectedMonth,a=e.selectedYear,o=this._restrictMinMax(e,this._determineDate(e,t,new Date));e.selectedDay=e.currentDay=o.getDate(),e.drawMonth=e.selectedMonth=e.currentMonth=o.getMonth(),e.drawYear=e.selectedYear=e.currentYear=o.getFullYear(),n===e.selectedMonth&&a===e.selectedYear||i||this._notifyChange(e),this._adjustInstDate(e),e.input&&e.input.val(s?"":this._formatDate(e))},_getDate:function(e){var t=!e.currentYear||e.input&&""===e.input.val()?null:this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return t},_attachHandlers:function(t){var i=this._get(t,"stepMonths"),s="#"+t.id.replace(/\\\\/g,"\\");
vendor: 37,383 bytes, lines 20-21
20t.dpDiv.find("[data-handler]").map(function(){var t={prev:function(){e.datepicker._adjustDate(s,-i,"M")},next:function(){e.datepicker._adjustDate(s,+i,"M")},hide:function(){e.datepicker._hideDatepicker()},today:function(){e.datepicker._gotoToday(s)},selectDay:function(){return e.datepicker._selectDay(s,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return e.datepicker._selectMonthYear(s,this,"M"),!1},selectYear:function(){return e.datepicker._selectMonthYear(s,this,"Y"),!1}};e(this).bind(this.getAttribute("data-event"),t[this.getAttribute("data-handler")])})},_generateHTML:function(e){var t,i,s,n,a,o,r,h,l,u,d,c,p,f,m,g,v,y,b,_,x,w,k,T,D,S,M,C,N,A,P,I,H,z,F,E,O,j,W,L=new Date,R=this._daylightSavingAdjust(new Date(L.getFullYear(),L.getMonth(),L.getDate())),Y=this._get(e,"isRTL"),B=this._get(e,"showButtonPanel"),J=this._get(e,"hideIfNoPrevNext"),q=this._get(e,"navigationAsDateFormat"),K=this._getNumberOfMonths(e),V=this._get(e,"showCurrentAtPos"),U=this._get(e,"stepMonths"),Q=1!==K[0]||1!==K[1],G=this._daylightSavingAdjust(e.currentDay?new Date(e.currentYear,e.currentMonth,e.currentDay):new Date(9999,9,9)),X=this._getMinMaxDate(e,"min"),$=this._getMinMaxDate(e,"max"),Z=e.drawMonth-V,et=e.drawYear;if(0>Z&&(Z+=12,et--),$)for(t=this._daylightSavingAdjust(new Date($.getFullYear(),$.getMonth()-K[0]*K[1]+1,$.getDate())),t=X&&X>t?X:t;this._daylightSavingAdjust(new Date(et,Z,1))>t;)Z--,0>Z&&(Z=11,et--);for(e.drawMonth=Z,e.drawYear=et,i=this._get(e,"prevText"),i=q?this.formatDate(i,this._daylightSavingAdjust(new Date(et,Z-U,1)),this._getFormatConfig(e)):i,s=this._canAdjustMonth(e,-1,et,Z)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>":J?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>",n=this._get(e,"nextText"),n=q?this.formatDate(n,this._daylightSavingAdjust(new Date(et,Z+U,1)),this._getFormatConfig(e)):n,a=this._canAdjustMonth(e,1,et,Z)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>":J?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>",o=this._get(e,"currentText"),r=this._get(e,"gotoCurrent")&&e.currentDay?G:R,o=q?this.formatDate(o,r,this._getFormatConfig(e)):o,h=e.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(e,"closeText")+"</button>",l=B?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(Y?h:"")+(this._isInRange(e,r)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+o+"</button>":"")+(Y?"":h)+"</div>":"",u=parseInt(this._get(e,"firstDay"),10),u=isNaN(u)?0:u,d=this._get(e,"showWeek"),c=this._get(e,"dayNames"),p=this._get(e,"dayNamesMin"),f=this._get(e,"monthNames"),m=this._get(e,"monthNamesShort"),g=this._get(e,"beforeShowDay"),v=this._get(e,"showOtherMonths"),y=this._get(e,"selectOtherMonths"),b=this._getDefaultDate(e),_="",w=0;K[0]>w;w++){for(k="",this.maxRows=4,T=0;K[1]>T;T++){if(D=this._daylightSavingAdjust(new Date(et,Z,e.selectedDay)),S=" ui-corner-all",M="",Q){if(M+="<div class='ui-datepicker-group",K[1]>1)switch(T){case 0:M+=" ui-datepicker-group-first",S=" ui-corner-"+(Y?"right":"left");break;case K[1]-1:M+=" ui-datepicker-group-last",S=" ui-corner-"+(Y?"left":"right");break;default:M+=" ui-datepicker-group-middle",S=""}M+="'>"}for(M+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+S+"'>"+(/all|left/.test(S)&&0===w?Y?a:s:"")+(/all|right/.test(S)&&0===w?Y?s:a:"")+this._generateMonthYearHeader(e,Z,et,X,$,w>0||T>0,f,m)+"</div><table class='ui-datepicker-calendar'><thead>"+"<tr>",C=d?"<th class='ui-datepicker-week-col'>"+this._get(e,"weekHeader")+"</th>":"",x=0;7>x;x++)N=(x+u)%7,C+="<th scope='col'"+((x+u+6)%7>=5?" class='ui-datepicker-week-end'":"")+">"+"<span title='"+c[N]+"'>"+p[N]+"</span></th>";for(M+=C+"</tr></thead><tbody>",A=this._getDaysInMonth(et,Z),et===e.selectedYear&&Z===e.selectedMonth&&(e.selectedDay=Math.min(e.selectedDay,A)),P=(this._getFirstDayOfMonth(et,Z)-u+7)%7,I=Math.ceil((P+A)/7),H=Q?this.maxRows>I?this.maxRows:I:I,this.maxRows=H,z=this._daylightSavingAdjust(new Date(et,Z,1-P)),F=0;H>F;F++){for(M+="<tr>",E=d?"<td class='ui-datepicker-week-col'>"+this._get(e,"calculateWeek")(z)+"</td>":"",x=0;7>x;x++)O=g?g.apply(e.input?e.input[0]:null,[z]):[!0,""],j=z.getMonth()!==Z,W=j&&!y||!O[0]||X&&X>z||$&&z>$,E+="<td class='"+((x+u+6)%7>=5?" ui-datepicker-week-end":"")+(j?" ui-datepicker-other-month":"")+(z.getTime()===D.getTime()&&Z===e.selectedMonth&&e._keyEvent||b.getTime()===z.getTime()&&b.getTime()===D.getTime()?" "+this._dayOverClass:"")+(W?" "+this._unselectableClass+" ui-state-disabled":"")+(j&&!v?"":" "+O[1]+(z.getTime()===G.getTime()?" "+this._currentClass:"")+(z.getTime()===R.getTime()?" ui-datepicker-today":""))+"'"+(j&&!v||!O[2]?"":" title='"+O[2].replace(/'/g,"&#39;")+"'")+(W?"":" data-handler='selectDay' data-event='click' data-month='"+z.getMonth()+"' data-year='"+z.getFullYear()+"'")+">"+(j&&!v?"&#xa0;":W?"<span class='ui-state-default'>"+z.getDate()+"</span>":"<a class='ui-state-default"+(z.getTime()===R.getTime()?" ui-state-highlight":"")+(z.getTime()===G.getTime()?" ui-state-active":"")+(j?" ui-priority-secondary":"")+"' href='#'>"+z.getDate()+"</a>")+"</td>",z.setDate(z.getDate()+1),z=this._daylightSavingAdjust(z);M+=E+"</tr>"}Z++,Z>11&&(Z=0,et++),M+="</tbody></table>"+(Q?"</div>"+(K[0]>0&&T===K[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),k+=M}_+=k}return _+=l,e._keyEvent=!1,_},_generateMonthYearHeader:function(e,t,i,s,n,a,o,r){var h,l,u,d,c,p,f,m,g=this._get(e,"changeMonth"),v=this._get(e,"changeYear"),y=this._get(e,"showMonthAfterYear"),b="<div class='ui-datepicker-title'>",_="";if(a||!g)_+="<span class='ui-datepicker-month'>"+o[t]+"</span>";else{for(h=s&&s.getFullYear()===i,l=n&&n.getFullYear()===i,_+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",u=0;12>u;u++)(!h||u>=s.getMonth())&&(!l||n.getMonth()>=u)&&(_+="<option value='"+u+"'"+(u===t?" selected='selected'":"")+">"+r[u]+"</option>");_+="</select>"}if(y||(b+=_+(!a&&g&&v?"":"&#xa0;")),!e.yearshtml)if(e.yearshtml="",a||!v)b+="<span class='ui-datepicker-year'>"+i+"</span>";else{for(d=this._get(e,"yearRange").split(":"),c=(new Date).getFullYear(),p=function(e){var t=e.match(/c[+\-].*/)?i+parseInt(e.substring(1),10):e.match(/[+\-].*/)?c+parseInt(e,10):parseInt(e,10);return isNaN(t)?c:t},f=p(d[0]),m=Math.max(f,p(d[1]||"")),f=s?Math.max(f,s.getFullYear()):f,m=n?Math.min(m,n.getFullYear()):m,e.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";m>=f;f++)e.yearshtml+="<option value='"+f+"'"+(f===i?" selected='selected'":"")+">"+f+"</option>";e.yearshtml+="</select>",b+=e.yearshtml,e.yearshtml=null}return b+=this._get(e,"yearSuffix"),y&&(b+=(!a&&g&&v?"":"&#xa0;")+_),b+="</div>"},_adjustInstDate:function(e,t,i){var s=e.drawYear+("Y"===i?t:0),n=e.drawMonth+("M"===i?t:0),a=Math.min(e.selectedDay,this._getDaysInMonth(s,n))+("D"===i?t:0),o=this._restrictMinMax(e,this._daylightSavingAdjust(new Date(s,n,a)));e.selectedDay=o.getDate(),e.drawMonth=e.selectedMonth=o.getMonth(),e.drawYear=e.selectedYear=o.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(e)},_restrictMinMax:function(e,t){var i=this._getMinMaxDate(e,"min"),s=this._getMinMaxDate(e,"max"),n=i&&i>t?i:t;return s&&n>s?s:n},_notifyChange:function(e){var t=this._get(e,"onChangeMonthYear");t&&t.apply(e.input?e.input[0]:null,[e.selectedYear,e.selectedMonth+1,e])},_getNumberOfMonths:function(e){var t=this._get(e,"numberOfMonths");return null==t?[1,1]:"number"==typeof t?[1,t]:t},_getMinMaxDate:function(e,t){return this._determineDate(e,this._get(e,t+"Date"),null)},_getDaysInMonth:function(e,t){return 32-this._daylightSavingAdjust(new Date(e,t,32)).getDate()},_getFirstDayOfMonth:function(e,t){return new Date(e,t,1).getDay()},_canAdjustMonth:function(e,t,i,s){var n=this._getNumberOfMonths(e),a=this._daylightSavingAdjust(new Date(i,s+(0>t?t:n[0]*n[1]),1));return 0>t&&a.setDate(this._getDaysInMonth(a.getFullYear(),a.getMonth())),this._isInRange(e,a)},_isInRange:function(e,t){var i,s,n=this._getMinMaxDate(e,"min"),a=this._getMinMaxDate(e,"max"),o=null,r=null,h=this._get(e,"yearRange");return h&&(i=h.split(":"),s=(new Date).getFullYear(),o=parseInt(i[0],10),r=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(o+=s),i[1].match(/[+\-].*/)&&(r+=s)),(!n||t.getTime()>=n.getTime())&&(!a||t.getTime()<=a.getTime())&&(!o||t.getFullYear()>=o)&&(!r||r>=t.getFullYear())},_getFormatConfig:function(e){var t=this._get(e,"shortYearCutoff");return t="string"!=typeof t?t:(new Date).getFullYear()%100+parseInt(t,10),{shortYearCutoff:t,dayNamesShort:this._get(e,"dayNamesShort"),dayNames:this._get(e,"dayNames"),monthNamesShort:this._get(e,"monthNamesShort"),monthNames:this._get(e,"monthNames")}},_formatDate:function(e,t,i,s){t||(e.currentDay=e.selectedDay,e.currentMonth=e.selectedMonth,e.currentYear=e.selectedYear);var n=t?"object"==typeof t?t:this._daylightSavingAdjust(new Date(s,i,t)):this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return this.formatDate(this._get(e,"dateFormat"),n,this._getFormatConfig(e))}}),e.fn.datepicker=function(t){if(!this.length)return this;e.datepicker.initialized||(e(document).mousedown(e.datepicker._checkExternalClick),e.datepicker.initialized=!0),0===e("#"+e.datepicker._mainDivId).length&&e("body").append(e.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof t||"isDisabled"!==t&&"getDate"!==t&&"widget"!==t?"option"===t&&2===arguments.length&&"string"==typeof arguments[1]?e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof t?e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this].concat(i)):e.datepicker._attachDatepicker(this,t)}):e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this[0]].concat(i))},e.datepicker=new n,e.datepicker.initialized=!1,e.datepicker.uuid=(new Date).getTime(),e.datepicker.version="1.11.4",e.datepicker,e.widget("ui.draggable",e.ui.mouse,{version:"1.11.4",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._setHandleClassName(),this._mouseInit()},_setOption:function(e,t){this._super(e,t),"handle"===e&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){return(this.helper||this.element).is(".ui-draggable-dragging")?(this.destroyOnClear=!0,void 0):(this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._removeHandleClassName(),this._mouseDestroy(),void 0)},_mouseCapture:function(t){var i=this.options;return this._blurActiveElement(t),this.helper||i.disabled||e(t.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(t),this.handle?(this._blockFrames(i.iframeFix===!0?"iframe":i.iframeFix),!0):!1)},_blockFrames:function(t){this.iframeBlocks=this.document.find(t).map(function(){var t=e(this);return e("<div>").css("position","absolute").appendTo(t.parent()).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()).offset(t.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(t){var i=this.document[0];if(this.handleElement.is(t.target))try{i.activeElement&&"body"!==i.activeElement.nodeName.toLowerCase()&&e(i.activeElement).blur()}catch(s){}},_mouseStart:function(t){var i=this.options;return this.helper=this._createHelper(t),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),e.ui.ddmanager&&(e.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter(function(){return"fixed"===e(this).css("position")}).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(t),this.originalPosition=this.position=this._generatePosition(t,!1),this.originalPageX=t.pageX,this.originalPageY=t.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",t)===!1?(this._clear(),!1):(this._cacheHelperProportions(),e.ui.ddmanager&&!i.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this._normalizeRightBottom(),this._mouseDrag(t,!0),e.ui.ddmanager&&e.ui.ddmanager.dragStart(this,t),!0)},_refreshOffsets:function(e){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:e.pageX-this.offset.left,top:e.pageY-this.offset.top}},_mouseDrag:function(t,i){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(t,!0),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",t,s)===!1)return this._mouseUp({}),!1;this.position=s.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var i=this,s=!1;return e.ui.ddmanager&&!this.options.dropBehaviour&&(s=e.ui.ddmanager.drop(this,t)),this.dropped&&(s=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||e.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?e(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",t)!==!1&&i._clear()}):this._trigger("stop",t)!==!1&&this._clear(),!1},_mouseUp:function(t){return this._unblockFrames(),e.ui.ddmanager&&e.ui.ddmanager.dragStop(this,t),this.handleElement.is(t.target)&&this.element.focus(),e.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(t){return this.options.handle?!!e(t.target).closest(this.element.find(this.options.handle)).length:!0},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this.handleElement.addClass("ui-draggable-handle")},_removeHandleClassName:function(){this.handleElement.removeClass("ui-draggable-handle")},_createHelper:function(t){var i=this.options,s=e.isFunction(i.helper),n=s?e(i.helper.apply(this.element[0],[t])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return n.parents("body").length||n.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s&&n[0]===this.element[0]&&this._setPositionRelative(),n[0]===this.element[0]||/(fixed|absolute)/.test(n.css("position"))||n.css("position","absolute"),n},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_isRootNode:function(e){return/(html|body)/i.test(e.tagName)||e===this.document[0]},_getParentOffset:function(){var t=this.offsetParent.offset(),i=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==i&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var e=this.element.position(),t=this._isRootNode(this.scrollParent[0]);return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+(t?0:this.scrollParent.scrollTop()),left:e.left-(parseInt(this.helper.css("left"),10)||0)+(t?0:this.scrollParent.scrollLeft())}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,i,s,n=this.options,a=this.document[0];return this.relativeContainer=null,n.containment?"window"===n.containment?(this.containment=[e(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,e(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,e(window).scrollLeft()+e(window).width()-this.helperProportions.width-this.margins.left,e(window).scrollTop()+(e(window).height()||a.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):"document"===n.containment?(this.containment=[0,0,e(a).width()-this.helperProportions.width-this.margins.left,(e(a).height()||a.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):n.containment.constructor===Array?(this.containment=n.containment,void 0):("parent"===n.containment&&(n.containment=this.helper[0].parentNode),i=e(n.containment),s=i[0],s&&(t=/(scroll|auto)/.test(i.css("overflow")),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(t?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(t?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=i),void 0):(this.containment=null,void 0)
21},_convertPositionTo:function(e,t){t||(t=this.position);var i="absolute"===e?1:-1,s=this._isRootNode(this.scrollParent[0]);return{top:t.top+this.offset.relative.top*i+this.offset.parent.top*i-("fixed"===this.cssPosition?-this.offset.scroll.top:s?0:this.offset.scroll.top)*i,left:t.left+this.offset.relative.left*i+this.offset.parent.left*i-("fixed"===this.cssPosition?-this.offset.scroll.left:s?0:this.offset.scroll.left)*i}},_generatePosition:function(e,t){var i,s,n,a,o=this.options,r=this._isRootNode(this.scrollParent[0]),h=e.pageX,l=e.pageY;return r&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),t&&(this.containment&&(this.relativeContainer?(s=this.relativeContainer.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,e.pageX-this.offset.click.left<i[0]&&(h=i[0]+this.offset.click.left),e.pageY-this.offset.click.top<i[1]&&(l=i[1]+this.offset.click.top),e.pageX-this.offset.click.left>i[2]&&(h=i[2]+this.offset.click.left),e.pageY-this.offset.click.top>i[3]&&(l=i[3]+this.offset.click.top)),o.grid&&(n=o.grid[1]?this.originalPageY+Math.round((l-this.originalPageY)/o.grid[1])*o.grid[1]:this.originalPageY,l=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-o.grid[1]:n+o.grid[1]:n,a=o.grid[0]?this.originalPageX+Math.round((h-this.originalPageX)/o.grid[0])*o.grid[0]:this.originalPageX,h=i?a-this.offset.click.left>=i[0]||a-this.offset.click.left>i[2]?a:a-this.offset.click.left>=i[0]?a-o.grid[0]:a+o.grid[0]:a),"y"===o.axis&&(h=this.originalPageX),"x"===o.axis&&(l=this.originalPageY)),{top:l-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:r?0:this.offset.scroll.top),left:h-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:r?0:this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_normalizeRightBottom:function(){"y"!==this.options.axis&&"auto"!==this.helper.css("right")&&(this.helper.width(this.helper.width()),this.helper.css("right","auto")),"x"!==this.options.axis&&"auto"!==this.helper.css("bottom")&&(this.helper.height(this.helper.height()),this.helper.css("bottom","auto"))},_trigger:function(t,i,s){return s=s||this._uiHash(),e.ui.plugin.call(this,t,[i,s,this],!0),/^(drag|start|stop)/.test(t)&&(this.positionAbs=this._convertPositionTo("absolute"),s.offset=this.positionAbs),e.Widget.prototype._trigger.call(this,t,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),e.ui.plugin.add("draggable","connectToSortable",{start:function(t,i,s){var n=e.extend({},i,{item:s.element});s.sortables=[],e(s.options.connectToSortable).each(function(){var i=e(this).sortable("instance");i&&!i.options.disabled&&(s.sortables.push(i),i.refreshPositions(),i._trigger("activate",t,n))})},stop:function(t,i,s){var n=e.extend({},i,{item:s.element});s.cancelHelperRemoval=!1,e.each(s.sortables,function(){var e=this;e.isOver?(e.isOver=0,s.cancelHelperRemoval=!0,e.cancelHelperRemoval=!1,e._storedCSS={position:e.placeholder.css("position"),top:e.placeholder.css("top"),left:e.placeholder.css("left")},e._mouseStop(t),e.options.helper=e.options._helper):(e.cancelHelperRemoval=!0,e._trigger("deactivate",t,n))})},drag:function(t,i,s){e.each(s.sortables,function(){var n=!1,a=this;a.positionAbs=s.positionAbs,a.helperProportions=s.helperProportions,a.offset.click=s.offset.click,a._intersectsWith(a.containerCache)&&(n=!0,e.each(s.sortables,function(){return this.positionAbs=s.positionAbs,this.helperProportions=s.helperProportions,this.offset.click=s.offset.click,this!==a&&this._intersectsWith(this.containerCache)&&e.contains(a.element[0],this.element[0])&&(n=!1),n})),n?(a.isOver||(a.isOver=1,s._parent=i.helper.parent(),a.currentItem=i.helper.appendTo(a.element).data("ui-sortable-item",!0),a.options._helper=a.options.helper,a.options.helper=function(){return i.helper[0]},t.target=a.currentItem[0],a._mouseCapture(t,!0),a._mouseStart(t,!0,!0),a.offset.click.top=s.offset.click.top,a.offset.click.left=s.offset.click.left,a.offset.parent.left-=s.offset.parent.left-a.offset.parent.left,a.offset.parent.top-=s.offset.parent.top-a.offset.parent.top,s._trigger("toSortable",t),s.dropped=a.element,e.each(s.sortables,function(){this.refreshPositions()}),s.currentItem=s.element,a.fromOutside=s),a.currentItem&&(a._mouseDrag(t),i.position=a.position)):a.isOver&&(a.isOver=0,a.cancelHelperRemoval=!0,a.options._revert=a.options.revert,a.options.revert=!1,a._trigger("out",t,a._uiHash(a)),a._mouseStop(t,!0),a.options.revert=a.options._revert,a.options.helper=a.options._helper,a.placeholder&&a.placeholder.remove(),i.helper.appendTo(s._parent),s._refreshOffsets(t),i.position=s._generatePosition(t,!0),s._trigger("fromSortable",t),s.dropped=!1,e.each(s.sortables,function(){this.refreshPositions()}))})}}),e.ui.plugin.add("draggable","cursor",{start:function(t,i,s){var n=e("body"),a=s.options;n.css("cursor")&&(a._cursor=n.css("cursor")),n.css("cursor",a.cursor)},stop:function(t,i,s){var n=s.options;n._cursor&&e("body").css("cursor",n._cursor)}}),e.ui.plugin.add("draggable","opacity",{start:function(t,i,s){var n=e(i.helper),a=s.options;n.css("opacity")&&(a._opacity=n.css("opacity")),n.css("opacity",a.opacity)},stop:function(t,i,s){var n=s.options;n._opacity&&e(i.helper).css("opacity",n._opacity)}}),e.ui.plugin.add("draggable","scroll",{start:function(e,t,i){i.scrollParentNotHidden||(i.scrollParentNotHidden=i.helper.scrollParent(!1)),i.scrollParentNotHidden[0]!==i.document[0]&&"HTML"!==i.scrollParentNotHidden[0].tagName&&(i.overflowOffset=i.scrollParentNotHidden.offset())},drag:function(t,i,s){var n=s.options,a=!1,o=s.scrollParentNotHidden[0],r=s.document[0];o!==r&&"HTML"!==o.tagName?(n.axis&&"x"===n.axis||(s.overflowOffset.top+o.offsetHeight-t.pageY<n.scrollSensitivity?o.scrollTop=a=o.scrollTop+n.scrollSpeed:t.pageY-s.overflowOffset.top<n.scrollSensitivity&&(o.scrollTop=a=o.scrollTop-n.scrollSpeed)),n.axis&&"y"===n.axis||(s.overflowOffset.left+o.offsetWidth-t.pageX<n.scrollSensitivity?o.scrollLeft=a=o.scrollLeft+n.scrollSpeed:t.pageX-s.overflowOffset.left<n.scrollSensitivity&&(o.scrollLeft=a=o.scrollLeft-n.scrollSpeed))):(n.axis&&"x"===n.axis||(t.pageY-e(r).scrollTop()<n.scrollSensitivity?a=e(r).scrollTop(e(r).scrollTop()-n.scrollSpeed):e(window).height()-(t.pageY-e(r).scrollTop())<n.scrollSensitivity&&(a=e(r).scrollTop(e(r).scrollTop()+n.scrollSpeed))),n.axis&&"y"===n.axis||(t.pageX-e(r).scrollLeft()<n.scrollSensitivity?a=e(r).scrollLeft(e(r).scrollLeft()-n.scrollSpeed):e(window).width()-(t.pageX-e(r).scrollLeft())<n.scrollSensitivity&&(a=e(r).scrollLeft(e(r).scrollLeft()+n.scrollSpeed)))),a!==!1&&e.ui.ddmanager&&!n.dropBehaviour&&e.ui.ddmanager.prepareOffsets(s,t)}}),e.ui.plugin.add("draggable","snap",{start:function(t,i,s){var n=s.options;s.snapElements=[],e(n.snap.constructor!==String?n.snap.items||":data(ui-draggable)":n.snap).each(function(){var t=e(this),i=t.offset();this!==s.element[0]&&s.snapElements.push({item:this,width:t.outerWidth(),height:t.outerHeight(),top:i.top,left:i.left})})},drag:function(t,i,s){var n,a,o,r,h,l,u,d,c,p,f=s.options,m=f.snapTolerance,g=i.offset.left,v=g+s.helperProportions.width,y=i.offset.top,b=y+s.helperProportions.height;for(c=s.snapElements.length-1;c>=0;c--)h=s.snapElements[c].left-s.margins.left,l=h+s.snapElements[c].width,u=s.snapElements[c].top-s.margins.top,d=u+s.snapElements[c].height,h-m>v||g>l+m||u-m>b||y>d+m||!e.contains(s.snapElements[c].item.ownerDocument,s.snapElements[c].item)?(s.snapElements[c].snapping&&s.options.snap.release&&s.options.snap.release.call(s.element,t,e.extend(s._uiHash(),{snapItem:s.snapElements[c].item})),s.snapElements[c].snapping=!1):("inner"!==f.snapMode&&(n=m>=Math.abs(u-b),a=m>=Math.abs(d-y),o=m>=Math.abs(h-v),r=m>=Math.abs(l-g),n&&(i.position.top=s._convertPositionTo("relative",{top:u-s.helperProportions.height,left:0}).top),a&&(i.position.top=s._convertPositionTo("relative",{top:d,left:0}).top),o&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h-s.helperProportions.width}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l}).left)),p=n||a||o||r,"outer"!==f.snapMode&&(n=m>=Math.abs(u-y),a=m>=Math.abs(d-b),o=m>=Math.abs(h-g),r=m>=Math.abs(l-v),n&&(i.position.top=s._convertPositionTo("relative",{top:u,left:0}).top),a&&(i.position.top=s._convertPositionTo("relative",{top:d-s.helperProportions.height,left:0}).top),o&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l-s.helperProportions.width}).left)),!s.snapElements[c].snapping&&(n||a||o||r||p)&&s.options.snap.snap&&s.options.snap.snap.call(s.element,t,e.extend(s._uiHash(),{snapItem:s.snapElements[c].item})),s.snapElements[c].snapping=n||a||o||r||p)}}),e.ui.plugin.add("draggable","stack",{start:function(t,i,s){var n,a=s.options,o=e.makeArray(e(a.stack)).sort(function(t,i){return(parseInt(e(t).css("zIndex"),10)||0)-(parseInt(e(i).css("zIndex"),10)||0)});o.length&&(n=parseInt(e(o[0]).css("zIndex"),10)||0,e(o).each(function(t){e(this).css("zIndex",n+t)}),this.css("zIndex",n+o.length))}}),e.ui.plugin.add("draggable","zIndex",{start:function(t,i,s){var n=e(i.helper),a=s.options;n.css("zIndex")&&(a._zIndex=n.css("zIndex")),n.css("zIndex",a.zIndex)},stop:function(t,i,s){var n=s.options;n._zIndex&&e(i.helper).css("zIndex",n._zIndex)}}),e.ui.draggable,e.widget("ui.resizable",e.ui.mouse,{version:"1.11.4",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(e){return parseInt(e,10)||0},_isNumber:function(e){return!isNaN(parseInt(e,10))},_hasScroll:function(t,i){if("hidden"===e(t).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return t[s]>0?!0:(t[s]=1,n=t[s]>0,t[s]=0,n)},_create:function(){var t,i,s,n,a,o=this,r=this.options;if(this.element.addClass("ui-resizable"),e.extend(this,{_aspectRatio:!!r.aspectRatio,aspectRatio:r.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:r.helper||r.ghost||r.animate?r.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(e("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=r.handles||(e(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=e(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),t=this.handles.split(","),this.handles={},i=0;t.length>i;i++)s=e.trim(t[i]),a="ui-resizable-"+s,n=e("<div class='ui-resizable-handle "+a+"'></div>"),n.css({zIndex:r.zIndex}),"se"===s&&n.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[s]=".ui-resizable-"+s,this.element.append(n);this._renderAxis=function(t){var i,s,n,a;t=t||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=e(this.handles[i]),this._on(this.handles[i],{mousedown:o._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=e(this.handles[i],this.element),a=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),t.css(n,a),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.mouseover(function(){o.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),o.axis=n&&n[1]?n[1]:"se")}),r.autoHide&&(this._handles.hide(),e(this.element).addClass("ui-resizable-autohide").mouseenter(function(){r.disabled||(e(this).removeClass("ui-resizable-autohide"),o._handles.show())}).mouseleave(function(){r.disabled||o.resizing||(e(this).addClass("ui-resizable-autohide"),o._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var t,i=function(t){e(t).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),t=this.element,this.originalElement.css({position:t.css("position"),width:t.outerWidth(),height:t.outerHeight(),top:t.css("top"),left:t.css("left")}).insertAfter(t),t.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_mouseCapture:function(t){var i,s,n=!1;for(i in this.handles)s=e(this.handles[i])[0],(s===t.target||e.contains(s,t.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(t){var i,s,n,a=this.options,o=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),a.containment&&(i+=e(a.containment).scrollLeft()||0,s+=e(a.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:o.width(),height:o.height()},this.originalSize=this._helper?{width:o.outerWidth(),height:o.outerHeight()}:{width:o.width(),height:o.height()},this.sizeDiff={width:o.outerWidth()-o.width(),height:o.outerHeight()-o.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio="number"==typeof a.aspectRatio?a.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=e(".ui-resizable-"+this.axis).css("cursor"),e("body").css("cursor","auto"===n?this.axis+"-resize":n),o.addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(t){var i,s,n=this.originalMousePosition,a=this.axis,o=t.pageX-n.left||0,r=t.pageY-n.top||0,h=this._change[a];return this._updatePrevProperties(),h?(i=h.apply(this,[t,o,r]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(i=this._updateRatio(i,t)),i=this._respectSize(i,t),this._updateCache(i),this._propagate("resize",t),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),e.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",t,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(t){this.resizing=!1;var i,s,n,a,o,r,h,l=this.options,u=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:u.sizeDiff.height,a=s?0:u.sizeDiff.width,o={width:u.helper.width()-a,height:u.helper.height()-n},r=parseInt(u.element.css("left"),10)+(u.position.left-u.originalPosition.left)||null,h=parseInt(u.element.css("top"),10)+(u.position.top-u.originalPosition.top)||null,l.animate||this.element.css(e.extend(o,{top:h,left:r})),u.helper.height(u.size.height),u.helper.width(u.size.width),this._helper&&!l.animate&&this._proportionallyResize()),e("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var e={};return this.position.top!==this.prevPosition.top&&(e.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(e.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(e.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(e.height=this.size.height+"px"),this.helper.css(e),e},_updateVirtualBoundaries:function(e){var t,i,s,n,a,o=this.options;a={minWidth:this._isNumber(o.minWidth)?o.minWidth:0,maxWidth:this._isNumber(o.maxWidth)?o.maxWidth:1/0,minHeight:this._isNumber(o.minHeight)?o.minHeight:0,maxHeight:this._isNumber(o.maxHeight)?o.maxHeight:1/0},(this._aspectRatio||e)&&(t=a.minHeight*this.aspectRatio,s=a.minWidth/this.aspectRatio,i=a.maxHeight*this.aspectRatio,n=a.maxWidth/this.aspectRatio,t>a.minWidth&&(a.minWidth=t),s>a.minHeight&&(a.minHeight=s),a.maxWidth>i&&(a.maxWidth=i),a.maxHeight>n&&(a.maxHeight=n)),this._vBoundaries=a},_updateCache:function(e){this.offset=this.helper.offset(),this._isNumber(e.left)&&(this.position.left
vendor: 4,708 bytes, line 21
21=e.left),this._isNumber(e.top)&&(this.position.top=e.top),this._isNumber(e.height)&&(this.size.height=e.height),this._isNumber(e.width)&&(this.size.width=e.width)},_updateRatio:function(e){var t=this.position,i=this.size,s=this.axis;return this._isNumber(e.height)?e.width=e.height*this.aspectRatio:this._isNumber(e.width)&&(e.height=e.width/this.aspectRatio),"sw"===s&&(e.left=t.left+(i.width-e.width),e.top=null),"nw"===s&&(e.top=t.top+(i.height-e.height),e.left=t.left+(i.width-e.width)),e},_respectSize:function(e){var t=this._vBoundaries,i=this.axis,s=this._isNumber(e.width)&&t.maxWidth&&t.maxWidth<e.width,n=this._isNumber(e.height)&&t.maxHeight&&t.maxHeight<e.height,a=this._isNumber(e.width)&&t.minWidth&&t.minWidth>e.width,o=this._isNumber(e.height)&&t.minHeight&&t.minHeight>e.height,r=this.originalPosition.left+this.originalSize.width,h=this.position.top+this.size.height,l=/sw|nw|w/.test(i),u=/nw|ne|n/.test(i);return a&&(e.width=t.minWidth),o&&(e.height=t.minHeight),s&&(e.width=t.maxWidth),n&&(e.height=t.maxHeight),a&&l&&(e.left=r-t.minWidth),s&&l&&(e.left=r-t.maxWidth),o&&u&&(e.top=h-t.minHeight),n&&u&&(e.top=h-t.maxHeight),e.width||e.height||e.left||!e.top?e.width||e.height||e.top||!e.left||(e.left=null):e.top=null,e},_getPaddingPlusBorderDimensions:function(e){for(var t=0,i=[],s=[e.css("borderTopWidth"),e.css("borderRightWidth"),e.css("borderBottomWidth"),e.css("borderLeftWidth")],n=[e.css("paddingTop"),e.css("paddingRight"),e.css("paddingBottom"),e.css("paddingLeft")];4>t;t++)i[t]=parseInt(s[t],10)||0,i[t]+=parseInt(n[t],10)||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var e,t=0,i=this.helper||this.element;this._proportionallyResizeElements.length>t;t++)e=this._proportionallyResizeElements[t],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(e)),e.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var t=this.element,i=this.options;this.elementOffset=t.offset(),this._helper?(this.helper=this.helper||e("<div style='overflow:hidden;'></div>"),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(e,t){return{width:this.originalSize.width+t}},w:function(e,t){var i=this.originalSize,s=this.originalPosition;return{left:s.left+t,width:i.width-t}},n:function(e,t,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(e,t,i){return{height:this.originalSize.height+i}},se:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},sw:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,i,s]))},ne:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},nw:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,i,s]))}},_propagate:function(t,i){e.ui.plugin.call(this,t,[i,this.ui()]),"resize"!==t&&this._trigger(t,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),e.ui.plugin.add("resizable","animate",{stop:function(t){var i=e(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,a=n.length&&/textarea/i.test(n[0].nodeName),o=a&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=a?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-o},l=parseInt(i.element.css("left"),10)+(i.position.left-i.originalPosition.left)||null,u=parseInt(i.element.css("top"),10)+(i.position.top-i.originalPosition.top)||null;i.element.animate(e.extend(h,u&&l?{top:u,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseInt(i.element.css("width"),10),height:parseInt(i.element.css("height"),10),top:parseInt(i.element.css("top"),10),left:parseInt(i.element.css("left"),10)};n&&n.length&&e(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",t)}})}}),e.ui.plugin.add("resizable","containment",{start:function(){var t,i,s,n,a,o,r,h=e(this).resizable("instance"),l=h.options,u=h.element,d=l.containment,c=d instanceof e?d.get(0):/parent/.test(d)?u.parent().get(0):d;c&&(h.containerElement=e(c),/document/.test(d)||d===document?(h.c
vendor: 16,907 bytes, lines 21-22
21ontainerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}):(t=e(c),i=[],e(["Top","Right","Left","Bottom"]).each(function(e,s){i[e]=h._num(t.css("padding"+s))}),h.containerOffset=t.offset(),h.containerPosition=t.position(),h.containerSize={height:t.innerHeight()-i[3],width:t.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,a=h.containerSize.width,o=h._hasScroll(c,"left")?c.scrollWidth:a,r=h._hasScroll(c)?c.scrollHeight:n,h.parentData={element:c,left:s.left,top:s.top,width:o,height:r}))},resize:function(t){var i,s,n,a,o=e(this).resizable("instance"),r=o.options,h=o.containerOffset,l=o.position,u=o._aspectRatio||t.shiftKey,d={top:0,left:0},c=o.containerElement,p=!0;c[0]!==document&&/static/.test(c.css("position"))&&(d=h),l.left<(o._helper?h.left:0)&&(o.size.width=o.size.width+(o._helper?o.position.left-h.left:o.position.left-d.left),u&&(o.size.height=o.size.width/o.aspectRatio,p=!1),o.position.left=r.helper?h.left:0),l.top<(o._helper?h.top:0)&&(o.size.height=o.size.height+(o._helper?o.position.top-h.top:o.position.top),u&&(o.size.width=o.size.height*o.aspectRatio,p=!1),o.position.top=o._helper?h.top:0),n=o.containerElement.get(0)===o.element.parent().get(0),a=/relative|absolute/.test(o.containerElement.css("position")),n&&a?(o.offset.left=o.parentData.left+o.position.left,o.offset.top=o.parentData.top+o.position.top):(o.offset.left=o.element.offset().left,o.offset.top=o.element.offset().top),i=Math.abs(o.sizeDiff.width+(o._helper?o.offset.left-d.left:o.offset.left-h.left)),s=Math.abs(o.sizeDiff.height+(o._helper?o.offset.top-d.top:o.offset.top-h.top)),i+o.size.width>=o.parentData.width&&(o.size.width=o.parentData.width-i,u&&(o.size.height=o.size.width/o.aspectRatio,p=!1)),s+o.size.height>=o.parentData.height&&(o.size.height=o.parentData.height-s,u&&(o.size.width=o.size.height*o.aspectRatio,p=!1)),p||(o.position.left=o.prevPosition.left,o.position.top=o.prevPosition.top,o.size.width=o.prevSize.width,o.size.height=o.prevSize.height)},stop:function(){var t=e(this).resizable("instance"),i=t.options,s=t.containerOffset,n=t.containerPosition,a=t.containerElement,o=e(t.helper),r=o.offset(),h=o.outerWidth()-t.sizeDiff.width,l=o.outerHeight()-t.sizeDiff.height;t._helper&&!i.animate&&/relative/.test(a.css("position"))&&e(this).css({left:r.left-n.left-s.left,width:h,height:l}),t._helper&&!i.animate&&/static/.test(a.css("position"))&&e(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),e.ui.plugin.add("resizable","alsoResize",{start:function(){var t=e(this).resizable("instance"),i=t.options;e(i.alsoResize).each(function(){var t=e(this);t.data("ui-resizable-alsoresize",{width:parseInt(t.width(),10),height:parseInt(t.height(),10),left:parseInt(t.css("left"),10),top:parseInt(t.css("top"),10)})})},resize:function(t,i){var s=e(this).resizable("instance"),n=s.options,a=s.originalSize,o=s.originalPosition,r={height:s.size.height-a.height||0,width:s.size.width-a.width||0,top:s.position.top-o.top||0,left:s.position.left-o.left||0};e(n.alsoResize).each(function(){var t=e(this),s=e(this).data("ui-resizable-alsoresize"),n={},a=t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(a,function(e,t){var i=(s[t]||0)+(r[t]||0);i&&i>=0&&(n[t]=i||null)}),t.css(n)})},stop:function(){e(this).removeData("resizable-alsoresize")}}),e.ui.plugin.add("resizable","ghost",{start:function(){var t=e(this).resizable("instance"),i=t.options,s=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:s.height,width:s.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof i.ghost?i.ghost:""),t.ghost.appendTo(t.helper)},resize:function(){var t=e(this).resizable("instance");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=e(this).resizable("instance");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),e.ui.plugin.add("resizable","grid",{resize:function(){var t,i=e(this).resizable("instance"),s=i.options,n=i.size,a=i.originalSize,o=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,u=h[1]||1,d=Math.round((n.width-a.width)/l)*l,c=Math.round((n.height-a.height)/u)*u,p=a.width+d,f=a.height+c,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,v=s.minWidth&&s.minWidth>p,y=s.minHeight&&s.minHeight>f;s.grid=h,v&&(p+=l),y&&(f+=u),m&&(p-=l),g&&(f-=u),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=o.top-c):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=o.left-d):((0>=f-u||0>=p-l)&&(t=i._getPaddingPlusBorderDimensions(this)),f-u>0?(i.size.height=f,i.position.top=o.top-c):(f=u-t.height,i.size.height=f,i.position.top=o.top+a.height-f),p-l>0?(i.size.width=p,i.position.left=o.left-d):(p=l-t.width,i.size.width=p,i.position.left=o.left+a.width-p))}}),e.ui.resizable,e.widget("ui.dialog",{version:"1.11.4",options:{appendTo:"body",autoOpen:!0,buttons:[],closeOnEscape:!0,closeText:"Close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(t){var i=e(this).css(t).offset().top;0>i&&e(this).css("top",t.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),this.options.title=this.options.title||this.originalTitle,this._createWrapper(),this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(this.uiDialog),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&e.fn.draggable&&this._makeDraggable(),this.options.resizable&&e.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var t=this.options.appendTo;return t&&(t.jquery||t.nodeType)?e(t):this.document.find(t||"body").eq(0)},_destroy:function(){var e,t=this.originalPosition;this._untrackInstance(),this._destroyOverlay(),this.element.removeUniqueId().removeClass("ui-dialog-content ui-widget-content").css(this.originalCss).detach(),this.uiDialog.stop(!0,!0).remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),e=t.parent.children().eq(t.index),e.length&&e[0]!==this.element[0]?e.before(this.element):t.parent.append(this.element)},widget:function(){return this.uiDialog},disable:e.noop,enable:e.noop,close:function(t){var i,s=this;if(this._isOpen&&this._trigger("beforeClose",t)!==!1){if(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),!this.opener.filter(":focusable").focus().length)try{i=this.document[0].activeElement,i&&"body"!==i.nodeName.toLowerCase()&&e(i).blur()}catch(n){}this._hide(this.uiDialog,this.options.hide,function(){s._trigger("close",t)})}},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(t,i){var s=!1,n=this.uiDialog.siblings(".ui-front:visible").map(function(){return+e(this).css("z-index")}).get(),a=Math.max.apply(null,n);return a>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",a+1),s=!0),s&&!i&&this._trigger("focus",t),s},open:function(){var t=this;return this._isOpen?(this._moveToTop()&&this._focusTabbable(),void 0):(this._isOpen=!0,this.opener=e(this.document[0].activeElement),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,function(){t._focusTabbable(),t._trigger("focus")}),this._makeFocusTarget(),this._trigger("open"),void 0)},_focusTabbable:function(){var e=this._focusedElement;e||(e=this.element.find("[autofocus]")),e.length||(e=this.element.find(":tabbable")),e.length||(e=this.uiDialogButtonPane.find(":tabbable")),e.length||(e=this.uiDialogTitlebarClose.filter(":tabbable")),e.length||(e=this.uiDialog),e.eq(0).focus()},_keepFocus:function(t){function i(){var t=this.document[0].activeElement,i=this.uiDialog[0]===t||e.contains(this.uiDialog[0],t);i||this._focusTabbable()}t.preventDefault(),i.call(this),this._delay(i)},_createWrapper:function(){this.uiDialog=e("<div>").addClass("ui-dialog ui-widget ui-widget-content ui-corner-all ui-front "+this.options.dialogClass).hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._on(this.uiDialog,{keydown:function(t){if(this.options.closeOnEscape&&!t.isDefaultPrevented()&&t.keyCode&&t.keyCode===e.ui.keyCode.ESCAPE)return t.preventDefault(),this.close(t),void 0;
22if(t.keyCode===e.ui.keyCode.TAB&&!t.isDefaultPrevented()){var i=this.uiDialog.find(":tabbable"),s=i.filter(":first"),n=i.filter(":last");t.target!==n[0]&&t.target!==this.uiDialog[0]||t.shiftKey?t.target!==s[0]&&t.target!==this.uiDialog[0]||!t.shiftKey||(this._delay(function(){n.focus()}),t.preventDefault()):(this._delay(function(){s.focus()}),t.preventDefault())}},mousedown:function(e){this._moveToTop(e)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var t;this.uiDialogTitlebar=e("<div>").addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(this.uiDialog),this._on(this.uiDialogTitlebar,{mousedown:function(t){e(t.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.focus()}}),this.uiDialogTitlebarClose=e("<button type='button'></button>").button({label:this.options.closeText,icons:{primary:"ui-icon-closethick"},text:!1}).addClass("ui-dialog-titlebar-close").appendTo(this.uiDialogTitlebar),this._on(this.uiDialogTitlebarClose,{click:function(e){e.preventDefault(),this.close(e)}}),t=e("<span>").uniqueId().addClass("ui-dialog-title").prependTo(this.uiDialogTitlebar),this._title(t),this.uiDialog.attr({"aria-labelledby":t.attr("id")})},_title:function(e){this.options.title||e.html("&#160;"),e.text(this.options.title)},_createButtonPane:function(){this.uiDialogButtonPane=e("<div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),this.uiButtonSet=e("<div>").addClass("ui-dialog-buttonset").appendTo(this.uiDialogButtonPane),this._createButtons()},_createButtons:function(){var t=this,i=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),e.isEmptyObject(i)||e.isArray(i)&&!i.length?(this.uiDialog.removeClass("ui-dialog-buttons"),void 0):(e.each(i,function(i,s){var n,a;s=e.isFunction(s)?{click:s,text:i}:s,s=e.extend({type:"button"},s),n=s.click,s.click=function(){n.apply(t.element[0],arguments)},a={icons:s.icons,text:s.showText},delete s.icons,delete s.showText,e("<button></button>",s).button(a).appendTo(t.uiButtonSet)}),this.uiDialog.addClass("ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog),void 0)},_makeDraggable:function(){function t(e){return{position:e.position,offset:e.offset}}var i=this,s=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(s,n){e(this).addClass("ui-dialog-dragging"),i._blockFrames(),i._trigger("dragStart",s,t(n))},drag:function(e,s){i._trigger("drag",e,t(s))},stop:function(n,a){var o=a.offset.left-i.document.scrollLeft(),r=a.offset.top-i.document.scrollTop();s.position={my:"left top",at:"left"+(o>=0?"+":"")+o+" "+"top"+(r>=0?"+":"")+r,of:i.window},e(this).removeClass("ui-dialog-dragging"),i._unblockFrames(),i._trigger("dragStop",n,t(a))}})},_makeResizable:function(){function t(e){return{originalPosition:e.originalPosition,originalSize:e.originalSize,position:e.position,size:e.size}}var i=this,s=this.options,n=s.resizable,a=this.uiDialog.css("position"),o="string"==typeof n?n:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:s.maxWidth,maxHeight:s.maxHeight,minWidth:s.minWidth,minHeight:this._minHeight(),handles:o,start:function(s,n){e(this).addClass("ui-dialog-resizing"),i._blockFrames(),i._trigger("resizeStart",s,t(n))},resize:function(e,s){i._trigger("resize",e,t(s))},stop:function(n,a){var o=i.uiDialog.offset(),r=o.left-i.document.scrollLeft(),h=o.top-i.document.scrollTop();s.height=i.uiDialog.height(),s.width=i.uiDialog.width(),s.position={my:"left top",at:"left"+(r>=0?"+":"")+r+" "+"top"+(h>=0?"+":"")+h,of:i.window},e(this).removeClass("ui-dialog-resizing"),i._unblockFrames(),i._trigger("resizeStop",n,t(a))}}).css("position",a)},_trackFocus:function(){this._on(this.widget(),{focusin:function(t){this._makeFocusTarget(),this._focusedElement=e(t.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var t=this._trackingInstances(),i=e.inArray(this,t);-1!==i&&t.splice(i,1)},_trackingInstances:function(){var e=this.document.data("ui-dialog-instances");return e||(e=[],this.document.data("ui-dialog-instances",e)),e},_minHeight:function(){var e=this.options;return"auto"===e.height?e.minHeight:Math.min(e.minHeight,e.height)},_position:function(){var e=this.uiDialog.is(":visible");e||this.uiDialog.show(),this.uiDialog.position(this.options.position),e||this.uiDialog.hide()},_setOptions:function(t){var i=this,s=!1,n={};e.each(t,function(e,t){i._setOption(e,t),e in i.sizeRelatedOptions&&(s=!0),e in i.resizableRelatedOptions&&(n[e]=t)}),s&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",n)},_setOption:function(e,t){var i,s,n=this.uiDialog;"dialogClass"===e&&n.removeClass(this.options.dialogClass).addClass(t),"disabled"!==e&&(this._super(e,t),"appendTo"===e&&this.uiDialog.appendTo(this._appendTo()),"buttons"===e&&this._createButtons(),"closeText"===e&&this.uiDialogTitlebarClose.button({label:""+t}),"draggable"===e&&(i=n.is(":data(ui-draggable)"),i&&!t&&n.draggable("destroy"),!i&&t&&this._makeDraggable()),"position"===e&&this._position(),"resizable"===e&&(s=n.is(":data(ui-resizable)"),s&&!t&&n.resizable("destroy"),s&&"string"==typeof t&&n.resizable("option","handles",t),s||t===!1||this._makeResizable()),"title"===e&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var e,t,i,s=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),s.minWidth>s.width&&(s.width=s.minWidth),e=this.uiDialog.css({height:"auto",width:s.width}).outerHeight(),t=Math.max(0,s.minHeight-e),i="number"==typeof s.maxHeight?Math.max(0,s.maxHeight-e):"none","auto"===s.height?this.element.css({minHeight:t,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,s.height-e)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var t=e(this);return e("<div>").css({position:"absolute",width:t.outerWidth(),height:t.outerHeight()}).appendTo(t.parent()).offset(t.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(t){return e(t.target).closest(".ui-dialog").length?!0:!!e(t.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var t=!0;this._delay(function(){t=!1}),this.document.data("ui-dialog-overlays")||this._on(this.document,{focusin:function(e){t||this._allowInteraction(e)||(e.preventDefault(),this._trackingInstances()[0]._focusTabbable())}}),this.overlay=e("<div>").addClass("ui-widget-overlay ui-front").appendTo(this._appendTo()),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var e=this.document.data("ui-dialog-overlays")-1;e?this.document.data("ui-dialog-overlays",e):this.document.unbind("focusin").removeData("ui-dialog-overlays"),this.overlay.remove(),this.overlay=null}}}),e.widget("ui.droppable",{version:"1.11.4",widgetEventPrefix:"drop",o
vendor: 15,081 bytes, line 22
22ptions:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var t,i=this.options,s=i.accept;this.isover=!1,this.isout=!0,this.accept=e.isFunction(s)?s:function(e){return e.is(s)},this.proportions=function(){return arguments.length?(t=arguments[0],void 0):t?t:t={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}},this._addToManager(i.scope),i.addClasses&&this.element.addClass("ui-droppable")},_addToManager:function(t){e.ui.ddmanager.droppables[t]=e.ui.ddmanager.droppables[t]||[],e.ui.ddmanager.droppables[t].push(this)},_splice:function(e){for(var t=0;e.length>t;t++)e[t]===this&&e.splice(t,1)},_destroy:function(){var t=e.ui.ddmanager.droppables[this.options.scope];this._splice(t),this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(t,i){if("accept"===t)this.accept=e.isFunction(i)?i:function(e){return e.is(i)};else if("scope"===t){var s=e.ui.ddmanager.droppables[this.options.scope];this._splice(s),this._addToManager(i)}this._super(t,i)},_activate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),i&&this._trigger("activate",t,this.ui(i))},_deactivate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),i&&this._trigger("deactivate",t,this.ui(i))},_over:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",t,this.ui(i)))},_out:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",t,this.ui(i)))},_drop:function(t,i){var s=i||e.ui.ddmanager.current,n=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var i=e(this).droppable("instance");return i.options.greedy&&!i.options.disabled&&i.options.scope===s.options.scope&&i.accept.call(i.element[0],s.currentItem||s.element)&&e.ui.intersect(s,e.extend(i,{offset:i.element.offset()}),i.options.tolerance,t)?(n=!0,!1):void 0}),n?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",t,this.ui(s)),this.element):!1):!1},ui:function(e){return{draggable:e.currentItem||e.element,helper:e.helper,position:e.position,offset:e.positionAbs}}}),e.ui.intersect=function(){function e(e,t,i){return e>=t&&t+i>e}return function(t,i,s,n){if(!i.offset)return!1;var a=(t.positionAbs||t.position.absolute).left+t.margins.left,o=(t.positionAbs||t.position.absolute).top+t.margins.top,r=a+t.helperProportions.width,h=o+t.helperProportions.height,l=i.offset.left,u=i.offset.top,d=l+i.proportions().width,c=u+i.proportions().height;switch(s){case"fit":return a>=l&&d>=r&&o>=u&&c>=h;case"intersect":return a+t.helperProportions.width/2>l&&d>r-t.helperProportions.width/2&&o+t.helperProportions.height/2>u&&c>h-t.helperProportions.height/2;case"pointer":return e(n.pageY,u,i.proportions().height)&&e(n.pageX,l,i.proportions().width);case"touch":return(o>=u&&c>=o||h>=u&&c>=h||u>o&&h>c)&&(a>=l&&d>=a||r>=l&&d>=r||l>a&&r>d);default:return!1}}}(),e.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(t,i){var s,n,a=e.ui.ddmanager.droppables[t.options.scope]||[],o=i?i.type:null,r=(t.currentItem||t.element).find(":data(ui-droppable)").addBack();e:for(s=0;a.length>s;s++)if(!(a[s].options.disabled||t&&!a[s].accept.call(a[s].element[0],t.currentItem||t.element))){for(n=0;r.length>n;n++)if(r[n]===a[s].element[0]){a[s].proportions().height=0;continue e}a[s].visible="none"!==a[s].element.css("display"),a[s].visible&&("mousedown"===o&&a[s]._activate.call(a[s],i),a[s].offset=a[s].element.offset(),a[s].proportions({width:a[s].element[0].offsetWidth,height:a[s].element[0].offsetHeight}))}},drop:function(t,i){var s=!1;return e.each((e.ui.ddmanager.droppables[t.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&e.ui.intersect(t,this,this.options.tolerance,i)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],t.currentItem||t.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(t,i){t.element.parentsUntil("body").bind("scroll.droppable",function(){t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)})},drag:function(t,i){t.options.refreshPositions&&e.ui.ddmanager.prepareOffsets(t,i),e.each(e.ui.ddmanager.droppables[t.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,n,a,o=e.ui.intersect(t,this,this.options.tolerance,i),r=!o&&this.isover?"isout":o&&!this.isover?"isover":null;r&&(this.options.greedy&&(n=this.options.scope,a=this.element.parents(":data(ui-droppable)").filter(function(){return e(this).droppable("instance").options.scope===n}),a.length&&(s=e(a[0]).droppable("instance"),s.greedyChild="isover"===r)),s&&"isover"===r&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[r]=!0,this["isout"===r?"isover":"isout"]=!1,this["isover"===r?"_over":"_out"].call(this,i),s&&"isout"===r&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(t,i){t.element.parentsUntil("body").unbind("scroll.droppable"),t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)}},e.ui.droppable;var y="ui-effects-",b=e;e.effects={effect:{}},function(e,t){function i(e,t,i){var s=d[t.type]||{};return null==e?i||!t.def?null:t.def:(e=s.floor?~~e:parseFloat(e),isNaN(e)?t.def:s.mod?(e+s.mod)%s.mod:0>e?0:e>s.max?s.max:e)}function s(i){var s=l(),n=s._rgba=[];return i=i.toLowerCase(),f(h,function(e,a){var o,r=a.re.exec(i),h=r&&a.parse(r),l=a.space||"rgba";return h?(o=s[l](h),s[u[l].cache]=o[u[l].cache],n=s._rgba=o._rgba,!1):t}),n.length?("0,0,0,0"===n.join()&&e.extend(n,a.transparent),s):a[i]}function n(e,t,i){return i=(i+1)%1,1>6*i?e+6*(t-e)*i:1>2*i?t:2>3*i?e+6*(t-e)*(2/3-i):e}var a,o="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",r=/^([\-+])=\s*(\d+\.?\d*)/,h=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(e){return[e[1],e[2],e[3],e[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(e){return[2.55*e[1],2.55*e[2],2.55*e[3],e[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(e){return[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(e){return[parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16),parseInt(e[3]+e[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(e){return[e[1],e[2]/100,e[3]/100,e[4]]}}],l=e.Color=function(t,i,s,n){return new e.Color.fn.parse(t,i,s,n)},u={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},d={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},c=l.support={},p=e("<p>")[0],f=e.each;p.style.cssText="background-color:rgba(1,1,1,.5)",c.rgba=p.style.backgroundColor.indexOf("rgba")>-1,f(u,function(e,t){t.cache="_"+e,t.props.alpha={idx:3,type:"percent",def:1}}),l.fn=e.extend(l.prototype,{parse:function(n,o,r,h){if(n===t)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=e(n).css(o),o=t);var d=this,c=e.type(n),p=this._rgba=[];return o!==t&&(n=[n,o,r,h],c="array"),"string"===c?this.parse(s(n)||a._default):"array"===c?(f(u.rgba.props,function(e,t){p[t.idx]=i(n[t.idx],t)}),this):"object"===c?(n instanceof l?f(u,function(e,t){n[t.cache]&&(d[t.cache]=n[t.cache].slice())}):f(u,function(t,s){var a=s.cache;f(s.props,function(e,t){if(!d[a]&&s.to){if("alpha"===e||null==n[e])return;d[a]=s.to(d._rgba)}d[a][t.idx]=i(n[e],t,!0)}),d[a]&&0>e.inArray(null,d[a].slice(0,3))&&(d[a][3]=1,s.from&&(d._rgba=s.from(d[a])))}),this):t},is:function(e){var i=l(e),s=!0,n=this;return f(u,function(e,a){var o,r=i[a.cache];return r&&(o=n[a.cache]||a.to&&a.to(n._rgba)||[],f(a.props,function(e,i){return null!=r[i.idx]?s=r[i.idx]===o[i.idx]:t})),s}),s},_space:function(){var e=[],t=this;return f(u,function(i,s){t[s.cache]&&e.push(i)}),e.pop()},transition:function(e,t){var s=l(e),n=s._space(),a=u[n],o=0===this.alpha()?l("transparent"):this,r=o[a.cache]||a.to(o._rgba),h=r.slice();return s=s[a.cache],f(a.props,function(e,n){var a=n.idx,o=r[a],l=s[a],u=d[n.type]||{};null!==l&&(null===o?h[a]=l:(u.mod&&(l-o>u.mod/2?o+=u.mod:o-l>u.mod/2&&(o-=u.mod)),h[a]=i((l-o)*t+o,n)))}),this[n](h)},blend:function(t){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=l(t)._rgba;return l(e.map(i,function(e,t){return(1-s)*n[t]+s*e}))},toRgbaString:function(){var t="rgba(",i=e.map(this._rgba,function(e,t){return null==e?t>2?1:0:e});return 1===i[3]&&(i.pop(),t="rgb("),t+i.join()+")"},toHslaString:function(){var t="hsla(",i=e.map(this.hsla(),function(e,t){return null==e&&(e=t>2?1:0),t&&3>t&&(e=Math.round(100*e)+"%"),e});return 1===i[3]&&(i.pop(),t="hsl("),t+i.join()+")"},toHexString:function(t){var i=this._rgba.slice(),s=i.pop();return t&&i.push(~~(255*s)),"#"+e.map(i,function(e){return e=(e||0).toString(16),1===e.length?"0"+e:e}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),l.fn.parse.prototype=l.fn,u.hsla.to=function(e){if(null==e[0]||null==e[1]||null==e[2])return[null,null,null,e[3]];var t,i,s=e[0]/255,n=e[1]/255,a=e[2]/255,o=e[3],r=Math.max(s,n,a),h=Math.min(s,n,a),l=r-h,u=r+h,d=.5*u;return t=h===r?0:s===r?60*(n-a)/l+360:n===r?60*(a-s)/l+120:60*(s-n)/l+240,i=0===l?0:.5>=d?l/u:l/(2-u),[Math.round(t)%360,i,d,null==o?1:o]},u.hsla.from=function(e){if(null==e[0]||null==e[1]||null==e[2])return[null,null,null,e[3]];var t=e[0]/360,i=e[1],s=e[2],a=e[3],o=.5>=s?s*(1+i):s+i-s*i,r=2*s-o;return[Math.round(255*n(r,o,t+1/3)),Math.round(255*n(r,o,t)),Math.round(255*n(r,o,t-1/3)),a]},f(u,function(s,n){var a=n.props,o=n.cache,h=n.to,u=n.from;l.fn[s]=function(s){if(h&&!this[o]&&(this[o]=h(this._rgba)),s===t)return this[o].slice();var n,r=e.type(s),d="array"===r||"object"===r?s:arguments,c=this[o].slice();return f(a,function(e,t){var s=d["object"===r?e:t.idx];null==s&&(s=c[t.idx]),c[t.idx]=i(s,t)}),u?(n=l(u(c)),n[o]=c,n):l(c)},f(a,function(t,i){l.fn[t]||(l.fn[t]=function(n){var a,o=e.type(n),h="alpha"===t?this._hsla?"hsla":"rgba":s,l=this[h](),u=l[i.idx];return"undefined"===o?u:("function"===o&&(n=n.call(this,u),o=e.type(n)),null==n&&i.empty?this:("string"===o&&(a=r.exec(n),a&&(n=u+parseFloat(a[2])*("+"===a[1]?1:-1))),l[i.idx]=n,this[h](l)))})})}),l.hook=function(t){var i=t.split(" ");f(i,function(t,i){e.cssHooks[i]={set:function(t,n){var a,o,r="";if("transparent"!==n&&("string"!==e.type(n)||(a=s(n)))){if(n=l(a||n),!c.rgba&&1!==n._rgba[3]){for(o="backgroundColor"===i?t.parentNode:t;(""===r||"transparent"===r)&&o&&o.style;)try{r=e.css(o,"backgroundColor"),o=o.parentNode}catch(h){}n=n.blend(r&&"transparent"!==r?r:"_default")}n=n.toRgbaString()}try{t.style[i]=n}catch(h){}}},e.fx.step[i]=function(t){t.colorInit||(t.start=l(t.elem,i),t.end=l(t.end),t.colorInit=!0),e.cssHooks[i].set(t.elem,t.start.transition(t.end,t.pos))}})},l.hook(o),e.cssHooks.borderColor={expand:function(e){var t={};return f(["Top","Right","Bottom","Left"],function(i,s){t["border"+s+"Color"]=e}),t}},a=e.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(b),function(){function t(t){var i,s,n=t.ownerDocument.defaultView?t.ownerDocument.defaultView.getComputedStyle(t,null):t.currentStyle,a={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)i=n[s],"string"==typeof n[i]&&(a[e.camelCase(i)]=n[i]);else for(i in n)"string"==typeof n[i]&&(a[i]=n[i]);return a}function i(t,i){var s,a,o={};for(s in i)a=i[s],t[s]!==a&&(n[s]||(e.fx.step[s]||!isNaN(parseFloat(a)))&&(o[s]=a));return o}var s=["add","remove","toggle"],n={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};e.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(t,i){e.fx.step[i]=function(e){("none"!==e.end&&!e.setAttr||1===e.pos&&!e.setAttr)&&(b.style(e.elem,i,e.end),e.setAttr=!0)}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e.effects.animateClass=function(n,a,o,r){var h=e.speed(a,o,r);return this.queue(function(){var a,o=e(this),r=o.attr("class")||"",l=h.children?o.find("*").addBack():o;l=l.map(function(){var i=e(this);return{el:i,start:t(this)}}),a=function(){e.each(s,function(e,t){n[t]&&o[t+"Class"](n[t])})},a(),l=l.map(function(){return this.end=t(this.el[0]),this.diff=i(this.start,this.end),this}),o.attr("class",r),l=l.map(function(){var t=this,i=e.Deferred(),s=e.extend({},h,{queue:!1,complete:function(){i.resolve(t)}});return this.el.animate(this.diff,s),i.promise()}),e.when.apply(e,l.get()).done(function(){a(),e.each(arguments,function(){var t=this.el;e.each(this.diff,function(e){t.css(e,"")})}),h.complete.call(o[0])})})},e.fn.extend({addClass:function(t){return function(i,s,n,a){return s?e.effects.animateClass.call(this,{add:i},s,n,a):t.apply(this,arguments)}}(e.fn.addClass),removeClass:function(t){return function(i,s,n,a){return arguments.length>1?e.effects.animateClass.call(this,{remove:i},s,n,a):t.apply(this,arguments)}}(e.fn.removeClass),toggleClass:function(t){return function(i,s,n,a,o){return"boolean"==typeof s||void 0===s?n?e.effects.animateClass.call(this,s?{add:i}:{remove:i},n,a,o):t.apply(this,arguments):e.effects.animateClass.call(this,{toggle:i},s,n,a)}}(e.fn.toggleClass),switchClass:function(t,i,s,n,a){return e.effects.animateClass.call(this,{add:i,remove:t},s,n,a)}})}(),function(){function t(t,i,s,n){return e.isPlainObject(t)&&(i=t,t=t.effect),t={effect:t},null==i&&(i={}),e.isFunction(i)&&(n=i,s=null,i={}),("number"==typeof i||e.fx.speeds[i])&&(n=s,s=i,i={}),e.isFunction(s)&&(n=s,s=null),i&&e.extend(t,i),s=s||i.duration,t.duration=e.fx.off?0:"number"==typeof s?s:s in e.fx.speeds?e.fx.speeds[s]:e.fx.speeds._default,t.complete=n||i.complete,t}function i(t){return!t||"number"==typeof t||e.fx.speeds[t]?!0:"str
vendor: 4,821 bytes, line 22
22ing"!=typeof t||e.effects.effect[t]?e.isFunction(t)?!0:"object"!=typeof t||t.effect?!1:!0:!0}e.extend(e.effects,{version:"1.11.4",save:function(e,t){for(var i=0;t.length>i;i++)null!==t[i]&&e.data(y+t[i],e[0].style[t[i]])},restore:function(e,t){var i,s;for(s=0;t.length>s;s++)null!==t[s]&&(i=e.data(y+t[s]),void 0===i&&(i=""),e.css(t[s],i))},setMode:function(e,t){return"toggle"===t&&(t=e.is(":hidden")?"show":"hide"),t},getBaseline:function(e,t){var i,s;switch(e[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=e[0]/t.height}switch(e[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=e[1]/t.width}return{x:s,y:i}},createWrapper:function(t){if(t.parent().is(".ui-effects-wrapper"))return t.parent();var i={width:t.outerWidth(!0),height:t.outerHeight(!0),"float":t.css("float")},s=e("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:t.width(),height:t.height()},a=document.activeElement;try{a.id}catch(o){a=document.body}return t.wrap(s),(t[0]===a||e.contains(t[0],a))&&e(a).focus(),s=t.parent(),"static"===t.css("position")?(s.css({position:"relative"}),t.css({position:"relative"})):(e.extend(i,{position:t.css("position"),zIndex:t.css("z-index")}),e.each(["top","left","bottom","right"],function(e,s){i[s]=t.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")}),t.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),t.css(n),s.css(i).show()},removeWrapper:function(t){var i=document.activeElement;return t.parent().is(".ui-effects-wrapper")&&(t.parent().replaceWith(t),(t[0]===i||e.contains(t[0],i))&&e(i).focus()),t},setTransition:function(t,i,s,n){return n=n||{},e.each(i,function(e,i){var a=t.cssUnit(i);a[0]>0&&(n[i]=a[0]*s+a[1])}),n}}),e.fn.extend({effect:function(){function i(t){function i(){e.isFunction(a)&&a.call(n[0]),e.isFunction(t)&&t()}var n=e(this),a=s.complete,r=s.mode;(n.is(":hidden")?"hide"===r:"show"===r)?(n[r](),i()):o.call(n[0],s,i)}var s=t.apply(this,arguments),n=s.mode,a=s.queue,o=e.effects.effect[s.effect];return e.fx.off||!o?n?this[n](s.duration,s.complete):this.each(function(){s.complete&&s.complete.call(this)}):a===!1?this.each(i):this.queue(a||"fx",i)},show:function(e){return function(s){if(i(s))return e.apply(this,arguments);var n=t.apply(this,arguments);return n.mode="show",this.effect.call(this,n)}}(e.fn.show),hide:function(e){return function(s){if(i(s))return e.apply(this,arguments);var n=t.apply(this,arguments);return n.mode="hide",this.effect.call(this,n)}}(e.fn.hide),toggle:function(e){return function(s){if(i(s)||"boolean"==typeof s)return e.apply(this,arguments);var n=t.apply(this,arguments);return n.mode="toggle",this.effect.call(this,n)}}(e.fn.toggle),cssUnit:function(t){var i=this.css(t),s=[];return e.each(["em","px","%","pt"],function(e,t){i.indexOf(t)>0&&(s=[parseFloat(i),t])}),s}})}(),function(){var t={};e.each(["Quad","Cubic","Quart","Quint","Expo"],function(e,i){t[i]=function(t){return Math.pow(t,e+2)}}),e.extend(t,{Sine:function(e){return 1-Math.cos(e*Math.PI/2)},Circ:function(e){return 1-Math.sqrt(1-e*e)},Elastic:function(e){return 0===e||1===e?e:-Math.pow(2,8*(e-1))*Math.sin((80*(e-1)-7.5)*Math.PI/15)},Back:function(e){return e*e*(3*e-2)},Bounce:function(e){for(var t,i=4;((t=Math.pow(2,--i))-1)/11>e;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*t-2)/22-e,2)}}),e.each(t,function(t,i){e.easing["easeIn"+t]=i,e.easing["easeOut"+t]=function(e){return 1-i(1-e)},e.easing["easeInOut"+t]=function(e){return.5>e?i(2*e)/2:1-i(-2*e+2)/2}})}(),e.effects,e.effects.effect.blind=function(t,i){var s,n,a,o=e(this),r=/up|down|vertical/,h=/up|left|vertical|horizontal/,l=["position","top","bottom","left","right","height","width"],u=e.effects.setMode(o,t.mode||"hide"),d=t.direction||"up",c=r.test(d),p=c?"height":"width",f=c?"top":"left",m=h.test(d),g={},v="show"===u;o.parent().is(".ui-effects-wrapper")?e.effects.save(o.parent(),l):e.effects.save(o,l),o.show(),s=e.effects.createWrapper(o).css({overflow:"hidden"}),n=s[p](),a=parseFloat(s.css(f))||0,g[p]=v?n:0,m||(o.css(c?"bottom":"right",0).css(c?"top":"left","auto").css({position:"absolute"}),g[f]=v?a:n+a),v&&(s.css(p,0),m||s.css(f,a+n)),s.animate(g,{duration:t.duration,easing:t.easing,queue:!1,complete:function(){"hide"===u&&o.hide(),e.effects.restore(o,l),e.effects.removeWrapper(o),i()}})},e.effects.effect.bounce=function(t,i){var s,n,a,o=e(this),r=["position","top","bottom","left","right","height","width"],h=e.effects.setMode(o,t.mode||"effect"),l="hide"===h,u="show"===h,d=t.direction||"up",c=t.distance,p=t.times||5,f=2*p+(u||l?1:0),m=t.duration/f,g=t.easing,v="up"===d||"down"===d?"top":"left",y="up"===d||"left"===d,b=o.queue(),_=b.length;for((u||l)&&r.push("opacity"),e.effects.save(o,r),o.show(),e.effects.createWrapper(o),c||
vendor: 4,683 bytes, line 22
22(c=o["top"===v?"outerHeight":"outerWidth"]()/3),u&&(a={opacity:1},a[v]=0,o.css("opacity",0).css(v,y?2*-c:2*c).animate(a,m,g)),l&&(c/=Math.pow(2,p-1)),a={},a[v]=0,s=0;p>s;s++)n={},n[v]=(y?"-=":"+=")+c,o.animate(n,m,g).animate(a,m,g),c=l?2*c:c/2;l&&(n={opacity:0},n[v]=(y?"-=":"+=")+c,o.animate(n,m,g)),o.queue(function(){l&&o.hide(),e.effects.restore(o,r),e.effects.removeWrapper(o),i()}),_>1&&b.splice.apply(b,[1,0].concat(b.splice(_,f+1))),o.dequeue()},e.effects.effect.clip=function(t,i){var s,n,a,o=e(this),r=["position","top","bottom","left","right","height","width"],h=e.effects.setMode(o,t.mode||"hide"),l="show"===h,u=t.direction||"vertical",d="vertical"===u,c=d?"height":"width",p=d?"top":"left",f={};e.effects.save(o,r),o.show(),s=e.effects.createWrapper(o).css({overflow:"hidden"}),n="IMG"===o[0].tagName?s:o,a=n[c](),l&&(n.css(c,0),n.css(p,a/2)),f[c]=l?a:0,f[p]=l?0:a/2,n.animate(f,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){l||o.hide(),e.effects.restore(o,r),e.effects.removeWrapper(o),i()}})},e.effects.effect.drop=function(t,i){var s,n=e(this),a=["position","top","bottom","left","right","opacity","height","width"],o=e.effects.setMode(n,t.mode||"hide"),r="show"===o,h=t.direction||"left",l="up"===h||"down"===h?"top":"left",u="up"===h||"left"===h?"pos":"neg",d={opacity:r?1:0};e.effects.save(n,a),n.show(),e.effects.createWrapper(n),s=t.distance||n["top"===l?"outerHeight":"outerWidth"](!0)/2,r&&n.css("opacity",0).css(l,"pos"===u?-s:s),d[l]=(r?"pos"===u?"+=":"-=":"pos"===u?"-=":"+=")+s,n.animate(d,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){"hide"===o&&n.hide(),e.effects.restore(n,a),e.effects.removeWrapper(n),i()}})},e.effects.effect.explode=function(t,i){function s(){b.push(this),b.length===d*c&&n()}function n(){p.css({visibility:"visible"}),e(b).remove(),m||p.hide(),i()}var a,o,r,h,l,u,d=t.pieces?Math.round(Math.sqrt(t.pieces)):3,c=d,p=e(this),f=e.effects.setMode(p,t.mode||"hide"),m="show"===f,g=p.show().css("visibility","hidden").offset(),v=Math.ceil(p.outerWidth()/c),y=Math.ceil(p.outerHeight()/d),b=[];for(a=0;d>a;a++)for(h=g.top+a*y,u=a-(d-1)/2,o=0;c>o;o++)r=g.left+o*v,l=o-(c-1)/2,p.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-o*v,top:-a*y}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:v,height:y,left:r+(m?l*v:0),top:h+(m?u*y:0),opacity:m?0:1}).animate({left:r+(m?0:l*v),top:h+(m?0:u*y),opacity:m?1:0},t.duration||500,t.easing,s)},e.effects.effect.fade=function(t,i){var s=e(this),n=e.effects.setMode(s,t.mode||"toggle");s.animate({opacity:n},{queue:!1,duration:t.duration,easing:t.easing,complete:i})},e.effects.effect.fold=function(t,i){var s,n,a=e(this),o=["position","top","bottom","left","right","height","width"],r=e.effects.setMode(a,t.mode||"hide"),h="show"===r,l="hide"===r,u=t.size||15,d=/([0-9]+)%/.exec(u),c=!!t.horizFirst,p=h!==c,f=p?["width","height"]:["height","width"],m=t.duration/2,g={},v={};e.effects.save(a,o),a.show(),s=e.effects.createWrapper(a).css({overflow:"hidden"}),n=p?[s.width(),s.height()]:[s.height(),s.width()],d&&(u=parseInt(d[1],10)/100*n[l?0:1]),h&&s.css(c?{height:0,width:u}:{height:u,width:0}),g[f[0]]=h?n[0]:u,v[f[1]]=h?n[1]:0,s.animate(g,m,t.easing).animate(v,m,t.easing,function(){l&&a.hide(),e.effects.restore(a,o),e.effects.removeWrapper(a),i()})},e.effects.effect.highlight=function(t,i){var s=e(this),n=["backgroundImage","backgroundColor","opacity"],a=e.effects.setMode(s,t.mode||"show"),o={backgroundColor:s.css("backgroundColor")};"hide"===a&&(o.opacity=0),e.effects.save(s,n),s.show().css({backgroundImage:"none",backgroundColor:t.color||"#ffff99"}).animate(o,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){"hide"===a&&s.hide(),e.effects.restore(s,n),i()}})},e.effects.effect.size=function(t,i){var s,n,a,o=e(this),r=["position","top","bottom","left","right","width","height","overflow","opacity"],h=["position","top","bottom","left","right","overflow","opacity"],l=["width","height","overflow"],u=["fontSize"],d=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],c=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],p=e.effects.setMode(o,t.mode||"effect"),f=t.restore||"effect"!==p,m=t.scale||"both",g=t.origin||["middle","center"],v=o.css("position"),y=f?r:h,b={height:0,width:0,outerHeight:0,outerWidth:0};"show"===p&&o.show(),s={height:o.height(),width:o.width(),outerHeight:o.outerHeight(),outerWidth:o.outerWidth()},"toggle"===t.mode&&"show"===p?(o.from=t.to||b,o.to=t.from||s):(o.from=t.from||("show"===p?b:s),o.to=t.to||("hide"===p?b:s)),a={from:{y:o.from.height/s.height,x:o.from.width/s.width}
vendor: 55,675 bytes, lines 22-24
22,to:{y:o.to.height/s.height,x:o.to.width/s.width}},("box"===m||"both"===m)&&(a.from.y!==a.to.y&&(y=y.concat(d),o.from=e.effects.setTransition(o,d,a.from.y,o.from),o.to=e.effects.setTransition(o,d,a.to.y,o.to)),a.from.x!==a.to.x&&(y=y.concat(c),o.from=e.effects.setTransition(o,c,a.from.x,o.from),o.to=e.effects.setTransition(o,c,a.to.x,o.to))),("content"===m||"both"===m)&&a.from.y!==a.to.y&&(y=y.concat(u).concat(l),o.from=e.effects.setTransition(o,u,a.from.y,o.from),o.to=e.effects.setTransition(o,u,a.to.y,o.to)),e.effects.save(o,y),o.show(),e.effects.createWrapper(o),o.css("overflow","hidden").css(o.from),g&&(n=e.effects.getBaseline(g,s),o.from.top=(s.outerHeight-o.outerHeight())*n.y,o.from.left=(s.outerWidth-o.outerWidth())*n.x,o.to.top=(s.outerHeight-o.to.outerHeight)*n.y,o.to.left=(s.outerWidth-o.to.outerWidth)*n.x),o.css(o.from),("content"===m||"both"===m)&&(d=d.concat(["marginTop","marginBottom"]).concat(u),c=c.concat(["marginLeft","marginRight"]),l=r.concat(d).concat(c),o.find("*[width]").each(function(){var i=e(this),s={height:i.height(),width:i.width(),outerHeight:i.outerHeight(),outerWidth:i.outerWidth()};
23f&&e.effects.save(i,l),i.from={height:s.height*a.from.y,width:s.width*a.from.x,outerHeight:s.outerHeight*a.from.y,outerWidth:s.outerWidth*a.from.x},i.to={height:s.height*a.to.y,width:s.width*a.to.x,outerHeight:s.height*a.to.y,outerWidth:s.width*a.to.x},a.from.y!==a.to.y&&(i.from=e.effects.setTransition(i,d,a.from.y,i.from),i.to=e.effects.setTransition(i,d,a.to.y,i.to)),a.from.x!==a.to.x&&(i.from=e.effects.setTransition(i,c,a.from.x,i.from),i.to=e.effects.setTransition(i,c,a.to.x,i.to)),i.css(i.from),i.animate(i.to,t.duration,t.easing,function(){f&&e.effects.restore(i,l)})})),o.animate(o.to,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){0===o.to.opacity&&o.css("opacity",o.from.opacity),"hide"===p&&o.hide(),e.effects.restore(o,y),f||("static"===v?o.css({position:"relative",top:o.to.top,left:o.to.left}):e.each(["top","left"],function(e,t){o.css(t,function(t,i){var s=parseInt(i,10),n=e?o.to.left:o.to.top;return"auto"===i?n+"px":s+n+"px"})})),e.effects.removeWrapper(o),i()}})},e.effects.effect.scale=function(t,i){var s=e(this),n=e.extend(!0,{},t),a=e.effects.setMode(s,t.mode||"effect"),o=parseInt(t.percent,10)||(0===parseInt(t.percent,10)?0:"hide"===a?0:100),r=t.direction||"both",h=t.origin,l={height:s.height(),width:s.width(),outerHeight:s.outerHeight(),outerWidth:s.outerWidth()},u={y:"horizontal"!==r?o/100:1,x:"vertical"!==r?o/100:1};n.effect="size",n.queue=!1,n.complete=i,"effect"!==a&&(n.origin=h||["middle","center"],n.restore=!0),n.from=t.from||("show"===a?{height:0,width:0,outerHeight:0,outerWidth:0}:l),n.to={height:l.height*u.y,width:l.width*u.x,outerHeight:l.outerHeight*u.y,outerWidth:l.outerWidth*u.x},n.fade&&("show"===a&&(n.from.opacity=0,n.to.opacity=1),"hide"===a&&(n.from.opacity=1,n.to.opacity=0)),s.effect(n)},e.effects.effect.puff=function(t,i){var s=e(this),n=e.effects.setMode(s,t.mode||"hide"),a="hide"===n,o=parseInt(t.percent,10)||150,r=o/100,h={height:s.height(),width:s.width(),outerHeight:s.outerHeight(),outerWidth:s.outerWidth()};e.extend(t,{effect:"scale",queue:!1,fade:!0,mode:n,complete:i,percent:a?o:100,from:a?h:{height:h.height*r,width:h.width*r,outerHeight:h.outerHeight*r,outerWidth:h.outerWidth*r}}),s.effect(t)},e.effects.effect.pulsate=function(t,i){var s,n=e(this),a=e.effects.setMode(n,t.mode||"show"),o="show"===a,r="hide"===a,h=o||"hide"===a,l=2*(t.times||5)+(h?1:0),u=t.duration/l,d=0,c=n.queue(),p=c.length;for((o||!n.is(":visible"))&&(n.css("opacity",0).show(),d=1),s=1;l>s;s++)n.animate({opacity:d},u,t.easing),d=1-d;n.animate({opacity:d},u,t.easing),n.queue(function(){r&&n.hide(),i()}),p>1&&c.splice.apply(c,[1,0].concat(c.splice(p,l+1))),n.dequeue()},e.effects.effect.shake=function(t,i){var s,n=e(this),a=["position","top","bottom","left","right","height","width"],o=e.effects.setMode(n,t.mode||"effect"),r=t.direction||"left",h=t.distance||20,l=t.times||3,u=2*l+1,d=Math.round(t.duration/u),c="up"===r||"down"===r?"top":"left",p="up"===r||"left"===r,f={},m={},g={},v=n.queue(),y=v.length;for(e.effects.save(n,a),n.show(),e.effects.createWrapper(n),f[c]=(p?"-=":"+=")+h,m[c]=(p?"+=":"-=")+2*h,g[c]=(p?"-=":"+=")+2*h,n.animate(f,d,t.easing),s=1;l>s;s++)n.animate(m,d,t.easing).animate(g,d,t.easing);n.animate(m,d,t.easing).animate(f,d/2,t.easing).queue(function(){"hide"===o&&n.hide(),e.effects.restore(n,a),e.effects.removeWrapper(n),i()}),y>1&&v.splice.apply(v,[1,0].concat(v.splice(y,u+1))),n.dequeue()},e.effects.effect.slide=function(t,i){var s,n=e(this),a=["position","top","bottom","left","right","width","height"],o=e.effects.setMode(n,t.mode||"show"),r="show"===o,h=t.direction||"left",l="up"===h||"down"===h?"top":"left",u="up"===h||"left"===h,d={};e.effects.save(n,a),n.show(),s=t.distance||n["top"===l?"outerHeight":"outerWidth"](!0),e.effects.createWrapper(n).css({overflow:"hidden"}),r&&n.css(l,u?isNaN(s)?"-"+s:-s:s),d[l]=(r?u?"+=":"-=":u?"-=":"+=")+s,n.animate(d,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){"hide"===o&&n.hide(),e.effects.restore(n,a),e.effects.removeWrapper(n),i()}})},e.effects.effect.transfer=function(t,i){var s=e(this),n=e(t.to),a="fixed"===n.css("position"),o=e("body"),r=a?o.scrollTop():0,h=a?o.scrollLeft():0,l=n.offset(),u={top:l.top-r,left:l.left-h,height:n.innerHeight(),width:n.innerWidth()},d=s.offset(),c=e("<div class='ui-effects-transfer'></div>").appendTo(document.body).addClass(t.className).css({top:d.top-r,left:d.left-h,height:s.innerHeight(),width:s.innerWidth(),position:a?"fixed":"absolute"}).animate(u,t.duration,t.easing,function(){c.remove(),i()})},e.widget("ui.progressbar",{version:"1.11.4",options:{max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min}),this.valueDiv=e("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element),this._refreshValue()},_destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove()},value:function(e){return void 0===e?this.options.value:(this.options.value=this._constrainedValue(e),this._refreshValue(),void 0)},_constrainedValue:function(e){return void 0===e&&(e=this.options.value),this.indeterminate=e===!1,"number"!=typeof e&&(e=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,e))},_setOptions:function(e){var t=e.value;delete e.value,this._super(e),this.options.value=this._constrainedValue(t),this._refreshValue()},_setOption:function(e,t){"max"===e&&(t=Math.max(this.min,t)),"disabled"===e&&this.element.toggleClass("ui-state-disabled",!!t).attr("aria-disabled",t),this._super(e,t)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var t=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||t>this.min).toggleClass("ui-corner-right",t===this.options.max).width(i.toFixed(0)+"%"),this.element.toggleClass("ui-progressbar-indeterminate",this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=e("<div class='ui-progressbar-overlay'></div>").appendTo(this.valueDiv))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":t}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==t&&(this.oldValue=t,this._trigger("change")),t===this.options.max&&this._trigger("complete")}}),e.widget("ui.selectable",e.ui.mouse,{version:"1.11.4",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var t,i=this;this.element.addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){t=e(i.options.filter,i.element[0]),t.addClass("ui-selectee"),t.each(function(){var t=e(this),i=t.offset();e.data(this,"selectable-item",{element:this,$element:t,left:i.left,top:i.top,right:i.left+t.outerWidth(),bottom:i.top+t.outerHeight(),startselected:!1,selected:t.hasClass("ui-selected"),selecting:t.hasClass("ui-selecting"),unselecting:t.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=t.addClass("ui-selectee"),this._mouseInit(),this.helper=e("<div class='ui-selectable-helper'></div>")},_destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled"),this._mouseDestroy()},_mouseStart:function(t){var i=this,s=this.options;this.opos=[t.pageX,t.pageY],this.options.disabled||(this.selectees=e(s.filter,this.element[0]),this._trigger("start",t),e(s.appendTo).append(this.helper),this.helper.css({left:t.pageX,top:t.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var s=e.data(this,"selectable-item");s.startselected=!0,t.metaKey||t.ctrlKey||(s.$element.removeClass("ui-selected"),s.selected=!1,s.$element.addClass("ui-unselecting"),s.unselecting=!0,i._trigger("unselecting",t,{unselecting:s.element}))}),e(t.target).parents().addBack().each(function(){var s,n=e.data(this,"selectable-item");return n?(s=!t.metaKey&&!t.ctrlKey||!n.$element.hasClass("ui-selected"),n.$element.removeClass(s?"ui-unselecting":"ui-selected").addClass(s?"ui-selecting":"ui-unselecting"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger("selecting",t,{selecting:n.element}):i._trigger("unselecting",t,{unselecting:n.element}),!1):void 0}))},_mouseDrag:function(t){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,a=this.opos[0],o=this.opos[1],r=t.pageX,h=t.pageY;return a>r&&(i=r,r=a,a=i),o>h&&(i=h,h=o,o=i),this.helper.css({left:a,top:o,width:r-a,height:h-o}),this.selectees.each(function(){var i=e.data(this,"selectable-item"),l=!1;i&&i.element!==s.element[0]&&("touch"===n.tolerance?l=!(i.left>r||a>i.right||i.top>h||o>i.bottom):"fit"===n.tolerance&&(l=i.left>a&&r>i.right&&i.top>o&&h>i.bottom),l?(i.selected&&(i.$element.removeClass("ui-selected"),i.selected=!1),i.unselecting&&(i.$element.removeClass("ui-unselecting"),i.unselecting=!1),i.selecting||(i.$element.addClass("ui-selecting"),i.selecting=!0,s._trigger("selecting",t,{selecting:i.element}))):(i.selecting&&((t.metaKey||t.ctrlKey)&&i.startselected?(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.$element.addClass("ui-selected"),i.selected=!0):(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.startselected&&(i.$element.addClass("ui-unselecting"),i.unselecting=!0),s._trigger("unselecting",t,{unselecting:i.element}))),i.selected&&(t.metaKey||t.ctrlKey||i.startselected||(i.$element.removeClass("ui-selected"),i.selected=!1,i.$element.addClass("ui-unselecting"),i.unselecting=!0,s._trigger("unselecting",t,{unselecting:i.element})))))}),!1}},_mouseStop:function(t){var i=this;return this.dragged=!1,e(".ui-unselecting",this.element[0]).each(function(){var s=e.data(this,"selectable-item");s.$element.removeClass("ui-unselecting"),s.unselecting=!1,s.startselected=!1,i._trigger("unselected",t,{unselected:s.element})}),e(".ui-selecting",this.element[0]).each(function(){var s=e.data(this,"selectable-item");s.$element.removeClass("ui-selecting").addClass("ui-selected"),s.selecting=!1,s.selected=!0,s.startselected=!0,i._trigger("selected",t,{selected:s.element})}),this._trigger("stop",t),this.helper.remove(),!1}}),e.widget("ui.selectmenu",{version:"1.11.4",defaultElement:"<select>",options:{appendTo:null,disabled:null,icons:{button:"ui-icon-triangle-1-s"},position:{my:"left top",at:"left bottom",collision:"none"},width:null,change:null,close:null,focus:null,open:null,select:null},_create:function(){var e=this.element.uniqueId().attr("id");this.ids={element:e,button:e+"-button",menu:e+"-menu"},this._drawButton(),this._drawMenu(),this.options.disabled&&this.disable()},_drawButton:function(){var t=this;this.label=e("label[for='"+this.ids.element+"']").attr("for",this.ids.button),this._on(this.label,{click:function(e){this.button.focus(),e.preventDefault()}}),this.element.hide(),this.button=e("<span>",{"class":"ui-selectmenu-button ui-widget ui-state-default ui-corner-all",tabindex:this.options.disabled?-1:0,id:this.ids.button,role:"combobox","aria-expanded":"false","aria-autocomplete":"list","aria-owns":this.ids.menu,"aria-haspopup":"true"}).insertAfter(this.element),e("<span>",{"class":"ui-icon "+this.options.icons.button}).prependTo(this.button),this.buttonText=e("<span>",{"class":"ui-selectmenu-text"}).appendTo(this.button),this._setText(this.buttonText,this.element.find("option:selected").text()),this._resizeButton(),this._on(this.button,this._buttonEvents),this.button.one("focusin",function(){t.menuItems||t._refreshMenu()}),this._hoverable(this.button),this._focusable(this.button)},_drawMenu:function(){var t=this;this.menu=e("<ul>",{"aria-hidden":"true","aria-labelledby":this.ids.button,id:this.ids.menu}),this.menuWrap=e("<div>",{"class":"ui-selectmenu-menu ui-front"}).append(this.menu).appendTo(this._appendTo()),this.menuInstance=this.menu.menu({role:"listbox",select:function(e,i){e.preventDefault(),t._setSelection(),t._select(i.item.data("ui-selectmenu-item"),e)},focus:function(e,i){var s=i.item.data("ui-selectmenu-item");null!=t.focusIndex&&s.index!==t.focusIndex&&(t._trigger("focus",e,{item:s}),t.isOpen||t._select(s,e)),t.focusIndex=s.index,t.button.attr("aria-activedescendant",t.menuItems.eq(s.index).attr("id"))}}).menu("instance"),this.menu.addClass("ui-corner-bottom").removeClass("ui-corner-all"),this.menuInstance._off(this.menu,"mouseleave"),this.menuInstance._closeOnDocumentClick=function(){return!1},this.menuInstance._isDivider=function(){return!1}},refresh:function(){this._refreshMenu(),this._setText(this.buttonText,this._getSelectedItem().text()),this.options.width||this._resizeButton()},_refreshMenu:function(){this.menu.empty();var e,t=this.element.find("option");t.length&&(this._parseOptions(t),this._renderMenu(this.menu,this.items),this.menuInstance.refresh(),this.menuItems=this.menu.find("li").not(".ui-selectmenu-optgroup"),e=this._getSelectedItem(),this.menuInstance.focus(null,e),this._setAria(e.data("ui-selectmenu-item")),this._setOption("disabled",this.element.prop("disabled")))},open:function(e){this.options.disabled||(this.menuItems?(this.menu.find(".ui-state-focus").removeClass("ui-state-focus"),this.menuInstance.focus(null,this._getSelectedItem())):this._refreshMenu(),this.isOpen=!0,this._toggleAttr(),this._resizeMenu(),this._position(),this._on(this.document,this._documentClick),this._trigger("open",e))},_position:function(){this.menuWrap.position(e.extend({of:this.button},this.options.position))},close:function(e){this.isOpen&&(this.isOpen=!1,this._toggleAttr(),this.range=null,this._off(this.document),this._trigger("close",e))},widget:function(){return this.button},menuWidget:function(){return this.menu},_renderMenu:function(t,i){var s=this,n="";e.each(i,function(i,a){a.optgroup!==n&&(e("<li>",{"class":"ui-selectmenu-optgroup ui-menu-divider"+(a.element.parent("optgroup").prop("disabled")?" ui-state-disabled":""),text:a.optgroup}).appendTo(t),n=a.optgroup),s._renderItemData(t,a)})},_renderItemData:function(e,t){return this._renderItem(e,t).data("ui-selectmenu-item",t)},_renderItem:function(t,i){var s=e("<li>");return i.disabled&&s.addClass("ui-state-disabled"),this._setText(s,i.label),s.appendTo(t)},_setText:function(e,t){t?e.text(t):e.html("&#160;")},_move:function(e,t){var i,s,n=".ui-menu-item";this.isOpen?i=this.menuItems.eq(this.focusIndex):(i=this.menuItems.eq(this.element[0].selectedIndex),n+=":not(.ui-state-disabled)"),s="first"===e||"last"===e?i["first"===e?"prevAll":"nextAll"](n).eq(-1):i[e+"All"](n).eq(0),s.length&&this.menuInstance.focus(t,s)},_getSelectedItem:function(){return this.menuItems.eq(this.element[0].selectedIndex)},_toggle:function(e){this[this.isOpen?"close":"open"](e)},_setSelection:function(){var e;this.range&&(window.getSelection?(e=window.getSelection(),e.removeAllRanges(),e.addRange(this.range)):this.range.select(),this.button.focus())},_documentClick:{mousedown:function(t){this.isOpen&&(e(t.target).closest(".ui-selectmenu-menu, #"+this.ids.button).length||this.close(t))}},_buttonEvents:{mousedown:function(){var e;window.getSelection?(e=window.getSelection(),e.rangeCount&&(this.range=e.getRangeAt(0))):this.range=document.selection.createRange()},click:function(e){this._setSelection(),this._toggle(e)},keydown:function(t){var i=!0;switch(t.keyCode){case e.ui.keyCode.TAB:case e.ui.keyCode.ESCAPE:this.close(t),i=!1;break;case e.ui.keyCode.ENTER:this.isOpen&&this._selectFocusedItem(t);break;case e.ui.keyCode.UP:t.altKey?this._toggle(t):this._move("prev",t);break;case e.ui.keyCode.DOWN:t.altKey?this._toggle(t):this._move("next",t);break;case e.ui.keyCode.SPACE:this.isOpen?this._selectFocusedItem(t):this._toggle(t);break;case e.ui.keyCode.LEFT:this._move("prev",t);break;case e.ui.keyCode.RIGHT:this._move("next",t);break;case e.ui.keyCode.HOME:case e.ui.keyCode.PAGE_UP:this._move("first",t);break;case e.ui.keyCode.END:case e.ui.keyCode.PAGE_DOWN:this._move("last",t);break;default:this.menu.trigger(t),i=!1}i&&t.preventDefault()}},_selectFocusedItem:function(e){var t=this.menuItems.eq(this.focusIndex);t.hasClass("ui-state-disabled")||this._select(t.data("ui-selectmenu-item"),e)},_select:function(e,t){var i=this.element[0].selectedIndex;this.element[0].selectedIndex=e.index,this._setText(this.buttonText,e.label),this._setAria(e),this._trigger("select",t,{item:e}),e.index!==i&&this._trigger("change",t,{item:e}),this.close(t)},_setAria:function(e){var t=this.menuItems.eq(e.index).attr("id");this.button.attr({"aria-labelledby":t,"aria-activedescendant":t}),this.menu.attr("aria-activedescendant",t)},_setOption:function(e,t){"icons"===e&&this.button.find("span.ui-icon").removeClass(this.options.icons.button).addClass(t.button),this._super(e,t),"appendTo"===e&&this.menuWrap.appendTo(this._appendTo()),"disabled"===e&&(this.menuInstance.option("disabled",t),this.button.toggleClass("ui-state-disabled",t).attr("aria-disabled",t),this.element.prop("disabled",t),t?(this.button.attr("tabindex",-1),this.close()):this.button.attr("tabindex",0)),"width"===e&&this._resizeButton()},_appendTo:function(){var t=this.options.appendTo;return t&&(t=t.jquery||t.nodeType?e(t):this.document.find(t).eq(0)),t&&t[0]||(t=this.element.closest(".ui-front")),t.length||(t=this.document[0].body),t},_toggleAttr:function(){this.button.toggleClass("ui-corner-top",this.isOpen).toggleClass("ui-corner-all",!this.isOpen).attr("aria-expanded",this.isOpen),this.menuWrap.toggleClass("ui-selectmenu-open",this.isOpen),this.menu.attr("aria-hidden",!this.isOpen)},_resizeButton:function(){var e=this.options.width;e||(e=this.element.show().outerWidth(),this.element.hide()),this.button.outerWidth(e)},_resizeMenu:function(){this.menu.outerWidth(Math.max(this.button.outerWidth(),this.menu.width("").outerWidth()+1))},_getCreateOptions:function(){return{disabled:this.element.prop("disabled")}},_parseOptions:function(t){var i=[];t.each(function(t,s){var n=e(s),a=n.parent("optgroup");i.push({element:n,index:t,value:n.val(),label:n.text(),optgroup:a.attr("label")||"",disabled:a.prop("disabled")||n.prop("disabled")})}),this.items=i},_destroy:function(){this.menuWrap.remove(),this.button.remove(),this.element.show(),this.element.removeUniqueId(),this.label.attr("for",this.ids.element)}}),e.widget("ui.slider",e.ui.mouse,{version:"1.11.4",widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all"),this._refresh(),this._setOption("disabled",this.options.disabled),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var t,i,s=this.options,n=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),a="<span class='ui-slider-handle ui-state-default ui-corner-all' tabindex='0'></span>",o=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),t=n.length;i>t;t++)o.push(a);this.handles=n.add(e(o.join("")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.each(function(t){e(this).data("ui-slider-handle-index",t)})},_createRange:function(){var t=this.options,i="";t.range?(t.range===!0&&(t.values?t.values.length&&2!==t.values.length?t.values=[t.values[0],t.values[0]]:e.isArray(t.values)&&(t.values=t.values.slice(0)):t.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?this.range.removeClass("ui-slider-range-min ui-slider-range-max").css({left:"",bottom:""}):(this.range=e("<div></div>").appendTo(this.element),i="ui-slider-range ui-widget-header ui-corner-all"),this.range.addClass(i+("min"===t.range||"max"===t.range?" ui-slider-range-"+t.range:""))):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all"),this._mouseDestroy()},_mouseCapture:function(t){var i,s,n,a,o,r,h,l,u=this,d=this.options;return d.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:t.pageX,y:t.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(t){var i=Math.abs(s-u.values(t));(n>i||n===i&&(t===u._lastChangedValue||u.values(t)===d.min))&&(n=i,a=e(this),o=t)}),r=this._start(t,o),r===!1?!1:(this._mouseSliding=!0,this._handleIndex=o,a.addClass("ui-state-active").focus(),h=a.offset(),l=!e(t.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:t.pageX-h.left-a.width()/2,top:t.pageY-h.top-a.height()/2-(parseInt(a.css("borderTopWidth"),10)||0)-(parseInt(a.css("borderBottomWidth"),10)||0)+(parseInt(a.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(t,o,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(e){var t={x:e.pageX,y:e.pageY},i=this._normValueFromMouse(t);return this._slide(e,this._handleIndex,i),!1},_mouseStop:function(e){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(e,this._handleIndex),this._change(e,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(e){var t,i,s,n,a;return"horizontal"===this.orientation?(t=this.elementSize.width,i=e.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(t=this.elementSize.height,i=e.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/t,s>1&&(s=1),0>s&&(s=0),"vertical"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),a=this._valueMin()+s*n,this._trimAlignValue(a)},_start:function(e,t){var i={handle:this.handles[t],value:this.value()};return this.options.values&&this.options.values.length&&(i.value=this.values(t),i.values=this.values()),this._trigger("start",e,i)},_slide:function(e,t,i){var s,n,a;this.options.values&&this.options.values.length?(s=this.values(t?0:1),2===this.options.values.length&&this.options.range===!0&&(0===t&&i>s||1===t&&s>i)&&(i=s),i!==this.values(t)&&(n=this.values(),n[t]=i,a=this._trigger("slide",e,{handle:this.handles[t],value:i,values:n}),s=this.values(t?0:1),a!==!1&&this.values(t,i))):i!==this.value()&&(a=this._trigger("slide",e,{handle:this.handles[t],value:i}),a!==!1&&this.value(i))},_stop:function(e,t){var i={handle:this.handles[t],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(t),i.values=this.values()),this._trigger("stop",e,i)},_change:function(e,t){if(!this._keySliding&&!this._mouseSliding){var i={handle:this.handles[t],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(t),i.values=this.values()),this._lastChangedValue=t,this._trigger("change",e,i)}},value:function(e){return arguments.length?(this.options.value=this._trimAlignValue(e),this._refreshValue(),this._change(null,0),void 0):this._value()},values:function(t,i){var s,n,a;if(arguments.length>1)return this.options.values[t]=this._trimAlignValue(i),this._refreshValue(),this._change(null,t),void 0;if(!arguments.length)return this._values();if(!e.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(t):this.value();for(s=this.options.values,n=arguments[0],a=0;s.length>a;a+=1)s[a]=this._trimAlignValue(n[a]),this._change(null,a);this._refreshValue()},_setOption:function(t,i){var s,n=0;switch("range"===t&&this.options.range===!0&&("min"===i?(this.options.value=this._values(0),this.options.values=null):"max"===i&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),e.isArray(this.options.values)&&(n=this.options.values.length),"disabled"===t&&this.element.toggleClass("ui-state-disabled",!!i),this._super(t,i),t){case"orientation":this._detectOrientation(),this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation),this._refreshValue(),this.handles.css("horizontal"===i?"bottom":"left","");break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),s=0;n>s;s+=1)this._change(null,s);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_value:function(){var e=this.options.value;return e=this._trimAlignValue(e)},_values:function(e){var t,i,s;if(arguments.length)return t=this.options.values[e],t=this._trimAlignValue(t);if(this.options.values&&this.options.values.length){for(i=this.options.values.slice(),s=0;i.length>s;s+=1)i[s]=this._trimAlignValue(i[s]);return i}return[]},_trimAlignValue:function(e){if(this._valueMin()>=e)return this._valueMin();if(e>=this._valueMax())return this._valueMax();var t=this.options.step>0?this.options.step:1,i=(e-this._valueMin())%t,s=e-i;return 2*Math.abs(i)>=t&&(s+=i>0?t:-t),parseFloat(s.toFixed(5))},_calculateNewMax:function(){var e=this.options.max,t=this._valueMin(),i=this.options.step,s=Math.floor(+(e-t).toFixed(this._precision())/i)*i;e=s+t,this.max=parseFloat(e.toFixed(this._precision()))},_precision:function(){var e=this._precisionOf(this.options.step);return null!==this.options.min&&(e=Math.max(e,this._precisionOf(this.options.min))),e},_precisionOf:function(e){var t=""+e,i=t.indexOf(".");return-1===i?0:t.length-i-1},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshValue:function(){var t,i,s,n,a,o=this.options.range,r=this.options,h=this,l=this._animateOff?!1:r.animate,u={};this.options.values&&this.options.values.length?this.handles.each(function(s){i=100*((h.values(s)-h._valueMin())/(h._valueMax()-h._valueMin())),u["horizontal"===h.orientation?"left":"bottom"]=i+"%",e(this).stop(1,1)[l?"animate":"css"](u,r.animate),h.options.range===!0&&("horizontal"===h.orientation?(0===s&&h.range.stop(1,1)[l?"animate":"css"]({left:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({width:i-t+"%"},{queue:!1,duration:r.animate})):(0===s&&h.range.stop(1,1)[l?"animate":"css"]({bottom:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({height:i-t+"%"},{queue:!1,duration:r.animate}))),t=i}):(s=this.value(),n=this._valueMin(),a=this._valueMax(),i=a!==n?100*((s-n)/(a-n)):0,u["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[l?"animate":"css"](u,r.animate),"min"===o&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:i+"%"},r.animate),"max"===o&&"horizontal"===this.orientation&&this.range[l?"animate":"css"]({width:100-i+"%"},{queue:!1,duration:r.animate}),"min"===o&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:i+"%"},r.animate),"max"===o&&"vertical"===this.orientation&&this.range[l?"animate":"css"]({height:100-i+"%"},{queue:!1,duration:r.animate}))},_handleEvents:{keydown:function(t){var i,s,n,a,o=e(t.target).data("ui-slider-handle-index");switch(t.keyCode){case e.ui.keyCode.HOME:case e.ui.keyCode.END:case e.ui.keyCode.PAGE_UP:case e.ui.keyCode.PAGE_DOWN:case e.ui.keyCode.UP:case e.ui.keyCode.RIGHT:case e.ui.keyCode.DOWN:case e.ui.keyCode.LEFT:if(t.preventDefault(),!this._keySliding&&(this._keySliding=!0,e(t.target).addClass("ui-state-active"),i=this._start(t,o),i===!1))return}switch(a=this.options.step,s=n=this.options.values&&this.options.values.length?this.values(o):this.value(),t.keyCode){case e.ui.keyCode.HOME:n=this._valueMin();break;case e.ui.keyCode.END:n=this._valueMax();break;case e.ui.keyCode.PAGE_UP:n=this._trimAlignValue(s+(this._valueMax()-this._valueMin())/this.numPages);break;case e.ui.keyCode.PAGE_DOWN:n=this._trimAlignValue(s-(this._valueMax()-this._valueMin())/this.numPages);break;case e.ui.keyCode.UP:case e.ui.keyCode.RIGHT:if(s===this._valueMax())return;n=this._trimAlignValue(s+a);break;case e.ui.keyCode.DOWN:case e.ui.keyCode.LEFT:if(s===this._valueMin())return;n=this._trimAlignValue(s-a)}this._slide(t,o,n)},keyup:function(t){var i=e(t.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(t,i),this._change(t,i),e(t.target).removeClass("ui-state-active"))}}}),e.widget("ui.sortable",e.ui.mouse,{version:"1.11.4",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(e,t,i){return e>=t&&t+i>e},_isFloating:function(e){return/left|right/.test(e.css("float"))||/inline|table-cell/.test(e.css("display"))},_create:function(){this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.offset=this.element.offset(),this._mouseInit(),this._setHandleClassName(),this.ready=!0},_setOption:function(e,t){this._super(e,t),"handle"===e&&this._setHandleClassName()},_setHandleClassName:function(){this.element.find(".ui-sortable-handle").removeClass("ui-sortable-handle"),e.each(this.items,function(){(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item).addClass("ui-sortable-handle")})},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").find(".ui-sortable-handle").removeClass("ui-sortable-handle"),this._mouseDestroy();for(var e=this.items.length-1;e>=0;e--)this.items[e].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(t,i){var s=null,n=!1,a=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(t),e(t.target).parents().each(function(){return e.data(this,a.widgetName+"-item")===a?(s=e(this),!1):void 0}),e.data(t.target,a.widgetName+"-item")===a&&(s=e(t.target)),s?!this.options.handle||i||(e(this.options.handle,s).find("*").addBack().each(function(){this===t.target&&(n=!0)}),n)?(this.currentItem=s,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(t,i,s){var n,a,o=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(t),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},e.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,o.cursorAt&&this._adjustOffsetFromHelper(o.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),o.containment&&this._setContainment(),o.cursor&&"auto"!==o.cursor&&(a=this.document.find("body"),this.storedCursor=a.css("cursor"),a.css("cursor",o.cursor),this.storedStylesheet=e("<style>*{ cursor: "+o.cursor+" !important; }</style>").appendTo(a)),o.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",o.opacity)),o.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",o.zIndex)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",t,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",t,this._uiHash(this));
24return e.ui.ddmanager&&(e.ui.ddmanager.current=this),e.ui.ddmanager&&!o.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(t),!0},_mouseDrag:function(t){var i,s,n,a,o=this.options,r=!1;for(this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-t.pageY<o.scrollSensitivity?this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop+o.scrollSpeed:t.pageY-this.overflowOffset.top<o.scrollSensitivity&&(this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop-o.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-t.pageX<o.scrollSensitivity?this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft+o.scrollSpeed:t.pageX-this.overflowOffset.left<o.scrollSensitivity&&(this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft-o.scrollSpeed)):(t.pageY-this.document.scrollTop()<o.scrollSensitivity?r=this.document.scrollTop(this.document.scrollTop()-o.scrollSpeed):this.window.height()-(t.pageY-this.document.scrollTop())<o.scrollSensitivity&&(r=this.document.scrollTop(this.document.scrollTop()+o.scrollSpeed)),t.pageX-this.document.scrollLeft()<o.scrollSensitivity?r=this.document.scrollLeft(this.document.scrollLeft()-o.scrollSpeed):this.window.width()-(t.pageX-this.document.scrollLeft())<o.scrollSensitivity&&(r=this.document.scrollLeft(this.document.scrollLeft()+o.scrollSpeed))),r!==!1&&e.ui.ddmanager&&!o.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t)),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),i=this.items.length-1;i>=0;i--)if(s=this.items[i],n=s.item[0],a=this._intersectsWithPointer(s),a&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===a?"next":"prev"]()[0]!==n&&!e.contains(this.placeholder[0],n)&&("semi-dynamic"===this.options.type?!e.contains(this.element[0],n):!0)){if(this.direction=1===a?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(t,s),this._trigger("change",t,this._uiHash());break}return this._contactContainers(t),e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),this._trigger("sort",t,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(t,i){if(t){if(e.ui.ddmanager&&!this.options.dropBehaviour&&e.ui.ddmanager.drop(this,t),this.options.revert){var s=this,n=this.placeholder.offset(),a=this.options.axis,o={};a&&"x"!==a||(o.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),a&&"y"!==a||(o.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,e(this.helper).animate(o,parseInt(this.options.revert,10)||500,function(){s._clear(t)})}else this._clear(t,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"===this.options.helper?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var t=this.containers.length-1;t>=0;t--)this.containers[t]._trigger("deactivate",null,this._uiHash(this)),this.containers[t].containerCache.over&&(this.containers[t]._trigger("out",null,this._uiHash(this)),this.containers[t].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),e.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?e(this.domPosition.prev).after(this.currentItem):e(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(t){var i=this._getItemsAsjQuery(t&&t.connected),s=[];return t=t||{},e(i).each(function(){var i=(e(t.item||this).attr(t.attribute||"id")||"").match(t.expression||/(.+)[\-=_](.+)/);i&&s.push((t.key||i[1]+"[]")+"="+(t.key&&t.expression?i[1]:i[2]))}),!s.length&&t.key&&s.push(t.key+"="),s.join("&")},toArray:function(t){var i=this._getItemsAsjQuery(t&&t.connected),s=[];return t=t||{},i.each(function(){s.push(e(t.item||this).attr(t.attribute||"id")||"")}),s},_intersectsWith:function(e){var t=this.positionAbs.left,i=t+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,a=e.left,o=a+e.width,r=e.top,h=r+e.height,l=this.offset.click.top,u=this.offset.click.left,d="x"===this.options.axis||s+l>r&&h>s+l,c="y"===this.options.axis||t+u>a&&o>t+u,p=d&&c;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>e[this.floating?"width":"height"]?p:t+this.helperProportions.width/2>a&&o>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>r&&h>n-this.helperProportions.height/2},_intersectsWithPointer:function(e){var t="x"===this.options.axis||this._isOverAxis(this.positionAbs.top+this.offset.click.top,e.top,e.height),i="y"===this.options.axis||this._isOverAxis(this.positionAbs.left+this.offset.click.left,e.left,e.width),s=t&&i,n=this._getDragVerticalDirection(),a=this._getDragHorizontalDirection();return s?this.floating?a&&"right"===a||"down"===n?2:1:n&&("down"===n?2:1):!1},_intersectsWithSides:function(e){var t=this._isOverAxis(this.positionAbs.top+this.offset.click.top,e.top+e.height/2,e.height),i=this._isOverAxis(this.positionAbs.left+this.offset.click.left,e.left+e.width/2,e.width),s=this._getDragVerticalDirection(),n=this._getDragHorizontalDirection();return this.floating&&n?"right"===n&&i||"left"===n&&!i:s&&("down"===s&&t||"up"===s&&!t)},_getDragVerticalDirection:function(){var e=this.positionAbs.top-this.lastPositionAbs.top;return 0!==e&&(e>0?"down":"up")},_getDragHorizontalDirection:function(){var e=this.positionAbs.left-this.lastPositionAbs.left;return 0!==e&&(e>0?"right":"left")},refresh:function(e){return this._refreshItems(e),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var e=this.options;return e.connectWith.constructor===String?[e.connectWith]:e.connectWith},_getItemsAsjQuery:function(t){function i(){r.push(this)}var s,n,a,o,r=[],h=[],l=this._connectWith();if(l&&t)for(s=l.length-1;s>=0;s--)for(a=e(l[s],this.document[0]),n=a.length-1;n>=0;n--)o=e.data(a[n],this.widgetFullName),o&&o!==this&&!o.options.disabled&&h.push([e.isFunction(o.options.items)?o.options.items.call(o.element):e(o.options.items,o.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),o]);for(h.push([e.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):e(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),s=h.length-1;s>=0;s--)h[s][0].each(i);return e(r)},_removeCurrentsFromItems:function(){var t=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=e.grep(this.items,function(e){for(var i=0;t.length>i;i++)if(t[i]===e.item[0])return!1;return!0})},_refreshItems:function(t){this.items=[],this.containers=[this];var i,s,n,a,o,r,h,l,u=this.items,d=[[e.isFunction(this.options.items)?this.options.items.call(this.element[0],t,{item:this.currentItem}):e(this.options.items,this.element),this]],c=this._connectWith();if(c&&this.ready)for(i=c.length-1;i>=0;i--)for(n=e(c[i],this.document[0]),s=n.length-1;s>=0;s--)a=e.data(n[s],this.widgetFullName),a&&a!==this&&!a.options.disabled&&(d.push([e.isFunction(a.options.items)?a.options.items.call(a.element[0],t,{item:this.currentItem}):e(a.options.items,a.element),a]),this.containers.push(a));for(i=d.length-1;i>=0;i--)for(o=d[i][1],r=d[i][0],s=0,l=r.length;l>s;s++)h=e(r[s]),h.data(this.widgetName+"-item",o),u.push({item:h,instance:o,width:0,height:0,left:0,top:0})},refreshPositions:function(t){this.floating=this.items.length?"x"===this.options.axis||this._isFloating(this.items[0].item):!1,this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var i,s,n,a;for(i=this.items.length-1;i>=0;i--)s=this.items[i],s.instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?e(this.options.toleranceElement,s.item):s.item,t||(s.width=n.outerWidth(),s.height=n.outerHeight()),a=n.offset(),s.left=a.left,s.top=a.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)a=this.containers[i].element.offset(),this.containers[i].containerCache.left=a.left,this.containers[i].containerCache.top=a.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(t){t=t||this;var i,s=t.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=t.currentItem[0].nodeName.toLowerCase(),n=e("<"+s+">",t.document[0]).addClass(i||t.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tbody"===s?t._createTrPlaceholder(t.currentItem.find("tr").eq(0),e("<tr>",t.document[0]).appendTo(n)):"tr"===s?t._createTrPlaceholder(t.currentItem,n):"img"===s&&n.attr("src",t.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(e,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(t.currentItem.innerHeight()-parseInt(t.currentItem.css("paddingTop")||0,10)-parseInt(t.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(t.currentItem.innerWidth()-parseInt(t.currentItem.css("paddingLeft")||0,10)-parseInt(t.currentItem.css("paddingRight")||0,10)))}}),t.placeholder=e(s.placeholder.element.call(t.element,t.currentItem)),t.currentItem.after(t.placeholder),s.placeholder.update(t,t.placeholder)},_createTrPlaceholder:function(t,i){var s=this;t.children().each(function(){e("<td>&#160;</td>",s.document[0]).attr("colspan",e(this).attr("colspan")||1).appendTo(i)})},_contactContainers:function(t){var i,s,n,a,o,r,h,l,u,d,c=null,p=null;for(i=this.containers.length-1;i>=0;i--)if(!e.contains(this.currentItem[0],this.containers[i].element[0]))if(this._intersectsWith(this.containers[i].containerCache)){if(c&&e.contains(this.containers[i].element[0],c.element[0]))continue;c=this.containers[i],p=i}else this.containers[i].containerCache.over&&(this.containers[i]._trigger("out",t,this._uiHash(this)),this.containers[i].containerCache.over=0);if(c)if(1===this.containers.length)this.containers[p].containerCache.over||(this.containers[p]._trigger("over",t,this._uiHash(this)),this.containers[p].containerCache.over=1);else{for(n=1e4,a=null,u=c.floating||this._isFloating(this.currentItem),o=u?"left":"top",r=u?"width":"height",d=u?"clientX":"clientY",s=this.items.length-1;s>=0;s--)e.contains(this.containers[p].element[0],this.items[s].item[0])&&this.items[s].item[0]!==this.currentItem[0]&&(h=this.items[s].item.offset()[o],l=!1,t[d]-h>this.items[s][r]/2&&(l=!0),n>Math.abs(t[d]-h)&&(n=Math.abs(t[d]-h),a=this.items[s],this.direction=l?"up":"down"));if(!a&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[p])return this.currentContainer.containerCache.over||(this.containers[p]._trigger("over",t,this._uiHash()),this.currentContainer.containerCache.over=1),void 0;a?this._rearrange(t,a,null,!0):this._rearrange(t,null,this.containers[p].element,!0),this._trigger("change",t,this._uiHash()),this.containers[p]._trigger("change",t,this._uiHash(this)),this.currentContainer=this.containers[p],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[p]._trigger("over",t,this._uiHash(this)),this.containers[p].containerCache.over=1}},_createHelper:function(t){var i=this.options,s=e.isFunction(i.helper)?e(i.helper.apply(this.element[0],[t,this.currentItem])):"clone"===i.helper?this.currentItem.clone():this.currentItem;return s.parents("body").length||e("parent"!==i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(!s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(!s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var t=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==this.document[0]&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===this.document[0].body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&e.ui.ie)&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var e=this.currentItem.position();return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:e.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,i,s,n=this.options;"parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,"document"===n.containment?this.document.width():this.window.width()-this.helperProportions.width-this.margins.left,("document"===n.containment?this.document.width():this.window.height()||this.document[0].body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(t=e(n.containment)[0],i=e(n.containment).offset(),s="hidden"!==e(t).css("overflow"),this.containment=[i.left+(parseInt(e(t).css("borderLeftWidth"),10)||0)+(parseInt(e(t).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(e(t).css("borderTopWidth"),10)||0)+(parseInt(e(t).css("paddingTop"),10)||0)-this.margins.top,i.left+(s?Math.max(t.scrollWidth,t.offsetWidth):t.offsetWidth)-(parseInt(e(t).css("borderLeftWidth"),10)||0)-(parseInt(e(t).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(t.scrollHeight,t.offsetHeight):t.offsetHeight)-(parseInt(e(t).css("borderTopWidth"),10)||0)-(parseInt(e(t).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(t,i){i||(i=this.position);var s="absolute"===t?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,a=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():a?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():a?0:n.scrollLeft())*s}},_generatePosition:function(t){var i,s,n=this.options,a=t.pageX,o=t.pageY,r="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=/(html|body)/i.test(r[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(t.pageX-this.offset.click.left<this.containment[0]&&(a=this.containment[0]+this.offset.click.left),t.pageY-this.offset.click.top<this.containment[1]&&(o=this.containment[1]+this.offset.click.top),t.pageX-this.offset.click.left>this.containment[2]&&(a=this.containment[2]+this.offset.click.left),t.pageY-this.offset.click.top>this.containment[3]&&(o=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((o-this.originalPageY)/n.grid[1])*n.grid[1],o=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((a-this.originalPageX)/n.grid[0])*n.grid[0],a=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:o-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:a-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(e,t,i,s){i?i[0].appendChild(this.placeholder[0]):t.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?t.item[0]:t.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(e,t){function i(e,t,i){return function(s){i._trigger(e,s,t._uiHash(t))}}this.reverting=!1;var s,n=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(s in this._storedCSS)("auto"===this._storedCSS[s]||"static"===this._storedCSS[s])&&(this._storedCSS[s]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!t&&n.push(function(e){this._trigger("receive",e,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||t||n.push(function(e){this._trigger("update",e,this._uiHash())}),this!==this.currentContainer&&(t||(n.push(function(e){this._trigger("remove",e,this._uiHash())}),n.push(function(e){return function(t){e._trigger("receive",t,this._uiHash(this))}}.call(this,this.currentContainer)),n.push(function(e){return function(t){e._trigger("update",t,this._uiHash(this))}}.call(this,this.currentContainer)))),s=this.containers.length-1;s>=0;s--)t||n.push(i("deactivate",this,this.containers[s])),this.containers[s].containerCache.over&&(n.push(i("out",this,this.containers[s])),this.containers[s].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,t||this._trigger("beforeStop",e,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!t){for(s=0;n.length>s;s++)n[s].call(this,e);this._trigger("stop",e,this._uiHash())}return this.fromOutside=!1,!this.cancelHelperRemoval},_trigger:function(){e.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(t){var i=t||this;return{helper:i.helper,placeholder:i.placeholder||e([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:t?t.element:null}}}),e.widget("ui.spinner",{version:"1.11.4",defaultElement:"<input>",widgetEventPrefix:"spin",options:{culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var t={},i=this.element;return e.each(["min","max","step"],function(e,s){var n=i.attr(s);void 0!==n&&n.length&&(t[s]=n)}),t}
vendor: 5,350 bytes, line 24
24,_events:{keydown:function(e){this._start(e)&&this._keydown(e)&&e.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(e){return this.cancelBlur?(delete this.cancelBlur,void 0):(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",e),void 0)},mousewheel:function(e,t){if(t){if(!this.spinning&&!this._start(e))return!1;this._spin((t>0?1:-1)*this.options.step,e),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(e)},100),e.preventDefault()}},"mousedown .ui-spinner-button":function(t){function i(){var e=this.element[0]===this.document[0].activeElement;e||(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s}))}var s;s=this.element[0]===this.document[0].activeElement?this.previous:this.element.val(),t.preventDefault(),i.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,i.call(this)}),this._start(t)!==!1&&this._repeat(null,e(t.currentTarget).hasClass("ui-spinner-up")?1:-1,t)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(t){return e(t.currentTarget).hasClass("ui-state-active")?this._start(t)===!1?!1:(this._repeat(null,e(t.currentTarget).hasClass("ui-spinner-up")?1:-1,t),void 0):void 0},"mouseleave .ui-spinner-button":"_stop"},_draw:function(){var e=this.uiSpinner=this.element.addClass("ui-spinner-input").attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml());this.element.attr("role","spinbutton"),this.buttons=e.find(".ui-spinner-button").attr("tabIndex",-1).button().removeClass("ui-corner-all"),this.buttons.height()>Math.ceil(.5*e.height())&&e.height()>0&&e.height(e.height()),this.options.disabled&&this.disable()},_keydown:function(t){var i=this.options,s=e.ui.keyCode;switch(t.keyCode){case s.UP:return this._repeat(null,1,t),!0;case s.DOWN:return this._repeat(null,-1,t),!0;case s.PAGE_UP:return this._repeat(null,i.page,t),!0;case s.PAGE_DOWN:return this._repeat(null,-i.page,t),!0}return!1},_uiSpinnerHtml:function(){return"<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>"},_buttonHtml:function(){return"<a class='ui-spinner-button ui-spinner-up ui-corner-tr'><span class='ui-icon "+this.options.icons.up+"'>&#9650;</span>"+"</a>"+"<a class='ui-spinner-button ui-spinner-down ui-corner-br'>"+"<span class='ui-icon "+this.options.icons.down+"'>&#9660;</span>"+"</a>"},_start:function(e){return this.spinning||this._trigger("start",e)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(e,t,i){e=e||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,t,i)},e),this._spin(t*this.options.step,i)},_spin:function(e,t){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+e*this._increment(this.counter)),this.spinning&&this._trigger("spin",t,{value:i})===!1||(this._value(i),this.counter++)},_increment:function(t){var i=this.options.incremental;return i?e.isFunction(i)?i(t):Math.floor(t*t*t/5e4-t*t/500+17*t/200+1):1},_precision:function(){var e=this._precisionOf(this.options.step);return null!==this.options.min&&(e=Math.max(e,this._precisionOf(this.options.min))),e},_precisionOf:function(e){var t=""+e,i=t.indexOf(".");return-1===i?0:t.length-i-1},_adjustValue:function(e){var t,i,s=this.options;return t=null!==s.min?s.min:0,i=e-t,i=Math.round(i/s.step)*s.step,e=t+i,e=parseFloat(e.toFixed(this._precision())),null!==s.max&&e>s.max?s.max:null!==s.min&&s.min>e?s.min:e},_stop:function(e){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",e))},_setOption:function(e,t){if("culture"===e||"numberFormat"===e){var i=this._parse(this.element.val());return this.options[e]=t,this.element.val(this._format(i)),void 0}("max"===e||"min"===e||"step"===e)&&"string"==typeof t&&(t=this._parse(t)),"icons"===e&&(this.buttons.first().find(".ui-icon").removeClass(this.options.icons.up).addClass(t.up),this.buttons.last().find(".ui-icon").removeClass(this.options.icons.down).addClass(t.down)),this._super(e,t),"disabled"===e&&(this.widget().toggleClass("ui-state-disabled",!!t),this.element.prop("disabled",!!t),this.buttons.button(t?"disable":"enable"))},_setOptions:h(function(e){this._super(e)}),_parse:function(e){return"string"==typeof e&&""!==e&&(e=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(e,10,this.options.culture):+e),""===e||isNaN(e)?null:e},_format:function(e){return""===e?"":window.Globalize&&this.options.numberFormat?Globalize.format(e,this.options.numberFormat,this.options.culture):e},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},isValid:function(){var e=this.value();return null===e?!1:e===this._adjustValue(e)},_value:function(e,t){var i;""!==e&&(i=this._parse(e),null!==i&&(t||(i=this._adjustValue(i)),e=this._format(i))),this.element.val(e),this._refresh()},_destroy:function(){this.element.removeClass("ui-spinner-input").prop("disabled",!1).removeAttr("autocomplete").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:h(function(e){this._stepUp(e)}
vendor: 17,656 bytes, lines 24-25
24),_stepUp:function(e){this._start()&&(this._spin((e||1)*this.options.step),this._stop())},stepDown:h(function(e){this._stepDown(e)}),_stepDown:function(e){this._start()&&(this._spin((e||1)*-this.options.step),this._stop())},pageUp:h(function(e){this._stepUp((e||1)*this.options.page)}),pageDown:h(function(e){this._stepDown((e||1)*this.options.page)}),value:function(e){return arguments.length?(h(this._value).call(this,e),void 0):this._parse(this.element.val())},widget:function(){return this.uiSpinner}}),e.widget("ui.tabs",{version:"1.11.4",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:function(){var e=/#.*$/;return function(t){var i,s;t=t.cloneNode(!1),i=t.href.replace(e,""),s=location.href.replace(e,"");try{i=decodeURIComponent(i)}catch(n){}try{s=decodeURIComponent(s)}catch(n){}return t.hash.length>1&&i===s}}(),_create:function(){var t=this,i=this.options;this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",i.collapsible),this._processTabs(),i.active=this._initialActive(),e.isArray(i.disabled)&&(i.disabled=e.unique(i.disabled.concat(e.map(this.tabs.filter(".ui-state-disabled"),function(e){return t.tabs.index(e)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(i.active):e(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var t=this.options.active,i=this.options.collapsible,s=location.hash.substring(1);return null===t&&(s&&this.tabs.each(function(i,n){return e(n).attr("aria-controls")===s?(t=i,!1):void 0}),null===t&&(t=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===t||-1===t)&&(t=this.tabs.length?0:!1)),t!==!1&&(t=this.tabs.index(this.tabs.eq(t)),-1===t&&(t=i?!1:0)),!i&&t===!1&&this.anchors.length&&(t=0),t},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):e()}},_tabKeydown:function(t){var i=e(this.document[0].activeElement).closest("li"),s=this.tabs.index(i),n=!0;if(!this._handlePageNav(t)){switch(t.keyCode){case e.ui.keyCode.RIGHT:case e.ui.keyCode.DOWN:s++;break;case e.ui.keyCode.UP:case e.ui.keyCode.LEFT:n=!1,s--;break;case e.ui.keyCode.END:s=this.anchors.length-1;break;case e.ui.keyCode.HOME:s=0;break;case e.ui.keyCode.SPACE:return t.preventDefault(),clearTimeout(this.activating),this._activate(s),void 0;case e.ui.keyCode.ENTER:return t.preventDefault(),clearTimeout(this.activating),this._activate(s===this.options.active?!1:s),void 0;default:return}t.preventDefault(),clearTimeout(this.activating),s=this._focusNextTab(s,n),t.ctrlKey||t.metaKey||(i.attr("aria-selected","false"),this.tabs.eq(s).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",s)},this.delay))}},_panelKeydown:function(t){this._handlePageNav(t)||t.ctrlKey&&t.keyCode===e.ui.keyCode.UP&&(t.preventDefault(),this.active.focus())},_handlePageNav:function(t){return t.altKey&&t.keyCode===e.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):t.altKey&&t.keyCode===e.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(t,i){function s(){return t>n&&(t=0),0>t&&(t=n),t}for(var n=this.tabs.length-1;-1!==e.inArray(s(),this.options.disabled);)t=i?t+1:t-1;return t},_focusNextTab:function(e,t){return e=this._findNextTab(e,t),this.tabs.eq(e).focus(),e},_setOption:function(e,t){return"active"===e?(this._activate(t),void 0):"disabled"===e?(this._setupDisabled(t),void 0):(this._super(e,t),"collapsible"===e&&(this.element.toggleClass("ui-tabs-collapsible",t),t||this.options.active!==!1||this._activate(0)),"event"===e&&this._setupEvents(t),"heightStyle"===e&&this._setupHeightStyle(t),void 0)},_sanitizeSelector:function(e){return e?e.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var t=this.options,i=this.tablist.children(":has(a[href])");t.disabled=e.map(i.filter(".ui-state-disabled"),function(e){return i.index(e)}),this._processTabs(),t.active!==!1&&this.anchors.length?this.active.length&&!e.contains(this.tablist[0],this.active[0])?this.tabs.length===t.disabled.length?(t.active=!1,this.active=e()):this._activate(this._findNextTab(Math.max(0,t.active-1),!1)):t.active=this.tabs.index(this.active):(t.active=!1,this.active=e()),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var t=this,i=this.tabs,s=this.anchors,n=this.panels;
25this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist").delegate("> li","mousedown"+this.eventNamespace,function(t){e(this).is(".ui-state-disabled")&&t.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){e(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return e("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=e(),this.anchors.each(function(i,s){var n,a,o,r=e(s).uniqueId().attr("id"),h=e(s).closest("li"),l=h.attr("aria-controls");t._isLocal(s)?(n=s.hash,o=n.substring(1),a=t.element.find(t._sanitizeSelector(n))):(o=h.attr("aria-controls")||e({}).uniqueId()[0].id,n="#"+o,a=t.element.find(n),a.length||(a=t._createPanel(o),a.insertAfter(t.panels[i-1]||t.tablist)),a.attr("aria-live","polite")),a.length&&(t.panels=t.panels.add(a)),l&&h.data("ui-tabs-aria-controls",l),h.attr({"aria-controls":o,"aria-labelledby":r}),a.attr("aria-labelledby",r)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel"),i&&(this._off(i.not(this.tabs)),this._off(s.not(this.anchors)),this._off(n.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol,ul").eq(0)},_createPanel:function(t){return e("<div>").attr("id",t).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(t){e.isArray(t)&&(t.length?t.length===this.anchors.length&&(t=!0):t=!1);for(var i,s=0;i=this.tabs[s];s++)t===!0||-1!==e.inArray(s,t)?e(i).addClass("ui-state-disabled").attr("aria-disabled","true"):e(i).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=t},_setupEvents:function(t){var i={};t&&e.each(t.split(" "),function(e,t){i[t]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(e){e.preventDefault()}}),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(t){var i,s=this.element.parent();"fill"===t?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var t=e(this),s=t.css("position");"absolute"!==s&&"fixed"!==s&&(i-=t.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=e(this).outerHeight(!0)}),this.panels.each(function(){e(this).height(Math.max(0,i-e(this).innerHeight()+e(this).height()))}).css("overflow","auto")):"auto"===t&&(i=0,this.panels.each(function(){i=Math.max(i,e(this).height("").height())}).height(i))},_eventHandler:function(t){var i=this.options,s=this.active,n=e(t.currentTarget),a=n.closest("li"),o=a[0]===s[0],r=o&&i.collapsible,h=r?e():this._getPanelForTab(a),l=s.length?this._getPanelForTab(s):e(),u={oldTab:s,oldPanel:l,newTab:r?e():a,newPanel:h};t.preventDefault(),a.hasClass("ui-state-disabled")||a.hasClass("ui-tabs-loading")||this.running||o&&!i.collapsible||this._trigger("beforeActivate",t,u)===!1||(i.active=r?!1:this.tabs.index(a),this.active=o?e():a,this.xhr&&this.xhr.abort(),l.length||h.length||e.error("jQuery UI Tabs: Mismatching fragment identifier."),h.length&&this.load(this.tabs.index(a),t),this._toggle(t,u))},_toggle:function(t,i){function s(){a.running=!1,a._trigger("activate",t,i)}function n(){i.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),o.length&&a.options.show?a._show(o,a.options.show,s):(o.show(),s())}var a=this,o=i.newPanel,r=i.oldPanel;this.running=!0,r.length&&this.options.hide?this._hide(r,this.options.hide,function(){i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),n()}):(i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),r.hide(),n()),r.attr("aria-hidden","true"),i.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),o.length&&r.length?i.oldTab.attr("tabIndex",-1):o.length&&this.tabs.filter(function(){return 0===e(this).attr("tabIndex")}).attr("tabIndex",-1),o.attr("aria-hidden","false"),i.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(t){var i,s=this._findActive(t);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:e.noop}))},_findActive:function(t){return t===!1?e():this.tabs.eq(t)},_getIndex:function(e){return"string"==typeof e&&(e=this.anchors.index(this.anchors.filter("[href$='"+e+"']"))),e},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(),this.tablist.unbind(this.eventNamespace),this.tabs.add(this.panels).each(function(){e.data(this,"ui-tabs-destroy")?e(this).remove():e(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var t=e(this),i=t.data("ui-tabs-aria-controls");i?t.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):t.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(t){var i=this.options.disabled;i!==!1&&(void 0===t?i=!1:(t=this._getIndex(t),i=e.isArray(i)?e.map(i,function(e){return e!==t?e:null}):e.map(this.tabs,function(e,i){return i!==t?i:null})),this._setupDisabled(i))},disable:function(t){var i=this.options.disabled;if(i!==!0){if(void 0===t)i=!0;else{if(t=this._getIndex(t),-1!==e.inArray(t,i))return;i=e.isArray(i)?e.merge([t],i).sort():[t]}this._setupDisabled(i)}},load:function(t,i){t=this._getIndex(t);var s=this,n=this.tabs.eq(t),a=n.find(".ui-tabs-anchor"),o=this._getPanelForTab(n),r={tab:n,panel:o},h=function(e,t){"abort"===t&&s.panels.stop(!1,!0),n.removeClass("ui-tabs-loading"),o.removeAttr("aria-busy"),e===s.xhr&&delete s.xhr};this._isLocal(a[0])||(this.xhr=e.ajax(this._ajaxSettings(a,i,r)),this.xhr&&"canceled"!==this.xhr.statusText&&(n.addClass("ui-tabs-loading"),o.attr("aria-busy","true"),this.xhr.done(function(e,t,n){setTimeout(function(){o.html(e),s._trigger("load",i,r),h(n,t)},1)}).fail(function(e,t){setTimeout(function(){h(e,t)},1)})))},_ajaxSettings:function(t,i,s){var n=this;return{url:t.attr("href"),beforeSend:function(t,a){return n._trigger("beforeLoad",i,e.extend({jqXHR:t,ajaxSettings:a},s))}}},_getPanelForTab:function(t){var i=e(t).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}}),e.widget("ui.tooltip",{version:"1.11.4",options:{content:function(){var t=e(this).attr("title")||"";return e("<a>").text(t).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,tooltipClass:null,track:!1,close:null,open:null},_addDescribedBy:function(t,i){var s=(t.attr("aria-describedby")||"").split(/\s+/);s.push(i),t.data("ui-tooltip-id",i).attr("aria-describedby",e.trim(s.join(" ")))},_removeDescribedBy:function(t){var i=t.data("ui-tooltip-id"),s=(t.attr("aria-describedby")||"").split(/\s+/),n=e.inArray(i,s);-1!==n&&s.splice(n,1),t.removeData("ui-tooltip-id"),s=e.trim(s.join(" ")),s?t.attr("aria-describedby",s):t.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable(),this.liveRegion=e("<div>").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).addClass("ui-helper-hidden-accessible").appendTo(this.document[0].body)},_setOption:function(t,i){var s=this;return"disabled"===t?(this[i?"_disable":"_enable"](),this.options[t]=i,void 0):(this._super(t,i),"content"===t&&e.each(this.tooltips,function(e,t){s._updateContent(t.element)}),void 0)},_disable:function(){var t=this;e.each(this.tooltips,function(i,s){var n=e.Event("blur");n.target=n.currentTarget=s.element[0],t.close(n,!0)}),this.element.find(this.options.items).addBack().each(function(){var t=e(this);t.is("[title]")&&t.data("ui-tooltip-title",t.attr("title")).removeAttr("title")})},_enable:function(){this.element.find(this.options.items).addBack().each(function(){var t=e(this);t.data("ui-tooltip-title")&&t.attr("title",t.data("ui-tooltip-title"))})},open:function(t){var i=this,s=e(t?t.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),t&&"mouseover"===t.type&&s.parents().each(function(){var t,s=e(this);s.data("ui-tooltip-open")&&(t=e.Event("blur"),t.target=t.currentTarget=this,i.close(t,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._registerCloseHandlers(t,s),this._updateContent(s,t))},_updateContent:function(e,t){var i,s=this.options.content,n=this,a=t?t.type:null;return"string"==typeof s?this._open(t,e,s):(i=s.call(e[0],function(i){n._delay(function(){e.data("ui-tooltip-open")&&(t&&(t.type=a),this._open(t,e,i))})}),i&&this._open(t,e,i),void 0)},_open:function(t,i,s){function n(e){l.of=e,o.is(":hidden")||o.position(l)}var a,o,r,h,l=e.extend({},this.options.position);if(s){if(a=this._find(i))return a.tooltip.find(".ui-tooltip-content").html(s),void 0;i.is("[title]")&&(t&&"mouseover"===t.type?i.attr("title",""):i.removeAttr("title")),a=this._tooltip(i),o=a.tooltip,this._addDescribedBy(i,o.attr("id")),o.find(".ui-tooltip-content").html(s),this.liveRegion.children().hide(),s.clone?(h=s.clone(),h.removeAttr("id").find("[id]").removeAttr("id")):h=s,e("<div>").html(h).appendTo(this.liveRegion),this.options.track&&t&&/^mouse/.test(t.type)?(this._on(this.document,{mousemove:n}),n(t)):o.position(e.extend({of:i},this.options.position)),o.hide(),this._show(o,this.options.show),this.options.show&&this.options.show.delay&&(r=this.delayedShow=setInterval(function(){o.is(":visible")&&(n(l.of),clearInterval(r))},e.fx.interval)),this._trigger("open",t,{tooltip:o})}},_registerCloseHandlers:function(t,i){var s={keyup:function(t){if(t.keyCode===e.ui.keyCode.ESCAPE){var s=e.Event(t);s.currentTarget=i[0],this.close(s,!0)}}};i[0]!==this.element[0]&&(s.remove=function(){this._removeTooltip(this._find(i).tooltip)}),t&&"mouseover"!==t.type||(s.mouseleave="close"),t&&"focusin"!==t.type||(s.focusout="close"),this._on(!0,i,s)},close:function(t){var i,s=this,n=e(t?t.currentTarget:this.element),a=this._find(n);return a?(i=a.tooltip,a.closing||(clearInterval(this.delayedShow),n.data("ui-tooltip-title")&&!n.attr("title")&&n.attr("title",n.data("ui-tooltip-title")),this._removeDescribedBy(n),a.hiding=!0,i.stop(!0),this._hide(i,this.options.hide,function(){s._removeTooltip(e(this))}),n.removeData("ui-tooltip-open"),this._off(n,"mouseleave focusout keyup"),n[0]!==this.element[0]&&this._off(n,"remove"),this._off(this.document,"mousemove"),t&&"mouseleave"===t.type&&e.each(this.parents,function(t,i){e(i.element).attr("title",i.title),delete s.parents[t]}),a.closing=!0,this._trigger("close",t,{tooltip:i}),a.hiding||(a.closing=!1)),void 0):(n.removeData("ui-tooltip-open"),void 0)},_tooltip:function(t){var i=e("<div>").attr("role","tooltip").addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||"")),s=i.uniqueId().attr("id");return e("<div>").addClass("ui-tooltip-content").appendTo(i),i.appendTo(this.document[0].body),this.tooltips[s]={element:t,tooltip:i}},_find:function(e){var t=e.data("ui-tooltip-id");return t?this.tooltips[t]:null},_removeTooltip:function(e){e.remove(),delete this.tooltips[e.attr("id")]},_destroy:function(){var t=this;e.each(this.tooltips,function(i,s){var n=e.Event("blur"),a=s.element;n.target=n.currentTarget=a[0],t.close(n,!0),e("#"+i).remove(),a.data("ui-tooltip-title")&&(a.attr("title")||a.attr("title",a.data("ui-tooltip-title")),a.removeData("ui-tooltip-title"))}),this.liveRegion.remove()}})});
vendor: 662 bytes, lines 25-30
25;
26//     Underscore.js 1.8.3
27//     http://underscorejs.org
28//     (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
29//     Underscore may be freely distributed under the MIT license.
30(function(){function n(n){function t(t,r,e,u,i,o){for(;i>=0&&o>i;i+=n){var a=u?u[i]:i;e=r(e,t[a],a,t)}return e}return function(r,e,u,i){e=b(e,i,4);var o=!k(r)&&m.keys(r),a=(o||r).length,c=n>0?0:a-1;return arguments.length<3&&(u=r[o?o[c]:c],c+=n),t(r,e,u,o,c,a)}}function t(n){return function(t,r,e){r=x(r,e);for(var u=O(t),i=n>0?0:u-1;i>=0&&u>i;i+=n)if(r(t[i],i,t))return i;return-1}}function r(n,t,r){return function(e,u,i){var o=0,a=O(e);
30if("number"==typeof i)n>0?o=i>=0?i:Math.max(i+a,o):a=i>=0?Math.min(i+1,a):i+a+1;else if(r&&i&&a)return i=r(e,u),e[i]===u?i:-1;if(u!==u)return i=t(l.call(e,o,a),m.isNaN),i>=0?i+o:-1;for(i=n>0?o:a-1;i>=0&&a>i;i+=n)if(e[i]===u)return i;return-1}}function e(n,t){var r=I.length,e=n.constructor,u=m.isFunction(e)&&e.prototype||a,i="constructor";for(m.has(n,i)&&!m.contains(t,i)&&t.push(i);r--;)i=I[r],i in n&&n[i]!==u[i]&&!m.contains(t,i)&&t.push(i)}var u=this,i=u._,o=Array.prototype,a=Object.prototype,c=Function.prototype,f=o.push,l=o.slice,s=a.toString,p=a.hasOwnProperty,h=Array.isArray,v=Object.keys,g=c.bind,y=Object.create,d=function(){},m=function(n){return n instanceof m?n:this instanceof m?void(this._wrapped=n):new m(n)};"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=m),exports._=m):u._=m,m.VERSION="1.8.3";var b=function(n,t,r){if(t===void 0)return n;switch(null==r?3:r){case 1:return function(r){return n.call(t,r)};case 2:return function(r,e){return n.call(t,r,e)};case 3:return function(r,e,u){return n.call(t,r,e,u)};case 4:return function(r,e,u,i){return n.call(t,r,e,u,i)}}return function(){return n.apply(t,arguments)}},x=function(n,t,r){return null==n?m.identity:m.isFunction(n)?b(n,t,r):m.isObject(n)?m.matcher(n):m.property(n)};m.iteratee=function(n,t){return x(n,t,1/0)};var _=function(n,t){return function(r){var e=arguments.length;if(2>e||null==r)return r;for(var u=1;e>u;u++)for(var i=arguments[u],o=n(i),a=o.length,c=0;a>c;c++){var f=o[c];t&&r[f]!==void 0||(r[f]=i[f])}return r}},j=function(n){if(!m.isObject(n))return{};if(y)return y(n);d.prototype=n;var t=new d;return d.prototype=null,t},w=function(n){return function(t){return null==t?void 0:t[n]}},A=Math.pow(2,53)-1,O=w("length"),k=function(n){var t=O(n);return"number"==typeof t&&t>=0&&A>=t};m.each=m.forEach=function(n,t,r){t=b(t,r);var e,u;if(k(n))for(e=0,u=n.length;u>e;e++)t(n[e],e,n);else{var i=m.keys(n);for(e=0,u=i.length;u>e;e++)t(n[i[e]],i[e],n)}return n},m.map=m.collect=function(n,t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=Array(u),o=0;u>o;o++){var a=e?e[o]:o;i[o]=t(n[a],a,n)}return i},m.reduce=m.foldl=m.inject=n(1),m.reduceRight=m.foldr=n(-1),m.find=m.detect=function(n,t,r){var e;return e=k(n)?m.findIndex(n,t,r):m.findKey(n,t,r),e!==void 0&&e!==-1?n[e]:void 0},m.filter=m.select=function(n,t,r){var e=[];return t=x(t,r),m.each(n,function(n,r,u){t(n,r,u)&&e.push(n)}),e},m.reject=function(n,t,r){return m.filter(n,m.negate(x(t)),r)},m.every=m.all=function(n,t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=0;u>i;i++){var o=e?e[i]:i;if(!t(n[o],o,n))return!1}return!0},m.some=m.any=function(n,t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=0;u>i;i++){var o=e?e[i]:i;if(t(n[o],o,n))return!0}return!1},m.contains=m.includes=m.include=function(n,t,r,e){return k(n)||(n=m.values(n)),("number"!=typeof r||e)&&(r=0),m.indexOf(n,t,r)>=0},m.invoke=function(n,t){var r=l.call(arguments,2),e=m.isFunction(t);return m.map(n,function(n){var u=e?t:n[t];return null==u?u:u.apply(n,r)})},m.pluck=function(n,t){return m.map(n,m.property(t))},m.where=function(n,t){return m.filter(n,m.matcher(t))},m.findWhere=function(n,t){return m.find(n,m.matcher(t))},m.max=function(n,t,r){var e,u,i=-1/0,o=-1/0;if(null==t&&null!=n){n=k(n)?n:m.values(n);for(var a=0,c=n.length;c>a;a++)e=n[a],e>i&&(i=e)}else t=x(t,r),m.each(n,function(n,r,e){u=t(n,r,e),(u>o||u===-1/0&&i===-1/0)&&(i=n,o=u)});return i},m.min=function(n,t,r){var e,u,i=1/0,o=1/0;if(null==t&&null!=n){n=k(n)?n:m.values(n);for(var a=0,c=n.length;c>a;a++)e=n[a],i>e&&(i=e)}else t=x(t,r),m.each(n,function(n,r,e){u=t(n,r,e),(o>u||1/0===u&&1/0===i)&&(i=n,o=u)});return i},m.shuffle=function(n){for(var t,r=k(n)?n:m.values(n),e=r.length,u=Array(e),i=0;e>i;i++)t=m.random(0,i),t!==i&&(u[i]=u[t]),u[t]=r[i];return u},m.sample=function(n,t,r){return null==t||r?(k(n)||(n=m.values(n)),n[m.random(n.length-1)]):m.shuffle(n).slice(0,Math.max(0,t))},m.sortBy=function(n,t,r){return t=x(t,r),m.pluck(m.map(n,function(n,r,e){return{value:n,index:r,criteria:t(n,r,e)}}).sort(function(n,t){var r=n.criteria,e=t.criteria;if(r!==e){if(r>e||r===void 0)return 1;if(e>r||e===void 0)return-1}return n.index-t.index}),"value")};var F=function(n){return function(t,r,e){var u={};return r=x(r,e),m.each(t,function(e,i){var o=r(e,i,t);n(u,e,o)}),u}};m.groupBy=F(function(n,t,r){m.has(n,r)?n[r].push(t):n[r]=[t]}),m.indexBy=F(function(n,t,r){n[r]=t}),m.countBy=F(function(n,t,r){m.has(n,r)?n[r]++:n[r]=1}),m.toArray=function(n){return n?m.isArray(n)?l.call(n):k(n)?m.map(n,m.identity):m.values(n):[]},m.size=function(n){return null==n?0:k(n)?n.length:m.keys(n).length},m.partition=function(n,t,r){t=x(t,r);var e=[],u=[];return m.each(n,function(n,r,i){(t(n,r,i)?e:u).push(n)}),[e,u]},m.first=m.head=m.take=function(n,t,r){return null==n?void 0:null==t||r?n[0]:m.initial(n,n.length-t)},m.initial=function(n,t,r){return l.call(n,0,Math.max(0,n.length-(null==t||r?1:t)))},m.last=function(n,t,r){return null==n?void 0:null==t||r?n[n.length-1]:m.rest(n,Math.max(0,n.length-t))},m.rest=m.tail=m.drop=function(n,t,r){return l.call(n,null==t||r?1:t)},m.compact=function(n){return m.filter(n,m.identity)};var S=function(n,t,r,e){for(var u=[],i=0,o=e||0,a=O(n);a>o;o++){var c=n[o];if(k(c)&&(m.isArray(c)||m.isArguments(c))){t||(c=S(c,t,r));var f=0,l=c.length;for(u.length+=l;l>f;
30)u[i++]=c[f++]}else r||(u[i++]=c)}return u};m.flatten=function(n,t){return S(n,t,!1)},m.without=function(n){return m.difference(n,l.call(arguments,1))},m.uniq=m.unique=function(n,t,r,e){m.isBoolean(t)||(e=r,r=t,t=!1),null!=r&&(r=x(r,e));for(var u=[],i=[],o=0,a=O(n);a>o;o++){var c=n[o],f=r?r(c,o,n):c;t?(o&&i===f||u.push(c),i=f):r?m.contains(i,f)||(i.push(f),u.push(c)):m.contains(u,c)||u.push(c)}return u},m.union=function(){return m.uniq(S(arguments,!0,!0))},m.intersection=function(n){for(var t=[],r=arguments.length,e=0,u=O(n);u>e;e++){var i=n[e];if(!m.contains(t,i)){for(var o=1;r>o&&m.contains(arguments[o],i);o++);o===r&&t.push(i)}}return t},m.difference=function(n){var t=S(arguments,!0,!0,1);return m.filter(n,function(n){return!m.contains(t,n)})},m.zip=function(){return m.unzip(arguments)},m.unzip=function(n){for(var t=n&&m.max(n,O).length||0,r=Array(t),e=0;t>e;e++)r[e]=m.pluck(n,e);return r},m.object=function(n,t){for(var r={},e=0,u=O(n);u>e;e++)t?r[n[e]]=t[e]:r[n[e][0]]=n[e][1];return r},m.findIndex=t(1),m.findLastIndex=t(-1),m.sortedIndex=function(n,t,r,e){r=x(r,e,1);for(var u=r(t),i=0,o=O(n);o>i;){var a=Math.floor((i+o)/2);r(n[a])<u?i=a+1:o=a}return i},m.indexOf=r(1,m.findIndex,m.sortedIndex),m.lastIndexOf=r(-1,m.findLastIndex),m.range=function(n,t,r){null==t&&(t=n||0,n=0),r=r||1;for(var e=Math.max(Math.ceil((t-n)/r),0),u=Array(e),i=0;e>i;i++,n+=r)u[i]=n;return u};var E=function(n,t,r,e,u){if(!(e instanceof t))return n.apply(r,u);var i=j(n.prototype),o=n.apply(i,u);return m.isObject(o)?o:i};m.bind=function(n,t){if(g&&n.bind===g)return g.apply(n,l.call(arguments,1));if(!m.isFunction(n))throw new TypeError("Bind must be called on a function");var r=l.call(arguments,2),e=function(){return E(n,e,t,this,r.concat(l.call(arguments)))};return e},m.partial=function(n){var t=l.call(arguments,1),r=function(){for(var e=0,u=t.length,i=Array(u),o=0;u>o;o++)i[o]=t[o]===m?arguments[e++]:t[o];for(;e<arguments.length;)i.push(arguments[e++]);return E(n,r,this,this,i)};return r},m.bindAll=function(n){var t,r,e=arguments.length;if(1>=e)throw new Error("bindAll must be passed function names");for(t=1;e>t;t++)r=arguments[t],n[r]=m.bind(n[r],n);return n},m.memoize=function(n,t){var r=function(e){var u=r.cache,i=""+(t?t.apply(this,arguments):e);return m.has(u,i)||(u[i]=n.apply(this,arguments)),u[i]};return r.cache={},r},m.delay=function(n,t){var r=l.call(arguments,2);return setTimeout(function(){return n.apply(null,r)},t)},m.defer=m.partial(m.delay,m,1),m.throttle=function(n,t,r){var e,u,i,o=null,a=0;r||(r={});var c=function(){a=r.leading===!1?0:m.now(),o=null,i=n.apply(e,u),o||(e=u=null)};return function(){var f=m.now();a||r.leading!==!1||(a=f);var l=t-(f-a);return e=this,u=arguments,0>=l||l>t?(o&&(clearTimeout(o),o=null),a=f,i=n.apply(e,u),o||(e=u=null)):o||r.trailing===!1||(o=setTimeout(c,l)),i}},m.debounce=function(n,t,r){var e,u,i,o,a,c=function(){var f=m.now()-o;t>f&&f>=0?e=setTimeout(c,t-f):(e=null,r||(a=n.apply(i,u),e||(i=u=null)))};return function(){i=this,u=arguments,o=m.now();var f=r&&!e;return e||(e=setTimeout(c,t)),f&&(a=n.apply(i,u),i=u=null),a}},m.wrap=function(n,t){return m.partial(t,n)},m.negate=function(n){return function(){return!n.apply(this,arguments)}},m.compose=function(){var n=arguments,t=n.length-1;return function(){for(var r=t,e=n[t].apply(this,arguments);r--;)e=n[r].call(this,e);return e}},m.after=function(n,t){return function(){return--n<1?t.apply(this,arguments):void 0}},m.before=function(n,t){var r;return function(){return--n>0&&(r=t.apply(this,arguments)),1>=n&&(t=null),r}},m.once=m.partial(m.before,2);var M=!{toString:null}.propertyIsEnumerable("toString"),I=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];m.keys=function(n){if(!m.isObject(n))return[];if(v)return v(n);var t=[];for(var r in n)m.has(n,r)&&t.push(r);return M&&e(n,t),t},m.allKeys=function(n){if(!m.isObject(n))return[];var t=[];for(var r in n)t.push(r);return M&&e(n,t),t},m.values=function(n){for(var t=m.keys(n),r=t.length,e=Array(r),u=0;r>u;u++)e[u]=n[t[u]];return e},m.mapObject=function(n,t,r){t=x(t,r);for(var e,u=m.keys(n),i=u.length,o={},a=0;i>a;a++)e=u[a],o[e]=t(n[e],e,n);return o},m.pairs=function(n){for(var t=m.keys(n),r=t.length,e=Array(r),u=0;r>u;u++)e[u]=[t[u],n[t[u]]];return e},m.invert=function(n){for(var t={},r=m.keys(n),e=0,u=r.length;u>e;
vendor: 7,662 bytes, lines 30-88
30e++)t[n[r[e]]]=r[e];return t},m.functions=m.methods=function(n){var t=[];for(var r in n)m.isFunction(n[r])&&t.push(r);return t.sort()},m.extend=_(m.allKeys),m.extendOwn=m.assign=_(m.keys),m.findKey=function(n,t,r){t=x(t,r);for(var e,u=m.keys(n),i=0,o=u.length;o>i;i++)if(e=u[i],t(n[e],e,n))return e},m.pick=function(n,t,r){var e,u,i={},o=n;if(null==o)return i;m.isFunction(t)?(u=m.allKeys(o),e=b(t,r)):(u=S(arguments,!1,!1,1),e=function(n,t,r){return t in r},o=Object(o));for(var a=0,c=u.length;c>a;a++){var f=u[a],l=o[f];e(l,f,o)&&(i[f]=l)}return i},m.omit=function(n,t,r){if(m.isFunction(t))t=m.negate(t);else{var e=m.map(S(arguments,!1,!1,1),String);t=function(n,t){return!m.contains(e,t)}}return m.pick(n,t,r)},m.defaults=_(m.allKeys,!0),m.create=function(n,t){var r=j(n);return t&&m.extendOwn(r,t),r},m.clone=function(n){return m.isObject(n)?m.isArray(n)?n.slice():m.extend({},n):n},m.tap=function(n,t){return t(n),n},m.isMatch=function(n,t){var r=m.keys(t),e=r.length;if(null==n)return!e;for(var u=Object(n),i=0;e>i;i++){var o=r[i];if(t[o]!==u[o]||!(o in u))return!1}return!0};var N=function(n,t,r,e){if(n===t)return 0!==n||1/n===1/t;if(null==n||null==t)return n===t;n instanceof m&&(n=n._wrapped),t instanceof m&&(t=t._wrapped);var u=s.call(n);if(u!==s.call(t))return!1;switch(u){case"[object RegExp]":case"[object String]":return""+n==""+t;case"[object Number]":return+n!==+n?+t!==+t:0===+n?1/+n===1/t:+n===+t;case"[object Date]":case"[object Boolean]":return+n===+t}var i="[object Array]"===u;if(!i){if("object"!=typeof n||"object"!=typeof t)return!1;var o=n.constructor,a=t.constructor;if(o!==a&&!(m.isFunction(o)&&o instanceof o&&m.isFunction(a)&&a instanceof a)&&"constructor"in n&&"constructor"in t)return!1}r=r||[],e=e||[];for(var c=r.length;c--;)if(r[c]===n)return e[c]===t;if(r.push(n),e.push(t),i){if(c=n.length,c!==t.length)return!1;for(;c--;)if(!N(n[c],t[c],r,e))return!1}else{var f,l=m.keys(n);if(c=l.length,m.keys(t).length!==c)return!1;for(;c--;)if(f=l[c],!m.has(t,f)||!N(n[f],t[f],r,e))return!1}return r.pop(),e.pop(),!0};m.isEqual=function(n,t){return N(n,t)},m.isEmpty=function(n){return null==n?!0:k(n)&&(m.isArray(n)||m.isString(n)||m.isArguments(n))?0===n.length:0===m.keys(n).length},m.isElement=function(n){return!(!n||1!==n.nodeType)},m.isArray=h||function(n){return"[object Array]"===s.call(n)},m.isObject=function(n){var t=typeof n;return"function"===t||"object"===t&&!!n},m.each(["Arguments","Function","String","Number","Date","RegExp","Error"],function(n){m["is"+n]=function(t){return s.call(t)==="[object "+n+"]"}}),m.isArguments(arguments)||(m.isArguments=function(n){return m.has(n,"callee")}),"function"!=typeof/./&&"object"!=typeof Int8Array&&(m.isFunction=function(n){return"function"==typeof n||!1}),m.isFinite=function(n){return isFinite(n)&&!isNaN(parseFloat(n))},m.isNaN=function(n){return m.isNumber(n)&&n!==+n},m.isBoolean=function(n){return n===!0||n===!1||"[object Boolean]"===s.call(n)},m.isNull=function(n){return null===n},m.isUndefined=function(n){return n===void 0},m.has=function(n,t){return null!=n&&p.call(n,t)},m.noConflict=function(){return u._=i,this},m.identity=function(n){return n},m.constant=function(n){return function(){return n}},m.noop=function(){},m.property=w,m.propertyOf=function(n){return null==n?function(){}:function(t){return n[t]}},m.matcher=m.matches=function(n){return n=m.extendOwn({},n),function(t){return m.isMatch(t,n)}},m.times=function(n,t,r){var e=Array(Math.max(0,n));t=b(t,r,1);for(var u=0;n>u;u++)e[u]=t(u);return e},m.random=function(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))},m.now=Date.now||function(){return(new Date).getTime()};var B={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},T=m.invert(B),R=function(n){var t=function(t){return n[t]},r="(?:"+m.keys(n).join("|")+")",e=RegExp(r),u=RegExp(r,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,t):n}};m.escape=R(B),m.unescape=R(T),m.result=function(n,t,r){var e=null==n?void 0:n[t];return e===void 0&&(e=r),m.isFunction(e)?e.call(n):e};var q=0;m.uniqueId=function(n){var t=++q+"";return n?n+t:t},m.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var K=/(.)^/,z={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},D=/\\|'|\r|\n|\u2028|\u2029/g,L=function(n){return"\\"+z[n]};m.template=function(n,t,r){!t&&r&&(t=r),t=m.defaults({},t,m.templateSettings);var e=RegExp([(t.escape||K).source,(t.interpolate||K).source,(t.evaluate||K).source].join("|")+"|$","g"),u=0,i="__p+='";n.replace(e,function(t,r,e,o,a){return i+=n.slice(u,a).replace(D,L),u=a+t.length,r?i+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'":e?i+="'+\n((__t=("+e+"))==null?'':__t)+\n'":o&&(i+="';\n"+o+"\n__p+='"),t}),i+="';\n",t.variable||(i="with(obj||{}){\n"+i+"}\n"),i="var __t,__p='',__j=Array.prototype.join,"+"print=function(){__p+=__j.call(arguments,'');};\n"+i+"return __p;\n";try{var o=new Function(t.variable||"obj","_",i)}catch(a){throw a.source=i,a}var c=function(n){return o.call(this,n,m)},f=t.variable||"obj";return c.source="function("+f+"){\n"+i+"}",c},m.chain=function(n){var t=m(n);return t._chain=!0,t};var P=function(n,t){return n._chain?m(t).chain():t};m.mixin=function(n){m.each(m.functions(n),function(t){var r=m[t]=n[t];m.prototype[t]=function(){var n=[this._wrapped];return f.apply(n,arguments),P(this,r.apply(m,n))}})},m.mixin(m),m.each(["pop","push","reverse","shift","sort","splice","unshift"],function(n){var t=o[n];m.prototype[n]=function(){var r=this._wrapped;return t.apply(r,arguments),"shift"!==n&&"splice"!==n||0!==r.length||delete r[0],P(this,r)}}),m.each(["concat","join","slice"],function(n){var t=o[n];m.prototype[n]=function(){return P(this,t.apply(this._wrapped,arguments))}}),m.prototype.value=function(){return this._wrapped},m.prototype.valueOf=m.prototype.toJSON=m.prototype.value,m.prototype.toString=function(){return""+this._wrapped},"function"==typeof define&&define.amd&&define("underscore",[],function(){return m})}).call(this);
31//# sourceMappingURL=underscore-min.map;
32//! moment.js
33//! version : 2.20.1
34//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
35//! license : MIT
36//! momentjs.com
37
38;(function (global, factory) {
39    typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
40    typeof define === 'function' && define.amd ? define(factory) :
41    global.moment = factory()
42}(this, (function () { 'use strict';
43
44var hookCallback;
45
46function hooks () {
47    return hookCallback.apply(null, arguments);
48}
49
50// This is done to register the method called with moment()
51// without creating circular dependencies.
52function setHookCallback (callback) {
53    hookCallback = callback;
54}
55
56function isArray(input) {
57    return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';
58}
59
60function isObject(input) {
61    // IE8 will treat undefined and null as object if it wasn't for
62    // input != null
63    return input != null && Object.prototype.toString.call(input) === '[object Object]';
64}
65
66function isObjectEmpty(obj) {
67    if (Object.getOwnPropertyNames) {
68        return (Object.getOwnPropertyNames(obj).length === 0);
69    } else {
70        var k;
71        for (k in obj) {
72            if (obj.hasOwnProperty(k)) {
73                return false;
74            }
75        }
76        return true;
77    }
78}
79
80function isUndefined(input) {
81    return input === void 0;
82}
83
84function isNumber(input) {
85    return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';
86}
87
88function isDate(input) {
vendor: 22,993 bytes, lines 89-929
89    return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';
90}
91
92function map(arr, fn) {
93    var res = [], i;
94    for (i = 0; i < arr.length; ++i) {
95        res.push(fn(arr[i], i));
96    }
97    return res;
98}
99
100function hasOwnProp(a, b) {
101    return Object.prototype.hasOwnProperty.call(a, b);
102}
103
104function extend(a, b) {
105    for (var i in b) {
106        if (hasOwnProp(b, i)) {
107            a[i] = b[i];
108        }
109    }
110
111    if (hasOwnProp(b, 'toString')) {
112        a.toString = b.toString;
113    }
114
115    if (hasOwnProp(b, 'valueOf')) {
116        a.valueOf = b.valueOf;
117    }
118
119    return a;
120}
121
122function createUTC (input, format, locale, strict) {
123    return createLocalOrUTC(input, format, locale, strict, true).utc();
124}
125
126function defaultParsingFlags() {
127    // We need to deep clone this object.
128    return {
129        empty           : false,
130        unusedTokens    : [],
131        unusedInput     : [],
132        overflow        : -2,
133        charsLeftOver   : 0,
134        nullInput       : false,
135        invalidMonth    : null,
136        invalidFormat   : false,
137        userInvalidated : false,
138        iso             : false,
139        parsedDateParts : [],
140        meridiem        : null,
141        rfc2822         : false,
142        weekdayMismatch : false
143    };
144}
145
146function getParsingFlags(m) {
147    if (m._pf == null) {
148        m._pf = defaultParsingFlags();
149    }
150    return m._pf;
151}
152
153var some;
154if (Array.prototype.some) {
155    some = Array.prototype.some;
156} else {
157    some = function (fun) {
158        var t = Object(this);
159        var len = t.length >>> 0;
160
161        for (var i = 0; i < len; i++) {
162            if (i in t && fun.call(this, t[i], i, t)) {
163                return true;
164            }
165        }
166
167        return false;
168    };
169}
170
171function isValid(m) {
172    if (m._isValid == null) {
173        var flags = getParsingFlags(m);
174        var parsedParts = some.call(flags.parsedDateParts, function (i) {
175            return i != null;
176        });
177        var isNowValid = !isNaN(m._d.getTime()) &&
178            flags.overflow < 0 &&
179            !flags.empty &&
180            !flags.invalidMonth &&
181            !flags.invalidWeekday &&
182            !flags.weekdayMismatch &&
183            !flags.nullInput &&
184            !flags.invalidFormat &&
185            !flags.userInvalidated &&
186            (!flags.meridiem || (flags.meridiem && parsedParts));
187
188        if (m._strict) {
189            isNowValid = isNowValid &&
190                flags.charsLeftOver === 0 &&
191                flags.unusedTokens.length === 0 &&
192                flags.bigHour === undefined;
193        }
194
195        if (Object.isFrozen == null || !Object.isFrozen(m)) {
196            m._isValid = isNowValid;
197        }
198        else {
199            return isNowValid;
200        }
201    }
202    return m._isValid;
203}
204
205function createInvalid (flags) {
206    var m = createUTC(NaN);
207    if (flags != null) {
208        extend(getParsingFlags(m), flags);
209    }
210    else {
211        getParsingFlags(m).userInvalidated = true;
212    }
213
214    return m;
215}
216
217// Plugins that add properties should also add the key here (null value),
218// so we can properly clone ourselves.
219var momentProperties = hooks.momentProperties = [];
220
221function copyConfig(to, from) {
222    var i, prop, val;
223
224    if (!isUndefined(from._isAMomentObject)) {
225        to._isAMomentObject = from._isAMomentObject;
226    }
227    if (!isUndefined(from._i)) {
228        to._i = from._i;
229    }
230    if (!isUndefined(from._f)) {
231        to._f = from._f;
232    }
233    if (!isUndefined(from._l)) {
234        to._l = from._l;
235    }
236    if (!isUndefined(from._strict)) {
237        to._strict = from._strict;
238    }
239    if (!isUndefined(from._tzm)) {
240        to._tzm = from._tzm;
241    }
242    if (!isUndefined(from._isUTC)) {
243        to._isUTC = from._isUTC;
244    }
245    if (!isUndefined(from._offset)) {
246        to._offset = from._offset;
247    }
248    if (!isUndefined(from._pf)) {
249        to._pf = getParsingFlags(from);
250    }
251    if (!isUndefined(from._locale)) {
252        to._locale = from._locale;
253    }
254
255    if (momentProperties.length > 0) {
256        for (i = 0; i < momentProperties.length; i++) {
257            prop = momentProperties[i];
258            val = from[prop];
259            if (!isUndefined(val)) {
260                to[prop] = val;
261            }
262        }
263    }
264
265    return to;
266}
267
268var updateInProgress = false;
269
270// Moment prototype object
271function Moment(config) {
272    copyConfig(this, config);
273    this._d = new Date(config._d != null ? config._d.getTime() : NaN);
274    if (!this.isValid()) {
275        this._d = new Date(NaN);
276    }
277    // Prevent infinite loop in case updateOffset creates new moment
278    // objects.
279    if (updateInProgress === false) {
280        updateInProgress = true;
281        hooks.updateOffset(this);
282        updateInProgress = false;
283    }
284}
285
286function isMoment (obj) {
287    return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);
288}
289
290function absFloor (number) {
291    if (number < 0) {
292        // -0 -> 0
293        return Math.ceil(number) || 0;
294    } else {
295        return Math.floor(number);
296    }
297}
298
299function toInt(argumentForCoercion) {
300    var coercedNumber = +argumentForCoercion,
301        value = 0;
302
303    if (coercedNumber !== 0 && isFinite(coercedNumber)) {
304        value = absFloor(coercedNumber);
305    }
306
307    return value;
308}
309
310// compare two arrays, return the number of differences
311function compareArrays(array1, array2, dontConvert) {
312    var len = Math.min(array1.length, array2.length),
313        lengthDiff = Math.abs(array1.length - array2.length),
314        diffs = 0,
315        i;
316    for (i = 0; i < len; i++) {
317        if ((dontConvert && array1[i] !== array2[i]) ||
318            (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {
319            diffs++;
320        }
321    }
322    return diffs + lengthDiff;
323}
324
325function warn(msg) {
326    if (hooks.suppressDeprecationWarnings === false &&
327            (typeof console !==  'undefined') && console.warn) {
328        console.warn('Deprecation warning: ' + msg);
329    }
330}
331
332function deprecate(msg, fn) {
333    var firstTime = true;
334
335    return extend(function () {
336        if (hooks.deprecationHandler != null) {
337            hooks.deprecationHandler(null, msg);
338        }
339        if (firstTime) {
340            var args = [];
341            var arg;
342            for (var i = 0; i < arguments.length; i++) {
343                arg = '';
344                if (typeof arguments[i] === 'object') {
345                    arg += '\n[' + i + '] ';
346                    for (var key in arguments[0]) {
347                        arg += key + ': ' + arguments[0][key] + ', ';
348                    }
349                    arg = arg.slice(0, -2); // Remove trailing comma and space
350                } else {
351                    arg = arguments[i];
352                }
353                args.push(arg);
354            }
355            warn(msg + '\nArguments: ' + Array.prototype.slice.call(args).join('') + '\n' + (new Error()).stack);
356            firstTime = false;
357        }
358        return fn.apply(this, arguments);
359    }, fn);
360}
361
362var deprecations = {};
363
364function deprecateSimple(name, msg) {
365    if (hooks.deprecationHandler != null) {
366        hooks.deprecationHandler(name, msg);
367    }
368    if (!deprecations[name]) {
369        warn(msg);
370        deprecations[name] = true;
371    }
372}
373
374hooks.suppressDeprecationWarnings = false;
375hooks.deprecationHandler = null;
376
377function isFunction(input) {
378    return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';
379}
380
381function set (config) {
382    var prop, i;
383    for (i in config) {
384        prop = config[i];
385        if (isFunction(prop)) {
386            this[i] = prop;
387        } else {
388            this['_' + i] = prop;
389        }
390    }
391    this._config = config;
392    // Lenient ordinal parsing accepts just a number in addition to
393    // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.
394    // TODO: Remove "ordinalParse" fallback in next major release.
395    this._dayOfMonthOrdinalParseLenient = new RegExp(
396        (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +
397            '|' + (/\d{1,2}/).source);
398}
399
400function mergeConfigs(parentConfig, childConfig) {
401    var res = extend({}, parentConfig), prop;
402    for (prop in childConfig) {
403        if (hasOwnProp(childConfig, prop)) {
404            if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {
405                res[prop] = {};
406                extend(res[prop], parentConfig[prop]);
407                extend(res[prop], childConfig[prop]);
408            } else if (childConfig[prop] != null) {
409                res[prop] = childConfig[prop];
410            } else {
411                delete res[prop];
412            }
413        }
414    }
415    for (prop in parentConfig) {
416        if (hasOwnProp(parentConfig, prop) &&
417                !hasOwnProp(childConfig, prop) &&
418                isObject(parentConfig[prop])) {
419            // make sure changes to properties don't modify parent config
420            res[prop] = extend({}, res[prop]);
421        }
422    }
423    return res;
424}
425
426function Locale(config) {
427    if (config != null) {
428        this.set(config);
429    }
430}
431
432var keys;
433
434if (Object.keys) {
435    keys = Object.keys;
436} else {
437    keys = function (obj) {
438        var i, res = [];
439        for (i in obj) {
440            if (hasOwnProp(obj, i)) {
441                res.push(i);
442            }
443        }
444        return res;
445    };
446}
447
448var defaultCalendar = {
449    sameDay : '[Today at] LT',
450    nextDay : '[Tomorrow at] LT',
451    nextWeek : 'dddd [at] LT',
452    lastDay : '[Yesterday at] LT',
453    lastWeek : '[Last] dddd [at] LT',
454    sameElse : 'L'
455};
456
457function calendar (key, mom, now) {
458    var output = this._calendar[key] || this._calendar['sameElse'];
459    return isFunction(output) ? output.call(mom, now) : output;
460}
461
462var defaultLongDateFormat = {
463    LTS  : 'h:mm:ss A',
464    LT   : 'h:mm A',
465    L    : 'MM/DD/YYYY',
466    LL   : 'MMMM D, YYYY',
467    LLL  : 'MMMM D, YYYY h:mm A',
468    LLLL : 'dddd, MMMM D, YYYY h:mm A'
469};
470
471function longDateFormat (key) {
472    var format = this._longDateFormat[key],
473        formatUpper = this._longDateFormat[key.toUpperCase()];
474
475    if (format || !formatUpper) {
476        return format;
477    }
478
479    this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {
480        return val.slice(1);
481    });
482
483    return this._longDateFormat[key];
484}
485
486var defaultInvalidDate = 'Invalid date';
487
488function invalidDate () {
489    return this._invalidDate;
490}
491
492var defaultOrdinal = '%d';
493var defaultDayOfMonthOrdinalParse = /\d{1,2}/;
494
495function ordinal (number) {
496    return this._ordinal.replace('%d', number);
497}
498
499var defaultRelativeTime = {
500    future : 'in %s',
501    past   : '%s ago',
502    s  : 'a few seconds',
503    ss : '%d seconds',
504    m  : 'a minute',
505    mm : '%d minutes',
506    h  : 'an hour',
507    hh : '%d hours',
508    d  : 'a day',
509    dd : '%d days',
510    M  : 'a month',
511    MM : '%d months',
512    y  : 'a year',
513    yy : '%d years'
514};
515
516function relativeTime (number, withoutSuffix, string, isFuture) {
517    var output = this._relativeTime[string];
518    return (isFunction(output)) ?
519        output(number, withoutSuffix, string, isFuture) :
520        output.replace(/%d/i, number);
521}
522
523function pastFuture (diff, output) {
524    var format = this._relativeTime[diff > 0 ? 'future' : 'past'];
525    return isFunction(format) ? format(output) : format.replace(/%s/i, output);
526}
527
528var aliases = {};
529
530function addUnitAlias (unit, shorthand) {
531    var lowerCase = unit.toLowerCase();
532    aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;
533}
534
535function normalizeUnits(units) {
536    return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;
537}
538
539function normalizeObjectUnits(inputObject) {
540    var normalizedInput = {},
541        normalizedProp,
542        prop;
543
544    for (prop in inputObject) {
545        if (hasOwnProp(inputObject, prop)) {
546            normalizedProp = normalizeUnits(prop);
547            if (normalizedProp) {
548                normalizedInput[normalizedProp] = inputObject[prop];
549            }
550        }
551    }
552
553    return normalizedInput;
554}
555
556var priorities = {};
557
558function addUnitPriority(unit, priority) {
559    priorities[unit] = priority;
560}
561
562function getPrioritizedUnits(unitsObj) {
563    var units = [];
564    for (var u in unitsObj) {
565        units.push({unit: u, priority: priorities[u]});
566    }
567    units.sort(function (a, b) {
568        return a.priority - b.priority;
569    });
570    return units;
571}
572
573function zeroFill(number, targetLength, forceSign) {
574    var absNumber = '' + Math.abs(number),
575        zerosToFill = targetLength - absNumber.length,
576        sign = number >= 0;
577    return (sign ? (forceSign ? '+' : '') : '-') +
578        Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;
579}
580
581var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;
582
583var localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g;
584
585var formatFunctions = {};
586
587var formatTokenFunctions = {};
588
589// token:    'M'
590// padded:   ['MM', 2]
591// ordinal:  'Mo'
592// callback: function () { this.month() + 1 }
593function addFormatToken (token, padded, ordinal, callback) {
594    var func = callback;
595    if (typeof callback === 'string') {
596        func = function () {
597            return this[callback]();
598        };
599    }
600    if (token) {
601        formatTokenFunctions[token] = func;
602    }
603    if (padded) {
604        formatTokenFunctions[padded[0]] = function () {
605            return zeroFill(func.apply(this, arguments), padded[1], padded[2]);
606        };
607    }
608    if (ordinal) {
609        formatTokenFunctions[ordinal] = function () {
610            return this.localeData().ordinal(func.apply(this, arguments), token);
611        };
612    }
613}
614
615function removeFormattingTokens(input) {
616    if (input.match(/\[[\s\S]/)) {
617        return input.replace(/^\[|\]$/g, '');
618    }
619    return input.replace(/\\/g, '');
620}
621
622function makeFormatFunction(format) {
623    var array = format.match(formattingTokens), i, length;
624
625    for (i = 0, length = array.length; i < length; i++) {
626        if (formatTokenFunctions[array[i]]) {
627            array[i] = formatTokenFunctions[array[i]];
628        } else {
629            array[i] = removeFormattingTokens(array[i]);
630        }
631    }
632
633    return function (mom) {
634        var output = '', i;
635        for (i = 0; i < length; i++) {
636            output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];
637        }
638        return output;
639    };
640}
641
642// format date using native date object
643function formatMoment(m, format) {
644    if (!m.isValid()) {
645        return m.localeData().invalidDate();
646    }
647
648    format = expandFormat(format, m.localeData());
649    formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);
650
651    return formatFunctions[format](m);
652}
653
654function expandFormat(format, locale) {
655    var i = 5;
656
657    function replaceLongDateFormatTokens(input) {
658        return locale.longDateFormat(input) || input;
659    }
660
661    localFormattingTokens.lastIndex = 0;
662    while (i >= 0 && localFormattingTokens.test(format)) {
663        format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);
664        localFormattingTokens.lastIndex = 0;
665        i -= 1;
666    }
667
668    return format;
669}
670
671var match1         = /\d/;            //       0 - 9
672var match2         = /\d\d/;          //      00 - 99
673var match3         = /\d{3}/;         //     000 - 999
674var match4         = /\d{4}/;         //    0000 - 9999
675var match6         = /[+-]?\d{6}/;    // -999999 - 999999
676var match1to2      = /\d\d?/;         //       0 - 99
677var match3to4      = /\d\d\d\d?/;     //     999 - 9999
678var match5to6      = /\d\d\d\d\d\d?/; //   99999 - 999999
679var match1to3      = /\d{1,3}/;       //       0 - 999
680var match1to4      = /\d{1,4}/;       //       0 - 9999
681var match1to6      = /[+-]?\d{1,6}/;  // -999999 - 999999
682
683var matchUnsigned  = /\d+/;           //       0 - inf
684var matchSigned    = /[+-]?\d+/;      //    -inf - inf
685
686var matchOffset    = /Z|[+-]\d\d:?\d\d/gi; // +00:00 -00:00 +0000 -0000 or Z
687var matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z
688
689var matchTimestamp = /[+-]?\d+(\.\d{1,3})?/; // 123456789 123456789.123
690
691// any word (or two) characters or numbers including two/three word month in arabic.
692// includes scottish gaelic two word and hyphenated months
693var matchWord = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i;
694
695
696var regexes = {};
697
698function addRegexToken (token, regex, strictRegex) {
699    regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {
700        return (isStrict && strictRegex) ? strictRegex : regex;
701    };
702}
703
704function getParseRegexForToken (token, config) {
705    if (!hasOwnProp(regexes, token)) {
706        return new RegExp(unescapeFormat(token));
707    }
708
709    return regexes[token](config._strict, config._locale);
710}
711
712// Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
713function unescapeFormat(s) {
714    return regexEscape(s.replace('\\', '').replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) {
715        return p1 || p2 || p3 || p4;
716    }));
717}
718
719function regexEscape(s) {
720    return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
721}
722
723var tokens = {};
724
725function addParseToken (token, callback) {
726    var i, func = callback;
727    if (typeof token === 'string') {
728        token = [token];
729    }
730    if (isNumber(callback)) {
731        func = function (input, array) {
732            array[callback] = toInt(input);
733        };
734    }
735    for (i = 0; i < token.length; i++) {
736        tokens[token[i]] = func;
737    }
738}
739
740function addWeekParseToken (token, callback) {
741    addParseToken(token, function (input, array, config, token) {
742        config._w = config._w || {};
743        callback(input, config._w, config, token);
744    });
745}
746
747function addTimeToArrayFromToken(token, input, config) {
748    if (input != null && hasOwnProp(tokens, token)) {
749        tokens[token](input, config._a, config, token);
750    }
751}
752
753var YEAR = 0;
754var MONTH = 1;
755var DATE = 2;
756var HOUR = 3;
757var MINUTE = 4;
758var SECOND = 5;
759var MILLISECOND = 6;
760var WEEK = 7;
761var WEEKDAY = 8;
762
763// FORMATTING
764
765addFormatToken('Y', 0, 0, function () {
766    var y = this.year();
767    return y <= 9999 ? '' + y : '+' + y;
768});
769
770addFormatToken(0, ['YY', 2], 0, function () {
771    return this.year() % 100;
772});
773
774addFormatToken(0, ['YYYY',   4],       0, 'year');
775addFormatToken(0, ['YYYYY',  5],       0, 'year');
776addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');
777
778// ALIASES
779
780addUnitAlias('year', 'y');
781
782// PRIORITIES
783
784addUnitPriority('year', 1);
785
786// PARSING
787
788addRegexToken('Y',      matchSigned);
789addRegexToken('YY',     match1to2, match2);
790addRegexToken('YYYY',   match1to4, match4);
791addRegexToken('YYYYY',  match1to6, match6);
792addRegexToken('YYYYYY', match1to6, match6);
793
794addParseToken(['YYYYY', 'YYYYYY'], YEAR);
795addParseToken('YYYY', function (input, array) {
796    array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);
797});
798addParseToken('YY', function (input, array) {
799    array[YEAR] = hooks.parseTwoDigitYear(input);
800});
801addParseToken('Y', function (input, array) {
802    array[YEAR] = parseInt(input, 10);
803});
804
805// HELPERS
806
807function daysInYear(year) {
808    return isLeapYear(year) ? 366 : 365;
809}
810
811function isLeapYear(year) {
812    return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
813}
814
815// HOOKS
816
817hooks.parseTwoDigitYear = function (input) {
818    return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
819};
820
821// MOMENTS
822
823var getSetYear = makeGetSet('FullYear', true);
824
825function getIsLeapYear () {
826    return isLeapYear(this.year());
827}
828
829function makeGetSet (unit, keepTime) {
830    return function (value) {
831        if (value != null) {
832            set$1(this, unit, value);
833            hooks.updateOffset(this, keepTime);
834            return this;
835        } else {
836            return get(this, unit);
837        }
838    };
839}
840
841function get (mom, unit) {
842    return mom.isValid() ?
843        mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;
844}
845
846function set$1 (mom, unit, value) {
847    if (mom.isValid() && !isNaN(value)) {
848        if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {
849            mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));
850        }
851        else {
852            mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);
853        }
854    }
855}
856
857// MOMENTS
858
859function stringGet (units) {
860    units = normalizeUnits(units);
861    if (isFunction(this[units])) {
862        return this[units]();
863    }
864    return this;
865}
866
867
868function stringSet (units, value) {
869    if (typeof units === 'object') {
870        units = normalizeObjectUnits(units);
871        var prioritized = getPrioritizedUnits(units);
872        for (var i = 0; i < prioritized.length; i++) {
873            this[prioritized[i].unit](units[prioritized[i].unit]);
874        }
875    } else {
876        units = normalizeUnits(units);
877        if (isFunction(this[units])) {
878            return this[units](value);
879        }
880    }
881    return this;
882}
883
884function mod(n, x) {
885    return ((n % x) + x) % x;
886}
887
888var indexOf;
889
890if (Array.prototype.indexOf) {
891    indexOf = Array.prototype.indexOf;
892} else {
893    indexOf = function (o) {
894        // I know
895        var i;
896        for (i = 0; i < this.length; ++i) {
897            if (this[i] === o) {
898                return i;
899            }
900        }
901        return -1;
902    };
903}
904
905function daysInMonth(year, month) {
906    if (isNaN(year) || isNaN(month)) {
907        return NaN;
908    }
909    var modMonth = mod(month, 12);
910    year += (month - modMonth) / 12;
911    return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);
912}
913
914// FORMATTING
915
916addFormatToken('M', ['MM', 2], 'Mo', function () {
917    return this.month() + 1;
918});
919
920addFormatToken('MMM', 0, 0, function (format) {
921    return this.localeData().monthsShort(this, format);
922});
923
924addFormatToken('MMMM', 0, 0, function (format) {
925    return this.localeData().months(this, format);
926});
927
928// ALIASES
929
vendor: 15,493 bytes, lines 930-1436
930addUnitAlias('month', 'M');
931
932// PRIORITY
933
934addUnitPriority('month', 8);
935
936// PARSING
937
938addRegexToken('M',    match1to2);
939addRegexToken('MM',   match1to2, match2);
940addRegexToken('MMM',  function (isStrict, locale) {
941    return locale.monthsShortRegex(isStrict);
942});
943addRegexToken('MMMM', function (isStrict, locale) {
944    return locale.monthsRegex(isStrict);
945});
946
947addParseToken(['M', 'MM'], function (input, array) {
948    array[MONTH] = toInt(input) - 1;
949});
950
951addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {
952    var month = config._locale.monthsParse(input, token, config._strict);
953    // if we didn't find a month name, mark the date as invalid.
954    if (month != null) {
955        array[MONTH] = month;
956    } else {
957        getParsingFlags(config).invalidMonth = input;
958    }
959});
960
961// LOCALES
962
963var MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/;
964var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');
965function localeMonths (m, format) {
966    if (!m) {
967        return isArray(this._months) ? this._months :
968            this._months['standalone'];
969    }
970    return isArray(this._months) ? this._months[m.month()] :
971        this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];
972}
973
974var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');
975function localeMonthsShort (m, format) {
976    if (!m) {
977        return isArray(this._monthsShort) ? this._monthsShort :
978            this._monthsShort['standalone'];
979    }
980    return isArray(this._monthsShort) ? this._monthsShort[m.month()] :
981        this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];
982}
983
984function handleStrictParse(monthName, format, strict) {
985    var i, ii, mom, llc = monthName.toLocaleLowerCase();
986    if (!this._monthsParse) {
987        // this is not used
988        this._monthsParse = [];
989        this._longMonthsParse = [];
990        this._shortMonthsParse = [];
991        for (i = 0; i < 12; ++i) {
992            mom = createUTC([2000, i]);
993            this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();
994            this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();
995        }
996    }
997
998    if (strict) {
999        if (format === 'MMM') {
1000            ii = indexOf.call(this._shortMonthsParse, llc);
1001            return ii !== -1 ? ii : null;
1002        } else {
1003            ii = indexOf.call(this._longMonthsParse, llc);
1004            return ii !== -1 ? ii : null;
1005        }
1006    } else {
1007        if (format === 'MMM') {
1008            ii = indexOf.call(this._shortMonthsParse, llc);
1009            if (ii !== -1) {
1010                return ii;
1011            }
1012            ii = indexOf.call(this._longMonthsParse, llc);
1013            return ii !== -1 ? ii : null;
1014        } else {
1015            ii = indexOf.call(this._longMonthsParse, llc);
1016            if (ii !== -1) {
1017                return ii;
1018            }
1019            ii = indexOf.call(this._shortMonthsParse, llc);
1020            return ii !== -1 ? ii : null;
1021        }
1022    }
1023}
1024
1025function localeMonthsParse (monthName, format, strict) {
1026    var i, mom, regex;
1027
1028    if (this._monthsParseExact) {
1029        return handleStrictParse.call(this, monthName, format, strict);
1030    }
1031
1032    if (!this._monthsParse) {
1033        this._monthsParse = [];
1034        this._longMonthsParse = [];
1035        this._shortMonthsParse = [];
1036    }
1037
1038    // TODO: add sorting
1039    // Sorting makes sure if one month (or abbr) is a prefix of another
1040    // see sorting in computeMonthsParse
1041    for (i = 0; i < 12; i++) {
1042        // make the regex if we don't have it already
1043        mom = createUTC([2000, i]);
1044        if (strict && !this._longMonthsParse[i]) {
1045            this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');
1046            this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');
1047        }
1048        if (!strict && !this._monthsParse[i]) {
1049            regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');
1050            this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');
1051        }
1052        // test the regex
1053        if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {
1054            return i;
1055        } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {
1056            return i;
1057        } else if (!strict && this._monthsParse[i].test(monthName)) {
1058            return i;
1059        }
1060    }
1061}
1062
1063// MOMENTS
1064
1065function setMonth (mom, value) {
1066    var dayOfMonth;
1067
1068    if (!mom.isValid()) {
1069        // No op
1070        return mom;
1071    }
1072
1073    if (typeof value === 'string') {
1074        if (/^\d+$/.test(value)) {
1075            value = toInt(value);
1076        } else {
1077            value = mom.localeData().monthsParse(value);
1078            // TODO: Another silent failure?
1079            if (!isNumber(value)) {
1080                return mom;
1081            }
1082        }
1083    }
1084
1085    dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));
1086    mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);
1087    return mom;
1088}
1089
1090function getSetMonth (value) {
1091    if (value != null) {
1092        setMonth(this, value);
1093        hooks.updateOffset(this, true);
1094        return this;
1095    } else {
1096        return get(this, 'Month');
1097    }
1098}
1099
1100function getDaysInMonth () {
1101    return daysInMonth(this.year(), this.month());
1102}
1103
1104var defaultMonthsShortRegex = matchWord;
1105function monthsShortRegex (isStrict) {
1106    if (this._monthsParseExact) {
1107        if (!hasOwnProp(this, '_monthsRegex')) {
1108            computeMonthsParse.call(this);
1109        }
1110        if (isStrict) {
1111            return this._monthsShortStrictRegex;
1112        } else {
1113            return this._monthsShortRegex;
1114        }
1115    } else {
1116        if (!hasOwnProp(this, '_monthsShortRegex')) {
1117            this._monthsShortRegex = defaultMonthsShortRegex;
1118        }
1119        return this._monthsShortStrictRegex && isStrict ?
1120            this._monthsShortStrictRegex : this._monthsShortRegex;
1121    }
1122}
1123
1124var defaultMonthsRegex = matchWord;
1125function monthsRegex (isStrict) {
1126    if (this._monthsParseExact) {
1127        if (!hasOwnProp(this, '_monthsRegex')) {
1128            computeMonthsParse.call(this);
1129        }
1130        if (isStrict) {
1131            return this._monthsStrictRegex;
1132        } else {
1133            return this._monthsRegex;
1134        }
1135    } else {
1136        if (!hasOwnProp(this, '_monthsRegex')) {
1137            this._monthsRegex = defaultMonthsRegex;
1138        }
1139        return this._monthsStrictRegex && isStrict ?
1140            this._monthsStrictRegex : this._monthsRegex;
1141    }
1142}
1143
1144function computeMonthsParse () {
1145    function cmpLenRev(a, b) {
1146        return b.length - a.length;
1147    }
1148
1149    var shortPieces = [], longPieces = [], mixedPieces = [],
1150        i, mom;
1151    for (i = 0; i < 12; i++) {
1152        // make the regex if we don't have it already
1153        mom = createUTC([2000, i]);
1154        shortPieces.push(this.monthsShort(mom, ''));
1155        longPieces.push(this.months(mom, ''));
1156        mixedPieces.push(this.months(mom, ''));
1157        mixedPieces.push(this.monthsShort(mom, ''));
1158    }
1159    // Sorting makes sure if one month (or abbr) is a prefix of another it
1160    // will match the longer piece.
1161    shortPieces.sort(cmpLenRev);
1162    longPieces.sort(cmpLenRev);
1163    mixedPieces.sort(cmpLenRev);
1164    for (i = 0; i < 12; i++) {
1165        shortPieces[i] = regexEscape(shortPieces[i]);
1166        longPieces[i] = regexEscape(longPieces[i]);
1167    }
1168    for (i = 0; i < 24; i++) {
1169        mixedPieces[i] = regexEscape(mixedPieces[i]);
1170    }
1171
1172    this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
1173    this._monthsShortRegex = this._monthsRegex;
1174    this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');
1175    this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');
1176}
1177
1178function createDate (y, m, d, h, M, s, ms) {
1179    // can't just apply() to create a date:
1180    // https://stackoverflow.com/q/181348
1181    var date = new Date(y, m, d, h, M, s, ms);
1182
1183    // the date constructor remaps years 0-99 to 1900-1999
1184    if (y < 100 && y >= 0 && isFinite(date.getFullYear())) {
1185        date.setFullYear(y);
1186    }
1187    return date;
1188}
1189
1190function createUTCDate (y) {
1191    var date = new Date(Date.UTC.apply(null, arguments));
1192
1193    // the Date.UTC function remaps years 0-99 to 1900-1999
1194    if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) {
1195        date.setUTCFullYear(y);
1196    }
1197    return date;
1198}
1199
1200// start-of-first-week - start-of-year
1201function firstWeekOffset(year, dow, doy) {
1202    var // first-week day -- which january is always in the first week (4 for iso, 1 for other)
1203        fwd = 7 + dow - doy,
1204        // first-week day local weekday -- which local weekday is fwd
1205        fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;
1206
1207    return -fwdlw + fwd - 1;
1208}
1209
1210// https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
1211function dayOfYearFromWeeks(year, week, weekday, dow, doy) {
1212    var localWeekday = (7 + weekday - dow) % 7,
1213        weekOffset = firstWeekOffset(year, dow, doy),
1214        dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,
1215        resYear, resDayOfYear;
1216
1217    if (dayOfYear <= 0) {
1218        resYear = year - 1;
1219        resDayOfYear = daysInYear(resYear) + dayOfYear;
1220    } else if (dayOfYear > daysInYear(year)) {
1221        resYear = year + 1;
1222        resDayOfYear = dayOfYear - daysInYear(year);
1223    } else {
1224        resYear = year;
1225        resDayOfYear = dayOfYear;
1226    }
1227
1228    return {
1229        year: resYear,
1230        dayOfYear: resDayOfYear
1231    };
1232}
1233
1234function weekOfYear(mom, dow, doy) {
1235    var weekOffset = firstWeekOffset(mom.year(), dow, doy),
1236        week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,
1237        resWeek, resYear;
1238
1239    if (week < 1) {
1240        resYear = mom.year() - 1;
1241        resWeek = week + weeksInYear(resYear, dow, doy);
1242    } else if (week > weeksInYear(mom.year(), dow, doy)) {
1243        resWeek = week - weeksInYear(mom.year(), dow, doy);
1244        resYear = mom.year() + 1;
1245    } else {
1246        resYear = mom.year();
1247        resWeek = week;
1248    }
1249
1250    return {
1251        week: resWeek,
1252        year: resYear
1253    };
1254}
1255
1256function weeksInYear(year, dow, doy) {
1257    var weekOffset = firstWeekOffset(year, dow, doy),
1258        weekOffsetNext = firstWeekOffset(year + 1, dow, doy);
1259    return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;
1260}
1261
1262// FORMATTING
1263
1264addFormatToken('w', ['ww', 2], 'wo', 'week');
1265addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');
1266
1267// ALIASES
1268
1269addUnitAlias('week', 'w');
1270addUnitAlias('isoWeek', 'W');
1271
1272// PRIORITIES
1273
1274addUnitPriority('week', 5);
1275addUnitPriority('isoWeek', 5);
1276
1277// PARSING
1278
1279addRegexToken('w',  match1to2);
1280addRegexToken('ww', match1to2, match2);
1281addRegexToken('W',  match1to2);
1282addRegexToken('WW', match1to2, match2);
1283
1284addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {
1285    week[token.substr(0, 1)] = toInt(input);
1286});
1287
1288// HELPERS
1289
1290// LOCALES
1291
1292function localeWeek (mom) {
1293    return weekOfYear(mom, this._week.dow, this._week.doy).week;
1294}
1295
1296var defaultLocaleWeek = {
1297    dow : 0, // Sunday is the first day of the week.
1298    doy : 6  // The week that contains Jan 1st is the first week of the year.
1299};
1300
1301function localeFirstDayOfWeek () {
1302    return this._week.dow;
1303}
1304
1305function localeFirstDayOfYear () {
1306    return this._week.doy;
1307}
1308
1309// MOMENTS
1310
1311function getSetWeek (input) {
1312    var week = this.localeData().week(this);
1313    return input == null ? week : this.add((input - week) * 7, 'd');
1314}
1315
1316function getSetISOWeek (input) {
1317    var week = weekOfYear(this, 1, 4).week;
1318    return input == null ? week : this.add((input - week) * 7, 'd');
1319}
1320
1321// FORMATTING
1322
1323addFormatToken('d', 0, 'do', 'day');
1324
1325addFormatToken('dd', 0, 0, function (format) {
1326    return this.localeData().weekdaysMin(this, format);
1327});
1328
1329addFormatToken('ddd', 0, 0, function (format) {
1330    return this.localeData().weekdaysShort(this, format);
1331});
1332
1333addFormatToken('dddd', 0, 0, function (format) {
1334    return this.localeData().weekdays(this, format);
1335});
1336
1337addFormatToken('e', 0, 0, 'weekday');
1338addFormatToken('E', 0, 0, 'isoWeekday');
1339
1340// ALIASES
1341
1342addUnitAlias('day', 'd');
1343addUnitAlias('weekday', 'e');
1344addUnitAlias('isoWeekday', 'E');
1345
1346// PRIORITY
1347addUnitPriority('day', 11);
1348addUnitPriority('weekday', 11);
1349addUnitPriority('isoWeekday', 11);
1350
1351// PARSING
1352
1353addRegexToken('d',    match1to2);
1354addRegexToken('e',    match1to2);
1355addRegexToken('E',    match1to2);
1356addRegexToken('dd',   function (isStrict, locale) {
1357    return locale.weekdaysMinRegex(isStrict);
1358});
1359addRegexToken('ddd',   function (isStrict, locale) {
1360    return locale.weekdaysShortRegex(isStrict);
1361});
1362addRegexToken('dddd',   function (isStrict, locale) {
1363    return locale.weekdaysRegex(isStrict);
1364});
1365
1366addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {
1367    var weekday = config._locale.weekdaysParse(input, token, config._strict);
1368    // if we didn't get a weekday name, mark the date as invalid
1369    if (weekday != null) {
1370        week.d = weekday;
1371    } else {
1372        getParsingFlags(config).invalidWeekday = input;
1373    }
1374});
1375
1376addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {
1377    week[token] = toInt(input);
1378});
1379
1380// HELPERS
1381
1382function parseWeekday(input, locale) {
1383    if (typeof input !== 'string') {
1384        return input;
1385    }
1386
1387    if (!isNaN(input)) {
1388        return parseInt(input, 10);
1389    }
1390
1391    input = locale.weekdaysParse(input);
1392    if (typeof input === 'number') {
1393        return input;
1394    }
1395
1396    return null;
1397}
1398
1399function parseIsoWeekday(input, locale) {
1400    if (typeof input === 'string') {
1401        return locale.weekdaysParse(input) % 7 || 7;
1402    }
1403    return isNaN(input) ? null : input;
1404}
1405
1406// LOCALES
1407
1408var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');
1409function localeWeekdays (m, format) {
1410    if (!m) {
1411        return isArray(this._weekdays) ? this._weekdays :
1412            this._weekdays['standalone'];
1413    }
1414    return isArray(this._weekdays) ? this._weekdays[m.day()] :
1415        this._weekdays[this._weekdays.isFormat.test(format) ? 'format' : 'standalone'][m.day()];
1416}
1417
1418var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');
1419function localeWeekdaysShort (m) {
1420    return (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;
1421}
1422
1423var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');
1424function localeWeekdaysMin (m) {
1425    return (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;
1426}
1427
1428function handleStrictParse$1(weekdayName, format, strict) {
1429    var i, ii, mom, llc = weekdayName.toLocaleLowerCase();
1430    if (!this._weekdaysParse) {
1431        this._weekdaysParse = [];
1432        this._shortWeekdaysParse = [];
1433        this._minWeekdaysParse = [];
1434
1435        for (i = 0; i < 7; ++i) {
1436            mom = createUTC([2000, 1]).day(i);
vendor: 48,501 bytes, lines 1437-2966
1437            this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();
1438            this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();
1439            this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();
1440        }
1441    }
1442
1443    if (strict) {
1444        if (format === 'dddd') {
1445            ii = indexOf.call(this._weekdaysParse, llc);
1446            return ii !== -1 ? ii : null;
1447        } else if (format === 'ddd') {
1448            ii = indexOf.call(this._shortWeekdaysParse, llc);
1449            return ii !== -1 ? ii : null;
1450        } else {
1451            ii = indexOf.call(this._minWeekdaysParse, llc);
1452            return ii !== -1 ? ii : null;
1453        }
1454    } else {
1455        if (format === 'dddd') {
1456            ii = indexOf.call(this._weekdaysParse, llc);
1457            if (ii !== -1) {
1458                return ii;
1459            }
1460            ii = indexOf.call(this._shortWeekdaysParse, llc);
1461            if (ii !== -1) {
1462                return ii;
1463            }
1464            ii = indexOf.call(this._minWeekdaysParse, llc);
1465            return ii !== -1 ? ii : null;
1466        } else if (format === 'ddd') {
1467            ii = indexOf.call(this._shortWeekdaysParse, llc);
1468            if (ii !== -1) {
1469                return ii;
1470            }
1471            ii = indexOf.call(this._weekdaysParse, llc);
1472            if (ii !== -1) {
1473                return ii;
1474            }
1475            ii = indexOf.call(this._minWeekdaysParse, llc);
1476            return ii !== -1 ? ii : null;
1477        } else {
1478            ii = indexOf.call(this._minWeekdaysParse, llc);
1479            if (ii !== -1) {
1480                return ii;
1481            }
1482            ii = indexOf.call(this._weekdaysParse, llc);
1483            if (ii !== -1) {
1484                return ii;
1485            }
1486            ii = indexOf.call(this._shortWeekdaysParse, llc);
1487            return ii !== -1 ? ii : null;
1488        }
1489    }
1490}
1491
1492function localeWeekdaysParse (weekdayName, format, strict) {
1493    var i, mom, regex;
1494
1495    if (this._weekdaysParseExact) {
1496        return handleStrictParse$1.call(this, weekdayName, format, strict);
1497    }
1498
1499    if (!this._weekdaysParse) {
1500        this._weekdaysParse = [];
1501        this._minWeekdaysParse = [];
1502        this._shortWeekdaysParse = [];
1503        this._fullWeekdaysParse = [];
1504    }
1505
1506    for (i = 0; i < 7; i++) {
1507        // make the regex if we don't have it already
1508
1509        mom = createUTC([2000, 1]).day(i);
1510        if (strict && !this._fullWeekdaysParse[i]) {
1511            this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\.?') + '$', 'i');
1512            this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\.?') + '$', 'i');
1513            this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\.?') + '$', 'i');
1514        }
1515        if (!this._weekdaysParse[i]) {
1516            regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');
1517            this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');
1518        }
1519        // test the regex
1520        if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {
1521            return i;
1522        } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {
1523            return i;
1524        } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {
1525            return i;
1526        } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {
1527            return i;
1528        }
1529    }
1530}
1531
1532// MOMENTS
1533
1534function getSetDayOfWeek (input) {
1535    if (!this.isValid()) {
1536        return input != null ? this : NaN;
1537    }
1538    var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
1539    if (input != null) {
1540        input = parseWeekday(input, this.localeData());
1541        return this.add(input - day, 'd');
1542    } else {
1543        return day;
1544    }
1545}
1546
1547function getSetLocaleDayOfWeek (input) {
1548    if (!this.isValid()) {
1549        return input != null ? this : NaN;
1550    }
1551    var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;
1552    return input == null ? weekday : this.add(input - weekday, 'd');
1553}
1554
1555function getSetISODayOfWeek (input) {
1556    if (!this.isValid()) {
1557        return input != null ? this : NaN;
1558    }
1559
1560    // behaves the same as moment#day except
1561    // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
1562    // as a setter, sunday should belong to the previous week.
1563
1564    if (input != null) {
1565        var weekday = parseIsoWeekday(input, this.localeData());
1566        return this.day(this.day() % 7 ? weekday : weekday - 7);
1567    } else {
1568        return this.day() || 7;
1569    }
1570}
1571
1572var defaultWeekdaysRegex = matchWord;
1573function weekdaysRegex (isStrict) {
1574    if (this._weekdaysParseExact) {
1575        if (!hasOwnProp(this, '_weekdaysRegex')) {
1576            computeWeekdaysParse.call(this);
1577        }
1578        if (isStrict) {
1579            return this._weekdaysStrictRegex;
1580        } else {
1581            return this._weekdaysRegex;
1582        }
1583    } else {
1584        if (!hasOwnProp(this, '_weekdaysRegex')) {
1585            this._weekdaysRegex = defaultWeekdaysRegex;
1586        }
1587        return this._weekdaysStrictRegex && isStrict ?
1588            this._weekdaysStrictRegex : this._weekdaysRegex;
1589    }
1590}
1591
1592var defaultWeekdaysShortRegex = matchWord;
1593function weekdaysShortRegex (isStrict) {
1594    if (this._weekdaysParseExact) {
1595        if (!hasOwnProp(this, '_weekdaysRegex')) {
1596            computeWeekdaysParse.call(this);
1597        }
1598        if (isStrict) {
1599            return this._weekdaysShortStrictRegex;
1600        } else {
1601            return this._weekdaysShortRegex;
1602        }
1603    } else {
1604        if (!hasOwnProp(this, '_weekdaysShortRegex')) {
1605            this._weekdaysShortRegex = defaultWeekdaysShortRegex;
1606        }
1607        return this._weekdaysShortStrictRegex && isStrict ?
1608            this._weekdaysShortStrictRegex : this._weekdaysShortRegex;
1609    }
1610}
1611
1612var defaultWeekdaysMinRegex = matchWord;
1613function weekdaysMinRegex (isStrict) {
1614    if (this._weekdaysParseExact) {
1615        if (!hasOwnProp(this, '_weekdaysRegex')) {
1616            computeWeekdaysParse.call(this);
1617        }
1618        if (isStrict) {
1619            return this._weekdaysMinStrictRegex;
1620        } else {
1621            return this._weekdaysMinRegex;
1622        }
1623    } else {
1624        if (!hasOwnProp(this, '_weekdaysMinRegex')) {
1625            this._weekdaysMinRegex = defaultWeekdaysMinRegex;
1626        }
1627        return this._weekdaysMinStrictRegex && isStrict ?
1628            this._weekdaysMinStrictRegex : this._weekdaysMinRegex;
1629    }
1630}
1631
1632
1633function computeWeekdaysParse () {
1634    function cmpLenRev(a, b) {
1635        return b.length - a.length;
1636    }
1637
1638    var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],
1639        i, mom, minp, shortp, longp;
1640    for (i = 0; i < 7; i++) {
1641        // make the regex if we don't have it already
1642        mom = createUTC([2000, 1]).day(i);
1643        minp = this.weekdaysMin(mom, '');
1644        shortp = this.weekdaysShort(mom, '');
1645        longp = this.weekdays(mom, '');
1646        minPieces.push(minp);
1647        shortPieces.push(shortp);
1648        longPieces.push(longp);
1649        mixedPieces.push(minp);
1650        mixedPieces.push(shortp);
1651        mixedPieces.push(longp);
1652    }
1653    // Sorting makes sure if one weekday (or abbr) is a prefix of another it
1654    // will match the longer piece.
1655    minPieces.sort(cmpLenRev);
1656    shortPieces.sort(cmpLenRev);
1657    longPieces.sort(cmpLenRev);
1658    mixedPieces.sort(cmpLenRev);
1659    for (i = 0; i < 7; i++) {
1660        shortPieces[i] = regexEscape(shortPieces[i]);
1661        longPieces[i] = regexEscape(longPieces[i]);
1662        mixedPieces[i] = regexEscape(mixedPieces[i]);
1663    }
1664
1665    this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
1666    this._weekdaysShortRegex = this._weekdaysRegex;
1667    this._weekdaysMinRegex = this._weekdaysRegex;
1668
1669    this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');
1670    this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');
1671    this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');
1672}
1673
1674// FORMATTING
1675
1676function hFormat() {
1677    return this.hours() % 12 || 12;
1678}
1679
1680function kFormat() {
1681    return this.hours() || 24;
1682}
1683
1684addFormatToken('H', ['HH', 2], 0, 'hour');
1685addFormatToken('h', ['hh', 2], 0, hFormat);
1686addFormatToken('k', ['kk', 2], 0, kFormat);
1687
1688addFormatToken('hmm', 0, 0, function () {
1689    return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);
1690});
1691
1692addFormatToken('hmmss', 0, 0, function () {
1693    return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +
1694        zeroFill(this.seconds(), 2);
1695});
1696
1697addFormatToken('Hmm', 0, 0, function () {
1698    return '' + this.hours() + zeroFill(this.minutes(), 2);
1699});
1700
1701addFormatToken('Hmmss', 0, 0, function () {
1702    return '' + this.hours() + zeroFill(this.minutes(), 2) +
1703        zeroFill(this.seconds(), 2);
1704});
1705
1706function meridiem (token, lowercase) {
1707    addFormatToken(token, 0, 0, function () {
1708        return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);
1709    });
1710}
1711
1712meridiem('a', true);
1713meridiem('A', false);
1714
1715// ALIASES
1716
1717addUnitAlias('hour', 'h');
1718
1719// PRIORITY
1720addUnitPriority('hour', 13);
1721
1722// PARSING
1723
1724function matchMeridiem (isStrict, locale) {
1725    return locale._meridiemParse;
1726}
1727
1728addRegexToken('a',  matchMeridiem);
1729addRegexToken('A',  matchMeridiem);
1730addRegexToken('H',  match1to2);
1731addRegexToken('h',  match1to2);
1732addRegexToken('k',  match1to2);
1733addRegexToken('HH', match1to2, match2);
1734addRegexToken('hh', match1to2, match2);
1735addRegexToken('kk', match1to2, match2);
1736
1737addRegexToken('hmm', match3to4);
1738addRegexToken('hmmss', match5to6);
1739addRegexToken('Hmm', match3to4);
1740addRegexToken('Hmmss', match5to6);
1741
1742addParseToken(['H', 'HH'], HOUR);
1743addParseToken(['k', 'kk'], function (input, array, config) {
1744    var kInput = toInt(input);
1745    array[HOUR] = kInput === 24 ? 0 : kInput;
1746});
1747addParseToken(['a', 'A'], function (input, array, config) {
1748    config._isPm = config._locale.isPM(input);
1749    config._meridiem = input;
1750});
1751addParseToken(['h', 'hh'], function (input, array, config) {
1752    array[HOUR] = toInt(input);
1753    getParsingFlags(config).bigHour = true;
1754});
1755addParseToken('hmm', function (input, array, config) {
1756    var pos = input.length - 2;
1757    array[HOUR] = toInt(input.substr(0, pos));
1758    array[MINUTE] = toInt(input.substr(pos));
1759    getParsingFlags(config).bigHour = true;
1760});
1761addParseToken('hmmss', function (input, array, config) {
1762    var pos1 = input.length - 4;
1763    var pos2 = input.length - 2;
1764    array[HOUR] = toInt(input.substr(0, pos1));
1765    array[MINUTE] = toInt(input.substr(pos1, 2));
1766    array[SECOND] = toInt(input.substr(pos2));
1767    getParsingFlags(config).bigHour = true;
1768});
1769addParseToken('Hmm', function (input, array, config) {
1770    var pos = input.length - 2;
1771    array[HOUR] = toInt(input.substr(0, pos));
1772    array[MINUTE] = toInt(input.substr(pos));
1773});
1774addParseToken('Hmmss', function (input, array, config) {
1775    var pos1 = input.length - 4;
1776    var pos2 = input.length - 2;
1777    array[HOUR] = toInt(input.substr(0, pos1));
1778    array[MINUTE] = toInt(input.substr(pos1, 2));
1779    array[SECOND] = toInt(input.substr(pos2));
1780});
1781
1782// LOCALES
1783
1784function localeIsPM (input) {
1785    // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
1786    // Using charAt should be more compatible.
1787    return ((input + '').toLowerCase().charAt(0) === 'p');
1788}
1789
1790var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i;
1791function localeMeridiem (hours, minutes, isLower) {
1792    if (hours > 11) {
1793        return isLower ? 'pm' : 'PM';
1794    } else {
1795        return isLower ? 'am' : 'AM';
1796    }
1797}
1798
1799
1800// MOMENTS
1801
1802// Setting the hour should keep the time, because the user explicitly
1803// specified which hour he wants. So trying to maintain the same hour (in
1804// a new timezone) makes sense. Adding/subtracting hours does not follow
1805// this rule.
1806var getSetHour = makeGetSet('Hours', true);
1807
1808// months
1809// week
1810// weekdays
1811// meridiem
1812var baseConfig = {
1813    calendar: defaultCalendar,
1814    longDateFormat: defaultLongDateFormat,
1815    invalidDate: defaultInvalidDate,
1816    ordinal: defaultOrdinal,
1817    dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,
1818    relativeTime: defaultRelativeTime,
1819
1820    months: defaultLocaleMonths,
1821    monthsShort: defaultLocaleMonthsShort,
1822
1823    week: defaultLocaleWeek,
1824
1825    weekdays: defaultLocaleWeekdays,
1826    weekdaysMin: defaultLocaleWeekdaysMin,
1827    weekdaysShort: defaultLocaleWeekdaysShort,
1828
1829    meridiemParse: defaultLocaleMeridiemParse
1830};
1831
1832// internal storage for locale config files
1833var locales = {};
1834var localeFamilies = {};
1835var globalLocale;
1836
1837function normalizeLocale(key) {
1838    return key ? key.toLowerCase().replace('_', '-') : key;
1839}
1840
1841// pick the locale from the array
1842// try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each
1843// substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
1844function chooseLocale(names) {
1845    var i = 0, j, next, locale, split;
1846
1847    while (i < names.length) {
1848        split = normalizeLocale(names[i]).split('-');
1849        j = split.length;
1850        next = normalizeLocale(names[i + 1]);
1851        next = next ? next.split('-') : null;
1852        while (j > 0) {
1853            locale = loadLocale(split.slice(0, j).join('-'));
1854            if (locale) {
1855                return locale;
1856            }
1857            if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {
1858                //the next array item is better than a shallower substring of this one
1859                break;
1860            }
1861            j--;
1862        }
1863        i++;
1864    }
1865    return null;
1866}
1867
1868function loadLocale(name) {
1869    var oldLocale = null;
1870    // TODO: Find a better way to register and load all the locales in Node
1871    if (!locales[name] && (typeof module !== 'undefined') &&
1872            module && module.exports) {
1873        try {
1874            oldLocale = globalLocale._abbr;
1875            var aliasedRequire = require;
1876            aliasedRequire('./locale/' + name);
1877            getSetGlobalLocale(oldLocale);
1878        } catch (e) {}
1879    }
1880    return locales[name];
1881}
1882
1883// This function will load locale and then set the global locale.  If
1884// no arguments are passed in, it will simply return the current global
1885// locale key.
1886function getSetGlobalLocale (key, values) {
1887    var data;
1888    if (key) {
1889        if (isUndefined(values)) {
1890            data = getLocale(key);
1891        }
1892        else {
1893            data = defineLocale(key, values);
1894        }
1895
1896        if (data) {
1897            // moment.duration._locale = moment._locale = data;
1898            globalLocale = data;
1899        }
1900    }
1901
1902    return globalLocale._abbr;
1903}
1904
1905function defineLocale (name, config) {
1906    if (config !== null) {
1907        var parentConfig = baseConfig;
1908        config.abbr = name;
1909        if (locales[name] != null) {
1910            deprecateSimple('defineLocaleOverride',
1911                    'use moment.updateLocale(localeName, config) to change ' +
1912                    'an existing locale. moment.defineLocale(localeName, ' +
1913                    'config) should only be used for creating a new locale ' +
1914                    'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');
1915            parentConfig = locales[name]._config;
1916        } else if (config.parentLocale != null) {
1917            if (locales[config.parentLocale] != null) {
1918                parentConfig = locales[config.parentLocale]._config;
1919            } else {
1920                if (!localeFamilies[config.parentLocale]) {
1921                    localeFamilies[config.parentLocale] = [];
1922                }
1923                localeFamilies[config.parentLocale].push({
1924                    name: name,
1925                    config: config
1926                });
1927                return null;
1928            }
1929        }
1930        locales[name] = new Locale(mergeConfigs(parentConfig, config));
1931
1932        if (localeFamilies[name]) {
1933            localeFamilies[name].forEach(function (x) {
1934                defineLocale(x.name, x.config);
1935            });
1936        }
1937
1938        // backwards compat for now: also set the locale
1939        // make sure we set the locale AFTER all child locales have been
1940        // created, so we won't end up with the child locale set.
1941        getSetGlobalLocale(name);
1942
1943
1944        return locales[name];
1945    } else {
1946        // useful for testing
1947        delete locales[name];
1948        return null;
1949    }
1950}
1951
1952function updateLocale(name, config) {
1953    if (config != null) {
1954        var locale, tmpLocale, parentConfig = baseConfig;
1955        // MERGE
1956        tmpLocale = loadLocale(name);
1957        if (tmpLocale != null) {
1958            parentConfig = tmpLocale._config;
1959        }
1960        config = mergeConfigs(parentConfig, config);
1961        locale = new Locale(config);
1962        locale.parentLocale = locales[name];
1963        locales[name] = locale;
1964
1965        // backwards compat for now: also set the locale
1966        getSetGlobalLocale(name);
1967    } else {
1968        // pass null for config to unupdate, useful for tests
1969        if (locales[name] != null) {
1970            if (locales[name].parentLocale != null) {
1971                locales[name] = locales[name].parentLocale;
1972            } else if (locales[name] != null) {
1973                delete locales[name];
1974            }
1975        }
1976    }
1977    return locales[name];
1978}
1979
1980// returns locale data
1981function getLocale (key) {
1982    var locale;
1983
1984    if (key && key._locale && key._locale._abbr) {
1985        key = key._locale._abbr;
1986    }
1987
1988    if (!key) {
1989        return globalLocale;
1990    }
1991
1992    if (!isArray(key)) {
1993        //short-circuit everything else
1994        locale = loadLocale(key);
1995        if (locale) {
1996            return locale;
1997        }
1998        key = [key];
1999    }
2000
2001    return chooseLocale(key);
2002}
2003
2004function listLocales() {
2005    return keys(locales);
2006}
2007
2008function checkOverflow (m) {
2009    var overflow;
2010    var a = m._a;
2011
2012    if (a && getParsingFlags(m).overflow === -2) {
2013        overflow =
2014            a[MONTH]       < 0 || a[MONTH]       > 11  ? MONTH :
2015            a[DATE]        < 1 || a[DATE]        > daysInMonth(a[YEAR], a[MONTH]) ? DATE :
2016            a[HOUR]        < 0 || a[HOUR]        > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :
2017            a[MINUTE]      < 0 || a[MINUTE]      > 59  ? MINUTE :
2018            a[SECOND]      < 0 || a[SECOND]      > 59  ? SECOND :
2019            a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :
2020            -1;
2021
2022        if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {
2023            overflow = DATE;
2024        }
2025        if (getParsingFlags(m)._overflowWeeks && overflow === -1) {
2026            overflow = WEEK;
2027        }
2028        if (getParsingFlags(m)._overflowWeekday && overflow === -1) {
2029            overflow = WEEKDAY;
2030        }
2031
2032        getParsingFlags(m).overflow = overflow;
2033    }
2034
2035    return m;
2036}
2037
2038// Pick the first defined of two or three arguments.
2039function defaults(a, b, c) {
2040    if (a != null) {
2041        return a;
2042    }
2043    if (b != null) {
2044        return b;
2045    }
2046    return c;
2047}
2048
2049function currentDateArray(config) {
2050    // hooks is actually the exported moment object
2051    var nowValue = new Date(hooks.now());
2052    if (config._useUTC) {
2053        return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];
2054    }
2055    return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];
2056}
2057
2058// convert an array to a date.
2059// the array should mirror the parameters below
2060// note: all values past the year are optional and will default to the lowest possible value.
2061// [year, month, day , hour, minute, second, millisecond]
2062function configFromArray (config) {
2063    var i, date, input = [], currentDate, expectedWeekday, yearToUse;
2064
2065    if (config._d) {
2066        return;
2067    }
2068
2069    currentDate = currentDateArray(config);
2070
2071    //compute day of the year from weeks and weekdays
2072    if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {
2073        dayOfYearFromWeekInfo(config);
2074    }
2075
2076    //if the day of the year is set, figure out what it is
2077    if (config._dayOfYear != null) {
2078        yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);
2079
2080        if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {
2081            getParsingFlags(config)._overflowDayOfYear = true;
2082        }
2083
2084        date = createUTCDate(yearToUse, 0, config._dayOfYear);
2085        config._a[MONTH] = date.getUTCMonth();
2086        config._a[DATE] = date.getUTCDate();
2087    }
2088
2089    // Default to current date.
2090    // * if no year, month, day of month are given, default to today
2091    // * if day of month is given, default month and year
2092    // * if month is given, default only year
2093    // * if year is given, don't default anything
2094    for (i = 0; i < 3 && config._a[i] == null; ++i) {
2095        config._a[i] = input[i] = currentDate[i];
2096    }
2097
2098    // Zero out whatever was not defaulted, including time
2099    for (; i < 7; i++) {
2100        config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];
2101    }
2102
2103    // Check for 24:00:00.000
2104    if (config._a[HOUR] === 24 &&
2105            config._a[MINUTE] === 0 &&
2106            config._a[SECOND] === 0 &&
2107            config._a[MILLISECOND] === 0) {
2108        config._nextDay = true;
2109        config._a[HOUR] = 0;
2110    }
2111
2112    config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);
2113    expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();
2114
2115    // Apply timezone offset from input. The actual utcOffset can be changed
2116    // with parseZone.
2117    if (config._tzm != null) {
2118        config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
2119    }
2120
2121    if (config._nextDay) {
2122        config._a[HOUR] = 24;
2123    }
2124
2125    // check for mismatching day of week
2126    if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {
2127        getParsingFlags(config).weekdayMismatch = true;
2128    }
2129}
2130
2131function dayOfYearFromWeekInfo(config) {
2132    var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;
2133
2134    w = config._w;
2135    if (w.GG != null || w.W != null || w.E != null) {
2136        dow = 1;
2137        doy = 4;
2138
2139        // TODO: We need to take the current isoWeekYear, but that depends on
2140        // how we interpret now (local, utc, fixed offset). So create
2141        // a now version of current config (take local/utc/offset flags, and
2142        // create now).
2143        weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);
2144        week = defaults(w.W, 1);
2145        weekday = defaults(w.E, 1);
2146        if (weekday < 1 || weekday > 7) {
2147            weekdayOverflow = true;
2148        }
2149    } else {
2150        dow = config._locale._week.dow;
2151        doy = config._locale._week.doy;
2152
2153        var curWeek = weekOfYear(createLocal(), dow, doy);
2154
2155        weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);
2156
2157        // Default to current week.
2158        week = defaults(w.w, curWeek.week);
2159
2160        if (w.d != null) {
2161            // weekday -- low day numbers are considered next week
2162            weekday = w.d;
2163            if (weekday < 0 || weekday > 6) {
2164                weekdayOverflow = true;
2165            }
2166        } else if (w.e != null) {
2167            // local weekday -- counting starts from begining of week
2168            weekday = w.e + dow;
2169            if (w.e < 0 || w.e > 6) {
2170                weekdayOverflow = true;
2171            }
2172        } else {
2173            // default to begining of week
2174            weekday = dow;
2175        }
2176    }
2177    if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {
2178        getParsingFlags(config)._overflowWeeks = true;
2179    } else if (weekdayOverflow != null) {
2180        getParsingFlags(config)._overflowWeekday = true;
2181    } else {
2182        temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);
2183        config._a[YEAR] = temp.year;
2184        config._dayOfYear = temp.dayOfYear;
2185    }
2186}
2187
2188// iso 8601 regex
2189// 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)
2190var extendedIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/;
2191var basicIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/;
2192
2193var tzRegex = /Z|[+-]\d\d(?::?\d\d)?/;
2194
2195var isoDates = [
2196    ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/],
2197    ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/],
2198    ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/],
2199    ['GGGG-[W]WW', /\d{4}-W\d\d/, false],
2200    ['YYYY-DDD', /\d{4}-\d{3}/],
2201    ['YYYY-MM', /\d{4}-\d\d/, false],
2202    ['YYYYYYMMDD', /[+-]\d{10}/],
2203    ['YYYYMMDD', /\d{8}/],
2204    // YYYYMM is NOT allowed by the standard
2205    ['GGGG[W]WWE', /\d{4}W\d{3}/],
2206    ['GGGG[W]WW', /\d{4}W\d{2}/, false],
2207    ['YYYYDDD', /\d{7}/]
2208];
2209
2210// iso time formats and regexes
2211var isoTimes = [
2212    ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/],
2213    ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/],
2214    ['HH:mm:ss', /\d\d:\d\d:\d\d/],
2215    ['HH:mm', /\d\d:\d\d/],
2216    ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/],
2217    ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/],
2218    ['HHmmss', /\d\d\d\d\d\d/],
2219    ['HHmm', /\d\d\d\d/],
2220    ['HH', /\d\d/]
2221];
2222
2223var aspNetJsonRegex = /^\/?Date\((\-?\d+)/i;
2224
2225// date from iso format
2226function configFromISO(config) {
2227    var i, l,
2228        string = config._i,
2229        match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),
2230        allowTime, dateFormat, timeFormat, tzFormat;
2231
2232    if (match) {
2233        getParsingFlags(config).iso = true;
2234
2235        for (i = 0, l = isoDates.length; i < l; i++) {
2236            if (isoDates[i][1].exec(match[1])) {
2237                dateFormat = isoDates[i][0];
2238                allowTime = isoDates[i][2] !== false;
2239                break;
2240            }
2241        }
2242        if (dateFormat == null) {
2243            config._isValid = false;
2244            return;
2245        }
2246        if (match[3]) {
2247            for (i = 0, l = isoTimes.length; i < l; i++) {
2248                if (isoTimes[i][1].exec(match[3])) {
2249                    // match[2] should be 'T' or space
2250                    timeFormat = (match[2] || ' ') + isoTimes[i][0];
2251                    break;
2252                }
2253            }
2254            if (timeFormat == null) {
2255                config._isValid = false;
2256                return;
2257            }
2258        }
2259        if (!allowTime && timeFormat != null) {
2260            config._isValid = false;
2261            return;
2262        }
2263        if (match[4]) {
2264            if (tzRegex.exec(match[4])) {
2265                tzFormat = 'Z';
2266            } else {
2267                config._isValid = false;
2268                return;
2269            }
2270        }
2271        config._f = dateFormat + (timeFormat || '') + (tzFormat || '');
2272        configFromStringAndFormat(config);
2273    } else {
2274        config._isValid = false;
2275    }
2276}
2277
2278// RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3
2279var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/;
2280
2281function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {
2282    var result = [
2283        untruncateYear(yearStr),
2284        defaultLocaleMonthsShort.indexOf(monthStr),
2285        parseInt(dayStr, 10),
2286        parseInt(hourStr, 10),
2287        parseInt(minuteStr, 10)
2288    ];
2289
2290    if (secondStr) {
2291        result.push(parseInt(secondStr, 10));
2292    }
2293
2294    return result;
2295}
2296
2297function untruncateYear(yearStr) {
2298    var year = parseInt(yearStr, 10);
2299    if (year <= 49) {
2300        return 2000 + year;
2301    } else if (year <= 999) {
2302        return 1900 + year;
2303    }
2304    return year;
2305}
2306
2307function preprocessRFC2822(s) {
2308    // Remove comments and folding whitespace and replace multiple-spaces with a single space
2309    return s.replace(/\([^)]*\)|[\n\t]/g, ' ').replace(/(\s\s+)/g, ' ').trim();
2310}
2311
2312function checkWeekday(weekdayStr, parsedInput, config) {
2313    if (weekdayStr) {
2314        // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.
2315        var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),
2316            weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();
2317        if (weekdayProvided !== weekdayActual) {
2318            getParsingFlags(config).weekdayMismatch = true;
2319            config._isValid = false;
2320            return false;
2321        }
2322    }
2323    return true;
2324}
2325
2326var obsOffsets = {
2327    UT: 0,
2328    GMT: 0,
2329    EDT: -4 * 60,
2330    EST: -5 * 60,
2331    CDT: -5 * 60,
2332    CST: -6 * 60,
2333    MDT: -6 * 60,
2334    MST: -7 * 60,
2335    PDT: -7 * 60,
2336    PST: -8 * 60
2337};
2338
2339function calculateOffset(obsOffset, militaryOffset, numOffset) {
2340    if (obsOffset) {
2341        return obsOffsets[obsOffset];
2342    } else if (militaryOffset) {
2343        // the only allowed military tz is Z
2344        return 0;
2345    } else {
2346        var hm = parseInt(numOffset, 10);
2347        var m = hm % 100, h = (hm - m) / 100;
2348        return h * 60 + m;
2349    }
2350}
2351
2352// date and time from ref 2822 format
2353function configFromRFC2822(config) {
2354    var match = rfc2822.exec(preprocessRFC2822(config._i));
2355    if (match) {
2356        var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);
2357        if (!checkWeekday(match[1], parsedArray, config)) {
2358            return;
2359        }
2360
2361        config._a = parsedArray;
2362        config._tzm = calculateOffset(match[8], match[9], match[10]);
2363
2364        config._d = createUTCDate.apply(null, config._a);
2365        config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
2366
2367        getParsingFlags(config).rfc2822 = true;
2368    } else {
2369        config._isValid = false;
2370    }
2371}
2372
2373// date from iso format or fallback
2374function configFromString(config) {
2375    var matched = aspNetJsonRegex.exec(config._i);
2376
2377    if (matched !== null) {
2378        config._d = new Date(+matched[1]);
2379        return;
2380    }
2381
2382    configFromISO(config);
2383    if (config._isValid === false) {
2384        delete config._isValid;
2385    } else {
2386        return;
2387    }
2388
2389    configFromRFC2822(config);
2390    if (config._isValid === false) {
2391        delete config._isValid;
2392    } else {
2393        return;
2394    }
2395
2396    // Final attempt, use Input Fallback
2397    hooks.createFromInputFallback(config);
2398}
2399
2400hooks.createFromInputFallback = deprecate(
2401    'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +
2402    'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +
2403    'discouraged and will be removed in an upcoming major release. Please refer to ' +
2404    'http://momentjs.com/guides/#/warnings/js-date/ for more info.',
2405    function (config) {
2406        config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));
2407    }
2408);
2409
2410// constant that refers to the ISO standard
2411hooks.ISO_8601 = function () {};
2412
2413// constant that refers to the RFC 2822 form
2414hooks.RFC_2822 = function () {};
2415
2416// date from string and format string
2417function configFromStringAndFormat(config) {
2418    // TODO: Move this to another part of the creation flow to prevent circular deps
2419    if (config._f === hooks.ISO_8601) {
2420        configFromISO(config);
2421        return;
2422    }
2423    if (config._f === hooks.RFC_2822) {
2424        configFromRFC2822(config);
2425        return;
2426    }
2427    config._a = [];
2428    getParsingFlags(config).empty = true;
2429
2430    // This array is used to make a Date, either with `new Date` or `Date.UTC`
2431    var string = '' + config._i,
2432        i, parsedInput, tokens, token, skipped,
2433        stringLength = string.length,
2434        totalParsedInputLength = 0;
2435
2436    tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];
2437
2438    for (i = 0; i < tokens.length; i++) {
2439        token = tokens[i];
2440        parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];
2441        // console.log('token', token, 'parsedInput', parsedInput,
2442        //         'regex', getParseRegexForToken(token, config));
2443        if (parsedInput) {
2444            skipped = string.substr(0, string.indexOf(parsedInput));
2445            if (skipped.length > 0) {
2446                getParsingFlags(config).unusedInput.push(skipped);
2447            }
2448            string = string.slice(string.indexOf(parsedInput) + parsedInput.length);
2449            totalParsedInputLength += parsedInput.length;
2450        }
2451        // don't parse if it's not a known token
2452        if (formatTokenFunctions[token]) {
2453            if (parsedInput) {
2454                getParsingFlags(config).empty = false;
2455            }
2456            else {
2457                getParsingFlags(config).unusedTokens.push(token);
2458            }
2459            addTimeToArrayFromToken(token, parsedInput, config);
2460        }
2461        else if (config._strict && !parsedInput) {
2462            getParsingFlags(config).unusedTokens.push(token);
2463        }
2464    }
2465
2466    // add remaining unparsed input length to the string
2467    getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;
2468    if (string.length > 0) {
2469        getParsingFlags(config).unusedInput.push(string);
2470    }
2471
2472    // clear _12h flag if hour is <= 12
2473    if (config._a[HOUR] <= 12 &&
2474        getParsingFlags(config).bigHour === true &&
2475        config._a[HOUR] > 0) {
2476        getParsingFlags(config).bigHour = undefined;
2477    }
2478
2479    getParsingFlags(config).parsedDateParts = config._a.slice(0);
2480    getParsingFlags(config).meridiem = config._meridiem;
2481    // handle meridiem
2482    config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);
2483
2484    configFromArray(config);
2485    checkOverflow(config);
2486}
2487
2488
2489function meridiemFixWrap (locale, hour, meridiem) {
2490    var isPm;
2491
2492    if (meridiem == null) {
2493        // nothing to do
2494        return hour;
2495    }
2496    if (locale.meridiemHour != null) {
2497        return locale.meridiemHour(hour, meridiem);
2498    } else if (locale.isPM != null) {
2499        // Fallback
2500        isPm = locale.isPM(meridiem);
2501        if (isPm && hour < 12) {
2502            hour += 12;
2503        }
2504        if (!isPm && hour === 12) {
2505            hour = 0;
2506        }
2507        return hour;
2508    } else {
2509        // this is not supposed to happen
2510        return hour;
2511    }
2512}
2513
2514// date from string and array of format strings
2515function configFromStringAndArray(config) {
2516    var tempConfig,
2517        bestMoment,
2518
2519        scoreToBeat,
2520        i,
2521        currentScore;
2522
2523    if (config._f.length === 0) {
2524        getParsingFlags(config).invalidFormat = true;
2525        config._d = new Date(NaN);
2526        return;
2527    }
2528
2529    for (i = 0; i < config._f.length; i++) {
2530        currentScore = 0;
2531        tempConfig = copyConfig({}, config);
2532        if (config._useUTC != null) {
2533            tempConfig._useUTC = config._useUTC;
2534        }
2535        tempConfig._f = config._f[i];
2536        configFromStringAndFormat(tempConfig);
2537
2538        if (!isValid(tempConfig)) {
2539            continue;
2540        }
2541
2542        // if there is any input that was not parsed add a penalty for that format
2543        currentScore += getParsingFlags(tempConfig).charsLeftOver;
2544
2545        //or tokens
2546        currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;
2547
2548        getParsingFlags(tempConfig).score = currentScore;
2549
2550        if (scoreToBeat == null || currentScore < scoreToBeat) {
2551            scoreToBeat = currentScore;
2552            bestMoment = tempConfig;
2553        }
2554    }
2555
2556    extend(config, bestMoment || tempConfig);
2557}
2558
2559function configFromObject(config) {
2560    if (config._d) {
2561        return;
2562    }
2563
2564    var i = normalizeObjectUnits(config._i);
2565    config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {
2566        return obj && parseInt(obj, 10);
2567    });
2568
2569    configFromArray(config);
2570}
2571
2572function createFromConfig (config) {
2573    var res = new Moment(checkOverflow(prepareConfig(config)));
2574    if (res._nextDay) {
2575        // Adding is smart enough around DST
2576        res.add(1, 'd');
2577        res._nextDay = undefined;
2578    }
2579
2580    return res;
2581}
2582
2583function prepareConfig (config) {
2584    var input = config._i,
2585        format = config._f;
2586
2587    config._locale = config._locale || getLocale(config._l);
2588
2589    if (input === null || (format === undefined && input === '')) {
2590        return createInvalid({nullInput: true});
2591    }
2592
2593    if (typeof input === 'string') {
2594        config._i = input = config._locale.preparse(input);
2595    }
2596
2597    if (isMoment(input)) {
2598        return new Moment(checkOverflow(input));
2599    } else if (isDate(input)) {
2600        config._d = input;
2601    } else if (isArray(format)) {
2602        configFromStringAndArray(config);
2603    } else if (format) {
2604        configFromStringAndFormat(config);
2605    }  else {
2606        configFromInput(config);
2607    }
2608
2609    if (!isValid(config)) {
2610        config._d = null;
2611    }
2612
2613    return config;
2614}
2615
2616function configFromInput(config) {
2617    var input = config._i;
2618    if (isUndefined(input)) {
2619        config._d = new Date(hooks.now());
2620    } else if (isDate(input)) {
2621        config._d = new Date(input.valueOf());
2622    } else if (typeof input === 'string') {
2623        configFromString(config);
2624    } else if (isArray(input)) {
2625        config._a = map(input.slice(0), function (obj) {
2626            return parseInt(obj, 10);
2627        });
2628        configFromArray(config);
2629    } else if (isObject(input)) {
2630        configFromObject(config);
2631    } else if (isNumber(input)) {
2632        // from milliseconds
2633        config._d = new Date(input);
2634    } else {
2635        hooks.createFromInputFallback(config);
2636    }
2637}
2638
2639function createLocalOrUTC (input, format, locale, strict, isUTC) {
2640    var c = {};
2641
2642    if (locale === true || locale === false) {
2643        strict = locale;
2644        locale = undefined;
2645    }
2646
2647    if ((isObject(input) && isObjectEmpty(input)) ||
2648            (isArray(input) && input.length === 0)) {
2649        input = undefined;
2650    }
2651    // object construction must be done this way.
2652    // https://github.com/moment/moment/issues/1423
2653    c._isAMomentObject = true;
2654    c._useUTC = c._isUTC = isUTC;
2655    c._l = locale;
2656    c._i = input;
2657    c._f = format;
2658    c._strict = strict;
2659
2660    return createFromConfig(c);
2661}
2662
2663function createLocal (input, format, locale, strict) {
2664    return createLocalOrUTC(input, format, locale, strict, false);
2665}
2666
2667var prototypeMin = deprecate(
2668    'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',
2669    function () {
2670        var other = createLocal.apply(null, arguments);
2671        if (this.isValid() && other.isValid()) {
2672            return other < this ? this : other;
2673        } else {
2674            return createInvalid();
2675        }
2676    }
2677);
2678
2679var prototypeMax = deprecate(
2680    'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',
2681    function () {
2682        var other = createLocal.apply(null, arguments);
2683        if (this.isValid() && other.isValid()) {
2684            return other > this ? this : other;
2685        } else {
2686            return createInvalid();
2687        }
2688    }
2689);
2690
2691// Pick a moment m from moments so that m[fn](other) is true for all
2692// other. This relies on the function fn to be transitive.
2693//
2694// moments should either be an array of moment objects or an array, whose
2695// first element is an array of moment objects.
2696function pickBy(fn, moments) {
2697    var res, i;
2698    if (moments.length === 1 && isArray(moments[0])) {
2699        moments = moments[0];
2700    }
2701    if (!moments.length) {
2702        return createLocal();
2703    }
2704    res = moments[0];
2705    for (i = 1; i < moments.length; ++i) {
2706        if (!moments[i].isValid() || moments[i][fn](res)) {
2707            res = moments[i];
2708        }
2709    }
2710    return res;
2711}
2712
2713// TODO: Use [].sort instead?
2714function min () {
2715    var args = [].slice.call(arguments, 0);
2716
2717    return pickBy('isBefore', args);
2718}
2719
2720function max () {
2721    var args = [].slice.call(arguments, 0);
2722
2723    return pickBy('isAfter', args);
2724}
2725
2726var now = function () {
2727    return Date.now ? Date.now() : +(new Date());
2728};
2729
2730var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];
2731
2732function isDurationValid(m) {
2733    for (var key in m) {
2734        if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {
2735            return false;
2736        }
2737    }
2738
2739    var unitHasDecimal = false;
2740    for (var i = 0; i < ordering.length; ++i) {
2741        if (m[ordering[i]]) {
2742            if (unitHasDecimal) {
2743                return false; // only allow non-integers for smallest unit
2744            }
2745            if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {
2746                unitHasDecimal = true;
2747            }
2748        }
2749    }
2750
2751    return true;
2752}
2753
2754function isValid$1() {
2755    return this._isValid;
2756}
2757
2758function createInvalid$1() {
2759    return createDuration(NaN);
2760}
2761
2762function Duration (duration) {
2763    var normalizedInput = normalizeObjectUnits(duration),
2764        years = normalizedInput.year || 0,
2765        quarters = normalizedInput.quarter || 0,
2766        months = normalizedInput.month || 0,
2767        weeks = normalizedInput.week || 0,
2768        days = normalizedInput.day || 0,
2769        hours = normalizedInput.hour || 0,
2770        minutes = normalizedInput.minute || 0,
2771        seconds = normalizedInput.second || 0,
2772        milliseconds = normalizedInput.millisecond || 0;
2773
2774    this._isValid = isDurationValid(normalizedInput);
2775
2776    // representation for dateAddRemove
2777    this._milliseconds = +milliseconds +
2778        seconds * 1e3 + // 1000
2779        minutes * 6e4 + // 1000 * 60
2780        hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978
2781    // Because of dateAddRemove treats 24 hours as different from a
2782    // day when working around DST, we need to store them separately
2783    this._days = +days +
2784        weeks * 7;
2785    // It is impossible to translate months into days without knowing
2786    // which months you are are talking about, so we have to store
2787    // it separately.
2788    this._months = +months +
2789        quarters * 3 +
2790        years * 12;
2791
2792    this._data = {};
2793
2794    this._locale = getLocale();
2795
2796    this._bubble();
2797}
2798
2799function isDuration (obj) {
2800    return obj instanceof Duration;
2801}
2802
2803function absRound (number) {
2804    if (number < 0) {
2805        return Math.round(-1 * number) * -1;
2806    } else {
2807        return Math.round(number);
2808    }
2809}
2810
2811// FORMATTING
2812
2813function offset (token, separator) {
2814    addFormatToken(token, 0, 0, function () {
2815        var offset = this.utcOffset();
2816        var sign = '+';
2817        if (offset < 0) {
2818            offset = -offset;
2819            sign = '-';
2820        }
2821        return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);
2822    });
2823}
2824
2825offset('Z', ':');
2826offset('ZZ', '');
2827
2828// PARSING
2829
2830addRegexToken('Z',  matchShortOffset);
2831addRegexToken('ZZ', matchShortOffset);
2832addParseToken(['Z', 'ZZ'], function (input, array, config) {
2833    config._useUTC = true;
2834    config._tzm = offsetFromString(matchShortOffset, input);
2835});
2836
2837// HELPERS
2838
2839// timezone chunker
2840// '+10:00' > ['10',  '00']
2841// '-1530'  > ['-15', '30']
2842var chunkOffset = /([\+\-]|\d\d)/gi;
2843
2844function offsetFromString(matcher, string) {
2845    var matches = (string || '').match(matcher);
2846
2847    if (matches === null) {
2848        return null;
2849    }
2850
2851    var chunk   = matches[matches.length - 1] || [];
2852    var parts   = (chunk + '').match(chunkOffset) || ['-', 0, 0];
2853    var minutes = +(parts[1] * 60) + toInt(parts[2]);
2854
2855    return minutes === 0 ?
2856      0 :
2857      parts[0] === '+' ? minutes : -minutes;
2858}
2859
2860// Return a moment from input, that is local/utc/zone equivalent to model.
2861function cloneWithOffset(input, model) {
2862    var res, diff;
2863    if (model._isUTC) {
2864        res = model.clone();
2865        diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();
2866        // Use low-level api, because this fn is low-level api.
2867        res._d.setTime(res._d.valueOf() + diff);
2868        hooks.updateOffset(res, false);
2869        return res;
2870    } else {
2871        return createLocal(input).local();
2872    }
2873}
2874
2875function getDateOffset (m) {
2876    // On Firefox.24 Date#getTimezoneOffset returns a floating point.
2877    // https://github.com/moment/moment/pull/1871
2878    return -Math.round(m._d.getTimezoneOffset() / 15) * 15;
2879}
2880
2881// HOOKS
2882
2883// This function will be called whenever a moment is mutated.
2884// It is intended to keep the offset in sync with the timezone.
2885hooks.updateOffset = function () {};
2886
2887// MOMENTS
2888
2889// keepLocalTime = true means only change the timezone, without
2890// affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->
2891// 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset
2892// +0200, so we adjust the time as needed, to be valid.
2893//
2894// Keeping the time actually adds/subtracts (one hour)
2895// from the actual represented time. That is why we call updateOffset
2896// a second time. In case it wants us to change the offset again
2897// _changeInProgress == true case, then we have to adjust, because
2898// there is no such time in the given timezone.
2899function getSetOffset (input, keepLocalTime, keepMinutes) {
2900    var offset = this._offset || 0,
2901        localAdjust;
2902    if (!this.isValid()) {
2903        return input != null ? this : NaN;
2904    }
2905    if (input != null) {
2906        if (typeof input === 'string') {
2907            input = offsetFromString(matchShortOffset, input);
2908            if (input === null) {
2909                return this;
2910            }
2911        } else if (Math.abs(input) < 16 && !keepMinutes) {
2912            input = input * 60;
2913        }
2914        if (!this._isUTC && keepLocalTime) {
2915            localAdjust = getDateOffset(this);
2916        }
2917        this._offset = input;
2918        this._isUTC = true;
2919        if (localAdjust != null) {
2920            this.add(localAdjust, 'm');
2921        }
2922        if (offset !== input) {
2923            if (!keepLocalTime || this._changeInProgress) {
2924                addSubtract(this, createDuration(input - offset, 'm'), 1, false);
2925            } else if (!this._changeInProgress) {
2926                this._changeInProgress = true;
2927                hooks.updateOffset(this, true);
2928                this._changeInProgress = null;
2929            }
2930        }
2931        return this;
2932    } else {
2933        return this._isUTC ? offset : getDateOffset(this);
2934    }
2935}
2936
2937function getSetZone (input, keepLocalTime) {
2938    if (input != null) {
2939        if (typeof input !== 'string') {
2940            input = -input;
2941        }
2942
2943        this.utcOffset(input, keepLocalTime);
2944
2945        return this;
2946    } else {
2947        return -this.utcOffset();
2948    }
2949}
2950
2951function setOffsetToUTC (keepLocalTime) {
2952    return this.utcOffset(0, keepLocalTime);
2953}
2954
2955function setOffsetToLocal (keepLocalTime) {
2956    if (this._isUTC) {
2957        this.utcOffset(0, keepLocalTime);
2958        this._isUTC = false;
2959
2960        if (keepLocalTime) {
2961            this.subtract(getDateOffset(this), 'm');
2962        }
2963    }
2964    return this;
2965}
2966
vendor: 17,969 bytes, lines 2967-3546
2967function setOffsetToParsedOffset () {
2968    if (this._tzm != null) {
2969        this.utcOffset(this._tzm, false, true);
2970    } else if (typeof this._i === 'string') {
2971        var tZone = offsetFromString(matchOffset, this._i);
2972        if (tZone != null) {
2973            this.utcOffset(tZone);
2974        }
2975        else {
2976            this.utcOffset(0, true);
2977        }
2978    }
2979    return this;
2980}
2981
2982function hasAlignedHourOffset (input) {
2983    if (!this.isValid()) {
2984        return false;
2985    }
2986    input = input ? createLocal(input).utcOffset() : 0;
2987
2988    return (this.utcOffset() - input) % 60 === 0;
2989}
2990
2991function isDaylightSavingTime () {
2992    return (
2993        this.utcOffset() > this.clone().month(0).utcOffset() ||
2994        this.utcOffset() > this.clone().month(5).utcOffset()
2995    );
2996}
2997
2998function isDaylightSavingTimeShifted () {
2999    if (!isUndefined(this._isDSTShifted)) {
3000        return this._isDSTShifted;
3001    }
3002
3003    var c = {};
3004
3005    copyConfig(c, this);
3006    c = prepareConfig(c);
3007
3008    if (c._a) {
3009        var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);
3010        this._isDSTShifted = this.isValid() &&
3011            compareArrays(c._a, other.toArray()) > 0;
3012    } else {
3013        this._isDSTShifted = false;
3014    }
3015
3016    return this._isDSTShifted;
3017}
3018
3019function isLocal () {
3020    return this.isValid() ? !this._isUTC : false;
3021}
3022
3023function isUtcOffset () {
3024    return this.isValid() ? this._isUTC : false;
3025}
3026
3027function isUtc () {
3028    return this.isValid() ? this._isUTC && this._offset === 0 : false;
3029}
3030
3031// ASP.NET json date format regex
3032var aspNetRegex = /^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/;
3033
3034// from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
3035// somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere
3036// and further modified to allow for strings containing both week and day
3037var isoRegex = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
3038
3039function createDuration (input, key) {
3040    var duration = input,
3041        // matching against regexp is expensive, do it on demand
3042        match = null,
3043        sign,
3044        ret,
3045        diffRes;
3046
3047    if (isDuration(input)) {
3048        duration = {
3049            ms : input._milliseconds,
3050            d  : input._days,
3051            M  : input._months
3052        };
3053    } else if (isNumber(input)) {
3054        duration = {};
3055        if (key) {
3056            duration[key] = input;
3057        } else {
3058            duration.milliseconds = input;
3059        }
3060    } else if (!!(match = aspNetRegex.exec(input))) {
3061        sign = (match[1] === '-') ? -1 : 1;
3062        duration = {
3063            y  : 0,
3064            d  : toInt(match[DATE])                         * sign,
3065            h  : toInt(match[HOUR])                         * sign,
3066            m  : toInt(match[MINUTE])                       * sign,
3067            s  : toInt(match[SECOND])                       * sign,
3068            ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match
3069        };
3070    } else if (!!(match = isoRegex.exec(input))) {
3071        sign = (match[1] === '-') ? -1 : (match[1] === '+') ? 1 : 1;
3072        duration = {
3073            y : parseIso(match[2], sign),
3074            M : parseIso(match[3], sign),
3075            w : parseIso(match[4], sign),
3076            d : parseIso(match[5], sign),
3077            h : parseIso(match[6], sign),
3078            m : parseIso(match[7], sign),
3079            s : parseIso(match[8], sign)
3080        };
3081    } else if (duration == null) {// checks for null or undefined
3082        duration = {};
3083    } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {
3084        diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));
3085
3086        duration = {};
3087        duration.ms = diffRes.milliseconds;
3088        duration.M = diffRes.months;
3089    }
3090
3091    ret = new Duration(duration);
3092
3093    if (isDuration(input) && hasOwnProp(input, '_locale')) {
3094        ret._locale = input._locale;
3095    }
3096
3097    return ret;
3098}
3099
3100createDuration.fn = Duration.prototype;
3101createDuration.invalid = createInvalid$1;
3102
3103function parseIso (inp, sign) {
3104    // We'd normally use ~~inp for this, but unfortunately it also
3105    // converts floats to ints.
3106    // inp may be undefined, so careful calling replace on it.
3107    var res = inp && parseFloat(inp.replace(',', '.'));
3108    // apply sign while we're at it
3109    return (isNaN(res) ? 0 : res) * sign;
3110}
3111
3112function positiveMomentsDifference(base, other) {
3113    var res = {milliseconds: 0, months: 0};
3114
3115    res.months = other.month() - base.month() +
3116        (other.year() - base.year()) * 12;
3117    if (base.clone().add(res.months, 'M').isAfter(other)) {
3118        --res.months;
3119    }
3120
3121    res.milliseconds = +other - +(base.clone().add(res.months, 'M'));
3122
3123    return res;
3124}
3125
3126function momentsDifference(base, other) {
3127    var res;
3128    if (!(base.isValid() && other.isValid())) {
3129        return {milliseconds: 0, months: 0};
3130    }
3131
3132    other = cloneWithOffset(other, base);
3133    if (base.isBefore(other)) {
3134        res = positiveMomentsDifference(base, other);
3135    } else {
3136        res = positiveMomentsDifference(other, base);
3137        res.milliseconds = -res.milliseconds;
3138        res.months = -res.months;
3139    }
3140
3141    return res;
3142}
3143
3144// TODO: remove 'name' arg after deprecation is removed
3145function createAdder(direction, name) {
3146    return function (val, period) {
3147        var dur, tmp;
3148        //invert the arguments, but complain about it
3149        if (period !== null && !isNaN(+period)) {
3150            deprecateSimple(name, 'moment().' + name  + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +
3151            'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');
3152            tmp = val; val = period; period = tmp;
3153        }
3154
3155        val = typeof val === 'string' ? +val : val;
3156        dur = createDuration(val, period);
3157        addSubtract(this, dur, direction);
3158        return this;
3159    };
3160}
3161
3162function addSubtract (mom, duration, isAdding, updateOffset) {
3163    var milliseconds = duration._milliseconds,
3164        days = absRound(duration._days),
3165        months = absRound(duration._months);
3166
3167    if (!mom.isValid()) {
3168        // No op
3169        return;
3170    }
3171
3172    updateOffset = updateOffset == null ? true : updateOffset;
3173
3174    if (months) {
3175        setMonth(mom, get(mom, 'Month') + months * isAdding);
3176    }
3177    if (days) {
3178        set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);
3179    }
3180    if (milliseconds) {
3181        mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);
3182    }
3183    if (updateOffset) {
3184        hooks.updateOffset(mom, days || months);
3185    }
3186}
3187
3188var add      = createAdder(1, 'add');
3189var subtract = createAdder(-1, 'subtract');
3190
3191function getCalendarFormat(myMoment, now) {
3192    var diff = myMoment.diff(now, 'days', true);
3193    return diff < -6 ? 'sameElse' :
3194            diff < -1 ? 'lastWeek' :
3195            diff < 0 ? 'lastDay' :
3196            diff < 1 ? 'sameDay' :
3197            diff < 2 ? 'nextDay' :
3198            diff < 7 ? 'nextWeek' : 'sameElse';
3199}
3200
3201function calendar$1 (time, formats) {
3202    // We want to compare the start of today, vs this.
3203    // Getting start-of-today depends on whether we're local/utc/offset or not.
3204    var now = time || createLocal(),
3205        sod = cloneWithOffset(now, this).startOf('day'),
3206        format = hooks.calendarFormat(this, sod) || 'sameElse';
3207
3208    var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);
3209
3210    return this.format(output || this.localeData().calendar(format, this, createLocal(now)));
3211}
3212
3213function clone () {
3214    return new Moment(this);
3215}
3216
3217function isAfter (input, units) {
3218    var localInput = isMoment(input) ? input : createLocal(input);
3219    if (!(this.isValid() && localInput.isValid())) {
3220        return false;
3221    }
3222    units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');
3223    if (units === 'millisecond') {
3224        return this.valueOf() > localInput.valueOf();
3225    } else {
3226        return localInput.valueOf() < this.clone().startOf(units).valueOf();
3227    }
3228}
3229
3230function isBefore (input, units) {
3231    var localInput = isMoment(input) ? input : createLocal(input);
3232    if (!(this.isValid() && localInput.isValid())) {
3233        return false;
3234    }
3235    units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');
3236    if (units === 'millisecond') {
3237        return this.valueOf() < localInput.valueOf();
3238    } else {
3239        return this.clone().endOf(units).valueOf() < localInput.valueOf();
3240    }
3241}
3242
3243function isBetween (from, to, units, inclusivity) {
3244    inclusivity = inclusivity || '()';
3245    return (inclusivity[0] === '(' ? this.isAfter(from, units) : !this.isBefore(from, units)) &&
3246        (inclusivity[1] === ')' ? this.isBefore(to, units) : !this.isAfter(to, units));
3247}
3248
3249function isSame (input, units) {
3250    var localInput = isMoment(input) ? input : createLocal(input),
3251        inputMs;
3252    if (!(this.isValid() && localInput.isValid())) {
3253        return false;
3254    }
3255    units = normalizeUnits(units || 'millisecond');
3256    if (units === 'millisecond') {
3257        return this.valueOf() === localInput.valueOf();
3258    } else {
3259        inputMs = localInput.valueOf();
3260        return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();
3261    }
3262}
3263
3264function isSameOrAfter (input, units) {
3265    return this.isSame(input, units) || this.isAfter(input,units);
3266}
3267
3268function isSameOrBefore (input, units) {
3269    return this.isSame(input, units) || this.isBefore(input,units);
3270}
3271
3272function diff (input, units, asFloat) {
3273    var that,
3274        zoneDelta,
3275        delta, output;
3276
3277    if (!this.isValid()) {
3278        return NaN;
3279    }
3280
3281    that = cloneWithOffset(input, this);
3282
3283    if (!that.isValid()) {
3284        return NaN;
3285    }
3286
3287    zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;
3288
3289    units = normalizeUnits(units);
3290
3291    switch (units) {
3292        case 'year': output = monthDiff(this, that) / 12; break;
3293        case 'month': output = monthDiff(this, that); break;
3294        case 'quarter': output = monthDiff(this, that) / 3; break;
3295        case 'second': output = (this - that) / 1e3; break; // 1000
3296        case 'minute': output = (this - that) / 6e4; break; // 1000 * 60
3297        case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60
3298        case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst
3299        case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst
3300        default: output = this - that;
3301    }
3302
3303    return asFloat ? output : absFloor(output);
3304}
3305
3306function monthDiff (a, b) {
3307    // difference in months
3308    var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),
3309        // b is in (anchor - 1 month, anchor + 1 month)
3310        anchor = a.clone().add(wholeMonthDiff, 'months'),
3311        anchor2, adjust;
3312
3313    if (b - anchor < 0) {
3314        anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');
3315        // linear across the month
3316        adjust = (b - anchor) / (anchor - anchor2);
3317    } else {
3318        anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');
3319        // linear across the month
3320        adjust = (b - anchor) / (anchor2 - anchor);
3321    }
3322
3323    //check for negative zero, return zero if negative zero
3324    return -(wholeMonthDiff + adjust) || 0;
3325}
3326
3327hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';
3328hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';
3329
3330function toString () {
3331    return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');
3332}
3333
3334function toISOString(keepOffset) {
3335    if (!this.isValid()) {
3336        return null;
3337    }
3338    var utc = keepOffset !== true;
3339    var m = utc ? this.clone().utc() : this;
3340    if (m.year() < 0 || m.year() > 9999) {
3341        return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');
3342    }
3343    if (isFunction(Date.prototype.toISOString)) {
3344        // native implementation is ~50x faster, use it when we can
3345        if (utc) {
3346            return this.toDate().toISOString();
3347        } else {
3348            return new Date(this._d.valueOf()).toISOString().replace('Z', formatMoment(m, 'Z'));
3349        }
3350    }
3351    return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');
3352}
3353
3354/**
3355 * Return a human readable representation of a moment that can
3356 * also be evaluated to get a new moment which is the same
3357 *
3358 * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects
3359 */
3360function inspect () {
3361    if (!this.isValid()) {
3362        return 'moment.invalid(/* ' + this._i + ' */)';
3363    }
3364    var func = 'moment';
3365    var zone = '';
3366    if (!this.isLocal()) {
3367        func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';
3368        zone = 'Z';
3369    }
3370    var prefix = '[' + func + '("]';
3371    var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';
3372    var datetime = '-MM-DD[T]HH:mm:ss.SSS';
3373    var suffix = zone + '[")]';
3374
3375    return this.format(prefix + year + datetime + suffix);
3376}
3377
3378function format (inputString) {
3379    if (!inputString) {
3380        inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;
3381    }
3382    var output = formatMoment(this, inputString);
3383    return this.localeData().postformat(output);
3384}
3385
3386function from (time, withoutSuffix) {
3387    if (this.isValid() &&
3388            ((isMoment(time) && time.isValid()) ||
3389             createLocal(time).isValid())) {
3390        return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);
3391    } else {
3392        return this.localeData().invalidDate();
3393    }
3394}
3395
3396function fromNow (withoutSuffix) {
3397    return this.from(createLocal(), withoutSuffix);
3398}
3399
3400function to (time, withoutSuffix) {
3401    if (this.isValid() &&
3402            ((isMoment(time) && time.isValid()) ||
3403             createLocal(time).isValid())) {
3404        return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);
3405    } else {
3406        return this.localeData().invalidDate();
3407    }
3408}
3409
3410function toNow (withoutSuffix) {
3411    return this.to(createLocal(), withoutSuffix);
3412}
3413
3414// If passed a locale key, it will set the locale for this
3415// instance.  Otherwise, it will return the locale configuration
3416// variables for this instance.
3417function locale (key) {
3418    var newLocaleData;
3419
3420    if (key === undefined) {
3421        return this._locale._abbr;
3422    } else {
3423        newLocaleData = getLocale(key);
3424        if (newLocaleData != null) {
3425            this._locale = newLocaleData;
3426        }
3427        return this;
3428    }
3429}
3430
3431var lang = deprecate(
3432    'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',
3433    function (key) {
3434        if (key === undefined) {
3435            return this.localeData();
3436        } else {
3437            return this.locale(key);
3438        }
3439    }
3440);
3441
3442function localeData () {
3443    return this._locale;
3444}
3445
3446function startOf (units) {
3447    units = normalizeUnits(units);
3448    // the following switch intentionally omits break keywords
3449    // to utilize falling through the cases.
3450    switch (units) {
3451        case 'year':
3452            this.month(0);
3453            /* falls through */
3454        case 'quarter':
3455        case 'month':
3456            this.date(1);
3457            /* falls through */
3458        case 'week':
3459        case 'isoWeek':
3460        case 'day':
3461        case 'date':
3462            this.hours(0);
3463            /* falls through */
3464        case 'hour':
3465            this.minutes(0);
3466            /* falls through */
3467        case 'minute':
3468            this.seconds(0);
3469            /* falls through */
3470        case 'second':
3471            this.milliseconds(0);
3472    }
3473
3474    // weeks are a special case
3475    if (units === 'week') {
3476        this.weekday(0);
3477    }
3478    if (units === 'isoWeek') {
3479        this.isoWeekday(1);
3480    }
3481
3482    // quarters are also special
3483    if (units === 'quarter') {
3484        this.month(Math.floor(this.month() / 3) * 3);
3485    }
3486
3487    return this;
3488}
3489
3490function endOf (units) {
3491    units = normalizeUnits(units);
3492    if (units === undefined || units === 'millisecond') {
3493        return this;
3494    }
3495
3496    // 'date' is an alias for 'day', so it should be considered as such.
3497    if (units === 'date') {
3498        units = 'day';
3499    }
3500
3501    return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms');
3502}
3503
3504function valueOf () {
3505    return this._d.valueOf() - ((this._offset || 0) * 60000);
3506}
3507
3508function unix () {
3509    return Math.floor(this.valueOf() / 1000);
3510}
3511
3512function toDate () {
3513    return new Date(this.valueOf());
3514}
3515
3516function toArray () {
3517    var m = this;
3518    return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];
3519}
3520
3521function toObject () {
3522    var m = this;
3523    return {
3524        years: m.year(),
3525        months: m.month(),
3526        date: m.date(),
3527        hours: m.hours(),
3528        minutes: m.minutes(),
3529        seconds: m.seconds(),
3530        milliseconds: m.milliseconds()
3531    };
3532}
3533
3534function toJSON () {
3535    // new Date(NaN).toJSON() === null
3536    return this.isValid() ? this.toISOString() : null;
3537}
3538
3539function isValid$2 () {
3540    return isValid(this);
3541}
3542
3543function parsingFlags () {
3544    return extend({}, getParsingFlags(this));
3545}
3546
vendor: 12,433 bytes, lines 3547-4018
3547function invalidAt () {
3548    return getParsingFlags(this).overflow;
3549}
3550
3551function creationData() {
3552    return {
3553        input: this._i,
3554        format: this._f,
3555        locale: this._locale,
3556        isUTC: this._isUTC,
3557        strict: this._strict
3558    };
3559}
3560
3561// FORMATTING
3562
3563addFormatToken(0, ['gg', 2], 0, function () {
3564    return this.weekYear() % 100;
3565});
3566
3567addFormatToken(0, ['GG', 2], 0, function () {
3568    return this.isoWeekYear() % 100;
3569});
3570
3571function addWeekYearFormatToken (token, getter) {
3572    addFormatToken(0, [token, token.length], 0, getter);
3573}
3574
3575addWeekYearFormatToken('gggg',     'weekYear');
3576addWeekYearFormatToken('ggggg',    'weekYear');
3577addWeekYearFormatToken('GGGG',  'isoWeekYear');
3578addWeekYearFormatToken('GGGGG', 'isoWeekYear');
3579
3580// ALIASES
3581
3582addUnitAlias('weekYear', 'gg');
3583addUnitAlias('isoWeekYear', 'GG');
3584
3585// PRIORITY
3586
3587addUnitPriority('weekYear', 1);
3588addUnitPriority('isoWeekYear', 1);
3589
3590
3591// PARSING
3592
3593addRegexToken('G',      matchSigned);
3594addRegexToken('g',      matchSigned);
3595addRegexToken('GG',     match1to2, match2);
3596addRegexToken('gg',     match1to2, match2);
3597addRegexToken('GGGG',   match1to4, match4);
3598addRegexToken('gggg',   match1to4, match4);
3599addRegexToken('GGGGG',  match1to6, match6);
3600addRegexToken('ggggg',  match1to6, match6);
3601
3602addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {
3603    week[token.substr(0, 2)] = toInt(input);
3604});
3605
3606addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {
3607    week[token] = hooks.parseTwoDigitYear(input);
3608});
3609
3610// MOMENTS
3611
3612function getSetWeekYear (input) {
3613    return getSetWeekYearHelper.call(this,
3614            input,
3615            this.week(),
3616            this.weekday(),
3617            this.localeData()._week.dow,
3618            this.localeData()._week.doy);
3619}
3620
3621function getSetISOWeekYear (input) {
3622    return getSetWeekYearHelper.call(this,
3623            input, this.isoWeek(), this.isoWeekday(), 1, 4);
3624}
3625
3626function getISOWeeksInYear () {
3627    return weeksInYear(this.year(), 1, 4);
3628}
3629
3630function getWeeksInYear () {
3631    var weekInfo = this.localeData()._week;
3632    return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);
3633}
3634
3635function getSetWeekYearHelper(input, week, weekday, dow, doy) {
3636    var weeksTarget;
3637    if (input == null) {
3638        return weekOfYear(this, dow, doy).year;
3639    } else {
3640        weeksTarget = weeksInYear(input, dow, doy);
3641        if (week > weeksTarget) {
3642            week = weeksTarget;
3643        }
3644        return setWeekAll.call(this, input, week, weekday, dow, doy);
3645    }
3646}
3647
3648function setWeekAll(weekYear, week, weekday, dow, doy) {
3649    var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),
3650        date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);
3651
3652    this.year(date.getUTCFullYear());
3653    this.month(date.getUTCMonth());
3654    this.date(date.getUTCDate());
3655    return this;
3656}
3657
3658// FORMATTING
3659
3660addFormatToken('Q', 0, 'Qo', 'quarter');
3661
3662// ALIASES
3663
3664addUnitAlias('quarter', 'Q');
3665
3666// PRIORITY
3667
3668addUnitPriority('quarter', 7);
3669
3670// PARSING
3671
3672addRegexToken('Q', match1);
3673addParseToken('Q', function (input, array) {
3674    array[MONTH] = (toInt(input) - 1) * 3;
3675});
3676
3677// MOMENTS
3678
3679function getSetQuarter (input) {
3680    return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);
3681}
3682
3683// FORMATTING
3684
3685addFormatToken('D', ['DD', 2], 'Do', 'date');
3686
3687// ALIASES
3688
3689addUnitAlias('date', 'D');
3690
3691// PRIOROITY
3692addUnitPriority('date', 9);
3693
3694// PARSING
3695
3696addRegexToken('D',  match1to2);
3697addRegexToken('DD', match1to2, match2);
3698addRegexToken('Do', function (isStrict, locale) {
3699    // TODO: Remove "ordinalParse" fallback in next major release.
3700    return isStrict ?
3701      (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :
3702      locale._dayOfMonthOrdinalParseLenient;
3703});
3704
3705addParseToken(['D', 'DD'], DATE);
3706addParseToken('Do', function (input, array) {
3707    array[DATE] = toInt(input.match(match1to2)[0]);
3708});
3709
3710// MOMENTS
3711
3712var getSetDayOfMonth = makeGetSet('Date', true);
3713
3714// FORMATTING
3715
3716addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');
3717
3718// ALIASES
3719
3720addUnitAlias('dayOfYear', 'DDD');
3721
3722// PRIORITY
3723addUnitPriority('dayOfYear', 4);
3724
3725// PARSING
3726
3727addRegexToken('DDD',  match1to3);
3728addRegexToken('DDDD', match3);
3729addParseToken(['DDD', 'DDDD'], function (input, array, config) {
3730    config._dayOfYear = toInt(input);
3731});
3732
3733// HELPERS
3734
3735// MOMENTS
3736
3737function getSetDayOfYear (input) {
3738    var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;
3739    return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');
3740}
3741
3742// FORMATTING
3743
3744addFormatToken('m', ['mm', 2], 0, 'minute');
3745
3746// ALIASES
3747
3748addUnitAlias('minute', 'm');
3749
3750// PRIORITY
3751
3752addUnitPriority('minute', 14);
3753
3754// PARSING
3755
3756addRegexToken('m',  match1to2);
3757addRegexToken('mm', match1to2, match2);
3758addParseToken(['m', 'mm'], MINUTE);
3759
3760// MOMENTS
3761
3762var getSetMinute = makeGetSet('Minutes', false);
3763
3764// FORMATTING
3765
3766addFormatToken('s', ['ss', 2], 0, 'second');
3767
3768// ALIASES
3769
3770addUnitAlias('second', 's');
3771
3772// PRIORITY
3773
3774addUnitPriority('second', 15);
3775
3776// PARSING
3777
3778addRegexToken('s',  match1to2);
3779addRegexToken('ss', match1to2, match2);
3780addParseToken(['s', 'ss'], SECOND);
3781
3782// MOMENTS
3783
3784var getSetSecond = makeGetSet('Seconds', false);
3785
3786// FORMATTING
3787
3788addFormatToken('S', 0, 0, function () {
3789    return ~~(this.millisecond() / 100);
3790});
3791
3792addFormatToken(0, ['SS', 2], 0, function () {
3793    return ~~(this.millisecond() / 10);
3794});
3795
3796addFormatToken(0, ['SSS', 3], 0, 'millisecond');
3797addFormatToken(0, ['SSSS', 4], 0, function () {
3798    return this.millisecond() * 10;
3799});
3800addFormatToken(0, ['SSSSS', 5], 0, function () {
3801    return this.millisecond() * 100;
3802});
3803addFormatToken(0, ['SSSSSS', 6], 0, function () {
3804    return this.millisecond() * 1000;
3805});
3806addFormatToken(0, ['SSSSSSS', 7], 0, function () {
3807    return this.millisecond() * 10000;
3808});
3809addFormatToken(0, ['SSSSSSSS', 8], 0, function () {
3810    return this.millisecond() * 100000;
3811});
3812addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {
3813    return this.millisecond() * 1000000;
3814});
3815
3816
3817// ALIASES
3818
3819addUnitAlias('millisecond', 'ms');
3820
3821// PRIORITY
3822
3823addUnitPriority('millisecond', 16);
3824
3825// PARSING
3826
3827addRegexToken('S',    match1to3, match1);
3828addRegexToken('SS',   match1to3, match2);
3829addRegexToken('SSS',  match1to3, match3);
3830
3831var token;
3832for (token = 'SSSS'; token.length <= 9; token += 'S') {
3833    addRegexToken(token, matchUnsigned);
3834}
3835
3836function parseMs(input, array) {
3837    array[MILLISECOND] = toInt(('0.' + input) * 1000);
3838}
3839
3840for (token = 'S'; token.length <= 9; token += 'S') {
3841    addParseToken(token, parseMs);
3842}
3843// MOMENTS
3844
3845var getSetMillisecond = makeGetSet('Milliseconds', false);
3846
3847// FORMATTING
3848
3849addFormatToken('z',  0, 0, 'zoneAbbr');
3850addFormatToken('zz', 0, 0, 'zoneName');
3851
3852// MOMENTS
3853
3854function getZoneAbbr () {
3855    return this._isUTC ? 'UTC' : '';
3856}
3857
3858function getZoneName () {
3859    return this._isUTC ? 'Coordinated Universal Time' : '';
3860}
3861
3862var proto = Moment.prototype;
3863
3864proto.add               = add;
3865proto.calendar          = calendar$1;
3866proto.clone             = clone;
3867proto.diff              = diff;
3868proto.endOf             = endOf;
3869proto.format            = format;
3870proto.from              = from;
3871proto.fromNow           = fromNow;
3872proto.to                = to;
3873proto.toNow             = toNow;
3874proto.get               = stringGet;
3875proto.invalidAt         = invalidAt;
3876proto.isAfter           = isAfter;
3877proto.isBefore          = isBefore;
3878proto.isBetween         = isBetween;
3879proto.isSame            = isSame;
3880proto.isSameOrAfter     = isSameOrAfter;
3881proto.isSameOrBefore    = isSameOrBefore;
3882proto.isValid           = isValid$2;
3883proto.lang              = lang;
3884proto.locale            = locale;
3885proto.localeData        = localeData;
3886proto.max               = prototypeMax;
3887proto.min               = prototypeMin;
3888proto.parsingFlags      = parsingFlags;
3889proto.set               = stringSet;
3890proto.startOf           = startOf;
3891proto.subtract          = subtract;
3892proto.toArray           = toArray;
3893proto.toObject          = toObject;
3894proto.toDate            = toDate;
3895proto.toISOString       = toISOString;
3896proto.inspect           = inspect;
3897proto.toJSON            = toJSON;
3898proto.toString          = toString;
3899proto.unix              = unix;
3900proto.valueOf           = valueOf;
3901proto.creationData      = creationData;
3902
3903// Year
3904proto.year       = getSetYear;
3905proto.isLeapYear = getIsLeapYear;
3906
3907// Week Year
3908proto.weekYear    = getSetWeekYear;
3909proto.isoWeekYear = getSetISOWeekYear;
3910
3911// Quarter
3912proto.quarter = proto.quarters = getSetQuarter;
3913
3914// Month
3915proto.month       = getSetMonth;
3916proto.daysInMonth = getDaysInMonth;
3917
3918// Week
3919proto.week           = proto.weeks        = getSetWeek;
3920proto.isoWeek        = proto.isoWeeks     = getSetISOWeek;
3921proto.weeksInYear    = getWeeksInYear;
3922proto.isoWeeksInYear = getISOWeeksInYear;
3923
3924// Day
3925proto.date       = getSetDayOfMonth;
3926proto.day        = proto.days             = getSetDayOfWeek;
3927proto.weekday    = getSetLocaleDayOfWeek;
3928proto.isoWeekday = getSetISODayOfWeek;
3929proto.dayOfYear  = getSetDayOfYear;
3930
3931// Hour
3932proto.hour = proto.hours = getSetHour;
3933
3934// Minute
3935proto.minute = proto.minutes = getSetMinute;
3936
3937// Second
3938proto.second = proto.seconds = getSetSecond;
3939
3940// Millisecond
3941proto.millisecond = proto.milliseconds = getSetMillisecond;
3942
3943// Offset
3944proto.utcOffset            = getSetOffset;
3945proto.utc                  = setOffsetToUTC;
3946proto.local                = setOffsetToLocal;
3947proto.parseZone            = setOffsetToParsedOffset;
3948proto.hasAlignedHourOffset = hasAlignedHourOffset;
3949proto.isDST                = isDaylightSavingTime;
3950proto.isLocal              = isLocal;
3951proto.isUtcOffset          = isUtcOffset;
3952proto.isUtc                = isUtc;
3953proto.isUTC                = isUtc;
3954
3955// Timezone
3956proto.zoneAbbr = getZoneAbbr;
3957proto.zoneName = getZoneName;
3958
3959// Deprecations
3960proto.dates  = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);
3961proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);
3962proto.years  = deprecate('years accessor is deprecated. Use year instead', getSetYear);
3963proto.zone   = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);
3964proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);
3965
3966function createUnix (input) {
3967    return createLocal(input * 1000);
3968}
3969
3970function createInZone () {
3971    return createLocal.apply(null, arguments).parseZone();
3972}
3973
3974function preParsePostFormat (string) {
3975    return string;
3976}
3977
3978var proto$1 = Locale.prototype;
3979
3980proto$1.calendar        = calendar;
3981proto$1.longDateFormat  = longDateFormat;
3982proto$1.invalidDate     = invalidDate;
3983proto$1.ordinal         = ordinal;
3984proto$1.preparse        = preParsePostFormat;
3985proto$1.postformat      = preParsePostFormat;
3986proto$1.relativeTime    = relativeTime;
3987proto$1.pastFuture      = pastFuture;
3988proto$1.set             = set;
3989
3990// Month
3991proto$1.months            =        localeMonths;
3992proto$1.monthsShort       =        localeMonthsShort;
3993proto$1.monthsParse       =        localeMonthsParse;
3994proto$1.monthsRegex       = monthsRegex;
3995proto$1.monthsShortRegex  = monthsShortRegex;
3996
3997// Week
3998proto$1.week = localeWeek;
3999proto$1.firstDayOfYear = localeFirstDayOfYear;
4000proto$1.firstDayOfWeek = localeFirstDayOfWeek;
4001
4002// Day of Week
4003proto$1.weekdays       =        localeWeekdays;
4004proto$1.weekdaysMin    =        localeWeekdaysMin;
4005proto$1.weekdaysShort  =        localeWeekdaysShort;
4006proto$1.weekdaysParse  =        localeWeekdaysParse;
4007
4008proto$1.weekdaysRegex       =        weekdaysRegex;
4009proto$1.weekdaysShortRegex  =        weekdaysShortRegex;
4010proto$1.weekdaysMinRegex    =        weekdaysMinRegex;
4011
4012// Hours
4013proto$1.isPM = localeIsPM;
4014proto$1.meridiem = localeMeridiem;
4015
4016function get$1 (format, index, field, setter) {
4017    var locale = getLocale();
4018    var utc = createUTC().set(setter, index);
vendor: 8,224 bytes, lines 4019-4311
4019    return locale[field](utc, format);
4020}
4021
4022function listMonthsImpl (format, index, field) {
4023    if (isNumber(format)) {
4024        index = format;
4025        format = undefined;
4026    }
4027
4028    format = format || '';
4029
4030    if (index != null) {
4031        return get$1(format, index, field, 'month');
4032    }
4033
4034    var i;
4035    var out = [];
4036    for (i = 0; i < 12; i++) {
4037        out[i] = get$1(format, i, field, 'month');
4038    }
4039    return out;
4040}
4041
4042// ()
4043// (5)
4044// (fmt, 5)
4045// (fmt)
4046// (true)
4047// (true, 5)
4048// (true, fmt, 5)
4049// (true, fmt)
4050function listWeekdaysImpl (localeSorted, format, index, field) {
4051    if (typeof localeSorted === 'boolean') {
4052        if (isNumber(format)) {
4053            index = format;
4054            format = undefined;
4055        }
4056
4057        format = format || '';
4058    } else {
4059        format = localeSorted;
4060        index = format;
4061        localeSorted = false;
4062
4063        if (isNumber(format)) {
4064            index = format;
4065            format = undefined;
4066        }
4067
4068        format = format || '';
4069    }
4070
4071    var locale = getLocale(),
4072        shift = localeSorted ? locale._week.dow : 0;
4073
4074    if (index != null) {
4075        return get$1(format, (index + shift) % 7, field, 'day');
4076    }
4077
4078    var i;
4079    var out = [];
4080    for (i = 0; i < 7; i++) {
4081        out[i] = get$1(format, (i + shift) % 7, field, 'day');
4082    }
4083    return out;
4084}
4085
4086function listMonths (format, index) {
4087    return listMonthsImpl(format, index, 'months');
4088}
4089
4090function listMonthsShort (format, index) {
4091    return listMonthsImpl(format, index, 'monthsShort');
4092}
4093
4094function listWeekdays (localeSorted, format, index) {
4095    return listWeekdaysImpl(localeSorted, format, index, 'weekdays');
4096}
4097
4098function listWeekdaysShort (localeSorted, format, index) {
4099    return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');
4100}
4101
4102function listWeekdaysMin (localeSorted, format, index) {
4103    return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');
4104}
4105
4106getSetGlobalLocale('en', {
4107    dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
4108    ordinal : function (number) {
4109        var b = number % 10,
4110            output = (toInt(number % 100 / 10) === 1) ? 'th' :
4111            (b === 1) ? 'st' :
4112            (b === 2) ? 'nd' :
4113            (b === 3) ? 'rd' : 'th';
4114        return number + output;
4115    }
4116});
4117
4118// Side effect imports
4119hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);
4120hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);
4121
4122var mathAbs = Math.abs;
4123
4124function abs () {
4125    var data           = this._data;
4126
4127    this._milliseconds = mathAbs(this._milliseconds);
4128    this._days         = mathAbs(this._days);
4129    this._months       = mathAbs(this._months);
4130
4131    data.milliseconds  = mathAbs(data.milliseconds);
4132    data.seconds       = mathAbs(data.seconds);
4133    data.minutes       = mathAbs(data.minutes);
4134    data.hours         = mathAbs(data.hours);
4135    data.months        = mathAbs(data.months);
4136    data.years         = mathAbs(data.years);
4137
4138    return this;
4139}
4140
4141function addSubtract$1 (duration, input, value, direction) {
4142    var other = createDuration(input, value);
4143
4144    duration._milliseconds += direction * other._milliseconds;
4145    duration._days         += direction * other._days;
4146    duration._months       += direction * other._months;
4147
4148    return duration._bubble();
4149}
4150
4151// supports only 2.0-style add(1, 's') or add(duration)
4152function add$1 (input, value) {
4153    return addSubtract$1(this, input, value, 1);
4154}
4155
4156// supports only 2.0-style subtract(1, 's') or subtract(duration)
4157function subtract$1 (input, value) {
4158    return addSubtract$1(this, input, value, -1);
4159}
4160
4161function absCeil (number) {
4162    if (number < 0) {
4163        return Math.floor(number);
4164    } else {
4165        return Math.ceil(number);
4166    }
4167}
4168
4169function bubble () {
4170    var milliseconds = this._milliseconds;
4171    var days         = this._days;
4172    var months       = this._months;
4173    var data         = this._data;
4174    var seconds, minutes, hours, years, monthsFromDays;
4175
4176    // if we have a mix of positive and negative values, bubble down first
4177    // check: https://github.com/moment/moment/issues/2166
4178    if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||
4179            (milliseconds <= 0 && days <= 0 && months <= 0))) {
4180        milliseconds += absCeil(monthsToDays(months) + days) * 864e5;
4181        days = 0;
4182        months = 0;
4183    }
4184
4185    // The following code bubbles up values, see the tests for
4186    // examples of what that means.
4187    data.milliseconds = milliseconds % 1000;
4188
4189    seconds           = absFloor(milliseconds / 1000);
4190    data.seconds      = seconds % 60;
4191
4192    minutes           = absFloor(seconds / 60);
4193    data.minutes      = minutes % 60;
4194
4195    hours             = absFloor(minutes / 60);
4196    data.hours        = hours % 24;
4197
4198    days += absFloor(hours / 24);
4199
4200    // convert days to months
4201    monthsFromDays = absFloor(daysToMonths(days));
4202    months += monthsFromDays;
4203    days -= absCeil(monthsToDays(monthsFromDays));
4204
4205    // 12 months -> 1 year
4206    years = absFloor(months / 12);
4207    months %= 12;
4208
4209    data.days   = days;
4210    data.months = months;
4211    data.years  = years;
4212
4213    return this;
4214}
4215
4216function daysToMonths (days) {
4217    // 400 years have 146097 days (taking into account leap year rules)
4218    // 400 years have 12 months === 4800
4219    return days * 4800 / 146097;
4220}
4221
4222function monthsToDays (months) {
4223    // the reverse of daysToMonths
4224    return months * 146097 / 4800;
4225}
4226
4227function as (units) {
4228    if (!this.isValid()) {
4229        return NaN;
4230    }
4231    var days;
4232    var months;
4233    var milliseconds = this._milliseconds;
4234
4235    units = normalizeUnits(units);
4236
4237    if (units === 'month' || units === 'year') {
4238        days   = this._days   + milliseconds / 864e5;
4239        months = this._months + daysToMonths(days);
4240        return units === 'month' ? months : months / 12;
4241    } else {
4242        // handle milliseconds separately because of floating point math errors (issue #1867)
4243        days = this._days + Math.round(monthsToDays(this._months));
4244        switch (units) {
4245            case 'week'   : return days / 7     + milliseconds / 6048e5;
4246            case 'day'    : return days         + milliseconds / 864e5;
4247            case 'hour'   : return days * 24    + milliseconds / 36e5;
4248            case 'minute' : return days * 1440  + milliseconds / 6e4;
4249            case 'second' : return days * 86400 + milliseconds / 1000;
4250            // Math.floor prevents floating point math errors here
4251            case 'millisecond': return Math.floor(days * 864e5) + milliseconds;
4252            default: throw new Error('Unknown unit ' + units);
4253        }
4254    }
4255}
4256
4257// TODO: Use this.as('ms')?
4258function valueOf$1 () {
4259    if (!this.isValid()) {
4260        return NaN;
4261    }
4262    return (
4263        this._milliseconds +
4264        this._days * 864e5 +
4265        (this._months % 12) * 2592e6 +
4266        toInt(this._months / 12) * 31536e6
4267    );
4268}
4269
4270function makeAs (alias) {
4271    return function () {
4272        return this.as(alias);
4273    };
4274}
4275
4276var asMilliseconds = makeAs('ms');
4277var asSeconds      = makeAs('s');
4278var asMinutes      = makeAs('m');
4279var asHours        = makeAs('h');
4280var asDays         = makeAs('d');
4281var asWeeks        = makeAs('w');
4282var asMonths       = makeAs('M');
4283var asYears        = makeAs('y');
4284
4285function clone$1 () {
4286    return createDuration(this);
4287}
4288
4289function get$2 (units) {
4290    units = normalizeUnits(units);
4291    return this.isValid() ? this[units + 's']() : NaN;
4292}
4293
4294function makeGetter(name) {
4295    return function () {
4296        return this.isValid() ? this._data[name] : NaN;
4297    };
4298}
4299
4300var milliseconds = makeGetter('milliseconds');
4301var seconds      = makeGetter('seconds');
4302var minutes      = makeGetter('minutes');
4303var hours        = makeGetter('hours');
4304var days         = makeGetter('days');
4305var months       = makeGetter('months');
4306var years        = makeGetter('years');
4307
4308function weeks () {
4309    return absFloor(this.days() / 7);
4310}
4311
vendor: 6,445 bytes, lines 4312-4507
4312var round = Math.round;
4313var thresholds = {
4314    ss: 44,         // a few seconds to seconds
4315    s : 45,         // seconds to minute
4316    m : 45,         // minutes to hour
4317    h : 22,         // hours to day
4318    d : 26,         // days to month
4319    M : 11          // months to year
4320};
4321
4322// helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
4323function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {
4324    return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);
4325}
4326
4327function relativeTime$1 (posNegDuration, withoutSuffix, locale) {
4328    var duration = createDuration(posNegDuration).abs();
4329    var seconds  = round(duration.as('s'));
4330    var minutes  = round(duration.as('m'));
4331    var hours    = round(duration.as('h'));
4332    var days     = round(duration.as('d'));
4333    var months   = round(duration.as('M'));
4334    var years    = round(duration.as('y'));
4335
4336    var a = seconds <= thresholds.ss && ['s', seconds]  ||
4337            seconds < thresholds.s   && ['ss', seconds] ||
4338            minutes <= 1             && ['m']           ||
4339            minutes < thresholds.m   && ['mm', minutes] ||
4340            hours   <= 1             && ['h']           ||
4341            hours   < thresholds.h   && ['hh', hours]   ||
4342            days    <= 1             && ['d']           ||
4343            days    < thresholds.d   && ['dd', days]    ||
4344            months  <= 1             && ['M']           ||
4345            months  < thresholds.M   && ['MM', months]  ||
4346            years   <= 1             && ['y']           || ['yy', years];
4347
4348    a[2] = withoutSuffix;
4349    a[3] = +posNegDuration > 0;
4350    a[4] = locale;
4351    return substituteTimeAgo.apply(null, a);
4352}
4353
4354// This function allows you to set the rounding function for relative time strings
4355function getSetRelativeTimeRounding (roundingFunction) {
4356    if (roundingFunction === undefined) {
4357        return round;
4358    }
4359    if (typeof(roundingFunction) === 'function') {
4360        round = roundingFunction;
4361        return true;
4362    }
4363    return false;
4364}
4365
4366// This function allows you to set a threshold for relative time strings
4367function getSetRelativeTimeThreshold (threshold, limit) {
4368    if (thresholds[threshold] === undefined) {
4369        return false;
4370    }
4371    if (limit === undefined) {
4372        return thresholds[threshold];
4373    }
4374    thresholds[threshold] = limit;
4375    if (threshold === 's') {
4376        thresholds.ss = limit - 1;
4377    }
4378    return true;
4379}
4380
4381function humanize (withSuffix) {
4382    if (!this.isValid()) {
4383        return this.localeData().invalidDate();
4384    }
4385
4386    var locale = this.localeData();
4387    var output = relativeTime$1(this, !withSuffix, locale);
4388
4389    if (withSuffix) {
4390        output = locale.pastFuture(+this, output);
4391    }
4392
4393    return locale.postformat(output);
4394}
4395
4396var abs$1 = Math.abs;
4397
4398function sign(x) {
4399    return ((x > 0) - (x < 0)) || +x;
4400}
4401
4402function toISOString$1() {
4403    // for ISO strings we do not use the normal bubbling rules:
4404    //  * milliseconds bubble up until they become hours
4405    //  * days do not bubble at all
4406    //  * months bubble up until they become years
4407    // This is because there is no context-free conversion between hours and days
4408    // (think of clock changes)
4409    // and also not between days and months (28-31 days per month)
4410    if (!this.isValid()) {
4411        return this.localeData().invalidDate();
4412    }
4413
4414    var seconds = abs$1(this._milliseconds) / 1000;
4415    var days         = abs$1(this._days);
4416    var months       = abs$1(this._months);
4417    var minutes, hours, years;
4418
4419    // 3600 seconds -> 60 minutes -> 1 hour
4420    minutes           = absFloor(seconds / 60);
4421    hours             = absFloor(minutes / 60);
4422    seconds %= 60;
4423    minutes %= 60;
4424
4425    // 12 months -> 1 year
4426    years  = absFloor(months / 12);
4427    months %= 12;
4428
4429
4430    // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
4431    var Y = years;
4432    var M = months;
4433    var D = days;
4434    var h = hours;
4435    var m = minutes;
4436    var s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : '';
4437    var total = this.asSeconds();
4438
4439    if (!total) {
4440        // this is the same as C#'s (Noda) and python (isodate)...
4441        // but not other JS (goog.date)
4442        return 'P0D';
4443    }
4444
4445    var totalSign = total < 0 ? '-' : '';
4446    var ymSign = sign(this._months) !== sign(total) ? '-' : '';
4447    var daysSign = sign(this._days) !== sign(total) ? '-' : '';
4448    var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';
4449
4450    return totalSign + 'P' +
4451        (Y ? ymSign + Y + 'Y' : '') +
4452        (M ? ymSign + M + 'M' : '') +
4453        (D ? daysSign + D + 'D' : '') +
4454        ((h || m || s) ? 'T' : '') +
4455        (h ? hmsSign + h + 'H' : '') +
4456        (m ? hmsSign + m + 'M' : '') +
4457        (s ? hmsSign + s + 'S' : '');
4458}
4459
4460var proto$2 = Duration.prototype;
4461
4462proto$2.isValid        = isValid$1;
4463proto$2.abs            = abs;
4464proto$2.add            = add$1;
4465proto$2.subtract       = subtract$1;
4466proto$2.as             = as;
4467proto$2.asMilliseconds = asMilliseconds;
4468proto$2.asSeconds      = asSeconds;
4469proto$2.asMinutes      = asMinutes;
4470proto$2.asHours        = asHours;
4471proto$2.asDays         = asDays;
4472proto$2.asWeeks        = asWeeks;
4473proto$2.asMonths       = asMonths;
4474proto$2.asYears        = asYears;
4475proto$2.valueOf        = valueOf$1;
4476proto$2._bubble        = bubble;
4477proto$2.clone          = clone$1;
4478proto$2.get            = get$2;
4479proto$2.milliseconds   = milliseconds;
4480proto$2.seconds        = seconds;
4481proto$2.minutes        = minutes;
4482proto$2.hours          = hours;
4483proto$2.days           = days;
4484proto$2.weeks          = weeks;
4485proto$2.months         = months;
4486proto$2.years          = years;
4487proto$2.humanize       = humanize;
4488proto$2.toISOString    = toISOString$1;
4489proto$2.toString       = toISOString$1;
4490proto$2.toJSON         = toISOString$1;
4491proto$2.locale         = locale;
4492proto$2.localeData     = localeData;
4493
4494// Deprecations
4495proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);
4496proto$2.lang = lang;
4497
4498// Side effect imports
4499
4500// FORMATTING
4501
4502addFormatToken('X', 0, 0, 'unix');
4503addFormatToken('x', 0, 0, 'valueOf');
4504
4505// PARSING
4506
4507addRegexToken('x', matchSigned);
vendor: 6,648 bytes, lines 4508-4740
4508addRegexToken('X', matchTimestamp);
4509addParseToken('X', function (input, array, config) {
4510    config._d = new Date(parseFloat(input, 10) * 1000);
4511});
4512addParseToken('x', function (input, array, config) {
4513    config._d = new Date(toInt(input));
4514});
4515
4516// Side effect imports
4517
4518
4519hooks.version = '2.20.1';
4520
4521setHookCallback(createLocal);
4522
4523hooks.fn                    = proto;
4524hooks.min                   = min;
4525hooks.max                   = max;
4526hooks.now                   = now;
4527hooks.utc                   = createUTC;
4528hooks.unix                  = createUnix;
4529hooks.months                = listMonths;
4530hooks.isDate                = isDate;
4531hooks.locale                = getSetGlobalLocale;
4532hooks.invalid               = createInvalid;
4533hooks.duration              = createDuration;
4534hooks.isMoment              = isMoment;
4535hooks.weekdays              = listWeekdays;
4536hooks.parseZone             = createInZone;
4537hooks.localeData            = getLocale;
4538hooks.isDuration            = isDuration;
4539hooks.monthsShort           = listMonthsShort;
4540hooks.weekdaysMin           = listWeekdaysMin;
4541hooks.defineLocale          = defineLocale;
4542hooks.updateLocale          = updateLocale;
4543hooks.locales               = listLocales;
4544hooks.weekdaysShort         = listWeekdaysShort;
4545hooks.normalizeUnits        = normalizeUnits;
4546hooks.relativeTimeRounding  = getSetRelativeTimeRounding;
4547hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;
4548hooks.calendarFormat        = getCalendarFormat;
4549hooks.prototype             = proto;
4550
4551// currently HTML5 input type only supports 24-hour formats
4552hooks.HTML5_FMT = {
4553    DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm',             // <input type="datetime-local" />
4554    DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss',  // <input type="datetime-local" step="1" />
4555    DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS',   // <input type="datetime-local" step="0.001" />
4556    DATE: 'YYYY-MM-DD',                             // <input type="date" />
4557    TIME: 'HH:mm',                                  // <input type="time" />
4558    TIME_SECONDS: 'HH:mm:ss',                       // <input type="time" step="1" />
4559    TIME_MS: 'HH:mm:ss.SSS',                        // <input type="time" step="0.001" />
4560    WEEK: 'YYYY-[W]WW',                             // <input type="week" />
4561    MONTH: 'YYYY-MM'                                // <input type="month" />
4562};
4563
4564return hooks;
4565
4566})));
4567;
4568//! moment-timezone.js
4569//! version : 0.5.14
4570//! Copyright (c) JS Foundation and other contributors
4571//! license : MIT
4572//! github.com/moment/moment-timezone
4573
4574(function (root, factory) {
4575	"use strict";
4576
4577	/*global define*/
4578	if (typeof define === 'function' && define.amd) {
4579		define(['moment'], factory);                 // AMD
4580	} else if (typeof module === 'object' && module.exports) {
4581		module.exports = factory(require('moment')); // Node
4582	} else {
4583		factory(root.moment);                        // Browser
4584	}
4585}(this, function (moment) {
4586	"use strict";
4587
4588	// Do not load moment-timezone a second time.
4589	// if (moment.tz !== undefined) {
4590	// 	logError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion);
4591	// 	return moment;
4592	// }
4593
4594	var VERSION = "0.5.14",
4595		zones = {},
4596		links = {},
4597		names = {},
4598		guesses = {},
4599		cachedGuess,
4600
4601		momentVersion = moment.version.split('.'),
4602		major = +momentVersion[0],
4603		minor = +momentVersion[1];
4604
4605	// Moment.js version check
4606	if (major < 2 || (major === 2 && minor < 6)) {
4607		logError('Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js ' + moment.version + '. See momentjs.com');
4608	}
4609
4610	/************************************
4611		Unpacking
4612	************************************/
4613
4614	function charCodeToInt(charCode) {
4615		if (charCode > 96) {
4616			return charCode - 87;
4617		} else if (charCode > 64) {
4618			return charCode - 29;
4619		}
4620		return charCode - 48;
4621	}
4622
4623	function unpackBase60(string) {
4624		var i = 0,
4625			parts = string.split('.'),
4626			whole = parts[0],
4627			fractional = parts[1] || '',
4628			multiplier = 1,
4629			num,
4630			out = 0,
4631			sign = 1;
4632
4633		// handle negative numbers
4634		if (string.charCodeAt(0) === 45) {
4635			i = 1;
4636			sign = -1;
4637		}
4638
4639		// handle digits before the decimal
4640		for (i; i < whole.length; i++) {
4641			num = charCodeToInt(whole.charCodeAt(i));
4642			out = 60 * out + num;
4643		}
4644
4645		// handle digits after the decimal
4646		for (i = 0; i < fractional.length; i++) {
4647			multiplier = multiplier / 60;
4648			num = charCodeToInt(fractional.charCodeAt(i));
4649			out += num * multiplier;
4650		}
4651
4652		return out * sign;
4653	}
4654
4655	function arrayToInt (array) {
4656		for (var i = 0; i < array.length; i++) {
4657			array[i] = unpackBase60(array[i]);
4658		}
4659	}
4660
4661	function intToUntil (array, length) {
4662		for (var i = 0; i < length; i++) {
4663			array[i] = Math.round((array[i - 1] || 0) + (array[i] * 60000)); // minutes to milliseconds
4664		}
4665
4666		array[length - 1] = Infinity;
4667	}
4668
4669	function mapIndices (source, indices) {
4670		var out = [], i;
4671
4672		for (i = 0; i < indices.length; i++) {
4673			out[i] = source[indices[i]];
4674		}
4675
4676		return out;
4677	}
4678
4679	function unpack (string) {
4680		var data = string.split('|'),
4681			offsets = data[2].split(' '),
4682			indices = data[3].split(''),
4683			untils  = data[4].split(' ');
4684
4685		arrayToInt(offsets);
4686		arrayToInt(indices);
4687		arrayToInt(untils);
4688
4689		intToUntil(untils, indices.length);
4690
4691		return {
4692			name       : data[0],
4693			abbrs      : mapIndices(data[1].split(' '), indices),
4694			offsets    : mapIndices(offsets, indices),
4695			untils     : untils,
4696			population : data[5] | 0
4697		};
4698	}
4699
4700	/************************************
4701		Zone object
4702	************************************/
4703
4704	function Zone (packedString) {
4705		if (packedString) {
4706			this._set(unpack(packedString));
4707		}
4708	}
4709
4710	Zone.prototype = {
4711		_set : function (unpacked) {
4712			this.name       = unpacked.name;
4713			this.abbrs      = unpacked.abbrs;
4714			this.untils     = unpacked.untils;
4715			this.offsets    = unpacked.offsets;
4716			this.population = unpacked.population;
4717		},
4718
4719		_index : function (timestamp) {
4720			var target = +timestamp,
4721				untils = this.untils,
4722				i;
4723
4724			for (i = 0; i < untils.length; i++) {
4725				if (target < untils[i]) {
4726					return i;
4727				}
4728			}
4729		},
4730
4731		parse : function (timestamp) {
4732			var target  = +timestamp,
4733				offsets = this.offsets,
4734				untils  = this.untils,
4735				max     = untils.length - 1,
4736				offset, offsetNext, offsetPrev, i;
4737
4738			for (i = 0; i < max; i++) {
4739				offset     = offsets[i];
4740				offsetNext = offsets[i + 1];
vendor: 5,090 bytes, lines 4741-4947
4741				offsetPrev = offsets[i ? i - 1 : i];
4742
4743				if (offset < offsetNext && tz.moveAmbiguousForward) {
4744					offset = offsetNext;
4745				} else if (offset > offsetPrev && tz.moveInvalidForward) {
4746					offset = offsetPrev;
4747				}
4748
4749				if (target < untils[i] - (offset * 60000)) {
4750					return offsets[i];
4751				}
4752			}
4753
4754			return offsets[max];
4755		},
4756
4757		abbr : function (mom) {
4758			return this.abbrs[this._index(mom)];
4759		},
4760
4761		offset : function (mom) {
4762			logError("zone.offset has been deprecated in favor of zone.utcOffset");
4763			return this.offsets[this._index(mom)];
4764		},
4765
4766		utcOffset : function (mom) {
4767			return this.offsets[this._index(mom)];
4768		}
4769	};
4770
4771	/************************************
4772		Current Timezone
4773	************************************/
4774
4775	function OffsetAt(at) {
4776		var timeString = at.toTimeString();
4777		var abbr = timeString.match(/\([a-z ]+\)/i);
4778		if (abbr && abbr[0]) {
4779			// 17:56:31 GMT-0600 (CST)
4780			// 17:56:31 GMT-0600 (Central Standard Time)
4781			abbr = abbr[0].match(/[A-Z]/g);
4782			abbr = abbr ? abbr.join('') : undefined;
4783		} else {
4784			// 17:56:31 CST
4785			// 17:56:31 GMT+0800 (台北標準時間)
4786			abbr = timeString.match(/[A-Z]{3,5}/g);
4787			abbr = abbr ? abbr[0] : undefined;
4788		}
4789
4790		if (abbr === 'GMT') {
4791			abbr = undefined;
4792		}
4793
4794		this.at = +at;
4795		this.abbr = abbr;
4796		this.offset = at.getTimezoneOffset();
4797	}
4798
4799	function ZoneScore(zone) {
4800		this.zone = zone;
4801		this.offsetScore = 0;
4802		this.abbrScore = 0;
4803	}
4804
4805	ZoneScore.prototype.scoreOffsetAt = function (offsetAt) {
4806		this.offsetScore += Math.abs(this.zone.utcOffset(offsetAt.at) - offsetAt.offset);
4807		if (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, '') !== offsetAt.abbr) {
4808			this.abbrScore++;
4809		}
4810	};
4811
4812	function findChange(low, high) {
4813		var mid, diff;
4814
4815		while ((diff = ((high.at - low.at) / 12e4 | 0) * 6e4)) {
4816			mid = new OffsetAt(new Date(low.at + diff));
4817			if (mid.offset === low.offset) {
4818				low = mid;
4819			} else {
4820				high = mid;
4821			}
4822		}
4823
4824		return low;
4825	}
4826
4827	function userOffsets() {
4828		var startYear = new Date().getFullYear() - 2,
4829			last = new OffsetAt(new Date(startYear, 0, 1)),
4830			offsets = [last],
4831			change, next, i;
4832
4833		for (i = 1; i < 48; i++) {
4834			next = new OffsetAt(new Date(startYear, i, 1));
4835			if (next.offset !== last.offset) {
4836				change = findChange(last, next);
4837				offsets.push(change);
4838				offsets.push(new OffsetAt(new Date(change.at + 6e4)));
4839			}
4840			last = next;
4841		}
4842
4843		for (i = 0; i < 4; i++) {
4844			offsets.push(new OffsetAt(new Date(startYear + i, 0, 1)));
4845			offsets.push(new OffsetAt(new Date(startYear + i, 6, 1)));
4846		}
4847
4848		return offsets;
4849	}
4850
4851	function sortZoneScores (a, b) {
4852		if (a.offsetScore !== b.offsetScore) {
4853			return a.offsetScore - b.offsetScore;
4854		}
4855		if (a.abbrScore !== b.abbrScore) {
4856			return a.abbrScore - b.abbrScore;
4857		}
4858		return b.zone.population - a.zone.population;
4859	}
4860
4861	function addToGuesses (name, offsets) {
4862		var i, offset;
4863		arrayToInt(offsets);
4864		for (i = 0; i < offsets.length; i++) {
4865			offset = offsets[i];
4866			guesses[offset] = guesses[offset] || {};
4867			guesses[offset][name] = true;
4868		}
4869	}
4870
4871	function guessesForUserOffsets (offsets) {
4872		var offsetsLength = offsets.length,
4873			filteredGuesses = {},
4874			out = [],
4875			i, j, guessesOffset;
4876
4877		for (i = 0; i < offsetsLength; i++) {
4878			guessesOffset = guesses[offsets[i].offset] || {};
4879			for (j in guessesOffset) {
4880				if (guessesOffset.hasOwnProperty(j)) {
4881					filteredGuesses[j] = true;
4882				}
4883			}
4884		}
4885
4886		for (i in filteredGuesses) {
4887			if (filteredGuesses.hasOwnProperty(i)) {
4888				out.push(names[i]);
4889			}
4890		}
4891
4892		return out;
4893	}
4894
4895	function rebuildGuess () {
4896
4897		// use Intl API when available and returning valid time zone
4898		try {
4899			var intlName = Intl.DateTimeFormat().resolvedOptions().timeZone;
4900			if (intlName && intlName.length > 3) {
4901				var name = names[normalizeName(intlName)];
4902				if (name) {
4903					return name;
4904				}
4905				logError("Moment Timezone found " + intlName + " from the Intl api, but did not have that data loaded.");
4906			}
4907		} catch (e) {
4908			// Intl unavailable, fall back to manual guessing.
4909		}
4910
4911		var offsets = userOffsets(),
4912			offsetsLength = offsets.length,
4913			guesses = guessesForUserOffsets(offsets),
4914			zoneScores = [],
4915			zoneScore, i, j;
4916
4917		for (i = 0; i < guesses.length; i++) {
4918			zoneScore = new ZoneScore(getZone(guesses[i]), offsetsLength);
4919			for (j = 0; j < offsetsLength; j++) {
4920				zoneScore.scoreOffsetAt(offsets[j]);
4921			}
4922			zoneScores.push(zoneScore);
4923		}
4924
4925		zoneScores.sort(sortZoneScores);
4926
4927		return zoneScores.length > 0 ? zoneScores[0].zone.name : undefined;
4928	}
4929
4930	function guess (ignoreCache) {
4931		if (!cachedGuess || ignoreCache) {
4932			cachedGuess = rebuildGuess();
4933		}
4934		return cachedGuess;
4935	}
4936
4937	/************************************
4938		Global Methods
4939	************************************/
4940
4941	function normalizeName (name) {
4942		return (name || '').toLowerCase().replace(/\//g, '_');
4943	}
4944
4945	function addZone (packed) {
4946		var i, name, split, normalized;
4947
vendor: 7,499 bytes, lines 4948-5180
4948		if (typeof packed === "string") {
4949			packed = [packed];
4950		}
4951
4952		for (i = 0; i < packed.length; i++) {
4953			split = packed[i].split('|');
4954			name = split[0];
4955			normalized = normalizeName(name);
4956			zones[normalized] = packed[i];
4957			names[normalized] = name;
4958			addToGuesses(normalized, split[2].split(' '));
4959		}
4960	}
4961
4962	function getZone (name, caller) {
4963		name = normalizeName(name);
4964
4965		var zone = zones[name];
4966		var link;
4967
4968		if (zone instanceof Zone) {
4969			return zone;
4970		}
4971
4972		if (typeof zone === 'string') {
4973			zone = new Zone(zone);
4974			zones[name] = zone;
4975			return zone;
4976		}
4977
4978		// Pass getZone to prevent recursion more than 1 level deep
4979		if (links[name] && caller !== getZone && (link = getZone(links[name], getZone))) {
4980			zone = zones[name] = new Zone();
4981			zone._set(link);
4982			zone.name = names[name];
4983			return zone;
4984		}
4985
4986		return null;
4987	}
4988
4989	function getNames () {
4990		var i, out = [];
4991
4992		for (i in names) {
4993			if (names.hasOwnProperty(i) && (zones[i] || zones[links[i]]) && names[i]) {
4994				out.push(names[i]);
4995			}
4996		}
4997
4998		return out.sort();
4999	}
5000
5001	function addLink (aliases) {
5002		var i, alias, normal0, normal1;
5003
5004		if (typeof aliases === "string") {
5005			aliases = [aliases];
5006		}
5007
5008		for (i = 0; i < aliases.length; i++) {
5009			alias = aliases[i].split('|');
5010
5011			normal0 = normalizeName(alias[0]);
5012			normal1 = normalizeName(alias[1]);
5013
5014			links[normal0] = normal1;
5015			names[normal0] = alias[0];
5016
5017			links[normal1] = normal0;
5018			names[normal1] = alias[1];
5019		}
5020	}
5021
5022	function loadData (data) {
5023		addZone(data.zones);
5024		addLink(data.links);
5025		tz.dataVersion = data.version;
5026	}
5027
5028	function zoneExists (name) {
5029		if (!zoneExists.didShowError) {
5030			zoneExists.didShowError = true;
5031				logError("moment.tz.zoneExists('" + name + "') has been deprecated in favor of !moment.tz.zone('" + name + "')");
5032		}
5033		return !!getZone(name);
5034	}
5035
5036	function needsOffset (m) {
5037		var isUnixTimestamp = (m._f === 'X' || m._f === 'x');
5038		return !!(m._a && (m._tzm === undefined) && !isUnixTimestamp);
5039	}
5040
5041	function logError (message) {
5042		if (typeof console !== 'undefined' && typeof console.error === 'function') {
5043			console.error(message);
5044		}
5045	}
5046
5047	/************************************
5048		moment.tz namespace
5049	************************************/
5050
5051	function tz (input) {
5052		var args = Array.prototype.slice.call(arguments, 0, -1),
5053			name = arguments[arguments.length - 1],
5054			zone = getZone(name),
5055			out  = moment.utc.apply(null, args);
5056
5057		if (zone && !moment.isMoment(input) && needsOffset(out)) {
5058			out.add(zone.parse(out), 'minutes');
5059		}
5060
5061		out.tz(name);
5062
5063		return out;
5064	}
5065
5066	tz.version      = VERSION;
5067	tz.dataVersion  = '';
5068	tz._zones       = zones;
5069	tz._links       = links;
5070	tz._names       = names;
5071	tz.add          = addZone;
5072	tz.link         = addLink;
5073	tz.load         = loadData;
5074	tz.zone         = getZone;
5075	tz.zoneExists   = zoneExists; // deprecated in 0.1.0
5076	tz.guess        = guess;
5077	tz.names        = getNames;
5078	tz.Zone         = Zone;
5079	tz.unpack       = unpack;
5080	tz.unpackBase60 = unpackBase60;
5081	tz.needsOffset  = needsOffset;
5082	tz.moveInvalidForward   = true;
5083	tz.moveAmbiguousForward = false;
5084
5085	/************************************
5086		Interface with Moment.js
5087	************************************/
5088
5089	var fn = moment.fn;
5090
5091	moment.tz = tz;
5092
5093	moment.defaultZone = null;
5094
5095	moment.updateOffset = function (mom, keepTime) {
5096		var zone = moment.defaultZone,
5097			offset;
5098
5099		if (mom._z === undefined) {
5100			if (zone && needsOffset(mom) && !mom._isUTC) {
5101				mom._d = moment.utc(mom._a)._d;
5102				mom.utc().add(zone.parse(mom), 'minutes');
5103			}
5104			mom._z = zone;
5105		}
5106		if (mom._z) {
5107			offset = mom._z.utcOffset(mom);
5108			if (Math.abs(offset) < 16) {
5109				offset = offset / 60;
5110			}
5111			if (mom.utcOffset !== undefined) {
5112				mom.utcOffset(-offset, keepTime);
5113			} else {
5114				mom.zone(offset, keepTime);
5115			}
5116		}
5117	};
5118
5119	fn.tz = function (name, keepTime) {
5120		if (name) {
5121			this._z = getZone(name);
5122			if (this._z) {
5123				moment.updateOffset(this, keepTime);
5124			} else {
5125				logError("Moment Timezone has no data for " + name + ". See http://momentjs.com/timezone/docs/#/data-loading/.");
5126			}
5127			return this;
5128		}
5129		if (this._z) { return this._z.name; }
5130	};
5131
5132	function abbrWrap (old) {
5133		return function () {
5134			if (this._z) { return this._z.abbr(this); }
5135			return old.call(this);
5136		};
5137	}
5138
5139	function resetZoneWrap (old) {
5140		return function () {
5141			this._z = null;
5142			return old.apply(this, arguments);
5143		};
5144	}
5145
5146	fn.zoneName = abbrWrap(fn.zoneName);
5147	fn.zoneAbbr = abbrWrap(fn.zoneAbbr);
5148	fn.utc      = resetZoneWrap(fn.utc);
5149
5150	moment.tz.setDefault = function(name) {
5151		if (major < 2 || (major === 2 && minor < 9)) {
5152			logError('Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js ' + moment.version + '.');
5153		}
5154		moment.defaultZone = name ? getZone(name) : null;
5155		return moment;
5156	};
5157
5158	// Cloning a moment should include the _z property.
5159	var momentProperties = moment.momentProperties;
5160	if (Object.prototype.toString.call(momentProperties) === '[object Array]') {
5161		// moment 2.8.1+
5162		momentProperties.push('_z');
5163		momentProperties.push('_a');
5164	} else if (momentProperties) {
5165		// moment 2.7.0
5166		momentProperties._z = null;
5167	}
5168
5169	loadData({
5170		"version": "2017c",
5171		"zones": [
5172			"Africa/Abidjan|LMT GMT|g.8 0|01|-2ldXH.Q|48e5",
5173			"Africa/Accra|LMT GMT +0020|.Q 0 -k|012121212121212121212121212121212121212121212121|-26BbX.8 6tzX.8 MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE|41e5",
5174			"Africa/Nairobi|LMT EAT +0230 +0245|-2r.g -30 -2u -2J|01231|-1F3Cr.g 3Dzr.g okMu MFXJ|47e5",
5175			"Africa/Algiers|PMT WET WEST CET CEST|-9.l 0 -10 -10 -20|0121212121212121343431312123431213|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 DA0 Imo0 rd0 De0 9Xz0 1fb0 1ap0 16K0 2yo0 mEp0 hwL0 jxA0 11A0 dDd0 17b0 11B0 1cN0 2Dy0 1cN0 1fB0 1cL0|26e5",
5176			"Africa/Lagos|LMT WAT|-d.A -10|01|-22y0d.A|17e6",
5177			"Africa/Bissau|LMT -01 GMT|12.k 10 0|012|-2ldWV.E 2xonV.E|39e4",
5178			"Africa/Maputo|LMT CAT|-2a.k -20|01|-2GJea.k|26e5",
5179			"Africa/Cairo|EET EEST|-20 -30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1bIO0 vb0 1ip0 11z0 1iN0 1nz0 12p0 1pz0 10N0 1pz0 16p0 1jz0 s3d0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1WL0 rd0 1Rz0 wp0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1qL0 Xd0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1ny0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 WL0 1qN0 Rb0 1wp0 On0 1zd0 Lz0 1EN0 Fb0 c10 8n0 8Nd0 gL0 e10 mn0|15e6",
5180			"Africa/Casablanca|LMT WET WEST CET|u.k 0 -10 -10|0121212121212121213121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2gMnt.E 130Lt.E rb0 Dd0 dVb0 b6p0 TX0 EoB0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4mn0 SyN0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e
518000 Rc0 11A0 e00 e00 U00 11A0 8o0 e00 11A0 11A0 5A0 e00 17c0 1fA0 1a00 1a00 1fA0 17c0 1io0 14o0 1lc0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1lc0 14o0 1fA0|32e5",
5181			"Africa/Ceuta|WET WEST CET CEST|0 -10 -10 -20|010101010101010101010232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-25KN0 11z0 drd0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1y7o0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4VB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|85e3",
5182			"Africa/El_Aaiun|LMT -01 WET WEST|Q.M 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1rDz7.c 1GVA7.c 6L0 AL0 1Nd0 XX0 1Cp0 pz0 1cBB0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e
518200 Rc0 11A0 e00 e00 U00 11A0 8o0 e00 11A0 11A0 5A0 e00 17c0 1fA0 1a00 1a00 1fA0 17c0 1io0 14o0 1lc0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1lc0 14o0 1fA0|20e4",
5183			"Africa/Johannesburg|SAST SAST SAST|-1u -20 -30|012121|-2GJdu 1Ajdu 1cL0 1cN0 1cL0|84e5",
5184			"Africa/Juba|LMT CAT CAST EAT|-26.s -20 -30 -30|01212121212121212121212121212121213|-1yW26.s 1zK06.s 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0",
5185			"Africa/Khartoum|LMT CAT CAST EAT|-2a.8 -20 -30 -30|012121212121212121212121212121212131|-1yW2a.8 1zK0a.8 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0 HjL0|51e5",
5186			"Africa/Monrovia|MMT MMT GMT|H.8 I.u 0|012|-23Lzg.Q 28G01.m|11e5",
5187			"Africa/Ndjamena|LMT WAT WAST|-10.c -10 -20|0121|-2le10.c 2J3c0.c Wn0|13e5",
5188			"Africa/Tripoli|LMT CET CEST EET|-Q.I -10 -20 -20|012121213121212121212121213123123|-21JcQ.I 1hnBQ.I vx0 4iP0 xx0 4eN0 Bb0 7ip0 U0n0 A10 1db0 1cN0 1db0 1dd0 1db0 1eN0 1bb0 1e10 1cL0 1c10 1db0 1dd0 1db0 1cN0 1db0 1q10 fAn0 1ep0 1db0 AKq0 TA0 1o00|11e5",
5189			"Africa/Tunis|PMT CET CEST|-9.l -10 -20|0121212121212121212121212121212121|-2nco9.l 18pa9.l 1qM0 DA0 3Tc0 11B0 1ze0 WM0 7z0 3d0 14L0 1cN0 1f90 1ar0 16J0 1gXB0 WM0 1rA0 11c0 nwo0 Ko0 1cM0 1cM0 1rA0 10M0 zuM0 10N0 1aN0 1qM0 WM0 1qM0 11A0 1o00|20e5",
5190			"Africa/Windhoek|+0130 SAST SAST CAT WAT WAST|-1u -20 -30 -20 -10 -20|01213454545454545454545454545454545454545454545454543|-2GJdu 1Ajdu 1cL0 1SqL0 9Io0 16P0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|32e4",
5191			"America/Adak|NST NWT NPT BST BDT AHST HST HDT|b0 a0 a0 b0 a0 a0 a0 90|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|326",
5192			"America/Anchorage|AST AWT APT AHST AHDT YST AKST AKDT|a0 90 90 a0 90 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T00 8wX0 iA0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|30e4",
5193			"America/Port_of_Spain|LMT AST|46.4 40|01|-2kNvR.U|43e3",
5194			"America/Araguaina|LMT -03 -02|3c.M 30 20|0121212121212121212121212121212121212121212121212121|-2glwL.c HdKL.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 ny10 Lz0|14e4",
5195			"America/Argentina/Buenos_Aires|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 A4p0 uL0 1qN0 WL0",
5196			"America/Argentina/Catamarca|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 7B0 8zb0 uL0",
5197			"America/Argentina/Cordoba|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0 1qN0 WL0",
5198			"America/Argentina/Jujuy|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1ze0 TX0 1ld0 WK0 1wp0 TX0 A4p0 uL0",
5199			"America/Argentina/La_Rioja|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0",
5200			"America/Argentina/Mendoza|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232312121321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1u20 SL0 1vd0 Tb0 1wp0 TW0 ri10 Op0 7TX0 uL0",
5201			"America/Argentina/Rio_Gallegos|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0",
5202			"America/Argentina/Salta|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0",
5203			"America/Argentina/San_Juan|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rld0 m10 8lb0 uL0",
5204			"America/Argentina/San_Luis|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121212321212|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 XX0 1q20 SL0 AN0 vDb0 m10 8lb0 8L0 jd0 1qN0 WL0 1qN0",
5205			"America/Argentina/Tucuman|CMT -04 -03 -02|4g.M 40 30 20|0121212121212121212121212121212121212121212323232313232123232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 4N0 8BX0 uL0 1qN0 WL0",
5206			"America/Argentina/Ushuaia|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rkN0 8p0 8zb0 uL0",
5207			"America/Curacao|LMT -0430 AST|4z.L 4u 40|012|-2kV7o.d 28KLS.d|15e4",
5208			"America/Asuncion|AMT -04 -03|3O.E 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-1x589.k 1DKM9.k 3CL0 3Dd0 10L0 1pB0 10n0 1pB0 10n0 1pB0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1lB0 14n0 1dd0 1cL0 1fd0 WL0 1rd0 1aL0 1dB0 Xz0 1qp0 Xb0 1qN0 10L0 1rB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 WN0 1qL0 11B0 1nX0 1ip0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 TX0 1tB0 19X0 1a10 1fz0 1a10 1fz0 1cN0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0|28e5",
5209			"America/Atikokan|CST CDT CWT CPT EST|60 50 50 50 50|0101234|-25TQ0 1in0 Rnb0 3je0 8x30 iw0|28e2",
5210			"America/Bahia|LMT -03 -02|2y.4 30 20|01212121212121212121212121212121212121212121212121212121212121|-2glxp.U HdLp.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 l5B0 Rb0|27e5",
5211			"America/Bahia_Banderas|LMT MST CST PST MDT CDT|71 70 60 80 60 50|0121212131414141414141414141414141414152525252525252525252525252525252525252525252525252525252|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nW0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|84e3",
5212			"America/Barbados|LMT BMT AST ADT|3W.t 3W.t 40 30|01232323232|-1Q0I1.v jsM0 1ODC1.v IL0 1ip0 17b0 1ip0 17b0 1ld0 13b0|28e4",
5213			"America/Belem|LMT -03 -02|3d.U 30 20|012121212121212121212121212121|-2glwK.4 HdKK.4 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|20e5",
5214			"America/Belize|LMT CST -0530 CDT|5Q.M 60 5u 50|01212121212121212121212121212121212121212121212121213131|-2kBu7.c fPA7.c Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1f0Mu qn0 lxB0 mn0|57e3",
5215			"America/Blanc-Sablon|AST ADT AWT APT|40 30 30 30|010230|-25TS0 1in0 UGp0 8x50 iu0|11e2",
5216			"America/Boa_Vista|LMT -04 -03|42.E 40 30|0121212121212121212121212121212121|-2glvV.k HdKV.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 smp0 WL0 1tB0 2L0|62e2",
5217			"America/Bogota|BMT -05 -04|4U.g 50 40|0121|-2eb73.I 38yo3.I 2en0|90e5",
5218			"America/Boise|PST PDT MST MWT MPT MDT|80 70 70 60 60 60|0101023425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-261q0 1nX0 11B0 1nX0 8C10 JCL0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 Dd0 1Kn0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e4",
5219			"America/Cambridge_Bay|-00 MST MWT MPT MDDT MDT CST CDT EST|0 70 60 60 50 60 60 50 50|0123141515151515151515151515151515151515151515678651515151515151515151515151515151515151515151515151515151515151515151515151|-21Jc0 RO90 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11A0 1nX0 2K0 WQ0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e2",
5220			"America/Campo_Grande|LMT -04 -03|3C.s 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwl.w HdLl.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10 Lz0 1C10 On0 1zd0 Rb0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0|77e4",
5221			"America/Cancun|LMT CST EST EDT CDT|5L.4 60 50 40 50|0123232341414141414141414141414141414141412|-1UQG
52210 2q2o0 yLB0 1lb0 14p0 1lb0 14p0 Lz0 xB0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 Dd0|63e4",
5222			"America/Caracas|CMT -0430 -04|4r.E 4u 40|01212|-2kV7w.k 28KM2.k 1IwOu kqo0|29e5",
5223			"America/Cayenne|LMT -04 -03|3t.k 40 30|012|-2mrwu.E 2gWou.E|58e3",
5224			"America/Panama|CMT EST|5j.A 50|01|-2uduE.o|15e5",
5225			"America/Chicago|CST CDT EST CWT CPT|60 50 50 50 50|01010101010101010101010101010101010102010101010103401010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 1wp0 TX0 WN0 1qL0 1cN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 11B0 1Hz0 14p0 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|92e5",
5226			"America/Chihuahua|LMT MST CST CDT MDT|74.k 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|81e4",
5227			"America/Costa_Rica|SJMT CST CDT|5A.d 60 50|0121212121|-1Xd6n.L 2lu0n.L Db0 1Kp0 Db0 pRB0 15b0 1kp0 mL0|12e5",
5228			"America/Creston|MST PST|70 80|010|-29DR0 43B0|53e2",
5229			"America/Cuiaba|LMT -04 -03|3I.k 40 30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwf.E HdLf.E 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 4a10 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10 Lz0 1C10 On0 1zd0 Rb0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0|54e4",
5230			"America/Danmarkshavn|LMT -03 -02 GMT|1e.E 30 20 0|01212121212121212121212121212121213|-2a5WJ.k 2z5fJ.k 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 DC0|8",
5231			"America/Dawson|YST YDT YWT YPT YDDT PST PDT|90 80 80 80 70 80 70|0101023040565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 jrA0 fNd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|13e2",
5232			"America/Dawson_Creek|PST PDT PWT PPT MST|80 70 70 70 70|0102301010101010101010101010101010101010101010101010101014|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 ML0|12e3",
5233			"America/Denver|MST MDT MWT MPT|70 60 60 60|01010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 11B0 1qL0 WN0 mn0 Ord0 8x20 ix0 LCN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e5",
5234			"America/Detroit|LMT CST EST EWT EPT EDT|5w.b 60 50 40 40 40|012342525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2Cgir.N peqr.N 156L0 8x40 iv0 6fd0 11z0 XQp0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e5",
5235			"America/Edmonton|LMT MST MDT MWT MPT|7x.Q 70 60 60 60|01212121212121341212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2yd4q.8 shdq.8 1in0 17d0 hz0 2dB0 1fz0 1a10 11z0 1qN0 WL0 1qN0 11z0 IGN0 8x20 ix0 3NB0 11z0 LFB0 1cL0 3Cp0 1cL0 66N0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|10e5",
5236			"America/Eirunepe|LMT -05 -04|4D.s 50 40|0121212121212121212121212121212121|-2glvk.w HdLk.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0 yTd0 d5X0|31e3",
5237			"America/El_Salvador|LMT CST CDT|5U.M 60 50|012121|-1XiG3.c 2Fvc3.c WL0 1qN0 WL0|11e5",
5238			"America/Tijuana|LMT MST PST PDT PWT PPT|7M.4 70 80 70 70 70|012123245232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQE0 4PX0 8mM0 8lc0 SN0 1cL0 pHB0 83r0 zI0 5O10 1Rz0 cOO0 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 BUp0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|20e5",
5239			"America/Fort_Nelson|PST PDT PWT PPT MST|80 70 70 70 70|01023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010104|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0|39e2",
5240			"America/Fort_Wayne|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010101023010101010101010101040454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 QI10 Db0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 5Tz0 1o10 qLb0 1cL0 1cN0 1cL0 1qhd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0",
5241			"America/Fortaleza|LMT -03 -02|2y 30 20|0121212121212121212121212121212121212121|-2glxq HdLq 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 5z0 2mN0 On0|34e5",
5242			"America/Glace_Bay|LMT AST ADT AWT APT|3X.M 40 30 30 30|012134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsI0.c CwO0.c 1in0 UGp0 8x50 iu0 iq10 11z0 Jg10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3",
5243			"America/Godthab|LMT -03 -02|3q.U 30 20|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5Ux.4 2z5dx.4 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e3",
5244			"America/Goose_Bay|NST NDT NST NDT NWT NPT AST ADT ADDT|3u.Q 2u.Q 3u 2u 2u 2u 40 30 20|01023232323232324523232323232323232323232323232323232323232676767676767676767676767676767676767676767676867676
52447676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-25TSt.8 1in0 DXb0 2HbX.8 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 S10 g0u 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|76e2",
5245			"America/Grand_Turk|KMT EST EDT AST|57.b 50 40 40|01212121212121212121212121212121212121212121212121212121212121212121212121232121212121212121212121212121212121212121|-2l1uQ.N 2HHBQ.N 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 5Ip0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e2",
5246			"America/Guatemala|LMT CST CDT|62.4 60 50|0121212121|-24KhV.U 2efXV.U An0 mtd0 Nz0 ifB0 17b0 zDB0 11z0|13e5",
5247			"America/Guayaquil|QMT -05 -04|5e 50 40|0121|-1yVSK 2uILK rz0|27e5",
5248			"America/Guyana|LMT -0345 -03 -04|3Q.E 3J 30 40|0123|-2dvU7.k 2r6LQ.k Bxbf|80e4",
5249			"America/Halifax|LMT AST ADT AWT APT|4e.o 40 30 30 30|0121212121212121212121212121212121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsHJ.A xzzJ.A 1db0 3I30 1in0 3HX0 IL0 1E10 ML0 1yN0 Pb0 1Bd0 Mn0 1Bd0 Rz0 1w10 Xb0 1w10 LX0 1w10 Xb0 1w10 Lz0 1C10 Jz0 1E10 OL0 1yN0 Un0 1qp0 Xb0 1qp0 11X0 1w10 Lz0 1HB0 LX0 1C10 FX0 1w10 Xb0 1qp0 Xb0 1BB0 LX0 1td0 Xb0 1qp0 Xb0 Rf0 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 6i10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|39e4",
5250			"America/Havana|HMT CST CDT|5t.A 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Meuu.o 72zu.o ML0 sld0 An0 1Nd0 Db0 1Nd0 An0 6Ep0 An0 1Nd0 An0 JDd0 Mn0 1Ap0 On0 1fd0 11X0 1qN0 WL0 1wp0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 14n0 1ld0 14L0 1kN0 15b0 1kp0 1cL0 1cN0 1fz0 1a10 1fz0 1fB0 11z0 14p0 1nX0 11B0 1nX0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 1a10 1in0 1a10 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 17c0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 11A0 6i00 Rc0 1wo0 U00 1tA0 Rc0 1wo0 U00 1wo0 U00 1zc0 U00 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0|21e5",
5251			"America/Hermosillo|LMT MST CST PST MDT|7n.Q 70 60 80 60|0121212131414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0|64e4",
5252			"America/Indiana/Knox|CST CDT CWT CPT EST|60 50 50 50 50|0101023010101010101010101010101010101040101010101010101010101010101010101010101010101010141010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 3Cn0 8wp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 z8o0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0",
5253			"America/Indiana/Marengo|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010104545454545414545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 dyN0 11z0 6fd0 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1e6p0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0",
5254			"America/Indiana/Petersburg|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010104010101010101010101010141014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 3Fb0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 19co0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0",
5255			"America/Indiana/Tell_City|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0",
5256			"America/Indiana/Vevay|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010102304545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 kPB0 Awn0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1lnd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0",
5257			"America/Indiana/Vincennes|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0",
5258			"America/Indiana/Winamac|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010101010454541054545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1za0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0",
5259			"America/Inuvik|-00 PST PDDT MST MDT|0 80 60 70 60|0121343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-FnA0 tWU0 1fA0 wPe0 2pz0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|35e2",
5260			"America/Iqaluit|-00 EWT EPT EST EDDT EDT CST CDT|0 40 40 50 30 40 60 50|01234353535353535353535353535353535353535353567353535353535353535353535353535353535353535353535353535353535353535353535353|-16K00 7nX0 iv0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|67e2",
5261			"America/Jamaica|KMT EST EDT|57.b 50 40|0121212121212121212121|-2l1uQ.N 2uM1Q.N 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0|94e4",
5262			"America/Juneau|PST PWT PPT PDT YDT YST AKST AKDT|80 70 70 70 80 90 90 80|01203030303030303030303030403030356767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cM0 1cM0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|33e3",
5263			"America/Kentucky/Louisville|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101010102301010101010101010101010101454545454545414545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 3Fd0 Nb0 LPd0 11z0 RB0 8x30 iw0 Bb0 10N0 2bB0 8in0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 xz0 gso0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0",
5264			"America/Kentucky/Monticello|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 SWp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0",
5265			"America/La_Paz|CMT BOST -04|4w.A 3w.A 40|012|-1x37r.o 13b0|19e5",
5266			"America/Lima|LMT -05 -04|58.A 50 40|0121212121212121|-2tyGP.o 1bDzP.o zX0 1aN0 1cL0 1cN0 1cL0 1PrB0 zX0 1O10 zX0 6Gp0 zX0 98p0 zX0|11e6",
5267			"America/Los_Angeles|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 5Wp1 1VaX 3dA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e6",
5268			"America/Maceio|LMT -03 -02|2m.Q 30 20|012121212121212121212121212121212121212121|-2glxB.8 HdLB.8 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 8Q10 WL0 1tB0 5z0 2mN0 On0|93e4",
5269			"America/Managua|MMT CST EST CDT|5J.c 60 50 50|0121313121213131|-1quie.M 1yAMe.M 4mn0 9Up0 Dz0 1K10 Dz0 s3F0 1KH0 DB0 9In0 k8p0 19X0 1o30 11y0|22e5",
5270			"America/Manaus|LMT -04 -03|40.4 40 30|01212121212121212121212121212121|-2glvX.U HdKX.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0|19e5",
5271			"America/Martinique|FFMT AST ADT|44.k 40 30|0121|-2mPTT.E 2LPbT.E 19X0|39e4",
5272			"America/Matamoros|LMT CST CDT|6E 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|45e4",
5273			"America/Mazatlan|LMT MST CST PST MDT|75.E 70 60 80 60|0121212131414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|44e4",
5274			"America/Menominee|CST CDT CWT CPT EST|60 50 50 50 50|01010230101041010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 LCN0 1fz0 6410 9Jb0 1cM0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|85e2",
5275			"America/Merida|LMT CST EST CDT|5W.s 60 50 50|0121313131313131313131313131313131313131313131313131313131313131313131313131313131313131|-1UQG0 2q2o0 2hz0 wu30 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|11e5",
5276			"America/Metlakatla|PST PWT PPT PDT AKST AKDT|80 70 70 70 90 80|0120303030303030303030303030303030454545454545454545454545454545454545454545454|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1hU10 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2",
5277			"America/Mexico_City|LMT MST CST CDT CWT|6A.A 70 60 50 50|012121232324232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 gEn0 TX0 3xd0 Jb0 6zB0 SL0 e5d0 17b0 1Pff0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|20e6",
5278			"America/Miquelon|LMT AST -03 -02|3I.E 40 30 20|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2mKkf.k 2LTAf.k gQ10 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|61e2",
5279			"America/Moncton|EST AST ADT AWT APT|50 40 30 30 30|012121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsH0 CwN0 1in0 zAo0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1K10 Lz0 1zB0 NX0 1u10 Wn0 S20 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14n1 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 ReX 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|64e3",
5280			"America/Monterrey|LMT CST CDT|6F.g 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|41e5",
5281			"America/Montevideo|MMT -0330 -03 -02 -0230|3I.I 3u 30 20 2u|012121212121212121212121213232323232324242423243232323232323232323232323232323232323232|-20UIf.g 8jzJ.g 1cLu 1dcu 1cLu 1dcu 1cLu ircu 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu WLu 1qMu WLu 1qMu 11zu 1o0u 11zu NAu 11bu 2iMu zWu Dq10 19X0 pd0 jz0 cm10 19X0 1fB0 1on0 11d0 1oL0 1nB0 1fzu 1aou 1fzu 1aou 1fzu 3nAu Jb0 3MN0 1SLu 4jzu 2PB0 Lb0 3Dd0 1pb0 ixd0 An0 1MN0 An0 1wp0 On0 1wp0 Rb0 1zd0 On0 1wp0 Rb0 s8p0 1fB0 1ip0 11z0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 11z0|17e5",
5282			"America/Toronto|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101012301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 11Wu 1nzu 1fD0 WJ0 1wr0 Nb0 1Ap0 On0 1zd0 On0 1wp0 TX0 1tB0 TX0 1tB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 4kM0 8x40 iv0 1o10 11z0 1nX0 11z0 1o10 11z0 1o10 1qL0 11D0 1nX0 11B0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e5",
5283			"America/Nassau|LMT EST EDT|59.u 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2kNuO.u 26XdO.u 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|24e4",
5284			"America/New_York|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 11B0 1qL0 1a10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x40 iv0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e6",
5285			"America/Nipigon|EST EDT EWT EPT|50 40 40 40|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 Rnb0 3je0 8x40 iv0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|16e2",
5286			"America/Nome|NST NWT NPT BST BDT YST AKST AKDT|b0 a0 a0 b0 a0 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cl0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|38e2",
5287			"America/Noronha|LMT -02 -01|29.E 20 10|0121212121212121212121212121212121212121|-2glxO.k HdKO.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|30e2",
5288			"America/North_Dakota/Beulah|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0",
5289			"America/North_Dakota/Center|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0",
5290			"America/North_Dakota/New_Salem|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0",
5291			"America/Ojinaga|LMT MST CST CDT MDT|6V.E 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 de
5291L0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3",
5292			"America/Pangnirtung|-00 AST AWT APT ADDT ADT EDT EST CST CDT|0 40 30 30 20 30 40 50 60 50|012314151515151515151515151515151515167676767689767676767676767676767676767676767676767676767676767676767676767676767676767|-1XiM0 PnG0 8x50 iu0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1o00 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2",
5293			"America/Paramaribo|LMT PMT PMT -0330 -03|3E.E 3E.Q 3E.A 3u 30|01234|-2nDUj.k Wqo0.c qanX.I 1yVXN.o|24e4",
5294			"America/Phoenix|MST MDT MWT|70 60 60|01010202010|-261r0 1nX0 11B0 1nX0 SgN0 4Al1 Ap0 1db0 SWqX 1cL0|42e5",
5295			"America/Port-au-Prince|PPMT EST EDT|4N 50 40|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-28RHb 2FnMb 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14q0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 i6n0 1nX0 11B0 1nX0 d430 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 3iN0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5",
5296			"America/Rio_Branco|LMT -05 -04|4v.c 50 40|01212121212121212121212121212121|-2glvs.M HdLs.M 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0 d5X0|31e4",
5297			"America/Porto_Velho|LMT -04 -03|4f.A 40 30|012121212121212121212121212121|-2glvI.o HdKI.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|37e4",
5298			"America/Puerto_Rico|AST AWT APT|40 30 30|0120|-17lU0 7XT0 iu0|24e5",
5299			"America/Punta_Arenas|SMT -05 -04 -03|4G.K 50 40 30|0102021212121212121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 blz0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0",
5300			"America/Rainy_River|CST CDT CWT CPT|60 50 50 50|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TQ0 1in0 Rnb0 3je0 8x30 iw0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|842",
5301			"America/Rankin_Inlet|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313131313131313131313131313131313131313131313131313131313131313131|-vDc0 keu0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e2",
5302			"America/Recife|LMT -03 -02|2j.A 30 20|0121212121212121212121212121212121212121|-2glxE.o HdLE.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|33e5",
5303			"America/Regina|LMT MST MDT MWT MPT CST|6W.A 70 60 60 60 60|012121212121212121212121341212121212121212121212121215|-2AD51.o uHe1.o 1in0 s2L0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 66N0 1cL0 1cN0 19X0 1fB0 1cL0 1fB0 1cL0 1cN0 1cL0 M30 8x20 ix0 1ip0 1cL0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 3NB0 1cL0 1cN0|19e4",
5304			"America/Resolute|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313431313131313131313131313131313131313131313131313131313131313131|-SnA0 GWS0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|229",
5305			"America/Santarem|LMT -04 -03|3C.M 40 30|0121212121212121212121212121212|-2glwl.c HdLl.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0|21e4",
5306			"America/Santiago|SMT -05 -04 -03|4G.K 50 40 30|010202121212121212321232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 9Bz0 jb0 1oN0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0|62e5",
5307			"America/Santo_Domingo|SDMT EST EDT -0430 AST|4E 50 40 4u 40|01213131313131414|-1ttjk 1lJMk Mn0 6sp0 Lbu 1Cou yLu 1RAu wLu 1QMu xzu 1Q0u xXu 1PAu 13jB0 e00|29e5",
5308			"America/Sao_Paulo|LMT -03 -02|36.s 30 20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwR.w HdKR.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 pTd0 PX0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10 Lz0 1C10 On0 1zd0 Rb0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0|20e6",
5309			"America/Scoresbysund|LMT -02 -01 +00|1r.Q 20 10 0|0121323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2a5Ww.8 2z5ew.8 1a00 1cK0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|452",
5310			"America/Sitka|PST PWT PPT PDT YST AKST AKDT|80 70 70 70 90 90 80|01203030303030303030303030303030345656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|90e2",
5311			"America/St_Johns|NST NDT NST NDT NWT NPT NDDT|3u.Q 2u.Q 3u 2u 2u 2u 1u|01010101010101010101010101010101010102323232323232324523232323232323232323232323232323232323232323232323232323232323232323232323232323232326232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-28oit.8 14L0 1nB0 1in0 1gm0 Dz0 1JB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1fB0 19X0 1fB0 19X0 10O0 eKX.8 19X0 1iq0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4",
5312			"America/Swift_Current|LMT MST MDT MWT MPT CST|7b.k 70 60 60 60 60|012134121212121212121215|-2AD4M.E uHdM.E 1in0 UGp0 8x20 ix0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 isN0 1cL0 3Cp0 1cL0 1cN0 11z0 1qN0 WL0 pMp0|16e3",
5313			"America/Tegucigalpa|LMT CST CDT|5M.Q 60 50|01212121|-1WGGb.8 2ETcb.8 WL0 1qN0 WL0 GRd0 AL0|11e5",
5314			"America/Thule|LMT AST ADT|4z.8 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5To.Q 31NBo.Q 1cL0 1cN0 1cL0 1fB0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|656",
5315			"America/Thunder_Bay|CST EST EWT EPT EDT|60 50 40 40 40|0123141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-2q5S0 1iaN0 8x40 iv0 XNB0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4",
5316			"America/Vancouver|PST PDT PWT PPT|80 70 70 70|0102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TO0 1in0 UGp0 8x10 iy0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5",
5317			"America/Whitehorse|YST YDT YWT YPT YDDT PST PDT|90 80 80 80 70 80 70|0101023040565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 3NA0 vrd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3",
5318			"America/Winnipeg|CST CDT CWT CPT|60 50 50 50|010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aIi0 WL0 3ND0 1in0 Jap0 Rb0 aCN0 8x30 iw0 1tB0 11z0 1ip0 11z0 1o10 11z0 1o10 11z0 1rd0 10L0 1op0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 1cL0 1cN0 11z0 6i10 WL0 6i10 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|66e4",
5319			"America/Yakutat|YST YWT YPT YDT AKST AKDT|90 80 80 80 90 80|01203030303030303030303030303030304545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-17T10 8x00 iz0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cn0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|642",
5320			"America/Yellowknife|-00 MST MWT MPT MDDT MDT|0 70 60 60 50 60|012314151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151|-1pdA0 hix0 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3",
5321			"Antarctica/Casey|-00 +08 +11|0 -80 -b0|0121212|-2q00 1DjS0 T90 40P0 KL0 blz0|10",
5322			"Antarctica/Davis|-00 +07 +05|0 -70 -50|01012121|-vyo0 iXt0 alj0 1D7v0 VB0 3Wn0 KN0|70",
5323			"Antarctica/DumontDUrville|-00 +10|0 -a0|0101|-U0o0 cfq0 bFm0|80",
5324			"Antarctica/Macquarie|AEST AEDT -00 +11|-a0 -b0 0 -b0|0102010101010101010101010101010101010101010101010101010101010101010101010101010101010101013|-29E80 19X0 4SL0 1ayy0 Lvs0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0|1",
5325			"Antarctica/Mawson|-00 +06 +05|0 -60 -50|012|-CEo0 2fyk0|60",
5326			"Pacific/Auckland|NZMT NZST NZST NZDT|-bu -cu -c0 -d0|010202020202
532602020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1GCVu Lz0 1tB0 11zu 1o0u 11zu 1o0u 11zu 1o0u 14nu 1lcu 14nu 1lcu 1lbu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1qLu WMu 1qLu 11Au 1n1bu IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|14e5",
5327			"Antarctica/Palmer|-00 -03 -04 -02|0 30 40 20|01212121212131212121212121212121212121212121212121212121212121212121212
532712121212121|-cao0 nD0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 jsN0 14N0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|40",
5328			"Antarctica/Rothera|-00 -03|0 30|01|gOo0|130",
5329			"Antarctica/Syowa|-00 +03|0 -30|01|-vs00|20",
5330			"Antarctica/Troll|-00 +00 +02|0 0 -20|01212121212121212121212121212121212121212121212121212121212121212121|1puo0 hd0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|40",
5331			"Antarctica/Vostok|-00 +06|0 -60|01|-tjA0|25",
5332			"Europe/Oslo|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2awM0 Qm0 W6o0 5pf0 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 wJc0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1qM0 WM0 zpc0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e4",
5333			"Asia/Riyadh|LMT +03|-36.Q -30|01|-TvD6.Q|57e5",
5334			"Asia/Almaty|LMT +05 +06 +07|-57.M -50 -60 -70|012323232323232323232321232323232323232323232323232|-1Pc57.M eUo7.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|15e5",
5335			"Asia/Amman|LMT EET EEST|-2n.I -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1yW2n.I 1HiMn.I KL0 1oN0 11b0 1oN0 11b0 1pd0 1dz0 1cp0 11b0 1op0 11b0 fO10 1db0 1e10 1cL0 1cN0 1cL0 1cN0 1fz0 1pd0 10n0 1ld0 14n0 1hB0 15b0 1ip0 19X0 1cN0 1cL0 1cN0 17b0 1ld0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1So0 y00 1fc0 1dc0 1co0 1dc0 1cM0 1cM0 1cM0 1o00 11A0 1lc0 17c0 1cM0 1cM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 4bX0 Dd0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|25e5",
5336			"Asia/Anadyr|LMT +12 +13 +14 +11|-bN.U -c0 -d0 -e0 -b0|01232121212121212121214121212121212121212121212121212121212141|-1PcbN.U eUnN.U 23CL0 1db0 2q10 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|13e3",
5337			"Asia/Aqtau|LMT +04 +05 +06|-3l.4 -40 -50 -60|012323232323232323232123232312121212121212121212|-1Pc3l.4 eUnl.4 24PX0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|15e4",
5338			"Asia/Aqtobe|LMT +04 +05 +06|-3M.E -40 -50 -60|0123232323232323232321232323232323232323232323232|-1Pc3M.E eUnM.E 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|27e4",
5339			"Asia/Ashgabat|LMT +04 +05 +06|-3R.w -40 -50 -60|0123232323232323232323212|-1Pc3R.w eUnR.w 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0|41e4",
5340			"Asia/Atyrau|LMT +03 +05 +06 +04|-3r.I -30 -50 -60 -40|01232323232323232323242323232323232324242424242|-1Pc3r.I eUor.I 24PW0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 2sp0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0",
5341			"Asia/Baghdad|BMT +03 +04|-2V.A -30 -40|012121212121212121212121212121212121212121212121212121|-26BeV.A 2ACnV.A 11b0 1cp0 1dz0 1dd0 1db0 1cN0 1cp0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1de0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0|66e5",
5342			"Asia/Qatar|LMT +04 +03|-3q.8 -40 -30|012|-21Jfq.8 27BXq.8|96e4",
5343			"Asia/Baku|LMT +03 +04 +05|-3j.o -30 -40 -50|01232323232323232323232123232323232323232323232323232323232323232|-1Pc3j.o 1jUoj.o WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 9Je0 1o00 11z0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e5",
5344			"Asia/Bangkok|BMT +07|-6G.4 -70|01|-218SG.4|15e6",
5345			"Asia/Barnaul|LMT +06 +07 +08|-5z -60 -70 -80|0123232323232323232323212323232321212121212121212121212121212121212|-21S5z pCnz 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 p90 LE0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0",
5346			"Asia/Beirut|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-21aq0 1on0 1410 1db0 19B0 1in0 1ip0 WL0 1lQp0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 q6N0 En0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1op0 11b0 dA10 17b0 1iN0 17b0 1iN0 17b0 1iN0 17b0 1vB0 SL0 1mp0 13z0 1iN0 17b0 1iN0 17b0 1jd0 12n0 1a10 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0|22e5",
5347			"Asia/Bishkek|LMT +05 +06 +07|-4W.o -50 -60 -70|012323232323232323232321212121212121212121212121212|-1Pc4W.o eUnW.o 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2e00 1tX0 17b0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1cPu 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0|87e4",
5348			"Asia/Brunei|LMT +0730 +08|-7D.E -7u -80|012|-1KITD.E gDc9.E|42e4",
5349			"Asia/Kolkata|MMT IST +0630|-5l.a -5u -6u|012121|-2zOtl.a 1r2LP.a 1un0 HB0 7zX0|15e6",
5350			"Asia/Chita|LMT +08 +09 +10|-7x.Q -80 -90 -a0|012323232323232323232321232323232323232323232323232323232323232312|-21Q7x.Q pAnx.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3re0|33e4",
5351			"Asia/Choibalsan|LMT +07 +08 +10 +09|-7C -70 -80 -a0 -90|0123434343434343434343434343434343434343434343424242|-2APHC 2UkoC cKn0 1da0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 3Db0 h1f0 1cJ0 1cP0 1cJ0|38e3",
5352			"Asia/Shanghai|CST CDT|-80 -90|01010101010101010|-1c1I0 LX0 16p0 1jz0 1Myp0 Rb0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0|23e6",
5353			"Asia/Colombo|MMT +0530 +06 +0630|-5j.w -5u -60 -6u|01231321|-2zOtj.w 1rFbN.w 1zzu 7Apu 23dz0 11zu n3cu|22e5",
5354			"Asia/Dhaka|HMT +0630 +0530 +06 +07|-5R.k -6u -5u -60 -70|0121343|-18LFR.k 1unn.k HB0 m6n0 2kxbu 1i00|16e6",
5355			"Asia/Damascus|LMT EET EEST|-2p.c -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-21Jep.c Hep.c 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1xRB0 11X0 1oN0 10L0 1pB0 11b0 1oN0 10L0 1mp0 13X0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 Nb0 1AN0 Nb0 bcp0 19X0 1gp0 19X0 3ld0 1xX0 Vd0 1Bz0 Sp0 1vX0 10p0 1dz0 1cN0 1cL0 1db0 1db0 1g10 1an0 1ap0 1db0 1fd0 1db0 1cN0 1db0 1dd0 1db0 1cp0 1dz0 1c10 1dX0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 19z0 1fB0 1qL0 11B0 1on0 Wp0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0|26e5",
5356			"Asia/Dili|LMT +08 +09|-8m.k -80 -90|01212|-2le8m.k 1dnXm.k 1nfA0 Xld0|19e4",
5357			"Asia/Dubai|LMT +04|-3F.c -40|01|-21JfF.c|39e5",
5358			"Asia/Dushanbe|LMT +05 +06 +07|-4z.c -50 -60 -70|012323232323232323232321|-1Pc4z.c eUnz.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2hB0|76e4",
5359			"Asia/Famagusta|LMT EET EEST +03|-2f.M -20 -30 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212312
5359121212121212121212121212121212121212121|-1Vc2f.M 2a3cf.M 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 15U0 2Ks0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00",
5360			"Asia/Gaza|EET EEST IST IDT|-20 -30 -20 -30|010101010101010101010101010101012323232323232323232323232320101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 11z0 1o10 14o0 1lA1 SKX 1xd1 MKX 1AN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0|18e5",
5361			"Asia/Hebron|EET EEST IST IDT|-20 -30 -20 -30|01010101010101010101010101010101232323232323232323232323232010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 12L0 1mN0 14o0 1lc0 Tb0 1xd1 MKX bB0 cn0 1cN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0|25e4",
5362			"Asia/Ho_Chi_Minh|LMT PLMT +07 +08 +09|-76.E -76.u -70 -80 -90|0123423232|-2yC76.E bK00.a 1h7b6.u 5lz0 18o0 3Oq0 k5b0 aW00 BAM0|90e5",
5363			"Asia/Hong_Kong|LMT HKT HKST JST|-7A.G -80 -90 -90|0121312121212121212121212121212121212121212121212121212121212121212121|-2CFHA.G 1sEP6.G 1cL0 ylu 93X0 1qQu 1tX0 Rd0 1In0 NB0 1cL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1kL0 14N0 1nX0 U10 1tz0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|73e5",
5364			"Asia/Hovd|LMT +06 +07 +08|-66.A -60 -70 -80|012323232323232323232323232323232323232323232323232|-2APG6.A 2Uko6.A cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|81e3",
5365			"Asia/Irkutsk|IMT +07 +08 +09|-6V.5 -70 -80 -90|01232323232323232323232123232323232323232323232323232323232323232|-21zGV.5 pjXV.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4",
5366			"Europe/Istanbul|IMT EET EEST +04 +03|-1U.U -20 -30 -40 -30|012121212121212121212121212121212121212121212121212121234343434342121212121212121212121212121212121212121212121212121212121212124|-2ogNU.U dzzU.U 11b0 8tB0 1on0 1410 1db0 19B0 1in0 3Rd0 Un0 1oN0 11b0 zSp0 CL0 mN0 1Vz0 1gN0 1pz0 5Rd0 1fz0 1yp0 ML0 1kp0 17b
53660 1ip0 17b0 1fB0 19X0 1jB0 18L0 1ip0 17z0 qdd0 xX0 3S10 Tz0 dA10 11z0 1o10 11z0 1qN0 11z0 1ze0 11B0 WM0 1qO0 WI0 1nX0 1rB0 10L0 11B0 1in0 17d0 1in0 2pX0 19E0 1fU0 16Q0 1iI0 16Q0 1iI0 1Vd0 pb0 3Kp0 14o0 1de0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1a00 1fA0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WO0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 Xc0 1qo0 WM0 1qM0 11A0 1o00 1200 1nA0 11A0 1tA0 U00 15w0|13e6",
5367			"Asia/Jakarta|BMT +0720 +0730 +09 +08 WIB|-77.c -7k -7u -90 -80 -70|01232425|-1Q0Tk luM0 mPzO 8vWu 6kpu 4PXu xhcu|31e6",
5368			"Asia/Jayapura|LMT +09 +0930 WIT|-9m.M -90 -9u -90|0123|-1uu9m.M sMMm.M L4nu|26e4",
5369			"Asia/Jerusalem|JMT IST IDT IDDT|-2k.E -20 -30 -40|01212121212132121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-26Bek.E SyMk.E 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 3LB0 Em0 or0 1cn0 1dB0 16n0 10O0 1ja0 1tC0 14o0 1cM0 1a00 11A0 1Na0 An0 1MP0 AJ0 1Kp0 LC0 1oo0 Wl0 EQN0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 1hB0 1dX0 1ep0 1aL0 1eN0 17X0 1nf0 11z0 1tB0 19W0 1e10 17b0 1ep0 1gL0 18N0 1fz0 1eN0 17b0 1gq0 1gn0 19d0 1dz0 1c10 17X0 1hB0 1gn0 19d0 1dz0 1c10 17X0 1kp0 1dz0 1c10 1aL0 1eN0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0|81e4",
5370			"Asia/Kabul|+04 +0430|-40 -4u|01|-10Qs0|46e5",
5371			"Asia/Kamchatka|LMT +11 +12 +13|-ay.A -b0 -c0 -d0|012323232323232323232321232323232323232323232323232323232323212|-1SLKy.A ivXy.A 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|18e4",
5372			"Asia/Karachi|LMT +0530 +0630 +05 PKT PKST|-4s.c -5u -6u -50 -50 -60|012134545454|-2xoss.c 1qOKW.c 7zX0 eup0 LqMu 1fy00 1cL0 dK10 11b0 1610 1jX0|24e6",
5373			"Asia/Urumqi|LMT +06|-5O.k -60|01|-1GgtO.k|32e5",
5374			"Asia/Kathmandu|LMT +0530 +0545|-5F.g -5u -5J|012|-21JhF.g 2EGMb.g|12e5",
5375			"Asia/Khandyga|LMT +08 +09 +10 +11|-92.d -80 -90 -a0 -b0|0123232323232323232323212323232323232323232323232343434343434343432|-21Q92.d pAp2.d 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 qK0 yN0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|66e2",
5376			"Asia/Krasnoyarsk|LMT +06 +07 +08|-6b.q -60 -70 -80|01232323232323232323232123232323232323232323232323232323232323232|-21Hib.q prAb.q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5",
5377			"Asia/Kuala_Lumpur|SMT +07 +0720 +0730 +09 +08|-6T.p -70 -7k -7u -90 -80|0123435|-2Bg6T.p 17anT.p l5XE 17bO 8Fyu 1so1u|71e5",
5378			"Asia/Kuching|LMT +0730 +08 +0820 +09|-7l.k -7u -80 -8k -90|0123232323232323242|-1KITl.k gDbP.k 6ynu AnE 1O0k AnE 1NAk AnE 1NAk AnE 1NAk AnE 1O0k AnE 1NAk AnE pAk 8Fz0|13e4",
5379			"Asia/Macau|LMT CST CDT|-7y.k -80 -90|012121212121212121212121212121212121212121|-2le7y.k 1XO34.k 1wn0 Rd0 1wn0 R9u 1wqu U10 1tz0 TVu 1tz0 17gu 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cJu 1cL0 1cN0 1fz0 1cN0 1cOu 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cJu 1cL0 1cN0 1fz0 1cN0 1cL0|57e4",
5380			"Asia/Magadan|LMT +10 +11 +12|-a3.c -a0 -b0 -c0|012323232323232323232321232323232323232323232323232323232323232312|-1Pca3.c eUo3.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Cq0|95e3",
5381			"Asia/Makassar|LMT MMT +08 +09 WITA|-7V.A -7V.A -80 -90 -80|01234|-21JjV.A vfc0 myLV.A 8ML0|15e5",
5382			"Asia/Manila|+08 +09|-80 -90|010101010|-1kJI0 AL0 cK10 65X0 mXB0 vX0 VK10 1db0|24e6",
5383			"Asia/Nicosia|LMT EET EEST|-2d.s -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Vc2d.s 2a3cd.s 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|32e4",
5384			"Asia/Novokuznetsk|LMT +06 +07 +08|-5M.M -60 -70 -80|012323232323232323232321232323232323232323232323232323232323212|-1PctM.M eULM.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|55e4",
5385			"Asia/Novosibirsk|LMT +06 +07 +08|-5v.E -60 -70 -80|0123232323232323232323212323212121212121212121212121212121212121212|-21Qnv.E pAFv.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 ml0 Os0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 4eN0|15e5",
5386			"Asia/Omsk|LMT +05 +06 +07|-4R.u -50 -60 -70|01232323232323232323232123232323232323232323232323232323232323232|-224sR.u pMLR.u 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|12e5",
5387			"Asia/Oral|LMT +03 +05 +06 +04|-3p.o -30 -50 -60 -40|01232323232323232424242424242424242424242424242|-1Pc3p.o eUop.o 23CK0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 1cM0 IM0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|27e4",
5388			"Asia/Pontianak|LMT PMT +0730 +09 +08 WITA WIB|-7h.k -7h.k -7u -90 -80 -80 -70|012324256|-2ua7h.k XE00 munL.k 8Rau 6kpu 4PXu xhcu Wqnu|23e4",
5389			"Asia/Pyongyang|LMT KST JST KST|-8n -8u -90 -90|01231|-2um8n 97XR 1lTzu 2Onc0|29e5",
5390			"Asia/Qyzylorda|LMT +04 +05 +06|-4l.Q -40 -50 -60|0123232323232323232323232323232323232323232323|-1Pc4l.Q eUol.Q 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 3ao0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|73e4",
5391			"Asia/Rangoon|RMT +0630 +09|-6o.L -6u -90|0121|-21Jio.L SmnS.L 7j9u|48e5",
5392			"Asia/Sakhalin|LMT +09 +11 +12 +10|-9u.M -90 -b0 -c0 -a0|01232323232323232323232423232323232424242424242424242424242424242|-2AGVu.M 1BoMu.M 1qFa0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 2pB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|58e4",
5393			"Asia/Samarkand|LMT +04 +05 +06|-4r.R -40 -50 -60|01232323232323232323232|-1Pc4r.R eUor.R 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|36e4",
5394			"Asia/Seoul|LMT KST JST KST KDT KDT|-8r.Q -8u -90 -90 -9u -a0|0123141414141414135353|-2um8r.Q 97XV.Q 1m1zu kKo0 2I0u OL0 1FB0 Rb0 1qN0 TX0 1tB0 TX0 1tB0 TX0 1tB0 TX0 2ap0 12FBu 11A0 1o00 11A0|23e6",
5395			"Asia/Srednekolymsk|LMT +10 +11 +12|-ae.Q -a0 -b0 -c0|01232323232323232323232123232323232323232323232323232323232323232|-1Pcae.Q eUoe.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|35e2",
5396			"Asia/Taipei|CST JST CDT|-80 -90 -90|01020202020202020202020202020202020202020|-1iw80 joM0 1yo0 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 10N0 1BX0 10p0 1pz0 10p0 1pz0 10p0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1BB0 ML0 1Bd0 ML0 uq10 1db0 1cN0 1db0 97B0 AL0|74e5",
5397			"Asia/Tashkent|LMT +05 +06 +07|-4B.b -50 -60 -70|012323232323232323232321|-1Pc4B.b eUnB.b 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0|23e5",
5398			"Asia/Tbilisi|TBMT +03 +04 +05|-2X.b -30 -40 -50|0123232323232323232323212121232323232323232323212|-1Pc2X.b 1jUnX.b WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cK0 1cL0 1cN0 1cL0 1cN0 2pz0 1cL0 1fB0 3Nz0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 An0 Os0 WM0|11e5",
5399			"Asia/Tehran|LMT TMT +0330 +04 +05 +0430|-3p.I -3p.I -3u -40 -50 -4u|01234325252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2btDp.I 1d3c0 1huLT.I TXu 1pz0 sN0 vAu 1cL0 1dB0 1en0 pNB0 UL0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 64p0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0|14e6",
5400			"Asia/Thimphu|LMT +0530 +06|-5W.A -5u -60|012|-Su5W.A 1BGMs.A|79e3",
5401			"Asia/Tokyo|JST JDT|-90 -a0|010101010|-QJH0 QL0 1lB0 13X0 1zB0 NX0 1zB0 NX0|38e6",
5402			"Asia/Tomsk|LMT +06 +07 +08|-5D.P -60 -70 -80|0123232323232323232323212323232323232323232323212121212121212121212|-21NhD.P pxzD.P 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 co0 1bB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Qp0|10e5",
5403			"Asia/Ulaanbaatar|LMT +07 +08 +09|-77.w -70 -80 -90|012323232323232323232323232323232323232323232323232|-2APH7.w 2Uko7.w cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|12e5",
5404			"Asia/Ust-Nera|LMT +08 +09 +12 +11 +10|-9w.S -80 -90 -c0 -b0 -a0|012343434343434343434345434343434343434343434343434343434343434345|-21Q9w.S pApw.S 23CL0 1d90 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|65e2",
5405			"Asia/Vladivostok|LMT +09 +10 +11|-8L.v -90 -a0 -b0|01232323232323232323232123232323232323232323232323232323232323232|-1SJIL.v itXL.v 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4",
5406			"Asia/Yakutsk|LMT +08 +09 +10|-8C.W -80 -90 -a0|01232323232323232323232123232323232323232323232323232323232323232|-21Q8C.W pAoC.W 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|28e4",
5407			"Asia/Yekaterinburg|LMT PMT +04 +05 +06|-42.x -3J.5 -40 -50 -60|012343434343434343434343234343434343434343434343434343434343434343|-2ag42.x 7mQh.s qBvJ.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|14e5",
5408			"Asia/Yerevan|LMT +03 +04 +05|-2W -30 -40 -50|0123232323232323232323212121212323232323232323232323232323232|-1Pc2W 1jUnW WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 4RX0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|13e5",
5409			"Atlantic/Azores|HMT -02 -01 +00 WET|1S.w 20 10 0 0|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121232323232323232323232323232323234323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2ldW5.s aPX5.s Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|25e4",
5410			"Atlantic/Bermuda|LMT AST ADT|4j.i 40 30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1BnRE.G 1LTbE.G 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e3",
5411			"Atlantic/Canary|LMT -01 WET WEST|11.A 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UtaW.o XPAW.o 1lAK0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4",
5412			"Atlantic/Cape_Verde|LMT -02 -01|1y.4 20 10|01212|-2xomp.U 1qOMp.U 7zX0 1djf0|50e4",
5413			"Atlantic/Faroe|LMT WET WEST|r.4 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2uSnw.U 2Wgow.U 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|49e3",
5414			"Atlantic/Madeira|FMT -01 +00 +01 WET WEST|17.A 10 0 -10 0 -10|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2ldWQ.o aPWQ.o Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e4",
5415			"Atlantic/Reykjavik|LMT -01 +00 GMT|1s 10 0 0|012121212121212121212121212121212121212121212121212121212121212121213|-2uWmw mfaw 1Bd0 ML0 1LB0 Cn0 1LB0 3fX0 C10 HrX0 1cO0 LB0 1EL0 LA0 1C00 Oo0 1wo0 Rc0 1wo0 Rc0 1wo0 Rc0 1zc0 Oo0 1zc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0|12e4",
5416			"Atlantic/South_Georgia|-02|20|0||30",
5417			"Atlantic/Stanley|SMT -04 -03 -02|3P.o 40 30 20|012121212121212323212121212121212121212121212121212121212121212121212|-2kJw8.A 12bA8.A 19X0 1fB0 19X0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 Cn0 1Cc10 WL0 1qL0 U10 1tz0 2mN0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 U10 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qN0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 U10 1tz0 U10 1tz0 U10|21e2",
5418			"Australia/Sydney|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|40e5",
5419			"Australia/Adelaide|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 WM0 1qM0 Rc0 1zc0 U00 1tA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|11e5",
5420			"Australia/Brisbane|AEST AEDT|-a0 -b0|01010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0|20e5",
5421			"Australia/Broken_Hill|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|18e3",
5422			"Australia/Currie|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|746",
5423			"Australia/Darwin|ACST ACDT|-9u -au|010101010|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0|12e4",
5424			"Australia/Eucla|+0845 +0945|-8J -9J|0101010101010101010|-293kI xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|368",
5425			"Australia/Hobart|AEST AEDT|-a0 -b0|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 VfB0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|21e4",
5426			"Australia/Lord_Howe|AEST +1030 +1130 +11|-a0 -au -bu -b0|0121212121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313|raC0 1zdu Rb0 1zd0 On0 1zd0 On0 1zd0 On0 1zd0 TXu 1qMu WLu 1tAu WLu 1tAu TXu 1tAu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 11Au 1nXu 1qMu 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu 11zu 1o0u WLu 1qMu 14nu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 
54261cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu|347",
5427			"Australia/Lindeman|AEST AEDT|-a0 -b0|010101010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0|10",
5428			"Australia/Melbourne|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1qM0 11A0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|39e5",
5429			"Australia/Perth|AWST AWDT|-80 -90|0101010101010101010|-293jX xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|18e5",
5430			"CET|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00",
5431			"CST6CDT|CST CDT CWT CPT|60 50 50 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0",
5432			"Pacific/Easter|EMT -07 -06 -05|7h.s 70 60 50|012121212121212121212121212123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1uSgG.w 1s4IG.w WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 2pA0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0|30e2",
5433			"EET|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00",
5434			"EST|EST|50|0|",
5435			"EST5EDT|EST EDT EWT EPT|50 40 40 40|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 SgN0 8x40 iv0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0",
5436			"Europe/Dublin|DMT IST GMT BST IST|p.l -y.D 0 -10 -10|01232323232324242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242|-2ax9y.D Rc0 1fzy.D 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 g600 14o0 1wo0 17c0 1io0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5",
5437			"Etc/GMT+0|GMT|0|0|",
5438			"Etc/GMT+1|-01|10|0|",
5439			"Etc/GMT+10|-10|a0|0|",
5440			"Etc/GMT+11|-11|b0|0|",
5441			"Etc/GMT+12|-12|c0|0|",
5442			"Etc/GMT+3|-03|30|0|",
5443			"Etc/GMT+4|-04|40|0|",
5444			"Etc/GMT+5|-05|50|0|",
5445			"Etc/GMT+6|-06|60|0|",
5446			"Etc/GMT+7|-07|70|0|",
5447			"Etc/GMT+8|-08|80|0|",
5448			"Etc/GMT+9|-09|90|0|",
5449			"Etc/GMT-1|+01|-10|0|",
5450			"Pacific/Port_Moresby|+10|-a0|0||25e4",
5451			"Pacific/Pohnpei|+11|-b0|0||34e3",
5452			"Pacific/Tarawa|+12|-c0|0||29e3",
5453			"Etc/GMT-13|+13|-d0|0|",
5454			"Etc/GMT-14|+14|-e0|0|",
5455			"Etc/GMT-2|+02|-20|0|",
5456			"Etc/GMT-3|+03|-30|0|",
5457			"Etc/GMT-4|+04|-40|0|",
5458			"Etc/GMT-5|+05|-50|0|",
5459			"Etc/GMT-6|+06|-60|0|",
5460			"Indian/Christmas|+07|-70|0||21e2",
5461			"Etc/GMT-8|+08|-80|0|",
5462			"Pacific/Palau|+09|-90|0||21e3",
5463			"Etc/UCT|UCT|0|0|",
5464			"Etc/UTC|UTC|0|0|",
5465			"Europe/Amsterdam|AMT NST +0120 +0020 CEST CET|-j.w -1j.w -1k -k -20 -10|010101010101010101010101010101010101010101012323234545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545|-2aFcj.w 11b0 1iP0 11A0 1io0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1co0 1io0 1yo0 Pc0 1a00 1fA0 1Bc0 Mo0 1tc0 Uo0 1tA0 U00 1uo0 W00 1s00 VA0 1so0 Vc0 1sM0 UM0 1wo0 Rc0 1u00 Wo0 1rA0 W00 1s00 VA0 1sM0 UM0 1w00 fV0 BCX.w 1tA0 U00 1u00 Wo0 1sm0 601k WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|16e5",
5466			"Europe/Andorra|WET CET CEST|0 -10 -20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-UBA0 1xIN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|79e3",
5467			"Europe/Astrakhan|LMT +03 +04 +05|-3c.c -30 -40 -50|012323232323232323212121212121212121212121212121212121212121212|-1Pcrc.c eUMc.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0",
5468			"Europe/Athens|AMT EET EEST CEST CET|-1y.Q -20 -30 -20 -10|012123434121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a61x.Q CNbx.Q mn0 kU10 9b0 3Es0 Xa0 1fb0 1dd0 k3X0 Nz0 SCp0 1vc0 SO0 1cM0 1a00 1ao0 1fc0 1a10 1fG0 1cg0 1dX0 1bX0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|35e5",
5469			"Europe/London|GMT BST BDST|0 -10 -20|0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|10e6",
5470			"Europe/Belgrade|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19RC0 3IP0 WM0 1fA0 1cM0 1cM0 1rc0 Qo0 1vmo0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5",
5471			"Europe/Berlin|CET CEST CEMT|-10 -20 -30|01010101010101210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 kL0 Nc0 m10 WM0 1ao0 1cp0 dX0 jz0 Dd0 1io0 17c0 1fA0 1a00 1ehA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e5",
5472			"Europe/Prague|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 16M0 1lc0 1tA0 17A0 11c0 1io0 17c0 1io0 17c0 1fc0 1ao0 1bNc0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|13e5",
5473			"Europe/Brussels|WET CET CEST WEST|0 -10 -20 -10|0121212103030303030303030303030303030303030303030303212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ehc0 3zX0 11c0 1iO0 11A0 1o00 11A0 my0 Ic0 1qM0 Rc0 1EM0 UM0 1u00 10o0 1io0 1io0 17c0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a30 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 y00 5Wn0 WM0 1fA0 1cM0 16M0 1iM0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|21e5",
5474			"Europe/Bucharest|BMT EET EEST|-1I.o -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1xApI.o 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Axc0 On0 1fA0 1a10 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|19e5",
5475			"Europe/Budapest|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1ip0 17b0 1op0 1tb0 Q2m0 3Ne0 WM0 1fA0 1cM0 1cM0 1oJ0 1dc0 1030 1fA0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1iM0 1fA0 8Ha0 Rb0 1wN0 Rb0 1BB0 Lz0 1C20 LB0 SNX0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5",
5476			"Europe/Zurich|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19Lc0 11A0 1o00 11A0 1xG10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e4",
5477			"Europe/Chisinau|CMT BMT EET EEST CEST CET MSK MSD|-1T -1I.o -20 -30 -20 -10 -30 -40|012323232323232323234545467676767676767676767323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-26jdT wGMa.A 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 27A0 2en0 39g0 WM0 1fA0 1cM0 V90 1t7z0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 gL0 WO0 1cM0 1cM0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11D0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|67e4",
5478			"Europe/Copenhagen|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 Tz0 VuO0 60q0 WM0 1fA0 1cM0 1cM0 1cM0 S00 1HA0 Nc0 1C00 Dc0 1Nc0 Ao0 1h5A0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5",
5479			"Europe/Gibraltar|GMT BST BDST CET CEST|0 -10 -20 -10 -20|010101010101010101010101010101010101010101010101012121212121010121010101010101010101034343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 10Jz0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|30e3",
5480			"Europe/Helsinki|HMT EET EEST|-1D.N -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1WuND.N OULD.N 1dA0 1xGq0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5",
5481			"Europe/Kaliningrad|CET CEST CET CEST MSK MSD EEST EET +03|-10 -20 -20 -30 -30 -40 -30 -20 -30|0101010101010232454545454545454546767676767676767676767676767676767676767676787|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 Am0 Lb0 1en0 op0 1pNz0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|44e4",
5482			"Europe/Kiev|KMT EET MSK CEST CET MSD EEST|-22.4 -20 -30 -20 -10 -40 -30|0123434252525252525252525256161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc22.4 eUo2.4 rnz0 2Hg0 WM0 1fA0 da0 1v4m0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 Db0 3220 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|34e5",
5483			"Europe/Kirov|LMT +03 +04 +05|-3i.M -30 -40 -50|01232323232323232321212121212121212121212121212121212121212121|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|48e4",
5484			"Europe/Lisbon|LMT WET WEST WEMT CET CEST|A.J 0 -10 -20 -10 -20|012121212121212121212121212121212121212121212321232123212321212121212121212121212121212121212121214121212121212121212121212121212124545454212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ldXn.f aPWn.f Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 pvy0 1cM0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e5",
5485			"Europe/Luxembourg|LMT CET CEST WET WEST WEST WET|-o.A -10 -20 0 -10 -20 -10|0121212134343434343434343434343434343434343434343434565651212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2DG0o.A t6mo.A TB0 1nX0 Up0 1o20 11A0 rW0 CM0 1qP0 R90 1EO0 UK0 1u20 10m0 1ip0 1in0 17e0 19W0 1fB0 1db0 1cp0 1in0 17d0 1fz0 1a10 1in0 1a10 1in0 17f0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 vA0 60L0 WM0 1fA0 1cM0 17c0 1io0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4",
5486			"Europe/Madrid|WET WEST WEMT CET CEST|0 -10 -20 -10 -20|010101010101010101210343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-25Td0 19B0 1cL0 1dd0 b1z0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1in0 17d0 iIn0 Hd0 1cL0 bb0 1200 2s20 14n0 5aL0 Mp0 1vz0 17d0 1in0 17d0 1in0 17d0 1in0 17d0 6hX0 11B0 XHX0 1a10 1fz0 1a10 19X0 1cN0 1fz0 1a10 1fC0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e5",
5487			"Europe/Malta|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1co0 17c0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1co0 1cM0 1lA0 Xc0 1qq0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1iN0 19z0 1fB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4",
5488			"Europe/Minsk|MMT EET MSK CEST CET MSD EEST +03|-1O -20 -30 -20 -10 -40 -30 -30|01234343252525252525252525261616161616161616161616161616161616161617|-1Pc1O eUnO qNX0 3gQ0 WM0 1fA0 1cM0 Al0 1tsn0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 3Fc0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0|19e5",
5489			"Europe/Monaco|PMT WET WEST WEMT CET CEST|-9.l 0 -10 -20 -10 -20|01212121212121212121212121212121212121212121212121232323232345454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 2RV0 11z0 11B0 1ze0 WM0 1fA0 1cM0 1fa0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e3",
5490			"Europe/Moscow|MMT MMT MST MDST MSD MSK +05 EET EEST MSK|-2u.h -2v.j -3v.j -4v.j -40 -30 -50 -20 -30 -40|012132345464575454545454545454545458754545454545454545454545454545454545454595|-2ag2u.h 2pyW.W 1bA0 11X0 GN0 1Hb0 c4v.j ik0 3DA0 dz0 15A0 c10 2q10 iM10 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|16e6",
5491			"Europe/Paris|PMT WET WEST CEST CET WEMT|-9.l 0 -10 -20 -10 -20|0121212121212121212121212121212121212121212121212123434352543434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-2nco8.l cNb8.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 Ik0 5M30 WM0 1fA0 1cM0 Vx0 hB0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e6",
5492			"Europe/Riga|RMT LST EET MSK CEST CET MSD EEST|-1A.y -2A.y -2
54920 -30 -20 -10 -40 -30|010102345454536363636363636363727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272|-25TzA.y 11A0 1iM0 ko0 gWm0 yDXA.y 2bX0 3fE0 WM0 1fA0 1cM0 1cM0 4m0 1sLy0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 1o00 11A0 1o00 11A0 1qM0 3oo0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|64e4",
5493			"Europe/Rome|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1cM0 16M0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1C00 LA0 1zc0 Oo0 1C00 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1zc0 Oo0 1fC0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|39e5",
5494			"Europe/Samara|LMT +03 +04 +05|-3k.k -30 -40 -50|0123232323232323232121232323232323232323232323232323232323212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2y10 14m0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|12e5",
5495			"Europe/Saratov|LMT +03 +04 +05|-34.i -30 -40 -50|012323232323232321212121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 5810",
5496			"Europe/Simferopol|SMT EET MSK CEST CET MSD EEST MSK|-2g -20 -30 -20 -10 -40 -30 -40|012343432525252525252525252161616525252616161616161616161616161616161616172|-1Pc2g eUog rEn0 2qs0 WM0 1fA0 1cM0 3V0 1u0L0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 4eL0 1cL0 1cN0 1cL0 1cN0 dX0 WL0 1cN0 1cL0 1fB0 1o30 11B0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11z0 1nW0|33e4",
5497			"Europe/Sofia|EET CET CEST EEST|-20 -10 -20 -30|01212103030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030|-168L0 WM0 1fA0 1cM0 1cM0 1cN0 1mKH0 1dd0 1fb0 1ap0 1fb0 1a20 1fy0 1a30 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5",
5498			"Europe/Stockholm|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 TB0 2yDe0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|15e5",
5499			"Europe/Tallinn|TMT CET CEST EET MSK MSD EEST|-1D -10 -20 -20 -30 -40 -30|012103421212454545454545454546363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363|-26oND teD 11A0 1Ta0 4rXl KSLD 2FX0 2Jg0 WM0 1fA0 1cM0 18J0 1sTX0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o10 11A0 1qM0 5QM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e4",
5500			"Europe/Tirane|LMT CET CEST|-1j.k -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glBj.k 14pcj.k 5LC0 WM0 4M0 1fCK0 10n0 1op0 11z0 1pd0 11z0 1qN0 WL0 1qp0 Xb0 1qp0 Xb0 1qp0 11z0 1lB0 11z0 1qN0 11z0 1iN0 16n0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4",
5501			"Europe/Ulyanovsk|LMT +03 +04 +05 +02|-3d.A -30 -40 -50 -20|01232323232323232321214121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0",
5502			"Europe/Uzhgorod|CET CEST MSK MSD EET EEST|-10 -20 -30 -40 -20 -30|010101023232323232323232320454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-1cqL0 6i00 WM0 1fA0 1cM0 1ml0 1Cp0 1r3W0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 1Nf0 2pw0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e4",
5503			"Europe/Vienna|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 3KM0 14o0 LA00 6i00 WM0 1fA0 1cM0 1cM0 1cM0 400 2qM0 1a00 1cM0 1cM0 1io0 17c0 1gHa0 19X0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|18e5",
5504			"Europe/Vilnius|WMT KMT CET EET MSK CEST MSD EEST|-1o -1z.A -10 -20 -30 -20 -40 -30|012324525254646464646464646473737373737373737352537373737373737373737373737373737373737373737373737373737373737373737373|-293do 6ILM.o 1Ooz.A zz0 Mfd0 29W0 3is0 WM0 1fA0 1cM0 LV0 1tgL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11B0 1o00 11A0 1qM0 8io0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4",
5505			"Europe/Volgograd|LMT +03 +04 +05|-2V.E -30 -40 -50|01232323232323232121212121212121212121212121212121212121212121|-21IqV.E psLV.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5",
5506			"Europe/Warsaw|WMT CET CEST EET EEST|-1o -10 -20 -20 -30|012121234312121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ctdo 1LXo 11d0 1iO0 11A0 1o00 11A0 1on0 11A0 6zy0 HWP0 5IM0 WM0 1fA0 1cM0 1dz0 1mL0 1en0 15B0 1aq0 1nA0 11A0 1io0 17c0 1fA0 1a00 iDX0 LA0 1cM0 1cM0 1C00 Oo0 1cM0 1cM0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1C00 LA0 uso0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5",
5507			"Europe/Zaporozhye|+0220 EET MSK CEST CET MSD EEST|-2k -20 -30 -20 -10 -40 -30|01234342525252525252525252526161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc2k eUok rdb0 2RE0 WM0 1fA0 8m0 1v9a0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cK0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|77e4",
5508			"HST|HST|a0|0|",
5509			"Indian/Chagos|LMT +05 +06|-4N.E -50 -60|012|-2xosN.E 3AGLN.E|30e2",
5510			"Indian/Cocos|+0630|-6u|0||596",
5511			"Indian/Kerguelen|-00 +05|0 -50|01|-MG00|130",
5512			"Indian/Mahe|LMT +04|-3F.M -40|01|-2yO3F.M|79e3",
5513			"Indian/Maldives|MMT +05|-4S -50|01|-olgS|35e4",
5514			"Indian/Mauritius|LMT +04 +05|-3O -40 -50|012121|-2xorO 34unO 14L0 12kr0 11z0|15e4",
5515			"Indian/Reunion|LMT +04|-3F.Q -40|01|-2mDDF.Q|84e4",
5516			"Pacific/Kwajalein|+11 -12 +12|-b0 c0 -c0|012|-AX0 W9X0|14e3",
5517			"MET|MET MEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00",
5518			"MST|MST|70|0|",
5519			"MST7MDT|MST MDT MWT MPT|70 60 60 60|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0",
5520			"Pacific/Chatham|+1215 +1245 +1345|-cf -cJ -dJ|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-WqAf 1adef IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|600",
5521			"PST8PDT|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0",
5522			"Pacific/Apia|LMT -1130 -11 -10 +14 +13|bq.U bu b0 a0 -e0 -d0|01232345454545454545454545454545454545454545454545454545454|-2nDMx.4 1yW03.4 2rRbu 1ff0 1a00 CI0 AQ0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|37e3",
5523			"Pacific/Bougainville|+10 +09 +11|-a0 -90 -b0|0102|-16Wy0 7CN0 2MQp0|18e4",
5524			"Pacific/Efate|LMT +11 +12|-bd.g -b0 -c0|0121212121212121212121|-2l9nd.g 2Szcd.g 1cL0 1oN0 10L0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 Lz0 1Nd0 An0|66e3",
5525			"Pacific/Enderbury|-12 -11 +13|c0 b0 -d0|012|nIc0 B8n0|1",
5526			"Pacific/Fakaofo|-11 +13|b0 -d0|01|1Gfn0|483",
5527			"Pacific/Fiji|LMT +12 +13|-bT.I -c0 -d0|0121212121212121212121212121212121212121212121212121212121212121|-2bUzT.I 3m8NT.I LA0 1EM0 IM0 nJc0 LA0 1o00 Rc0 1wo0 Ao0 1Nc0 Ao0 1Q00 xz0 1SN0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0|88e4",
5528			"Pacific/Galapagos|LMT -05 -06|5W.o 50 60|01212|-1yVS1.A 2dTz1.A gNd0 rz0|25e3",
5529			"Pacific/Gambier|LMT -09|8X.M 90|01|-2jof0.c|125",
5530			"Pacific/Guadalcanal|LMT +11|-aD.M -b0|01|-2joyD.M|11e4",
5531			"Pacific/Guam|GST ChST|-a0 -a0|01|1fpq0|17e4",
5532			"Pacific/Honolulu|HST HDT HST|au 9u a0|010102|-1thLu 8x0 lef0 8Pz0 46p0|37e4",
5533			"Pacific/Kiritimati|-1040 -10 +14|aE a0 -e0|012|nIaE B8nk|51e2",
5534			"Pacific/Kosrae|+11 +12|-b0 -c0|010|-AX0 1bdz0|66e2",
5535			"Pacific/Majuro|+11 +12|-b0 -c0|01|-AX0|28e3",
5536			"Pacific/Marquesas|LMT -0930|9i 9u|01|-2joeG|86e2",
5537			"Pacific/Pago_Pago|LMT SST|bm.M b0|01|-2nDMB.c|37e2",
5538			"Pacific/Nauru|LMT +1130 +09 +12|-b7.E -bu -90 -c0|01213|-1Xdn7.E PvzB.E 5RCu 1ouJu|10e3",
5539			"Pacific/Niue|-1120 -1130 -11|bk bu b0|012|-KfME 17y0a|12e2",
5540			"Pacific/Norfolk|+1112 +1130 +1230 +11|-bc -bu -cu -b0|01213|-Kgbc W01G On0 1COp0|25e4",
5541			"Pacific/Noumea|LMT +11 +12|-b5.M -b0 -c0|01212121|-2l9n5.M 2EqM5.M xX0 1PB0 yn0 HeP0 Ao0|98e3",
5542			"Pacific/Pitcairn|-0830 -08|8u 80|01|18Vku|56",
5543			"Pacific/Rarotonga|-1030 -0930 -10|au 9u a0|012121212121212121212121212|lyWu IL0 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu|13e3",
5544			"Pacific/Tahiti|LMT -10|9W.g a0|01|-2joe1.I|18e4",
5545			"Pacific/Tongatapu|+1220 +13 +14|-ck -d0 -e0|0121212121|-1aB0k 2n5dk 15A0 1wo0 xz0 1Q10 xz0 zWN0 s00|75e3",
5546			"WET|WET WEST|0 -10|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00"
5547		],
5548		"links": [
5549			"Africa/Abidjan|Africa/Bamako",
5550			"Africa/Abidjan|Africa/Banjul",
5551			"Africa/Abidjan|Africa/Conakry",
5552			"Africa/Abidjan|Africa/Dakar",
5553			"Africa/Abidjan|Africa/Freetown",
5554			"Africa/Abidjan|Africa/Lome",
5555			"Africa/Abidjan|Africa/Nouakchott",
5556			"Africa/Abidjan|Africa/Ouagadougou",
5557			"Africa/Abidjan|Africa/Sao_Tome",
5558			"Africa/Abidjan|Africa/Timbuktu",
5559			"Africa/Abidjan|Atlantic/St_Helena",
5560			"Africa/Cairo|Egypt",
5561			"Africa/Johannesburg|Africa/Maseru",
5562			"Africa/Johannesburg|Africa/Mbabane",
5563			"Africa/Lagos|Africa/Bangui",
5564			"Africa/Lagos|Africa/Brazzaville",
5565			"Africa/Lagos|Africa/Douala",
5566			"Africa/Lagos|Africa/Kinshasa",
5567			"Africa/Lagos|Africa/Libreville",
5568			"Africa/Lagos|Africa/Luanda",
5569			"Africa/Lagos|Africa/Malabo",
5570			"Africa/Lagos|Africa/Niamey",
5571			"Africa/Lagos|Africa/Porto-Novo",
5572			"Africa/Maputo|Africa/Blantyre",
5573			"Africa/Maputo|Africa/Bujumbura",
5574			"Africa/Maputo|Africa/Gaborone",
5575			"Africa/Maputo|Africa/Harare",
5576			"Africa/Maputo|Africa/Kigali",
5577			"Africa/Maputo|Africa/Lubumbashi",
5578			"Africa/Maputo|Africa/Lusaka",
5579			"Africa/Nairobi|Africa/Addis_Ababa",
5580			"Africa/Nairobi|Africa/Asmara",
5581			"Africa/Nairobi|Africa/Asmera",
5582			"Africa/Nairobi|Africa/Dar_es_Salaam",
5583			"Africa/Nairobi|Africa/Djibouti",
5584			"Africa/Nairobi|Africa/Kampala",
5585			"Africa/Nairobi|Africa/Mogadishu",
5586			"Africa/Nairobi|Indian/Antananarivo",
5587			"Africa/Nairobi|Indian/Comoro",
5588			"Africa/Nairobi|Indian/Mayotte",
5589			"Africa/Tripoli|Libya",
5590			"America/Adak|America/Atka",
5591			"America/Adak|US/Aleutian",
5592			"America/Anchorage|US/Alaska",
5593			"America/Argentina/Buenos_Aires|America/Buenos_Aires",
5594			"America/Argentina/Catamarca|America/Argentina/ComodRivadavia",
5595			"America/Argentina/Catamarca|America/Catamarca",
5596			"America/Argentina/Cordoba|America/Cordoba",
5597			"America/Argentina/Cordoba|America/Rosario",
5598			"America/Argentina/Jujuy|America/Jujuy",
5599			"America/Argentina/Mendoza|America/Mendoza",
5600			"America/Atikokan|America/Coral_Harbour",
5601			"America/Chicago|US/Central",
5602			"America/Curacao|America/Aruba",
5603			"America/Curacao|America/Kralendijk",
5604			"America/Curacao|America/Lower_Princes",
5605			"America/Denver|America/Shiprock",
5606			"America/Denver|Navajo",
5607			"America/Denver|US/Mountain",
5608			"America/Detroit|US/Michigan",
5609			"America/Edmonton|Canada/Mountain",
5610			"America/Fort_Wayne|America/Indiana/Indianapolis",
5611			"America/Fort_Wayne|America/Indianapolis",
5612			"America/Fort_Wayne|US/East-Indiana",
5613			"America/Halifax|Canada/Atlantic",
5614			"America/Havana|Cuba",
5615			"America/Indiana/Knox|America/Knox_IN",
5616			"America/Indiana/Knox|US/Indiana-Starke",
5617			"America/Jamaica|Jamaica",
5618			"America/Kentucky/Louisville|America/Louisville",
5619			"America/Los_Angeles|US/Pacific",
5620			"America/Los_Angeles|US/Pacific-New",
5621			"America/Manaus|Brazil/West",
5622			"America/Mazatlan|Mexico/BajaSur",
5623			"America/Mexico_City|Mexico/General",
5624			"America/New_York|US/Eastern",
5625			"America/Noronha|Brazil/DeNoronha",
5626			"America/Panama|America/Cayman",
5627			"America/Phoenix|US/Arizona",
5628			"America/Port_of_Spain|America/Anguilla",
5629			"America/Port_of_Spain|America/Antigua",
5630			"America/Port_of_Spain|America/Dominica",
5631			"America/Port_of_Spain|America/Grenada",
5632			"America/Port_of_Spain|America/Guadeloupe",
5633			"America/Port_of_Spain|America/Marigot",
5634			"America/Port_of_Spain|America/Montserrat",
5635			"America/Port_of_Spain|America/St_Barthelemy",
5636			"America/Port_of_Spain|America/St_Kitts",
5637			"America/Port_of_Spain|America/St_Lucia",
5638			"America/Port_of_Spain|America/St_Thomas",
5639			"America/Port_of_Spain|America/St_Vincent",
5640			"America/Port_of_Spain|America/Tortola",
5641			"America/Port_of_Spain|America/Virgin",
5642			"America/Regina|Canada/Saskatchewan",
5643			"America/Rio_Branco|America/Porto_Acre",
5644			"America/Rio_Branco|Brazil/Acre",
5645			"America/Santiago|Chile/Continental",
5646			"America/Sao_Paulo|Brazil/East",
5647			"America/St_Johns|Canada/Newfoundland",
5648			"America/Tijuana|America/Ensenada",
5649			"America/Tijuana|America/Santa_Isabel",
5650			"America/Tijuana|Mexico/BajaNorte",
5651			"America/Toronto|America/Montreal",
5652			"America/Toronto|Canada/Eastern",
5653			"America/Vancouver|Canada/Pacific",
5654			"America/Whitehorse|Canada/Yukon",
5655			"America/Winnipeg|Canada/Central",
5656			"Asia/Ashgabat|Asia/Ashkhabad",
5657			"Asia/Bangkok|Asia/Phnom_Penh",
5658			"Asia/Bangkok|Asia/Vientiane",
5659			"Asia/Dhaka|Asia/Dacca",
5660			"Asia/Dubai|Asia/Muscat",
5661			"Asia/Ho_Chi_Minh|Asia/Saigon",
5662			"Asia/Hong_Kong|Hongkong",
5663			"Asia/Jerusalem|Asia/Tel_Aviv",
5664			"Asia/Jerusalem|Israel",
5665			"Asia/Kathmandu|Asia/Katmandu",
5666			"Asia/Kolkata|Asia/Calcutta",
5667			"Asia/Kuala_Lumpur|Asia/Singapore",
5668			"Asia/Kuala_Lumpur|Singapore",
5669			"Asia/Macau|Asia/Macao",
5670			"Asia/Makassar|Asia/Ujung_Pandang",
5671			"Asia/Nicosia|Europe/Nicosia",
5672			"Asia/Qatar|Asia/Bahrain",
5673			"Asia/Rangoon|Asia/Yangon",
5674			"Asia/Riyadh|Asia/Aden",
5675			"Asia/Riyadh|Asia/Kuwait",
5676			"Asia/Seoul|ROK",
5677			"Asia/Shanghai|Asia/Chongqing",
5678			"Asia/Shanghai|Asia/Chungking",
5679			"Asia/Shanghai|Asia/Harbin",
5680			"Asia/Shanghai|PRC",
5681			"Asia/Taipei|ROC",
5682			"Asia/Tehran|Iran",
5683			"Asia/Thimphu|Asia/Thimbu",
5684			"Asia/Tokyo|Japan",
5685			"Asia/Ulaanbaatar|Asia/Ulan_Bator",
5686			"Asia/Urumqi|Asia/Kashgar",
vendor: 23,339 bytes, lines 5687-6559
5687			"Atlantic/Faroe|Atlantic/Faeroe",
5688			"Atlantic/Reykjavik|Iceland",
5689			"Atlantic/South_Georgia|Etc/GMT+2",
5690			"Australia/Adelaide|Australia/South",
5691			"Australia/Brisbane|Australia/Queensland",
5692			"Australia/Broken_Hill|Australia/Yancowinna",
5693			"Australia/Darwin|Australia/North",
5694			"Australia/Hobart|Australia/Tasmania",
5695			"Australia/Lord_Howe|Australia/LHI",
5696			"Australia/Melbourne|Australia/Victoria",
5697			"Australia/Perth|Australia/West",
5698			"Australia/Sydney|Australia/ACT",
5699			"Australia/Sydney|Australia/Canberra",
5700			"Australia/Sydney|Australia/NSW",
5701			"Etc/GMT+0|Etc/GMT",
5702			"Etc/GMT+0|Etc/GMT-0",
5703			"Etc/GMT+0|Etc/GMT0",
5704			"Etc/GMT+0|Etc/Greenwich",
5705			"Etc/GMT+0|GMT",
5706			"Etc/GMT+0|GMT+0",
5707			"Etc/GMT+0|GMT-0",
5708			"Etc/GMT+0|GMT0",
5709			"Etc/GMT+0|Greenwich",
5710			"Etc/UCT|UCT",
5711			"Etc/UTC|Etc/Universal",
5712			"Etc/UTC|Etc/Zulu",
5713			"Etc/UTC|UTC",
5714			"Etc/UTC|Universal",
5715			"Etc/UTC|Zulu",
5716			"Europe/Belgrade|Europe/Ljubljana",
5717			"Europe/Belgrade|Europe/Podgorica",
5718			"Europe/Belgrade|Europe/Sarajevo",
5719			"Europe/Belgrade|Europe/Skopje",
5720			"Europe/Belgrade|Europe/Zagreb",
5721			"Europe/Chisinau|Europe/Tiraspol",
5722			"Europe/Dublin|Eire",
5723			"Europe/Helsinki|Europe/Mariehamn",
5724			"Europe/Istanbul|Asia/Istanbul",
5725			"Europe/Istanbul|Turkey",
5726			"Europe/Lisbon|Portugal",
5727			"Europe/London|Europe/Belfast",
5728			"Europe/London|Europe/Guernsey",
5729			"Europe/London|Europe/Isle_of_Man",
5730			"Europe/London|Europe/Jersey",
5731			"Europe/London|GB",
5732			"Europe/London|GB-Eire",
5733			"Europe/Moscow|W-SU",
5734			"Europe/Oslo|Arctic/Longyearbyen",
5735			"Europe/Oslo|Atlantic/Jan_Mayen",
5736			"Europe/Prague|Europe/Bratislava",
5737			"Europe/Rome|Europe/San_Marino",
5738			"Europe/Rome|Europe/Vatican",
5739			"Europe/Warsaw|Poland",
5740			"Europe/Zurich|Europe/Busingen",
5741			"Europe/Zurich|Europe/Vaduz",
5742			"Indian/Christmas|Etc/GMT-7",
5743			"Pacific/Auckland|Antarctica/McMurdo",
5744			"Pacific/Auckland|Antarctica/South_Pole",
5745			"Pacific/Auckland|NZ",
5746			"Pacific/Chatham|NZ-CHAT",
5747			"Pacific/Easter|Chile/EasterIsland",
5748			"Pacific/Guam|Pacific/Saipan",
5749			"Pacific/Honolulu|Pacific/Johnston",
5750			"Pacific/Honolulu|US/Hawaii",
5751			"Pacific/Kwajalein|Kwajalein",
5752			"Pacific/Pago_Pago|Pacific/Midway",
5753			"Pacific/Pago_Pago|Pacific/Samoa",
5754			"Pacific/Pago_Pago|US/Samoa",
5755			"Pacific/Palau|Etc/GMT-9",
5756			"Pacific/Pohnpei|Etc/GMT-11",
5757			"Pacific/Pohnpei|Pacific/Ponape",
5758			"Pacific/Port_Moresby|Etc/GMT-10",
5759			"Pacific/Port_Moresby|Pacific/Chuuk",
5760			"Pacific/Port_Moresby|Pacific/Truk",
5761			"Pacific/Port_Moresby|Pacific/Yap",
5762			"Pacific/Tarawa|Etc/GMT-12",
5763			"Pacific/Tarawa|Pacific/Funafuti",
5764			"Pacific/Tarawa|Pacific/Wake",
5765			"Pacific/Tarawa|Pacific/Wallis"
5766		]
5767	});
5768
5769
5770	return moment;
5771}));
5772;
5773/*!
5774 * jQuery UI Dialog 1.11.4
5775 * http://jqueryui.com
5776 *
5777 * Copyright jQuery Foundation and other contributors
5778 * Released under the MIT license.
5779 * http://jquery.org/license
5780 *
5781 * http://api.jqueryui.com/dialog/
5782 */
5783(function( factory ) {
5784	if ( typeof define === "function" && define.amd ) {
5785
5786		// AMD. Register as an anonymous module.
5787		define([
5788			"jquery",
5789			"./core",
5790			"./widget",
5791			"./button",
5792			"./draggable",
5793			"./mouse",
5794			"./position",
5795			"./resizable"
5796		], factory );
5797	} else {
5798
5799		// Browser globals
5800		factory( jQuery );
5801	}
5802}(function( $ ) {
5803
5804return $.widget( "ui.dialog", {
5805	version: "1.11.4",
5806	options: {
5807		appendTo: "body",
5808		autoOpen: true,
5809		buttons: [],
5810		closeOnEscape: true,
5811		closeText: "Close",
5812		dialogClass: "",
5813		draggable: true,
5814		hide: null,
5815		height: "auto",
5816		maxHeight: null,
5817		maxWidth: null,
5818		minHeight: 150,
5819		minWidth: 150,
5820		modal: false,
5821		position: {
5822			my: "center",
5823			at: "center",
5824			of: window,
5825			collision: "fit",
5826			// Ensure the titlebar is always visible
5827			using: function( pos ) {
5828				var topOffset = $( this ).css( pos ).offset().top;
5829				if ( topOffset < 0 ) {
5830					$( this ).css( "top", pos.top - topOffset );
5831				}
5832			}
5833		},
5834		resizable: true,
5835		show: null,
5836		title: null,
5837		width: 300,
5838
5839		// callbacks
5840		beforeClose: null,
5841		close: null,
5842		drag: null,
5843		dragStart: null,
5844		dragStop: null,
5845		focus: null,
5846		open: null,
5847		resize: null,
5848		resizeStart: null,
5849		resizeStop: null
5850	},
5851
5852	sizeRelatedOptions: {
5853		buttons: true,
5854		height: true,
5855		maxHeight: true,
5856		maxWidth: true,
5857		minHeight: true,
5858		minWidth: true,
5859		width: true
5860	},
5861
5862	resizableRelatedOptions: {
5863		maxHeight: true,
5864		maxWidth: true,
5865		minHeight: true,
5866		minWidth: true
5867	},
5868
5869	_create: function() {
5870		this.originalCss = {
5871			display: this.element[ 0 ].style.display,
5872			width: this.element[ 0 ].style.width,
5873			minHeight: this.element[ 0 ].style.minHeight,
5874			maxHeight: this.element[ 0 ].style.maxHeight,
5875			height: this.element[ 0 ].style.height
5876		};
5877		this.originalPosition = {
5878			parent: this.element.parent(),
5879			index: this.element.parent().children().index( this.element )
5880		};
5881		this.originalTitle = this.element.attr( "title" );
5882		this.options.title = this.options.title || this.originalTitle;
5883
5884		this._createWrapper();
5885
5886		this.element
5887			.show()
5888			.removeAttr( "title" )
5889			.addClass( "ui-dialog-content ui-widget-content" )
5890			.appendTo( this.uiDialog );
5891
5892		this._createTitlebar();
5893		this._createButtonPane();
5894
5895		if ( this.options.draggable && $.fn.draggable ) {
5896			this._makeDraggable();
5897		}
5898		if ( this.options.resizable && $.fn.resizable ) {
5899			this._makeResizable();
5900		}
5901
5902		this._isOpen = false;
5903
5904		this._trackFocus();
5905	},
5906
5907	_init: function() {
5908		if ( this.options.autoOpen ) {
5909			this.open();
5910		}
5911	},
5912
5913	_appendTo: function() {
5914		var element = this.options.appendTo;
5915		if ( element && (element.jquery || element.nodeType) ) {
5916			return $( element );
5917		}
5918		return this.document.find( element || "body" ).eq( 0 );
5919	},
5920
5921	_destroy: function() {
5922		var next,
5923			originalPosition = this.originalPosition;
5924
5925		this._untrackInstance();
5926		this._destroyOverlay();
5927
5928		this.element
5929			.removeUniqueId()
5930			.removeClass( "ui-dialog-content ui-widget-content" )
5931			.css( this.originalCss )
5932			// Without detaching first, the following becomes really slow
5933			.detach();
5934
5935		this.uiDialog.stop( true, true ).remove();
5936
5937		if ( this.originalTitle ) {
5938			this.element.attr( "title", this.originalTitle );
5939		}
5940
5941		next = originalPosition.parent.children().eq( originalPosition.index );
5942		// Don't try to place the dialog next to itself (#8613)
5943		if ( next.length && next[ 0 ] !== this.element[ 0 ] ) {
5944			next.before( this.element );
5945		} else {
5946			originalPosition.parent.append( this.element );
5947		}
5948	},
5949
5950	widget: function() {
5951		return this.uiDialog;
5952	},
5953
5954	disable: $.noop,
5955	enable: $.noop,
5956
5957	close: function( event ) {
5958		var activeElement,
5959			that = this;
5960
5961		if ( !this._isOpen || this._trigger( "beforeClose", event ) === false ) {
5962			return;
5963		}
5964
5965		this._isOpen = false;
5966		this._focusedElement = null;
5967		this._destroyOverlay();
5968		this._untrackInstance();
5969
5970		if ( !this.opener.filter( ":focusable" ).focus().length ) {
5971
5972			// support: IE9
5973			// IE9 throws an "Unspecified error" accessing document.activeElement from an <iframe>
5974			try {
5975				activeElement = this.document[ 0 ].activeElement;
5976
5977				// Support: IE9, IE10
5978				// If the <body> is blurred, IE will switch windows, see #4520
5979				if ( activeElement && activeElement.nodeName.toLowerCase() !== "body" ) {
5980
5981					// Hiding a focused element doesn't trigger blur in WebKit
5982					// so in case we have nothing to focus on, explicitly blur the active element
5983					// https://bugs.webkit.org/show_bug.cgi?id=47182
5984					$( activeElement ).blur();
5985				}
5986			} catch ( error ) {}
5987		}
5988
5989		this._hide( this.uiDialog, this.options.hide, function() {
5990			that._trigger( "close", event );
5991		});
5992	},
5993
5994	isOpen: function() {
5995		return this._isOpen;
5996	},
5997
5998	moveToTop: function() {
5999		this._moveToTop();
6000	},
6001
6002	_moveToTop: function( event, silent ) {
6003		var moved = false,
6004			zIndices = this.uiDialog.siblings( ".ui-front:visible" ).map(function() {
6005				return +$( this ).css( "z-index" );
6006			}).get(),
6007			zIndexMax = Math.max.apply( null, zIndices );
6008
6009		if ( zIndexMax >= +this.uiDialog.css( "z-index" ) ) {
6010			this.uiDialog.css( "z-index", zIndexMax + 1 );
6011			moved = true;
6012		}
6013
6014		if ( moved && !silent ) {
6015			this._trigger( "focus", event );
6016		}
6017		return moved;
6018	},
6019
6020	open: function() {
6021		var that = this;
6022		if ( this._isOpen ) {
6023			if ( this._moveToTop() ) {
6024				this._focusTabbable();
6025			}
6026			return;
6027		}
6028
6029		this._isOpen = true;
6030		this.opener = $( this.document[ 0 ].activeElement );
6031
6032		this._size();
6033		this._position();
6034		this._createOverlay();
6035		this._moveToTop( null, true );
6036
6037		// Ensure the overlay is moved to the top with the dialog, but only when
6038		// opening. The overlay shouldn't move after the dialog is open so that
6039		// modeless dialogs opened after the modal dialog stack properly.
6040		if ( this.overlay ) {
6041			this.overlay.css( "z-index", this.uiDialog.css( "z-index" ) - 1 );
6042		}
6043
6044		this._show( this.uiDialog, this.options.show, function() {
6045			that._focusTabbable();
6046			that._trigger( "focus" );
6047		});
6048
6049		// Track the dialog immediately upon openening in case a focus event
6050		// somehow occurs outside of the dialog before an element inside the
6051		// dialog is focused (#10152)
6052		this._makeFocusTarget();
6053
6054		this._trigger( "open" );
6055	},
6056
6057	_focusTabbable: function() {
6058		// Set focus to the first match:
6059		// 1. An element that was focused previously
6060		// 2. First element inside the dialog matching [autofocus]
6061		// 3. Tabbable element inside the content element
6062		// 4. Tabbable element inside the buttonpane
6063		// 5. The close button
6064		// 6. The dialog itself
6065		var hasFocus = this._focusedElement;
6066		if ( !hasFocus ) {
6067			hasFocus = this.element.find( "[autofocus]" );
6068		}
6069		if ( !hasFocus.length ) {
6070			hasFocus = this.element.find( ":tabbable" );
6071		}
6072		if ( !hasFocus.length ) {
6073			hasFocus = this.uiDialogButtonPane.find( ":tabbable" );
6074		}
6075		if ( !hasFocus.length ) {
6076			hasFocus = this.uiDialogTitlebarClose.filter( ":tabbable" );
6077		}
6078		if ( !hasFocus.length ) {
6079			hasFocus = this.uiDialog;
6080		}
6081		hasFocus.eq( 0 ).focus();
6082	},
6083
6084	_keepFocus: function( event ) {
6085		function checkFocus() {
6086			var activeElement = this.document[0].activeElement,
6087				isActive = this.uiDialog[0] === activeElement ||
6088					$.contains( this.uiDialog[0], activeElement );
6089			if ( !isActive ) {
6090				this._focusTabbable();
6091			}
6092		}
6093		event.preventDefault();
6094		checkFocus.call( this );
6095		// support: IE
6096		// IE <= 8 doesn't prevent moving focus even with event.preventDefault()
6097		// so we check again later
6098		this._delay( checkFocus );
6099	},
6100
6101	_createWrapper: function() {
6102		this.uiDialog = $("<div>")
6103			.addClass( "ui-dialog ui-widget ui-widget-content ui-corner-all ui-front " +
6104				this.options.dialogClass )
6105			.hide()
6106			.attr({
6107				// Setting tabIndex makes the div focusable
6108				tabIndex: -1,
6109				role: "dialog"
6110			})
6111			.appendTo( this._appendTo() );
6112
6113		this._on( this.uiDialog, {
6114			keydown: function( event ) {
6115				if ( this.options.closeOnEscape && !event.isDefaultPrevented() && event.keyCode &&
6116						event.keyCode === $.ui.keyCode.ESCAPE ) {
6117					event.preventDefault();
6118					this.close( event );
6119					return;
6120				}
6121
6122				// prevent tabbing out of dialogs
6123				if ( event.keyCode !== $.ui.keyCode.TAB || event.isDefaultPrevented() ) {
6124					return;
6125				}
6126				var tabbables = this.uiDialog.find( ":tabbable" ),
6127					first = tabbables.filter( ":first" ),
6128					last = tabbables.filter( ":last" );
6129
6130				if ( ( event.target === last[0] || event.target === this.uiDialog[0] ) && !event.shiftKey ) {
6131					this._delay(function() {
6132						first.focus();
6133					});
6134					event.preventDefault();
6135				} else if ( ( event.target === first[0] || event.target === this.uiDialog[0] ) && event.shiftKey ) {
6136					this._delay(function() {
6137						last.focus();
6138					});
6139					event.preventDefault();
6140				}
6141			},
6142			mousedown: function( event ) {
6143				if ( this._moveToTop( event ) ) {
6144					this._focusTabbable();
6145				}
6146			}
6147		});
6148
6149		// We assume that any existing aria-describedby attribute means
6150		// that the dialog content is marked up properly
6151		// otherwise we brute force the content as the description
6152		if ( !this.element.find( "[aria-describedby]" ).length ) {
6153			this.uiDialog.attr({
6154				"aria-describedby": this.element.uniqueId().attr( "id" )
6155			});
6156		}
6157	},
6158
6159	_createTitlebar: function() {
6160		var uiDialogTitle;
6161
6162		this.uiDialogTitlebar = $( "<div>" )
6163			.addClass( "ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix" )
6164			.prependTo( this.uiDialog );
6165		this._on( this.uiDialogTitlebar, {
6166			mousedown: function( event ) {
6167				// Don't prevent click on close button (#8838)
6168				// Focusing a dialog that is partially scrolled out of view
6169				// causes the browser to scroll it into view, preventing the click event
6170				if ( !$( event.target ).closest( ".ui-dialog-titlebar-close" ) ) {
6171					// Dialog isn't getting focus when dragging (#8063)
6172					this.uiDialog.focus();
6173				}
6174			}
6175		});
6176
6177		// support: IE
6178		// Use type="button" to prevent enter keypresses in textboxes from closing the
6179		// dialog in IE (#9312)
6180		this.uiDialogTitlebarClose = $( "<button type='button'></button>" )
6181			.button({
6182				label: this.options.closeText,
6183				icons: {
6184					primary: "ui-icon-closethick"
6185				},
6186				text: false
6187			})
6188			.addClass( "ui-dialog-titlebar-close" )
6189			.appendTo( this.uiDialogTitlebar );
6190		this._on( this.uiDialogTitlebarClose, {
6191			click: function( event ) {
6192				event.preventDefault();
6193				this.close( event );
6194			}
6195		});
6196
6197		uiDialogTitle = $( "<span>" )
6198			.uniqueId()
6199			.addClass( "ui-dialog-title" )
6200			.prependTo( this.uiDialogTitlebar );
6201		this._title( uiDialogTitle );
6202
6203		this.uiDialog.attr({
6204			"aria-labelledby": uiDialogTitle.attr( "id" )
6205		});
6206	},
6207
6208	_title: function( title ) {
6209		if ( !this.options.title ) {
6210			title.html( "&#160;" );
6211		}
6212		title.text( this.options.title );
6213	},
6214
6215	_createButtonPane: function() {
6216		this.uiDialogButtonPane = $( "<div>" )
6217			.addClass( "ui-dialog-buttonpane ui-widget-content ui-helper-clearfix" );
6218
6219		this.uiButtonSet = $( "<div>" )
6220			.addClass( "ui-dialog-buttonset" )
6221			.appendTo( this.uiDialogButtonPane );
6222
6223		this._createButtons();
6224	},
6225
6226	_createButtons: function() {
6227		var that = this,
6228			buttons = this.options.buttons;
6229
6230		// if we already have a button pane, remove it
6231		this.uiDialogButtonPane.remove();
6232		this.uiButtonSet.empty();
6233
6234		if ( $.isEmptyObject( buttons ) || ($.isArray( buttons ) && !buttons.length) ) {
6235			this.uiDialog.removeClass( "ui-dialog-buttons" );
6236			return;
6237		}
6238
6239		$.each( buttons, function( name, props ) {
6240			var click, buttonOptions;
6241			props = $.isFunction( props ) ?
6242				{ click: props, text: name } :
6243				props;
6244			// Default to a non-submitting button
6245			props = $.extend( { type: "button" }, props );
6246			// Change the context for the click callback to be the main element
6247			click = props.click;
6248			props.click = function() {
6249				click.apply( that.element[ 0 ], arguments );
6250			};
6251			buttonOptions = {
6252				icons: props.icons,
6253				text: props.showText
6254			};
6255			delete props.icons;
6256			delete props.showText;
6257			$( "<button></button>", props )
6258				.button( buttonOptions )
6259				.appendTo( that.uiButtonSet );
6260		});
6261		this.uiDialog.addClass( "ui-dialog-buttons" );
6262		this.uiDialogButtonPane.appendTo( this.uiDialog );
6263	},
6264
6265	_makeDraggable: function() {
6266		var that = this,
6267			options = this.options;
6268
6269		function filteredUi( ui ) {
6270			return {
6271				position: ui.position,
6272				offset: ui.offset
6273			};
6274		}
6275
6276		this.uiDialog.draggable({
6277			cancel: ".ui-dialog-content, .ui-dialog-titlebar-close",
6278			handle: ".ui-dialog-titlebar",
6279			containment: "document",
6280			start: function( event, ui ) {
6281				$( this ).addClass( "ui-dialog-dragging" );
6282				that._blockFrames();
6283				that._trigger( "dragStart", event, filteredUi( ui ) );
6284			},
6285			drag: function( event, ui ) {
6286				that._trigger( "drag", event, filteredUi( ui ) );
6287			},
6288			stop: function( event, ui ) {
6289				var left = ui.offset.left - that.document.scrollLeft(),
6290					top = ui.offset.top - that.document.scrollTop();
6291
6292				options.position = {
6293					my: "left top",
6294					at: "left" + (left >= 0 ? "+" : "") + left + " " +
6295						"top" + (top >= 0 ? "+" : "") + top,
6296					of: that.window
6297				};
6298				$( this ).removeClass( "ui-dialog-dragging" );
6299				that._unblockFrames();
6300				that._trigger( "dragStop", event, filteredUi( ui ) );
6301			}
6302		});
6303	},
6304
6305	_makeResizable: function() {
6306		var that = this,
6307			options = this.options,
6308			handles = options.resizable,
6309			// .ui-resizable has position: relative defined in the stylesheet
6310			// but dialogs have to use absolute or fixed positioning
6311			position = this.uiDialog.css("position"),
6312			resizeHandles = typeof handles === "string" ?
6313				handles	:
6314				"n,e,s,w,se,sw,ne,nw";
6315
6316		function filteredUi( ui ) {
6317			return {
6318				originalPosition: ui.originalPosition,
6319				originalSize: ui.originalSize,
6320				position: ui.position,
6321				size: ui.size
6322			};
6323		}
6324
6325		this.uiDialog.resizable({
6326			cancel: ".ui-dialog-content",
6327			containment: "document",
6328			alsoResize: this.element,
6329			maxWidth: options.maxWidth,
6330			maxHeight: options.maxHeight,
6331			minWidth: options.minWidth,
6332			minHeight: this._minHeight(),
6333			handles: resizeHandles,
6334			start: function( event, ui ) {
6335				$( this ).addClass( "ui-dialog-resizing" );
6336				that._blockFrames();
6337				that._trigger( "resizeStart", event, filteredUi( ui ) );
6338			},
6339			resize: function( event, ui ) {
6340				that._trigger( "resize", event, filteredUi( ui ) );
6341			},
6342			stop: function( event, ui ) {
6343				var offset = that.uiDialog.offset(),
6344					left = offset.left - that.document.scrollLeft(),
6345					top = offset.top - that.document.scrollTop();
6346
6347				options.height = that.uiDialog.height();
6348				options.width = that.uiDialog.width();
6349				options.position = {
6350					my: "left top",
6351					at: "left" + (left >= 0 ? "+" : "") + left + " " +
6352						"top" + (top >= 0 ? "+" : "") + top,
6353					of: that.window
6354				};
6355				$( this ).removeClass( "ui-dialog-resizing" );
6356				that._unblockFrames();
6357				that._trigger( "resizeStop", event, filteredUi( ui ) );
6358			}
6359		})
6360		.css( "position", position );
6361	},
6362
6363	_trackFocus: function() {
6364		this._on( this.widget(), {
6365			focusin: function( event ) {
6366				this._makeFocusTarget();
6367				this._focusedElement = $( event.target );
6368			}
6369		});
6370	},
6371
6372	_makeFocusTarget: function() {
6373		this._untrackInstance();
6374		this._trackingInstances().unshift( this );
6375	},
6376
6377	_untrackInstance: function() {
6378		var instances = this._trackingInstances(),
6379			exists = $.inArray( this, instances );
6380		if ( exists !== -1 ) {
6381			instances.splice( exists, 1 );
6382		}
6383	},
6384
6385	_trackingInstances: function() {
6386		var instances = this.document.data( "ui-dialog-instances" );
6387		if ( !instances ) {
6388			instances = [];
6389			this.document.data( "ui-dialog-instances", instances );
6390		}
6391		return instances;
6392	},
6393
6394	_minHeight: function() {
6395		var options = this.options;
6396
6397		return options.height === "auto" ?
6398			options.minHeight :
6399			Math.min( options.minHeight, options.height );
6400	},
6401
6402	_position: function() {
6403		// Need to show the dialog to get the actual offset in the position plugin
6404		var isVisible = this.uiDialog.is( ":visible" );
6405		if ( !isVisible ) {
6406			this.uiDialog.show();
6407		}
6408		this.uiDialog.position( this.options.position );
6409		if ( !isVisible ) {
6410			this.uiDialog.hide();
6411		}
6412	},
6413
6414	_setOptions: function( options ) {
6415		var that = this,
6416			resize = false,
6417			resizableOptions = {};
6418
6419		$.each( options, function( key, value ) {
6420			that._setOption( key, value );
6421
6422			if ( key in that.sizeRelatedOptions ) {
6423				resize = true;
6424			}
6425			if ( key in that.resizableRelatedOptions ) {
6426				resizableOptions[ key ] = value;
6427			}
6428		});
6429
6430		if ( resize ) {
6431			this._size();
6432			this._position();
6433		}
6434		if ( this.uiDialog.is( ":data(ui-resizable)" ) ) {
6435			this.uiDialog.resizable( "option", resizableOptions );
6436		}
6437	},
6438
6439	_setOption: function( key, value ) {
6440		var isDraggable, isResizable,
6441			uiDialog = this.uiDialog;
6442
6443		if ( key === "dialogClass" ) {
6444			uiDialog
6445				.removeClass( this.options.dialogClass )
6446				.addClass( value );
6447		}
6448
6449		if ( key === "disabled" ) {
6450			return;
6451		}
6452
6453		this._super( key, value );
6454
6455		if ( key === "appendTo" ) {
6456			this.uiDialog.appendTo( this._appendTo() );
6457		}
6458
6459		if ( key === "buttons" ) {
6460			this._createButtons();
6461		}
6462
6463		if ( key === "closeText" ) {
6464			this.uiDialogTitlebarClose.button({
6465				// Ensure that we always pass a string
6466				label: "" + value
6467			});
6468		}
6469
6470		if ( key === "draggable" ) {
6471			isDraggable = uiDialog.is( ":data(ui-draggable)" );
6472			if ( isDraggable && !value ) {
6473				uiDialog.draggable( "destroy" );
6474			}
6475
6476			if ( !isDraggable && value ) {
6477				this._makeDraggable();
6478			}
6479		}
6480
6481		if ( key === "position" ) {
6482			this._position();
6483		}
6484
6485		if ( key === "resizable" ) {
6486			// currently resizable, becoming non-resizable
6487			isResizable = uiDialog.is( ":data(ui-resizable)" );
6488			if ( isResizable && !value ) {
6489				uiDialog.resizable( "destroy" );
6490			}
6491
6492			// currently resizable, changing handles
6493			if ( isResizable && typeof value === "string" ) {
6494				uiDialog.resizable( "option", "handles", value );
6495			}
6496
6497			// currently non-resizable, becoming resizable
6498			if ( !isResizable && value !== false ) {
6499				this._makeResizable();
6500			}
6501		}
6502
6503		if ( key === "title" ) {
6504			this._title( this.uiDialogTitlebar.find( ".ui-dialog-title" ) );
6505		}
6506	},
6507
6508	_size: function() {
6509		// If the user has resized the dialog, the .ui-dialog and .ui-dialog-content
6510		// divs will both have width and height set, so we need to reset them
6511		var nonContentHeight, minContentHeight, maxContentHeight,
6512			options = this.options;
6513
6514		// Reset content sizing
6515		this.element.show().css({
6516			width: "auto",
6517			minHeight: 0,
6518			maxHeight: "none",
6519			height: 0
6520		});
6521
6522		if ( options.minWidth > options.width ) {
6523			options.width = options.minWidth;
6524		}
6525
6526		// reset wrapper sizing
6527		// determine the height of all the non-content elements
6528		nonContentHeight = this.uiDialog.css({
6529				height: "auto",
6530				width: options.width
6531			})
6532			.outerHeight();
6533		minContentHeight = Math.max( 0, options.minHeight - nonContentHeight );
6534		maxContentHeight = typeof options.maxHeight === "number" ?
6535			Math.max( 0, options.maxHeight - nonContentHeight ) :
6536			"none";
6537
6538		if ( options.height === "auto" ) {
6539			this.element.css({
6540				minHeight: minContentHeight,
6541				maxHeight: maxContentHeight,
6542				height: "auto"
6543			});
6544		} else {
6545			this.element.height( Math.max( 0, options.height - nonContentHeight ) );
6546		}
6547
6548		if ( this.uiDialog.is( ":data(ui-resizable)" ) ) {
6549			this.uiDialog.resizable( "option", "minHeight", this._minHeight() );
6550		}
6551	},
6552
6553	_blockFrames: function() {
6554		this.iframeBlocks = this.document.find( "iframe" ).map(function() {
6555			var iframe = $( this );
6556
6557			return $( "<div>" )
6558				.css({
6559					position: "absolute",
6560					width: iframe.outerWidth(),
6561					height: iframe.outerHeight()
6562				})
6563				.appendTo( iframe.parent() )
6564				.offset( iframe.offset() )[0];
6565		});
6566	},
6567
6568	_unblockFrames: function() {
6569		if ( this.iframeBlocks ) {
6570			this.iframeBlocks.remove();
6571			delete this.iframeBlocks;
6572		}
6573	},
6574
6575	_allowInteraction: function( event ) {
6576		if ( $( event.target ).closest( ".ui-dialog" ).length ) {
6577			return true;
6578		}
6579
6580		// TODO: Remove hack when datepicker implements
6581		// the .ui-front logic (#8989)
6582		return !!$( event.target ).closest( ".ui-datepicker" ).length;
6583	},
6584
6585	_createOverlay: function() {
6586		if ( !this.options.modal ) {
6587			return;
6588		}
6589
6590		// We use a delay in case the overlay is created from an
6591		// event that we're going to be cancelling (#2804)
6592		var isOpening = true;
6593		this._delay(function() {
6594			isOpening = false;
6595		});
6596
6597		if ( !this.document.data( "ui-dialog-overlays" ) ) {
6598
6599			// Prevent use of anchors and inputs
6600			// Using _on() for an event handler shared across many instances is
6601			// safe because the dialogs stack and must be closed in reverse order
6602			this._on( this.document, {
6603				focusin: function( event ) {
6604					if ( isOpening ) {
6605						return;
6606					}
6607
6608					if ( !this._allowInteraction( event ) ) {
6609						event.preventDefault();
6610						this._trackingInstances()[ 0 ]._focusTabbable();
6611					}
6612				}
6613			});
6614		}
6615
6616		this.overlay = $( "<div>" )
6617			.addClass( "ui-widget-overlay ui-front" )
6618			.appendTo( this._appendTo() );
6619		this._on( this.overlay, {
6620			mousedown: "_keepFocus"
6621		});
6622		this.document.data( "ui-dialog-overlays",
6623			(this.document.data( "ui-dialog-overlays" ) || 0) + 1 );
6624	},
6625
6626	_destroyOverlay: function() {
6627		if ( !this.options.modal ) {
6628			return;
6629		}
6630
6631		if ( this.overlay ) {
6632			var overlays = this.document.data( "ui-dialog-overlays" ) - 1;
6633
6634			if ( !overlays ) {
6635				this.document
6636					.unbind( "focusin" )
6637					.removeData( "ui-dialog-overlays" );
6638			} else {
6639				this.document.data( "ui-dialog-overlays", overlays );
6640			}
6641
6642			this.overlay.remove();
6643			this.overlay = null;
6644		}
6645	}
6646});
6647
6648}));
6649;
6650/*!
6651 * FullCalendar v3.1.0
6652 * Docs & License: http://fullcalendar.io/
6653 * (c) 2016 Adam Shaw
6654 */
6655!function(t){"function"==typeof define&&define.amd?define(["jquery","moment"],t):"object"==typeof exports?module.exports=t(require("jquery"),require("moment")):t(jQuery,moment)}(function(t,e){function n(t){return q(t,$t)}function i(t,e){e.left&&t.css({"border-left-width":1,"margin-left":e.left-1}),e.right&&t.css({"border-right-width":1,"margin-right":e.right-1})}function r(t){t.css({"margin-left":"","margin-right":"","border-left-width":"","border-right-width":""})}function s(){t("body").addClass("fc-not-allowed")}function o(){t("body").removeClass("fc-not-allowed")}function l(e,n,i){var r=Math.floor(n/e.length),s=Math.floor(n-r*(e.length-1)),o=[],l=[],u=[],c=0;a(e),e.each(function(n,i){var a=n===e.length-1?s:r,d=t(i).outerHeight(!0);d<a?(o.push(i),l.push(d),u.push(t(i).height())):c+=d}),i&&(n-=c,r=Math.floor(n/o.length),s=Math.floor(n-r*(o.length-1))),t(o).each(function(e,n){var i=e===o.length-1?s:r,a=l[e],c=u[e],d=i-(a-c);a<i&&t(n).height(d)})}function a(t){t.height("")}function u(e){var n=0;return e.find("> *").each(function(e,i){var r=t(i).outerWidth();r>n&&(n=r)}),n++,e.width(n),n}function c(t,e){var n,i=t.add(e);return i.css({position:"relative",left:-1}),n=t.outerHeight()-e.outerHeight(),i.css({position:"",left:""}),n}function d(e){var n=e.css("position"),i=e.parents().filter(function(){var e=t(this);return/(auto|scroll)/.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==n&&i.length?i:t(e[0].ownerDocument||document)}function h(t,e){var n=t.offset(),i=n.left-(e?e.left:0),r=n.top-(e?e.top:0);return{left:i,right:i+t.outerWidth(),top:r,bottom:r+t.outerHeight()}}function f(t,e){var n=t.offset(),i=p(t),r=n.left+y(t,"border-left-width")+i.left-(e?e.left:0),s=n.top+y(t,"border-top-width")+i.top-(e?e.top:0);return{left:r,right:r+t[0].clientWidth,top:s,bottom:s+t[0].clientHeight}}function g(t,e){var n=t.offset(),i=n.left+y(t,"border-left-width")+y(t,"padding-left")-(e?e.left:0),r=n.top+y(t,"border-top-width")+y(t,"padding-top")-(e?e.top:0);return{left:i,right:i+t.width(),top:r,bottom:r+t.height()}}function p(t){var e=t.innerWidth()-t[0].clientWidth,n={left:0,right:0,top:0,bottom:t.innerHe
6655ight()-t[0].clientHeight};return v()&&"rtl"==t.css("direction")?n.left=e:n.right=e,n}function v(){return null===Qt&&(Qt=m()),Qt}function m(){var e=t("<div><div/></div>").css({position:"absolute",top:-1e3,left:0,border:0,padding:0,overflow:"scroll",direction:"rtl"}).appendTo("body"),n=e.children(),i=n.offset().left>e.offset().left;return e.remove(),i}function y(t,e){return parseFloat(t.css(e))||0}function S(t){return 1==t.which&&!t.ctrlKey}function w(t){if(void 0!==t.pageX)return t.pageX;var e=t.originalEvent.touches;return e?e[0].pageX:void 0}function E(t){if(void 0!==t.pageY)return t.pageY;var e=t.originalEvent.touches;return e?e[0].pageY:void 0}function b(t){return/^touch/.test(t.type)}function D(t){t.addClass("fc-unselectable").on("selectstart",T)}function T(t){t.preventDefault()}function C(t){return!!window.addEventListener&&(window.addEventListener("scroll",t,!0),!0)}function H(t){return!!window.removeEventListener&&(window.removeEventListener("scroll",t,!0),!0)}function R(t,e){var n={left:Math.max(t.left,e.left),right:Math.min(t.right,e.right),top:Math.max(t.top,e.top),bottom:Math.min(t.bottom,e.bottom)};return n.left<n.right&&n.top<n.bottom&&n}function x(t,e){return{left:Math.min(Math.max(t.left,e.left),e.right),top:Math.min(Math.max(t.top,e.top),e.bottom)}}function I(t){return{left:(t.left+t.right)/2,top:(t.top+t.bottom)/2}}function k(t,e){return{left:t.left-e.left,top:t.top-e.top}}function L(e){var n,i,r=[],s=[];for("string"==typeof e?s=e.split(/\s*,\s*/):"function"==typeof e?s=[e]:t.isArray(e)&&(s=e),n=0;n<s.length;n++)i=s[n],"string"==typeof i?r.push("-"==i.charAt(0)?{field:i.substring(1),order:-1}:{field:i,order:1}):"function"==typeof i&&r.push({func:i});return r}function M(t,e,n){var i,r;for(i=0;i<n.length;i++)if(r=B(t,e,n[i]))return r;return 0}function B(t,e,n){return n.func?n.func(t,e):z(t[n.field],e[n.field])*(n.order||1)}function z(e,n){return e||n?null==n?-1:null==e?1:"string"===t.type(e)||"string"===t.type(n)?String(e).localeCompare(String(n)):e-n:0}function F(t,e){var n,i,r,s,o=t.start,l=t.end,a=e.start,u=e.end;if(l>a&&o<u)return o>=a?(n=o.clone(),r=!0):(n=a.clone(),r=!1),l<=u?(i=l.clone(),s=!0):(i=u.clone(),s=!1),{start:n,end:i,isStart:r,isEnd:s}}function N(t,n){return e.duration({days:t.clone().stripTime().diff(n.clone().stripTime(),"days"),ms:t.time()-n.time()})}function G(t,n){return e.duration({days:t.clone().stripTime().diff(n.clone().stripTime(),"days")})}function O(t,n,i){return e.duration(Math.round(t.diff(n,i,!0)),i)}function A(t,e){var n,i,r;for(n=0;n<Kt.length&&(i=Kt[n],r=V(i,t,e),!(r>=1&&ot(r)));n++);return i}function V(t,n,i){return null!=i?i.diff(n,t,!0):e.isDuration(n)?n.as(t):n.end.diff(n.start,t,!0)}function P(t,e,n){var i;return W(n)?(e-t)/n:(i=n.asMonths(),Math.abs(i)>=1&&ot(i)?e.diff(t,"months",!0)/i:e.diff(t,"days",!0)/n.asDays())}function _(t,e){var n,i;return W(t)||W(e)?t/e:(n=t.asMonths(),i=e.asMonths(),Math.abs(n)>=1&&ot(n)&&Math.abs(i)>=1&&ot(i)?n/i:t.asDays()/e.asDays())}function Y(t,n){var i;return W(t)?e.duration(t*n):(i=t.asMonths(),Math.abs(i)>=1&&ot(i)?e.duration({months:i*n}):e.duration({days:t.asDays()*n}))}function W(t){return Boolean(t.hours()||t.minutes()||t.seconds()||t.milliseconds())}function U(t){return"[object Date]"===Object.prototype.toString.call(t)||t instanceof Date}function j(t){return/^\d+\:\d+(?:\:\d+\.?(?:\d{3})?)?$/.test(t)}function q(t,e){var n,i,r,s,o,l,a={};if(e)for(n=0;n<e.length;n++){for(i=e[n],r=[],s=t.length-1;s>=0;s--)if(o=t[s][i],"object"==typeof o)r.unshift(o);else if(void 0!==o){a[i]=o;break}r.length&&(a[i]=q(r))}for(n=t.length-1;n>=0;n--){l=t[n];for(i in l)i in a||(a[i]=l[i])}return a}function Z(t){var e=function(){};return e.prototype=t,new e}function $(t,e){for(var n in t)Q(t,n)&&(e[n]=t[n])}function Q(t,e){return Jt.call(t,e)}function X(e){return/undefined|null|boolean|number|string/.test(t.type(e))}function K(e,n,i){if(t.isFunction(e)&&(e=[e]),e){var r,s;for(r=0;r<e.length;r++)s=e[r].apply(n,i)||s;return s}}function J(){for(var t=0;t<arguments.length;t++)if(void 0!==arguments[t])return arguments[t]}function tt(t){return(t+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#039;").replace(/"/g,"&quot;").replace(/\n/g,"<br />")}function et(t){return t.replace(/&.*?;/g,"")}function nt(e){var n=[];return t.each(e,function(t,e){null!=e&&n.push(t+":"+e)}
6655),n.join(";")}function it(e){var n=[];return t.each(e,function(t,e){null!=e&&n.push(t+'="'+tt(e)+'"')}),n.join(" ")}function rt(t){return t.charAt(0).toUpperCase()+t.slice(1)}function st(t,e){return t-e}function ot(t){return t%1===0}function lt(t,e){var n=t[e];return function(){return n.apply(t,arguments)}}function at(t,e,n){var i,r,s,o,l,a=function(){var u=+new Date-o;u<e?i=setTimeout(a,e-u):(i=null,n||(l=t.apply(s,r),s=r=null))};return function(){s=this,r=arguments,o=+new Date;var u=n&&!i;return i||(i=setTimeout(a,e)),u&&(l=t.apply(s,r),s=r=null),l}}function ut(n,i,r){var s,o,l,a,u=n[0],c=1==n.length&&"string"==typeof u;return e.isMoment(u)||U(u)||void 0===u?a=e.apply(null,n):(s=!1,o=!1,c?te.test(u)?(u+="-01",n=[u],s=!0,o=!0):(l=ee.exec(u))&&(s=!l[5],o=!0):t.isArray(u)&&(o=!0),a=i||s?e.utc.apply(e,n):e.apply(null,n),s?(a._ambigTime=!0,a._ambigZone=!0):r&&(o?a._ambigZone=!0:c&&a.utcOffset(u))),a._fullCalendar=!0,a}function ct(t,e){return ie.format.call(t,e)}function dt(t,e){return ht(t,mt(e))}function ht(t,e){var n,i="";for(n=0;n<e.length;n++)i+=ft(t,e[n]);return i}function ft(t,e){var n,i;return"string"==typeof e?e:(n=e.token)?se[n]?se[n](t):ct(t,n):e.maybe&&(i=ht(t,e.maybe),i.match(/[1-9]/))?i:""}function gt(t,e,n,i,r){var s;return t=qt.moment.parseZone(t),e=qt.moment.parseZone(e),s=t.localeData(),n=s.longDateFormat(n)||n,i=i||" - ",pt(t,e,mt(n),i,r)}function pt(t,e,n,i,r){var s,o,l,a,u=t.clone().stripZone(),c=e.clone().stripZone(),d="",h="",f="",g="",p="";for(o=0;o<n.length&&(s=vt(t,e,u,c,n[o]),s!==!1);o++)d+=s;for(l=n.length-1;l>o&&(s=vt(t,e,u,c,n[l]),s!==!1);l--)h=s+h;for(a=o;a<=l;a++)f+=ft(t,n[a]),g+=ft(e,n[a]);return(f||g)&&(p=r?g+i+f:f+i+g),d+p+h}function vt(t,e,n,i,r){var s,o;return"string"==typeof r?r:!!((s=r.token)&&(o=oe[s.charAt(0)],o&&n.isSame(i,o)))&&ct(t,s)}function mt(t){return t in le?le[t]:le[t]=yt(t)}function yt(t){for(var e,n=[],i=/\[([^\]]*)\]|\(([^\)]*)\)|(LTS|LT|(\w)\4*o?)|([^\w\[\(]+)/g;e=i.exec(t);)e[1]?n.push(e[1]):e[2]?n.push({maybe:yt(e[2])}):e[3]?n.push({token:e[3]}):e[5]&&n.push(e[5]);return n}function St(){}function wt(t,e){var n;return Q(e,"constructor")&&(n=e.constructor),"function"!=typeof n&&(n=e.constructor=function(){t.apply(this,arguments)}),n.prototype=Z(t.prototype),$(e,n.prototype),$(t,n),n}function Et(t,e){$(e,t.prototype)}function bt(e){var n=t.Deferred(),i=n.promise();if("function"==typeof e&&e(function(t){bt.immediate&&(i._value=t),n.resolve(t)},function(){n.reject()}),bt.immediate){var r=i.then;i.then=function(t,e){var n=i.state();if("resolved"===n){if("function"==typeof t)return bt.resolve(t(i._value))}else if("rejected"===n&&"function"==typeof e)return e(),i;return r.call(i,t,e)}}return i}function Dt(t){function e(t){return new bt(function(e){var i=function(){bt.resolve(t()).then(e).then(function(){n.shift(),n.length&&n[0]()})};n.push(i),1===n.length&&i()})}var n=[];this.add="number"==typeof t?at(e,t):e,this.addQuickly=e}function Tt(t,e){return!t&&!e||!(!t||!e)&&(t.component===e.component&&Ct(t,e)&&Ct(e,t))}function Ct(t,e){for(var n in t)if(!/^(component|left|right|top|bottom)$/.test(n)&&t[n]!==e[n])return!1;return!0}function Ht(t){return{start:t.start.clone(),end:t.end?t.end.clone():null,allDay:t.allDay}}function Rt(t){var e=It(t);return"background"===e||"inverse-background"===e}function xt(t){return"inverse-background"===It(t)}function It(t){return J((t.source||{}).rendering,t.rendering)}function kt(t){var e,n,i={};for(e=0;e<t.length;e++)n=t[e],(i[n._id]||(i[n._id]=[])).push(n);return i}function Lt(t,e){return t.start-e.start}function Mt(n){var i,r,s,o,l=qt.dataAttrPrefix;return l&&(l+="-"),i=n.data(l+"event")||null,i&&(i="object"==typeof i?t.extend({},i):{},r=i.start,null==r&&(r=i.time),s=i.duration,o=i.stick,delete i.start,delete i.time,delete i.duration,delete i.stick),null==r&&(r=n.data(l+"start")),null==r&&(r=n.data(l+"time")),null==s&&(s=n.data(l+"duration")),null==o&&(o=n.data(l+"stick")),r=null!=r?e.duration(r):null,s=null!=s?e.duration(s):null,o=Boolean(o),{eventProps:i,startTime:r,duration:s,stick:o}}function Bt(t,e){var n,i;for(n=0;n<e.length;n++)if(i=e[n],i.leftCol<=t.rightCol&&i.rightCol>=t.leftCol)return!0;return!1}function zt(t,e){return t.leftCol-e.leftCol}function Ft(t){var e,n,i,r=[];for(e=0;e<t.length;e++){for(n=t[e],i=0;i<r.length&&Ot(n,r[i]).length;i++);n.level=i,(r[i]||(r[i]=[])).push(n)}return r}function Nt(t){var e,n,i,r,s;for(e=0;e<t.length;e++)for(n=t[e],i=0;i<n.length;i++)for(r=n[i],r.forwardSegs=[],s=e+1;s<t.length;s++)Ot(r,t[s],r.forwardSegs)}function Gt(t){var e,n,i=t.forwardSegs,r=0;if(void 0===t.forwardPressure){for(e=0;e<i.length;
6655e++)n=i[e],Gt(n),r=Math.max(r,1+n.forwardPressure);t.forwardPressure=r}}function Ot(t,e,n){n=n||[];for(var i=0;i<e.length;i++)At(t,e[i])&&n.push(e[i]);return n}function At(t,e){return t.bottom>e.top&&t.top<e.bottom}function Vt(t){this.items=t||[]}function Pt(e,n){function i(t){n=t}function r(){var i=n.layout;p=e.options.theme?"ui":"fc",i?(g?g.empty():g=this.el=t("<div class='fc-toolbar "+n.extraClasses+"'/>"),g.append(o("left")).append(o("right")).append(o("center")).append('<div class="fc-clear"/>')):s()}function s(){g&&(g.remove(),g=f.el=null)}function o(i){var r=t('<div class="fc-'+i+'"/>'),s=n.layout[i];return s&&t.each(s.split(" "),function(n){var i,s=t(),o=!0;t.each(this.split(","),function(n,i){var r,l,a,u,c,d,h,f,g,m;"title"==i?(s=s.add(t("<h2>&nbsp;</h2>")),o=!1):((r=(e.options.customButtons||{})[i])?(a=function(t){r.click&&r.click.call(m[0],t)},u="",c=r.text):(l=e.getViewSpec(i))?(a=function(){e.changeView(i)},v.push(i),u=l.buttonTextOverride,c=l.buttonTextDefault):e[i]&&(a=function(){e[i]()},u=(e.overrides.buttonText||{})[i],c=e.options.buttonText[i]),a&&(d=r?r.themeIcon:e.options.themeButtonIcons[i],h=r?r.icon:e.options.buttonIcons[i],f=u?tt(u):d&&e.options.theme?"<span class='ui-icon ui-icon-"+d+"'></span>":h&&!e.options.theme?"<span class='fc-icon fc-icon-"+h+"'></span>":tt(c),g=["fc-"+i+"-button",p+"-button",p+"-state-default"],m=t('<button type="button" class="'+g.join(" ")+'">'+f+"</button>").click(function(t){m.hasClass(p+"-state-disabled")||(a(t),(m.hasClass(p+"-state-active")||m.hasClass(p+"-state-disabled"))&&m.removeClass(p+"-state-hover"))}).mousedown(function(){m.not("."+p+"-state-active").not("."+p+"-state-disabled").addClass(p+"-state-down")}).mouseup(function(){m.removeClass(p+"-state-down")}).hover(function(){m.not("."+p+"-state-active").not("."+p+"-state-disabled").addClass(p+"-state-hover")},function(){m.removeClass(p+"-state-hover").removeClass(p+"-state-down")}),s=s.add(m)))}),o&&s.first().addClass(p+"-corner-left").end().last().addClass(p+"-corner-right").end(),s.length>1?(i=t("<div/>"),o&&i.addClass("fc-button-group"),i.append(s),r.append(i)):r.append(s)}),r}function l(t){g&&g.find("h2").text(t)}function a(t){g&&g.find(".fc-"+t+"-button").addClass(p+"-state-active")}function u(t){g&&g.find(".fc-"+t+"-button").removeClass(p+"-state-active")}function c(t){g&&g.find(".fc-"+t+"-button").prop("disabled",!0).addClass(p+"-state-disabled")}function d(t){g&&g.find(".fc-"+t+"-button").prop("disabled",!1).removeClass(p+"-state-disabled")}function h(){return v}var f=this;f.setToolbarOptions=i,f.render=r,f.removeElement=s,f.updateTitle=l,f.activateButton=a,f.deactivateButton=u,f.disableButton=c,f.enableButton=d,f.getViewsWithButtons=h,f.el=null;var g,p,v=[]}function _t(n,i){function r(t){t._locale=Y}function s(){q?a()&&(f(),u()):o()}function o(){n.addClass("fc"),n.on("click.fc","a[data-goto]",function(e){var n=t(this),i=n.data("goto"),r=_.moment(i.date),s=i.type,o=Q.opt("navLink"+rt(s)+"Click");"function"==typeof o?o(r,e):("string"==typeof o&&(s=o),B(r,s))}),_.bindOption("theme",function(t){$=t?"ui":"fc",n.toggleClass("ui-widget",t),n.toggleClass("fc-unthemed",!t)}),_.bindOptions(["isRTL","locale"],function(t){n.toggleClass("fc-ltr",!t),n.toggleClass("fc-rtl",t)}),q=t("<div class='fc-view-container'/>").prependTo(n);var e=y();W=new Vt(e),U=_.header=e[0],j=_.footer=e[1],E(),b(),u(_.options.defaultView),_.options.handleWindowResize&&(K=at(v,_.options.windowResizeDelay),t(window).resize(K))}function l(){Q&&Q.removeElement(),W.proxyCall("removeElement"),q.remove(),n.removeClass("fc fc-ltr fc-rtl fc-unthemed ui-widget"),n.off(".fc"),K&&t(window).unbind("resize",K)}function a(){return n.is(":visible")}function u(e,n){nt++;var i=Q&&e&&Q.type!==e;i&&(F(),c()),!Q&&e&&(Q=_.view=et[e]||(et[e]=_.instantiateView(e)),Q.setElement(t("<div class='fc-view fc-"+e+"-view' />").appendTo(q)),W.proxyCall("activateButton",e)),Q&&(J=Q.massageCurrentDate(J),Q.isDateSet&&J>=Q.intervalStart&&J<Q.intervalEnd||a()&&(n&&Q.captureInitialScroll(n),Q.setDate(J,n),n&&Q.releaseScroll(),D())),i&&N(),nt--}function c(){W.proxyCall("deactivateButton",Q.type),Q.removeElement(),Q=_.view=null}function d(){nt++,F();var t=Q.type,e=Q.queryScroll();c(),f(),u(t,e),N(),nt--}function h(t){if(a())return t&&g(),nt++,Q.updateSize(!0),nt--,!0}function f(){a()&&g()}function g(){var t=_.options.contentHeight,e=_.options.height;X="number"==typeof t?t:"function"==typeof t?t():"number"==typeof e?e-p():"function"==typeof e?e()-p():"parent"===e?n.parent().height()-p():Math.round(q.width()/Math.max(_.options.aspectRatio,.5))}function p(){return W.items.reduce(function(t,e){var n=e.el?e.el.outerHeight(!0):0;return t+n},0)}function v(t){!nt&&t.target===window&&Q.start&&h(!0)&&Q.publiclyTrigger("windowResize",tt)}function m(){a()&&_.reportEventChange()}function y(){return[new Pt(_,S()),new Pt(_,w())]}
6655function S(){return{extraClasses:"fc-header-toolbar",layout:_.options.header}}function w(){return{extraClasses:"fc-footer-toolbar",layout:_.options.footer}}function E(){U.setToolbarOptions(S()),U.render(),U.el&&n.prepend(U.el)}function b(){j.setToolbarOptions(w()),j.render(),j.el&&n.append(j.el)}function D(){var t=_.getNow();t>=Q.intervalStart&&t<Q.intervalEnd?W.proxyCall("disableButton","today"):W.proxyCall("enableButton","today")}function T(t,e){Q.select(_.buildSelectSpan.apply(_,arguments))}function C(){Q&&Q.unselect()}function H(){J=Q.computePrevDate(J),u()}function R(){J=Q.computeNextDate(J),u()}function x(){J.add(-1,"years"),u()}function I(){J.add(1,"years"),u()}function k(){J=_.getNow(),u()}function L(t){J=_.moment(t).stripZone(),u()}function M(t){J.add(e.duration(t)),u()}function B(t,e){var n;e=e||"day",n=_.getViewSpec(e)||_.getUnitViewSpec(e),J=t.clone(),u(n?n.type:null)}function z(){return _.applyTimezone(J)}function F(){it++||q.css({width:"100%",height:q.height(),overflow:"hidden"})}function N(){--it||q.css({width:"",height:"",overflow:""})}function G(){return _}function O(){return Q}function A(t,e){var n;if("string"==typeof t){if(void 0===e)return _.options[t];n={},n[t]=e,V(n)}else"object"==typeof t&&V(t)}function V(t){var e,n=0;for(e in t)_.dynamicOverrides[e]=t[e];_.viewSpecCache={},_.populateOptionsHash();for(e in t)_.triggerOptionHandlers(e),n++;if(1===n){if("height"===e||"contentHeight"===e||"aspectRatio"===e)return void h(!0);if("defaultDate"===e)return;if("businessHours"===e)return void(Q&&(Q.unrenderBusinessHours(),Q.renderBusinessHours()));if("timezone"===e)return _.rezoneArrayEventSources(),void _.refetchEvents()}E(),b(),et={},d()}function P(t,e){var n=Array.prototype.slice.call(arguments,2);if(e=e||tt,this.triggerWith(t,e,n),_.options[t])return _.options[t].apply(e,n)}var _=this;_.render=s,_.destroy=l,_.rerenderEvents=m,_.changeView=u,_.select=T,_.unselect=C,_.prev=H,_.next=R,_.prevYear=x,_.nextYear=I,_.today=k,_.gotoDate=L,_.incrementDate=M,_.zoomTo=B,_.getDate=z,_.getCalendar=G,_.getView=O,_.option=A,_.publiclyTrigger=P,_.dynamicOverrides={},_.viewSpecCache={},_.optionHandlers={},_.overrides=t.extend({},i),_.populateOptionsHash();var Y;_.bindOptions(["locale","monthNames","monthNamesShort","dayNames","dayNamesShort","firstDay","weekNumberCalculation"],function(t,e,n,i,s,o,l){if("iso"===l&&(l="ISO"),Y=Z(Wt(t)),e&&(Y._months=e),n&&(Y._monthsShort=n),i&&(Y._weekdays=i),s&&(Y._weekdaysShort=s),null==o&&"ISO"===l&&(o=1),null!=o){var a=Z(Y._week);a.dow=o,Y._week=a}"ISO"!==l&&"local"!==l&&"function"!=typeof l||(Y._fullCalendar_weekCalc=l),J&&r(J)}),_.defaultAllDayEventDuration=e.duration(_.options.defaultAllDayEventDuration),_.defaultTimedEventDuration=e.duration(_.options.defaultTimedEventDuration),_.moment=function(){var t;return"local"===_.options.timezone?(t=qt.moment.apply(null,arguments),t.hasTime()&&t.local()):t="UTC"===_.options.timezone?qt.moment.utc.apply(null,arguments):qt.moment.parseZone.apply(null,arguments),r(t),t},_.localizeMoment=r,_.getIsAmbigTimezone=function(){return"local"!==_.options.timezone&&"UTC"!==_.options.timezone},_.applyTimezone=function(t){if(!t.hasTime())return t.clone();var e,n=_.moment(t.toArray()),i=t.time()-n.time();return i&&(e=n.clone().add(i),t.time()-e.time()===0&&(n=e)),n},_.getNow=function(){var t=_.options.now;return"function"==typeof t&&(t=t()),_.moment(t).stripZone()},_.getEventEnd=function(t){return t.end?t.end.clone():_.getDefaultEventEnd(t.allDay,t.start)},_.getDefaultEventEnd=function(t,e){var n=e.clone();return t?n.stripTime().add(_.defaultAllDayEventDuration):n.add(_.defaultTimedEventDuration),_.getIsAmbigTimezone()&&n.stripZone(),n},_.humanizeDuration=function(t){return t.locale(_.options.locale).humanize()},Ut.call(_);var W,U,j,q,$,Q,X,K,J,tt=n[0],et={},nt=0;J=null!=_.options.defaultDate?_.moment(_.options.defaultDate).stripZone():_.getNow(),_.getSuggestedViewHeight=function(){return void 0===X&&f(),X},_.isHeightAuto=function(){return"auto"===_.options.contentHeight||"auto"===_.options.height},_.setToolbarsTitle=function(t){W.proxyCall("updateTitle",t)},_.freezeContentHeight=F,_.thawContentHeight=N;var it=0;_.initialize()}function Yt(e){t.each(Re,function(t,n){null==e[t]&&(e[t]=n(e))})}function Wt(t){return e.localeData(t)||e.localeData("en")}function Ut(){function n(t,e){return!U.options.lazyFetching||s(t,e)?o(t,e):bt.resolve($)}function i(){$=r(nt),U.trigger("eventsReset",$)}function r(t){var e,n,i=[];for(e=0;e<t.length;e++)n=t[e],n.start.clone().stripZone()<Z&&U.getEventEnd(n).stripZone()>q&&i.push(n);return i}function s(t,e){return!q||t<q||e>Z}function o(t,e){return q=t,Z=e,l()}function l(){return u(tt,"reset")}function a(t){return u(E(t))}function u(t,e){var n,i;for("reset"===e?nt=[]:"add"!==e&&(nt=C(nt,t)),n=0;n<t.length;n++)i=t[n],"pending"!==i._status&&et++,i._fetchId=(i._fetchId||0)+1,i._status="pending";for(n=0;n<t.length;n++)i=t[n],c(i,i._fetchId);return et?new bt(function(t){U.one("eventsReceived",t)}):bt.resolve($)}function c(e,n){f(e,function(i){var r,s,o,l=t.isArray(e.events);if(n===e._fetchId&&"rejected"!==e._status){if(e._status="resolved",i)for(r=0;r<i.length;r++)s=i[r],o=l?s:F(s,e),o&&nt.push.apply(nt,_(o));h()}})}function d(t){var e="pending"===t._status;t._status="rejected",e&&h()}function h(){et--,et||(i(nt),U.trigger("eventsReceived",$))}function f(e,n){var i,r,s=qt.sourceFetchers;for(i=0;i<s.length;i++){if(r=s[i].call(U,e,q.clone(),Z.clone(),U.options.timezone,n),r===!0)return;if("object"==typeof r)return void f(r,n)}var o=e.events;if(o)t.isFunction(o)?(U.pushLoading(),o.call(U,q.clone(),Z.clone(),U.options.timezone,function(t){n(t),U.popLoading()})):t.isArray(o)?n(o):n();else{var l=e.url;if(l){var a,u=e.success,c=e.error,d=e.complete;a=t.isFunction(e.data)?e.data():e.data;var h=t.extend({},a||{}),g=J(e.startParam,U.options.startParam),p=J(e.endParam,U.options.endParam),v=J(e.timezoneParam,U.options.timezoneParam);g&&(h[g]=q.format()),p&&(h[p]=Z.format()),U.options.timezone&&"local"!=U.options.timezone&&(h[v]=U.options.timezone),U.pushLoading(),t.ajax(t.extend({},xe,e,{data:h,success:function(e){e=e||[];var i=K(u,this,arguments);t.isArray(i)&&(e=i),n(e)},error:function(){K(c,this,arguments),n()},complete:function(){K(d,this,arguments),U.popLoading()}}))}else n()}}function g(t){var e=p(t);e&&(tt.push(e),u([e],"add"))}function p(e){var n,i,r=qt.sourceNormalizers;if(t.isFunction(e)||t.isArray(e)?n={events:e}:"string"==typeof e?n={url:e}:"object"==typeof e&&(n=t.extend({},e)),n){for(n.className?"string"==typeof n.className&&(n.className=n.className.split(/\s+/)):n.className=[],t.isArray(n.events)&&(n.origArray=n.events,n.events=t.map(n.events,function(t){return F(t,n)})),i=0;i<r.length;i++)r[i].call(U,n);return n}}function v(t){y(b(t))}function m(t){null==t?y(tt,!0):y(E(t))}function y(e,n){var r;for(r=0;r<e.length;r++)d(e[r]);n?(tt=[],nt=[]):(tt=t.grep(tt,function(t){for(r=0;r<e.length;r++)if(t===e[r])return!1;return!0}),nt=C(nt,e)),i()}function S(){return tt.slice(1)}function w(e){return t.grep(tt,function(t){return t.id&&t.id===e})[0]}function E(e){e?t.isArray(e)||(e=[e]):e=[];var n,i=[];for(n=0;n<e.length;n++)i.push.apply(i,b(e[n]));return i}function b(e){var n,i;for(n=0;n<tt.length;n++)if(i=tt[n],i===e)return[i];return i=w(e),i?[i]:t.grep(tt,function(t){return D(e,t)})}function D(t,e){return t&&e&&T(t)==T(e)}function T(t){return("object"==typeof t?t.origArray||t.googleCalendarId||t.url||t.events:null)||t}function C(e,n){return t.grep(e,function(t){for(var e=0;e<n.length;e++)if(t.source===n[e])return!1;return!0})}function H(t){R([t])}function R(t){var e,n;for(e=0;e<t.length;e++)n=t[e],n.start=U.moment(n.start),n.end?n.end=U.moment(n.end):n.end=null,Y(n,x(n));i()}function x(e){var n={};return t.each(e,function(t,e){I(t)&&void 0!==e&&X(e)&&(n[t]=e)}),n}function I(t){return!/^_|^(id|allDay|start|end)$/.test(t)}function k(t,e){return L([t],e)}function L(t,e){var n,r,s,o,l,a=[];for(s=0;s<t.length;s++)if(r=F(t[s])){for(n=_(r),o=0;o<n.length;o++)l=n[o],l.source||(e&&(Q.events.push(l),l.source=Q),nt.push(l));a=a.concat(n)}return a.length&&i(),a}function M(e){var n,r;for(null==e?e=function(){return!0}:t.isFunction(e)||(n=e+"",e=function(t){return t._id==n}),nt=t.grep(nt,e,!0),r=0;r<tt.length;r++)t.isArray(tt[r].events)&&(tt[r].events=t.grep(tt[r].events,e,!0));i()}function B(e){return t.isFunction(e)?t.grep(nt,e):null!=e?(e+="",t.grep(nt,function(t){return t._id==e})):nt}function z(t){t.start=U.moment(t.start),t.end&&(t.end=U.moment(t.end)),jt(t)}function F(n,i){var r,s,o,l={};if(U.options.eventDataTransform&&(n=U.options.eventDataTransform(n)),i&&i.eventDataTransform&&(n=i.eventDataTransform(n)),t.extend(l,n),i&&(l.source=i),l._id=n._id||(void 0===n.id?"_fc"+Ie++:n.id+""),n.className?"string"==typeof n.className?l.className=n.className.split(/\s+/):l.className=n.className:l.className=[],r=n.start||n.date,s=n.end,j(r)&&(r=e.duration(r)),j(s)&&(s=e.duration(s)),n.dow||e.isDuration(r)||e.isDuration(s))l.start=r?e.duration(r):null,l.end=s?e.duration(s):null,l._recurring=!0;else{if(r&&(r=U.moment(r),!r.isValid()))return!1;s&&(s=U.moment(s),s.isValid()||(s=null)),o=n.allDay,void 0===o&&(o=J(i?i.allDayDefault:void 0,U.options.allDayDefault)),A(r,s,o,l)}return U.normalizeEvent(l),l}function A(t,e,n,i){i.start=t,i.end=e,i.allDay=n,V(i),jt(i)}function V(t){P(t),t.end&&!t.end.isAfter(t.start)&&(t.end=null),t.end||(U.options.forceEventDuration?t.end=U.getDefaultEventEnd(t.allDay,t.start):t.end=null)}function P(t){null==t.allDay&&(t.allDay=!(t.start.hasTime()||t.end&&t.end.hasTime())),t.allDay?(t.start.stripTime(),t.end&&t.end.stripTime()):(t.start.hasTime()||(t.start=U.applyTimezone(t.start.time(0))),t.end&&!t.end.hasTime()&&(t.end=U.applyTimezone(t.end.time(0))))}function _(e,n,i){var r,s,o,l,a,u,c,d,h,f=[];if(n=n||q,i=i||Z,e)if(e._recurring){if(s=e.dow)for(r={},o=0;o<s.length;o++)r[s[o]]=!0;for(l=n.clone().stripTime();l.isBefore(i);)r&&!r[l.day()]||(a=e.start,u=e.end,c=l.clone(),d=null,a&&(c=c.time(a)),u&&(d=l.clone().time(u)),h=t.extend({},e),A(c,d,!a&&!u,h),f.push(h)),l.add(1,"days")}else f.push(e);return f}function Y(e,n,i){function r(t,e){return i?O(t,e,i):n.allDay?G(t,e):N(t,e)}var s,o,l,a,u,c,d={};return n=n||{},n.start||(n.start=e.start.clone()),void 0===n.end&&(n.end=e.end?e.end.clone():null),null==n.allDay&&(n.allDay=e.allDay),V(n),s={start:e._start.clone(),end:e._end?e._end.clone():U.getDefaultEventEnd(e._allDay,e._start),allDay:n.allDay},V(s),o=null!==e._end&&null===n.end,l=r(n.start,s.start),n.end?(a=r(n.end,s.end),u=a.subtract(l)):u=null,t.each(n,function(t,e){I(t)&&void 0!==e&&(d[t]=e)}),c=W(B(e._id),o,n.allDay,l,u,d),{dateDelta:l,durationDelta:u,undo:c}}function W(e,n,i,r,s,o){var l=U.getIsAmbigTimezone(),a=[];return r&&!r.valueOf()&&(r=null),s&&!s.valueOf()&&(s=null),t.each(e,function(e,u){var c,d;c={start:u.start.clone(),end:u.end?u.end.clone():null,allDay:u.allDay},t.each(o,function(t){c[t]=u[t]}),d={start:u._start,end:u._end,allDay:i},V(d),n?d.end=null:s&&!d.end&&(d.end=U.getDefaultEventEnd(d.allDay,d.start)),r&&(d.start.add(r),d.end&&d.end.add(r)),s&&d.end.add(s),l&&!d.allDay&&(r||s)&&(d.start.stripZone(),d.end&&d.end.stripZone()),t.extend(u,o,d),jt(u),a.push(function(){t.extend(u,c),jt(u)})}),function(){for(var t=0;t<a.length;t++)a[t]()}}var U=this;U.requestEvents=n,U.reportEventChange=i,U.isFetchNeeded=s,U.fetchEvents=o,U.fetchEventSources=u,U.refetchEvents=l,U.refetchEventSources=a,U.getEventSources=S,U.getEventSourceById=w,U.addEventSource=g,U.removeEventSource=v,U.removeEventSources=m,U.updateEvent=H,U.updateEvents=R,U.renderEvent=k,U.renderEvents=L,U.removeEvents=M,U.clientEvents=B,U.mutateEvent=Y,U.normalizeEventDates=V,U.normalizeEventTimes=P;var q,Z,$,Q={events:[]},tt=[Q],et=0,nt=[];t.each((U.options.events?[U.options.events]:[]).concat(U.options.eventSources||[]),function(t,e){var n=p(e);n&&tt.push(n)}),U.getEventCache=function(){return nt},U.getPrunedEventCache=function(){return $},U.rezoneArrayEventSources=function(){var e,n,i;for(e=0;e<tt.length;e++)if(n=tt[e].events,t.isArray(n))for(i=0;i<n.length;i++)z(n[i])},U.buildEventFromInput=F,U.expandEvent=_}function jt(t){t._allDay=t.allDay,t._start=t.start.clone(),t._end=t.end?t.end.clone():null}var qt=t.fullCalendar={version:"3.1.0",internalApiVersion:7},Zt=qt.views={};t.fn.fullCalendar=function(e){var n=Array.prototype.slice.call(arguments,1
6655),i=this;return this.each(function(r,s){var o,l=t(s),a=l.data("fullCalendar");"string"==typeof e?a&&t.isFunction(a[e])&&(o=a[e].apply(a,n),r||(i=o),"destroy"===e&&l.removeData("fullCalendar")):a||(a=new De(l,e),l.data("fullCalendar",a),a.render())}),i};var $t=["header","footer","buttonText","buttonIcons","themeButtonIcons"];qt.intersectRanges=F,qt.applyAll=K,qt.debounce=at,qt.isInt=ot,qt.htmlEscape=tt,qt.cssToStr=nt,qt.proxy=lt,qt.capitaliseFirstLetter=rt,qt.getOuterRect=h,qt.getClientRect=f,qt.getContentRect=g,qt.getScrollbarWidths=p;var Qt=null;qt.preventDefault=T,qt.intersectRects=R,qt.parseFieldSpecs=L,qt.compareByFieldSpecs=M,qt.compareByFieldSpec=B,qt.flexibleCompare=z,qt.computeIntervalUnit=A,qt.divideRangeByDuration=P,qt.divideDurationByDuration=_,qt.multiplyDuration=Y,qt.durationHasTime=W;var Xt=["sun","mon","tue","wed","thu","fri","sat"],Kt=["year","month","week","day","hour","minute","second","millisecond"];qt.log=function(){var t=window.console;if(t&&t.log)return t.log.apply(t,arguments)},qt.warn=function(){var t=window.console;return t&&t.warn?t.warn.apply(t,arguments):qt.log.apply(qt,arguments)};var Jt={}.hasOwnProperty;qt.createObject=Z;var te=/^\s*\d{4}-\d\d$/,ee=/^\s*\d{4}-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?)?$/,ne=e.fn,ie=t.extend({},ne),re=e.momentProperties;re.push("_fullCalendar"),re.push("_ambigTime"),re.push("_ambigZone"),qt.moment=function(){return ut(arguments)},qt.moment.utc=function(){var t=ut(arguments,!0);return t.hasTime()&&t.utc(),t},qt.moment.parseZone=function(){return ut(arguments,!0,!0)},ne.week=ne.weeks=function(t){var e=this._locale._fullCalendar_weekCalc;return null==t&&"function"==typeof e?e(this):"ISO"===e?ie.isoWeek.apply(this,arguments):ie.week.apply(this,arguments)},ne.time=function(t){if(!this._fullCalendar)return ie.time.apply(this,arguments);if(null==t)return e.duration({hours:this.hours(),minutes:this.minutes(),seconds:this.seconds(),milliseconds:this.milliseconds()});this._ambigTime=!1,e.isDuration(t)||e.isMoment(t)||(t=e.duration(t));var n=0;return e.isDuration(t)&&(n=24*Math.floor(t.asDays())),this.hours(n+t.hours()).minutes(t.minutes()).seconds(t.seconds()).milliseconds(t.milliseconds())},ne.stripTime=function(){return this._ambigTime||(this.utc(!0),this.set({hours:0,minutes:0,seconds:0,ms:0}),this._ambigTime=!0,this._ambigZone=!0),this},ne.hasTime=function(){return!this._ambigTime},ne.stripZone=function(){var t;return this._ambigZone||(t=this._ambigTime,this.utc(!0),this._ambigTime=t||!1,this._ambigZone=!0),this},ne.hasZone=function(){return!this._ambigZone},ne.local=function(t){return ie.local.call(this,this._ambigZone||t),this._ambigTime=!1,this._ambigZone=!1,this},ne.utc=function(t){return ie.utc.call(this,t),this._ambigTime=!1,this._ambigZone=!1,this},ne.utcOffset=function(t){return null!=t&&(this._ambigTime=!1,this._ambigZone=!1),ie.utcOffset.apply(this,arguments)},ne.format=function(){return this._fullCalendar&&arguments[0]?dt(this,arguments[0]):this._ambigTime?ct(this,"YYYY-MM-DD"):this._ambigZone?ct(this,"YYYY-MM-DD[T]HH:mm:ss"):ie.format.apply(this,arguments)},ne.toISOString=function(){return this._ambigTime?ct(this,"YYYY-MM-DD"):this._ambigZone?ct(this,"YYYY-MM-DD[T]HH:mm:ss"):ie.toISOString.apply(this,arguments)};var se={t:function(t){return ct(t,"a").charAt(0)},T:function(t){return ct(t,"A").charAt(0)}};qt.formatRange=gt;var oe={Y:"year",M:"month",D:"day",d:"day",A:"second",a:"second",T:"second",t:"second",H:"second",h:"second",m:"second",s:"second"},le={},ae={Y:{value:1,unit:"year"},M:{value:2,unit:"month"},W:{value:3,unit:"week"},w:{value:3,unit:"week"},D:{value:4,unit:"day"},d:{value:4,unit:"day"}};qt.queryMostGranularFormatUnit=function(t){
6656var e,n,i,r,s=mt(t);for(e=0;e<s.length;e++)n=s[e],n.token&&(i=ae[n.token.charAt(0)],i&&(!r||i.value>r.value)&&(r=i));return r?r.unit:null},qt.Class=St,St.extend=function(){var t,e,n=arguments.length;for(t=0;t<n;t++)e=arguments[t],t<n-1&&Et(this,e);return wt(this,e||{})},St.mixin=function(t){Et(this,t)},qt.Promise=bt,bt.immediate=!0,bt.resolve=function(e){if(e&&"function"==typeof e.resolve)return e.promise();if(e&&"function"==typeof e.then)return e;var n=t.Deferred().resolve(e),i=n.promise();if(bt.immediate){var r=i.then;i._value=e,i.then=function(t,n){return"function"==typeof t?bt.resolve(t(e)):r.call(i,t,n)}}return i},bt.reject=function(){return t.Deferred().reject().promise()},bt.all=function(e){var n,i,r,s=!1;if(bt.immediate)for(s=!0,n=[],i=0;i<e.length;i++)if(r=e[i],r&&"function"==typeof r.state&&"resolved"===r.state()&&"_value"in r)n.push(r._value);else{if(r&&"function"==typeof r.then){s=!1;break}n.push(r)}return s?bt.resolve(n):t.when.apply(t.when,e).then(function(){return t.when(t.makeArray(arguments))})},qt.TaskQueue=Dt;var ue=qt.EmitterMixin={on:function(e,n){return t(this).on(e,this._prepareIntercept(n)),this},one:function(e,n){return t(this).one(e,this._prepareIntercept(n)),this},_prepareIntercept:function(e){var n=function(t,n){return e.apply(n.context||this,n.args||[])};return e.guid||(e.guid=t.guid++),n.guid=e.guid,n},off:function(e,n){return t(this).off(e,n),this},trigger:function(e){var n=Array.prototype.slice.call(arguments,1
6656);return t(this).triggerHandler(e,{args:n}),this},triggerWith:function(e,n,i){return t(this).triggerHandler(e,{context:n,args:i}),this}},ce=qt.ListenerMixin=function(){var e=0,n={listenerId:null,listenTo:function(e,n,i){if("object"==typeof n)for(var r in n)n.hasOwnProperty(r)&&this.listenTo(e,r,n[r]);else"string"==typeof n&&e.on(n+"."+this.getListenerNamespace(),t.proxy(i,this))},stopListeningTo:function(t,e){t.off((e||"")+"."+this.getListenerNamespace())},getListenerNamespace:function(){return null==this.listenerId&&(this.listenerId=e++),"_listener"+this.listenerId}};return n}(),de={isIgnoringMouse:!1,delayUnignoreMouse:null,initMouseIgnoring:function(t){this.delayUnignoreMouse=at(lt(this,"unignoreMouse"),t||1e3)},tempIgnoreMouse:function(){this.isIgnoringMouse=!0,this.delayUnignoreMouse()},unignoreMouse:function(){this.isIgnoringMouse=!1}},he=St.extend(ce,{isHidden:!0,options:null,el:null,margin:10,constructor:function(t){this.options=t||{}},show:function(){this.isHidden&&(this.el||this.render(),this.el.show(),this.position(),this.isHidden=!1,this.trigger("show"))},hide:function(){this.isHidden||(this.el.hide(),this.isHidden=!0,this.trigger("hide"))},render:function(){var e=this,n=this.options;this.el=t('<div class="fc-popover"/>').addClass(n.className||"").css({top:0,left:0}).append(n.content).appendTo(n.parentEl),this.el.on("click",".fc-close",function(){e.hide()}),n.autoHide&&this.listenTo(t(document),"mousedown",this.documentMousedown)},documentMousedown:function(e){this.el&&!t(e.target).closest(this.el).length&&this.hide()},removeElement:function(){this.hide(),this.el&&(this.el.remove(),this.el=null),this.stopListeningTo(t(document),"mousedown")},position:function(){var e,n,i,r,s,o=this.options,l=this.el.offsetParent().offset(),a=this.el.outerWidth(),u=this.el.outerHeight(),c=t(window),h=d(this.el);r=o.top||0,s=void 0!==o.left?o.left:void 0!==o.right?o.right-a:0,h.is(window)||h.is(document)?(h=c,e=0,n=0):(i=h.offset(),e=i.top,n=i.left),e+=c.scrollTop(),n+=c.scrollLeft(),o.viewportConstrain!==!1&&(r=Math.min(r,e+h.outerHeight()-u-this.margin),r=Math.max(r,e+this.margin),s=Math.min(s,n+h.outerWidth()-a-this.margin),s=Math.max(s,n+this.margin)),this.el.css({top:r-l.top,left:s-l.left})},trigger:function(t){this.options[t]&&this.options[t].apply(this,Array.prototype.slice.call(arguments,1))}}),fe=qt.CoordCache=St.extend({els:null,forcedOffsetParentEl:null,origin:null,boundingRect:null,isHorizontal:!1,isVertical:!1,lefts:null,rights:null,tops:null,bottoms:null,constructor:function(e){this.els=t(e.els),this.isHorizontal=e.isHorizontal,this.isVertical=e.isVertical,this.forcedOffsetParentEl=e.offsetParent?t(e.offsetParent):null},build:function(){var t=this.forcedOffsetParentEl;!t&&this.els.length>0&&(t=this.els.eq(0).offsetParent()),this.origin=t?t.offset():null,this.boundingRect=this.queryBoundingRect
6656(),this.isHorizontal&&this.buildElHorizontals(),this.isVertical&&this.buildElVerticals()},clear:function(){this.origin=null,this.boundingRect=null,this.lefts=null,this.rights=null,this.tops=null,this.bottoms=null},ensureBuilt:function(){this.origin||this.build()},buildElHorizontals:function(){var e=[],n=[];this.els.each(function(i,r){var s=t(r),o=s.offset().left,l=s.outerWidth();e.push(o),n.push(o+l)}),this.lefts=e,this.rights=n},buildElVerticals:function(){var e=[],n=[];this.els.each(function(i,r){var s=t(r),o=s.offset().top,l=s.outerHeight();e.push(o),n.push(o+l)}),this.tops=e,this.bottoms=n},getHorizontalIndex:function(t){this.ensureBuilt();var e,n=this.lefts,i=this.rights,r=n.length;for(e=0;e<r;e++)if(t>=n[e]&&t<i[e])return e},getVerticalIndex:function(t){this.ensureBuilt();var e,n=this.tops,i=this.bottoms,r=n.length;for(e=0;e<r;e++)if(t>=n[e]&&t<i[e])return e},getLeftOffset:function(t){return this.ensureBuilt(),this.lefts[t]},getLeftPosition:function(t){return this.ensureBuilt(),this.lefts[t]-this.origin.left},getRightOffset:function(t){return this.ensureBuilt(),this.rights[t]},getRightPosition:function(t){return this.ensureBuilt(),this.rights[t]-this.origin.left},getWidth:function(t){return this.ensureBuilt(),this.rights[t]-this.lefts[t]},getTopOffset:function(t){return this.ensureBuilt(),this.tops[t]},getTopPosition:function(t){return this.ensureBuilt(),this.tops[t]-this.origin.top},getBottomOffset:function(t){return this.ensureBuilt(),this.bottoms[t]},getBottomPosition:function(t){return this.ensureBuilt(),this.bottoms[t]-this.origin.top},getHeight:function(t){return this.ensureBuilt(),this.bottoms[t]-this.tops[t]},queryBoundingRect:function(){var t;return this.els.length>0&&(t=d(this.els.eq(0)),!t.is(document))?f(t):null},isPointInBounds:function(t,e){return this.isLeftInBounds(t)&&this.isTopInBounds(e)},isLeftInBounds:function(t){return!this.boundingRect||t>=this.boundingRect.left&&t<this.boundingRect.right},isTopInBounds:function(t){return!this.boundingRect||t>=this.boundingRect.top&&t<this.boundingRect.bottom}}),ge=qt.DragListener=St.extend(ce,de,{options:null,subjectEl:null,originX:null,originY:null,scrollEl:null,isInteracting:!1,isDistanceSurpassed:!1,isDelayEnded:!1,isDragging:!1,isTouch:!1,delay:null,delayTimeoutId:null,minDistance:null,handleTouchScrollProxy:null,constructor:function(t){this.options=t||{},this.handleTouchScrollProxy=lt(this,"handleTouchScroll"),this.initMouseIgnoring(500)},startInteraction:function(e,n){var i=b(e);if("mousedown"===e.type){if(this.isIgnoringMouse)return;if(!S(e))return;e.preventDefault()}this.isInteracting||(n=n||{},this.delay=J(n.delay,this.options.delay,0),this.minDistance=J(n.distance,this.options.distance,0),this.subjectEl=this.options.subjectEl,this.isInteracting=!0,this.isTouch=i,this.isDelayEnded=!1,this.isDistanceSurpassed=!1,this.originX=w(e),this.originY=E(e),this.scrollEl=d(t(e.target)),this.bindHandlers(),this.initAutoScroll(),this.handleInteractionStart(e),this.startDelay(e),this.minDistance||this.handleDistanceSurpassed(e))},handleInteractionStart:function(t){this.trigger("interactionStart",t)},endInteraction:function(t,e){this.isInteracting&&(this.endDrag(t),this.delayTimeoutId&&(clearTimeout(this.delayTimeoutId),this.delayTimeoutId=null),this.destroyAutoScroll(),this.unbindHandlers(),this.isInteracting=!1,this.handleInteractionEnd(t,e),this.isTouch&&this.tempIgnoreMouse())},handleInteractionEnd:function(t,e){this.trigger("interactionEnd",t,e||!1)},bindHandlers:function(){var e=this,n=1;this.isTouch?(this.listenTo(t(document),{touchmove:this.handleTouchMove,touchend:this.endInteraction,touchcancel:this.endInteraction,touchstart:function(t){n?n--:e.endInteraction(t,!0)}}),!C(this.handleTouchScrollProxy)&&this.scrollEl&&this.listenTo(this.scrollEl,"scroll",this.handleTouchScroll)):this.listenTo(t(document),{mousemove:this.handleMouseMove,mouseup:this.endInteraction}),this.listenTo(t(document),{selectstart:T,contextmenu:T})},unbindHandlers:function(){this.stopListeningTo(t(document)),H(this.handleTouchScrollProxy),this.scrollEl&&this.stopListeningTo(this.scrollEl,"scroll")},startDrag:function(t,e){this.startInteraction(t,e),this.isDragging||(this.isDragging=!0,this.handleDragStart(t))},handleDragStart:function(t){this.trigger("dragStart",t)},handleMove:function(t){var e,n=w(t)-this.originX,i=E(t)-this.originY,r=this.minDistance;this.isDistanceSurpassed||(e=n*n+i*i,e>=r*r&&this.handleDistanceSurpassed(t)),this.isDragging&&this.handleDrag(n,i,t)},handleDrag:function(t,e,n){this.trigger("drag",t,e,n),this.updateAutoScroll(n)},endDrag:function(t){this.isDragging&&(this.isDragging=!1,this.handleDragEnd(t))},handleDragEnd:function(t){this.trigger("dragEnd",t)},startDelay:function(t){var e=this;this.delay?this.delayTimeoutId=setTimeout(function(){e.handleDelayEnd(t)},this.delay):this.handleDelayEnd(t)},handleDelayEnd:function(t){this.isDelayEnded=!0,this.isDistanceSurpassed&&this.startDrag(t)},handleDistanceSurpassed:function(t){this.isDistanceSurpassed=!0,this.isDelayEnded&&this.startDrag(t)},handleTouchMove:function(t){this.isDragging&&t.preventDefault(),this.handleMove(t)},handleMouseMove:function(t){this.handleMove(t)},handleTouchScroll:function(t){this.isDragging||this.endInteraction(t,!0)},trigger:function(t){this.options[t]&&this.options[t].apply(this,Array.prototype.slice.call(arguments,1
6656)),this["_"+t]&&this["_"+t].apply(this,Array.prototype.slice.call(arguments,1))}});ge.mixin({isAutoScroll:!1,scrollBounds:null,scrollTopVel:null,scrollLeftVel:null,scrollIntervalId:null,scrollSensitivity:30,scrollSpeed:200,scrollIntervalMs:50,initAutoScroll:function(){var t=this.scrollEl;this.isAutoScroll=this.options.scroll&&t&&!t.is(window)&&!t.is(document),this.isAutoScroll&&this.listenTo(t,"scroll",at(this.handleDebouncedScroll,100))},destroyAutoScroll:function(){this.endAutoScroll(),this.isAutoScroll&&this.stopListeningTo(this.scrollEl,"scroll")},computeScrollBounds:function(){this.isAutoScroll&&(this.scrollBounds=h(this.scrollEl))},updateAutoScroll:function(t){var e,n,i,r,s=this.scrollSensitivity,o=this.scrollBounds,l=0,a=0;o&&(e=(s-(E(t)-o.top))/s,n=(s-(o.bottom-E(t)))/s,i=(s-(w(t)-o.left))/s,r=(s-(o.right-w(t)))/s,e>=0&&e<=1?l=e*this.scrollSpeed*-1:n>=0&&n<=1&&(l=n*this.scrollSpeed),i>=0&&i<=1?a=i*this.scrollSpeed*-1:r>=0&&r<=1&&(a=r*this.scrollSpeed)),this.setScrollVel(l,a)},setScrollVel:function(t,e){this.scrollTopVel=t,this.scrollLeftVel=e,this.constrainScrollVel(),!this.scrollTopVel&&!this.scrollLeftVel||this.scrollIntervalId||(this.scrollIntervalId=setInterval(lt(this,"scrollIntervalFunc"),this.scrollIntervalMs))},constrainScrollVel:function(){var t=this.scrollEl;this.scrollTopVel<0?t.scrollTop()<=0&&(this.scrollTopVel=0):this.scrollTopVel>0&&t.scrollTop()+t[0].clientHeight>=t[0].scrollHeight&&(this.scrollTopVel=0),this.scrollLeftVel<0?t.scrollLeft()<=0&&(this.scrollLeftVel=0):this.scrollLeftVel>0&&t.scrollLeft()+t[0].clientWidth>=t[0].scrollWidth&&(this.scrollLeftVel=0)},scrollIntervalFunc:function(){var t=this.scrollEl,e=this.scrollIntervalMs/1e3;this.scrollTopVel&&t.scrollTop(t.scrollTop()+this.scrollTopVel*e),this.scrollLeftVel&&t.scrollLeft(t.scrollLeft()+this.scrollLeftVel*e),this.constrainScrollVel(),this.scrollTopVel||this.scrollLeftVel||this.endAutoScroll()},endAutoScroll:function(){this.scrollIntervalId&&(clearInterval(this.scrollIntervalId),this.scrollIntervalId=null,this.handleScrollEnd())},handleDebouncedScroll:function(){this.scrollIntervalId||this.handleScrollEnd()},handleScrollEnd:function(){}});var pe=ge.extend({component:null,origHit:null,hit:null,coordAdjust:null,constructor:function(t,e){ge.call(this,e),this.component=t},handleInteractionStart:function(t){var e,n,i,r=this.subjectEl;this.computeCoords(),t?(n={left:w(t),top:E(t)},i=n,r&&(e=h(r),i=x(i,e)),this.origHit=this.queryHit(i.left,i.top),r&&this.options.subjectCenter&&(this.origHit&&(e=R(this.origHit,e)||e),i=I(e)),this.coordAdjust=k(i,n)):(this.origHit=null,this.coordAdjust=null),ge.prototype.handleInteractionStart.apply(this,arguments)},computeCoords:function(){this.component.prepareHits(),this.computeScrollBounds()},handleDragStart:function(t){var e;ge.prototype.handleDragStart.apply(this,arguments),e=this.queryHit(w(t),E(t)),e&&this.handleHitOver(e)},handleDrag:function(t,e,n){var i;ge.prototype.handleDrag.apply(this,arguments),i=this.queryHit(w(n),E(n)),Tt(i,this.hit)||(this.hit&&this.handleHitOut(),i&&this.handleHitOver(i))},handleDragEnd:function(){this.handleHitDone(),ge.prototype.handleDragEnd.apply(this,arguments)},handleHitOver:function(t){var e=Tt(t,this.origHit);this.hit=t,this.trigger("hitOver",this.hit,e,this.origHit)},handleHitOut:function(){this.hit&&(this.trigger("hitOut",this.hit),this.handleHitDone(),this.hit=null)},handleHitDone:function(){this.hit&&this.trigger("hitDone",this.hit)},handleInteractionEnd:function(){ge.prototype.handleInteractionEnd.apply(this,arguments),this.origHit=null,this.hit=null,this.component.releaseHits()},handleScrollEnd:function(){ge.prototype.handleScrollEnd.apply(this,arguments),this.computeCoords()},queryHit:function(t,e){return this.coordAdjust&&(t+=this.coordAdjust.left,e+=this.coordAdjust.top),this.component.queryHit(t,e)}}),ve=St.extend(ce,{options:null,sourceEl:null,el:null,parentEl:null,top0:null,left0:null,y0:null,x0:null,topDelta:null,leftDelta:null,isFollowing:!1,isHidden:!1,isAnimating:!1,constructor:function(e,n){this.options=n=n||{},this.sourceEl=e,this.parentEl=n.parentEl?t(n.parentEl):e.parent()},start:function(e){this.isFollowing||(this.isFollowing=!0,this.y0=E(e),this.x0=w(e),this.topDelta=0,this.leftDelta=0,this.isHidden||this.updatePosition(),b(e)?this.listenTo(t(document),"touchmove",this.handleMove):this.listenTo(t(document),"mousemove",this.handleMove))},stop:function(e,n){function i(){r.isAnimating=!1,r.removeElement(),r.top0=r.left0=null,n&&n()}
6656var r=this,s=this.options.revertDuration;this.isFollowing&&!this.isAnimating&&(this.isFollowing=!1,this.stopListeningTo(t(document)),e&&s&&!this.isHidden?(this.isAnimating=!0,this.el.animate({top:this.top0,left:this.left0},{duration:s,complete:i})):i())},getEl:function(){var t=this.el;return t||(t=this.el=this.sourceEl.clone().addClass(this.options.additionalClass||"").css({position:"absolute",visibility:"",display:this.isHidden?"none":"",margin:0,right:"auto",bottom:"auto",width:this.sourceEl.width(),height:this.sourceEl.height(),opacity:this.options.opacity||"",zIndex:this.options.zIndex}),t.addClass("fc-unselectable"),t.appendTo(this.parentEl)),t},removeElement:function(){this.el&&(this.el.remove(),this.el=null)},updatePosition:function(){var t,e;this.getEl(),null===this.top0&&(t=this.sourceEl.offset(),e=this.el.offsetParent().offset(),this.top0=t.top-e.top,this.left0=t.left-e.left),this.el.css({top:this.top0+this.topDelta,left:this.left0+this.leftDelta})},handleMove:function(t){this.topDelta=E(t)-this.y0,this.leftDelta=w(t)-this.x0,this.isHidden||this.updatePosition()},hide:function(){this.isHidden||(this.isHidden=!0,this.el&&this.el.hide())},show:function(){this.isHidden&&(this.isHidden=!1,this.updatePosition(),this.getEl().show())}}),me=qt.Grid=St.extend(ce,de,{hasDayInteractions:!0,view:null,isRTL:null,start:null,end:null,el:null,elsByFill:null,eventTimeFormat:null,displayEventTime:null,displayEventEnd:null,minResizeDuration:null,largeUnit:null,dayDragListener:null,segDragListener:null,segResizeListener:null,externalDragListener:null,constructor:function(t){this.view=t,this.isRTL=t.opt("isRTL"),this.elsByFill={},this.dayDragListener=this.buildDayDragListener(),this.initMouseIgnoring()},computeEventTimeFormat:function(){return this.view.opt("smallTimeFormat")},computeDisplayEventTime:function(){return!0},computeDisplayEventEnd:function(){return!0},setRange:function(t){this.start=t.start.clone(),this.end=t.end.clone(),this.rangeUpdated(),this.processRangeOptions()},rangeUpdated:function(){},processRangeOptions:function(){var t,e,n=this.view;this.eventTimeFormat=n.opt("eventTimeFormat")||n.opt("timeFormat")||this.computeEventTimeFormat(),t=n.opt("displayEventTime"),null==t&&(t=this.computeDisplayEventTime()),e=n.opt("displayEventEnd"),null==e&&(e=this.computeDisplayEventEnd()),this.displayEventTime=t,this.displayEventEnd=e},spanToSegs:function(t){},diffDates:function(t,e){return this.largeUnit?O(t,e,this.largeUnit):N(t,e)},prepareHits:function(){},releaseHits:function(){},queryHit:function(t,e){},getHitSpan:function(t){},getHitEl:function(t){},setElement:function(t){this.el=t,this.hasDayInteractions&&(D(t),this.bindDayHandler("touchstart",this.dayTouchStart),this.bindDayHandler("mousedown",this.dayMousedown)),this.bindSegHandlers(),this.bindGlobalHandlers()},bindDayHandler:function(e,n){var i=this;this.el.on(e,function(e){if(!t(e.target).is(i.segSelector+","+i.segSelector+" *,.fc-more,a[data-goto]"))return n.call(i,e)})},removeElement:function(){this.unbindGlobalHandlers(),this.clearDragListeners(),this.el.remove()},renderSkeleton:function(){},renderDates:function(){},unrenderDates:function(){},bindGlobalHandlers:function(){this.listenTo(t(document),{dragstart:this.externalDragStart,sortstart:this.externalDragStart})},unbindGlobalHandlers:function(){this.stopListeningTo(t(document))},dayMousedown:function(t){this.isIgnoringMouse||this.dayDragListener.startInteraction(t,{})},dayTouchStart:function(t){var e=this.view,n=e.opt("selectLongPressDelay");(e.isSelected||e.selectedEvent)&&this.tempIgnoreMouse(),null==n&&(n=e.opt("longPressDelay")),this.dayDragListener.startInteraction(t,{delay:n})},buildDayDragListener:function(){var t,e,n=this,i=this.view,r=i.opt("selectable"),l=new pe(this,{scroll:i.opt("dragScroll"),interactionStart:function(){t=l.origHit,e=null},dragStart:function(){i.unselect()},hitOver:function(i,o,l){l&&(o||(t=null),r&&(e=n.computeSelection(n.getHitSpan(l),n.getHitSpan(i)),e?n.renderSelection(e):e===!1&&s()))},hitOut:function(){t=null,e=null,n.unrenderSelection()},hitDone:function(){o()},interactionEnd:function(r,s){s||(t&&!n.isIgnoringMouse&&i.triggerDayClick(n.getHitSpan(t),n.getHitEl(t),r),e&&i.reportSelection(e,r))}});return l},clearDragListeners:function(){this.dayDragListener.endInteraction(),this.segDragListener&&this.segDragListener.endInteraction(),this.segResizeListener&&this.segResizeListener.endInteraction(),this.externalDragListener&&this.externalDragListener.endInteraction()},renderEventLocationHelper:function(t,e){var n=this.fabricateHelperEvent(t,e);return this.renderHelper(n,e)},fabricateHelperEvent:function(t,e){var n=e?Z(e.event):{};return n.start=t.start.clone(),n.end=t.end?t.end.clone():null,n.allDay=null,this.view.calendar.normalizeEventDates(n),n.className=(n.className||[]).concat("fc-helper"),e||(n.editable=!1),n},renderHelper:function(t,e){},unrenderHelper:function(){},renderSelection:function(t){this.renderHighlight(t)},unrenderSelection:function(){this.unrenderHighlight()},computeSelection:function(t,e){var n=this.computeSelectionSpan(t,e);return!(n&&!this.view.calendar.isSelectionSpanAllowed(n))&&n},computeSelectionSpan:function(t,e){var n=[t.start,t.end,e.start,e.end];return n.sort(st),{start:n[0].clone(),end:n[3].clone()}},renderHighlight:function(t){this.renderFill("highlight",this.spanToSegs(t))},unrenderHighlight:function(){this.unrenderFill("highlight")},highlightSegClasses:function(){return["fc-highlight"]},renderBusinessHours:function(){},unrenderBusinessHours:function(){},getNowIndicatorUnit:function(){},renderNowIndicator:function(t){},unrenderNowIndicator:function(){},renderFill:function(t,e){},unrenderFill:function(t){var e=this.elsByFill[t];e&&(e.remove(),delete this.elsByFill[t])},renderFillSegEls:function(e,n){var i,r=this,s=this[e+"SegEl"],o="",l=[];if(n.length){for(i=0;i<n.length;i++)o+=this.fillSegHtml(e,n[i]);t(o).each(function(e,i){var o=n[e],a=t(i);s&&(a=s.call(r,o,a)),a&&(a=t(a),a.is(r.fillSegTag)&&(o.el=a,l.push(o)))})}return l},fillSegTag:"div",fillSegHtml:function(t,e){var n=this[t+"SegClasses"],i=this[t+"SegCss"],r=n?n.call(this,e):[],s=nt(i?i.call(this,e):{});return"<"+this.fillSegTag+(r.length?' class="'+r.join(" ")+'"':"")+(s?' style="'+s+'"':"")+" />"},getDayClasses:function(t,e){var n=this.view,i=n.calendar.getNow(),r=["fc-"+Xt[t.day()]];return 1==n.intervalDuration.as("months")&&t.month()!=n.intervalStart.month()&&r.push("fc-other-month"),t.isSame(i,"day")?(r.push("fc-today"),e!==!0&&r.push(n.highlightStateClass)):t<i?r.push("fc-past"):r.push("fc-future"),r}});me.mixin({segSelector:".fc-event-container > *",mousedOverSeg:null,isDraggingSeg:!1,isResizingSeg:!1,isDraggingExter
6656nal:!1,segs:null,renderEvents:function(t){var e,n=[],i=[];for(e=0;e<t.length;e++)(Rt(t[e])?n:i).push(t[e]);this.segs=[].concat(this.renderBgEvents(n),this.renderFgEvents(i))},renderBgEvents:function(t){var e=this.eventsToSegs(t);return this.renderBgSegs(e)||e},renderFgEvents:function(t){var e=this.eventsToSegs(t);return this.renderFgSegs(e)||e},unrenderEvents:function(){this.handleSegMouseout(),this.clearDragListeners(),this.unrenderFgSegs(),this.unrenderBgSegs(),this.segs=null},getEventSegs:function(){return this.segs||[]},renderFgSegs:function(t){},unrenderFgSegs:function(){},renderFgSegEls:function(e,n){var i,r=this.view,s="",o=[];if(e.length){for(i=0;i<e.length;i++)s+=this.fgSegHtml(e[i],n);t(s).each(function(n,i){var s=e[n],l=r.resolveEventEl(s.event,t(i));l&&(l.data("fc-seg",s),s.el=l,o.push(s))})}return o},fgSegHtml:function(t,e){},renderBgSegs:function(t){return this.renderFill("bgEvent",t)},unrenderBgSegs:function(){this.unrenderFill("bgEvent")},bgEventSegEl:function(t,e){return this.view.resolveEventEl(t.event,e)},bgEventSegClasses:function(t){var e=t.event,n=e.source||{};return["fc-bgevent"].concat(e.className,n.className||[])},bgEventSegCss:function(t){return{"background-color":this.getSegSkinCss(t)["background-color"]}},businessHoursSegClasses:function(t){return["fc-nonbusiness","fc-bgevent"]},buildBusinessHourSegs:function(t,e){return this.eventsToSegs(this.buildBusinessHourEvents(t,e))},buildBusinessHourEvents:function(e,n){var i,r=this.view.calendar;return null==n&&(n=r.options.businessHours),i=r.computeBusinessHourEvents(e,n),!i.length&&n&&(i=[t.extend({},ke,{start:this.view.end,end:this.view.end,dow:null})]),i},bindSegHandlers:function(){this.bindSegHandlersToEl(this.el)},bindSegHandlersToEl:function(t){this.bindSegHandlerToEl(t,"touchstart",this.handleSegTouchStart),this.bindSegHandlerToEl(t,"touchend",this.handleSegTouchEnd),this.bindSegHandlerToEl(t,"mouseenter",this.handleSegMouseover),this.bindSegHandlerToEl(t,"mouseleave",this.handleSegMouseout),this.bindSegHandlerToEl(t,"mousedown",this.handleSegMousedown),this.bindSegHandlerToEl(t,"click",this.handleSegClick)},bindSegHandlerToEl:function(e,n,i){var r=this;e.on(n,this.segSelector,function(e){var n=t(this).data("fc-seg");if(n&&!r.isDraggingSeg&&!r.isResizingSeg)return i.call(r,n,e)})},handleSegClick:function(t,e){var n=this.view.publiclyTrigger("eventClick",t.el[0],t.event,e);n===!1&&e.preventDefault()},handleSegMouseover:function(t,e){this.isIgnoringMouse||this.mousedOverSeg||(this.mousedOverSeg=t,this.view.isEventResizable(t.event)&&t.el.addClass("fc-allow-mouse-resize"),this.view.publiclyTrigger("eventMouseover",t.el[0],t.event,e))},handleSegMouseout:function(t,e){e=e||{},this.mousedOverSeg&&(t=t||this.mousedOverSeg,this.mousedOverSeg=null,this.view.isEventResizable(t.event)&&t.el.removeClass("fc-allow-mouse-resize"),this.view.publiclyTrigger("eventMouseout",t.el[0],t.event,e))},handleSegMousedown:function(t,e){var n=this.startSegResize(t,e,{distance:5});!n&&this.view.isEventDraggable(t.event)&&this.buildSegDragListener(t).startInteraction(e,{distance:5})},handleSegTouchStart:function(t,e){var n,i,r=this.view,s=t.event,o=r.isEventSelected(s),l=r.isEventDraggable(s),a=r.isEventResizable(s),u=!1;o&&a&&(u=this.startSegResize(t,e)),u||!l&&!a||(i=r.opt("eventLongPressDelay"),null==i&&(i=r.opt("longPressDelay")),n=l?this.buildSegDragListener(t):this.buildSegSelectListener(t),n.startInteraction(e,{delay:o?0:i})),this.tempIgnoreMouse()},handleSegTouchEnd:function(t,e){this.tempIgnoreMouse()},startSegResize:function(e,n,i){return!!t(n.target).is(".fc-resizer")&&(this.buildSegResizeListener(e,t(n.target).is(".fc-start-resizer")).startInteraction(n,i),!0)},buildSegDragListener:function(t){var e,n,i,r=this,l=this.view,a=l.calendar,u=t.el,c=t.event;if(this.segDragListener)return this.segDragListener;var d=this.segDragListener=new pe(l,{scroll:l.opt("dragScroll"),subjectEl:u,subjectCenter:!0,interactionStart:function(i){t.component=r,e=!1,n=new ve(t.el,{additionalClass:"fc-dragging",parentEl:l.el,opacity:d.isTouch?null:l.opt("dragOpacity"),revertDuration:l.opt("dragRevertDuration"),zIndex:2}),n.hide(),n.start(i)},dragStart:function(n){d.isTouch&&!l.isEventSelected(c)&&l.selectEvent(c),e=!0,r.handleSegMouseout(t,n),r.segDragStart(t,n),l.hideEvent(c)},hitOver:function(e,o,u){var h;t.hit&&(u=t.hit),i=r.computeEventDrop(u.component.getHitSpan(u),e.component.getHitSpan(e),c),i&&!a.isEventSpanAllowed(r.eventToSpan(i),c)&&(s(),i=null),i&&(h=l.renderDrag(i,t))?(h.addClass("fc-dragging"),d.isTouch||r.applyDragOpacity(h),n.hide()):n.show(),o&&(i=null)},hitOut:function(){l.unrenderDrag(),n.show(),i=null},hitDone:function(){o()},interactionEnd:function(s){delete t.component,n.stop(!i,function(){e&&(l.unrenderDrag(),r.segDragStop(t,s)),i?l.reportEventDrop(c,i,r.largeUnit,u,s):l.showEvent(c)}),r.segDragListener=null}});return d},buildSegSelectListener:function(t){var e=this,n=this.view,i=t.event;if(this.segDragListener)return this.segDragListener;var r=this.segDragListener=new ge({dragStart:function(t){r.isTouch&&!n.isEventSelected(i)&&n.selectEvent(i)},interactionEnd:function(t){e.segDragListener=null}});return r},segDragStart:function(t,e){this.isDraggingSeg=!0,this.view.publiclyTrigger("eventDragStart",t.el[0],t.event,e,{})},segDragStop:function(t,e){this.isDraggingSeg=!1,this.view.publiclyTrigger("eventDragStop",t.el[0],t.event,e,{})},computeEventDrop:function(t,e,n){var i,r,s=this.view.calendar,o=t.start,l=e.start;return o.hasTime()===l.hasTime()?(i=this.diffDates(l,o),n.allDay&&W(i)?(r={start:n.start.clone(),end:s.getEventEnd(n),allDay:!1},s.normalizeEventTimes(r)):r=Ht(n),r.start.add(i),r.end&&r.end.add(i)):r={start:l.clone(),end:null,allDay:!l.hasTime()},r},applyDragOpacity:function(t){var e=this.view.opt("dragOpacity");null!=e&&t.css("opacity",e)},externalDragStart:function(e,n){var i,r,s=this.view;s.opt("droppable")&&(i=t((n?n.item:null)||e.target),r=s.opt("dropAccept"),(t.isFunction(r)?r.call(i[0],i):i.is(r))&&(this.isDraggingExter
6656nal||this.listenToExternalDrag(i,e,n)))},listenToExternalDrag:function(t,e,n){var i,r=this,l=this.view.calendar,a=Mt(t),u=r.externalDragListener=new pe(this,{interactionStart:function(){r.isDraggingExternal=!0},hitOver:function(t){i=r.computeExternalDrop(t.component.getHitSpan(t),a),i&&!l.isExternalSpanAllowed(r.eventToSpan(i),i,a.eventProps)&&(s(),i=null),i&&r.renderDrag(i)},hitOut:function(){i=null},hitDone:function(){o(),r.unrenderDrag()},interactionEnd:function(e){i&&r.view.reportExternalDrop(a,i,t,e,n),r.isDraggingExternal=!1,r.externalDragListener=null}});u.startDrag(e)},computeExternalDrop:function(t,e){var n=this.view.calendar,i={start:n.applyTimezone(t.start),end:null};return e.startTime&&!i.start.hasTime()&&i.start.time(e.startTime),e.duration&&(i.end=i.start.clone().add(e.duration)),i},renderDrag:function(t,e){},unrenderDrag:function(){},buildSegResizeListener:function(t,e){var n,i,r=this,l=this.view,a=l.calendar,u=t.el,c=t.event,d=a.getEventEnd(c),h=this.segResizeListener=new pe(this,{scroll:l.opt("dragScroll"),subjectEl:u,interactionStart:function(){n=!1},dragStart:function(e){n=!0,r.handleSegMouseout(t,e),r.segResizeStart(t,e)},hitOver:function(n,o,u){var h=r.getHitSpan(u),f=r.getHitSpan(n);i=e?r.computeEventStartResize(h,f,c):r.computeEventEndResize(h,f,c),i&&(a.isEventSpanAllowed(r.eventToSpan(i),c)?i.start.isSame(c.start.clone().stripZone())&&i.end.isSame(d.clone().stripZone())&&(i=null):(s(),i=null)),i&&(l.hideEvent(c),r.renderEventResize(i,t))},hitOut:function(){i=null,l.showEvent(c)},hitDone:function(){r.unrenderEventResize(),o()},interactionEnd:function(e){n&&r.segResizeStop(t,e),i?l.reportEventResize(c,i,r.largeUnit,u,e):l.showEvent(c),r.segResizeListener=null}});return h},segResizeStart:function(t,e){this.isResizingSeg=!0,this.view.publiclyTrigger("eventResizeStart",t.el[0],t.event,e,{})},segResizeStop:function(t,e){this.isResizingSeg=!1,this.view.publiclyTrigger("eventResizeStop",t.el[0],t.event,e,{})},computeEventStartResize:function(t,e,n){return this.computeEventResize("start",t,e,n)},computeEventEndResize:function(t,e,n){return this.computeEventResize("end",t,e,n)},computeEventResize:function(t,e,n,i){var r,s,o=this.view.calendar,l=this.diffDates(n[t],e[t]);return r={start:i.start.clone(),end:o.getEventEnd(i),allDay:i.allDay},r.allDay&&W(l)&&(r.allDay=!1,o.normalizeEventTimes(r)),r[t].add(l),r.start.isBefore(r.end)||(s=this.minResizeDuration||(i.allDay?o.defaultAllDayEventDuration:o.defaultTimedEventDuration),"start"==t?r.start=r.end.clone().subtract(s):r.end=r.start.clone().add(s)),r},renderEventResize:function(t,e){},unrenderEventResize:function(){},getEventTimeText:function(t,e,n){return null==e&&(e=this.eventTimeFormat),null==n&&(n=this.displayEventEnd),this.displayEventTime&&t.start.hasTime()?n&&t.end?this.view.formatRange(t,e):t.start.format(e):""},getSegClasses:function(t,e,n){var i=this.view,r=["fc-event",t.isStart?"fc-start":"fc-not-start",t.isEnd?"fc-end":"fc-not-end"].concat(this.getSegCustomClasses(t));return e&&r.push("fc-draggable"),n&&r.push("fc-resizable"),i.isEventSelected(t.event)&&r.push("fc-selected"),r},getSegCustomClasses:function(t){var e=t.event;return[].concat(e.className,e.source?e.source.className:[])},getSegSkinCss:function(t){return{"background-color":this.getSegBackgroundColor(t),"border-color":this.getSegBorderColor(t),color:this.getSegTextColor(t)}},getSegBackgroundColor:function(t){return t.event.backgroundColor||t.event.color||this.getSegDefaultBackgroundColor(t)},getSegDefaultBackgroundColor:function(t){var e=t.event.source||{};return e.backgroundColor||e.color||this.view.opt("eventBackgroundColor")||this.view.opt("eventColor")},getSegBorderColor:function(t){return t.event.borderColor||t.event.color||this.getSegDefaultBorderColor(t)},getSegDefaultBorderColor:function(t){var e=t.event.source||{};return e.borderColor||e.color||this.view.opt("eventBorderColor")||this.view.opt("eventColor")},getSegTextColor:function(t){return t.event.textColor||this.getSegDefaultTextColor(t)},getSegDefaultTextColor:function(t){var e=t.event.source||{};return e.textColor||this.view.opt("eventTextColor")},eventToSegs:function(t){return this.eventsToSegs([t])},eventToSpan:function(t){return this.eventToSpans(t)[0]},eventToSpans:function(t){var e=this.eventToRange(t);return this.eventRangeToSpans(e,t)},eventsToSegs:function(e,n){var i=this,r=kt(e),s=[];return t.each(r,function(t,e){var r,o=[];for(r=0;r<e.length;r++)o.push(i.eventToRange(e[r]));if(xt(e[0]))for(o=i.invertRanges(o),r=0;r<o.length;r++)s.push.apply(s,i.eventRangeToSegs(o[r],e[0],n));else for(r=0;r<o.length;r++)s.push.apply(s,i.eventRangeToSegs(o[r],e[r],n))}),s},eventToRange:function(t){var e=this.view.calendar,n=t.start.clone().stripZone(),i=(t.end?t.end.clone():e.getDefaultEventEnd(null!=t.allDay?t.allDay:!t.start.hasTime(),t.start)).stripZone();return e.localizeMoment(n),e.localizeMoment(i),{start:n,end:i}},eventRangeToSegs:function(t,e,n){var i,r=this.eventRangeToSpans(t,e),s=[];for(i=0;i<r.length;i++)s.push.apply(s,this.eventSpanToSegs(r[i],e,n));return s},eventRangeToSpans:function(e,n){return[t.extend({},e)]},eventSpanToSegs:function(t,e,n){var i,r,s=n?n(t):this.spanToSegs(t);
6657for(i=0;i<s.length;i++)r=s[i],r.event=e,r.eventStartMS=+t.start,r.eventDurationMS=t.end-t.start;return s},invertRanges:function(t){var e,n,i=this.view,r=i.start.clone(),s=i.end.clone(),o=[],l=r;
6657for(t.sort(Lt),e=0;e<t.length;e++)n=t[e],n.start>l&&o.push({start:l,end:n.start}),l=n.end;return l<s&&o.push({start:l,end:s}),o},sortEventSegs:function(t){t.sort(lt(this,"compareEventSegs"))},compareEventSegs:function(t,e){return t.eventStartMS-e.eventStartMS||e.eventDurationMS-t.eventDurationMS||e.event.allDay-t.event.allDay||M(t.event,e.event,this.view.eventOrderSpecs)}}),qt.pluckEventDateProps=Ht,qt.isBgEvent=Rt,qt.dataAttrPrefix="";var ye=qt.DayTableMixin={breakOnWeeks:!1,dayDates:null,dayIndices:null,daysPerRow:null,rowCnt:null,colCnt:null,colHeadFormat:null,updateDayTable:function(){for(var t,e,n,i=this.view,r=this.start.clone(),s=-1,o=[],l=[];r.isBefore(this.end);)i.isHiddenDay(r)?o.push(s+.5):(s++,o.push(s),l.push(r.clone())),r.add(1,"days");if(this.breakOnWeeks){for(e=l[0].day(),t=1;t<l.length&&l[t].day()!=e;t++);n=Math.ceil(l.length/t)}else n=1,t=l.length;this.dayDates=l,this.dayIndices=o,this.daysPerRow=t,this.rowCnt=n,this.updateDayTableCols()},updateDayTableCols:function(){this.colCnt=this.computeColCnt(),this.colHeadFormat=this.view.opt("columnFormat")||this.computeColHeadFormat()},computeColCnt:function(){return this.daysPerRow},getCellDate:function(t,e){return this.dayDates[this.getCellDayIndex(t,e)].clone()},getCellRange:function(t,e){var n=this.getCellDate(t,e),i=n.clone().add(1,"days");return{start:n,end:i}},getCellDayIndex:function(t,e){return t*this.daysPerRow+this.getColDayIndex(e)},getColDayIndex:function(t){return this.isRTL?this.colCnt-1-t:t},getDateDayIndex:function(t){var e=this.dayIndices,n=t.diff(this.start,"days");return n<0?e[0]-1:n>=e.length?e[e.length-1]+1:e[n]},computeColHeadFormat:function(){return this.rowCnt>1||this.colCnt>10?"ddd":this.colCnt>1?this.view.opt("dayOfMonthFormat"):"dddd"},sliceRangeByRow:function(t){var e,n,i,r,s,o=this.daysPerRow,l=this.view.computeDayRange(t),a=this.getDateDayIndex(l.start),u=this.getDateDayIndex(l.end.clone().subtract(1,"days")),c=[];for(e=0;e<this.rowCnt;e++)n=e*o,i=n+o-1,r=Math.max(a,n),s=Math.min(u,i),r=Math.ceil(r),s=Math.floor(s),r<=s&&c.push({row:e,firstRowDayIndex:r-n,lastRowDayIndex:s-n,isStart:r===a,isEnd:s===u});return c},sliceRangeByDay:function(t){var e,n,i,r,s,o,l=this.daysPerRow,a=this.view.computeDayRange(t),u=this.getDateDayIndex(a.start),c=this.getDateDayIndex(a.end.clone().subtract(1,"days")),d=[];for(e=0;e<this.rowCnt;e++)for(n=e*l,i=n+l-1,r=n;r<=i;r++)s=Math.max(u,r),o=Math.min(c,r),s=Math.ceil(s),o=Math.floor(o),s<=o&&d.push({row:e,firstRowDayIndex:s-n,lastRowDayIndex:o-n,isStart:s===u,isEnd:o===c});return d},renderHeadHtml:function(){var t=this.view;return'<div class="fc-row '+t.widgetHeaderClass+'"><table><thead>'+this.renderHeadTrHtml()+"</thead></table></div>"},renderHeadIntroHtml:function(){return this.renderIntroHtml()},renderHeadTrHtml:function(){return"<tr>"+(this.isRTL?"":this.renderHeadIntroHtml())+this.renderHeadDateCellsHtml()+(this.isRTL?this.renderHeadIntroHtml():"")+"</tr>"},renderHeadDateCellsHtml:function(){var t,e,n=[];for(t=0;t<this.colCnt;t++)e=this.getCellDate(0,t),n.push(this.renderHeadDateCellHtml(e));return n.join("")},renderHeadDateCellHtml:function(t,e,n){var i=this.view,r=["fc-day-header",i.widgetHeaderClass];return 1===this.rowCnt?r=r.concat(this.getDayClasses(t,!0)):r.push("fc-"+Xt[t.day()]),'<th class="'+r.join(" ")+'"'+(1===this.rowCnt?' data-date="'+t.format("YYYY-MM-DD")+'"':"")+(e>1?' colspan="'+e+'"':"")+(n?" "+n:"")+">"+i.buildGotoAnchorHtml({date:t,forceOff:this.rowCnt>1||1===this.colCnt},tt(t.format(this.colHeadFormat)))+"</th>"},renderBgTrHtml:function(t){return"<tr>"+(this.isRTL?"":this.renderBgIntroHtml(t))+this.renderBgCellsHtml(t)+(this.isRTL?this.renderBgIntroHtml(t):"")+"</tr>"},renderBgIntroHtml:function(t){return this.renderIntroHtml()},renderBgCellsHtml:function(t){var e,n,i=[];for(e=0;e<this.colCnt;e++)n=this.getCellDate(t,e),i.push(this.renderBgCellHtml(n));return i.join("")},renderBgCellHtml:function(t,e){var n=this.view,i=this.getDayClasses(t);return i.unshift("fc-day",n.widgetContentClass),'<td class="'+i.join(" ")+'" data-date="'+t.format("YYYY-MM-DD")+'"'+(e?" "+e:"")+"></td>"},renderIntroHtml:function(){},bookendCells:function(t){var e=this.renderIntroHtml();e&&(this.isRTL?t.append(e):t.prepend(e))}},Se=qt.DayGrid=me.extend(ye,{numbersVisible:!1,bottomCoordPadding:0,rowEls:null,cellEls:null,helperEls:null,rowCoordCache:null,colCoordCache:null,renderDates:function(t){var e,n,i=this.view,r=this.rowCnt,s=this.colCnt,o="";for(e=0;e<r;e++)o+=this.renderDayRowHtml(e,t);for(this.el.html(o),this.rowEls=this.el.find(".fc-row"),this.cellEls=this.el.find(".fc-day"),this.rowCoordCache=new fe({els:this.rowEls,isVertical:!0}),this.colCoordCache=new fe({els:this.cellEls.slice(0,this.colCnt),isHorizontal:!0}),e=0;e<r;e++)for(n=0;n<s;n++)i.publiclyTrigger("dayRender",null,this.getCellDate(e,n),this.getCellEl(e,n))},unrenderDates:function(){this.removeSegPopover()},renderBusinessHours:function(){var t=this.buildBusinessHourSegs(!0);this.renderFill("businessHours",t,"bgevent")},unrenderBusinessHours:function(){this.unrenderFill("businessHours")},renderDayRowHtml:function(t,e){var n=this.view,i=["fc-row","fc-week",n.widgetContentClass];return e&&i.push("fc-rigid"),'<div class="'+i.join(" ")+'"><div class="fc-bg"><table>'+this.renderBgTrHtml(t)+'</table></div><div class="fc-content-skeleton"><table>'+(this.numbersVisible?"<thead>"+this.renderNumberTrHtml(t)+"</thead>":"")+"</table></div></div>"},renderNumberTrHtml:function(t){return"<tr>"+(this.isRTL?"":this.renderNumberIntroHtml(t))+this.renderNumberCellsHtml(t)+(this.isRTL?this.renderNumberIntroHtml(t):"")+"</tr>"},renderNumberIntroHtml:function(t){return this.renderIntroHtml()},renderNumberCellsHtml:function(t){var e,n,i=[];for(e=0;e<this.colCnt;e++)n=this.getCellDate(t,e),i.push(this.renderNumberCellHtml(n));return i.join("")},renderNumberCellHtml:function(t){var e,n,i="";return this.view.dayNumbersVisible||this.view.cellWeekNumbersVisible?(e=this.getDayClasses(t),e.unshift("fc-day-top"),this.view.cellWeekNumbersVisible&&(n="ISO"===t._locale._fullCalendar_weekCalc?1:t._locale.firstDayOfWeek()),i+='<td class="'+e.join(" ")+'" data-date="'+t.format()+'">',this.view.cellWeekNumbersVisible&&t.day()==n&&(i+=this.view.buildGotoAnchorHtml({date:t,type:"week"},{class:"fc-week-number"},t.format("w"))),this.view.dayNumbersVisible&&(i+=this.view.buildGotoAnchorHtml(t,{class:"fc-day-number"},t.date())),i+="</td>"):"<td/>"},computeEventTimeFormat:function(){return this.view.opt("extraSmallTimeFormat")},computeDisplayEventEnd:function(){return 1==this.colCnt},rangeUpdated:function(){this.updateDayTable()},spanToSegs:function(t){var e,n,i=this.sliceRangeByRow(t);for(e=0;e<i.length;e++)n=i[e],this.isRTL?(n.leftCol=this.daysPerRow-1-n.lastRowDayIndex,n.rightCol=this.daysPerRow-1-n.firstRowDayIndex):(n.leftCol=n.firstRowDayIndex,n.rightCol=n.lastRowDayIndex);return i},prepareHits:function(){this.colCoordCache.build(),this.rowCoordCache.build(),this.rowCoordCache.bottoms[this.rowCnt-1]+=this.bottomCoordPadding},releaseHits:function(){this.colCoordCache.clear(),this.rowCoordCache.clear()},queryHit:function(t,e){if(this.colCoordCache.isLeftInBounds(t)&&this.rowCoordCache.isTopInBounds(e)){var n=this.colCoordCache.getHorizontalIndex(t),i=this.rowCoordCache.getVerticalIndex(e);if(null!=i&&null!=n)return this.getCellHit(i,n)}},getHitSpan:function(t){return this.getCellRange(t.row,t.col)},getHitEl:function(t){return this.getCellEl(t.row,t.col)},getCellHit:function(t,e){return{row:t,col:e,component:this,left:this.colCoordCache.getLeftOffset(e),right:this.colCoordCache.getRightOffset(e),top:this.rowCoordCache.getTopOffset(t),bottom:this.rowCoordCache.getBottomOffset(t)}},getCellEl:function(t,e){return this.cellEls.eq(t*this.colCnt+e)},renderDrag:function(t,e){if(this.renderHighlight(this.eventToSpan(t)),e&&e.component!==this)return this.renderEventLocationHelper(t,e)},unrenderDrag:function(){this.unrenderHighlight(),this.unrenderHelper()},renderEventResize:function(t,e){return this.renderHighlight(this.eventToSpan(t)),this.renderEventLocationHelper(t,e)},unrenderEventResize:function(){this.unrenderHighlight(),this.unrenderHelper()},renderHelper:function(e,n){var i,r=[],s=this.eventToSegs(e);return s=this.renderFgSegEls(s),i=this.renderSegRows(s),this.rowEls.each(function(e,s){var o,l=t(s),a=t('<div class="fc-helper-skeleton"><table/></div>');o=n&&n.row===e?n.el.position().top:l.find(".fc-content-skeleton tbody").position().top,a.css("top",o).find("table").append(i[e].tbodyEl),l.append(a),r.push(a[0])}),this.helperEls=t(r)},unrenderHelper:function(){this.helperEls&&(this.helperEls.remove(),this.helperEls=null)},fillSegTag:"td",renderFill:function(e,n,i){var r,s,o,l=[];for(n=this.renderFillSegEls(e,n),r=0;r<n.length;r++)s=n[r],o=this.renderFillRow(e,s,i),this.rowEls.eq(s.row).append(o),l.push(o[0]);return this.elsByFill[e]=t(l),n},renderFillRow:function(e,n,i){var r,s,o=this.colCnt,l=n.leftCol,a=n.rightCol+1;return i=i||e.toLowerCase(),r=t('<div class="fc-'+i+'-skeleton"><table><tr/></table></div>'),s=r.find("tr"),l>0&&s.append('<td colspan="'+l+'"/>'),s.append(n.el.attr("colspan",a-l)),a<o&&s.append('<td colspan="'+(o-a)+'"/>'),this.bookendCells(s),r}});Se.mixin({rowStructs:null,unrenderEvents:function(){this.removeSegPopover(),me.prototype.unrenderEvents.apply(this,arguments)},getEventSegs:function(){return me.prototype.getEventSegs.call(this).concat(this.popoverSegs||[])},renderBgSegs:function(e){var n=t.grep(e,function(t){return t.event.allDay});return me.prototype.renderBgSegs.call(this,n)},renderFgSegs:function(e){var n;return e=this.renderFgSegEls(e),n=this.rowStructs=this.renderSegRows(e),this.rowEls.each(function(e,i){t(i).find(".fc-content-skeleton > table").append(n[e].tbodyEl)}),e},unrenderFgSegs:function(){for(var t,e=this.rowStructs||[];t=e.pop();)t.tbodyEl.remove();this.rowStructs=null},renderSegRows:function(t){var e,n,i=[];for(e=this.groupSegRows(t),n=0;n<e.length;n++)i.push(this.renderSegRow(n,e[n]));return i},fgSegHtml:function(t,e){var n,i,r=this.view,s=t.event,o=r.isEventDraggable(s),l=!e&&s.allDay&&t.isStart&&r.isEventResizableFromStart(s),a=!e&&s.allDay&&t.isEnd&&r.isEventResizableFromEnd(s),u=this.getSegClasses(t,o,l||a),c=nt(this.getSegSkinCss(t)),d="";return u.unshift("fc-day-grid-event","fc-h-event"),t.isStart&&(n=this.getEventTimeText(s),n&&(d='<sp
6657an class="fc-time">'+tt(n)+"</span>")),i='<span class="fc-title">'+(tt(s.title||"")||"&nbsp;")+"</span>",'<a class="'+u.join(" ")+'"'+(s.url?' href="'+tt(s.url)+'"':"")+(c?' style="'+c+'"':"")+'><div class="fc-content">'+(this.isRTL?i+" "+d:d+" "+i)+"</div>"+(l?'<div class="fc-resizer fc-start-resizer" />':"")+(a?'<div class="fc-resizer fc-end-resizer" />':"")+"</a>"},renderSegRow:function(e,n){function i(e){for(;o<e;)c=(m[r-1]||[])[o],c?c.attr("rowspan",parseInt(c.attr("rowspan")||1,10)+1):(c=t("<td/>"),l.append(c)),v[r][o]=c,m[r][o]=c,o++}var r,s,o,l,a,u,c,d=this.colCnt,h=this.buildSegLevels(n),f=Math.max(1,h.length),g=t("<tbody/>"),p=[],v=[],m=[];for(r=0;r<f;r++){if(s=h[r],o=0,l=t("<tr/>"),p.push([]),v.push([]),m.push([]),s)for(a=0;a<s.length;a++){for(u=s[a],i(u.leftCol),c=t('<td class="fc-event-container"/>').append(u.el),u.leftCol!=u.rightCol?c.attr("colspan",u.rightCol-u.leftCol+1):m[r][o]=c;o<=u.rightCol;)v[r][o]=c,p[r][o]=u,o++;l.append(c)}i(d),this.bookendCells(l),g.append(l)}return{row:e,tbodyEl:g,cellMatrix:v,segMatrix:p,segLevels:h,segs:n}},buildSegLevels:function(t){var e,n,i,r=[];for(this.sortEventSegs(t),e=0;e<t.length;e++){for(n=t[e],i=0;i<r.length&&Bt(n,r[i]);i++);n.level=i,(r[i]||(r[i]=[])).push(n)}for(i=0;i<r.length;i++)r[i].sort(zt);return r},groupSegRows:function(t){var e,n=[];for(e=0;e<this.rowCnt;e++)n.push([]);for(e=0;e<t.length;e++)n[t[e].row].push(t[e]);return n}}),Se.mixin({segPopover:null,popoverSegs:null,removeSegPopover:function(){this.segPopover&&this.segPopover.hide()},limitRows:function(t){var e,n,i=this.rowStructs||[];for(e=0;e<i.length;e++)this.unlimitRow(e),n=!!t&&("number"==typeof t?t:this.computeRowLevelLimit(e)),n!==!1&&this.limitRow(e,n)},computeRowLevelLimit:function(e){function n(e,n){s=Math.max(s,t(n).outerHeight())}var i,r,s,o=this.rowEls.eq(e),l=o.height(),a=this.rowStructs[e].tbodyEl.children();for(i=0;i<a.length;i++)if(r=a.eq(i).removeClass("fc-limited"),s=0,r.find("> td > :first-child").each(n),r.position().top+s>l)return i;return!1},limitRow:function(e,n){function i(i){for(;b<i;)u=S.getCellSegs(e,b,n),u.length&&(h=s[n-1][b],y=S.renderMoreLink(e,b,u),m=t("<div/>").append(y),h.append(m),E.push(m[0])),b++}var r,s,o,l,a,u,c,d,h,f,g,p,v,m,y,S=this,w=this.rowStructs[e],E=[],b=0;if(n&&n<w.segLevels.length){for(r=w.segLevels[n-1],s=w.cellMatrix,o=w.tbodyEl.children().slice(n).addClass("fc-limited").get(),l=0;l<r.length;l++){for(a=r[l],i(a.leftCol),d=[],c=0;b<=a.rightCol;)u=this.getCellSegs(e,b,n),d.push(u),c+=u.length,b++;if(c){for(h=s[n-1][a.leftCol],f=h.attr("rowspan")||1,g=[],p=0;p<d.length;p++)v=t('<td class="fc-more-cell"/>').attr("rowspan",f),u=d[p],y=this.renderMoreLink(e,a.leftCol+p,[a].concat(u)),m=t("<div/>").append(y),v.append(m),g.push(v[0]),E.push(v[0]);h.addClass("fc-limited").after(t(g)),o.push(h[0])}}i(this.colCnt),w.moreEls=t(E),w.limitedEls=t(o)}},unlimitRow:function(t){var e=this.rowStructs[t];e.moreEls&&(e.moreEls.remove(),e.moreEls=null),e.limitedEls&&(e.limitedEls.removeClass("fc-limited"),e.limitedEls=null)},renderMoreLink:function(e,n,i){var r=this,s=this.view;return t('<a class="fc-more"/>').text(this.getMoreLinkText(i.length)).on("click",function(o){var l=s.opt("eventLimitClick"),a=r.getCellDate(e,n),u=t(this),c=r.getCellEl(e,n),d=r.getCellSegs(e,n),h=r.resliceDaySegs(d,a),f=r.resliceDaySegs(i,a);"function"==typeof l&&(l=s.publiclyTrigger("eventLimitClick",null,{date:a,dayEl:c,moreEl:u,segs:h,hiddenSegs:f},o)),"popover"===l?r.showSegPopover(e,n,u,h):"string"==typeof l&&s.calendar.zoomTo(a,l)})},showSegPopover:function(t,e,n,i){var r,s,o=this,l=this.view,a=n.parent();r=1==this.rowCnt?l.el:this.rowEls.eq(t),s={className:"fc-more-popover",content:this.renderSegPopoverContent(t,e,i),parentEl:this.view.el,top:r.offset().top,autoHide:!0,viewportConstrain:l.opt("popoverViewportConstrain"),hide:function(){if(o.popoverSegs)for(var t,e=0;e<o.popoverSegs.length;++e)t=o.popoverSegs[e],l.publiclyTrigger("eventDestroy",t.event,t.event,t.el);o.segPopover.removeElement(),o.segPopover=null,o.popoverSegs=null}},this.isRTL?s.right=a.offset().left+a.outerWidth()+1:s.left=a.offset().left-1,this.segPopover=new he(s),this.segPopover.show(),this.bindSegHandlersToEl(this.segPopover.el)},renderSegPopoverContent:function(e,n,i){var r,s=this.view,o=s.opt("theme"),l=this.getCellDate(e,n).format(s.opt("dayPopoverFormat")),a=t('<div class="fc-header '+s.widgetHeaderClass+'"><span class="fc-close '+(o?"ui-icon ui-icon-closethick":"fc-icon fc-icon-x")+'"></span><span class="fc-title">'+tt(l)+'</span><div class="fc-clear"/></div><div class="fc-body '+s.widgetContentClass+'"><div class="fc-event-container"></div></div>'),u=a.find(".fc-event-container");for(i=this.renderFgSegEls(i,!0),this.popoverSegs=i,r=0;r<i.length;r++)this.prepareHits(),i[r].hit=this.getCellHit(e,n),this.releaseHits(),u.append(i[r].el);return a}
6657,resliceDaySegs:function(e,n){var i=t.map(e,function(t){return t.event}),r=n.clone(),s=r.clone().add(1,"days"),o={start:r,end:s};return e=this.eventsToSegs(i,function(t){var e=F(t,o);return e?[e]:[]}),this.sortEventSegs(e),e},getMoreLinkText:function(t){var e=this.view.opt("eventLimitText");return"function"==typeof e?e(t):"+"+t+" "+e},getCellSegs:function(t,e,n){for(var i,r=this.rowStructs[t].segMatrix,s=n||0,o=[];s<r.length;)i=r[s][e],i&&o.push(i),s++;return o}});var we=qt.TimeGrid=me.extend(ye,{slotDuration:null,snapDuration:null,snapsPerSlot:null,minTime:null,maxTime:null,labelFormat:null,labelInterval:null,colEls:null,slatContainerEl:null,slatEls:null,nowIndicatorEls:null,colCoordCache:null,slatCoordCache:null,constructor:function(){me.apply(this,arguments),this.processOptions()},renderDates:function(){this.el.html(this.renderHtml()),this.colEls=this.el.find(".fc-day"),this.slatContainerEl=this.el.find(".fc-slats"),this.slatEls=this.slatContainerEl.find("tr"),this.colCoordCache=new fe({els:this.colEls,isHorizontal:!0}),this.slatCoordCache=new fe({els:this.slatEls,isVertical:!0}),this.renderContentSkeleton()},renderHtml:function(){return'<div class="fc-bg"><table>'+this.renderBgTrHtml(0)+'</table></div><div class="fc-slats"><table>'+this.renderSlatRowHtml()+"</table></div>"},renderSlatRowHtml:function(){for(var t,n,i,r=this.view,s=this.isRTL,o="",l=e.duration(+this.minTime);l<this.maxTime;)t=this.start.clone().time(l),n=ot(_(l,this.labelInterval)),i='<td class="fc-axis fc-time '+r.widgetContentClass+'" '+r.axisStyleAttr()+">"+(n?"<span>"+tt(t.format(this.labelFormat))+"</span>":"")+"</td>",o+='<tr data-time="'+t.format("HH:mm:ss")+'"'+(n?"":' class="fc-minor"')+">"+(s?"":i)+'<td class="'+r.widgetContentClass+'"/>'+(s?i:"")+"</tr>",l.add(this.slotDuration);return o},processOptions:function(){var n,i=this.view,r=i.opt("slotDuration"),s=i.opt("snapDuration");r=e.duration(r),s=s?e.duration(s):r,this.slotDuration=r,this.snapDuration=s,this.snapsPerSlot=r/s,this.minResizeDuration=s,this.minTime=e.duration(i.opt("minTime")),this.maxTime=e.duration(i.opt("maxTime")),n=i.opt("slotLabelFormat"),t.isArray(n)&&(n=n[n.length-1]),this.labelFormat=n||i.opt("smallTimeFormat"),n=i.opt("slotLabelInterval"),this.labelInterval=n?e.duration(n):this.computeLabelInterval(r)},computeLabelInterval:function(t){var n,i,r;for(n=Oe.length-1;n>=0;n--)if(i=e.duration(Oe[n]),r=_(i,t),ot(r)&&r>1)return i;return e.duration(t)},computeEventTimeFormat:function(){return this.view.opt("noMeridiemTimeFormat")},computeDisplayEventEnd:function(){return!0},prepareHits:function(){this.colCoordCache.build(),this.slatCoordCache.build()},releaseHits:function(){this.colCoordCache.clear()},queryHit:function(t,e){var n=this.snapsPerSlot,i=this.colCoordCache,r=this.slatCoordCache;if(i.isLeftInBounds(t)&&r.isTopInBounds(e)){var s=i.getHorizontalIndex(t),o=r.getVerticalIndex(e);if(null!=s&&null!=o){var l=r.getTopOffset(o),a=r.getHeight(o),u=(e-l)/a,c=Math.floor(u*n),d=o*n+c,h=l+c/n*a,f=l+(c+1)/n*a;return{col:s,snap:d,component:this,left:i.getLeftOffset(s),right:i.getRightOffset(s),top:h,bottom:f}}}},getHitSpan:function(t){var e,n=this.getCellDate(0,t.col),i=this.computeSnapTime(t.snap);return n.time(i),e=n.clone().add(this.snapDuration),{start:n,end:e}},getHitEl:function(t){return this.colEls.eq(t.col)},rangeUpdated:function(){this.updateDayTable()},computeSnapTime:function(t){return e.duration(this.minTime+this.snapDuration*t)},spanToSegs:function(t){var e,n=this.sliceRangeByTimes(t);for(e=0;e<n.length;e++)this.isRTL?n[e].col=this.daysPerRow-1-n[e].dayIndex:n[e].col=n[e].dayIndex;return n},sliceRangeByTimes:function(t){var e,n,i,r,s=[];for(n=0;n<this.daysPerRow;n++)i=this.dayDates[n].clone(),r={start:i.clone().time(this.minTime),end:i.clone().time(this.maxTime)},e=F(t,r),e&&(e.dayIndex=n,s.push(e));return s}
6657,updateSize:function(t){this.slatCoordCache.build(),t&&this.updateSegVerticals([].concat(this.fgSegs||[],this.bgSegs||[],this.businessSegs||[]))},getTotalSlatHeight:function(){return this.slatContainerEl.outerHeight()},computeDateTop:function(t,n){return this.computeTimeTop(e.duration(t-n.clone().stripTime()))},computeTimeTop:function(t){var e,n,i=this.slatEls.length,r=(t-this.minTime)/this.slotDuration;return r=Math.max(0,r),r=Math.min(i,r),e=Math.floor(r),e=Math.min(e,i-1),n=r-e,this.slatCoordCache.getTopPosition(e)+this.slatCoordCache.getHeight(e)*n},renderDrag:function(t,e){return e?this.renderEventLocationHelper(t,e):void this.renderHighlight(this.eventToSpan(t))},unrenderDrag:function(){this.unrenderHelper(),this.unrenderHighlight()},renderEventResize:function(t,e){return this.renderEventLocationHelper(t,e)},unrenderEventResize:function(){this.unrenderHelper()},renderHelper:function(t,e){return this.renderHelperSegs(this.eventToSegs(t),e)},unrenderHelper:function(){this.unrenderHelperSegs()},renderBusinessHours:function(){this.renderBusinessSegs(this.buildBusinessHourSegs())},unrenderBusinessHours:function(){this.unrenderBusinessSegs()},getNowIndicatorUnit:function(){return"minute"},renderNowIndicator:function(e){var n,i=this.spanToSegs({start:e,end:e}),r=this.computeDateTop(e,e),s=[];for(n=0;n<i.length;n++)s.push(t('<div class="fc-now-indicator fc-now-indicator-line"></div>').css("top",r).appendTo(this.colContainerEls.eq(i[n].col))[0]);i.length>0&&s.push(t('<div class="fc-now-indicator fc-now-indicator-arrow"></div>').css("top",r).appendTo(this.el.find(".fc-content-skeleton"))[0]),this.nowIndicatorEls=t(s)},unrenderNowIndicator:function(){this.nowIndicatorEls&&(this.nowIndicatorEls.remove(),this.nowIndicatorEls=null)},renderSelection:function(t){this.view.opt("selectHelper")?this.renderEventLocationHelper(t):this.renderHighlight(t)},unrenderSelection:function(){this.unrenderHelper(),this.unrenderHighlight()},renderHighlight:function(t){this.renderHighlightSegs(this.spanToSegs(t))},unrenderHighlight:function(){this.unrenderHighlightSegs()}});we.mixin({colContainerEls:null,fgContainerEls:null,bgContainerEls:null,helperContainerEls:null,highlightContainerEls:null,businessContainerEls:null,fgSegs:null,bgSegs:null,helperSegs:null,highlightSegs:null,businessSegs:null,renderContentSkeleton:function(){var e,n,i="";for(e=0;e<this.colCnt;e++)i+='<td><div class="fc-content-col"><div class="fc-event-container fc-helper-container"></div><div class="fc-event-container"></div><div class="fc-highlight-container"></div><div class="fc-bgevent-container"></div><div class="fc-business-container"></div></div></td>';n=t('<div class="fc-content-skeleton"><table><tr>'+i+"</tr></table></div>"),this.colContainerEls=n.find(".fc-content-col"),this.helperContainerEls=n.find(".fc-helper-container"),this.fgContainerEls=n.find(".fc-event-container:not(.fc-helper-container)"),this.bgContainerEls=n.find(".fc-bgevent-container"),this.highlightContainerEls=n.find(".fc-highlight-container"),this.businessContainerEls=n.find(".fc-business-container"),this.bookendCells(n.find("tr")),this.el.append(n)},renderFgSegs:function(t){return t=this.renderFgSegsIntoContainers(t,this.fgContainerEls),this.fgSegs=t,t},unrenderFgSegs:function(){this.unrenderNamedSegs("fgSegs")},renderHelperSegs:function(e,n){var i,r,s,o=[];for(e=this.renderFgSegsIntoContainers(e,this.helperContainerEls),i=0;i<e.length;i++)r=e[i],n&&n.col===r.col&&(s=n.el,r.el.css({left:s.css("left"),right:s.css("right"),"margin-left":s.css("margin-left"),"margin-right":s.css("margin-right")})),o.push(r.el[0]);return this.helperSegs=e,t(o)},unrenderHelperSegs:function(){this.unrenderNamedSegs("helperSegs")},renderBgSegs:function(t){return t=this.renderFillSegEls("bgEvent",t),this.updateSegVerticals(t),this.attachSegsByCol(this.groupSegsByCol(t),this.bgContainerEls),this.bgSegs=t,t},unrenderBgSegs:function(){this.unrenderNamedSegs("bgSegs")},renderHighlightSegs:function(t){t=this.renderFillSegEls("highlight",t),this.updateSegVerticals(t),this.attachSegsByCol(this.groupSegsByCol(t),this.highlightContainerEls),this.highlightSegs=t},unrenderHighlightSegs:function(){this.unrenderNamedSegs("highlightSegs")}
6657,renderBusinessSegs:function(t){t=this.renderFillSegEls("businessHours",t),this.updateSegVerticals(t),this.attachSegsByCol(this.groupSegsByCol(t),this.businessContainerEls),this.businessSegs=t},unrenderBusinessSegs:function(){this.unrenderNamedSegs("businessSegs")},groupSegsByCol:function(t){var e,n=[];for(e=0;e<this.colCnt;e++)n.push([]);for(e=0;e<t.length;e++)n[t[e].col].push(t[e]);return n},attachSegsByCol:function(t,e){var n,i,r;for(n=0;n<this.colCnt;n++)for(i=t[n],r=0;r<i.length;r++)e.eq(n).append(i[r].el)},unrenderNamedSegs:function(t){var e,n=this[t];if(n){for(e=0;e<n.length;e++)n[e].el.remove();this[t]=null}},renderFgSegsIntoContainers:function(t,e){var n,i;for(t=this.renderFgSegEls(t),n=this.groupSegsByCol(t),i=0;i<this.colCnt;i++)this.updateFgSegCoords(n[i]);return this.attachSegsByCol(n,e),t},fgSegHtml:function(t,e){var n,i,r,s=this.view,o=t.event,l=s.isEventDraggable(o),a=!e&&t.isStart&&s.isEventResizableFromStart(o),u=!e&&t.isEnd&&s.isEventResizableFromEnd(o),c=this.getSegClasses(t,l,a||u),d=nt(this.getSegSkinCss(t));return c.unshift("fc-time-grid-event","fc-v-event"),s.isMultiDayEvent(o)?(t.isStart||t.isEnd)&&(n=this.getEventTimeText(t),i=this.getEventTimeText(t,"LT"),r=this.getEventTimeText(t,null,!1)):(n=this.getEventTimeText(o),i=this.getEventTimeText(o,"LT"),r=this.getEventTimeText(o,null,!1)),'<a class="'+c.join(" ")+'"'+(o.url?' href="'+tt(o.url)+'"':"")+(d?' style="'+d+'"':"")+'><div class="fc-content">'+(n?'<div class="fc-time" data-start="'+tt(r)+'" data-full="'+tt(i)+'"><span>'+tt(n)+"</span></div>":"")+(o.title?'<div class="fc-title">'+tt(o.title)+"</div>":"")+'</div><div class="fc-bg"/>'+(u?'<div class="fc-resizer fc-end-resizer" />':"")+"</a>"},updateSegVerticals:function(t){this.computeSegVerticals(t),this.assignSegVerticals(t)},computeSegVerticals:function(t){var e,n;for(e=0;e<t.length;e++)n=t[e],n.top=this.computeDateTop(n.start,n.start),n.bottom=this.computeDateTop(n.end,n.start)},assignSegVerticals:function(t){var e,n;for(e=0;e<t.length;e++)n=t[e],n.el.css(this.generateSegVerticalCss(n))},generateSegVerticalCss:function(t){return{top:t.top,bottom:-t.bottom}},updateFgSegCoords:function(t){this.computeSegVerticals(t),this.computeFgSegHorizontals(t),this.assignSegVerticals(t),this.assignFgSegHorizontals(t)},computeFgSegHorizontals:function(t){var e,n,i;if(this.sortEventSegs(t),e=Ft(t),Nt(e),n=e[0]){for(i=0;i<n.length;i++)Gt(n[i]);for(i=0;i<n.length;i++)this.computeFgSegForwardBack(n[i],0,0)}},computeFgSegForwardBack:function(t,e,n){var i,r=t.forwardSegs;if(void 0===t.forwardCoord)for(r.length?(this.sortForwardSegs(r),this.computeFgSegForwardBack(r[0],e+1,n),t.forwardCoord=r[0].backwardCoord):t.forwardCoord=1,t.backwardCoord=t.forwardCoord-(t.forwardCoord-n)/(e+1),i=0;i<r.length;i++)this.computeFgSegForwardBack(r[i],0,t.forwardCoord)},sortForwardSegs:function(t){t.sort(lt(this,"compareForwardSegs"))},compareForwardSegs:function(t,e){return e.forwardPressure-t.forwardPressure||(t.backwardCoord||0)-(e.backwardCoord||0)||this.compareEventSegs(t,e)},assignFgSegHorizontals:function(t){var e,n;for(e=0;e<t.length;e++)n=t[e],n.el.css(this.generateFgSegHorizontalCss(n)),n.bottom-n.top<30&&n.el.addClass("fc-short")},generateFgSegHorizontalCss:function(t){var e,n,i=this.view.opt("slotEventOverlap"),r=t.backwardCoord,s=t.forwardCoord,o=this.generateSegVerticalCss(t);return i&&(s=Math.min(1,r+2*(s-r))),this.isRTL?(e=1-s,n=r):(e=r,n=1-s),o.zIndex=t.level+1,o.left=100*e+"%",o.right=100*n+"%",i&&t.forwardPressure&&(o[this.isRTL?"marginLeft":"marginRight"]=20),o}});var Ee=qt.View=St.extend(ue,ce,{type:null,name:null,title:null,calendar:null,options:null,el:null,isDateSet:!1,isDateRendered:!1,dateRenderQueue:null,isEventsBound:!1,isEventsSet:!1,isEventsRendered:!1,eventRenderQueue:null,start:null,end:null,intervalStart:null,intervalEnd:null,intervalDuration:null,intervalUnit:null,isRTL:!1,isSelected:!1,selectedEvent:null,eventOrderSpecs:null,widgetHeaderClass:null,widgetContentClass:null,highlightStateClass:null,nextDayThreshold:null,isHiddenDayHash:null,isNowIndicatorRendered:null,initialNowDate:null,initialNowQueriedMs:null,nowIndicatorTimeoutID:null,nowIndicatorIntervalID:null,constructor:function(t,n,i,r){this.calendar=t,this.type=this.name=n,this.options=i,this.intervalDuration=r||e.duration(1,"day"),this.nextDayThreshold=e.duration(this.opt("nextDayThreshold")),this.initThemingProps(),this.initHiddenDays(),this.isRTL=this.opt("isRTL"),this.eventOrderSpecs=L(this.opt("eventOrder")),this.dateRenderQueue=new Dt,this.eventRenderQueue=new Dt(this.opt("eventRenderWait")),this.initialize()},initialize:function(){},opt:function(t){return this.options[t]},publiclyTrigger:function(t,e){var n=this.calendar;return n.publiclyTrigger.apply(n,[t,e||this].concat(Array.prototype.slice.call(arguments,2),[this]))},rejectOn:function(t,e){var n=this;return new bt(function(i,r){function s(){n.off(t,r)}n.one(t,r),e.then(function(t){s(),i(t)},function(){s(),r()})})},setRange:function(e){t.extend(this,e),this.updateTitle()},computeRange:function(t){var e,n,i=A(this.intervalDuration),r=t.clone().startOf(i),s=r.clone().add(this.intervalDuration);return/year|month|week|day/.test(i)?(r.stripTime(),s.stripTime()):(r.hasTime()||(r=this.calendar.time(0)),s.hasTime()||(s=this.calendar.time(0))),e=r.clone(),e=this.skipHiddenDays(e),n=s.clone(),n=this.skipHiddenDays(n,-1,!0),{intervalUnit:i,intervalStart:r,intervalEnd:s,start:e,end:n}},computePrevDate:function(t){return this.massageCurrentDate(t.clone().startOf(this.intervalUnit).subtract(this.intervalDuration),-1)},computeNextDate:function(t){return this.massageCurrentDate(t.clone().startOf(this.intervalUnit).add(this.intervalDuration))},massageCurrentDate:function(t,e){return this.intervalDuration.as("days")<=1&&this.isHiddenD
6657ay(t)&&(t=this.skipHiddenDays(t,e),t.startOf("day")),t},updateTitle:function(){this.title=this.computeTitle(),this.calendar.setToolbarsTitle(this.title)},computeTitle:function(){return this.formatRange({start:this.calendar.applyTimezone(this.intervalStart),end:this.calendar.applyTimezone(this.intervalEnd)},this.opt("titleFormat")||this.computeTitleFormat(),this.opt("titleRangeSeparator"))},computeTitleFormat:function(){return"year"==this.intervalUnit?"YYYY":"month"==this.intervalUnit?this.opt("monthYearFormat"):this.intervalDuration.as("days")>1?"ll":"LL"},formatRange:function(t,e,n){var i=t.end;return i.hasTime()||(i=i.clone().subtract(1)),gt(t.start,i,e,n,this.opt("isRTL"))},getAllDayHtml:function(){return this.opt("allDayHtml")||tt(this.opt("allDayText"))},buildGotoAnchorHtml:function(e,n,i){var r,s,o,l;return t.isPlainObject(e)?(r=e.date,s=e.type,o=e.forceOff):r=e,r=qt.moment(r),l={date:r.format("YYYY-MM-DD"),type:s||"day"},"string"==typeof n&&(i=n,n=null),n=n?" "+it(n):"",i=i||"",!o&&this.opt("navLinks")?"<a"+n+' data-goto="'+tt(JSON.stringify(l))+'">'+i+"</a>":"<span"+n+">"+i+"</span>"},setElement:function(t){this.el=t,this.bindGlobalHandlers(),this.renderSkeleton()},removeElement:function(){this.unsetDate(),this.unrenderSkeleton(),this.unbindGlobalHandlers(),this.el.remove()},renderSkeleton:function(){},unrenderSkeleton:function(){},setDate:function(t){var e=this.isDateSet;this.isDateSet=!0,this.handleDate(t,e),this.trigger(e?"dateReset":"dateSet",t)},unsetDate:function(){this.isDateSet&&(this.isDateSet=!1,this.handleDateUnset(),this.trigger("dateUnset"))},handleDate:function(t,e){var n=this;this.unbindEvents(),this.requestDateRender(t).then(function(){n.bindEvents()})},handleDateUnset:function(){this.unbindEvents(),this.requestDateUnrender()},requestDateRender:function(t){var e=this;return this.dateRenderQueue.add(function(){return e.executeDateRender(t)})},requestDateUnrender:function(){var t=this;return this.dateRenderQueue.add(function(){return t.executeDateUnrender()})},executeDateRender:function(t){var e=this;return t?this.captureInitialScroll():this.captureScroll(),this.freezeHeight(),this.executeDateUnrender().then(function(){t&&e.setRange(e.computeRange(t)),e.render&&e.render(),e.renderDates(),e.updateSize(),e.renderBusinessHours(),e.startNowIndicator(),e.thawHeight(),e.releaseScroll(),e.isDateRendered=!0,e.onDateRender(),e.trigger("dateRender")})},executeDateUnrender:function(){var t=this;return t.isDateRendered?this.requestEventsUnrender().then(function(){t.unselect(),t.stopNowIndicator(),t.triggerUnrender(),t.unrenderBusinessHours(),t.unrenderDates(),t.destroy&&t.destroy(),t.isDateRendered=!1,t.trigger("dateUnrender")}):bt.resolve()},onDateRender:function(){this.triggerRender()},renderDates:function(){},unrenderDates:function(){},triggerRender:function(){this.publiclyTrigger("viewRender",this,this,this.el);
6658},triggerUnrender:function(){this.publiclyTrigger("viewDestroy",this,this,this.el)},bindGlobalHandlers:function(){this.listenTo(t(document),"mousedown",this.handleDocumentMousedown),this.listenTo(t(document),"touchstart",this.processUnselect)},unbindGlobalHandlers:function(){this.stopListeningTo(t(document))},initThemingProps:function(){var t=this.opt("theme")?"ui":"fc";this.widgetHeaderClass=t+"-widget-header",this.widgetContentClass=t+"-widget-content",this.highlightStateClass=t+"-state-highlight"},renderBusinessHours:function(){},unrenderBusinessHours:function(){},startNowIndicator:function(){var t,n,i,r=this;this.opt("nowIndicator")&&(t=this.getNowIndicatorUnit(),t&&(n=lt(this,"updateNowIndicator"),this.initialNowDate=this.calendar.getNow(),this.initialNowQueriedMs=+new Date,this.renderNowIndicator(this.initialNowDate),this.isNowIndicatorRendered=!0,i=this.initialNowDate.clone().startOf(t).add(1,t)-this.initialNowDate,this.nowIndicatorTimeoutID=setTimeout(function(){r.nowIndicatorTimeoutID=null,n(),i=+e.duration(1,t),i=Math.max(100,i),r.nowIndicatorIntervalID=setInterval(n,i)},i)))},updateNowIndicator:function(){this.isNowIndicatorRendered&&(this.unrenderNowIndicator(),this.renderNowIndicator(this.initialNowDate.clone().add(new Date-this.initialNowQueriedMs)))},stopNowIndicator:function(){this.isNowIndicatorRendered&&(this.nowIndicatorTimeoutID&&(clearTimeout(this.nowIndicatorTimeoutID),this.nowIndicatorTimeoutID=null),this.nowIndicatorIntervalID&&(clearTimeout(this.nowIndicatorIntervalID),this.nowIndicatorIntervalID=null),this.unrenderNowIndicator(),this.isNowIndicatorRendered=!1)},getNowIndicatorUnit:function(){},renderNowIndicator:function(t){},unrenderNowIndicator:function(){},updateSize:function(t){t&&this.captureScroll(),this.updateHeight(t),this.updateWidth(t),this.updateNowIndicator(),t&&this.releaseScroll()},updateWidth:function(t){},updateHeight:function(t){var e=this.calendar;this.setHeight(e.getSuggestedViewHeight(),e.isHeightAuto())},setHeight:function(t,e){},capturedScroll:null,capturedScrollDepth:0,captureScroll:function(){return!this.capturedScrollDepth++&&(this.capturedScroll=this.isDateRendered?this.queryScroll():{},!0)},captureInitialScroll:function(e){this.captureScroll()&&(this.capturedScroll.isInitial=!0,e?t.extend(this.capturedScroll,e):this.capturedScroll.isComputed=!0)},releaseScroll:function(){var e=this.capturedScroll,n=this.discardScroll();e.isComputed&&(n?t.extend(e,this.computeInitialScroll()):e=null),e&&(e.isInitial?this.hardSetScroll(e):this.setScroll(e))},discardScroll:function(){return!--this.capturedScrollDepth&&(this.capturedScroll=null,!0)},computeInitialScroll:function(){return{}},queryScroll:function(){return{}},hardSetScroll:function(t){var e=this,n=function(){e.setScroll(t)};n(),setTimeout(n,0)},setScroll:function(t){},freezeHeight:function(){this.calendar.freezeContentHeight()},thawHeight:function(){this.calendar.thawContentHeight()},bindEvents:function(){var t=this;this.isEventsBound||(this.isEventsBound=!0,this.rejectOn("eventsUnbind",this.requestEvents()).then(function(e){t.listenTo(t.calendar,"eventsReset",t.setEvents),t.setEvents(e)}))},unbindEvents:function(){this.isEventsBound&&(this.isEventsBound=!1,this.stopListeningTo(this.calendar,"eventsReset"),this.unsetEvents(),this.trigger("eventsUnbind"))},setEvents:function(t){var e=this.isEventSet;this.isEventsSet=!0,this.handleEvents(t,e),this.trigger(e?"eventsReset":"eventsSet",t)},unsetEvents:function(){this.isEventsSet&&(this.isEventsSet=!1,this.handleEventsUnset(),this.trigger("eventsUnset"))},whenEventsSet:function(){var t=this;return this.isEventsSet?bt.resolve(this.getCurrentEvents()):new bt(function(e){t.one("eventsSet",e)})},handleEvents:function(t,e){this.requestEventsRender(t)},handleEventsUnset:function(){this.requestEventsUnrender()},requestEventsRender:function(t){var e=this;return this.eventRenderQueue.add(function(){return e.executeEventsRender(t)})},requestEventsUnrender:function(){var t=this;return this.isEventsRendered?this.eventRenderQueue.addQuickly(function(){return t.executeEventsUnrender()}):bt.resolve()},requestCurrentEventsRender:function(){return this.isEventsSet?void this.requestEventsRender(this.getCurrentEvents()):bt.reject()},executeEventsRender:function(t){var e=this;return this.captureScroll(),this.freezeHeight(),this.executeEventsUnrender().then(function(){e.renderEvents(t),e.thawHeight(),e.releaseScroll(),e.isEventsRendered=!0,e.onEventsRender(),e.trigger("eventsRender")})},executeEventsUnrender:function(){return this.isEventsRendered&&(this.onBeforeEventsUnrender(),this.captureScroll(),this.freezeHeight(),this.destroyEvents&&this.destroyEvents(),this.unrenderEvents(),this.thawHeight(),this.releaseScroll(),this.isEventsRendered=!1,this.trigger("eventsUnrender")),bt.resolve()},onEventsRender:function(){this.renderedEventSegEach(function(t){this.publiclyTrigger("eventAfterRender",t.event,t.event,t.el)}),this.publiclyTrigger("eventAfterAllRender")},onBeforeEventsUnrender:function(){this.renderedEventSegEach(function(t){this.publiclyTrigger("eventDestroy",t.event,t.event,t.el)})},renderEvents:function(t){},unrenderEvents:function(){},requestEvents:function(){return this.calendar.requestEvents(this.start,this.end)},getCurrentEvents:function(){return this.calendar.getPrunedEventCache()},resolveEventEl:function(e,n){var i=this.publiclyTrigger("eventRender",e,e,n);return i===!1?n=null:i&&i!==!0&&(n=t(i)),n},showEvent:function(t){this.renderedEventSegEach(function(t){t.el.css("visibility","")},t)},hideEvent:function(t){this.renderedEventSegEach(function(t){t.el.css("visibility","hidden")},t)},renderedEventSegEach:function(t,e){var n,i=this.getEventSegs();for(n=0;n<i.length;n++)e&&i[n].event._id!==e._id||i[n].el&&t.call(this,i[n])},getEventSegs:function(){return[]},isEventDraggable:function(t){return this.isEventStartEditable(t)},isEventStartEditable:function(t){return J(t.startEditable,(t.source||{}).startEditable,this.opt("eventStartEditable"),this.isEventGenerallyEditable(t))},isEventGenerallyEditable:function(t){return J(t.editable,(t.source||{}).editable,this.opt("editable"))},reportEventDrop:function(t,e,n,i,r){var s=this.calendar,o=s.mutateEvent(t,e,n),l=function(){o.undo(),s.reportEventChange()};this.triggerEventDrop(t,o.dateDelta,l,i,r),s.reportEventChange()},triggerEventDrop:function(t,e,n,i,r){this.publiclyTrigger("eventDrop",i[0],t,e,n,r,{})},reportExternalDrop:function(e,n,i,r,s){var o,l,a=e.eventProps;a&&(o=t.extend({},a,n),l=this.calendar.renderEvent(o,e.stick)[0]),this.triggerExternalDrop(l,n,i,r,s)},triggerExternalDrop:function(t,e,n,i,r){this.publiclyTrigger("drop",n[0],e.start,i,r),t&&this.publiclyTrigger("eventReceive",null,t)},renderDrag:function(t,e){},unrenderDrag:function(){},isEventResizableFromStart:function(t){return this.opt("eventResizableFromStart")&&this.isEventResizable(t)},isEventResizableFromEnd:function(t){return this.isEventResizable(t)},isEventResizable:function(t){var e=t.source||{};return J(t.durationEditable,e.durationEditable,this.opt("eventDurationEditable"),t.editable,e.editable,this.opt("editable"))},reportEventResize:function(t,e,n,i,r){var s=this.calendar,o=s.mutateEvent(t,e,n),l=function(){o.undo(),s.reportEventChange()};this.triggerEventResize(t,o.durationDelta,l,i,r),s.reportEventChange()},triggerEventResize:function(t,e,n,i,r){this.publiclyTrigger("eventResize",i[0],t,e,n,r,{})},select:function(t,e){this.unselect(e),this.renderSelection(t),this.reportSelection(t,e)},renderSelection:function(t){},reportSelection:function(t,e){this.isSelected=!0,this.triggerSelect(t,e)},triggerSelect:function(t,e){this.publiclyTrigger("select",null,this.calendar.applyTimezone(t.start),this.calendar.applyTimezone(t.end
6658),e)},unselect:function(t){this.isSelected&&(this.isSelected=!1,this.destroySelection&&this.destroySelection(),this.unrenderSelection(),this.publiclyTrigger("unselect",null,t))},unrenderSelection:function(){},selectEvent:function(t){this.selectedEvent&&this.selectedEvent===t||(this.unselectEvent(),this.renderedEventSegEach(function(t){t.el.addClass("fc-selected")},t),this.selectedEvent=t)},unselectEvent:function(){this.selectedEvent&&(this.renderedEventSegEach(function(t){t.el.removeClass("fc-selected")},this.selectedEvent),this.selectedEvent=null)},isEventSelected:function(t){return this.selectedEvent&&this.selectedEvent._id===t._id},handleDocumentMousedown:function(t){S(t)&&this.processUnselect(t)},processUnselect:function(t){this.processRangeUnselect(t),this.processEventUnselect(t)},processRangeUnselect:function(e){var n;this.isSelected&&this.opt("unselectAuto")&&(n=this.opt("unselectCancel"),n&&t(e.target).closest(n).length||this.unselect(e))},processEventUnselect:function(e){this.selectedEvent&&(t(e.target).closest(".fc-selected").length||this.unselectEvent())},triggerDayClick:function(t,e,n){this.publiclyTrigger("dayClick",e,this.calendar.applyTimezone(t.start),n)},initHiddenDays:function(){var e,n=this.opt("hiddenDays")||[],i=[],r=0;for(this.opt("weekends")===!1&&n.push(0,6),e=0;e<7;e++)(i[e]=t.inArray(e,n)!==-1)||r++;if(!r)throw"invalid hiddenDays";this.isHiddenDayHash=i},isHiddenDay:function(t){return e.isMoment(t)&&(t=t.day()),this.isHiddenDayHash[t]},skipHiddenDays:function(t,e,n){var i=t.clone();for(e=e||1;this.isHiddenDayHash[(i.day()+(n?e:0)+7)%7];)i.add(e,"days");return i},computeDayRange:function(t){var e,n=t.start.clone().stripTime(),i=t.end,r=null;return i&&(r=i.clone().stripTime(),e=+i.time(),e&&e>=this.nextDayThreshold&&r.add(1,"days")),(!i||r<=n)&&(r=n.clone().add(1,"days")),{start:n,end:r}},isMultiDayEvent:function(t){var e=this.computeDayRange(t);return e.end.diff(e.start,"days")>1}}),be=qt.Scroller=St.extend({el:null,scrollEl:null,overflowX:null,overflowY:null,constructor:function(t){t=t||{},this.overflowX=t.overflowX||t.overflow||"auto",this.overflowY=t.overflowY||t.overflow||"auto"},render:function(){this.el=this.renderEl(),this.applyOverflow()},renderEl:function(){return this.scrollEl=t('<div class="fc-scroller"></div>')},clear:function(){this.setHeight("auto"),this.applyOverflow()},destroy:function(){this.el.remove()},applyOverflow:function(){this.scrollEl.css({"overflow-x":this.overflowX,"overflow-y":this.overflowY})},lockOverflow:function(t){var e=this.overflowX,n=this.overflowY;t=t||this.getScrollbarWidths(),"auto"===e&&(e=t.top||t.bottom||this.scrollEl[0].scrollWidth-1>this.scrollEl[0].clientWidth?"scroll":"hidden"),"auto"===n&&(n=t.left||t.right||this.scrollEl[0].scrollHeight-1>this.scrollEl[0].clientHeight?"scroll":"hidden"),this.scrollEl.css({"overflow-x":e,"overflow-y":n})},setHeight:function(t){this.scrollEl.height(t)},getScrollTop:function(){return this.scrollEl.scrollTop()},setScrollTop:function(t){this.scrollEl.scrollTop(t)},getClientWidth:function(){return this.scrollEl[0].clientWidth},getClientHeight:function(){return this.scrollEl[0].clientHeight},getScrollbarWidths:function(){return p(this.scrollEl)}});Vt.prototype.proxyCall=function(t){var e=Array.prototype.slice.call(arguments,1),n=[];return this.items.forEach(function(i){n.push(i[t].apply(i,e))}),n};var De=qt.Calendar=St.extend({dirDefaults:null,localeDefaults:null,overrides:null,dynamicOverrides:null,options:null,viewSpecCache:null,view:null,header:null,footer:null,loadingLevel:0,constructor:_t,initialize:function(){},populateOptionsHash:function(){var t,e,i,r;t=J(this.dynamicOverrides.locale,this.overrides.locale),e=Te[t],e||(t=De.defaults.locale,e=Te[t]||{}),i=J(this.dynamicOverrides.isRTL,this.overrides.isRTL,e.isRTL,De.defaults.isRTL),r=i?De.rtlDefaults:{},this.dirDefaults=r,this.localeDefaults=e,this.options=n([De.defaults,r,e,this.overrides,this.dynamicOverrides]),Yt(this.options)},getViewSpec:function(t){var e=this.viewSpecCache;return e[t]||(e[t]=this.buildViewSpec(t))},getUnitViewSpec:function(e){var n,i,r;if(t.inArray(e,Kt)!=-1)for(n=this.header.getViewsWithButtons(),t.each(qt.views,function(t){n.push(t)}),i=0;i<n.length;i++)if(r=this.getViewSpec(n[i]),r&&r.singleUnit==e)return r},buildViewSpec:function(t){for(var i,r,s,o,l=this.overrides.views||{},a=[],u=[],c=[],d=t;d;)i=Zt[d],r=l[d],d=null,"function"==typeof i&&(i={class:i}),i&&(a.unshift(i),u.unshift(i.defaults||{}),s=s||i.duration,d=d||i.type),r&&(c.unshift(r),s=s||r.duration,d=d||r.type);return i=q(a),i.type=t,!!i.class&&(s&&(s=e.duration(s),s.valueOf()&&(i.duration=s,o=A(s),1===s.as(o)&&(i.singleUnit=o,c.unshift(l[o]||{})))),i.defaults=n(u),i.overrides=n(c),this.buildViewSpecOptions(i),this.buildViewSpecButtonText(i,t),i)},buildViewSpecOptions:function(t){t.options=n([De.defaults,t.defaults,this.dirDefaults,this.localeDefaults,this.overrides,t.overrides,this.dynamicOverrides]),Yt(t.options)},buildViewSpecButtonText:function(t,e){function n(n){var i=n.buttonText||{};return i[e]||(t.buttonTextKey?i[t.buttonTextKey]:null)||(t.singleUnit?i[t.singleUnit]:null)}t.buttonTextOverride=n(this.dynamicOverrides)||n(this.overrides)||t.overrides.buttonText,t.buttonTextDefault=n(this.localeDefaults)||n(this.dirDefaults)||t.defaults.buttonText||n(De.defaults)||(t.duration?this.humanizeDuration(t.duration):null)||e},instantiateView:function(t){var e=this.getViewSpec(t);return new e.class(this,t,e.options,e.duration)},isValidViewType:function(t){return Boolean(this.getViewSpec(t))},pushLoading:function(){this.loadingLevel++||this.publiclyTrigger("loading",null,!0,this.view)},popLoading:function(){--this.loadingLevel||this.publiclyTrigger("loading",null,!1,this.view)},buildSelectSpan:function(t,e){var n,i=this.moment(t).stripZone();return n=e?this.moment(e).stripZone():i.hasTime()?i.clone().add(this.defaultTimedEventDuration):i.clone().add(this.defaultAllDayEventDuration),{start:i,end:n}}});De.mixin(ue),De.mixin({optionHandlers:null,bindOption:function(t,e){this.bindOptions([t],e)},bindOptions:function(t,e){var n,i={func:e,names:t};for(n=0;n<t.length;n++)this.registerOptionHandlerObj(t[n],i);this.triggerOptionHandlerObj(i)},registerOptionHandlerObj:function(t,e){(this.optionHandlers[t]||(this.optionHandlers[t]=[])).push(e)},triggerOptionHandlers:function(t){var e,n=this.optionHandlers[t]||[];for(e=0;e<n.length;e++)this.triggerOptionHandlerObj(n[e])},triggerOptionHandlerObj:function(t){var e,n=t.names,i=[];for(e=0;e<n.length;e++)i.push(this.options[n[e]]);t.func.apply(this,i)}}),De.defaults={titleRangeSeparator:" – ",monthYearFormat:"MMMM YYYY",defaultTimedEventDuration:"02:00:00",defaultAllDayEventDuration:{days:1},forceEventDuration:!1,nextDayThreshold:"09:00:00",defaultView:"month",aspectRatio:1.35,header:{left:"title",center:"",right:"today prev,next"},weekends:!0,weekNumbers:!1,weekNumberTitle:"W",weekNumberCalculation:"local",scrollTime:"06:00:00",lazyFetching:!0,startParam:"start",endParam:"end",timezoneParam:"timezone",timezone:!1,isRTL:!1,buttonText:{prev:"prev",next:"next",prevYear:"prev year",nextYear:"next year",year:"year",today:"today",month:"month",week:"week",day:"day"},buttonIcons:{prev:"left-single-arrow",next:"right-single-arrow",prevYear:"left-double-arrow",nextYear:"right-double-arrow"},allDayText:"all-day",theme:!1,themeButtonIcons:{prev:"circle-triangle-w",next:"circle-triangle-e",prevYear:"seek-prev",nextYear:"seek-next"},dragOpacity:.75,dragRevertDuration:500,dragScroll:!0,unselectAuto:!0,dropAccept:"*",eventOrder:"title",eventLimit:!1,eventLimitText:"more",eventLimitClick:"popover",dayPopoverFormat:"LL",handleWindowResize:!0,windowResizeDelay:100,longPressDelay:1e3},De.englishDefaults={dayPopoverFormat:"dddd, MMMM D"},De.rtlDefaults={header:{left:"next,prev today",center:"",right:"title"},buttonIcons:{prev:"right-single-arrow",next:"left-single-arrow",prevYear:"right-double-arrow",nextYear:"left-double-arrow"},themeButtonIcons:{prev:"circle-triangle-e",next:"circle-triangle-w",nextYear:"seek-prev",prevYear:"seek-next"}};var Te=qt.locales={};qt.datepickerLocale=function(e,n,i){var r=Te[e]||(Te[e]={});r.isRTL=i.isRTL,r.weekNumberTitle=i.weekHeader,t.each(Ce,function(t,e){r[t]=e(i)}),t.datepicker&&(t.datepicker.regional[n]=t.datepicker.regional[e]=i,t.datepicker.regional.en=t.datepicker.regional[""],t.datepicker.setDefaults(i))},qt.locale=function(e,i){var r,s;r=Te[e]||(Te[e]={}),i&&(r=Te[e]=n([r,i])),s=Wt(e),t.each(He,function(t,e){null==r[t]&&(r[t]=e(s,r))}),De.defaults.locale=e};var Ce={buttonText:function(t){return{prev:et(t.prevText),next:et(t.nextText),today:et(t.currentText)}},monthYearFormat:function(t){return t.showMonthAfterYear?"YYYY["+t.yearSuffix+"] MMMM":"MMMM YYYY["+t.yearSuffix+"]"}},He={dayOfMonthFormat:function(t,e){var n=t.longDateFormat("l");
6658return n=n.replace(/^Y+[^\w\s]*|[^\w\s]*Y+$/g,""),e.isRTL?n+=" ddd":n="ddd "+n,n},mediumTimeFormat:function(t){return t.longDateFormat("LT").replace(/\s*a$/i,"a")},smallTimeFormat:function(t){return t.longDateFormat("LT").replace(":mm","(:mm)").replace(/(\Wmm)$/,"($1)").replace(/\s*a$/i,"a")},extraSmallTimeFormat:function(t){return t.longDateFormat("LT").replace(":mm","(:mm)").replace(/(\Wmm)$/,"($1)").replace(/\s*a$/i,"t")},hourFormat:function(t){return t.longDateFormat("LT").replace(":mm","").replace(/(\Wmm)$/,"").replace(/\s*a$/i,"a")},noMeridiemTimeFormat:function(t){return t.longDateFormat("LT").replace(/\s*a$/i,"")}},Re={smallDayDateFormat:function(t){return t.isRTL?"D dd":"dd D"},weekFormat:function(t){return t.isRTL?"w[ "+t.weekNumberTitle+"]":"["+t.weekNumberTitle+" ]w"},smallWeekFormat:function(t){return t.isRTL?"w["+t.weekNumberTitle+"]":"["+t.weekNumberTitle+"]w"}};qt.locale("en",De.englishDefaults),qt.sourceNormalizers=[],qt.sourceFetchers=[];var xe={dataType:"json",cache:!1},Ie=1;De.prototype.normalizeEvent=function(t){},De.prototype.spanContainsSpan=function(t,e){var n=t.start.clone().stripZone(),i=this.getEventEnd(t).stripZone();return e.start>=n&&e.end<=i},De.prototype.getPeerEvents=function(t,e){var n,i,r=this.getEventCache(),s=[];for(n=0;n<r.length;n++)i=r[n],e&&e._id===i._id||s.push(i);return s},De.prototype.isEventSpanAllowed=function(t,e){var n=e.source||{},i=J(e.constraint,n.constraint,this.options.eventConstraint),r=J(e.overlap,n.overlap,this.options.eventOverlap);return this.isSpanAllowed(t,i,r,e)&&(!this.options.eventAllow||this.options.eventAllow(t,e)!==!1)},De.prototype.isExternalSpanAllowed=function(e,n,i){var r,s;return i&&(r=t.extend({},i,n),s=this.expandEvent(this.buildEventFromInput(r))[0]),s?this.isEventSpanAllowed(e,s):this.isSelectionSpanAllowed(e)},De.prototype.isSelectionSpanAllowed=function(t){return this.isSpanAllowed(t,this.options.selectConstraint,this.options.selectOverlap)&&(!this.options.selectAllow||this.options.selectAllow(t)!==!1)},De.prototype.isSpanAllowed=function(t,e,n,i){var r,s,o,l,a,u;if(null!=e&&(r=this.constraintToEvents(e))){for(s=!1,l=0;l<r.length;l++)if(this.spanContainsSpan(r[l],t)){s=!0;break}if(!s)return!1}for(o=this.getPeerEvents(t,i),l=0;l<o.length;l++)if(a=o[l],this.eventIntersectsRange(a,t)){if(n===!1)return!1;if("function"==typeof n&&!n(a,i))return!1;if(i){if(u=J(a.overlap,(a.source||{}).overlap),u===!1)return!1;if("function"==typeof u&&!u(i,a))return!1}}return!0},De.prototype.constraintToEvents=function(t){return"businessHours"===t?this.getCurrentBusinessHourEvents():"object"==typeof t?null!=t.start?this.expandEvent(this.buildEventFromInput(t)):null:this.clientEvents(t)},De.prototype.eventIntersectsRange=function(t,e){var n=t.start.clone().stripZone(),i=this.getEventEnd(t).stripZone();return e.start<i&&e.end>n};var ke={id:"_fcBusinessHours",start:"09:00",end:"17:00",dow:[1,2,3,4,5],rendering:"inverse-background"};De.prototype.getCurrentBusinessHourEvents=function(t){return this.computeBusinessHourEvents(t,this.options.businessHours)},De.prototype.computeBusinessHourEvents=function(e,n){return n===!0?this.expandBusinessHourEvents(e,[{}]):t.isPlainObject(n)?this.expandBusinessHourEvents(e,[n]):t.isArray(n)?this.expandBusinessHourEvents(e,n,!0):[]},De.prototype.expandBusinessHourEvents=function(e,n,i){var r,s,o=this.getView(),l=[];for(r=0;r<n.length;r++)s=n[r],i&&!s.dow||(s=t.extend({},ke,s),e&&(s.start=null,s.end=null),l.push.apply(l,this.expandEvent(this.buildEventFromInput(s),o.start,o.end)));return l};var Le=qt.BasicView=Ee.extend({scroller:null,dayGridClass:Se,dayGrid:null,dayNumbersVisible:!1,colWeekNumbersVisible:!1,cellWeekNumbersVisible:!1,weekNumberWidth:null,headContainerEl:null,headRowEl:null,initialize:function(){this.dayGrid=this.instantiateDayGrid(),this.scroller=new be({overflowX:"hidden",overflowY:"auto"})},instantiateDayGrid:function(){var t=this.dayGridClass.extend(Me);return new t(this)},setRange:function(t){Ee.prototype.setRange.call(this,t),this.dayGrid.breakOnWeeks=/year|month|week/.test(this.intervalUnit),this.dayGrid.setRange(t)},computeRange:function(t){var e=Ee.prototype.computeRange.call(this,t);return/year|month/.test(e.intervalUnit)&&(e.start.startOf("week"),e.start=this.skipHiddenDays(e.start),e.end.weekday()&&(e.end.add(1,"week").startOf("week"),e.end=this.skipHiddenDays(e.end,-1,!0))),e},renderDates:function(){this.dayNumbersVisible=this.dayGrid.rowCnt>1,this.opt("weekNumbers")&&(this.opt("weekNumbersWithinDays")?(this.cellWeekNumbersVisible=!0,this.colWeekNumbersVisible=!1):(this.cellWeekNumbersVisible=!1,this.colWeekNumbersVisible=!0)),this.dayGrid.numbersVisible=this.dayNumbersVisible||this.cellWeekNumbersVisible||this.colWeekNumbersVisible,this.el.addClass("fc-basic-view").html(this.renderSkeletonHtml()),this.renderHead(),this.scroller.render();var e=this.scroller.el.addClass("fc-day-grid-container"),n=t('<div class="fc-day-grid" />').appendTo(e);this.el.find(".fc-body > tr > td").append(e),this.dayGrid.setElement(n),this.dayGrid.renderDates(this.hasRigidRows())},renderHead:function(){this.headContainerEl=this.el.find(".fc-head-container").html(this.dayGrid.renderHeadHtml()),this.headRowEl=this.headContainerEl.find(".fc-row")},unrenderDates:function(){this.dayGrid.unrenderDates(),this.dayGrid.removeElement(),this.scroller.destroy()},renderBusinessHours:function(){this.dayGrid.renderBusinessHours()},unrenderBusinessHours:function(){this.dayGrid.unrenderBusinessHours()},renderSkeletonHtml:function(){return'<table><thead class="fc-head"><tr><td class="fc-head-container '+this.widgetHeaderClass+'"></td></tr></thead><tbody class="fc-body"><tr><td class="'+this.widgetContentClass+'"></td></tr></tbody></table>'},weekNumberStyleAttr:function(){return null!==this.weekNumberWidth?'style="width:'+this.weekNumberWidth+'px"':""},hasRigidRows:function(){var t=this.opt("eventLimit");return t&&"number"!=typeof t},updateWidth:function(){this.colWeekNumbersVisible&&(this.weekNumberWidth=u(this.el.find(".fc-week-number")))},setHeight:function(t,e){var n,s,o=this.opt("eventLimit");this.scroller.clear(),r(this.headRowEl),this.dayGrid.removeSegPopover(),o&&"number"==typeof o&&this.dayGrid.limitRows(o),n=this.computeScrollerHeight(t),this.setGridHeight(n,e),o&&"number"!=typeof o&&this.dayGrid.limitRows(o),e||(this.scroller.setHeight(n),s=this.scroller.getScrollbarWidths(),(s.left||s.right)&&(i(this.headRowEl,s),n=this.computeScrollerHeight(t),this.scroller.setHeight(n)),this.scroller.lockOverflow(s))},computeScrollerHeight:function(t){return t-c(this.el,this.scroller.el)},setGridHeight:function(t,e){e?a(this.dayGrid.rowEls):l(this.dayGrid.rowEls,t,!0)},computeInitialScroll:function(){return{top:0}},queryScroll:function(){return{top:this.scroller.getScrollTop()}},setScroll:function(t){this.scroller.setScrollTop(t.top)},prepareHits:function(){this.dayGrid.prepareHits()},releaseHits:function(){this.dayGrid.releaseHits()},queryHit:function(t,e){return this.dayGrid.queryHit(t,e)},getHitSpan:function(t){return this.dayGrid.getHitSpan(t)},getHitEl:function(t){return this.dayGrid.getHitEl(t)},renderEvents:function(t){this.dayGrid.renderEvents(t),this.updateHeight()},getEventSegs:function(){return this.dayGrid.getEventSegs()},unrenderEvents:function(){this.dayGrid.unrenderEvents()},renderDrag:function(t,e){return this.dayGrid.renderDrag(t,e)},unrenderDrag:function(){this.dayGrid.unrenderDrag()},renderSelection:function(t){this.dayGrid.renderSelection(t)},unrenderSelection:function(){this.dayGrid.unrenderSelection()}}),Me={renderHeadIntroHtml:function(){var t=this.view;return t.colWeekNumbersVisible?'<th class="fc-week-number '+t.widgetHeaderClass+'" '+t.weekNumberStyleAttr()+"><span>"+tt(t.opt("weekNumberTitle"))+"</span></th>":""},renderNumberIntroHtml:function(t){var e=this.view,n=this.getCellDate(t,0);return e.colWeekNumbersVisible?'<td class="fc-week-number" '+e.weekNumberStyleAttr()+">"+e.buildGotoAnchorHtml({date:n,type:"week",forceOff:1===this.colCnt},n.format("w"))+"</td>":""},renderBgIntroHtml:function(){var t=this.view;return t.colWeekNumbersVisible?'<td class="fc-week-number '+t.widgetContentClass+'" '+t.weekNumberStyleAttr()+"></td>":""},renderIntroHtml:function(){var t=this.view;return t.colWeekNumbersVisible?'<td class="fc-week-number" '+t.weekNumberStyleAttr()+"></td>":""}},Be=qt.MonthView=Le.extend({computeRange:function(t){var e,n=Le.prototype.computeRange.call(this,t);return this.isFixedWeeks()&&(e=Math.ceil(n.end.diff(n.start,"weeks",!0)),n.end.add(6-e,"weeks")),n},setGridHeight:function(t,e){e&&(t*=this.rowCnt/6),l(this.dayGrid.rowEls,t,!e)},isFixedWeeks:function(){return this.opt("fixedWeekCount")}});Zt.basic={class:Le},Zt.basicDay={type:"basic",duration:{days:1}},Zt.basicWeek={type:"basic",duration:{weeks:1}},Zt.month={class:Be,duration:{months:1},defaults:{fixedWeekCount:!0}};var ze=qt.AgendaView=Ee.extend({scroller:null,timeGridClass:we,timeGrid:null,dayGridClass:Se,dayGrid:null,axisWidth:null,headContainerEl:null,noScrollRowEls:null,bottomRuleEl:null,initialize:function(){this.timeGrid=this.instantiateTimeGrid(),this.opt("allDaySlot")&&(this.dayGrid=this.instantiateDayGrid()),this.scroller=new be({overflowX:"hidden",overflowY:"auto"})},instantiateTimeGrid:function(){var t=this.timeGridClass.extend(Fe);return new t(this)},instantiateDayGrid:function(){var t=this.dayGridClass.extend(Ne);return new t(this)},setRange:function(t){Ee.prototype.setRange.call(this,t),this.timeGrid.setRange(t),this.dayGrid&&this.dayGrid.setRange(t)},renderDates:function(){this.el.addClass("fc-agenda-view").html(this.renderSkeletonHtml()),this.renderHead(),this.scroller.render();var e=this.scroller.el.addClass("fc-time-grid-container"),n=t('<div class="fc-time-grid" />').appendTo(e);this.el.find(".fc-body > tr > td").append(e),this.timeGrid.setElement(n),this.timeGrid.renderDates(),this.bottomRuleEl=t('<hr class="fc-divider '+this.widgetHeaderClass+'"/>').appendTo(this.timeGrid.el),this.dayGrid&&(this.dayGrid.setElement(this.el.find(".fc-day-grid")),this.dayGrid.renderDates(),this.dayGrid.bottomCoordPadding=this.dayGrid.el.next("hr").outerHeight()),this.noScrollRowEls=this.el.find(".fc-row:not(.fc-scroller *)")},renderHead:function(){this.headContainerEl=this.el.find(".fc-head-container").html(this.timeGrid.renderHeadHtml())},unrenderDates:function(){this.timeGrid.unrenderDates(),this.timeGrid.removeElement(),this.dayGrid&&(this.dayGrid.unrenderDates(),this.dayGrid.removeElement()),this.scroller.destroy()},renderSkeletonHtml:function(){return'<table><thead class="fc-head"><tr><td class="fc-head-container '+this.widgetHeaderClass+'"></td></tr></thead><tbody class="fc-body"><tr><td class="'+this.widgetContentClass+'">'+(this.dayGrid?'<div class="fc-day-grid"/><hr class="fc-divider '+this.widgetHeaderClass+'"/>':"")+"</td></tr></tbody></table>"},axisStyleAttr:function(){return null!==this.axisWidth?'style="width:'+this.axisWidth+'px"':""},renderBusinessHours:function(){this.timeGrid.renderBusinessHours(),this.dayGrid&&this.dayGrid.renderBusinessHours()},unrenderBusinessHours:function(){this.timeGrid.unrenderBusinessHours(),this.dayGrid&&this.dayGrid.unrenderBusinessHours()},getNowIndicatorUnit:function(){return this.timeGrid.getNowIndicatorUnit()},renderNowIndicator:function(t){this.timeGrid.renderNowIndicator(t)},unrenderNowIndicator:function(){this.timeGrid.unrenderNowIndicator()},updateSize:function(t){this.timeGrid.updateSize(t),Ee.prototype.updateSize.call(this,t)},updateWidth:function(){this.axisWidth=u(this.el.find(".fc-axis"))},setHeight:function(t,e){var n,s,o;this.bottomRuleEl.hide(),this.scroller.clear(),r(this.noScrollRowEls),this.dayGrid&&(this.dayGrid.removeSegPopover(),n=this.opt("eventLimit"),n&&"number"!=typeof n&&(n=Ge),n&&this.dayGrid.limitRows(n)),e||(s=this.computeScrollerHeight(t),this.scroller.setHeight(s),o=this.scroller.getScrollbarWidths(),(o.left||o.right)&&(i(this.noScrollRowEls,o),s=this.computeScrollerHeight(t),this.scroller.setHeight(s)),this.scroller.lockOverflow(o),this.timeGrid.getTotalSlatHeight()<s&&this.bottomRuleEl.show())},computeScrollerHeight:function(t){return t-c(this.el,this.scroller.el)},computeInitialScroll:function(){var t=e.duration(this.opt("scrollTime")),n=this.timeGrid.computeTimeTop(t);return n=Math.ceil(n),n&&n++,{top:n}},queryScroll:function(){return{top:this.scroller.getScrollTop()}},setScroll:function(t){this.scroller.setScrollTop(t.top)},prepareHits:function(){this.timeGrid.prepareHits(),this.dayGrid&&this.dayGrid.prepareHits()},releaseHits:function(){this.timeGrid.releaseHits(),this.dayGrid&&this.dayGrid.releaseHits()},queryHit:function(t,e){var n=this.timeGrid.queryHit(t,e);return!n&&this.dayGrid&&(n=this.dayGrid.queryHit(t,e)),n},getHitSpan:function(t){return t.component.getHitSpan(t)},getHitEl:function(t){return t.component.getHitEl(t)},renderEvents:function(t){var e,n,i=[],r=[],s=[];for(n=0;n<t.length;n++)t[n].allDay?i.push(t[n]):r.push(t[n]);e=this.timeGrid.renderEvents(r),this.dayGrid&&(s=this.dayGrid.renderEvents(i)),this.updateHeight()},getEventSegs:function(){return this.timeGrid.getEventSegs().concat(this.dayGrid?this.dayGrid.getEventSegs():[])},unrenderEvents:function(){this.timeGrid.unrenderEvents(),this.dayGrid&&this.dayGrid.unrenderEvents()},renderDrag:function(t,e){return t.start.hasTime()?this.timeGrid.renderDrag(t,e):this.dayGrid?this.dayGrid.renderDrag(t,e):void 0},unrenderDrag:function(){this.timeGrid.unrenderDrag(),this.dayGrid&&this.dayGrid.unrenderDrag()},renderSelection:function(t){t.start.hasTime()||t.end.hasTime()?this.timeGrid.renderSelection(t):this.dayGrid&&this.dayGrid.renderSelection(t)},unrenderSelection:function(){this.timeGrid.unrenderSelection(),this.dayGrid&&this.dayGrid.unrenderSelection()}}),Fe={renderHeadIntroHtml:function(){var t,e=this.view;return e.opt("weekNumbers")?(t=this.start.format(e.opt("smallWeekFormat")),'<th class="fc-axis fc-week-number '+e.widgetHeaderClass+'" '+e.axisStyleAttr()+">"+e.buildGotoAnchorHtml({date:this.start,type:"week",forceOff:this.colCnt>1},tt(t))+"</th>"):'<th class="fc-axis '+e.widgetHeaderClass+'" '+e.axisStyleAttr()+"></th>"},renderBgIntroHtml:function(){var t=this.view;return'<td class="fc-axis '+t.widgetContentClass+'" '+t.axisStyleAttr()+"></td>"},renderIntroHtml:function(){var t=this.view;return'<td class="fc-axis" '+t.axisStyleAttr()+"></td>"}},Ne={renderBgIntroHtml:function(){var t=this.view;return'<td class="fc-axis '+t.widgetContentClass+'" '+t.axisStyleAttr()+"><span>"+t.getAllDayHtml()+"</span></td>"},renderIntroHtml:function(){var t=this.view;return'<td class="fc-axis" '+t.axisStyleAttr()+"></td>"}},Ge=5,Oe=[{hours:1},{minutes:30},{minutes:15},{seconds:30},{seconds:15}];Zt.agenda={class:ze,defaults:{allDaySlot:!0,slotDuration:"00:30:00",minTime:"00:00:00",maxTime:"24:00:00",slotEventOverlap:!0}},Zt.agendaDay={type:"agenda",duration:{days:1}},Zt.agendaWeek={type:"agenda",duration:{weeks:1}};
6658var Ae=Ee.extend({grid:null,scroller:null,initialize:function(){this.grid=new Ve(this),this.scroller=new be({overflowX:"hidden",overflowY:"auto"})},setRange:function(t){Ee.prototype.setRange.call(this,t),this.grid.setRange(t)},renderSkeleton:function(){this.el.addClass("fc-list-view "+this.widgetContentClass),this.scroller.render(),this.scroller.el.appendTo(this.el),this.grid.setElement(this.scroller.scrollEl)},unrenderSkeleton:function(){this.scroller.destroy()},setHeight:function(t,e){this.scroller.setHeight(this.computeScrollerHeight(t))},computeScrollerHeight:function(t){return t-c(this.el,this.scroller.el);
6659},renderEvents:function(t){this.grid.renderEvents(t)},unrenderEvents:function(){this.grid.unrenderEvents()},isEventResizable:function(t){return!1},isEventDraggable:function(t){return!1}}),Ve=me.extend({segSelector:".fc-list-item",hasDayInteractions:!1,spanToSegs:function(t){for(var e,n=this.view,i=n.start.clone().time(0),r=0,s=[];i<n.end;)if(e=F(t,{start:i,end:i.clone().add(1,"day")}),e&&(e.dayIndex=r,s.push(e)),i.add(1,"day"),r++,e&&!e.isEnd&&t.end.hasTime()&&t.end<i.clone().add(this.view.nextDayThreshold)){e.end=t.end.clone(),e.isEnd=!0;break}return s},computeEventTimeFormat:function(){return this.view.opt("mediumTimeFormat")},handleSegClick:function(e,n){var i;me.prototype.handleSegClick.apply(this,arguments),t(n.target).closest("a[href]").length||(i=e.event.url,i&&!n.isDefaultPrevented()&&(window.location.href=i))},renderFgSegs:function(t){return t=this.renderFgSegEls(t),t.length?this.renderSegList(t):this.renderEmptyMessage(),t},renderEmptyMessage:function(){this.el.html('<div class="fc-list-empty-wrap2"><div class="fc-list-empty-wrap1"><div class="fc-list-empty">'+tt(this.view.opt("noEventsMessage"))+"</div></div></div>")},renderSegList:function(e){var n,i,r,s=this.groupSegsByDay(e),o=t('<table class="fc-list-table"><tbody/></table>'),l=o.find("tbody");for(n=0;n<s.length;n++)if(i=s[n])for(l.append(this.dayHeaderHtml(this.view.start.clone().add(n,"days"))),this.sortEventSegs(i),r=0;r<i.length;r++)l.append(i[r].el);this.el.empty().append(o)},groupSegsByDay:function(t){var e,n,i=[];for(e=0;e<t.length;e++)n=t[e],(i[n.dayIndex]||(i[n.dayIndex]=[])).push(n);return i},dayHeaderHtml:function(t){var e=this.view,n=e.opt("listDayFormat"),i=e.opt("listDayAltFormat");return'<tr class="fc-list-heading" data-date="'+t.format("YYYY-MM-DD")+'"><td class="'+e.widgetHeaderClass+'" colspan="3">'+(n?e.buildGotoAnchorHtml(t,{class:"fc-list-heading-main"},tt(t.format(n))):"")+(i?e.buildGotoAnchorHtml(t,{class:"fc-list-heading-alt"},tt(t.format(i))):"")+"</td></tr>"},fgSegHtml:function(t){var e,n=this.view,i=["fc-list-item"].concat(this.getSegCustomClasses(t)),r=this.getSegBackgroundColor(t),s=t.event,o=s.url;return e=s.allDay?n.getAllDayHtml():n.isMultiDayEvent(s)?t.isStart||t.isEnd?tt(this.getEventTimeText(t)):n.getAllDayHtml():tt(this.getEventTimeText(s)),o&&i.push("fc-has-url"),'<tr class="'+i.join(" ")+'">'+(this.displayEventTime?'<td class="fc-list-item-time '+n.widgetContentClass+'">'+(e||"")+"</td>":"")+'<td class="fc-list-item-marker '+n.widgetContentClass+'"><span class="fc-event-dot"'+(r?' style="background-color:'+r+'"':"")+'></span></td><td class="fc-list-item-title '+n.widgetContentClass+'"><a'+(o?' href="'+tt(o)+'"':"")+">"+tt(t.event.title||"")+"</a></td></tr>"}});return Zt.list={class:Ae,buttonTextKey:"list",defaults:{buttonText:"list",listDayFormat:"LL",noEventsMessage:"No events to display"}},Zt.listDay={type:"list",duration:{days:1},defaults:{listDayFormat:"dddd"}},Zt.listWeek={type:"list",duration:{weeks:1},defaults:{listDayFormat:"dddd",listDayAltFormat:"LL"}},Zt.listMonth={type:"list",duration:{month:1},defaults:{listDayAltFormat:"dddd"}},Zt.listYear={type:"list",duration:{year:1},defaults:{listDayAltFormat:"dddd"}},qt});;
6660/*
6661 * SmartMenus jQuery v1.0.0
6662 * http://www.smartmenus.org/
6663 *
6664 * Copyright Vasil Dinkov, Vadikom Web Ltd.
6665 * http://vadikom.com/
6666 *
6667 * Released under the MIT license:
6668 * http://www.opensource.org/licenses/MIT
6669 */
6670
6671(function(factory) {
6672	if (typeof define === 'function' && define.amd) {
6673		// AMD
6674		define(['jquery'], factory);
6675	} else if (typeof module === 'object' && typeof module.exports === 'object') {
6676		// CommonJS
6677		module.exports = factory(require('jquery'));
6678	} else {
6679		// Global jQuery
6680		factory(jQuery);
6681	}
6682} (function($) {
6683
6684	var menuTrees = [],
6685		IE = !!window.createPopup, // detect it for the iframe shim
6686		mouse = false, // optimize for touch by default - we will detect for mouse input
6687		touchEvents = 'ontouchstart' in window, // we use this just to choose between toucn and pointer events, not for touch screen detection
6688		mouseDetectionEnabled = false,
6689		requestAnimationFrame = window.requestAnimationFrame || function(callback) { return setTimeout(callback, 1000 / 60); },
6690		cancelAnimationFrame = window.cancelAnimationFrame || function(id) { clearTimeout(id); };
6691
6692	// Handle detection for mouse input (i.e. desktop browsers, tablets with a mouse, etc.)
6693	function initMouseDetection(disable) {
6694		var eNS = '.smartmenus_mouse';
6695		if (!mouseDetectionEnabled && !disable) {
6696			// if we get two consecutive mousemoves within 2 pixels from each other and within 300ms, we assume a real mouse/cursor is present
6697			// in practice, this seems like impossible to trick unintentianally with a real mouse and a pretty safe detection on touch devices (even with older browsers that do not support touch events)
6698			var firstTime = true,
6699				lastMove = null;
6700			$(document).bind(getEventsNS([
6701				['mousemove', function(e) {
6702					var thisMove = { x: e.pageX, y: e.pageY, timeStamp: new Date().getTime() };
6703					if (lastMove) {
6704						var deltaX = Math.abs(lastMove.x - thisMove.x),
6705							deltaY = Math.abs(lastMove.y - thisMove.y);
6706	 					if ((deltaX > 0 || deltaY > 0) && deltaX <= 2 && deltaY <= 2 && thisMove.timeStamp - lastMove.timeStamp <= 300) {
6707							mouse = true;
6708							// if this is the first check after page load, check if we are not over some item by chance and call the mouseenter handler if yes
6709							if (firstTime) {
6710								var $a = $(e.target).closest('a');
6711								if ($a.is('a')) {
6712									$.each(menuTrees, function() {
6713										if ($.contains(this.$root[0], $a[0])) {
6714											this.itemEnter({ currentTarget: $a[0] });
6715											return false;
6716										}
6717									});
6718								}
6719								firstTime = false;
6720							}
6721						}
6722					}
6723					lastMove = thisMove;
6724				}],
6725				[touchEvents ? 'touchstart' : 'pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut', function(e) {
6726					if (isTouchEvent(e.originalEvent)) {
6727						mouse = false;
6728					}
6729				}]
6730			], eNS));
6731			mouseDetectionEnabled = true;
6732		} else if (mouseDetectionEnabled && disable) {
6733			$(document).unbind(eNS);
6734			mouseDetectionEnabled = false;
6735		}
6736	}
6737
6738	function isTouchEvent(e) {
6739		return !/^(4|mouse)$/.test(e.pointerType);
6740	}
6741
6742	// returns a jQuery bind() ready object
6743	function getEventsNS(defArr, eNS) {
6744		if (!eNS) {
6745			eNS = '';
6746		}
6747		var obj = {};
6748		$.each(defArr, function(index, value) {
6749			obj[value[0].split(' ').join(eNS + ' ') + eNS] = value[1];
6750		});
6751		return obj;
6752	}
6753
6754	$.SmartMenus = function(elm, options) {
6755		this.$root = $(elm);
6756		this.opts = options;
6757		this.rootId = ''; // internal
6758		this.accessIdPrefix = '';
6759		this.$subArrow = null;
6760		this.activatedItems = []; // stores last activated A's for each level
6761		this.visibleSubMenus = []; // stores visible sub menus UL's (might be in no particular order)
6762		this.showTimeout = 0;
6763		this.hideTimeout = 0;
6764		this.scrollTimeout = 0;
6765		this.clickActivated = false;
6766		this.focusActivated = false;
6767		this.zIndexInc = 0;
6768		this.idInc = 0;
6769		this.$firstLink = null; // we'll use these for some tests
6770		this.$firstSub = null; // at runtime so we'll cache them
6771		this.disabled = false;
6772		this.$disableOverlay = null;
6773		this.$touchScrollingSub = null;
6774		this.cssTransforms3d = 'perspective' in elm.style || 'webkitPerspective' in elm.style;
6775		this.wasCollapsible = false;
6776		this.init();
6777	};
6778
6779	$.extend($.SmartMenus, {
6780		hideAll: function() {
6781			$.each(menuTrees, function() {
6782				this.menuHideAll();
6783			});
6784		},
6785		destroy: function() {
6786			while (menuTrees.length) {
6787				menuTrees[0].destroy();
6788			}
6789			initMouseDetection(true);
6790		},
6791		prototype: {
6792			init: function(refresh) {
6793				var self = this;
6794
6795				if (!refresh) {
6796					menuTrees.push(this);
6797
6798					this.rootId = (new Date().getTime() + Math.random() + '').replace(/\D/g, '');
6799					this.accessIdPrefix = 'sm-' + this.rootId + '-';
6800
6801					if (this.$root.hasClass('sm-rtl')) {
6802						this.opts.rightToLeftSubMenus = true;
6803					}
6804
6805					// init root (main menu)
6806					var eNS = '.smartmenus';
6807					this.$root
6808						.data('smartmenus', this)
6809						.attr('data-smartmenus-id', this.rootId)
6810						.dataSM('level', 1)
6811						.bind(getEventsNS([
6812							['mouseover focusin', $.proxy(this.rootOver, this)],
6813							['mouseout focusout', $.proxy(this.rootOut, this)],
6814							['keydown', $.proxy(this.rootKeyDown, this)]
6815						], eNS))
6816						.delegate('a', getEventsNS([
6817							['mouseenter', $.proxy(this.itemEnter, this)],
6818							['mouseleave', $.proxy(this.itemLeave, this)],
6819							['mousedown', $.proxy(this.itemDown, this)],
6820							['focus', $.proxy(this.itemFocus, this)],
6821							['blur', $.proxy(this.itemBlur, this)],
6822							['click', $.proxy(this.itemClick, this)]
6823						], eNS));
6824
6825					// hide menus on tap or click outside the root UL
6826					eNS += this.rootId;
6827					if (this.opts.hideOnClick) {
6828						$(document).bind(getEventsNS([
6829							['touchstart', $.proxy(this.docTouchStart, this)],
6830							['touchmove', $.proxy(this.docTouchMove, this)],
6831							['touchend', $.proxy(this.docTouchEnd, this)],
6832							// for Opera Mobile < 11.5, webOS browser, etc. we'll check click too
6833							['click', $.proxy(this.docClick, this)]
6834						], eNS));
6835					}
6836					// hide sub menus on resize
6837					$(window).bind(getEventsNS([['resize orientationchange', $.proxy(this.winResize, this)]], eNS));
6838
6839					if (this.opts.subIndicators) {
6840						this.$subArrow = $('<span/>').addClass('sub-arrow');
6841						if (this.opts.subIndicatorsText) {
6842							this.$subArrow.html(this.opts.subIndicatorsText);
6843						}
6844					}
6845
6846					// make sure mouse detection is enabled
6847					initMouseDetection();
6848				}
6849
6850				// init sub menus
6851				this.$firstSub = this.$root.find('ul').each(function() { self.menuInit($(this)); }).eq(0);
6852
6853				this.$firstLink = this.$root.find('a').eq(0);
6854
6855				// find current item
6856				if (this.opts.markCurrentItem) {
6857					var reDefaultDoc = /(index|default)\.[^#\?\/]*/i,
6858						reHash = /#.*/,
6859						locHref = window.location.href.replace(reDefaultDoc, ''),
6860						locHrefNoHash = locHref.replace(reHash, '');
6861					this.$root.find('a').each(function() {
6862						var href = this.href.replace(reDefaultDoc, ''),
6863							$this = $(this);
6864						if (href == locHref || href == locHrefNoHash) {
6865							$this.addClass('current');
6866							if (self.opts.markCurrentTree) {
6867								$this.parentsUntil('[data-smartmenus-id]', 'ul').each(function() {
6868									$(this).dataSM('parent-a').addClass('current');
6869								});
6870							}
6871						}
6872					});
6873				}
6874
6875				// save initial state
6876				this.wasCollapsible = this.isCollapsible();
6877			},
6878			destroy: function(refresh) {
6879				if (!refresh) {
6880					var eNS = '.smartmenus';
6881					this.$root
6882						.removeData('smartmenus')
6883						.removeAttr('data-smartmenus-id')
6884						.removeDataSM('level')
6885						.unbind(eNS)
6886						.undelegate(eNS);
6887					eNS += this.rootId;
6888					$(document).unbind(eNS);
6889					$(window).unbind(eNS);
6890					if (this.opts.subIndicators) {
6891						this.$subArrow = null;
6892					}
6893				}
6894				this.menuHideAll();
6895				var self = this;
6896				this.$root.find('ul').each(function() {
6897						var $this = $(this);
6898						if ($this.dataSM('scroll-arrows')) {
6899							$this.dataSM('scroll-arrows').remove();
6900						}
6901						if ($this.dataSM('shown-before')) {
6902							if (self.opts.subMenusMinWidth || self.opts.subMenusMaxWidth) {
6903								$this.css({ width: '', minWidth: '', maxWidth: '' }).removeClass('sm-nowrap');
6904							}
6905							if ($this.dataSM('scroll-arrows')) {
6906								$this.dataSM('scroll-arrows').remove();
6907							}
6908							$this.css({ zIndex: '', top: '', left: '', marginLeft: '', marginTop: '', display: '' });
6909						}
6910						if (($this.attr('id') || '').indexOf(self.accessIdPrefix) == 0) {
6911							$this.removeAttr('id');
6912						}
6913					})
6914					.removeDataSM('in-mega')
6915					.removeDataSM('shown-before')
6916					.removeDataSM('ie-shim')
6917					.removeDataSM('scroll-arrows')
6918					.removeDataSM('parent-a')
6919					.removeDataSM('level')
6920					.removeDataSM('beforefirstshowfired')
6921					.removeAttr('role')
6922					.removeAttr('aria-hidden')
6923					.removeAttr('aria-labelledby')
6924					.removeAttr('aria-expanded');
6925				this.$root.find('a.has-submenu').each(function() {
6926						var $this = $(this);
6927						if ($this.attr('id').indexOf(self.accessIdPrefix) == 0) {
6928							$this.removeAttr('id');
6929						}
6930					})
6931					.removeClass('has-submenu')
6932					.removeDataSM('sub')
6933					.removeAttr('aria-haspopup')
6934					.removeAttr('aria-controls')
6935					.removeAttr('aria-expanded')
6936					.closest('li').removeDataSM('sub');
6937				if (this.opts.subIndicators) {
6938					this.$root.find('span.sub-arrow').remove();
6939				}
6940				if (this.opts.markCurrentItem) {
6941					this.$root.find('a.current').removeClass('current');
6942				}
6943				if (!refresh) {
6944					this.$root = null;
6945					this.$firstLink = null;
6946					this.$firstSub = null;
6947					if (this.$disableOverlay) {
6948						this.$disableOverlay.remove();
6949						this.$disableOverlay = null;
6950					}
6951					menuTrees.splice($.inArray(this, menuTrees), 1);
6952				}
6953			},
6954			disable: function(noOverlay) {
6955				if (!this.disabled) {
6956					this.menuHideAll();
6957					// display overlay over the menu to prevent interaction
6958					if (!noOverlay && !this.opts.isPopup && this.$root.is(':visible')) {
6959						var pos = this.$root.offset();
6960						this.$disableOverlay = $('<div class="sm-jquery-disable-overlay"/>').css({
6961							position: 'absolute',
6962							top: pos.top,
6963							left: pos.left,
6964							width: this.$root.outerWidth(),
6965							height: this.$root.outerHeight(),
6966							zIndex: this.getStartZIndex(true),
6967							opacity: 0
6968						}).appendTo(document.body);
6969					}
6970					this.disabled = true;
6971				}
6972			},
6973			docClick: function(e) {
6974				if (this.$touchScrollingSub) {
6975					this.$touchScrollingSub = null;
6976					return;
6977				}
6978				// hide on any click outside the menu or on a menu link
6979				if (this.visibleSubMenus.length && !$.contains(this.$root[0], e.target) || $(e.target).is('a')) {
6980					this.menuHideAll();
6981				}
6982			},
6983			docTouchEnd: function(e) {
6984				if (!this.lastTouch) {
6985					return;
6986				}
6987				if (this.visibleSubMenus.length && (this.lastTouch.x2 === undefined || this.lastTouch.x1 == this.lastTouch.x2) && (this.lastTouch.y2 === undefined || this.lastTouch.y1 == this.lastTouch.y2) && (!this.lastTouch.target || !$.contains(this.$root[0], this.lastTouch.target))) {
6988					if (this.hideTimeout) {
6989						clearTimeout(this.hideTimeout);
6990						this.hideTimeout = 0;
6991					}
6992					// hide with a delay to prevent triggering accidental unwanted click on some page element
6993					var self = this;
6994					this.hideTimeout = setTimeout(function() { self.menuHideAll(); }, 350);
6995				}
6996				this.lastTouch = null;
6997			},
6998			docTouchMove: function(e) {
6999				if (!this.lastTouch) {
7000					return;
7001				}
7002				var touchPoint = e.originalEvent.touches[0];
7003				this.lastTouch.x2 = touchPoint.pageX;
7004				this.lastTouch.y2 = touchPoint.pageY;
7005			},
7006			docTouchStart: function(e) {
7007				var touchPoint = e.originalEvent.touches[0];
7008				this.lastTouch = { x1: touchPoint.pageX, y1: touchPoint.pageY, target: touchPoint.target };
7009			},
7010			enable: function() {
7011				if (this.disabled) {
7012					if (this.$disableOverlay) {
7013						this.$disableOverlay.remove();
7014						this.$disableOverlay = null;
7015					}
7016					this.disabled = false;
7017				}
7018			},
7019			getClosestMenu: function(elm) {
7020				var $closestMenu = $(elm).closest('ul');
7021				while ($closestMenu.dataSM('in-mega')) {
7022					$closestMenu = $closestMenu.parent().closest('ul');
7023				}
7024				return $closestMenu[0] || null;
7025			},
7026			getHeight: function($elm) {
7027				return this.getOffset($elm, true);
7028			},
7029			// returns precise width/height float values
7030			getOffset: function($elm, height) {
7031				var old;
7032				if ($elm.css('display') == 'none') {
7033					old = { position: $elm[0].style.position, visibility: $elm[0].style.visibility };
7034					$elm.css({ position: 'absolute', visibility: 'hidden' }).show();
7035				}
7036				var box = $elm[0].getBoundingClientRect && $elm[0].getBoundingClientRect(),
7037					val = box && (height ? box.height || box.bottom - box.top : box.width || box.right - box.left);
7038				if (!val && val !== 0) {
7039					val = height ? $elm[0].offsetHeight : $elm[0].offsetWidth;
7040				}
7041				if (old) {
7042					$elm.hide().css(old);
7043				}
7044				return val;
7045			},
7046			getStartZIndex: function(root) {
7047				var zIndex = parseInt(this[root ? '$root' : '$firstSub'].css('z-index'));
7048				if (!root && isNaN(zIndex)) {
7049					zIndex = parseInt(this.$root.css('z-index'));
7050				}
7051				return !isNaN(zIndex) ? zIndex : 1;
7052			},
7053			getTouchPoint: function(e) {
7054				return e.touches && e.touches[0] || e.changedTouches && e.changedTouches[0] || e;
7055			},
7056			getViewport: function(height) {
7057				var name = height ? 'Height' : 'Width',
7058					val = document.documentElement['client' + name],
7059					val2 = window['inner' + name];
7060				if (val2) {
7061					val = Math.min(val, val2);
7062				}
7063				return val;
7064			},
7065			getViewportHeight: function() {
7066				return this.getViewport(true);
7067			},
7068			getViewportWidth: function() {
7069				return this.getViewport();
7070			},
7071			getWidth: function($elm) {
7072				return this.getOffset($elm);
7073			},
7074			handleEvents: function() {
7075				return !this.disabled && this.isCSSOn();
7076			},
7077			handleItemEvents: function($a) {
7078				return this.handleEvents() && !this.isLinkInMegaMenu($a);
7079			},
7080			isCollapsible: function() {
7081				return this.$firstSub.css('position') == 'static';
7082			},
7083			isCSSOn: function() {
7084				return this.$firstLink.css('display') == 'block';
7085			},
7086			isFixed: function() {
7087				var isFixed = this.$root.css('position') == 'fixed';
7088				if (!isFixed) {
7089					this.$root.parentsUntil('body').each(function() {
7090						if ($(this).css('position') == 'fixed') {
7091							isFixed = true;
7092							return false;
7093						}
7094					});
7095				}
7096				return isFixed;
7097			},
7098			isLinkInMegaMenu: function($a) {
7099				return $(this.getClosestMenu($a[0])).hasClass('mega-menu');
7100			},
7101			isTouchMode: function() {
7102				return !mouse || this.opts.noMouseOver || this.isCollapsible();
7103			},
7104			itemActivate: function($a, focus) {
7105				var $ul = $a.closest('ul'),
7106					level = $ul.dataSM('level');
7107				// if for some reason the parent item is not activated (e.g. this is an API call to activate the item), activate all parent items first
7108				if (level > 1 && (!this.activatedItems[level - 2] || this.activatedItems[level - 2][0] != $ul.dataSM('parent-a')[0])) {
7109					var self = this;
7110					$($ul.parentsUntil('[data-smartmenus-id]', 'ul').get().reverse()).add($ul).each(function() {
7111						self.itemActivate($(this).dataSM('parent-a'));
7112					});
7113				}
7114				// hide any visible deeper level sub menus
7115				if (!this.isCollapsible() || focus) {
7116					this.menuHideSubMenus(!this.activatedItems[level - 1] || this.activatedItems[level - 1][0] != $a[0] ? level - 1 : level);
7117				}
7118				// save new active item for this level
7119				this.activatedItems[level - 1] = $a;
7120				if (this.$root.triggerHandler('activate.smapi', $a[0]) === false) {
7121					return;
7122				}
7123				// show the sub menu if this item has one
7124				var $sub = $a.dataSM('sub');
7125				if ($sub && (this.isTouchMode() || (!this.opts.showOnClick || this.clickActivated))) {
7126					this.menuShow($sub);
7127				}
7128			},
7129			itemBlur: function(e) {
7130				var $a = $(e.currentTarget);
7131				if (!this.handleItemEvents($a)) {
7132					return;
7133				}
7134				this.$root.triggerHandler('blur.smapi', $a[0]);
7135			},
7136			itemClick: function(e) {
7137				var $a = $(e.currentTarget);
7138				if (!this.handleItemEvents($a)) {
7139					return;
7140				}
7141				if (this.$touchScrollingSub && this.$touchScrollingSub[0] == $a.closest('ul')[0]) {
7142					this.$touchScrollingSub = null;
7143					e.stopPropagation();
7144					return false;
7145				}
7146				if (this.$root.triggerHandler('click.smapi', $a[0]) === false) {
7147					return false;
7148				}
7149				var subArrowClicked = $(e.target).is('span.sub-arrow'),
7150					$sub = $a.dataSM('sub'),
7151					firstLevelSub = $sub ? $sub.dataSM('level') == 2 : false;
7152				// if the sub is not visible
7153				if ($sub && !$sub.is(':visible')) {
7154					if (this.opts.showOnClick && firstLevelSub) {
7155						this.clickActivated = true;
7156					}
7157					// try to activate the item and show the sub
7158					this.itemActivate($a);
7159					// if "itemActivate" showed the sub, prevent the click so that the link is not loaded
7160					// if it couldn't show it, then the sub menus are disabled with an !important declaration (e.g. via mobile styles) so let the link get loaded
7161					if ($sub.is(':visible')) {
7162						this.focusActivated = true;
7163						return false;
7164					}
7165				} else if (this.isCollapsible() && subArrowClicked) {
7166					this.itemActivate($a);
7167					this.menuHide($sub);
7168					return false;
7169				}
7170				if (this.opts.showOnClick && firstLevelSub || $a.hasClass('disabled') || this.$root.triggerHandler('select.smapi', $a[0]) === false) {
7171					return false;
7172				}
7173			},
7174			itemDown: function(e) {
7175				var $a = $(e.currentTarget);
7176				if (!this.handleItemEvents($a)) {
7177					return;
7178				}
7179				$a.dataSM('mousedown', true);
7180			},
7181			itemEnter: function(e) {
7182				var $a = $(e.currentTarget);
7183				if (!this.handleItemEvents($a)) {
7184					return;
7185				}
7186				if (!this.isTouchMode()) {
7187					if (this.showTimeout) {
7188						clearTimeout(this.showTimeout);
7189						this.showTimeout = 0;
7190					}
7191					var self = this;
7192					this.showTimeout = setTimeout(function() { self.itemActivate($a); }, this.opts.showOnClick && $a.closest('ul').dataSM('level') == 1 ? 1 : this.opts.showTimeout);
7193				}
7194				this.$root.triggerHandler('mouseenter.smapi', $a[0]);
7195			},
7196			itemFocus: function(e) {
7197				var $a = $(e.currentTarget);
7198				if (!this.handleItemEvents($a)) {
7199					return;
7200				}
7201				// fix (the mousedown check): in some browsers a tap/click produces consecutive focus + click events so we don't need to activate the item on focus
7202				if (this.focusActivated && (!this.isTouchMode() || !$a.dataSM('mousedown')) && (!this.activatedItems.length || this.activatedItems[this.activatedItems.length - 1][0] != $a[0])) {
7203					this.itemActivate($a, true);
7204				}
7205				this.$root.triggerHandler('focus.smapi', $a[0]);
7206			},
7207			itemLeave: function(e) {
7208				var $a = $(e.currentTarget);
7209				if (!this.handleItemEvents($a)) {
7210					return;
7211				}
7212				if (!this.isTouchMode()) {
7213					$a[0].blur();
7214					if (this.showTimeout) {
7215						clearTimeout(this.showTimeout);
7216						this.showTimeout = 0;
7217					}
7218				}
7219				$a.removeDataSM('mousedown');
7220				this.$root.triggerHandler('mouseleave.smapi', $a[0]);
7221			},
7222			menuHide: function($sub) {
7223				if (this.$root.triggerHandler('beforehide.smapi', $sub[0]) === false) {
7224					return;
7225				}
7226				$sub.stop(true, true);
7227				if ($sub.css('display') != 'none') {
7228					var complete = function() {
7229						// unset z-index
7230						$sub.css('z-index', '');
7231					};
7232					// if sub is collapsible (mobile view)
7233					if (this.isCollapsible()) {
7234						if (this.opts.collapsibleHideFunction) {
7235							this.opts.collapsibleHideFunction.call(this, $sub, complete);
7236						} else {
7237							$sub.hide(this.opts.collapsibleHideDuration, complete);
7238						}
7239					} else {
7240						if (this.opts.hideFunction) {
7241							this.opts.hideFunction.call(this, $sub, complete);
7242						} else {
7243							$sub.hide(this.opts.hideDuration, complete);
7244						}
7245					}
7246					// remove IE iframe shim
7247					if ($sub.dataSM('ie-shim')) {
7248						$sub.dataSM('ie-shim').remove().css({ '-webkit-transform': '', transform: '' });
7249					}
7250					// deactivate scrolling if it is activated for this sub
7251					if ($sub.dataSM('scroll')) {
7252						this.menuScrollStop($sub);
7253						$sub.css({ 'touch-action': '', '-ms-touch-action': '', '-webkit-transform': '', transform: '' })
7254							.unbind('.smartmenus_scroll').removeDataSM('scroll').dataSM('scroll-arrows').hide();
7255					}
7256					// unhighlight parent item + accessibility
7257					$sub.dataSM('parent-a').removeClass('highlighted').attr('aria-expanded', 'false');
7258					$sub.attr({
7259						'aria-expanded': 'false',
7260						'aria-hidden': 'true'
7261					});
7262					var level = $sub.dataSM('level');
7263					this.activatedItems.splice(level - 1, 1);
7264					this.visibleSubMenus.splice($.inArray($sub, this.visibleSubMenus), 1);
7265					this.$root.triggerHandler('hide.smapi', $sub[0]);
7266				}
7267			},
7268			menuHideAll: function() {
7269				if (this.showTimeout) {
7270					clearTimeout(this.showTimeout);
7271					this.showTimeout = 0;
7272				}
7273				// hide all subs
7274				// if it's a popup, this.visibleSubMenus[0] is the root UL
7275				var level = this.opts.isPopup ? 1 : 0;
7276				for (var i = this.visibleSubMenus.length - 1; i >= level; i--) {
7277					this.menuHide(this.visibleSubMenus[i]);
7278				}
7279				// hide root if it's popup
7280				if (this.opts.isPopup) {
7281					this.$root.stop(true, true);
7282					if (this.$root.is(':visible')) {
7283						if (this.opts.hideFunction) {
7284							this.opts.hideFunction.call(this, this.$root);
7285						} else {
7286							this.$root.hide(this.opts.hideDuration);
7287						}
7288						// remove IE iframe shim
7289						if (this.$root.dataSM('ie-shim')) {
7290							this.$root.dataSM('ie-shim').remove();
7291						}
7292					}
7293				}
7294				this.activatedItems = [];
7295				this.visibleSubMenus = [];
7296				this.clickActivated = false;
7297				this.focusActivated = false;
7298				// reset z-index increment
7299				this.zIndexInc = 0;
7300				this.$root.triggerHandler('hideAll.smapi');
7301			},
7302			menuHideSubMenus: function(level) {
7303				for (var i = this.activatedItems.length - 1; i >= level; i--) {
7304					var $sub = this.activatedItems[i].dataSM('sub');
7305					if ($sub) {
7306						this.menuHide($sub);
7307					}
7308				}
7309			},
7310			menuIframeShim: function($ul) {
7311				// create iframe shim for the menu
7312				if (IE && this.opts.overlapControlsInIE && !$ul.dataSM('ie-shim')) {
7313					$ul.dataSM('ie-shim', $('<iframe/>').attr({ src: 'javascript:0', tabindex: -9 })
7314						.css({ position: 'absolute', top: 'auto', left: '0', opacity: 0, border: '0' })
7315					);
7316				}
7317			},
7318			menuInit: function($ul) {
7319				if (!$ul.dataSM('in-mega')) {
7320					// mark UL's in mega drop downs (if any) so we can neglect them
7321					if ($ul.hasClass('mega-menu')) {
7322						$ul.find('ul').dataSM('in-mega', true);
7323					}
7324					// get level (much faster than, for example, using parentsUntil)
7325					var level = 2,
7326						par = $ul[0];
7327					while ((par = par.parentNode.parentNode) != this.$root[0]) {
7328						level++;
7329					}
7330					// cache stuff for quick access
7331					var $a = $ul.prevAll('a').eq(-1);
7332					// if the link is nested (e.g. in a heading)
7333					if (!$a.length) {
7334						$a = $ul.prevAll().find('a').eq(-1);
7335					}
7336					$a.addClass('has-submenu').dataSM('sub', $ul);
7337					$ul.dataSM('parent-a', $a)
7338						.dataSM('level', level)
7339						.parent().dataSM('sub', $ul);
7340					// accessibility
7341					var aId = $a.attr('id') || this.accessIdPrefix + (++this.idInc),
7342						ulId = $ul.attr('id') || this.accessIdPrefix + (++this.idInc);
7343					$a.attr({
7344						id: aId,
7345						'aria-haspopup': 'true',
7346						'aria-controls': ulId,
7347						'aria-expanded': 'false'
7348					});
7349					$ul.attr({
7350						id: ulId,
7351						'role': 'group',
7352						'aria-hidden': 'true',
7353						'aria-labelledby': aId,
7354						'aria-expanded': 'false'
7355					});
7356					// add sub indicator to parent item
7357					if (this.opts.subIndicators) {
7358						$a[this.opts.subIndicatorsPos](this.$subArrow.clone());
7359					}
7360				}
7361			},
7362			menuPosition: function($sub) {
7363				var $a = $sub.dataSM('parent-a'),
7364					$li = $a.closest('li'),
7365					$ul = $li.parent(),
7366					level = $sub.dataSM('level'),
7367					subW = this.getWidth($sub),
7368					subH = this.getHeight($sub),
7369					itemOffset = $a.offset(),
7370					itemX = itemOffset.left,
7371					itemY = itemOffset.top,
7372					itemW = this.getWidth($a),
7373					itemH = this.getHeight($a),
7374					$win = $(window),
7375					winX = $win.scrollLeft(),
7376					winY = $win.scrollTop(),
7377					winW = this.getViewportWidth(),
7378					winH = this.getViewportHeight(),
7379					horizontalParent = $ul.parent().is('[data-sm-horizontal-sub]') || level == 2 && !$ul.hasClass('sm-vertical'),
7380					rightToLeft = this.opts.rightToLeftSubMenus && !$li.is('[data-sm-reverse]') || !this.opts.rightToLeftSubMenus && $li.is('[data-sm-reverse]'),
7381					subOffsetX = level == 2 ? this.opts.mainMenuSubOffsetX : this.opts.subMenusSubOffsetX,
7382					subOffsetY = level == 2 ? this.opts.mainMenuSubOffsetY : this.opts.subMenusSubOffsetY,
7383					x, y;
7384				if (horizontalParent) {
7385					x = rightToLeft ? itemW - subW - subOffsetX : subOffsetX;
7386					y = this.opts.bottomToTopSubMenus ? -subH - subOffsetY : itemH + subOffsetY;
7387				} else {
7388					x = rightToLeft ? subOffsetX - subW : itemW - subOffsetX;
7389					y = this.opts.bottomToTopSubMenus ? itemH - subOffsetY - subH : subOffsetY;
7390				}
7391				if (this.opts.keepInViewport) {
7392					var absX = itemX + x,
7393						absY = itemY + y;
7394					if (rightToLeft && absX < winX) {
7395						x = horizontalParent ? winX - absX + x : itemW - subOffsetX;
7396					} else if (!rightToLeft && absX + subW > winX + winW) {
7397						x = horizontalParent ? winX + winW - subW - absX + x : subOffsetX - subW;
7398					}
7399					if (!horizontalParent) {
7400						if (subH < winH && absY + subH > winY + winH) {
7401							y += winY + winH - subH - absY;
7402						} else if (subH >= winH || absY < winY) {
7403							y += winY - absY;
7404						}
7405					}
7406					// do we need scrolling?
7407					// 0.49 used for better precision when dealing with float values
7408					if (horizontalParent && (absY + subH > winY + winH + 0.49 || absY < winY) || !horizontalParent && subH > winH + 0.49) {
7409						var self = this;
7410						if (!$sub.dataSM('scroll-arrows')) {
7411							$sub.dataSM('scroll-arrows', $([$('<span class="scroll-up"><span class="scroll-up-arrow"></span></span>')[0], $('<span class="scroll-down"><span class="scroll-down-arrow"></span></span>')[0]])
7412								.bind({
7413									mouseenter: function() {
7414										$sub.dataSM('scroll').up = $(this).hasClass('scroll-up');
7415										self.menuScroll($sub);
7416									},
7417									mouseleave: function(e) {
7418										self.menuScrollStop($sub);
7419										self.menuScrollOut($sub, e);
7420									},
7421									'mousewheel DOMMouseScroll': function(e) { e.preventDefault(); }
7422								})
7423								.insertAfter($sub)
7424							);
7425						}
7426						// bind scroll events and save scroll data for this sub
7427						var eNS = '.smartmenus_scroll';
7428						$sub.dataSM('scroll', {
7429								y: this.cssTransforms3d ? 0 : y - itemH,
7430								step: 1,
7431								// cache stuff for faster recalcs later
7432								itemH: itemH,
7433								subH: subH,
7434								arrowDownH: this.getHeight($sub.dataSM('scroll-arrows').eq(1))
7435							})
7436							.bind(getEventsNS([
7437								['mouseover', function(e) { self.menuScrollOver($sub, e); }],
7438								['mouseout', function(e) { self.menuScrollOut($sub, e); }],
7439								['mousewheel DOMMouseScroll', function(e) { self.menuScrollMousewheel($sub, e); }]
7440							], eNS))
7441							.dataSM('scroll-arrows').css({ top: 'auto', left: '0', marginLeft: x + (parseInt($sub.css('border-left-width')) || 0), width: subW - (parseInt($sub.css('border-left-width')) || 0) - (parseInt($sub.css('border-right-width')) || 0), zIndex: $sub.css('z-index') })
7442								.eq(horizontalParent && this.opts.bottomToTopSubMenus ? 0 : 1).show();
7443						// when a menu tree is fixed positioned we allow scrolling via touch too
7444						// since there is no other way to access such long sub menus if no mouse is present
7445						if (this.isFixed()) {
7446							$sub.css({ 'touch-action': 'none', '-ms-touch-action': 'none' })
7447								.bind(getEventsNS([
7448									[touchEvents ? 'touchstart touchmove touchend' : 'pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp', function(e) {
7449										self.menuScrollTouch($sub, e);
7450									}]
7451								], eNS));
7452						}
7453					}
7454				}
7455				$sub.css({ top: 'auto', left: '0', marginLeft: x, marginTop: y - itemH });
7456				// IE iframe shim
7457				this.menuIframeShim($sub);
7458				if ($sub.dataSM('ie-shim')) {
7459					$sub.dataSM('ie-shim').css({ zIndex: $sub.css('z-index'), width: subW, height: subH, marginLeft: x, marginTop: y - itemH });
7460				}
7461			},
7462			menuScroll: function($sub, once, step) {
7463				var data = $sub.dataSM('scroll'),
7464					$arrows = $sub.dataSM('scroll-arrows'),
7465					end = data.up ? data.upEnd : data.downEnd,
7466					diff;
7467				if (!once && data.momentum) {
7468					data.momentum *= 0.92;
7469					diff = data.momentum;
7470					if (diff < 0.5) {
7471						this.menuScrollStop($sub);
7472						return;
7473					}
7474				} else {
7475					diff = step || (once || !this.opts.scrollAccelerate ? this.opts.scrollStep : Math.floor(data.step));
7476				}
7477				// hide any visible deeper level sub menus
7478				var level = $sub.dataSM('level');
7479				if (this.activatedItems[level - 1] && this.activatedItems[level - 1].dataSM('sub') && this.activatedItems[level - 1].dataSM('sub').is(':visible')) {
7480					this.menuHideSubMenus(level - 1);
7481				}
7482				data.y = data.up && end <= data.y || !data.up && end >= data.y ? data.y : (Math.abs(end - data.y) > diff ? data.y + (data.up ? diff : -diff) : end);
7483				$sub.add($sub.dataSM('ie-shim')).css(this.cssTransforms3d ? { '-webkit-transform': 'translate3d(0, ' + data.y + 'px, 0)', transform: 'translate3d(0, ' + data.y + 'px, 0)' } : { marginTop: data.y });
7484				// show opposite arrow if appropriate
7485				if (mouse && (data.up && data.y > data.downEnd || !data.up && data.y < data.upEnd)) {
7486					$arrows.eq(data.up ? 1 : 0).show();
7487				}
7488				// if we've reached the end
7489				if (data.y == end) {
7490					if (mouse) {
7491						$arrows.eq(data.up ? 0 : 1).hide();
7492					}
7493					this.menuScrollStop($sub);
7494				} else if (!once) {
7495					if (this.opts.scrollAccelerate && data.step < this.opts.scrollStep) {
7496						data.step += 0.2;
7497					}
7498					var self = this;
7499					this.scrollTimeout = requestAnimationFrame(function() { self.menuScroll($sub); });
7500				}
7501			},
7502			menuScrollMousewheel: function($sub, e) {
7503				if (this.getClosestMenu(e.target) == $sub[0]) {
7504					e = e.originalEvent;
7505					var up = (e.wheelDelta || -e.detail) > 0;
7506					if ($sub.dataSM('scroll-arrows').eq(up ? 0 : 1).is(':visible')) {
7507						$sub.dataSM('scroll').up = up;
7508						this.menuScroll($sub, true);
7509					}
7510				}
7511				e.preventDefault();
7512			},
7513			menuScrollOut: function($sub, e) {
7514				if (mouse) {
7515					if (!/^scroll-(up|down)/.test((e.relatedTarget || '').className) && ($sub[0] != e.relatedTarget && !$.contains($sub[0], e.relatedTarget) || this.getClosestMenu(e.relatedTarget) != $sub[0])) {
7516						$sub.dataSM('scroll-arrows').css('visibility', 'hidden');
7517					}
7518				}
7519			},
7520			menuScrollOver: function($sub, e) {
7521				if (mouse) {
7522					if (!/^scroll-(up|down)/.test(e.target.className) && this.getClosestMenu(e.target) == $sub[0]) {
7523						this.menuScrollRefreshData($sub);
7524						var data = $sub.dataSM('scroll'),
7525							upEnd = $(window).scrollTop() - $sub.dataSM('parent-a').offset().top - data.itemH;
7526						$sub.dataSM('scroll-arrows').eq(0).css('margin-top', upEnd).end()
7527							.eq(1).css('margin-top', upEnd + this.getViewportHeight() - data.arrowDownH).end()
7528							.css('visibility', 'visible');
7529					}
7530				}
7531			},
7532			menuScrollRefreshData: function($sub) {
7533				var data = $sub.dataSM('scroll'),
7534					upEnd = $(window).scrollTop() - $sub.dataSM('parent-a').offset().top - data.itemH;
7535				if (this.cssTransforms3d) {
7536					upEnd = -(parseFloat($sub.css('margin-top')) - upEnd);
7537				}
7538				$.extend(data, {
7539					upEnd: upEnd,
7540					downEnd: upEnd + this.getViewportHeight() - data.subH
7541				});
7542			},
7543			menuScrollStop: function($sub) {
7544				if (this.scrollTimeout) {
7545					cancelAnimationFrame(this.scrollTimeout);
7546					this.scrollTimeout = 0;
7547					$sub.dataSM('scroll').step = 1;
7548					return true;
7549				}
7550			},
7551			menuScrollTouch: function($sub, e) {
7552				e = e.originalEvent;
7553				if (isTouchEvent(e)) {
7554					var touchPoint = this.getTouchPoint(e);
7555					// neglect event if we touched a visible deeper level sub menu
7556					if (this.getClosestMenu(touchPoint.target) == $sub[0]) {
7557						var data = $sub.dataSM('scroll');
7558						if (/(start|down)$/i.test(e.type)) {
7559							if (this.menuScrollStop($sub)) {
7560								// if we were scrolling, just stop and don't activate any link on the first touch
7561								e.preventDefault();
7562								this.$touchScrollingSub = $sub;
7563							} else {
7564								this.$touchScrollingSub = null;
7565							}
7566							// update scroll data since the user might have zoomed, etc.
7567							this.menuScrollRefreshData($sub);
7568							// extend it with the touch properties
7569							$.extend(data, {
7570								touchStartY: touchPoint.pageY,
7571								touchStartTime: e.timeStamp
7572							});
7573						} else if (/move$/i.test(e.type)) {
7574							var prevY = data.touchY !== undefined ? data.touchY : data.touchStartY;
7575							if (prevY !== undefined && prevY != touchPoint.pageY) {
7576								this.$touchScrollingSub = $sub;
7577								var up = prevY < touchPoint.pageY;
7578								// changed direction? reset...
7579								if (data.up !== undefined && data.up != up) {
7580									$.extend(data, {
7581										touchStartY: touchPoint.pageY,
7582										touchStartTime: e.timeStamp
7583									});
7584								}
7585								$.extend(data, {
7586									up: up,
7587									touchY: touchPoint.pageY
7588								});
7589								this.menuScroll($sub, true, Math.abs(touchPoint.pageY - prevY));
7590							}
7591							e.preventDefault();
7592						} else { // touchend/pointerup
7593							if (data.touchY !== undefined) {
7594								if (data.momentum = Math.pow(Math.abs(touchPoint.pageY - data.touchStartY) / (e.timeStamp - data.touchStartTime), 2) * 15) {
7595									this.menuScrollStop($sub);
7596									this.menuScroll($sub);
7597									e.preventDefault();
7598								}
7599								delete data.touchY;
7600							}
7601						}
7602					}
7603				}
7604			},
7605			menuShow: function($sub) {
7606				if (!$sub.dataSM('beforefirstshowfired')) {
7607					$sub.dataSM('beforefirstshowfired', true);
7608					if (this.$root.triggerHandler('beforefirstshow.smapi', $sub[0]) === false) {
7609						return;
7610					}
7611				}
7612				if (this.$root.triggerHandler('beforeshow.smapi', $sub[0]) === false) {
7613					return;
7614				}
7615				$sub.dataSM('shown-before', true)
7616					.stop(true, true);
7617				if (!$sub.is(':visible')) {
7618					// highlight parent item
7619					var $a = $sub.dataSM('parent-a');
7620					if (this.opts.keepHighlighted || this.isCollapsible()) {
7621						$a.addClass('highlighted');
7622					}
7623					if (this.isCollapsible()) {
7624						$sub.removeClass('sm-nowrap').css({ zIndex: '', width: 'auto', minWidth: '', maxWidth: '', top: '', left: '', marginLeft: '', marginTop: '' });
7625					} else {
7626						// set z-index
7627						$sub.css('z-index', this.zIndexInc = (this.zIndexInc || this.get
7627StartZIndex()) + 1);
7628						// min/max-width fix - no way to rely purely on CSS as all UL's are nested
7629						if (this.opts.subMenusMinWidth || this.opts.subMenusMaxWidth) {
7630							$sub.css({ width: 'auto', minWidth: '', maxWidth: '' }).addClass('sm-nowrap');
7631							if (this.opts.subMenusMinWidth) {
7632							 	$sub.css('min-width', this.opts.subMenusMinWidth);
7633							}
7634							if (this.opts.subMenusMaxWidth) {
7635							 	var noMaxWidth = this.getWidth($sub);
7636							 	$sub.css('max-width', this.opts.subMenusMaxWidth);
7637								if (noMaxWidth > this.getWidth($sub)) {
7638									$sub.removeClass('sm-nowrap').css('width', this.opts.subMenusMaxWidth);
7639								}
7640							}
7641						}
7642						this.menuPosition($sub);
7643						// insert IE iframe shim
7644						if ($sub.dataSM('ie-shim')) {
7645							$sub.dataSM('ie-shim').insertBefore($sub);
7646						}
7647					}
7648					var complete = function() {
7649						// fix: "overflow: hidden;" is not reset on animation complete in jQuery < 1.9.0 in Chrome when global "box-sizing: border-box;" is used
7650						$sub.css('overflow', '');
7651					};
7652					// if sub is collapsible (mobile view)
7653					if (this.isCollapsible()) {
7654						if (this.opts.collapsibleShowFunction) {
7655							this.opts.collapsibleShowFunction.call(this, $sub, complete);
7656						} else {
7657							$sub.show(this.opts.collapsibleShowDuration, complete);
7658						}
7659					} else {
7660						if (this.opts.showFunction) {
7661							this.opts.showFunction.call(this, $sub, complete);
7662						} else {
7663							$sub.show(this.opts.showDuration, complete);
7664						}
7665					}
7666					// accessibility
7667					$a.attr('aria-expanded', 'true');
7668					$sub.attr({
7669						'aria-expanded': 'true',
7670						'aria-hidden': 'false'
7671					});
7672					// store sub menu in visible array
7673					this.visibleSubMenus.push($sub);
7674					this.$root.triggerHandler('show.smapi', $sub[0]);
7675				}
7676			},
7677			popupHide: function(noHideTimeout) {
7678				if (this.hideTimeout) {
7679					clearTimeout(this.hideTimeout);
7680					this.hideTimeout = 0;
7681				}
7682				var self = this;
7683				this.hideTimeout = setTimeout(function() {
7684					self.menuHideAll();
7685				}, noHideTimeout ? 1 : this.opts.hideTimeout);
7686			},
7687			popupShow: function(left, top) {
7688				if (!this.opts.isPopup) {
7689					alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.');
7690					return;
7691				}
7692				if (this.hideTimeout) {
7693					clearTimeout(this.hideTimeout);
7694					this.hideTimeout = 0;
7695				}
7696				this.$root.dataSM('shown-before', true)
7697					.stop(true, true);
7698				if (!this.$root.is(':visible')) {
7699					this.$root.css({ left: left, top: top });
7700					// IE iframe shim
7701					this.menuIframeShim(this.$root);
7702					if (this.$root.dataSM('ie-shim')) {
7703						this.$root.dataSM('ie-shim').css({ zIndex: this.$root.css('z-index'), width: this.getWidth(this.$root), height: this.getHeight(this.$root), left: left, top: top }).insertBefore(this.$root);
7704					}
7705					// show menu
7706					var self = this,
7707						complete = function() {
7708							self.$root.css('overflow', '');
7709						};
7710					if (this.opts.showFunction) {
7711						this.opts.showFunction.call(this, this.$root, complete);
7712					} else {
7713						this.$root.show(this.opts.showDuration, complete);
7714					}
7715					this.visibleSubMenus[0] = this.$root;
7716				}
7717			},
7718			refresh: function() {
7719				this.destroy(true);
7720				this.init(true);
7721			},
7722			rootKeyDown: function(e) {
7723				if (!this.handleEvents()) {
7724					return;
7725				}
7726				switch (e.keyCode) {
7727					case 27: // reset on Esc
7728						var $activeTopItem = this.activatedItems[0];
7729						if ($activeTopItem) {
7730							this.menuHideAll();
7731							$activeTopItem[0].focus();
7732							var $sub = $activeTopItem.dataSM('sub');
7733							if ($sub) {
7734								this.menuHide($sub);
7735							}
7736						}
7737						break;
7738					case 32: // activate item's sub on Space
7739						var $target = $(e.target);
7740						if ($target.is('a') && this.handleItemEvents($target)) {
7741							var $sub = $target.dataSM('sub');
7742							if ($sub && !$sub.is(':visible')) {
7743								this.itemClick({ currentTarget: e.target });
7744								e.preventDefault();
7745							}
7746						}
7747						break;
7748				}
7749			},
7750			rootOut: function(e) {
7751				if (!this.handleEvents() || this.isTouchMode() || e.target == this.$root[0]) {
7752					return;
7753				}
7754				if (this.hideTimeout) {
7755					clearTimeout(this.hideTimeout);
7756					this.hideTimeout = 0;
7757				}
7758				if (!this.opts.showOnClick || !this.opts.hideOnClick) {
7759					var self = this;
7760					this.hideTimeout = setTimeout(function() { self.menuHideAll(); }, this.opts.hideTimeout);
7761				}
7762			},
7763			rootOver: function(e) {
7764				if (!this.handleEvents() || this.isTouchMode() || e.target == this.$root[0]) {
7765					return;
7766				}
7767				if (this.hideTimeout) {
7768					clearTimeout(this.hideTimeout);
7769					this.hideTimeout = 0;
7770				}
7771			},
7772			winResize: function(e) {
7773				if (!this.handleEvents()) {
7774					// we still need to resize the disable overlay if it's visible
7775					if (this.$disableOverlay) {
7776						var pos = this.$root.offset();
7777	 					this.$disableOverlay.css({
7778							top: pos.top,
7779							left: pos.left,
7780							width: this.$root.outerWidth(),
7781							height: this.$root.outerHeight()
7782						});
7783					}
7784					return;
7785				}
7786				// hide sub menus on resize - on mobile do it only on orientation change
7787				if (!('onorientationchange' in window) || e.type == 'orientationchange') {
7788					var isCollapsible = this.isCollapsible();
7789					// if it was collapsible before resize and still is, don't do it
7790					if (!(this.wasCollapsible && isCollapsible)) { 
7791						if (this.activatedItems.length) {
7792							this.activatedItems[this.activatedItems.length - 1][0].blur();
7793						}
7794						this.menuHideAll();
7795					}
7796					this.wasCollapsible = isCollapsible;
7797				}
7798			}
7799		}
7800	});
7801
7802	$.fn.dataSM = function(key, val) {
7803		if (val) {
7804			return this.data(key + '_smartmenus', val);
7805		}
7806		return this.data(key + '_smartmenus');
7807	}
7808
7809	$.fn.removeDataSM = function(key) {
7810		return this.removeData(key + '_smartmenus');
7811	}
7812
7813	$.fn.smartmenus = function(options) {
7814		if (typeof options == 'string') {
7815			var args = arguments,
7816				method = options;
7817			Array.prototype.shift.call(args);
7818			return this.each(function() {
7819				var smartmenus = $(this).data('smartmenus');
7820				if (smartmenus && smartmenus[method]) {
7821					smartmenus[method].apply(smartmenus, args);
7822				}
7823			});
7824		}
7825		var opts = $.extend({}, $.fn.smartmenus.defaults, options);
7826		return this.each(function() {
7827			new $.SmartMenus(this, opts);
7828		});
7829	}
7830
7831	// default settings
7832	$.fn.smartmenus.defaults = {
7833		isPopup:		false,		// is this a popup menu (can be shown via the popupShow/popupHide methods) or a permanent menu bar
7834		mainMenuSubOffsetX:	0,		// pixels offset from default position
7835		mainMenuSubOffsetY:	0,		// pixels offset from default position
7836		subMenusSubOffsetX:	0,		// pixels offset from default position
7837		subMenusSubOffsetY:	0,		// pixels offset from default position
7838		subMenusMinWidth:	'10em',		// min-width for the sub menus (any CSS unit) - if set, the fixed width set in CSS will be ignored
7839		subMenusMaxWidth:	'20em',		// max-width for the sub menus (any CSS unit) - if set, the fixed width set in CSS will be ignored
7840		subIndicators: 		true,		// create sub menu indicators - creates a SPAN and inserts it in the A
7841		subIndicatorsPos: 	'prepend',	// position of the SPAN relative to the menu item content ('prepend', 'append')
7842		subIndicatorsText:	'+',		// [optionally] add text in the SPAN (e.g. '+') (you may want to check the CSS for the sub indicators too)
7843		scrollStep: 		30,		// pixels step when scrolling long sub menus that do not fit in the viewport height
7844		scrollAccelerate:	true,		// accelerate scrolling or use a fixed step
7845		showTimeout:		250,		// timeout before showing the sub menus
7846		hideTimeout:		500,		// timeout before hiding the sub menus
7847		showDuration:		0,		// duration for show animation - set to 0 for no animation - matters only if showFunction:null
7848		showFunction:		null,		// custom function to use when showing a sub menu (the default is the jQuery 'show')
7849							// don't forget to call complete() at the end of whatever you do
7850							// e.g.: function($ul, complete) { $ul.fadeIn(250, complete); }
7851		hideDuration:		0,		// duration for hide animation - set to 0 for no animation - matters only if hideFunction:null
7852		hideFunction:		function($ul, complete) { $ul.fadeOut(200, complete); },	// custom function to use when hiding a sub menu (the default is the jQuery 'hide')
7853							// don't forget to call complete() at the end of whatever you do
7854							// e.g.: function($ul, complete) { $ul.fadeOut(250, complete); }
7855		collapsibleShowDuration:0,		// duration for show animation for collapsible sub menus - matters only if collapsibleShowFunction:null
7856		collapsibleShowFunction:function($ul, complete) { $ul.slideDown(200, complete); },	// custom function to use when showing a collapsible sub menu
7857							// (i.e. when mobile styles are used to make the sub menus collapsible)
7858		collapsibleHideDuration:0,		// duration for hide animation for collapsible sub menus - matters only if collapsibleHideFunction:null
7859		collapsibleHideFunction:function($ul, complete) { $ul.slideUp(200, complete); },	// custom function to use when hiding a collapsible sub menu
7860							// (i.e. when mobile styles are used to make the sub menus collapsible)
7861		showOnClick:		false,		// show the first-level sub menus onclick instead of onmouseover (i.e. mimic desktop app menus) (matters only for mouse input)
7862		hideOnClick:		true,		// hide the sub menus on click/tap anywhere on the page
7863		noMouseOver:		false,		// disable sub menus activation onmouseover (i.e. behave like in touch mode - use just mouse clicks) (matters only for mouse input)
7864		keepInViewport:		true,		// reposition the sub menus if needed to make sure they always appear inside the viewport
7865		keepHighlighted:	true,		// keep all ancestor items of the current sub menu highlighted (adds the 'highlighted' class to the A's)
7866		markCurrentItem:	false,		// automatically add the 'current' class to the A element of the item linking to the current URL
7867		markCurrentTree:	true,		// add the 'current' class also to the A elements of all ancestor items of the current item
7868		rightToLeftSubMenus:	false,		// right to left display of the sub menus (check the CSS for the sub indicators' position)
7869		bottomToTopSubMenus:	false,		// bottom to top display of the sub menus
7870		overlapControlsInIE:	true		// make sure sub menus appear on top of special OS controls in IE (i.e. SELECT, OBJECT, EMBED, etc.)
7871	};
7872
7873	return $;
7874}));;
7875/*
7876 * SmartMenus jQuery Keyboard Addon - v0.3.0
7877 * http://www.smartmenus.org/
7878 *
7879 * Copyright Vasil Dinkov, Vadikom Web Ltd.
7880 * http://vadikom.com/
7881 *
7882 * Released under the MIT license:
7883 * http://www.opensource.org/licenses/MIT
7884 */
7885
7886(function(factory) {
7887	if (typeof define === 'function' && define.amd) {
7888		// AMD
7889		define(['jquery', 'jquery.smartmenus'], factory);
7890	} else if (typeof module === 'object' && typeof module.exports === 'object') {
7891		// CommonJS
7892		module.exports = factory(require('jquery'));
7893	} else {
7894		// Global jQuery
7895		factory(jQuery);
7896	}
7897} (function($) {
7898
7899	function getFirstItemLink($ul) {
7900		// make sure we also allow the link to be nested deeper inside the LI's (e.g. in a heading)
7901		return $ul.find('> li > a:not(.disabled), > li > :not(ul) a:not(.disabled)').eq(0);
7902	}
7903	function getLastItemLink($ul) {
7904		return $ul.find('> li > a:not(.disabled), > li > :not(ul) a:not(.disabled)').eq(-1);
7905	}
7906	function getNextItemLink($li, noLoop) {
7907		var $a = $li.nextAll('li').find('> a:not(.disabled), > :not(ul) a:not(.disabled)').eq(0);
7908		return noLoop || $a.length ? $a : getFirstItemLink($li.parent());
7909	}
7910	function getPreviousItemLink($li, noLoop) {
7911		// bug workaround: elements are returned in reverse order just in jQuery 1.8.x
7912		var $a = $li.prevAll('li').find('> a:not(.disabled), > :not(ul) a:not(.disabled)').eq(/^1\.8\./.test($.fn.jquery) ? 0 : -1);
7913		return noLoop || $a.length ? $a : getLastItemLink($li.parent());
7914	}
7915
7916	// jQuery's .focus() is unreliable in some versions, so we're going to call the links' native JS focus method
7917	$.fn.focusSM = function() {
7918		if (this.length && this[0].focus) {
7919			this[0].focus();
7920		}
7921		return this;
7922	}
7923
7924	$.extend($.SmartMenus.Keyboard = {}, {
7925		docKeydown: function(e) {
7926			var keyCode = e.keyCode;
7927			if (!/^(37|38|39|40)$/.test(keyCode)) {
7928				return;
7929			}
7930			var $root = $(this),
7931				obj = $root.data('smartmenus'),
7932				$target = $(e.target);
7933			// exit if this is an A inside a mega drop-down
7934			if (!obj || !$target.is('a') || !obj.handleItemEvents($target)) {
7935				return;
7936			}
7937			var $li = $target.closest('li'),
7938				$ul = $li.parent(),
7939				level = $ul.dataSM('level');
7940			// swap left & right keys
7941			if ($root.hasClass('sm-rtl')) {
7942				if (keyCode == 37) {
7943					keyCode = 39;
7944				} else if (keyCode == 39) {
7945					keyCode = 37;
7946				}
7947			}
7948			switch (keyCode) {
7949				case 37: // Left
7950					if (obj.isCollapsible()) {
7951						break;
7952					}
7953					if (level > 2 || level == 2 && $root.hasClass('sm-vertical')) {
7954						obj.activatedItems[level - 2].focusSM();
7955					// move to previous non-disabled parent item (make sure we cycle so it might be the last item)
7956					} else if (!$root.hasClass('sm-vertical')) {
7957						getPreviousItemLink((obj.activatedItems[0] || $target).closest('li')).focusSM();
7958					}
7959					break;
7960				case 38: // Up
7961					if (obj.isCollapsible()) {
7962						var $firstItem;
7963						// if this is the first item of a sub menu, move to the parent item
7964						if (level > 1 && ($firstItem = getFirstItemLink($ul)).length && $target[0] == $firstItem[0]) {
7965							obj.activatedItems[level - 2].focusSM();
7966						} else {
7967							getPreviousItemLink($li).focusSM();
7968						}
7969					} else {
7970						if (level == 1 && !$root.hasClass('sm-vertical') && obj.opts.bottomToTopSubMenus) {
7971							if (!obj.activatedItems[0] && $target.dataSM('sub')) {
7972								if (obj.opts.showOnClick) {
7973									obj.clickActivated = true;
7974								}
7975								obj.itemActivate($target);
7976								if ($target.dataSM('sub').is(':visible')) {
7977									obj.focusActivated = true;
7978								}
7979							}
7980							if (obj.activatedItems[0] && obj.activatedItems[0].dataSM('sub') && obj.activatedItems[0].dataSM('sub').is(':visible') && !obj.activatedItems[0].dataSM('sub').hasClass('mega-menu')) {
7981								getLastItemLink(obj.activatedItems[0].dataSM('sub')).focusSM();
7982							}
7983						} else if (level > 1 || $root.hasClass('sm-vertical')) {
7984							getPreviousItemLink($li).focusSM();
7985						}
7986					}
7987					break;
7988				case 39: // Right
7989					if (obj.isCollapsible()) {
7990						break;
7991					}
7992					if (level == 1 && $root.hasClass('sm-vertical')) {
7993						if (!obj.activatedItems[0] && $target.dataSM('sub')) {
7994							if (obj.opts.showOnClick) {
7995								obj.clickActivated = true;
7996							}
7997							obj.itemActivate($target);
7998							if ($target.dataSM('sub').is(':visible')) {
7999								obj.focusActivated = true;
8000							}
8001						}
8002						if (obj.activatedItems[0] && obj.activatedItems[0].dataSM('sub') && obj.activatedItems[0].dataSM('sub').is(':visible') && !obj.activatedItems[0].dataSM('sub').hasClass('mega-menu')) {
8003							getFirstItemLink(obj.activatedItems[0].dataSM('sub')).focusSM();
8004						}
8005					// move to next non-disabled parent item (make sure we cycle so it might be the last item)
8006					} else if ((level == 1 || obj.activatedItems[level - 1] && (!obj.activatedItems[level - 1].dataSM('sub') || !obj.activatedItems[level - 1].dataSM('sub').is(':visible') || obj.activatedItems[level - 1].dataSM('sub').hasClass('mega-menu'))) && !$root.hasClass('sm-vertical')) {
8007						getNextItemLink((obj.activatedItems[0] || $target).closest('li')).focusSM();
8008					} else if (obj.activatedItems[level - 1] && obj.activatedItems[level - 1].dataSM('sub') && obj.activatedItems[level - 1].dataSM('sub').is(':visible') && !obj.activatedItems[level - 1].dataSM('sub').hasClass('mega-menu')) {
8009						getFirstItemLink(obj.activatedItems[level - 1].dataSM('sub')).focusSM();
8010					}
8011					break;
8012				case 40: // Down
8013					if (obj.isCollapsible()) {
8014						var $firstSubItem,
8015							$lastItem;
8016						// move to sub menu if appropriate
8017						if (obj.activatedItems[level - 1] && obj.activatedItems[level - 1].dataSM('sub') && obj.activatedItems[level - 1].dataSM('sub').is(':visible') && !obj.activatedItems[level - 1].dataSM('sub').hasClass('mega-menu') && ($firstSubItem = getFirstItemLink(obj.activatedItems[level - 1].dataSM('sub'))).length) {
8018							$firstSubItem.focusSM();
8019						// if this is the last item of a sub menu, move to the next parent item
8020						} else if (level > 1 && ($lastItem = getLastItemLink($ul)).length && $target[0] == $lastItem[0]) {
8021							var $parentItem = obj.activatedItems[level - 2].closest('li'),
8022								$nextParentItem = null;
8023							while ($parentItem.is('li') && !($nextParentItem = getNextItemLink($parentItem, true)).length) {
8024								$parentItem = $parentItem.parent().parent();
8025							}
8026							if ($nextParentItem.length) {
8027								$nextParentItem.focusSM();
8028							} else {
8029								getFirstItemLink($root).focusSM();
8030							}
8031						} else {
8032							getNextItemLink($li).focusSM();
8033						}
8034					} else {
8035						if (level == 1 && !$root.hasClass('sm-vertical') && !obj.opts.bottomToTopSubMenus) {
8036							if (!obj.activatedItems[0] && $target.dataSM('sub')) {
8037								if (obj.opts.showOnClick) {
8038									obj.clickActivated = true;
8039								}
8040								obj.itemActivate($target);
8041								if ($target.dataSM('sub').is(':visible')) {
8042									obj.focusActivated = true;
8043								}
8044							}
8045							if (obj.activatedItems[0] && obj.activatedItems[0].dataSM('sub') && obj.activatedItems[0].dataSM('sub').is(':visible') && !obj.activatedItems[0].dataSM('sub').hasClass('mega-menu')) {
8046								getFirstItemLink(obj.activatedItems[0].dataSM('sub')).focusSM();
8047							}
8048						} else if (level > 1 || $root.hasClass('sm-vertical')) {
8049							getNextItemLink($li).focusSM();
8050						}
8051					}
8052					break;
8053			}
8054			e.stopPropagation();
8055			e.preventDefault();
8056		}
8057	});
8058
8059	// hook it
8060	$(document).delegate('ul.sm, ul.navbar-nav:not([data-sm-skip])', 'keydown.smartmenus', $.SmartMenus.Keyboard.docKeydown);
8061
8062	$.extend($.SmartMenus.prototype, {
8063		keyboardSetHotkey: function(keyCode, modifiers) {
8064			var self = this;
8065			$(document).bind('keydown.smartmenus' + this.rootId, function(e) {
8066				if (keyCode == e.keyCode) {
8067					var procede = true;
8068					if (modifiers) {
8069						if (typeof modifiers == 'string') {
8070							modifiers = [modifiers];
8071						}
8072						$.each(['ctrlKey', 'shiftKey', 'altKey', 'metaKey'], function(index, value) {
8073							if ($.inArray(value, modifiers) >= 0 && !e[value] || $.inArray(value, modifiers) < 0 && e[value]) {
8074								procede = false;
8075								return false;
8076							}
8077						});
8078					}
8079					if (procede) {
8080						getFirstItemLink(self.$root).focusSM();
8081						e.stopPropagation();
8082						e.preventDefault();
8083					}
8084				}
8085			});
8086		}
8087	});
8088
8089	return $;
8090}));;
8091/* v1.1.6 08/25/2015 http://sachinchoolur.github.io/lightGallery*/
8092!function(e){"use strict";e.fn.lightGallery=function(t){var i,a,n,l,s,o,d,r,c,u,h,m={mode:"slide",useCSS:!0,cssEasing:"ease",easing:"linear",speed:600,addClass:"",closable:!0,loop:!1,auto:!1,pause:4e3,escKey:!0,controls:!0,hideControlOnEnd:!1,preload:1,showAfterLoad:!0,selector:null,index:!1,lang:{allPhotos:"All photos"},counter:!1,exThumbImage:!1,thumbnail:!0,showThumbByDefault:!1,animateThumb:!0,currentPagerPosition:"middle",thumbWidth:100,thumbMargin:5,mobileSrc:!1,mobileSrcMaxWidth:640,swipeThreshold:50,enableTouch:!0,enableDrag:!0,vimeoColor:"CCCCCC",youtubePlayerParams:!1,videoAutoplay:!0,videoMaxWidth:"855px",dynamic:!1,dynamicEl:[],onOpen:function(){},onSlideBefore:function(){},onSlideAfter:function(){},onSlideNext:function(){},onSlidePrev:function(){},onBeforeClose:function(){},onCloseAfter:function(){}},f=e(this),v=this,p=null,b=0,g=!1,C=!1,y=void 0!==document.createTouch||"ontouchstart"in window||"onmsgesturechange"in window||navigator.msMaxTouchPoints,w=!1,T=!1,x=!1,q=e.extend(!0,{},m,t),S={init:function(){f.each(function(){var t=e(this);q.dynamic?(p=q.dynamicEl,b=0,d=b,k.init(b)):(p=null!==q.selector?e(q.selector):t.children(),p.on("click",function(i){p=null!==q.selector?e(q.selector):t.children(),i.preventDefault(),i.stopPropagation(),b=p.index(this),d=b,k.init(b)}))})}},k={init:function(){g=!0,this.structure(),this.getWidth(),this.closeSlide(),this.autoStart(),this.counter(),this.slideTo(),this.buildThumbnail(),this.keyPress(),q.index?(this.slide(q.index),this.animateThumb(q.index)):(this.slide(b),this.animateThumb(b)),q.enableDrag&&this.touch(),q.enableTouch&&this.enableTouch(),setTimeout(function(){i.addClass("opacity")},50)},structure:function(){e("body").append('<div id="lg-outer" class="'+q.addClass+'"><div id="lg-gallery"><div id="lg-slider"></div><a id="lg-close" class="close"></a></div></div>').addClass("light-gallery"),a=e("#lg-outer"),i=e("#lg-gallery"),q.showAfterLoad===!0&&i.addClass("show-after-load"),n=i.find("#lg-slider");var t="";if(q.dynamic)for(var s=0;s<q.dynamicEl.length;s++)t+='<div class="lg-slide"></div>';else p.each(function(){t+='<div class="lg-slide"></div>'});n.append(t),l=i.find(".lg-slide")},closeSlide:function(){q.closable&&e("#lg-outer").on("click",function(t){e(t.target).is(".lg-slide")&&v.destroy(!1)}),e("#lg-close").bind("click touchend",function(){v.destroy(!1)})},getWidth:function(){var t=function(){u=e(window).width()};e(window).bind("resize.lightGallery",t())},doCss:function(){var e=function(){for(var e=["transition","MozTransition","WebkitTransition","OTransition","msTransition","KhtmlTransition"],t=document.documentElement,i=0;i<e.length;i++)if(e[i]in t.style)return!0};return q.useCSS&&e()?!0:!1},enableTouch:function(){var t=this;if(y){var i={},a={};e("body").on("touchstart.lightGallery",function(e){a=e.originalEvent.targetTouches[0],i.pageX=e.originalEvent.targetTouches[0].pageX,i.pageY=e.originalEvent.targetTouches[0].pageY}),e("body").on("touchmove.lightGallery",function(e){var t=e.originalEvent;a=t.targetTouches[0],e.preventDefault()}),e("body").on("touchend.lightGallery",function(){var e=a.pageX-i.pageX,n=q.swipeThreshold;e>=n?(t.prevSlide(),clearInterval(h)):-n>=e&&(t.nextSlide(),clearInterval(h))})}},touch:function(){var t,i,a=this;e(".light-gallery").bind("mousedown",function(e){e.stopPropagation(),e.preventDefault(),t=e.pageX}),e(".light-gallery").bind("mouseup",function(e){e.stopPropagation(),e.preventDefault(),i=e.pageX,i-t>20?a.prevSlide():t-i>20&&a.nextSlide()})},isVideo:function(e,t){var i=e.match(/\/\/(?:www\.)?youtu(?:\.be|be\.com)\/(?:watch\?v=|embed\/)?([a-z0-9_\-]+)/i),a=e.match(/\/\/(?:www\.)?vimeo.com\/([0-9a-z\-_]+)/i),n=!1;return q.dynamic?"true"==q.dynamicEl[t].iframe&&(n=!0):"true"==p.eq(t).attr("data-iframe")&&(n=!0),i||a||n?!0:void 0},loadVideo:function(t,i){var a=t.match(/\/\/(?:www\.)?youtu(?:\.be|be\.com)\/(?:watch\?v=|embed\/)?([a-z0-9_\-]+)/i),n=t.match(/\/\/(?:www\.)?vimeo.com\/([0-9a-z\-_]+)/i),l="",s="";if(a){if(s=q.videoAutoplay===!0&&C===!1?"?autoplay=1&rel=0&wmode=opaque":"?wmode=
8092opaque",q.youtubePlayerParams){var o=e.param(q.youtubePlayerParams);s=s+"&"+o}l='<iframe class="object" width="560" height="315" src="//www.youtube.com/embed/'+a[1]+s+'" frameborder="0" allowfullscreen></iframe>'}else n?(s=q.videoAutoplay===!0&&C===!1?"autoplay=1&amp;":"",l='<iframe class="object" id="video'+i+'" width="560" height="315"  src="http://player.vimeo.com/video/'+n[1]+"?"+s+"byline=0&amp;portrait=0&amp;color="+q.vimeoColor+'" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>'):l='<iframe class="object" frameborder="0" src="'+t+'"  allowfullscreen="true"></iframe>';return'<div class="video-cont" style="max-width:'+q.videoMaxWidth+' !important;"><div class="video">'+l+"</div></div>"},addHtml:function(t){var i=null;if(i=q.dynamic?q.dynamicEl[t]["sub-html"]:p.eq(t).attr("data-sub-html"),"undefined"!=typeof i&&null!==i){var a=i.substring(0,1);i="."==a||"#"==a?e(i).html():i,l.eq(t).append(i)}},preload:function(e){for(var t=e,i=0;i<=q.preload&&!(i>=p.length-e);i++)this.loadContent(t+i,!0);for(var a=0;a<=q.preload&&!(0>t-a);a++)this.loadContent(t-a,!0)},loadObj:function(e,t){var i=this;l.eq(t).find(".object").on("load error",function(){l.eq(t).addClass("complete")}),e===!1&&(l.eq(t).hasClass("complete")?i.preload(t):l.eq(t).find(".object").on("load error",function(){i.preload(t)}))},loadContent:function(t,i){{var a,n=this;p.length-t}q.preload>p.length&&(q.preload=p.length),q.mobileSrc===!0&&u<=q.mobileSrcMaxWidth&&(a=q.dynamic?q.dynamicEl[t].mobileSrc:p.eq(t).attr("data-responsive-src")),a||(a=q.dynamic?q.dynamicEl[t].src:p.eq(t).attr("data-src"));var s=0;i===!0&&(s=q.speed+400),"undefined"!=typeof a&&""!==a?n.isVideo(a,t)?setTimeout(function(){l.eq(t).hasClass("loaded")||(l.eq(t).prepend(n.loadVideo(a,t)),n.addHtml(t),l.eq(t).addClass("loaded"),q.auto&&q.videoAutoplay===!0&&clearInterval(h)),n.loadObj(i,t)},s):setTimeout(function(){l.eq(t).hasClass("loaded")||(l.eq(t).prepend('<img class="object" src="'+a+'" />'),n.addHtml(t),l.eq(t).addClass("loaded")),n.loadObj(i,t)},s):setTimeout(function(){if(!l.eq(t).hasClass("loaded")){var a=null;if(a=q.dynamic?q.dynamicEl[t].html:p.eq(t).attr("data-html"),"undefined"!=typeof a&&null!==a){var s=a.substring(0,1);a="."==s||"#"==s?e(a).html():a}"undefined"!=typeof a&&null!==a&&l.eq(t).append('<div class="video-cont" style="max-width:'+q.videoMaxWidth+' !important;"><div class="video">'+a+"</div></div>"),n.addHtml(t),l.eq(t).addClass("loaded complete"),q.auto&&q.videoAutoplay===!0&&clearInterval(h)}n.loadObj(i,t)},s)},counter:function(){if(q.counter===!0){var t=e("#lg-slider > div").length;i.append("<div id='lg-counter'><span id='lg-counter-current'></span> / <span id='lg-counter-all'>"+t+"</span></div>")}},buildThumbnail:function(){if(q.thumbnail===!0&&p.length>1){var t=this,a="";q.showThumbByDefault||(a='<span class="close ib"><i class="bUi-iCn-rMv-16" aria-hidden="true"></i></span>'),i.append('<div class="thumb-cont"><div class="thumb-info">'+a+'</div><div class="thumb-inner"></div></div>'),r=i.find(".thumb-cont"),s&&(s.after('<a class="cl-thumb"></a>'),s.parent().addClass("has-thumb"),i.find(".cl-thumb").bind("click touchend",function(){i.addClass("open"),t.doCss()&&"slide"===q.mode&&(l.eq(b).prevAll().removeClass("next-slide").addClass("prev-slide"),l.eq(b).nextAll().removeClass("prev-slide").addClass("next-slide"))})),i.find(".thumb-cont .close").bind("click touchend",function(){i.removeClass("open")});var n,o=i.find(".thumb-info"),d=i.find(".thumb-inner"),u="";if(q.dynamic)for(var m=0;m<q.dynamicEl.length;m++)n=q.dynamicEl[m].thumb,u+='<div class="thumb"><img src="'+n+'" /></div>';else p.each(function(){n=q.exThumbImage===!1||"undefined"==typeof e(this).attr(q.exThumbImage)||null===e(this).attr(q.exThumbImage)?e(this).find("img").attr("src"):e(this).attr(q.exThumbImage),u+='<div class="thumb"><img src="'+n+'" /></div>'});if(d.append(u),c=d.find(".thumb"),c.css({"margin-right":q.thumbMargin+"px",width:q.thumbWidth+"px"}),q.animateThumb===!0){var f=p.length*(q.thumbWidth+q.thumbMargin);i.find(".thumb-inner").css({width:f+"px",position:"relative","transition-duration":q.speed+"ms"})}c.bind("click touchend",function(){w=!0;var i=e(this).index();c.removeClass("active"),e(this).addClass("active"),t.slide(i),t.animateThumb(i),clearInterval(h)}),o.prepend('<span class="ib count">'+q.lang.allPhotos+" ("+c.length+")</span>"),q.showThumbByDefault&&i.addClass("open")}},animateThumb:function(e){if(q.animateThumb===!0){var t,a=i.find(".thumb-cont").width();switch(q.currentPagerPosition){case"left":t=0;break;case"middle":t=a/2-q.thumbWidth/2;break;case"right":t=a-q.thumbWidth}var n=(q.thumbWidth+q.thumbMargin)*e-1-t,l=p.length*(q.thumbWidth+q.thumbMargin);n>l-a&&(n=l-a),0>n&&(n=0),this.doCss()?i.find(".thumb-inner").css("transform","translate3d(-"+n+"px, 0px, 0px)"):i.find(".thumb-inner").animate({left:-n+"px"},q.speed)}},slideTo:function(){var e=this;q.controls===!0&&p.length>1&&(i.append('<div id="lg-action"><a id="lg-prev"></a><a id="lg-next"></a></div>'),s=i.find("#lg-prev"),o=i.find("#lg-next"),s.bind("click",function(){e.prevSlide(),clearInterval(h)}),o.bind("click",function(){e.nextSlide(),clearInterval(h)}))},autoStart:function(){var e=this;q.auto===!0&&(h=setInterval(function(){b=b+1<p.length?b:-1,b++,e.slide(b)},q.pause))},keyPress:function(){var t=this;e(window).bind("keyup.lightGallery",function(e){e.preventDefault(),e.stopPropagation(),37===e.ke
8092yCode&&(t.prevSlide(),clearInterval(h)),38===e.keyCode&&q.thumbnail===!0&&p.length>1?i.hasClass("open")||(t.doCss()&&"slide"===q.mode&&(l.eq(b).prevAll().removeClass("next-slide").addClass("prev-slide"),l.eq(b).nextAll().removeClass("prev-slide").addClass("next-slide")),i.addClass("open")):39===e.keyCode&&(t.nextSlide(),clearInterval(h)),40===e.keyCode&&q.thumbnail===!0&&p.length>1&&!q.showThumbByDefault?i.hasClass("open")&&i.removeClass("open"):q.escKey===!0&&27===e.keyCode&&(!q.showThumbByDefault&&i.hasClass("open")?i.removeClass("open"):v.destroy(!1))})},nextSlide:function(){var e=this;b=l.index(l.eq(d)),b+1<p.length?(b++,e.slide(b)):q.loop?(b=0,e.slide(b)):q.thumbnail===!0&&p.length>1&&!q.showThumbByDefault?i.addClass("open"):(l.eq(b).find(".object").addClass("right-end"),setTimeout(function(){l.find(".object").removeClass("right-end")},400)),e.animateThumb(b),q.onSlideNext.call(this,v)},prevSlide:function(){var e=this;b=l.index(l.eq(d)),b>0?(b--,e.slide(b)):q.loop?(b=p.length-1,e.slide(b)):q.thumbnail===!0&&p.length>1&&!q.showThumbByDefault?i.addClass("open"):(l.eq(b).find(".object").addClass("left-end"),setTimeout(function(){l.find(".object").removeClass("left-end")},400)),e.animateThumb(b),q.onSlidePrev.call(this,v)},slide:function(t){var i=this;if(C?(setTimeout(function(){i.loadContent(t,!1)},q.speed+400),n.hasClass("on")||n.addClass("on"),this.doCss()&&""!==q.speed&&(n.hasClass("speed")||n.addClass("speed"),x===!1&&(n.css("transition-duration",q.speed+"ms"),x=!0)),this.doCss()&&""!==q.cssEasing&&(n.hasClass("timing")||n.addClass("timing"),T===!1&&(n.css("transition-timing-function",q.cssEasing),T=!0)),q.onSlideBefore.call(this,v)):i.loadContent(t,!1),"slide"===q.mode){var a=null!==navigator.userAgent.match(/iPad/i);!this.doCss()||n.hasClass("slide")||a?this.doCss()&&!n.hasClass("use-left")&&a&&n.addClass("use-left"):n.addClass("slide"),this.doCss()||C?!this.doCss()&&C&&n.animate({left:100*-t+"%"},q.speed,q.easing):n.css({left:100*-t+"%"})}else"fade"===q.mode&&(this.doCss()&&!n.hasClass("fade-m")?n.addClass("fade-m"):this.doCss()||n.hasClass("animate")||n.addClass("animate"),this.doCss()||C?!this.doCss()&&C&&(l.eq(d).fadeOut(q.speed,q.easing),l.eq(t).fadeIn(q.speed,q.easing)):(l.fadeOut(100),l.eq(t).fadeIn(100)));if(t+1>=p.length&&q.auto&&q.loop===!1&&clearInterval(h),l.eq(d).removeClass("current"),l.eq(t).addClass("current"),this.doCss()&&"slide"===q.mode&&(w===!1?(e(".prev-slide").removeClass("prev-slide"),e(".next-slide").removeClass("next-slide"),l.eq(t-1).addClass("prev-slide"),l.eq(t+1).addClass("next-slide")):(l.eq(t).prevAll().removeClass("next-slide").addClass("prev-slide"),l.eq(t).nextAll().removeClass("prev-slide").addClass("next-slide"))),q.thumbnail===!0&&p.length>1&&(c.removeClass("active"),c.eq(t).addClass("active")),q.controls&&q.hideControlOnEnd&&q.loop===!1&&p.length>1){var r=p.length;r=parseInt(r)-1,0===t?(s.addClass("disabled"),o.removeClass("disabled")):t===r?(s.removeClass("disabled"),o.addClass("disabled")):s.add(o).removeClass("disabled")}d=t,C===!1?q.onOpen.call(this,v):q.onSlideAfter.call(this,v),setTimeout(function(){C=!0}),w=!1,q.counter&&e("#lg-counter-current").text(t+1),e(window).bind("resize.lightGallery",function(){setTimeout(function(){i.animateThumb(t)},200)})}};return v.isActive=function(){return g===!0?!0:!1},v.destroy=function(t){g=!1,t="undefined"!=typeof t?!1:!0,q.onBeforeClose.call(this,v);var n=C;C=!1,T=!1,x=!1,w=!1,clearInterval(h),t===!0&&p.off("click touch touchstart"),e(".light-gallery").off("mousedown mouseup"),e("body").off("touchstart.lightGallery touchmove.lightGallery touchend.lightGallery"),e(window).off("resize.lightGallery keyup.lightGallery"),n===!0&&(i.addClass("fade-m"),setTimeout(function(){a.remove(),e("body").removeClass("light-gallery")},500)),q.onCloseAfter.call(this,v)},S.init(),this}}(jQuery);
8093;
8094!function(a,b,c,d){function e(b,c){b.owlCarousel={name:"Owl Carousel",author:"Bartosz Wojciechowski",version:"2.0.0-beta.2.1"},this.settings=null,this.options=a.extend({},e.Defaults,c),this.itemData=a.extend({},l),this.dom=a.extend({},m),this.width=a.extend({},n),this.num=a.extend({},o),this.drag=a.extend({},q),this.state=a.extend({},r),this.e=a.extend({},s),this.plugins={},this._supress={},this._current=null,this._speed=null,this._coordinates=null,this.dom.el=b,this.dom.$el=a(b);for(var d in e.Plugins)this.plugins[d[0].toLowerCase()+d.slice(1)]=new e.Plugins[d](this);this.init()}function f(a){var b,d,e=c.createElement("div"),f=a;for(b in f)if(d=f[b],"undefined"!=typeof e.style[d])return e=null,[d,b];return[!1]}function g(){return f(["transition","WebkitTransition","MozTransition","OTransition"])[1]}function h(){return f(["transform","WebkitTransform","MozTransform","OTransform","msTransform"])[0]}function i(){return f(["perspective","webkitPerspective","MozPerspective","OPerspective","MsPerspective"])[0]}function j(){return"ontouchstart"in b||!!navigator.msMaxTouchPoints}function k(){return b.navigator.msPointerEnabled}var l,m,n,o,p,q,r,s;l={index:!1,indexAbs:!1,posLeft:!1,clone:!1,active:!1,loaded:!1,lazyLoad:!1,current:!1,width:!1,center:!1,page:!1,hasVideo:!1,playVideo:!1},m={el:null,$el:null,stage:null,$stage:null,oStage:null,$oStage:null,$items:null,$oItems:null,$cItems:null,$content:null},n={el:0,stage:0,item:0,prevWindow:0,cloneLast:0},o={items:0,oItems:0,cItems:0,active:0,merged:[]},q={start:0,startX:0,startY:0,current:0,currentX:0,currentY:0,offsetX:0,offsetY:0,distance:null,startTime:0,endTime:0,updatedX:0,targetEl:null},r={isTouch:!1,isScrolling:!1,isSwiping:!1,direction:!1,inMotion:!1},s={_onDragStart:null,_onDragMove:null,_onDragEnd:null,_transitionEnd:null,_resizer:null,_responsiveCall:null,_goToLoop:null,_checkVisibile:null}
8094,e.Defaults={items:3,loop:!1,center:!1,mouseDrag:!0,touchDrag:!0,pullDrag:!0,freeDrag:!1,margin:0,stagePadding:0,merge:!1,mergeFit:!0,autoWidth:!1,startPosition:0,smartSpeed:250,fluidSpeed:!1,dragEndSpeed:!1,responsive:{},responsiveRefreshRate:200,responsiveBaseElement:b,responsiveClass:!1,fallbackEasing:"swing",info:!1,nestedItemSelector:!1,itemElement:"div",stageElement:"div",themeClass:"owl-theme",baseClass:"owl-carousel",itemClass:"owl-item",centerClass:"center",activeClass:"active"},e.Plugins={},e.prototype.init=function(){if(this.setResponsiveOptions(),this.trigger("initialize"),this.dom.$el.hasClass(this.settings.baseClass)||this.dom.$el.addClass(this.settings.baseClass),this.dom.$el.hasClass(this.settings.themeClass)||this.dom.$el.addClass(this.settings.themeClass),this.settings.rtl&&this.dom.$el.addClass("owl-rtl"),this.browserSupport(),this.settings.autoWidth&&this.state.imagesLoaded!==!0){var a,b,c;if(a=this.dom.$el.find("img"),b=this.settings.nestedItemSelector?"."+this.settings.nestedItemSelector:d,c=this.dom.$el.children(b).width(),a.length&&0>=c)return this.preloadAutoWidthImages(a),!1}this.width.prevWindow=this.viewport(),this.createStage(),this.fetchContent(),this.eventsCall(),this.internalEvents(),this.dom.$el.addClass("owl-loading"),this.refresh(!0),this.dom.$el.removeClass("owl-loading").addClass("owl-loaded"),this.trigger("initialized"),this.addTriggerableEvents()},e.prototype.setResponsiveOptions=function(){if(this.options.responsive){var b=this.viewport(),c=this.options.responsive,d=-1;a.each(c,function(a){b>=a&&a>d&&(d=Number(a))}),this.settings=a.extend({},this.options,c[d]),delete this.settings.responsive,this.settings.responsiveClass&&this.dom.$el.attr("class",function(a,b){return b.replace(/\b owl-responsive-\S+/g,"")}).addClass("owl-responsive-"+d)}else this.settings=a.extend({},this.options)},e.prototype.optionsLogic=function(){this.dom.$el.toggleClass("owl-center",this.settings.center),this.settings.loop&&this.num.oItems<this.settings.items&&(this.settings.loop=!1),this.settings.autoWidth&&(this.settings.stagePadding=!1,this.settings.merge=!1)},e.prototype.createStage=function(){var b=c.createElement("div"),d=c.createElement(this.settings.stageElement);b.className="owl-stage-outer",d.className="owl-stage",b.appendChild(d),this.dom.el.appendChild(b),this.dom.oStage=b,this.dom.$oStage=a(b),this.dom.stage=d,this.dom.$stage=a(d),b=null,d=null},e.prototype.createItemContainer=function(){var b=c.createElement(this.settings.itemElement);return b.className=this.settings.itemClass,a(b)},e.prototype.fetchContent=function(b){this.dom.$content=b?b instanceof jQuery?b:a(b):this.settings.nestedItemSelector?this.dom.$el.find("."+this.settings.nestedItemSelector).not(".owl-stage-outer"):this.dom.$el.children().not(".owl-stage-outer"),this.num.oItems=this.dom.$content.length,0!==this.num.oItems&&this.initStructure()},e.prototype.initStructure=function(){this.createNormalStructure()},e.prototype.createNormalStructure=function(){var a,b;for(a=0;a<this.num.oItems;a++)b=this.createItemContainer(),this.initializeItemContainer(b,this.dom.$content[a]),this.dom.$stage.append(b);this.dom.$content=null},e.prototype.createCustomStructure=function(a){var b,c;for(b=0;a>b;b++)c=this.createItemContainer(),this.createItemContainerData(c),this.dom.$stage.append(c)},e.prototype.initializeItemContainer=function(a,b){this.trigger("change",{property:{name:"item",value:a}}),this.createItemContainerData(a),a.append(b),this.trigger("changed",{property:{name:"item",value:a}})},e.prototype.createItemContainerData=function(b,c){var d=a.extend({},this.itemData);c&&a.extend(d,c.data("owl-item")),b.data("owl-item",d)},e.prototype.cloneItemContainer=function(a){var b=a.clone(!0,!0).addClass("cloned");return this.createItemContainerData(b,b),b.data("owl-item").clone=!0,b},e.prototype.updateLocalContent=function(){var b,c;for(this.dom.$oItems=this.dom.$stage.find("."+this.settings.itemClass).filter(function(){return a(this).data("owl-item").clone===!1}),this.num.oItems=this.dom.$oItems.length,b=0;b<this.num.oItems;b++)c=this.dom.$oItems.eq(b),c.data("owl-item").index=b},e.prototype.loopClone=function(){if(!this.settings.loop||this.num.oItems<this.settings.items)return!1;var b,c,d,e=this.settings.items,f=this.num.oItems-1;for(this.settings.stagePadding&&1===this.settings.items&&(e+=1),this.num.c
8094Items=2*e,d=0;e>d;d++)b=this.cloneItemContainer(this.dom.$oItems.eq(d)),c=this.cloneItemContainer(this.dom.$oItems.eq(f-d)),this.dom.$stage.append(b),this.dom.$stage.prepend(c);this.dom.$cItems=this.dom.$stage.find("."+this.settings.itemClass).filter(function(){return a(this).data("owl-item").clone===!0})},e.prototype.reClone=function(){null!==this.dom.$cItems&&(this.dom.$cItems.remove(),this.dom.$cItems=null,this.num.cItems=0),this.settings.loop&&this.loopClone()},e.prototype.calculate=function(){var a,b,c,d,e,f,g,h=0,i=0;for(this.width.el=this.dom.$el.width()-2*this.settings.stagePadding,this.width.view=this.dom.$el.width(),c=this.width.el-this.settings.margin*(1===this.settings.items?0:this.settings.items-1),this.width.el=this.width.el+this.settings.margin,this.width.item=(c/this.settings.items+this.settings.margin).toFixed(3),this.dom.$items=this.dom.$stage.find(".owl-item"),this.num.items=this.dom.$items.length,this.settings.autoWidth&&this.dom.$items.css("width",""),this._coordinates=[],this.num.merged=[],d=this.settings.rtl?this.settings.center?-(this.width.el/2):0:this.settings.center?this.width.el/2:0,this.width.mergeStage=0,a=0;a<this.num.items;a++)this.settings.merge?(g=this.dom.$items.eq(a).find("[data-merge]").attr("data-merge")||1,this.settings.mergeFit&&g>this.settings.items&&(g=this.settings.items),this.num.merged.push(parseInt(g)),this.width.mergeStage+=this.width.item*this.num.merged[a]):this.num.merged.push(1),f=this.width.item*this.num.merged[a],this.settings.autoWidth&&(f=this.dom.$items.eq(a).width()+this.settings.margin,this.settings.rtl?this.dom.$items[a].style.marginLeft=this.settings.margin+"px":this.dom.$items[a].style.marginRight=this.settings.margin+"px"),this._coordinates.push(d),this.dom.$items.eq(a).data("owl-item").posLeft=h,this.dom.$items.eq(a).data("owl-item").width=f,this.settings.rtl?(d+=f,h+=f):(d-=f,h-=f),i-=Math.abs(f),this.settings.center&&(this._coordinates[a]=this.settings.rtl?this._coordinates[a]+f/2:this._coordinates[a]-f/2);for(this.width.stage=Math.abs(this.settings.autoWidth?this.settings.center?i:d:i),e=this.num.oItems+this.num.cItems,b=0;e>b;b++)this.dom.$items.eq(b).data("owl-item").indexAbs=b;this.setSizes()},e.prototype.setSizes=function(){this.settings.stagePadding!==!1&&(this.dom.oStage.style.paddingLeft=this.settings.stagePadding+"px",this.dom.oStage.style.paddingRight=this.settings.stagePadding+"px"),this.settings.rtl?b.setTimeout(a.proxy(function(){this.dom.stage.style.width=this.width.stage+"px"},this),0):this.dom.stage.style.width=this.width.stage+"px";for(var c=0;c<this.num.items;c++)this.settings.autoWidth||(this.dom.$items[c].style.width=this.width.item-this.settings.margin+"px"),this.settings.rtl?this.dom.$items[c].style.marginLeft=this.settings.margin+"px":this.dom.$items[c].style.marginRight=this.settings.margin+"px",1===this.num.merged[c]||this.settings.autoWidth||(this.dom.$items[c].style.width=this.width.item*this.num.merged[c]-this.settings.margin+"px");this.width.stagePrev=this.width.stage},e.prototype.responsive=function(){if(!this.num.oItems)return!1;var a=this.isElWidthChanged();return a?this.trigger("resize").isDefaultPrevented()?!1:(this.state.responsive=!0,this.refresh(),this.state.responsive=!1,void this.trigger("resized")):!1},e.prototype.refresh=function(){var a=this.dom.$oItems&&this.dom.$oItems.eq(this.normalize(this.current(),!0));return this.trigger("refresh"),this.setResponsiveOptions(),this.updateLocalContent(),this.optionsLogic(),0===this.num.oItems?!1:(this.dom.$stage.addClass("owl-refresh"),this.reClone(),this.calculate(),this.dom.$stage.removeClass("owl-refresh"),a?this.reset(a.data("owl-item").indexAbs):(this.dom.oStage.scrollLeft=0,this.reset(this.dom.$oItems.eq(0).data("owl-item").indexAbs)),this.state.orientation=b.orientation,this.watchVisibility(),void this.trigger("refreshed"))},e.prototype.updateActiveItems=function(){this.trigger("change",{property:{name:"items",value:this.dom.$items}});var a,b,c,d,e,f;for(a=0;a<this.num.items;a++)this.dom.$items.eq(a).data("owl-item").active=!1,this.dom.$items.eq(a).data("owl-item").current=!1,this.dom.$items.eq(a).removeClass(this.settings.activeClass).removeClass(this.settings.centerClass);for(this.num.active=0,padding=2*this.settings.stagePadding,stageX=this.coordinates(this.current())+padding,view=this.settings.rtl?this.width.view:-this.width.view,b=0;b<this.num.items;b++)c=this.dom.$items.eq(b),d=c.data("owl-item").posLeft,e=c.data("owl-item").width,f=this.settings.rtl?d-e-padding:d-e+padding,(this.op(d,"<=",stageX)&&this.op(d,">",stageX+view)||this.op(f,"<",stageX)&&this.op(f,">",stageX+view))&&(this.num.active++,c.data("owl-item").active=!0,c.data("owl-item").current=!0,
8094c.addClass(this.settings.activeClass),this.settings.lazyLoad||(c.data("owl-item").loaded=!0),this.settings.loop&&this.updateClonedItemsState(c.data("owl-item").index));this.settings.center&&(this.dom.$items.eq(this.current()).addClass(this.settings.centerClass).data("owl-item").center=!0),this.trigger("changed",{property:{name:"items",value:this.dom.$items}})},e.prototype.updateClonedItemsState=function(a){var b,c,d;for(this.settings.center&&(b=this.dom.$items.eq(this.current()).data("owl-item").index),d=0;d<this.num.items;d++)c=this.dom.$items.eq(d),c.data("owl-item").index===a&&(c.data("owl-item").current=!0,c.data("owl-item").index===b&&c.addClass(this.settings.centerClass))},e.prototype.eventsCall=function(){this.e._onDragStart=a.proxy(function(a){this.onDragStart(a)},this),this.e._onDragMove=a.proxy(function(a){this.onDragMove(a)},this),this.e._onDragEnd=a.proxy(function(a){this.onDragEnd(a)},this),this.e._transitionEnd=a.proxy(function(a){this.transitionEnd(a)},this),this.e._resizer=a.proxy(function(){this.responsiveTimer()},this),this.e._responsiveCall=a.proxy(function(){this.responsive()},this),this.e._preventClick=a.proxy(function(a){this.preventClick(a)},this)},e.prototype.responsiveTimer=function(){return this.viewport()===this.width.prevWindow?!1:(b.clearTimeout(this.resizeTimer),this.resizeTimer=b.setTimeout(this.e._responsiveCall,this.settings.responsiveRefreshRate),void(this.width.prevWindow=this.viewport()))},e.prototype.internalEvents=function(){var a=j(),d=k();this.dragType=a&&!d?["touchstart","touchmove","touchend","touchcancel"]:a&&d?["MSPointerDown","MSPointerMove","MSPointerUp","MSPointerCancel"]:["mousedown","mousemove","mouseup"],(a||d)&&this.settings.touchDrag?this.on(c,this.dragType[3],this.e._onDragEnd):(this.dom.$stage.on("dragstart",function(){return!1}),this.settings.mouseDrag?this.dom.stage.onselectstart=function(){return!1}:this.dom.$el.addClass("owl-text-select-on")),this.transitionEndVendor&&this.on(this.dom.stage,this.transitionEndVendor,this.e._transitionEnd,!1),this.settings.responsive!==!1&&this.on(b,"resize",this.e._resizer,!1),this.dragEvents()},e.prototype.dragEvents=function(){!this.settings.touchDrag||"touchstart"!==this.dragType[0]&&"MSPointerDown"!==this.dragType[0]?this.settings.mouseDrag&&"mousedown"===this.dragType[0]?this.on(this.dom.stage,this.dragType[0],this.e._onDragStart,!1):this.off(this.dom.stage,this.dragType[0],this.e._onDragStart):this.on(this.dom.stage,this.dragType[0],this.e._onDragStart,!1)},e.prototype.onDragStart=function(a){var d,e,f,g,h;
8094if(d=a.originalEvent||a||b.event,3===d.which)return!1;if("mousedown"===this.dragType[0]&&this.dom.$stage.addClass("owl-grab"),this.trigger("drag"),this.drag.startTime=(new Date).getTime(),this.speed(0),this.state.isTouch=!0,this.state.isScrolling=!1,this.state.isSwiping=!1,this.drag.distance=0,e="touchstart"===d.type,f=e?a.targetTouches[0].pageX:d.pageX||d.clientX,g=e?a.targetTouches[0].pageY:d.pageY||d.clientY,this.drag.offsetX=this.dom.$stage.position().left-this.settings.stagePadding,this.drag.offsetY=this.dom.$stage.position().top,this.settings.rtl&&(this.drag.offsetX=this.dom.$stage.position().left+this.width.stage-this.width.el+this.settings.margin),this.state.inMotion&&this.support3d)h=this.getTransformProperty(),this.drag.offsetX=h,this.animate(h),this.state.inMotion=!0;else if(this.state.inMotion&&!this.support3d)return this.state.inMotion=!1,!1;this.drag.startX=f-this.drag.offsetX,this.drag.startY=g-this.drag.offsetY,this.drag.start=f-this.drag.startX,this.drag.targetEl=d.target||d.srcElement,this.drag.updatedX=this.drag.start,("IMG"===this.drag.targetEl.tagName||"A"===this.drag.targetEl.tagName)&&(this.drag.targetEl.draggable=!1),this.on(c,this.dragType[1],this.e._onDragMove,!1),this.on(c,this.dragType[2],this.e._onDragEnd,!1)},e.prototype.onDragMove=function(a){var c,e,f,g,h,i,j;this.state.isTouch&&(this.state.isScrolling||(c=a.originalEvent||a||b.event,e="touchmove"==c.type,f=e?c.targetTouches[0].pageX:c.pageX||c.clientX,g=e?c.targetTouches[0].pageY:c.pageY||c.clientY,this.drag.currentX=f-this.drag.startX,this.drag.currentY=g-this.drag.startY,this.drag.distance=this.drag.currentX-this.drag.offsetX,this.drag.distance<0?this.state.direction=this.settings.rtl?"right":"left":this.drag.distance>0&&(this.state.direction=this.settings.rtl?"left":"right"),this.settings.loop?this.op(this.drag.currentX,">",this.coordinates(this.minimum()))&&"right"===this.state.direction?this.drag.currentX-=(this.settings.center&&this.coordinates(0))-this.coordinates(this.num.oItems):this.op(this.drag.currentX,"<",this.coordinates(this.maximum()))&&"left"===this.state.direction&&(this.drag.currentX+=(this.settings.center&&this.coordinates(0))-this.coordinates(this.num.oItems)):(h=this.coordinates(this.settings.rtl?this.maximum():this.minimum()),i=this.coordinates(this.settings.rtl?this.minimum():this.maximum()),j=this.settings.pullDrag?this.drag.distance/5:0,this.drag.currentX=Math.max(Math.min(this.drag.currentX,h+j),i+j)),(this.drag.distance>8||this.drag.distance<-8)&&(c.preventDefault!==d?c.preventDefault():c.returnValue=!1,this.state.isSwiping=!0),this.drag.updatedX=this.drag.currentX,(this.drag.currentY>16||this.drag.currentY<-16)&&this.state.isSwiping===!1&&(this.state.isScrolling=!0,this.drag.updatedX=this.drag.start),this.animate(this.drag.updatedX)))},e.prototype.onDragEnd=function(){var a,b,d;if(this.state.isTouch){if("mousedown"===this.dragType[0]&&this.dom.$stage.removeClass("owl-grab"),this.trigger("dragged"),this.drag.targetEl.removeAttribute("draggable"),this.state.isTouch=!1,this.state.isScrolling=!1,this.state.isSwiping=!1,0===this.drag.distance&&this.state.inMotion!==!0)return this.state.inMotion=!1,!1;this.drag.endTime=(new Date).getTime(),a=this.drag.endTime-this.drag.startTime,b=Math.abs(this.drag.distance),(b>3||a>300)&&this.removeClick(this.drag.targetEl),d=this.closest(this.drag.updatedX),this.speed(this.settings.dragEndSpeed||this.settings.smartSpeed),this.current(d),this.settings.pullDrag||this.drag.updatedX!==this.coordinates(d)||this.transitionEnd(),this.drag.distance=0,this.off(c,this.dragType[1],this.e._onDragMove),this.off(c,this.dragType[2],this.e._onDragEnd)}},e.prototype.removeClick=function(c){this.drag.targetEl=c,a(c).on("click.preventClick",this.e._preventClick),b.setTimeout(function(){a(c).off("click.preventClick")},300)},e.prototype.preventClick=function(b){b.preventDefault?b.preventDefault():b.returnValue=!1,b.stopPropagation&&b.stopPropagation(),a(b.target).off("click.preventClick")},e.prototype.getTransformProperty=function(){var a,c;return a=b.getComputedStyle(this.dom.stage,null).getPropertyValue(this.vendorName+"transform"),a=a.replace(/matrix(3d)?\(|\)/g,"").split(","),c=16===a.length,c!==!0?a[4]:a[12]},e.prototype.closest=function(b){var c=0,d=30;return this.settings.freeDrag||a.each(this.coordinates(),a.proxy(function(a,e){b>e-d&&e+d>b?c=a:this.op(b,"<",e)&&this.op(b,">",this.coordinates(a+1)||e-this.width.el)&&(c="left"===this.state.direction?a+1:a)},this)),this.settings.loop||(this.op(b,">",this.coordinates(this.minimum()))?c=b=this.minimum():this.op(b,"<",this.coordinates(this.maximum()))&&(c=b=this.maximum())),c},e.prototype.animate=function(b){this.trigger("translate"),this.state.inMotion=this.speed()>0,this.support3d?this.dom.$stage.css({transform:"translate3d("+b+"px,0px, 0px)",transition:this.speed()/1e3+"s"}):this.state.isTouch?this.dom.$stage.css({left:b+"px"}):this.dom.$stage.animate({left:b},this.speed()/1e3,this.settings.fallbackEasing,a.proxy(function(){this.state.inMotion&&this.transitionEnd()},this))}
8094,e.prototype.current=function(a){if(a===d)return this._current;if(0===this.num.oItems)return d;if(a=this.normalize(a),this._current===a)this.animate(this.coordinates(this._current));else{var b=this.trigger("change",{property:{name:"position",value:a}});b.data!==d&&(a=this.normalize(b.data)),this._current=a,this.animate(this.coordinates(this._current)),this.updateActiveItems(),this.trigger("changed",{property:{name:"position",value:this._current}})}return this._current},e.prototype.reset=function(a){this.suppress(["change","changed"]),this.speed(0),this.current(a),this.release(["change","changed"])},e.prototype.normalize=function(a,b){if(a===d||!this.dom.$items)return d;if(this.settings.loop){var c=this.dom.$items.length;a=(a%c+c)%c}else a=Math.max(this.minimum(),Math.min(this.maximum(),a));return b?this.dom.$items.eq(a).data("owl-item").index:a},e.prototype.maximum=function(){var b,c,d=this.settings;if(!d.loop&&d.center)b=this.num.oItems-1;else if(d.loop||d.center)if(d.loop||d.center)b=this.num.oItems+d.items;else{if(!d.autoWidth&&!d.merge)throw"Can not detect maximum absolute position.";revert=d.rtl?1:-1,c=this.dom.$stage.width()-this.$el.width(),a.each(this.coordinates(),function(a,d){return d*revert>=c?!1:void(b=a+1)})}else b=this.num.oItems-d.items;return b},e.prototype.minimum=function(){return this.dom.$oItems.eq(0).data("owl-item").indexAbs},e.prototype.speed=function(a){return a!==d&&(this._speed=a),this._speed},e.prototype.coordinates=function(a){return a!==d?this._coordinates[a]:this._coordinates},e.prototype.duration=function(a,b,c){return Math.min(Math.max(Math.abs(b-a),1),6)*Math.abs(c||this.settings.smartSpeed)},e.prototype.to=function(c,d){if(this.settings.loop){var e=c-this.normalize(this.current(),!0),f=this.current(),g=this.current(),h=this.current()+e,i=0>g-h?!0:!1;h<this.settings.items&&i===!1?(f=this.num.items-(this.settings.items-g)-this.settings.items,this.reset(f)):h>=this.num.items-this.settings.items&&i===!0&&(f=g-this.num.oItems,this.reset(f)),b.clearTimeout(this.e._goToLoop),this.e._goToLoop=b.setTimeout(a.proxy(function(){this.speed(this.duration(this.current(),f+e,d)),this.current(f+e)},this),30)}else this.speed(this.duration(this.current(),c,d)),this.current(c)},e.prototype.next=function(a){a=a||!1,this.to(this.normalize(this.current(),!0)+1,a)},e.prototype.prev=function(a){a=a||!1,this.to(this.normalize(this.current(),!0)-1,a)},e.prototype.transitionEnd=function(a){if(a!==d){a.stopPropagation();var b=a.target||a.srcElement||a.originalTarget;if(b!==this.dom.stage)return!1}this.state.inMotion=!1,this.trigger("translated")},e.prototype.isElWidthChanged=function(){var a=this.dom.$el.width()-this.settings.stagePadding,b=this.width.el+this.settings.margin;return a!==b},e.prototype.viewport=function(){var d;if(this.options.responsiveBaseElement!==b)d=a(this.options.responsiveBaseElement).width();else if(b.innerWidth)d=b.innerWidth;else{if(!c.documentElement||!c.documentElement.clientWidth)throw"Can not detect viewport width.";d=c.documentElement.clientWidth}return d},e.prototype.insertContent=function(a){this.dom.$stage.empty(),this.fetchContent(a),this.refresh()},e.prototype.addItem=function(a,b){var c=this.createItemContainer();b=b||0,this.initializeItemContainer(c,a),0===this.dom.$oItems.length?this.dom.$stage.append(c):-1!==p?this.dom.$oItems.eq(b).before(c):this.dom.$oItems.eq(b).after(c),this.refresh()},e.prototype.removeItem=function(a){this.dom.$oItems.eq(a).remove(),this.refresh()},e.prototype.addTriggerableEvents=function(){var b=a.proxy(function(b,c){return a.proxy(function(a){a.relatedTarget!==this&&(this.suppress([c]),b.apply(this,[].slice.call(arguments,1)),this.release([c]))},this)},this);a.each({next:this.next,prev:this.prev,to:this.to,destroy:this.destroy,refresh:this.refresh,replace:this.insertContent,add:this.addItem,remove:this.removeItem},a.proxy(function(a,c){this.dom.$el.on(a+".owl.carousel",b(c,a+".owl.carousel"))},this))},e.prototype.watchVisibility=function(){function c(a){return a.offsetWidth>0&&a.offsetHeight>0}function d(){c(this.dom.el)&&(this.dom.$el.removeClass("owl-hidden"),this.refresh(),b.clearInterval(this.e._checkVisibile))}c(this.dom.el)||(this.dom.$el.addClass("owl-hidden"),b.clearInterval(this.e._checkVisibile),this.e._checkVisibile=b.setInterval(a.proxy(d,this),500))},e.prototype.preloadAutoWidthImages=function(b){var c,d,e,f;c=0,d=this,b.each(function(g,h){e=a(h),f=new Image,f.onload=function(){c++,e.attr("src",f.src),e.css("opacity",1),c>=b.length&&(d.state.imagesLoaded=!0,d.init())},f.src=e.attr("src")||e.attr("data-src")||e.attr("data-src-retina")})},e.prototype.destroy=function(){this.dom.$el.hasClass(this.settings.themeClass)&&this.dom.$el.removeClass(this.settings.themeClass),this.settings.responsive!==!1&&this.off(b,"resize",this.e._resizer),this.transitionEndVendor&&this.off(this.dom.stage,this.transitionEndVendor,this.e._transitionEnd);for(var a in this.plugins)this.plugins[a].destroy();(this.settings.mouseDrag||this.settings.touchDrag)&&(this.off(this.dom.stage,this.dragType[0],this.e._onDragStart),this.settings.mouseDrag&&this.off(c,this.dragType[3],this.e._onDragStart),this.settings.mouseDrag&&(this.dom.$stage.off("dragstart",function(){return!1}),this.dom.stage.onselectstart=function(){})),this.dom.$el.off(".owl"),null!==this.dom.$cItems&&this.dom.$cItems.remove(),this.e=null,this.dom.$el.data("owlCarousel",null),delete this.dom.el.owlCarousel,this.dom.$stage.unwrap(),this.dom.$items.unwrap(),this.dom.$items.contents().unwrap(),this.dom=null},e.prototype.op=function(a,b,c){var d=this.settings.rtl;switch(b){case"<":return d?a>c:c>a;case">":return d?c>a:a>c;case">=":return d?c>=a:a>=c;case"<=":return d?a>=c:c>=a}},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){var e={item:{count:this.num.oItems,index:this.current()}},f=a.camelCase(a.grep(["on",b,d],function(a){return a}).join("-").toLowerCase()),g=a.Event([b,"owl",d||"carousel"].join(".").toLowerCase(),a.extend({relatedTarget:this},e,c));return this._supress[g.type]||(a.each(this.plugins,function(a,b){b.onTrigger&&b.onTrigger(g)}),this.dom.$el.trigger(g),"function"==typeof this.settings[f]&&this.settings[f].apply(this,g)),g},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.browserSupport=function(){if(this.support3d=i(),this.support3d){this.transformVendor=h();var a=["transitionend","webkitTransitionEnd","transitionend","oTransitionEnd"];this.transitionEndVendor=a[g()],this.vendorName=this.transformVendor.replace(/Transform/i,""),this.vendorName=""!==this.vendorName?"-"+this.vendorName.toLowerCase()+"-":""}this.state.orientation=b.orientation},a.fn.owlCarousel=function(b){return this.each(function(){a(this).data("owlCarousel")||a(this).data("owlCarousel",new e(this,b))})},a.fn.owlCarousel.Constructor=e}(window.Zepto||window.jQuery,window,document),function(a,b){LazyLoad=function(b){this.owl=b,this.owl.options=a.extend({},LazyLoad.Defaults,this.owl.options),this.handlers={"changed.owl.carousel":
8094a.proxy(function(a){"items"==a.property.name&&a.property.value&&!a.property.value.is(":empty")&&this.check()},this)},this.owl.dom.$el.on(this.handlers)},LazyLoad.Defaults={lazyLoad:!1},LazyLoad.prototype.check=function(){var a,c,d,e,f=b.devicePixelRatio>1?"data-src-retina":"data-src";for(d=0;d<this.owl.num.items;d++)e=this.owl.dom.$items.eq(d),e.data("owl-item").current===!0&&e.data("owl-item").loaded===!1&&(c=e.find(".owl-lazy"),a=c.attr(f),a=a||c.attr("data-src"),a&&(c.css("opacity","0"),this.preload(c,e)))},LazyLoad.prototype.preload=function(c,d){var e,f,g;c.each(a.proxy(function(c,h){this.owl.trigger("load",null,"lazy"),e=a(h),f=new Image,g=e.attr(b.devicePixelRatio>1?"data-src-retina":"data-src"),g=g||e.attr("data-src"),f.onload=a.proxy(function(){d.data("owl-item").loaded=!0,e.is("img")?e.attr("src",f.src):e.css("background-image","url("+f.src+")"),e.css("opacity",1),this.owl.trigger("loaded",null,"lazy")},this),f.src=g},this))},LazyLoad.prototype.destroy=function(){var a,b;for(a in this.handlers)this.owl.dom.$el.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.lazyLoad=LazyLoad}(window.Zepto||window.jQuery,window,document),function(a,b){AutoHeight=function(b){this.owl=b,this.owl.options=a.extend({},AutoHeight.Defaults,this.owl.options),this.handlers={"changed.owl.carousel":a.proxy(function(a){"position"==a.property.name&&this.owl.settings.autoHeight&&this.setHeight()},this)},this.owl.dom.$el.on(this.handlers)},AutoHeight.Defaults={autoHeight:!1,autoHeightClass:"owl-height"},AutoHeight.prototype.setHeight=function(){var a,c=this.owl.dom.$items.eq(this.owl.current()),d=this.owl.dom.$oStage,e=0;this.owl.dom.$oStage.hasClass(this.owl.settings.autoHeightClass)||this.owl.dom.$oStage.addClass(this.owl.settings.autoHeightClass),a=b.setInterval(function(){e+=1,c.data("owl-item").loaded?(d.height(c.height()+"px"),clearInterval(a)):500===e&&clearInterval(a)},100)},AutoHeight.prototype.destroy=function(){var a,b;for(a in this.handlers)this.owl.dom.$el.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.autoHeight=AutoHeight}(window.Zepto||window.jQuery,window,document),function(a,b,c){Video=function(b){this.owl=b,this.owl.options=a.extend({},Video.Defaults,this.owl.options),this.handlers={"resize.owl.carousel":a.proxy(function(a){this.owl.settings.video&&!this.isInFullScreen()&&a.preventDefault()},this),"refresh.owl.carousel changed.owl.carousel":a.proxy(function(){this.owl.state.videoPlay&&this.stopVideo()},this),"refresh.owl.carousel refreshed.owl.carousel":a.proxy(function(a){return this.owl.settings.video?void(this.refreshing="refresh"==a.type):!1},this),"changed.owl.carousel":a.proxy(function(a){this.refreshing&&"items"==a.property.name&&a.property.value&&!a.property.value.is(":empty")&&this.checkVideoLinks()},this)},this.owl.dom.$el.on(this.handlers),this.owl.dom.$el.on("click.owl.video",".owl-video-play-icon",a.proxy(function(a){this.playVideo(a)},this))},Video.Defaults={video:!1,videoHeight:!1,videoWidth:!1},Video.prototype.checkVideoLinks=function(){var a,b,c;for(c=0;c<this.owl.num.items;c++)b=this.owl.dom.$items.eq(c),b.data("owl-item").hasVideo||(a=b.find(".owl-video"),a.length&&(this.owl.state.hasVideos=!0,this.owl.dom.$items.eq(c).data("owl-item").hasVideo=!0,a.css("display","none"),this.getVideoInfo(a,b)))},Video.prototype.getVideoInfo=function(a,b){var c,d,e,f,g=a.data("vimeo-id"),h=a.data("youtube-id"),i=a.data("width")||this.owl.settings.videoWidth,j=a.data("height")||this.owl.settings.videoHeight,k=a.attr("href");if(g)d="vimeo",e=g;else if(h)d="youtube",e=h;else{if(!k)throw new Error("Missing video link.");e=k.match(/(http:|https:|)\/\/(player.|www.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com))\/(video\/|embed\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/),e[3].indexOf("youtu")>-1?d="youtube":e[3].indexOf("vimeo")>-1&&(d="vimeo"),e=e[6]}b.data("owl-item").videoType=d,b.data("owl-item").videoId=e,b.data("owl-item").videoWidth=i,b.data("owl-item").videoHeight=j,
8094c={type:d,id:e},f=i&&j?'style="width:'+i+"px;height:"+j+'px;"':"",a.wrap('<div class="owl-video-wrapper"'+f+"></div>"),this.createVideoTn(a,c)},Video.prototype.createVideoTn=function(b,c){function d(a){f='<div class="owl-video-play-icon"></div>',e=k.settings.lazyLoad?'<div class="owl-video-tn '+j+'" '+i+'="'+a+'"></div>':'<div class="owl-video-tn" style="opacity:1;background-image:url('+a+')"></div>',b.after(e),b.after(f)}var e,f,g,h=b.find("img"),i="src",j="",k=this.owl;return this.owl.settings.lazyLoad&&(i="data-src",j="owl-lazy"),h.length?(d(h.attr(i)),h.remove(),!1):void("youtube"===c.type?(g="http://img.youtube.com/vi/"+c.id+"/hqdefault.jpg",d(g)):"vimeo"===c.type&&a.ajax({type:"GET",url:"http://vimeo.com/api/v2/video/"+c.id+".json",jsonp:"callback",dataType:"jsonp",success:function(a){g=a[0].thumbnail_large,d(g),k.settings.loop&&k.updateActiveItems()}}))},Video.prototype.stopVideo=function(){this.owl.trigger("stop",null,"video");var a=this.owl.dom.$items.eq(this.owl.state.videoPlayIndex);a.find(".owl-video-frame").remove(),a.removeClass("owl-video-playing"),this.owl.state.videoPlay=!1},Video.prototype.playVideo=function(b){this.owl.trigger("play",null,"video"),this.owl.state.videoPlay&&this.stopVideo();var c,d,e,f=a(b.target||b.srcElement),g=f.closest("."+this.owl.settings.itemClass);e=g.data("owl-item").videoType,id=g.data("owl-item").videoId,width=g.data("owl-item").videoWidth||Math.floor(g.data("owl-item").width-this.owl.settings.margin),height=g.data("owl-item").videoHeight||this.owl.dom.$stage.height(),"youtube"===e?c='<iframe width="'+width+'" height="'+height+'" src="http://www.youtube.com/embed/'+id+"?autoplay=1&v="+id+'" frameborder="0" allowfullscreen></iframe>':"vimeo"===e&&(c='<iframe src="http://player.vimeo.com/video/'+id+'?autoplay=1" width="'+width+'" height="'+height+'" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>'),g.addClass("owl-video-playing"),this.owl.state.videoPlay=!0,this.owl.state.videoPlayIndex=g.data("owl-item").indexAbs,d=a('<div style="height:'+height+"px; width:"+width+'px" class="owl-video-frame">'+c+"</div>"),f.after(d)
8095},Video.prototype.isInFullScreen=function(){var d=c.fullscreenElement||c.mozFullScreenElement||c.webkitFullscreenElement;return d&&a(d.parentNode).hasClass("owl-video-frame")&&(this.owl.speed(0),this.owl.state.isFullScreen=!0),d&&this.owl.state.isFullScreen&&this.owl.state.videoPlay?!1:this.owl.state.isFullScreen?(this.owl.state.isFullScreen=!1,!1):this.owl.state.videoPlay&&this.owl.state.orientation!==b.orientation?(this.owl.state.orientation=b.orientation,!1):!0},Video.prototype.destroy=function(){var a,b;this.owl.dom.$el.off("click.owl.video");for(a in this.handlers)this.owl.dom.$el.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.video=Video}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){Animate=function(b){this.core=b,this.core.options=a.extend({},Animate.Defaults,this.core.options),this.swapping=!0,this.previous=d,this.next=d,this.handlers={"change.owl.carousel":a.proxy(function(a){"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){this.swapping="translated"==a.type},this),"translate.owl.carousel":a.proxy(function(){this.swapping&&(this.core.options.animateOut||this.core.options.animateIn)&&this.swap()},this)},this.core.dom.$el.on(this.handlers)},Animate.Defaults={animateOut:!1,animateIn:!1},Animate.prototype.swap=function(){if(1===this.core.settings.items&&this.core.support3d){this.core.speed(0);var b,c=a.proxy(this.clear,this),d=this.core.dom.$items.eq(this.previous),e=this.core.dom.$items.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.css({left:b+"px"}).addClass("animated owl-animated-out").addClass(g).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",c)),f&&e.addClass("animated owl-animated-in").addClass(f).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",c))}},Animate.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.transitionEnd()},Animate.prototype.destroy=function(){var a,b;for(a in this.handlers)this.core.dom.$el.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Animate=Animate}(window.Zepto||window.jQuery,window,document),function(a,b,c){Autoplay=function(b){this.core=b,this.core.options=a.extend({},Autoplay.Defaults,this.core.options),this.handlers={"translated.owl.carousel refreshed.owl.carousel":
8095a.proxy(function(){this.autoplay()},this),"play.owl.autoplay":a.proxy(function(a,b,c){this.play(b,c)},this),"stop.owl.autoplay":a.proxy(function(){this.stop()},this),"mouseover.owl.autoplay":a.proxy(function(){this.core.settings.autoplayHoverPause&&this.pause()},this),"mouseleave.owl.autoplay":a.proxy(function(){this.core.settings.autoplayHoverPause&&this.autoplay()},this)},this.core.dom.$el.on(this.handlers)},Autoplay.Defaults={autoplay:!1,autoplayTimeout:5e3,autoplayHoverPause:!1,autoplaySpeed:!1},Autoplay.prototype.autoplay=function(){this.core.settings.autoplay&&!this.core.state.videoPlay?(b.clearInterval(this.interval),this.interval=b.setInterval(a.proxy(function(){this.play()},this),this.core.settings.autoplayTimeout)):b.clearInterval(this.interval)},Autoplay.prototype.play=function(){return c.hidden===!0||this.core.state.isTouch||this.core.state.isScrolling||this.core.state.isSwiping||this.core.state.inMotion?void 0:this.core.settings.autoplay===!1?void b.clearInterval(this.interval):void this.core.next(this.core.settings.autoplaySpeed)},Autoplay.prototype.stop=function(){b.clearInterval(this.interval)},Autoplay.prototype.pause=function(){b.clearInterval(this.interval)},Autoplay.prototype.destroy=function(){var a,c;b.clearInterval(this.interval);for(a in this.handlers)this.core.dom.$el.off(a,this.handlers[a]);for(c in Object.getOwnPropertyNames(this))"function"!=typeof this[c]&&(this[c]=null)},a.fn.owlCarousel.Constructor.Plugins.autoplay=Autoplay}(window.Zepto||window.jQuery,window,document),function(a){"use strict";var b=function(c){this.core=c,this.initialized=!1,this.pages=[],this.controls={},this.template=null,this.$element=this.core.dom.$el,this.overrides={next:this.core.next,prev:this.core.prev,to:this.core.to},this.handlers={"changed.owl.carousel":a.proxy(function(b){"items"==b.property.name&&(this.initialized||(this.initialize(),this.initialized=!0),this.update(),this.draw()),this.filling&&(b.property.value.data("owl-item").dot=a(":first-child",b.property.value).find("[data-dot]").andSelf().data("dot"))},this),"change.owl.carousel":a.proxy(function(a){if("position"==a.property.name&&!this.core.state.revert&&!this.core.settings.loop&&this.core.settings.navRewind){var b=this.core.current(),c=this.core.maximum(),d=this.core.minimum();a.data=a.property.value>c?b>=c?d:c:a.property.value<d?c:a.property.value}this.filling=this.core.settings.dotsData&&"item"==a.property.name&&a.property.value&&a.property.value.is(":empty")},this),"refreshed.owl.carousel":a.proxy(function(){this.initialized&&(this.update(),this.draw())},this)},this.core.options=a.extend({},b.Defaults,this.core.options),this.$element.on(this.handlers)};b.Defaults={nav:!1,navRewind:!0,navText:["prev","next"],navSpeed:!1,navElement:"div",navContainer:!1,navContainerClass:"owl-nav",navClass:["owl-prev","owl-next"],slideBy:1,dotClass:"owl-dot",dotsClass:"owl-dots",dots:!0,dotsEach:!1,dotData:!1,dotsSpeed:!1,dotsContainer:!1,controlsClass:"owl-control
8095s"},b.prototype.initialize=function(){var b,c,d=this.core.settings;d.dotsData||(this.template=a("<div>").addClass(d.dotClass).append(a("<span>")).prop("outerHTML")),d.navContainer&&d.dotsContainer||(this.controls.$container=a("<div>").addClass(d.controlsClass).appendTo(this.$element)),this.controls.$indicators=d.dotsContainer?a(d.dotsContainer):a("<div>").hide().addClass(d.dotsClass).appendTo(this.controls.$container),this.controls.$indicators.on(this.core.dragType[2],"div",a.proxy(function(b){var c=a(b.target).parent().is(this.controls.$indicators)?a(b.target).index():a(b.target).parent().index();b.preventDefault(),this.to(c,d.dotsSpeed)},this)),b=d.navContainer?a(d.navContainer):a("<div>").addClass(d.navContainerClass).prependTo(this.controls.$container),this.controls.$next=a("<"+d.navElement+">"),this.controls.$previous=this.controls.$next.clone(),this.controls.$previous.addClass(d.navClass[0]).html(d.navText[0]).hide().prependTo(b).on(this.core.dragType[2],a.proxy(function(){this.prev()},this)),this.controls.$next.addClass(d.navClass[1]).html(d.navText[1]).hide().appendTo(b).on(this.core.dragType[2],a.proxy(function(){this.next()},this));for(c in this.overrides)this.core[c]=a.proxy(this[c],this)},b.prototype.destroy=function(){var a,b,c,d;for(a in this.handlers)this.$element.off(a,this.handlers[a]);for(b in this.controls)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)},b.prototype.update=function(){var a,b,c,d=this.core.settings,e=this.core.num.cItems/2,f=this.core.num.items-e,g=d.center||d.autoWidth||d.dotData?1:d.dotsEach||d.items;if("page"!==d.slideBy&&(d.slideBy=Math.min(d.slideBy,d.items)),d.dots)for(this.pages=[],a=e,b=0,c=0;f>a;a++)(b>=g||0===b)&&(this.pages.push({start:a-e,end:a-e+g-1}),b=0,++c),b+=this.core.num.merged[a]},b.prototype.draw=function(){var b,c,d="",e=this.core.settings,f=this.core.dom.$oItems,g=this.core.normalize(this.core.current(),!0);if(!e.nav||e.loop||e.navRewind||(this.controls.$previous.toggleClass("disabled",0>=g),this.controls.$next.toggleClass("disabled",g>=this.core.maximum())),this.controls.$previous.toggle(e.nav),this.controls.$next.toggle(e.nav),e.dots){if(b=this.pages.length-this.controls.$indicators.children().length,b>0){for(c=0;c<Math.abs(b);c++)d+=e.dotData?f.eq(c).data("owl-item").dot:this.template;this.controls.$indicators.append(d)}else 0>b&&this.controls.$indicators.children().slice(b).remove();this.controls.$indicators.find(".active").removeClass("active"),this.controls.$indicators.children().eq(a.inArray(this.current(),this.pages)).addClass("active")}this.controls.$indicators.toggle(e.dots)},b.prototype.onTrigger=function(b){var c=this.core.settings;b.page={index:a.inArray(this.current(),this.pages),count:this.pages.length,size:c.center||c.autoWidth||c.dotData?1:c.dotsEach||c.items}},b.prototype.current=function(){var b=this.core.normalize(this.core.current(),!0);return a.grep(this.pages,function(a){return a.start<=b&&a.end>=b}).pop()},b.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.normalize(this.core.current(),!0),d=this.core.num.oItems,b?c+=e.slideBy:c-=e.slideBy),c},b.prototype.next=function(b){a.proxy(this.overrides.to,this.core)(this.getPosition(!0),b)},b.prototype.prev=function(b){a.proxy(this.overrides.to,this.core)(this.getPosition(!1),b)},b.prototype.to=function(b,c,d){var e;d?a.proxy(this.overrides.to,this.core)(b,c):(e=this.pages.length,a.proxy(this.overrides.to,this.core)(this.pages[(b%e+e)%e].start,c))},a.fn.owlCarousel.Constructor.Plugins.Navigation=b}(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.dom.$el,this.handlers={"initialized.owl.carousel":a.proxy(function(){b.location.hash.substring(1)&&a(b).trigger("hashchange.owl.navigation")},this),"changed.owl.carousel":a.proxy(function(b){this.filling&&(b.property.value.data("owl-item").hash=a(":first-child",b.property.value).find("[data-hash]").andSelf().data("hash"),this.hashes[b.property.value.data("owl-item").hash]=b.property.value)}
8095,this),"change.owl.carousel":a.proxy(function(a){"position"==a.property.name&&this.core.current()===d&&"URLHash"==this.core.settings.startPosition&&(a.data=this.hashes[b.location.hash.substring(1)]),this.filling="item"==a.property.name&&a.property.value&&a.property.value.is(":empty")},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(){var a=b.location.hash.substring(1),c=this.core.dom.$oItems,d=this.hashes[a]&&c.index(this.hashes[a])||0;return a?(this.core.dom.oStage.scrollLeft=0,void this.core.to(d,!1,!0)):!1},this))};e.Defaults={URLhashListener:!1},e.prototype.destroy=function(){var c,d;a(b).off("hashchange.owl.navigation");for(c in this.handlers)this.owl.dom.$el.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);;
8096/*!
8097 * Bowser - a browser detector
8098 * https://github.com/ded/bowser
8099 * MIT License | (c) Dustin Diaz 2015
8100 */
8101
8102!function (name, definition) {
8103  if (typeof module != 'undefined' && module.exports) module.exports = definition()
8104  else if (typeof define == 'function' && define.amd) define(name, definition)
8105  else this[name] = definition()
8106}('bowser', function () {
8107  /**
8108    * See useragents.js for examples of navigator.userAgent
8109    */
8110
8111  var t = true
8112
8113  function detect(ua) {
8114
8115    function getFirstMatch(regex) {
8116      var match = ua.match(regex);
8117      return (match && match.length > 1 && match[1]) || '';
8118    }
8119
8120    function getSecondMatch(regex) {
8121      var match = ua.match(regex);
8122      return (match && match.length > 1 && match[2]) || '';
8123    }
8124
8125    var iosdevice = getFirstMatch(/(ipod|iphone|ipad)/i).toLowerCase()
8126      , likeAndroid = /like android/i.test(ua)
8127      , android = !likeAndroid && /android/i.test(ua)
8128      , nexusMobile = /nexus\s*[0-6]\s*/i.test(ua)
8129      , nexusTablet = !nexusMobile && /nexus\s*[0-9]+/i.test(ua)
8130      , chromeos = /CrOS/.test(ua)
8131      , silk = /silk/i.test(ua)
8132      , sailfish = /sailfish/i.test(ua)
8133      , tizen = /tizen/i.test(ua)
8134      , webos = /(web|hpw)os/i.test(ua)
8135      , windowsphone = /windows phone/i.test(ua)
8136      , samsungBrowser = /SamsungBrowser/i.test(ua)
8137      , windows = !windowsphone && /windows/i.test(ua)
8138      , mac = !iosdevice && !silk && /macintosh/i.test(ua)
8139      , linux = !android && !sailfish && !tizen && !webos && /linux/i.test(ua)
8140      , edgeVersion = getFirstMatch(/edge\/(\d+(\.\d+)?)/i)
8141      , versionIdentifier = getFirstMatch(/version\/(\d+(\.\d+)?)/i)
8142      , tablet = /tablet/i.test(ua)
8143      , mobile = !tablet && /[^-]mobi/i.test(ua)
8144      , xbox = /xbox/i.test(ua)
8145      , result
8146
8147    if (/opera/i.test(ua)) {
8148      //  an old Opera
8149      result = {
8150        name: 'Opera'
8151      , opera: t
8152      , version: versionIdentifier || getFirstMatch(/(?:opera|opr|opios)[\s\/](\d+(\.\d+)?)/i)
8153      }
8154    } else if (/opr|opios/i.test(ua)) {
8155      // a new Opera
8156      result = {
8157        name: 'Opera'
8158        , opera: t
8159        , version: getFirstMatch(/(?:opr|opios)[\s\/](\d+(\.\d+)?)/i) || versionIdentifier
8160      }
8161    }
8162    else if (/SamsungBrowser/i.test(ua)) {
8163      result = {
8164        name: 'Samsung Internet for Android'
8165        , samsungBrowser: t
8166        , version: versionIdentifier || getFirstMatch(/(?:SamsungBrowser)[\s\/](\d+(\.\d+)?)/i)
8167      }
8168    }
8169    else if (/coast/i.test(ua)) {
8170      result = {
8171        name: 'Opera Coast'
8172        , coast: t
8173        , version: versionIdentifier || getFirstMatch(/(?:coast)[\s\/](\d+(\.\d+)?)/i)
8174      }
8175    }
8176    else if (/yabrowser/i.test(ua)) {
8177      result = {
8178        name: 'Yandex Browser'
8179      , yandexbrowser: t
8180      , version: versionIdentifier || getFirstMatch(/(?:yabrowser)[\s\/](\d+(\.\d+)?)/i)
8181      }
8182    }
8183    else if (/ucbrowser/i.test(ua)) {
8184      result = {
8185          name: 'UC Browser'
8186        , ucbrowser: t
8187        , version: getFirstMatch(/(?:ucbrowser)[\s\/](\d+(?:\.\d+)+)/i)
8188      }
8189    }
8190    else if (/mxios/i.test(ua)) {
8191      result = {
8192        name: 'Maxthon'
8193        , maxthon: t
8194        , version: getFirstMatch(/(?:mxios)[\s\/](\d+(?:\.\d+)+)/i)
8195      }
8196    }
8197    else if (/epiphany/i.test(ua)) {
8198      result = {
8199        name: 'Epiphany'
8200        , epiphany: t
8201        , version: getFirstMatch(/(?:epiphany)[\s\/](\d+(?:\.\d+)+)/i)
8202      }
8203    }
8204    else if (/puffin/i.test(ua)) {
8205      result = {
8206        name: 'Puffin'
8207        , puffin: t
8208        , version: getFirstMatch(/(?:puffin)[\s\/](\d+(?:\.\d+)?)/i)
8209      }
8210    }
8211    else if (/sleipnir/i.test(ua)) {
8212      result = {
8213        name: 'Sleipnir'
vendor: 12,235 bytes, lines 8214-8623
8214        , sleipnir: t
8215        , version: getFirstMatch(/(?:sleipnir)[\s\/](\d+(?:\.\d+)+)/i)
8216      }
8217    }
8218    else if (/k-meleon/i.test(ua)) {
8219      result = {
8220        name: 'K-Meleon'
8221        , kMeleon: t
8222        , version: getFirstMatch(/(?:k-meleon)[\s\/](\d+(?:\.\d+)+)/i)
8223      }
8224    }
8225    else if (windowsphone) {
8226      result = {
8227        name: 'Windows Phone'
8228      , windowsphone: t
8229      }
8230      if (edgeVersion) {
8231        result.msedge = t
8232        result.version = edgeVersion
8233      }
8234      else {
8235        result.msie = t
8236        result.version = getFirstMatch(/iemobile\/(\d+(\.\d+)?)/i)
8237      }
8238    }
8239    else if (/msie|trident/i.test(ua)) {
8240      result = {
8241        name: 'Internet Explorer'
8242      , msie: t
8243      , version: getFirstMatch(/(?:msie |rv:)(\d+(\.\d+)?)/i)
8244      }
8245    } else if (chromeos) {
8246      result = {
8247        name: 'Chrome'
8248      , chromeos: t
8249      , chromeBook: t
8250      , chrome: t
8251      , version: getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)
8252      }
8253    } else if (/chrome.+? edge/i.test(ua)) {
8254      result = {
8255        name: 'Microsoft Edge'
8256      , msedge: t
8257      , version: edgeVersion
8258      }
8259    }
8260    else if (/vivaldi/i.test(ua)) {
8261      result = {
8262        name: 'Vivaldi'
8263        , vivaldi: t
8264        , version: getFirstMatch(/vivaldi\/(\d+(\.\d+)?)/i) || versionIdentifier
8265      }
8266    }
8267    else if (sailfish) {
8268      result = {
8269        name: 'Sailfish'
8270      , sailfish: t
8271      , version: getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i)
8272      }
8273    }
8274    else if (/seamonkey\//i.test(ua)) {
8275      result = {
8276        name: 'SeaMonkey'
8277      , seamonkey: t
8278      , version: getFirstMatch(/seamonkey\/(\d+(\.\d+)?)/i)
8279      }
8280    }
8281    else if (/firefox|iceweasel|fxios/i.test(ua)) {
8282      result = {
8283        name: 'Firefox'
8284      , firefox: t
8285      , version: getFirstMatch(/(?:firefox|iceweasel|fxios)[ \/](\d+(\.\d+)?)/i)
8286      }
8287      if (/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(ua)) {
8288        result.firefoxos = t
8289      }
8290    }
8291    else if (silk) {
8292      result =  {
8293        name: 'Amazon Silk'
8294      , silk: t
8295      , version : getFirstMatch(/silk\/(\d+(\.\d+)?)/i)
8296      }
8297    }
8298    else if (/phantom/i.test(ua)) {
8299      result = {
8300        name: 'PhantomJS'
8301      , phantom: t
8302      , version: getFirstMatch(/phantomjs\/(\d+(\.\d+)?)/i)
8303      }
8304    }
8305    else if (/slimerjs/i.test(ua)) {
8306      result = {
8307        name: 'SlimerJS'
8308        , slimer: t
8309        , version: getFirstMatch(/slimerjs\/(\d+(\.\d+)?)/i)
8310      }
8311    }
8312    else if (/blackberry|\bbb\d+/i.test(ua) || /rim\stablet/i.test(ua)) {
8313      result = {
8314        name: 'BlackBerry'
8315      , blackberry: t
8316      , version: versionIdentifier || getFirstMatch(/blackberry[\d]+\/(\d+(\.\d+)?)/i)
8317      }
8318    }
8319    else if (webos) {
8320      result = {
8321        name: 'WebOS'
8322      , webos: t
8323      , version: versionIdentifier || getFirstMatch(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i)
8324      };
8325      /touchpad\//i.test(ua) && (result.touchpad = t)
8326    }
8327    else if (/bada/i.test(ua)) {
8328      result = {
8329        name: 'Bada'
8330      , bada: t
8331      , version: getFirstMatch(/dolfin\/(\d+(\.\d+)?)/i)
8332      };
8333    }
8334    else if (tizen) {
8335      result = {
8336        name: 'Tizen'
8337      , tizen: t
8338      , version: getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i) || versionIdentifier
8339      };
8340    }
8341    else if (/qupzilla/i.test(ua)) {
8342      result = {
8343        name: 'QupZilla'
8344        , qupzilla: t
8345        , version: getFirstMatch(/(?:qupzilla)[\s\/](\d+(?:\.\d+)+)/i) || versionIdentifier
8346      }
8347    }
8348    else if (/chromium/i.test(ua)) {
8349      result = {
8350        name: 'Chromium'
8351        , chromium: t
8352        , version: getFirstMatch(/(?:chromium)[\s\/](\d+(?:\.\d+)?)/i) || versionIdentifier
8353      }
8354    }
8355    else if (/chrome|crios|crmo/i.test(ua)) {
8356      result = {
8357        name: 'Chrome'
8358        , chrome: t
8359        , version: getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)
8360      }
8361    }
8362    else if (android) {
8363      result = {
8364        name: 'Android'
8365        , version: versionIdentifier
8366      }
8367    }
8368    else if (/safari|applewebkit/i.test(ua)) {
8369      result = {
8370        name: 'Safari'
8371      , safari: t
8372      }
8373      if (versionIdentifier) {
8374        result.version = versionIdentifier
8375      }
8376    }
8377    else if (iosdevice) {
8378      result = {
8379        name : iosdevice == 'iphone' ? 'iPhone' : iosdevice == 'ipad' ? 'iPad' : 'iPod'
8380      }
8381      // WTF: version is not part of user agent in web apps
8382      if (versionIdentifier) {
8383        result.version = versionIdentifier
8384      }
8385    }
8386    else if(/googlebot/i.test(ua)) {
8387      result = {
8388        name: 'Googlebot'
8389      , googlebot: t
8390      , version: getFirstMatch(/googlebot\/(\d+(\.\d+))/i) || versionIdentifier
8391      }
8392    }
8393    else {
8394      result = {
8395        name: getFirstMatch(/^(.*)\/(.*) /),
8396        version: getSecondMatch(/^(.*)\/(.*) /)
8397     };
8398   }
8399
8400    // set webkit or gecko flag for browsers based on these engines
8401    if (!result.msedge && /(apple)?webkit/i.test(ua)) {
8402      if (/(apple)?webkit\/537\.36/i.test(ua)) {
8403        result.name = result.name || "Blink"
8404        result.blink = t
8405      } else {
8406        result.name = result.name || "Webkit"
8407        result.webkit = t
8408      }
8409      if (!result.version && versionIdentifier) {
8410        result.version = versionIdentifier
8411      }
8412    } else if (!result.opera && /gecko\//i.test(ua)) {
8413      result.name = result.name || "Gecko"
8414      result.gecko = t
8415      result.version = result.version || getFirstMatch(/gecko\/(\d+(\.\d+)?)/i)
8416    }
8417
8418    // set OS flags for platforms that have multiple browsers
8419    if (!result.windowsphone && !result.msedge && (android || result.silk)) {
8420      result.android = t
8421    } else if (!result.windowsphone && !result.msedge && iosdevice) {
8422      result[iosdevice] = t
8423      result.ios = t
8424    } else if (mac) {
8425      result.mac = t
8426    } else if (xbox) {
8427      result.xbox = t
8428    } else if (windows) {
8429      result.windows = t
8430    } else if (linux) {
8431      result.linux = t
8432    }
8433
8434    // OS version extraction
8435    var osVersion = '';
8436    if (result.windowsphone) {
8437      osVersion = getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i);
8438    } else if (iosdevice) {
8439      osVersion = getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i);
8440      osVersion = osVersion.replace(/[_\s]/g, '.');
8441    } else if (android) {
8442      osVersion = getFirstMatch(/android[ \/-](\d+(\.\d+)*)/i);
8443    } else if (result.webos) {
8444      osVersion = getFirstMatch(/(?:web|hpw)os\/(\d+(\.\d+)*)/i);
8445    } else if (result.blackberry) {
8446      osVersion = getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i);
8447    } else if (result.bada) {
8448      osVersion = getFirstMatch(/bada\/(\d+(\.\d+)*)/i);
8449    } else if (result.tizen) {
8450      osVersion = getFirstMatch(/tizen[\/\s](\d+(\.\d+)*)/i);
8451    }
8452    if (osVersion) {
8453      result.osversion = osVersion;
8454    }
8455
8456    // device type extraction
8457    var osMajorVersion = osVersion.split('.')[0];
8458    if (
8459         tablet
8460      || nexusTablet
8461      || iosdevice == 'ipad'
8462      || (android && (osMajorVersion == 3 || (osMajorVersion >= 4 && !mobile)))
8463      || result.silk
8464    ) {
8465      result.tablet = t
8466    } else if (
8467         mobile
8468      || iosdevice == 'iphone'
8469      || iosdevice == 'ipod'
8470      || android
8471      || nexusMobile
8472      || result.blackberry
8473      || result.webos
8474      || result.bada
8475    ) {
8476      result.mobile = t
8477    }
8478
8479    // Graded Browser Support
8480    // http://developer.yahoo.com/yui/articles/gbs
8481    if (result.msedge ||
8482        (result.msie && result.version >= 10) ||
8483        (result.yandexbrowser && result.version >= 15) ||
8484		    (result.vivaldi && result.version >= 1.0) ||
8485        (result.chrome && result.version >= 20) ||
8486        (result.samsungBrowser && result.version >= 4) ||
8487        (result.firefox && result.version >= 20.0) ||
8488        (result.safari && result.version >= 6) ||
8489        (result.opera && result.version >= 10.0) ||
8490        (result.ios && result.osversion && result.osversion.split(".")[0] >= 6) ||
8491        (result.blackberry && result.version >= 10.1)
8492        || (result.chromium && result.version >= 20)
8493        ) {
8494      result.a = t;
8495    }
8496    else if ((result.msie && result.version < 10) ||
8497        (result.chrome && result.version < 20) ||
8498        (result.firefox && result.version < 20.0) ||
8499        (result.safari && result.version < 6) ||
8500        (result.opera && result.version < 10.0) ||
8501        (result.ios && result.osversion && result.osversion.split(".")[0] < 6)
8502        || (result.chromium && result.version < 20)
8503        ) {
8504      result.c = t
8505    } else result.x = t
8506
8507    return result
8508  }
8509
8510  var bowser = detect(typeof navigator !== 'undefined' ? navigator.userAgent || '' : '')
8511
8512  bowser.test = function (browserList) {
8513    for (var i = 0; i < browserList.length; ++i) {
8514      var browserItem = browserList[i];
8515      if (typeof browserItem=== 'string') {
8516        if (browserItem in bowser) {
8517          return true;
8518        }
8519      }
8520    }
8521    return false;
8522  }
8523
8524  /**
8525   * Get version precisions count
8526   *
8527   * @example
8528   *   getVersionPrecision("1.10.3") // 3
8529   *
8530   * @param  {string} version
8531   * @return {number}
8532   */
8533  function getVersionPrecision(version) {
8534    return version.split(".").length;
8535  }
8536
8537  /**
8538   * Array::map polyfill
8539   *
8540   * @param  {Array} arr
8541   * @param  {Function} iterator
8542   * @return {Array}
8543   */
8544  function map(arr, iterator) {
8545    var result = [], i;
8546    if (Array.prototype.map) {
8547      return Array.prototype.map.call(arr, iterator);
8548    }
8549    for (i = 0; i < arr.length; i++) {
8550      result.push(iterator(arr[i]));
8551    }
8552    return result;
8553  }
8554
8555  /**
8556   * Calculate browser version weight
8557   *
8558   * @example
8559   *   compareVersions(['1.10.2.1',  '1.8.2.1.90'])    // 1
8560   *   compareVersions(['1.010.2.1', '1.09.2.1.90']);  // 1
8561   *   compareVersions(['1.10.2.1',  '1.10.2.1']);     // 0
8562   *   compareVersions(['1.10.2.1',  '1.0800.2']);     // -1
8563   *
8564   * @param  {Array<String>} versions versions to compare
8565   * @return {Number} comparison result
8566   */
8567  function compareVersions(versions) {
8568    // 1) get common precision for both versions, for example for "10.0" and "9" it should be 2
8569    var precision = Math.max(getVersionPrecision(versions[0]), getVersionPrecision(versions[1]));
8570    var chunks = map(versions, function (version) {
8571      var delta = precision - getVersionPrecision(version);
8572
8573      // 2) "9" -> "9.0" (for precision = 2)
8574      version = version + new Array(delta + 1).join(".0");
8575
8576      // 3) "9.0" -> ["000000000"", "000000009"]
8577      return map(version.split("."), function (chunk) {
8578        return new Array(20 - chunk.length).join("0") + chunk;
8579      }).reverse();
8580    });
8581
8582    // iterate in reverse order by reversed chunks array
8583    while (--precision >= 0) {
8584      // 4) compare: "000000009" > "000000010" = false (but "9" > "10" = true)
8585      if (chunks[0][precision] > chunks[1][precision]) {
8586        return 1;
8587      }
8588      else if (chunks[0][precision] === chunks[1][precision]) {
8589        if (precision === 0) {
8590          // all version chunks are same
8591          return 0;
8592        }
8593      }
8594      else {
8595        return -1;
8596      }
8597    }
8598  }
8599
8600  /**
8601   * Check if browser is unsupported
8602   *
8603   * @example
8604   *   bowser.isUnsupportedBrowser({
8605   *     msie: "10",
8606   *     firefox: "23",
8607   *     chrome: "29",
8608   *     safari: "5.1",
8609   *     opera: "16",
8610   *     phantom: "534"
8611   *   });
8612   *
8613   * @param  {Object}  minVersions map of minimal version to browser
8614   * @param  {Boolean} [strictMode = false] flag to return false if browser wasn't found in map
8615   * @param  {String}  [ua] user agent string
8616   * @return {Boolean}
8617   */
8618  function isUnsupportedBrowser(minVersions, strictMode, ua) {
8619    var _bowser = bowser;
8620
8621    // make strictMode param optional with ua param usage
8622    if (typeof strictMode === 'string') {
8623      ua = strictMode;
8624      strictMode = void(0);
8625    }
8626
8627    if (strictMode === void(0)) {
8628      strictMode = false;
8629    }
8630    if (ua) {
8631      _bowser = detect(ua);
8632    }
8633
8634    var version = "" + _bowser.version;
8635    for (var browser in minVersions) {
8636      if (minVersions.hasOwnProperty(browser)) {
8637        if (_bowser[browser]) {
8638          if (typeof minVersions[browser] !== 'string') {
8639            throw new Error('Browser version in the minVersion map should be a string: ' + browser + ': ' + String(minVersions));
8640          }
8641
8642          // browser version and min supported version.
8643          return compareVersions([version, minVersions[browser]]) < 0;
8644        }
8645      }
8646    }
8647
8648    return strictMode; // not found
8649  }
8650
8651  /**
8652   * Check if browser is supported
8653   *
8654   * @param  {Object} minVersions map of minimal version to browser
8655   * @param  {Boolean} [strictMode = false] flag to return false if browser wasn't found in map
8656   * @param  {String}  [ua] user agent string
8657   * @return {Boolean}
8658   */
8659  function check(minVersions, strictMode, ua) {
8660    return !isUnsupportedBrowser(minVersions, strictMode, ua);
8661  }
8662
8663  bowser.isUnsupportedBrowser = isUnsupportedBrowser;
8664  bowser.compareVersions = compareVersions;
8665  bowser.check = check;
8666
8667  /*
8668   * Set our detect method to the main bowser object so we can
8669   * reuse it to test other user agents.
8670   * This is needed to implement future tests.
8671   */
8672  bowser._detect = detect;
8673
8674  return bowser
8675});
8676;
8677/*!
8678 * @preserve
8679 *
8680 * Readmore.js jQuery plugin
8681 * Author: @jed_foster
8682 * Project home: http://jedfoster.github.io/Readmore.js
8683 * Licensed under the MIT license
8684 *
8685 * Debounce function from http://davidwalsh.name/javascript-debounce-function
8686 */
8687!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports?module.exports=e(require("jquery")):e(jQuery)}(function(e){"use strict";function t(e,t,i){var a;return function(){var n=this,o=arguments,r=function(){a=null,i||e.apply(n,o)},s=i&&!a;clearTimeout(a),a=setTimeout(r,t),s&&e.apply(n,o)}}function i(e){var t=++h;return String(null==e?"rmjs-":e)+t}function a(e){var t=e.clone().css({height:"auto",width:e.width(),maxHeight:"none",overflow:"hidden"}).insertAfter(e),i=t.outerHeight(),a=parseInt(t.css({maxHeight:""}).css("max-height").replace(/[^-\d\.]/g,""),10),n=e.data("defaultHeight");t.remove();var o=a||e.data("collapsedHeight")||n;e.data({expandedHeight:i,maxHeight:a,collapsedHeight:o}).css({maxHeight:"none"})}function n(e){if(!d[e.selector]){var t=" ";e.embedCSS&&""!==e.blockCSS&&(t+=e.selector+" + [data-readmore-toggle], "+e.selector+"[data-readmore]{"+e.blockCSS+"}"),t+=e.selector+"[data-readmore]{transition: height "+e.speed+"ms;overflow: hidden;}",function(e,t){var i=e.createElement("style");i.type="text/css",i.styleSheet?i.styleSheet.cssText=t:i.appendChild(e.createTextNode(t)),e.getElementsByTagName("head")[0].appendChild(i)}(document,t),d[e.selector]=!0}}function o(t,i){this.element=t,this.options=e.extend({},s,i),n(this.options),this._defaults=s,this._name=r,this.init(),window.addEventListener?(window.addEventListener("load",l),window.addEventListener("resize",l)):(window.attachEvent("load",l),window.attachEvent("resize",l))}var r="readmore",s={speed:100,collapsedHeight:200,heightMargin:16,insertBefore:!1,moreLink:'<a href="#">Read More</a>',lessLink:'<a href="#">Close</a>',embedCSS:!0,blockCSS:"display: block; width: 100%;",startOpen:!1,beforeToggle:function(){},afterToggle:function(){}},d={},h=0,l=t(function(){e("[data-readmore]").each(function(){var t=e(this),i="true"===t.attr("aria-expanded");a(t),t.css({height:t.data(i?"expandedHeight":"collapsedHeight")})})},100);o.prototype={init:function(){var t=e(this.element);t.data({defaultHeight:this.options.collapsedHeight,heightMargin:this.options.heightMargin}),a(t);var n=t.data("collapsedHeight"),o=t.data("heightMargin");if(t.outerHeight(!0)<=n+o)return!0;var r=t.attr("id")||i(),s=this.options.startOpen?this.options.lessLink:this.options.moreLink;t.attr({"data-readmore":"","aria-expanded":this.options.startOpen,id:r});var d=e(s).on("click",function(e){return function(i){e.toggle(this,t[0],i)}}(this)).attr({"data-readmore-toggle":"","aria-controls":r});this.options.insertBefore?t.before(d):t.after(d),this.options.startOpen||t.css({height:n})},toggle:function(t,i,a){a&&a.preventDefault(),t||(t=e('[aria-controls="'+_this.element.i
8687d+'"]')[0]),i||(i=_this.element);var n=e(i),o="",r="",s=!1,d=n.data("collapsedHeight");n.height()<=d?(o=n.data("expandedHeight")+"px",r="lessLink",s=!0):(o=d,r="moreLink"),this.options.beforeToggle(t,n,!s),n.css({height:o}),n.on("transitionend",function(i){return function(){i.options.afterToggle(t,n,s),e(this).attr({"aria-expanded":s}).off("transitionend")}}(this)),e(t).replaceWith(e(this.options[r]).on("click",function(e){return function(t){e.toggle(this,i,t)}}(this)).attr({"data-readmore-toggle":"","aria-controls":n.attr("id")}))},destroy:function(){e(this.element).each(function(){var t=e(this);t.attr({"data-readmore":null,"aria-expanded":null}).css({maxHeight:"",height:""}).next("[data-readmore-toggle]").remove(),t.removeData()})}},e.fn.readmore=function(t){var i=arguments,a=this.selector;return t=t||{},"object"==typeof t?this.each(function(){if(e.data(this,"plugin_"+r)){var i=e.data(this,"plugin_"+r);i.destroy.apply(i)}t.selector=a,e.data(this,"plugin_"+r,new o(this,t))}):"string"==typeof t&&"_"!==t[0]&&"init"!==t?this.each(function(){var a=e.data(this,"plugin_"+r);a instanceof o&&"function"==typeof a[t]&&a[t].apply(a,Array.prototype.slice.call(i,1))}):void 0}});;
8688"use strict";
8689
8690var utils = (function () {
8691    function Utils() {
8692        var me = this;
8693        me.DefaultSchoolImageUrl = "/Content/images/default-school-image.svg";
8694        me.DefaultClassImageUrl = "/Content/images/default-class-image.svg";
8695        me.DefaultGroupImageUrl = "/Content/images/default-group-image.svg";
8696        me.DefaultUserAvatarUrl = "/Content/images/default-user-avatar.svg";
8697    }
8698
8699    Utils.prototype.WhiteSpaceRegExpr = /[\s\uFEFF\xA0]+/g;
8700
8701    Utils.prototype.getUserProfilePageUrl = function(userId) {
8702        return "/faculty/" + userId + "/profile";
8703    };
8704
8705    Utils.prototype.getClassLandingPageUrl = function(publicPresenceSectionId) {
8706        return "/classes/" + publicPresenceSectionId;
8707    }
8708
8709    Utils.prototype.getGroupLandingPageUrl = function (publicPresenceSectionId) {
8710        return "/groups/" + publicPresenceSectionId;
8711    }
8712
8713    Utils.prototype.getEmailUrl = function(email) {
8714        return "mailto:" + email;
8715    };
8716
8717    Utils.prototype.normalize = function(str) {
8718        return $.trim(str).toLowerCase();
8719    };
8720
8721    Utils.prototype.splitByWhiteSpace = function (text) {
8722        return $.trim(text).replace(SearchInput.WhiteSpaceRegExpr, " ").split(" ");
8723    };
8724
8725    Utils.prototype.resolveSiteUrl = function (domainName) {
8726        return "http://" + domainName;
8727    };
8728
8729    Utils.prototype.resolveSchoolCoverImage = function (coverTileImageUrl) {
8730        return coverTileImageUrl || this.DefaultSchoolImageUrl;
8731    }
8732
8733    Utils.prototype.resolveClassCoverImage = function(coverTileImageUrl) {
8734        return coverTileImageUrl || this.DefaultClassImageUrl;
8735    }
8736
8737    Utils.prototype.resolveGroupCoverImage = function(coverTileImageUrl) {
8738        return coverTileImageUrl || this.DefaultGroupImageUrl;
8739    }
8740
8741    Utils.prototype.resolveUserAvatar = function(avatarUrl) {
8742        return avatarUrl || this.DefaultUserAvatarUrl;
8743    };
8744
8745    Utils.prototype.sortByName = function (items) {
8746        var leftName, rightName;
8747
8748        items.sort(function (left, right) {
8749            leftName = left.name;
8750            rightName = right.name;
8751            return leftName.localeCompare(rightName);
8752        });
8753    };
8754
8755    Utils.prototype.humanizeUserName = function(user) {
8756        return user.nameFirst + " " + user.nameLast;
8757    };
8758
8759    Utils.prototype.humanizeUserNamePossessiveForm = function(user) {
8760        return user.nameFirst + " " + 
8761            (user.nameLast.substr(-1).toLowerCase() === "s" ? user.nameLast + "'" : user.nameLast + "'s");
8762    };
8763
8764    Utils.prototype.getUserTypeName = function(userTypeEnum, userType) {
8765        return _.invert(userTypeEnum)[userType];
8766    };
8767    
8768    Utils.prototype.profilesComparator = function(greater, lesser){
8769        var result = greater.user.nameLast.localeCompare(lesser.user.nameLast);
8770        return result || greater.user.nameFirst.localeCompare(lesser.user.nameFirst);
8771    };
8772
8773    return new Utils();
8774})();;
8775var globalConfigObj = {
8776    owlAutoplayAriaLabels: {
8777        default: {
8778            PLAY: 'Autoplay',
8779            PAUSE: 'Pause'
8780        },
8781        headerImage: {
8782            PLAY: 'Autoplay background image',
8783            PAUSE: 'Pause background image'
8784        },
8785        image: {
8786            PLAY: 'Autoplay image',
8787            PAUSE: 'Pause image'
8788        },
8789        feed: {
8790            PLAY: 'Autoplay feed posts',
8791            PAUSE: 'Pause feed posts'
8792        },
8793        event: {
8794            PLAY: 'Autoplay events',
8795            PAUSE: 'Pause events'
8796        }
8797    },
8798    videoAutoplayAriaLabels: {
8799        videoFile: {
8800            PLAY: 'Play background video',
8801            PAUSE: 'Pause background video'
8802        }
8803    }
8804};
8805
8806$(function () {
8807    // detection browser and os
8808    var browserClass, osClass;
8809
8810    // browser detect
8811    switch (true) {
8812        case bowser.chrome:
8813            browserClass = 'chrome';
8814            break;
8815        case bowser.msie:
8816            browserClass = 'msie';
8817            break;
8818        case bowser.msedge:
8819            browserClass = 'msedge';
8820            break;
8821        case bowser.firefox:
8822            browserClass = 'firefox'
8823            break;
8824        case bowser.safari:
8825            browserClass = 'safari';
8826            break;
8827    }
8828
8829    // OS detect
8830    switch (true) {
8831        case bowser.mac:
8832            osClass = 'mac';
8833            break;
8834        case bowser.windows:
8835            osClass = 'windows';
8836            break;
8837        case bowser.linux:
8838            osClass = 'linux';
8839            break;
8840        case bowser.windowsphone:
8841            osClass = 'windowsphone';
8842            break;
8843        case bowser.ios:
8844            osClass = 'ios';
8845            break;
8846        case bowser.android:
8847            osClass = 'android';
8848            break;
8849    }
8850
8851    $('html').addClass(browserClass + ' ' + osClass);
8852
8853    var cssUrl = $(document.head).find("[href^='/css/theme']")[0].getAttribute("href").split("?")[0];
8854    $.data(window, 'css-url', cssUrl);
8855
8856    // Convert Events To Local Time
8857    $.fn.convertEventsToLocalTime = function ($elementsRoot) {
8858        var $timeElementsRoot = $elementsRoot || $("html");
8859        var $timeElements = $timeElementsRoot.find("time[data-utc-time]");
8860
8861        $timeElements.each(function () {
8862                var utcTimeStr = $(this).attr('data-utc-time');
8863                var localTime = moment.utc(utcTimeStr).toDate();
8864
8865                if ($(this).attr('data-local-time-ready')) {
8866                    return;
8867                }
8868
8869                $(this).attr('datetime', moment(localTime).format('YYYY-MM-DD HH:mm:ss'));
8870                $(this).find('.event-month').text(moment(localTime).format('MMM'));
8871                $(this).find('.event-day-number').text(moment(localTime).format('D'));
8872
8873                if ($(this).hasClass('event-time')) {
8874                    $(this).text(moment(localTime).format('h:mm a'));
8875                }
8876
8877                $(this).attr('data-local-time-ready', true);
8878            }
8879        );
8880    };
8881
8882    $.fn.convertEventsToLocalTime();
8883
8884    //global menu toggle
8885    $('.menu-button-expand').addClass('menu-button-visible');
8886
8887    var $navigationMenu = $('nav');
8888    var $navigationMenuList = $navigationMenu.find('.nav-list');
8889    var navigationMenuFocusableElements = $navigationMenuList.find('li.nav-item').not('li.nav-item[data-hidden-item=\"true\"]').children('a.nav-item-link');
8890    var navigationMenuFirstFocusableElement = $('.menu-button-close');
8891    var navigationMenuLastFocusableElement = navigationMenuFocusableElements[navigationMenuFocusableElements.length - 1];
8892
8893    function navigationMenuTabInterceptor(event) {
8894        var isTabPressed = (event.which === $.ui.keyCode.TAB);
8895        if (!isTabPressed) {
8896            return;
8897        }
8898        var target = event.target;
8899        if (event.shiftKey) {
8900            if (!target.closest('nav')) {
8901                navigationMenuLastFocusableElement.focus();
8902            }
8903        } else {
8904            if (!target.closest('nav')) {
8905                navigationMenuFirstFocusableElement.focus();
8906            }
8907        }
8908    }
8909
8910    $('.menu-button').on('click', function () {
8911        var $this = $(this);
8912
8913        if ($this.is('.menu-button-expand')) {
8914            $this.removeClass('menu-button-visible');
8915            $navigationMenu.addClass('nav-show');
8916            $('.menu-button-close').addClass('menu-button-visible').focus().blur();
8917            $('html').addClass('no-scroll mobile-navigation-opened');
8918
8919            $(document).on("keyup", navigationMenuTabInterceptor);
8920        } else if ($this.is('.menu-button-close')) {
8921            $this.removeClass('menu-button-visible');
8922            $navigationMenu.removeClass('nav-show');
8923            $('.menu-button-expand').addClass('menu-button-visible').focus().blur();
8924            $('html').removeClass('no-scroll mobile-navigation-opened');
8925
8926            $(document).off("keyup", navigationMenuTabInterceptor);
8927        }
8928    });
8929
8930    // Header image gallery
8931    var HeaderGalleryBlock = $("header .header-container .header-content-block.images");
8932
8933    if (HeaderGalleryBlock.length) {
8934        HeaderGalleryBlock.find(".bg-img").each(function () {
8935            var $this = $(this),
8936                div = $("<div class='bg-img' style='background-image:url(" + this.getAttribute('src') + ");' alt='" + this.getAttribute('alt') + "'></div>");
8937
8938            $this.parent().append(div);
8939            $this.remove();
8940        });
8941    }
8942
8943    $.fn.prepareHeaderImageCarouselNav = function (autoplayTimeout) {
8944        var $this = $(this);
8945        var $headerImageCarouselNav = $('#headerImageCarouselNav');
8946        var NAV_ARIA_LABELS = {
8947            PREV: 'Previous background image',
8948            NEXT: 'Next background image'
8949        };
8950
8951        $headerImageCarouselNav.find('.owl-prev')
8952            .attr('role', 'button')
8953            .attr('aria-label', NAV_ARIA_LABELS.PREV);
8954        $headerImageCarouselNav.find('.owl-next')
8955            .attr('role', 'button')
8956            .attr('aria-label', NAV_ARIA_LABELS.NEXT);
8957
8958        addOwlAutoplayToggle($this, autoplayTimeout, globalConfigObj.owlAutoplayAriaLabels.headerImage, function (button) {
8959            $headerImageCarouselNav.find('.owl-next').before(button);
8960        });
8961    };
8962
8963    $.fn.addContentOwlAutoplayToggle = function (autoplayTimeout, AUTOPLAY_ARIA_LABELS, appendTarget) {
8964        var $this = $(this);
8965        var target = appendTarget || $this.find('.owl-nav');
8966        var ARIA_LABELS = AUTOPLAY_ARIA_LABELS || globalConfigObj.owlAutoplayAriaLabels.default;
8967
8968        $this.parents('.content-block, .header-content-block').addClass('with-autoplay-enabled');
8969
8970        addOwlAutoplayToggle($this, autoplayTimeout, ARIA_LABELS, function (button) {
8971            target.append(button);
8972        });
8973    };
8974
8975    function addOwlAutoplayToggle($carousel, autoplayTimeout, ARIA_LABELS, moveToggleButton) {
8976        var isAutoplayPaused = false;
8977        var carouselData = $carousel.data('owlCarousel');
8978        var $autoplayToggleButton = $('<div class="owl-autoplay-toggle" role="button" tabindex="0"></div>').attr('aria-label', ARIA_LABELS.PAUSE);
8979
8980        if (typeof moveToggleButton === "function") {
8981            moveToggleButton($autoplayToggleButton);
8982        }
8983
8984        $autoplayToggleButton.on('click', function () {
8985            if (isAutoplayPaused) {
8986                carouselData.settings.autoplay = true;
8987                carouselData.options.autoplay = true;
8988                $carousel.trigger('play.owl.autoplay', autoplayTimeout);
8989
8990                $autoplayToggleButton
8991                    .removeClass('owl-autoplay-paused')
8992                    .attr('aria-label', ARIA_LABELS.PAUSE);
8993            } else {
8994                $carousel.trigger('stop.owl.autoplay');
8995                carouselData.settings.autoplay = false;
8996                carouselData.options.autoplay = false;
8997
8998                $autoplayToggleButton
8999                    .addClass('owl-autoplay-paused')
9000                    .attr('aria-label', ARIA_LABELS.PLAY);
9001            }
9002
9003            isAutoplayPaused = !isAutoplayPaused;
9004        });
9005    }
9006
9007    $.fn.adjustOwlDots = function (event, isLooped) {
9008        var element = event.target,
9009            items = event.page ? event.page.count : event.item.count,
9010            item = event.page ? event.page.index + 1 : event.item.count,
9011            nMax, nMaxRounded;
9012
9013        var dotWidth = $(element).find('.owl-dot').outerWidth(true),
9014            dotsTotalWidth = dotWidth * items,
9015            dotsBlockWidthMargin = $(element).find('.owl-dots').outerWidth(true) - $(element).find('.owl-dots').outerWidth(),
9016            owlControlsPadding = $(element).find('.owl-controls').outerWidth() - $(element).find('.owl-controls').width(),
9017            dotsBlockWidthMax = $(element).outerWidth() - dotsBlockWidthMargin - owlControlsPadding;
9018
9019        nMax = (dotsBlockWidthMax / 2) / dotWidth;
9020        nMax = nMax <= items ? nMax : false;
9021
9022        nMaxRounded = Math.round(nMax);
9023
9024        if ((!!nMax) && (dotsTotalWidth >= dotsBlockWidthMax)) {
9025            if (!isLooped) {
9026                if ((item >= nMaxRounded) && (item <= items - nMaxRounded)) {
9027                    $(element).find('.owl-dot').css('left', -dotWidth * (item - nMax));
9028                }
9029            } else {
9030                if ((item > nMaxRounded) && (item < items - nMaxRounded)) {
9031                    $(element).find('.owl-dot').css('left', -dotWidth * (item - nMax));
9032                } else if (item <= nMaxRounded) {
9033                    $(element).find('.owl-dot').css('left', 0);
9034                } else if (item >= items - nMaxRounded) {
9035                    $(element).find('.owl-dot').css('left', -dotWidth * ((items) - nMax * 2));
9036                }
9037            }
9038        }
9039    }
9040
9041    // Header video block
9042    var initHeaderVideoBlock = function () {
9043        var videoFileElement = document.getElementById("videoFileElement");
9044        var $videoFileElement = $(videoFileElement);
9045
9046        if ($videoFileElement.length < 1) {
9047            return;
9048        }
9049
9050        var $headerContainer = $(".header-container");
9051        if ($headerContainer.is(".has-black-bg-video-file-block")) {
9052            $("html").addClass("has-black-bg-video-file-block");
9053        } else if ($headerContainer.is(".has-white-bg-video-file-block")) {
9054            $("html").addClass("has-white-bg-video-file-block");
9055        }
9056
9057        var $videoFilePoster = $("#videoFilePoster");
9058        var $videoPlayToggleButton = $("#videoPlayToggle");
9059
9060        var isLooped = $videoFileElement.attr("loop");
9061        var playbackSpeed = $videoFileElement.attr("data-playback-speed") || 1;
9062
9063        if ($("header").is(".header-subpage-main")) {
9064            $videoPlayToggleButton.addClass("on-subpage");
9065        }
9066
9067        $videoPlayToggleButton.insertAfter($(".skip-to-content"));
9068
9069        videoFileElement.playbackRate = playbackSpeed;
9070
9071        var playPromise = videoFileElement.play();
9072        var isVideoPlaying = true;
9073        var isVideoHiddenAtEnd = false;
9074        var VIDEO_TO_POSTER_TRANSITION = 100;
9075
9076        playPromise.then(function () {
9077            $videoPlayToggleButton.attr('aria-label', globalConfigObj.videoAutoplayAriaLabels.videoFile.PAUSE);
9078
9079            $videoPlayToggleButton.on("click", function () {
9080                if (isVideoPlaying) {
9081                    videoFileElement.pause();
9082                    $videoPlayToggleButton.attr('aria-label', globalConfigObj.videoAutoplayAriaLabels.videoFile.PLAY);
9083                    isVideoPlaying = false;
9084                } else {
9085                    if (isVideoHiddenAtEnd) {
9086                        $videoFilePoster.fadeOut(VIDEO_TO_POSTER_TRANSITION).promise().done(function () {
9087                            $videoFileElement.fadeIn(VIDEO_TO_POSTER_TRANSITION);
9088                        });
9089
9090                        isVideoHiddenAtEnd = false;
9091                    }
9092                    videoFileElement.playbackRate = playbackSpeed;
9093                    videoFileElement.play();
9094                    $videoPlayToggleButton.attr('aria-label', globalConfigObj.videoAutoplayAriaLabels.videoFile.PAUSE);
9095                    isVideoPlaying = true;
9096                }
9097                setPlayButtonStyle();
9098            });
9099
9100            if (!isLooped) {
9101                addNotLoopPosterBehavior();
9102            }
9103        })
9104            .catch(error => {
9105                console.log(error);
9106            });
9107
9108        function addNotLoopPosterBehavior() {
9109            videoFileElement.addEventListener('ended', function () {
9110                isVideoPlaying = false;
9111                setPlayButtonStyle();
9112                $videoFileElement.fadeOut(VIDEO_TO_POSTER_TRANSITION).promise().done(function () {
9113                    $videoFilePoster.fadeIn(VIDEO_TO_POSTER_TRANSITION);
9114                });
9115
9116                isVideoHiddenAtEnd = true;
9117            });
9118        }
9119
9120        function setPlayButtonStyle() {
9121            if (isVideoPlaying) {
9122                $videoPlayToggleButton.removeClass("play");
9123            } else {
9124                $videoPlayToggleButton.addClass("play");
9125            }
9126        }
9127    };
9128
9129    initHeaderVideoBlock();
9130
9131    //hack for showing empty block fake rendering 
9132    $('.empty-block').parents('.html').addClass('empty-html-block');
9133
9134    // Lightgallery init for main content feed and event blocks attachments
9135    var feedAndEventAttachmentsLightgalleryConfig = {
9136        addClass: 'light-gallery-modal',
9137        closable: false,
9138        loop: true,
9139        speed: 200,
9140        thumbnail: false,
9141        onOpen: function (lightGalleryEvent) {
9142            addAriaLabelToPluginControls('lg');
9143            $('.ui-dialog').css('visibility', 'hidden');
9144            $.fn.lightGalleryApplyAltText(lightGalleryEvent);
9145        },
9146        onSlideAfter: function (lightGalleryEvent) {
9147            $.fn.lightGalleryApplyAltText(lightGalleryEvent);
9148        },
9149        onBeforeClose: function () {
9150            $('.ui-dialog').css('visibility', 'visible');
9151        }
9152    };
9153
9154    var $feedAndEventBlockAttachments = $("main .content-block.feed .attached-img-list, main .content-block.event .attached-img-list, header .feed .attached-img-list");
9155
9156    $feedAndEventBlockAttachments.each(function (index, element) {
9157        $(element).lightGallery(feedAndEventAttachmentsLightgalleryConfig);
9158    });
9159
9160    // Header feed add new item with link to feed page
9161    $.fn.processHeaderViewFeedPageLink = function (feedList) {
9162        var $linkItem = feedList.parent('.feed').find('.view-feed-page');
9163        var hasMoreItems = $linkItem.attr('data-feed-has-more-items');
9164
9165        if (hasMoreItems === 'false') {
9166            $linkItem.hide();
9167            return;
9168        }
9169
9170        $newFeedItem = $('<li></li>').addClass('feed-post-item feed-post-link-item');
9171        $newFeedItem.append(
9172            $('<div></div>')
9173                .append($linkItem)
9174                .addClass('feed-post-link-wrapper')
9175        );
9176        feedList.append($newFeedItem);
9177    };
9178
9179    // Feed blocks processing
9180    // Feed post cover photo
9181    var createPostCoverPhotoElement = function ($postItems, targetSelector) {
9182        $postItems.each(function () {
9183            var $this = $(this);
9184            var DEFAULT_IMAGE_WIDTH = 319;
9185            var DEFAULT_IMAGE_HEIGHT = 212;
9186
9187            var $firstAttachedPhoto = $this.find('.attached-img-thumb').first();
9188
9189            if ($firstAttachedPhoto.length === 0) {
9190                return;
9191            }
9192
9193            var coverPhotoUrl = $firstAttachedPhoto.attr('data-thumb-image-url');
9194            var coverPhotoAltText = $firstAttachedPhoto.attr('data-image-alt-text');
9195            var _targetSelector = targetSelector || '.post-title';
9196
9197            var $coverPhotoElement = $("<img src='' alt=''>")
9198                .addClass('feed-post-cover-photo')
9199                .attr('width', DEFAULT_IMAGE_WIDTH)
9200                .attr('height', DEFAULT_IMAGE_HEIGHT)
9201                .attr('src', coverPhotoUrl)
9202                .attr('alt', coverPhotoAltText);
9203
9204            $coverPhotoElement.insertAfter($this.find(_targetSelector));
9205            $this.addClass('feed-post-with-cover-photo');
9206            $this.find('.post-title').wrapInner('<span class="post-title-inner"></span>')
9207        });
9208    }
9209
9210    var $postsWithCoverPhotoEnabled = $('[data-post-cover-photo-enabled]');
9211    createPostCoverPhotoElement($postsWithCoverPhotoEnabled);
9212
9213    $('.carousel-gallery').parent().prev().addClass('carousel-gallery-title');
9214
9215    //remove empty rows
9216    var $emptyRows, $contentRows;
9217    $contentRows = $('.content-row').has('.content-block');
9218    $emptyRows = $('.content-row').not($contentRows);
9219    $emptyRows.remove();
9220
9221    //no block title
9222    var $noBlockTitle, $withBlockTitle;
9223    $withBlockTitle = $('.content-block').has('.block-title');
9224    $noBlockTitle = $('.content-block').not($withBlockTitle);
9225    $noBlockTitle.addClass('no-block-title');
9226
9227    //preview mode button
9228    var $previewLabel = $('#preview'),
9229        $dismissPreviewBtn = $previewLabel.find('.dismiss-preview');
9230
9231    if (!!($previewLabel.length)) {
9232        $('html').addClass('preview-mode-enabled');
9233
9234        $dismissPreviewBtn.click(function () {
9235            $previewLabel.hide();
9236            $('html').removeClass('preview-mode-enabled');
9237        });
9238    }
9239
9240    //Text block table styling fix
9241    function setTextBlockTableStyle() {
9242        var $mainTextTables = $('main .content-block.html table');
9243
9244        if ($mainTextTables.length > 0) {
9245            $mainTextTables.each(function () {
9246                var $this = $(this),
9247                    $thisCells = $this.find('td'),
9248                    cellSpacing, cellPadding;
9249
9250                cellSpacing = $this.attr('cellspacing');
9251                cellPadding = $this.attr('cellpadding');
9252
9253                if (cellSpacing > 0) {
9254                    $this.css('border-collapse', 'separate').css('border-spacing', cellSpacing);
9255                }
9256
9257                if (cellPadding > 0) {
9258                    $thisCells.css('padding', cellPadding);
9259                }
9260            });
9261        }
9262    }
9263
9264    setTextBlockTableStyle();
9265
9266
9267    /** ReadMore plugin wrapper for themes Brochure, News and Marquee
9268     * @param {jQuery} $blocks -
9269     * @param {Object} options -
9270     */
9271    $.fn.initReadMoreForContentBlock = function ($blocks, options) {
9272        /**
9273         * @typedef {Object} options
9274         * @property {String} contentContainerSelector -
9275         * @property {number} compactBlockMaxHeight -
9276         * @property {number} excludedElementsHeight -
9277         * @property {String} moreLink -
9278         * @property {String} lessLink -
9279         */
9280        var defaultReadMoreOptions = {
9281            embedCSS: false,
9282            moreLink: '<div class="read-more-button" tabindex="0">Read more</div>',
9283            lessLink: '<div class="read-more-button" tabindex="0">Show less</div>'
9284        };
9285        var readMoreOptions = $.extend({},
9286            defaultReadMoreOptions,
9287            {
9288                moreLink: options.moreLink,
9289                lessLink: options.lessLink,
9290                titleContainerSelector: options.titleContainerSelector,
9291                titleDescriptionPrefix: options.titleDescriptionPrefix,
9292                titleDescriptionDefault: options.titleDescriptionDefault
9293            });
9294        var contentContainerSelector = options.contentContainerSelector;
9295        var compactBlockMaxHeight = options.compactBlockMaxHeight;
9296        var excludedElementsHeight = options.excludedElementsHeight;
9297
9298        function getSumOfInnerPadding($block, contentContainerSelector) {
9299            var paddingSum = 0;
9300            var $element = $block.find(contentContainerSelector).first();
9301            var $elementContainers = $element.parentsUntil('.content-block');
9302
9303            $elementContainers.each(function () {
9304                var $this = $(this);
9305                paddingSum += $this.outerHeight(true) - $this.height();
9306            });
9307
9308            return paddingSum;
9309        }
9310
9311        $blocks.each(function () {
9312            var $thisBlock = $(this);
9313
9314            var innerPaddingSum = getSumOfInnerPadding($thisBlock, contentContainerSelector)
9315            var blockTitleHeight = $thisBlock.find('.block-title').outerHeight(true);
9316            var blockCollapsedHeight = compactBlockMaxHeight - blockTitleHeight - excludedElementsHeight - innerPaddingSum;
9317
9318            $thisBlock
9319                .find(contentContainerSelector)
9320                .each(function (index, element) {
9321                    var thisElement = $(element);
9322                    var thisReadMoreOptions = $.extend({}, {collapsedHeight: blockCollapsedHeight}, readMoreOptions);
9323
9324                    thisReadMoreOptions = $.fn.setReadMoreButtonAriaLabel(thisElement, $thisBlock, thisReadMoreOptions);
9325
9326                    thisElement.readmore(thisReadMoreOptions);
9327                });
9328        });
9329    };
9330
9331    $.fn.setReadMoreButtonAriaLabel = function (contentBlockElement, parentBlockElement, options) {
9332        //try to find the title container in the current content container (Feed and Events block 
9332items) 
9333        var moreAboutDescriptionNode = contentBlockElement.find(options.titleContainerSelector);
9334        //otherwise look for whole block title container
9335        if (moreAboutDescriptionNode.length === 0) {
9336            moreAboutDescriptionNode = parentBlockElement.find(options.titleContainerSelector);
9337        }
9338        var moreAboutDescription = moreAboutDescriptionNode.text();
9339        if (!moreAboutDescription) {
9340            moreAboutDescription = options.titleDescriptionDefault;
9341        } else {
9342            moreAboutDescription = options.titleDescriptionPrefix + ' ' + moreAboutDescription;
9343        }
9344
9345        options.moreLink = $(options.moreLink)
9346            .attr('aria-label', moreAboutDescription)[0].outerHTML;
9347
9348        return options;
9349    }
9350
9351//Internet Calendar and RSS Subscribe
9352    //Internet Calendar Subscribe
9353    var $internetCalendarContainer = $('#internet-calendar-container'),
9354        $internetCalendarSubscribeBtn = $('#internet-calendar-subscribe-btn, #internet-calendar-subscribe-mobile-btn');
9355
9356    var $rssFeedContainer = $('#rss-feed-container'),
9357        $rssFeedSubscribeBtn = $('#rss-feed-subscribe-btn');
9358
9359    var SUBSCRIBE_DIALOG_CONFIG = {
9360        closeText: "Close Popup Window",
9361        hide: 200,
9362        modal: true,
9363        show: 200,
9364        draggable: false,
9365        resizable: false,
9366        open: function (e) {
9367            preventFocusAfterClick();
9368            $('html').addClass('no-scroll');
9369            $('.ui-dialog').focus();
9370            $.fn.setCloseButtonAriaMarkup();
9371            preventFocusAfterClick();
9372            hideCopyToClipboardIfNotSupported($(e.target));
9373            selectSubscribeUrlOnClick();
9374            copySubscribeUrl($(this));
9375        },
9376        close: function () {
9377            $('#internet-calendar-content, #rss-feed-content').remove();
9378            $('html').removeClass('no-scroll');
9379            $(document.activeElement).blur();
9380        }
9381    };
9382
9383    function hideCopyToClipboardIfNotSupported(element) {
9384        var isCopyNotSupported = false;
9385
9386        // Safari < 10
9387        if ((bowser.safari) && (bowser.version < 10)) {
9388            isCopyNotSupported = true;
9389        }
9390        // Opera < 30
9391        if ((bowser.opera) && (bowser.version < 30)) {
9392            isCopyNotSupported = true;
9393        }
9394        //Chrome < 43
9395        if ((bowser.chrome) && (bowser.version < 43)) {
9396            isCopyNotSupported = true;
9397        }
9398        // Firefox < 41
9399        if ((bowser.firefox) && (bowser.version < 41)) {
9400            isCopyNotSupported = true;
9401        }
9402        // iOS mobile Safari
9403        if ((bowser.safari) && (bowser.ios)) {
9404            isCopyNotSupported = true;
9405        }
9406
9407        if (!!(isCopyNotSupported)) {
9408            element.addClass('internet-calendar-hide-copy-button');
9409        }
9410    }
9411
9412    function selectSubscribeUrlOnClick() {
9413        var $subscribeUrl = $('.internet-calendar-url, .rss-feed-url');
9414
9415        $subscribeUrl.on('dblclick', function () {
9416            $(this).select();
9417        });
9418    }
9419
9420    function copySubscribeUrl($dialog) {
9421        var $subscribeUrl = $('.internet-calendar-url, .rss-feed-url'),
9422            $subscribeCopyBtn = $('.internet-calendar-copy-btn, .rss-feed-copy-btn');
9423
9424        $subscribeCopyBtn.on('click', function () {
9425            $subscribeUrl.select();
9426            document.execCommand("copy");
9427
9428            $dialog.dialog('close');
9429        });
9430    }
9431
9432    $internetCalendarSubscribeBtn.on('click', function () {
9433
9434        if (!$('#internet-calendar-container').children().length) {
9435            showICalUrl();
9436        }
9437
9438        var config = $.extend({}, SUBSCRIBE_DIALOG_CONFIG, { dialogClass: "internet-calendar-subscribe" })
9439
9440        $internetCalendarContainer.dialog(config);
9441    });
9442
9443
9444    $rssFeedSubscribeBtn.on('click', function () {
9445
9446        if (!$('#rss-feed-container').children().length) {
9447            showRssFeedUrl();
9448        }
9449
9450        var config = $.extend({}, SUBSCRIBE_DIALOG_CONFIG, { dialogClass: "rss-feed-subscribe" })
9451
9452        $rssFeedContainer.dialog(config);
9453
9454    });
9455
9456    // Google translate
9457    var $translateElement = $('#google_translate_element');
9458
9459    $.fn.processGoogleTranslateButton = function (breakpoint) {
9460        var isMobileBreakpoint = false;
9461        var moveGoogleTranslateElement = function () {
9462            if ($(window).width() <= breakpoint) {
9463                if (!isMobileBreakpoint) {
9464                    $translateElement.appendTo($('#googleTranslateMobileContainer'));
9465                }
9466                isMobileBreakpoint = true;
9467            } else {
9468                if (isMobileBreakpoint) {
9469                    $translateElement.appendTo($('#googleTranslateContainer'));
9470                }
9471                isMobileBreakpoint = false;
9472            }
9473        };
9474
9475        if ($translateElement.length > 0) {
9476            moveGoogleTranslateElement();
9477            $(window).on("resize", moveGoogleTranslateElement);
9478        }
9479    };
9480
9481    // Append google translate styles
9482    var mutationObserverCallbackForStyles = function (mutationsList, observer) {
9483        for (var mutation of mutationsList) {
9484            if (mutation.type === 'childList') {
9485                mutation.addedNodes.forEach(function (node) {
9486
9487                    if (node.nodeType === 1 && node.tagName === 'IFRAME' && node.classList.contains('skiptranslate')) {
9488                        var google_translate_iframe_element = $(node);
9489                        var google_translate_html = google_translate_iframe_element.contents().find('html');
9490                        $(google_translate_html).find('head').append(createStyleTag(createPathForCustomCss('google-translate-stylesheet')));
9491
9492                        observer.disconnect();
9493                    }
9494                })
9495            }
9496        }
9497    }
9498
9499    // Google translate accessibility fix
9500    var mutationObserverCallbackForA11y = function (mutationsList, observer) {
9501        for (var mutation of mutationsList) {
9502            if (mutation.type === 'childList') {
9503                mutation.addedNodes.forEach(function (node) {
9504
9505                    if (node.nodeType === 1 && node.id === 'goog-gt-tt') {
9506                        var form_element = document.getElementById("goog-gt-votingForm");
9507                        if (form_element) {
9508                            form_element.remove();
9509
9510                            observer.disconnect();
9511                        }
9512                    }
9513                })
9514            }
9515        }
9516    }
9517
9518    if ($translateElement.length > 0) {
9519        var observerForStyles = new MutationObserver(mutationObserverCallbackForStyles);
9520        var observerForA11y = new MutationObserver(mutationObserverCallbackForA11y);
9521
9522        observerForStyles.observe(document.body, { childList: true, subtree: true });
9523        observerForA11y.observe(document.body, { childList: true, subtree: true });
9524    }
9525
9526    //Google Custom Search
9527    showGoogleSearchPanel();
9528
9529    //Accessibility
9530    setTabIndex();
9531
9532    //Skip to content script
9533    $('#skip-to-nav').on('click', function () {
9534        location.href = '#navigation';
9535    });
9536
9537    $('#skip-to-main').on('click', function () {
9538        location.href = '#main-content';
9539    });
9540
9541    /**
9542     * Alerts implementation
9543     */
9544    var ALERT_SHOW_IN_FULL_TEXT = "Alert details";
9545    var ALERT_CONTAINER_SELECTOR = "alerts-banner-container";
9546    var ALERT_HASH_SESSION_STORAGE_PREFIX = 'alert-';
9547    var SITE_ALERT_SESSION_STORAGE_NAME = 'site-alerts';
9548
9549    var ALERT_OPEN_SECOND_DIALOG_TIMEOUT = 400;
9550    var ALERT_UI_EVENTS_DEBOUNCE_TIMEOUT = 200;
9551
9552    /**
9553     * @class SiteAlert is encapsulating all logic related to site alerts
9554     * {
9555     *  id:<Integer>,
9556     *  title:<String>,
9557     *  body:<HtmlString>,
9558     *  hash:<String>,
9559     *  dateStart: <Timestamp>,
9560     *  dateEnd: <Timestamp>,
9561     *  showInPopup: <Boolean>
9562     * }
9563     * @param alert
9564     **/
9565    function SiteAlert(alert) {
9566        this._alert = alert;
9567        /**
9568         * Apply correct binding to avoid changing context
9569         * */
9570        this.isClosed = this.isClosed.bind(this);
9571        this.isShowInPopup = this.isShowInPopup.bind(this);
9572        this.getDomRepresentation = this.getDomRepresentation.bind(this);
9573        this.closeAlert = this.closeAlert.bind(this);
9574        this.openAlertPopup = this.openAlertPopup.bind(this);
9575        this.init = this.init.bind(this);
9576
9577        this.init();
9578    }
9579
9580    SiteAlert.prototype.init = function () {
9581        /**
9582         * Build alert element
9583         * */
9584        if (this._elementRef == null && !this.isClosed()) {
9585            this._elementRef = this.getDomRepresentation();
9586        }
9587    };
9588
9589    SiteAlert.prototype.getElement = function () {
9590        return this._elementRef;
9591    };
9592
9593    SiteAlert.prototype.isClosed = function () {
9594        var closedAlerts = JSON.parse(sessionStorage.getItem(SITE_ALERT_SESSION_STORAGE_NAME));
9595        if (closedAlerts == null) {
9596            return false;
9597        }
9598
9599        var closedAlertHash = closedAlerts[ALERT_HASH_SESSION_STORAGE_PREFIX + this._alert.id];
9600        return closedAlertHash != null && !!this._alert.hash && closedAlertHash === this._alert.hash;
9601    };
9602
9603    SiteAlert.prototype.isShowInPopup = function () {
9604        return this._alert.showInPopup;
9605    };
9606
9607    SiteAlert.prototype.getDomRepresentation = function () {
9608        var me = this;
9609        var $alertsTemplate = $($('#alert-template').html());
9610
9611        $alertsTemplate.attr("id", "alert-" + me._alert.id);
9612        $alertsTemplate.css('background-color', me._alert.primaryColor);
9613        $alertsTemplate.css('color', me._alert.secondaryColor);
9614        $alertsTemplate.find('.alert-icon').css('color', me._alert.primaryColor);
9615        $alertsTemplate.find('.alert-title').text(me._alert.title);
9616        $alertsTemplate.find('.alert-base-group').text(me._alert.baseGroupName);
9617
9618        var publishedAt = moment(me._alert.dateStart).format("[Published] MM/DD/YY [at] h:mm A");
9619        if (me._alert.dateStart < me._alert.updateDate) {
9620            publishedAt = moment(me._alert.updateDate).format("[Updated] MM/DD/YY [at] hh:mm A");
9621        }
9622        $alertsTemplate.find('.alert-published-at').text(publishedAt);
9623        $alertsTemplate.find('.alert-body-text').append($(me._alert.body));
9624        $alertsTemplate.find('.site-alert-close').before($('<button class="show-full-alert">
9624' + ALERT_SHOW_IN_FULL_TEXT + '</button>'));
9625
9626        var $showFullAlertButtons = $alertsTemplate.find(".show-full-alert, .alert-title, .alert-base-group, .alert-published");
9627        $showFullAlertButtons.on('click', function () {
9628            me.openAlertPopup(me.getElement());
9629        });
9630        $alertsTemplate.find('.site-alert-close').on("click", me.closeAlert);
9631
9632        return $alertsTemplate;
9633    };
9634
9635    SiteAlert.prototype.closeAlert = function () {
9636        var closedAlerts = JSON.parse(sessionStorage.getItem(SITE_ALERT_SESSION_STORAGE_NAME));
9637        if (closedAlerts == null) {
9638            closedAlerts = {};
9639        }
9640        closedAlerts[ALERT_HASH_SESSION_STORAGE_PREFIX + this._alert.id] = this._alert.hash;
9641
9642        sessionStorage.setItem(SITE_ALERT_SESSION_STORAGE_NAME, JSON.stringify(closedAlerts));
9643        if (this._elementRef && this._elementRef.length) {
9644            this._elementRef.remove();
9645            delete this._elementRef;
9646        }
9647
9648        displayRestoreClosedAlertsButton(true);
9649        syncPageContentPaddingWithAlertContainer();
9650    };
9651
9652    SiteAlert.prototype.openAlertPopup = function () {
9653        var me = this;
9654        var $alertElementItemClone = me.getElement().clone();
9655
9656        $alertElementItemClone.find('.show-full-alert').remove();
9657        $alertElementItemClone.find('.site-alert-close').remove();
9658
9659        $alertElementItemClone.dialog({
9660            closeText: "Close",
9661            dialogClass: "modal-alert",
9662            hide: 200,
9663            modal: true,
9664            show: 200,
9665            width: 960,
9666            draggable: false,
9667            resizable: false,
9668            open: function (event) {
9669                var $dialogElement = $('.ui-dialog');
9670                $dialogElement.css('border-color', me._alert.primaryColor);
9671                $dialogElement.find('a, button').attr('tabindex', '0');
9672                $dialogElement.focus();
9673                $('html').addClass('no-scroll');
9674                $alertElementItemClone.find('.alert-icon').appendTo('.modal-alert .ui-dialog-titlebar');
9675                $alertElementItemClone.find('.alert-header').appendTo('.modal-alert .ui-dialog-titlebar');
9676                $('<div></div>')
9677                    .addClass('alert-footer')
9678                    .appendTo('.modal-alert .alert-body')
9679                    .append($alertElementItemClone.find('.alert-base-group'))
9680                    .append($alertElementItemClone.find('.alert-published'));
9681                $.fn.setCloseButtonAriaMarkup();
9682                $.fn.setTabIndexModal(event);
9683                preventFocusAfterClick();
9684            },
9685            close: function () {
9686                if (me.isShowInPopup()) {
9687                    me.closeAlert();
9688                    setTimeout(function () {
9689                        $(window).trigger('nextDialogInQueueEvent');
9690                    }, ALERT_OPEN_SECOND_DIALOG_TIMEOUT);
9691                }
9692                $('html').removeClass('no-scroll');
9693                $(document.activeElement).blur();
9694                $(window).off('resize.siteAlertEvent');
9695                $('.modal-alert').remove();
9696            }
9697        });
9698
9699        $(window).on('resize.siteAlertEvent', function () {
9700            _.debounce(calcAlertModalContentMaxHeight(), ALERT_UI_EVENTS_DEBOUNCE_TIMEOUT);
9701        }).trigger('resize.siteAlertEvent');
9702    };
9703
9704    function calcAlertModalContentMaxHeight() {
9705        var container = $('.ui-dialog.modal-alert'),
9706            screenHeight = $(window).height(),
9707            screenWidth = $(window).width(),
9708            $modalContentTitle = container.find('.ui-dialog-titlebar'),
9709            $modalContentInner = container.find('.ui-dialog-content'),
9710            modalWindowBorderPaddingHeight = container.outerHeight(true) - container.height(),
9711            modalWindowMaxHeight = 0.7;
9712
9713        if (screenWidth <= 768) {
9714            modalWindowMaxHeight = 0.95;
9715        } else {
9716            modalWindowMaxHeight = 0.7;
9717        }
9718
9719        container.css('max-height', screenHeight * modalWindowMaxHeight);
9720
9721        var modalContentMaxHeight = ((screenHeight * modalWindowMaxHeight) - ($modalContentTitle.outerHeight(true)) - modalWindowBorderPaddingHeight);
9722        $modalContentInner.css('max-height', modalContentMaxHeight);
9723    }
9724
9725    /*global siteAlerts*/
9726    if (!!siteAlerts || !!siteAlerts.length) {
9727        var $alertsContainerElement = $('<div></div>').attr('id', ALERT_CONTAINER_SELECTOR).addClass(ALERT_CONTAINER_SELECTOR);
9728        var $alertsReopenButtonElement = $('<button id="site-alerts-reopen-button" class="site-alerts-reopen-button" tabindex="0" aria-label="Active Alerts"><em class="alert-icon"></em></button>');
9729        $(document.body).append($alertsReopenButtonElement);
9730        $(document.body).prepend($alertsContainerElement);
9731
9732        $("#site-alerts-reopen-button").click(function () {
9733            displayRestoreClosedAlertsButton(false);
9734
9735            sessionStorage.removeItem(SITE_ALERT_SESSION_STORAGE_NAME);
9736            window.siteAlertObjects.forEach(function (siteAlert) {
9737                siteAlert.init();
9738            });
9739
9740            renderAlerts($alertsContainerElement, window.siteAlertObjects);
9741        });
9742
9743        window.siteAlertObjects = [];
9744
9745        siteAlerts.forEach(function (alert) {
9746            window.siteAlertObjects.push(new SiteAlert(alert));
9747        });
9748
9749        renderAlerts($alertsContainerElement, window.siteAlertObjects);
9750    }
9751
9752    /**
9753     * Render list of specified alerts in the provided container.
9754     * Only not closed alerts will be rendered.
9755     * @param alertsContainerElement
9756     * @param alerts
9757     */
9758    function renderAlerts(alertsContainerElement, alerts) {
9759        var alertDialogQueue = [];
9760        var hasClosedAlerts = false;
9761
9762        alerts.forEach(function (siteAlert) {
9763            if (siteAlert.isClosed()) {
9764                hasClosedAlerts = true;
9765                return;
9766            }
9767
9768            if (siteAlert.isShowInPopup()) {
9769                alertDialogQueue.push(siteAlert);
9770            } else {
9771                $alertsContainerElement.append(siteAlert.getElement());
9772            }
9773        });
9774
9775        displayRestoreClosedAlertsButton(hasClosedAlerts);
9776        syncPageContentPaddingWithAlertContainer();
9777
9778        if (!!alertDialogQueue && !!alertDialogQueue.length) {
9779            $(window).on('nextDialogInQueueEvent', function () {
9780                if (!!alertDialogQueue && !!alertDialogQueue.length) {
9781                    var alert = alertDialogQueue.shift();
9782                    alert.openAlertPopup();
9783                }
9784            }).trigger('nextDialogInQueueEvent');
9785        }
9786    }
9787
9788    /**
9789     * Manage visibility of the "Restore Closed Alerts" button.
9790     * @param isVisible
9791     */
9792    function displayRestoreClosedAlertsButton(isVisible) {
9793        if (isVisible) {
9794            $("#site-alerts-reopen-button").addClass('is-visible');
9795            $('html').addClass('alerts-reopen-button-enabled');
9796        } else {
9797            $("#site-alerts-reopen-button").removeClass('is-visible');
9798            $('html').removeClass('alerts-reopen-button-enabled');
9799        }
9800    }
9801
9802    /**
9803     * Adjust page content layout with actual alert container dimensions.
9804     */
9805    function syncPageContentPaddingWithAlertContainer() {
9806        var $html = $('html');
9807        var $alertsContainer = $('#alerts-banner-container');
9808        var $alertsItems = $alertsContainer.find('.alert-item');
9809
9810        if ($alertsItems.length === 2) {
9811            $html.addClass('two-site-alert-enabled').removeClass('one-site-alert-enabled');
9812        } else if ($alertsItems.length === 1) {
9813            $html.addClass('one-site-alert-enabled').removeClass('two-site-alert-enabled');
9814        } else {
9815            $html.removeClass('one-site-alert-enabled').removeClass('two-site-alert-enabled');
9816        }
9817    }
9818
9819    /* ------------------------------ Profiles ----------------------------------*/
9820    $.fn.addProfileButtonEvenListener = function () {
9821        $('.profile-mobile-button').click(function () {
9822            var $this = $(this),
9823                $tile = $('.profile-users-section-wrapper'),
9824                $firstTabindexElement = $tile.find("[tabindex]").first();
9825            $this.toggleClass('profile-mobile-button-close');
9826            $tile.slideToggle(300);
9827            $firstTabindexElement.focus();
9828        });
9829
9830        $('.profile-users-mobile-button').click(function () {
9831            var $this = $(this),
9832                $tile = $('.base-groups-container'),
9833                $firstTabindexElement = $tile.find("[tabindex]").first();
9834            $this.toggleClass('profile-users-mobile-button-close');
9835            $tile.slideToggle(300);
9836            $firstTabindexElement.focus();
9837        });
9838    };
9839
9840    $.fn.addDirectoryButtonEvenListener = function () {
9841        $('.filters-button').click(function () {
9842            var $this = $(this),
9843                $filters = $('.filters-mobile'),
9844                $firstTabindexElement = $filters.find("[tabindex]").first();
9845            $this.toggleClass('filters-button-close');
9846            $filters.slideToggle(300);
9847            $firstTabindexElement.focus();
9848        });
9849    };
9850});
9851
9852//-------- Google Custom Search ---------
9853function showGoogleSearchPanel() {
9854    var $googleSearchShowBtn = $('#google-search-show-btn');
9855
9856    if ($googleSearchShowBtn.length > 0) {
9857        $googleSearchShowBtn.on('click', function () {
9858            var $googleSearchContainer = $('#___gcse_0');
9859
9860            if ($googleSearchContainer.length > 0) {
9861                var $navHoverElements = $('nav .nav-item-link.has-submenu, header .link-list .more-link'),
9862                    $googleSearchPanel = $('.gsc-control-cse'),
9863                    $googleSearchInputs = $('form.gsc-search-box input.gsc-input, form.gsc-search-box button.gsc-search-button'),
9864                    $googleSearchTextInput = $('form.gsc-search-box input.gsc-input');
9865
9866                function closeGoogleSearchPanel() {
9867                    $googleSearchPanel.removeClass('google-search-visible');
9868                    $googleSearchShowBtn.removeClass('google-search-show-btn-active');
9869                    $googleSearchShowBtn.removeClass('google-search-close-btn');
9870                    $googleSearchInputs.attr('tabindex', '-1');
9871                }
9872
9873                function openGoogleSearchPanel() {
9874                    $googleSearchPanel.addClass('google-search-visible');
9875                    $googleSearchShowBtn.addClass('google-search-show-btn-active');
9876                    $googleSearchShowBtn.addClass('google-search-close-btn');
9877                    $googleSearchInputs.attr('tabindex', '0');
9878                    $googleSearchTextInput.focus();
9879
9880                    $googleSearchPanel.find('.gsc-search-button').on('click', function () {
9881                        checkGoogleSearchResultsIsVisible();
9882                    });
9883
9884                    $googleSearchPanel.find('input.gsc-input').keyup(function (e) {
9885                        if (e.keyCode == 13 || e.which == 13) {
9886                            checkGoogleSearchResultsIsVisible();
9887                        }
9888                    });
9889
9890                    function checkGoogleSearchResultsIsVisible() {
9891                        // google-service-wrapper
9892                        var $googleServiceWrapper = $('.google-service-wrapper'),
9893                            $googleSearchRootElement = !!($googleServiceWrapper.length) ? $googleServiceWrapper : $googleSearchContainer;
9894
9895                        if (!!($googleSearchTextInput.val().length)) {
9896                            $googleSearchRootElement.addClass('google-search-results-visible');
9897                            $('html').addClass('no-scroll');
9898                            $googleSearchTextInput.blur();
9899
9900                            var $googleSearchResultsCloseElements = $googleSearchPanel.find('.gsc-results-close-btn, .gsc-modal-background-image');
9901
9902                            $googleSearchResultsCloseElements.on('click.GoogleSearchResultsEvent', function () {
9903                                $googleSearchRootElement.removeClass('google-search-results-visible');
9904                                $('html').removeClass('no-scroll');
9905                            })
9906                        }
9907                    }
9908                }
9909
9910                if (!($googleSearchPanel.hasClass('google-search-visible'))) {
9911                    //Open gcs
9912                    openGoogleSearchPanel();
9913
9914                    //Close gcs if click out
9915                    $(document).on('click.GoogleSearchShowBtnEvent', function (e) {
9916                        if ($(e.target).closest("#___gcse_0, .google-search-show-btn").length) return;
9917
9918                        if ($googleSearchPanel.hasClass('google-search-visible')) {
9919                            closeGoogleSearchPanel();
9920                            $(document).off('click.GoogleSearchShowBtnEvent');
9921                        }
9922                    });
9923
9924                    //Close gcs if nav or link-list drop-downs open
9925                    $navHoverElements.on('mouseenter.GoogleSearchNavHoverEvent', function () {
9926                        closeGoogleSearchPanel();
9927                        $navHoverElements.off('mouseenter.GoogleSearchNavHoverEvent');
9928                    });
9929                }
9930                //Close gcs if click close button
9931                else if ($googleSearchPanel.hasClass('google-search-visible')) {
9932                    closeGoogleSearchPanel();
9933                }
9934            }
9935        });
9936    }
9937}
9938
9939//-------- Notify slider ----------------
9940$.fn.notifySliderInit = function () {
9941    var $slider = $("#notify-slider");
9942    var $sidePanel = $slider.find("#notify-side-panel");
9943
9944    function openSlider() {
9945        $slider.addClass("slider-visible");
9946    }
9947
9948    function closeSlider() {
9949        $slider.removeClass("slider-visible");
9950    }
9951
9952    $("#notify-slider-button").click(function (e) {
9953        {
9954            e.stopPropagation();
9955            if ($slider.hasClass("slider-visible")) {
9956                {
9957                    closeSlider();
9958                }
9959            } else {
9960                {
9961                    openSlider();
9962                }
9963            }
9964        }
9965    });
9966
9967    $("#notify-close-sign").click(function (e) {
9968        {
9969            e.stopPropagation();
9970            closeSlider()
9971        }
9972    });
9973};
9974
9975/*
9976* Remove menu item highlighting from More item if active item is hidden in more-menu
9977*/
9978$.fn.correctNavListActiveItem = function () {
9979    var $moreMenuItem = this.find('.more-item, .more-nav-item');
9980    var $moreMenuLink = $moreMenuItem.children('.nav-item-link')
9981
9982    if (!$moreMenuLink.is('.current')) {
9983        return;
9984    }
9985
9986    var $currentFirstLevelSubMenuLinks = $moreMenuItem.children('.nav-sub-list').children('.nav-item').children('.nav-item-link.current');
9987    var $currentFirstLevelSubMenuItems = $currentFirstLevelSubMenuLinks.parent('.nav-item');
9988
9989    function checkCurrentItemsVisibility() {
9990        $currentFirstLevelSubMenuItems.each(function () {
9991            var $this = $(this);
9992
9993            if ($this.attr('data-hidden-item') === 'true') {
9994                $moreMenuLink.removeClass('current');
9995            }
9996
9997            if ($this.attr('data-hidden-item') === 'false') {
9998                $moreMenuLink.addClass('current');
9999            }
10000        })
10001    }
10002
10003    $(window).on('resize.navEvent', function () {
10004        _.debounce(checkCurrentItemsVisibility(), 200);
10005    }).trigger('resize.navEvent');
10006
10007    document.fonts.ready.then(function () {
10008        checkCurrentItemsVisibility();
10009    });
10010};
10011
10012function bindingNavigationEventsForOverlap(element, target) {
10013    var $targetElement = !(target) ? $('#google-search-show-btn') : target;
10014    if ($targetElement.length > 0) {
10015        element
10016            .bind('show.smapi', function (e, menu) {
10017                var $navDropdownOpened = $(menu),
10018                    googleSearchBtnOffset = $targetElement.offset(),
10019                    navDropdownOpenedOffset = $navDropdownOpened.offset(),
10020                    navDropdownOpenedWidth = $navDropdownOpened.width();
10021
10022                if (googleSearchBtnOffset.left < (navDropdownOpenedOffset.left + navDropdownOpenedWidth)) {
10023                    $(window).on('wheel.navDropdownEvent', function () {
10024                        navDropdownOpenedOffset = $navDropdownOpened.offset();
10025
10026                        if (googleSearchBtnOffset.top > navDropdownOpenedOffset.top) {
10027                            $targetElement.hide();
10028                        }
10029                    });
10030                }
10031            })
10032            .bind('hide.smapi', function () {
10033                $(window).off('wheel.navDropdownEvent');
10034                $targetElement.show();
10035            });
10036    }
10037}
10038
10039function createPathForCustomCss(fileName) {
10040    var cssUrl = $.data(window, 'css-url');
10041
10042    cssUrl = cssUrl ? cssUrl : '/';
10043
10044    return cssUrl + '?customCss=' + fileName;
10045}
10046
10047function createStyleTag(urlPath) {
10048    return "<link href=" + urlPath + " rel='stylesheet'>";
10049}
10050
10051function printPage() {
10052    var $baseGroupTitle = $("footer .group-name"),
10053        $calendarTitle = $("main .page-title"),
10054        $calendar = $("#calendar").clone(),
10055        $sourceList = $("#dataSources .source-block-wrapper"),
10056        $calendarWeekRows = $calendar.find(".fc-row.fc-week.ui-widget-content"),
10057        isLastWeekIsNextMonth = $calendarWeekRows.last()
10058            .find(".fc-content-skeleton thead .fc-day-number").first().hasClass("fc-other-month"),
10059        MainWindow = window.open("", "", "toolbar=no, status=no, menubar=no, height=720, width=900");
10060
10061    if (isLastWeekIsNextMonth) {
10062        $calendarWeekRows.last().remove();
10063        $calendar.addClass('five-week-month');
10064    }
10065
10066    $baseGroupTitle = $baseGroupTitle.length > 0 ? $baseGroupTitle[0].innerHTML : '';
10067    $calendarTitle = $calendarTitle[0].innerHTML;
10068    $calendar = $calendar[0].outerHTML;
10069    $sourceList = $sourceList.length > 0 ? $sourceList[0].outerHTML : "";
10070
10071    MainWindow.document.write("<title>Print Page</title>");
10072    MainWindow.document.write(createStyleTag(createPathForCustomCss("calendar-printable-view")));
10073    MainWindow.document.write(createStyleTag('/Content/bower_components/fullcalendar/dist/fullc
10073alendar.css'));
10074    MainWindow.document.write(createStyleTag('/Content/css/echalk-fonts.css'));
10075    MainWindow.document.write("<div class='print-view-header'>");
10076    MainWindow.document.write("<span class='base-group-title'>" + $baseGroupTitle + "</span>");
10077    MainWindow.document.write("<button type='button' id='calendar-print-preview' class='print-preview-button' value='Print' onclick='return window.print();'><i class='icon-ec-print-preview'></i> <span>Print</span></button>");
10078    MainWindow.document.write("<span class='calendar-title'>" + $calendarTitle + "</span>");
10079    MainWindow.document.write("</div>");
10080    MainWindow.document.write($calendar);
10081    MainWindow.document.write($sourceList);
10082    MainWindow.document.close();
10083    return false;
10084}
10085
10086$(window).load(function () {
10087    //Accessibility
10088    setTabIndex();
10089    preventFocusAfterClick();
10090
10091    var $googleBrandingImg = $('img.gsc-branding-img'),
10092        $googleSearchBtnImg = $('input.gsc-search-button'),
10093        $googleTranslateBrandingImg = $('#goog-gt-tt').find('.logo img');
10094
10095    if ($googleBrandingImg.length > 0) {
10096        $googleBrandingImg.attr('alt', 'google');
10097    }
10098
10099    if ($googleTranslateBrandingImg.length > 0) {
10100        $googleTranslateBrandingImg.attr('alt', '');
10101    }
10102
10103    if ($googleSearchBtnImg.length > 0) {
10104        $googleSearchBtnImg.attr('alt', 'google');
10105    }
10106
10107    if ($('#google-search-show-btn').length > 0) {
10108        $('form.gsc-search-box input.gsc-input, form.gsc-search-box button.gsc-search-button').attr('tabindex', '-1');
10109    }
10110
10111    $('#goog-gt-tt div.top h1.title').replaceWith(function () {
10112        return $("<div>", {
10113            "class": this.className,
10114            html: $(this).html()
10115        });
10116    });
10117});
10118
10119$.fn.hasScrollBar = function () {
10120    return this.get(0).scrollHeight > this.get(0).clientHeight;
10121};
10122
10123
10124function getImageBlockRatio(maxWidth, maxHeight) {
10125    return Math.round(maxWidth / maxHeight * 100) / 100;
10126}
10127
10128$.fn.getImageRatio = function () {
10129    var ratio = getImageBlockRatio(this.width(), this.height());
10130    return ratio > 0 ? ratio : false;
10131};
10132
10133function setRatioToImages(blockRatio, imageSelector, blockSelector, itemSelector, embedCss) {
10134    imageSelector = typeof imageSelector == 'undefined' ? '.bg-img' : imageSelector;
10135    blockSelector = typeof blockSelector == 'undefined' ? '.img-list' : blockSelector;
10136    itemSelector = typeof itemSelector == 'undefined' ? '.img-item' : itemSelector;
10137    embedCss = typeof embedCss == 'undefined' ? true : embedCss;
10138
10139
10140    $(blockSelector).each(function () {
10141        var listGallery = $(this),
10142            imageList = listGallery.find(itemSelector);
10143
10144        imageList.attr("data-block-ratio", blockRatio)
10145            .each(function () {
10146                var $this = $(this), imageRatio, imageType;
10147
10148                $this.find(imageSelector).load(function () {
10149                    var image = $(this);
10150
10151                    imageRatio = image.getImageRatio();
10152                    imageType = imageRatio == 1 ? "square" : imageRatio > 1 ? "wide" : "narrow";
10153                    $this.attr("data-image-ratio", imageRatio).addClass(imageType).addClass(blockRatio > imageRatio ? "narrower" : "wider");
10154                });
10155            });
10156
10157        if (embedCss) imageList.css({paddingBottom: 100 / blockRatio + "%"})
10158    });
10159}
10160
10161function isVowel(c) {
10162    return ['a', 'e', 'i', 'o', 'u'].indexOf(c.toLowerCase()) !== -1
10163}
10164
10165function pluralize(number, string) {
10166    var lastCharOfString = string[string.length - 1];
10167    return (number > 1) && (isVowel(lastCharOfString)) ? string + "es"
10168        : (number > 1) && (!isVowel(lastCharOfString)) ? string + "s"
10169            : string;
10170}
10171
10172function listAdditionalClassCreator(blockSelector, listSelector, maxCount) {
10173    var stringRepresentationOfNumberEnum = {
10174            0: "no",
10175            1: "one",
10176            2: "two",
10177            3: "three",
10178            4: "four"
10179        },
10180        changingPartOfClassName = "-item";
10181
10182    if (blockSelector.length > 0) {
10183        blockSelector.each(function () {
10184            var $this = $(this),
10185                $thisBlockList = $this.find(listSelector),
10186                thisListItemCount;
10187
10188            thisListItemCount = $thisBlockList.children().length;
10189
10190            if (thisListItemCount <= maxCount) {
10191                $thisBlockList.addClass(stringRepresentationOfNumberEnum[thisListItemCount] + pluralize(thisListItemCount, changingPartOfClassName) + "-list");
10192            }
10193        });
10194    }
10195}
10196
10197/*------------------------------- Accessibility Scripts -----------------------------*/
10198//light gallery adding title text to control elements
10199// plugin: lg/owl/owlModal
10200function addAriaLabelToPluginControls(plugin) {
10201    if (plugin === 'lg') {
10202        $('#lg-close').attr('aria-label', 'Close').attr('tabindex', '0').focus().blur();
10203        $('#lg-prev').attr('aria-label', 'Previous').attr('tabindex', '0');
10204        $('#lg-next').attr('aria-label', 'Next').attr('tabindex', '0');
10205    } else if (plugin === 'owl') {
10206        $('.feed .owl-prev').attr('aria-label', 'Previous Feed Post');
10207        $('.feed .owl-next').attr('aria-label', 'Next Feed Post');
10208
10209        $('.event .owl-prev').attr('aria-label', 'Previous Event');
10210        $('.event .owl-next').attr('aria-label', 'Next Event');
10211
10212        $('.images .owl-prev').attr('aria-label', 'Previous Image');
10213        $('.images .owl-next').attr('aria-label', 'Next Image');
10214
10215        $('.owl-prev').attr('tabindex', '0');
10216        $('.owl-next').attr('tabindex', '0');
10217    } else if (plugin === 'owlModal') {
10218        $('.ui-dialog.feed .owl-prev').attr('aria-label', 'Previous Feed Post');
10219        $('.ui-dialog.feed .owl-next').attr('aria-label', 'Next Feed Post');
10220
10221        $('.ui-dialog.event .owl-prev').attr('aria-label', 'Previous Event');
10222        $('.ui-dialog.event .owl-next').attr('aria-label', 'Next Event');
10223
10224        $('.modal-header-feed .owl-prev').attr('aria-label', 'Previous Feed Post');
10225        $('.modal-header-feed .owl-next').attr('aria-label', 'Next Feed Post');
10226
10227        $('.ui-dialog .owl-prev').attr('tabindex', '0');
10228        $('.ui-dialog .owl-next').attr('tabindex', '0');
10229    }
10230}
10231
10232// Light gallery alt text enhancement
10233// need to be called on plugin events onOpen and onSlideAfter
10234$.fn.lightGalleryApplyAltText = function (lightGalleryEvent) {
10235    var THUMBNAIL_SELECTOR = '.bg-img, .event-detail-thumb';
10236    var THUMBNAIL_ALT_TEXT_ATTR = 'data-image-alt-text';
10237    var altTexts = [];
10238
10239    if (_.isUndefined(lightGalleryEvent)) {
10240        return;
10241    }
10242
10243    var collectAltTexts = function () {
10244        var $thumbnails = lightGalleryEvent.find(THUMBNAIL_SELECTOR);
10245        var altTexts = [];
10246
10247        $thumbnails.each(function () {
10248            var alt = $(this).attr(THUMBNAIL_ALT_TEXT_ATTR);
10249            altTexts.push(alt);
10250        });
10251
10252        return altTexts;
10253    };
10254
10255    var applyAltTexts = function (altTexts) {
10256        var $imageContainers = $('.light-gallery-modal .lg-slide');
10257
10258        if (($imageContainers.length === altTexts.length) && altTexts.length > 0) {
10259            $imageContainers.each(function (index, element) {
10260                $(element).find('img').attr('alt', altTexts[index]);
10261            });
10262        }
10263    };
10264
10265    altTexts = collectAltTexts();
10266
10267    setTimeout(function () {
10268        applyAltTexts(altTexts);
10269    }, 0)
10270};
10271
10272//Set dialog close button aria-label
10273$.fn.setCloseButtonAriaMarkup = function () {
10274    var BUTTON_SELECTOR = '.ui-dialog-titlebar-close';
10275    var BUTTON_TEXT_SELECTOR = '.ui-button-text';
10276
10277    var $button = $(BUTTON_SELECTOR);
10278    var ariaLabelText = $button.attr('title') || 'Close Popup Window';
10279
10280    $button.removeAttr('title');
10281    $button.attr('aria-label', ariaLabelText);
10282    $(BUTTON_TEXT_SELECTOR).attr('aria-hidden', true);
10283};
10284
10285//Set tabIndex
10286function setTabIndex() {
10287    var $body = $('body'),
10288        $header = $body.find('header'),
10289        $nav = $body.find('#navigation'),
10290        $footer = $body.find('.footer-subpage-main, .footer-homepage-main'),
10291        $main = $body.find('#main-content'),
10292        $directory = $main.find('.directory');
10293
10294    //------------- header
10295    $body.find('.site-alert-close, .show-full-alert').attr('tabindex', '0');
10296    $body.find('#skip-to-nav, #skip-to-main').attr('tabindex', '0');
10297    $body.find('#google_translate_element a').attr('tabindex', '0');
10298    $body.find('.menu-button-expand').attr('tabindex', '0');
10299    $body.find('#google-search-show-btn').attr('tabindex', '0');
10300    $header.find('.masthead .home-link').attr('tabindex', '0');
10301    $header.find('.link-list a, .link-list-item.more-link').attr('tabindex', '0');
10302    $header.find('.link-list .more-link > div').attr('tabindex', '0');
10303    $header.find('.feed .owl-next, .feed .owl-prev').attr('tabindex', '0');
10304    $header.find('.feed .feed-post-item a').attr('tabindex', '0');
10305    $header.find('.feed .feed-post-item div[tabindex]').attr('tabindex', '0');
10306    $header.find('.feed .feed-post-item .attached-img-thumb').attr('tabindex', '0');
10307    $body.find('.menu-button-close').attr('tabindex', '0');
10308    $nav.find('a').attr('tabindex', '0');
10309    $body.find('#header-scrolling-button, .header-scrolling-button').attr('tabindex', '0');
10310    //---------------- main
10311    $main.find('a, div[tabindex], li[tabindex], .owl-next, .owl-prev, .attached-img-thumb, .read-more-button').attr('tabindex', '0');
10312    $main.find('iframe').find('a, button').attr('tabindex', '-1');
10313    //---------------- calendar
10314    $main.find('#calendar-print, #show-all-event-btn').attr('tabindex', '0');
10315    $main.find('#internet-calendar-subscribe-btn, #internet-calendar-subscribe-mobile-btn').attr('tabindex', '0');
10316    $main.find('#calendar .ui-button').attr('tabindex', '0');
10317    //---------------- directory/profile
10318    $directory.find('.search-input').attr('tabindex', '0');
10319    $directory.find('.filters-element').attr('tabindex', '0');
10320    //--------------- footer
10321    $footer.find('.footer-logo-container').attr('tabindex', '0');
10322    $footer.find('.link-list a, .link-list-item.more-link').attr('tabindex', '0');
10323    $footer.find('.echalk-link').attr('tabindex', '0');
10324}
10325
10326//Set tabIndex for modal window
10327$.fn.setTabIndexModal = function (event) {
10328    var $uiDialog = $('.ui-dialog');
10329
10330    $uiDialog.attr('tabindex', '-1').css('outline', 'none').focus();
10331    $uiDialog.find('a, *[tabindex]').attr('tabindex', '0');
10332    $uiDialog.find('.owl-next, .owl-prev').attr('tabindex', '0');
10333    $uiDialog.find('.ui-dialog-titlebar-close').attr('tabindex', '0');
10334
10335    if (_.isUndefined(event)) {
10336        return;
10337    }
10338
10339    var $dialogTarget = $(event.target);
10340
10341    var scrollContainerSelectors = [
10342        ".feed-post-content",
10343        ".html-wrapper",
10344        ".event-detail-description",
10345        ".event-description",
10346        ".link-list-content",
10347        ".image-content",
10348        ".alert-content"
10349    ].join(", ");
10350    $dialogTarget.find(scrollContainerSelectors).attr('tabindex', "0");
10351}
10352
10353function setTabIndexCalendar() {
10354    $('#calendar').find('.fc-event, .fc-more, .fc-close').attr('tabindex', '0');
10355}
10356
10357function listenEnterKey() {
10358    $(document).off('keydown.enterKeyEvent');
10359
10360    $(document).on('keydown.enterKeyEvent', function (e) {
10361        var $focusItem = $(document.activeElement);
10362
10363        if (e.which == 13) {
10364            var $clickedElementsExceptions = $('.owl-next, .owl-prev, .has-submenu, .more-link div, button');
10365
10366            // common case
10367            if (($focusItem.is('a, *[tabindex]')) && (!($focusItem.is($clickedElementsExceptions)))) {
10368                setTimeout(function () {
10369                    $focusItem.click();
10370                }, 100);
10371
10372                $focusItem.data('isClickEmulated', true);
10373            }
10374
10375            // owl-carousel case
10376            var $mouseupListenerElements = $('.owl-next, .owl-prev');
10377
10378            if ($focusItem.is($mouseupListenerElements)) {
10379                setTimeout(function () {
10380                    $focusItem.mouseup();
10381                }, 100);
10382            }
10383        }
10384    });
10385}
10386
10387function listenEnterKeyInHeaderFooterLinkList() {
10388    $(document).off('keydown.linkListEvent');
10389
10390    $(document).on('keydown.linkListEvent', function (e) {
10391        var $focusItem = $(document.activeElement),
10392            $MoreList,
10393            $headerMoreListOld = $('header .link-list .dropdown-menu'),
10394            $headerMoreListNew = $('header .link-list .link-list-sub'),
10395            $headerFooterLinkListElements = $('header .link-list, footer .link-list').find('a, .more-link, div[tabindex]');
10396
10397        if (!!($(document.activeElement).parents('header').length)) {
10398            if (!!($headerMoreListNew.length)) {
10399                $MoreList = $headerMoreListNew;
10400            } else if (!!($headerMoreListOld.length)) {
10401                $MoreList = $headerMoreListOld;
10402            }
10403        } else if (!!($(document.activeElement).parents('footer').length)) {
10404            $MoreList = $('footer .link-list .link-list-sub');
10405        }
10406
10407        // Enter key
10408        if ((e.which == 13) && (($focusItem.hasClass('more-link')) || ($focusItem.is('.more-link > div[tabindex]'))) && (!($MoreList.hasClass('more-link-list-opened')))) {
10409            setTimeout(function () {
10410                $MoreList.addClass('more-link-list-opened');
10411            }, 200);
10412        } else if (!!$MoreList) {
10413            // Esc key
10414            if ((e.which == 27) && ($MoreList.hasClass('more-link-list-opened'))) {
10415                setTimeout(function () {
10416                    $MoreList.removeClass('more-link-list-opened');
10417                }, 200);
10418            }
10419            // Tab key
10420            if ((e.which == 9) && (!($focusItem.is($headerFooterLinkListElements))) && ($MoreList.hasClass('more-link-list-opened'))) {
10421                setTimeout(function () {
10422                    $MoreList.removeClass('more-link-list-opened');
10423                }, 200);
10424            }
10425        }
10426    });
10427}
10428
10429function addEnterKeyListener() {
10430    listenEnterKeyInHeaderFooterLinkList();
10431    listenEnterKey();
10432}
10433
10434function preventFocusAfterClick() {
10435    var $clickedElements = $('a:not(.has-submenu), *[tabindex]:not(a.has-submenu):not(input), button');
10436
10437    $clickedElements.off('click.preventFocusAfterClick');
10438
10439    $clickedElements.on('click.preventFocusAfterClick', function () {
10440        var $this = $(this);
10441
10442        if (!$this.data('isClickEmulated')) {
10443            $this.blur();
10444        } else {
10445            $this.removeData('isClickEmulated');
10446        }
10447    });
10448}
10449
10450function preventOverflowedFocus() {
10451    var $contentBlock = $('main .content-block, header .feed');
10452
10453    $contentBlock.each(function () {
10454        var $this = $(this),
10455            containerBottomOffset = $this.offset().top + $this.outerHeight(true),
10456            $clickedElements = $this.find('a, button');
10457
10458        $clickedElements.each(function () {
10459            var $this = $(this),
10460                $clickedElementsOffset = $this.offset().top;
10461
10462            if ($clickedElementsOffset > containerBottomOffset) {
10463                $this.attr('data-hidden-element', '');
10464            } else {
10465                $this.removeAttr('data-hidden-element');
10466            }
10467        });
10468    });
10469}
10470
10471function checkOverflowedFocus(target) {
10472    var $contentBlock = $(target).parents('.content-block');
10473    $clickedElements = $(target).find('[data-hidden-element]');
10474    containerBottomOffset = $contentBlock.offset().top + $contentBlock.outerHeight(true);
10475
10476    $clickedElements.each(function () {
10477        var $this = $(this);
10478
10479        $clickedElementsOffset = $this.offset().top + $this.height();
10480
10481        if ($clickedElementsOffset <= containerBottomOffset) {
10482            $this.removeAttr('data-hidden-element');
10483        }
10484    })
10485};
10486;
10487(function ($) {
10488    var default_options = {
10489            moreLink: '<a href="#">Read More</a>',
10490            lessLink: '<a href="#">Close</a>',
10491            minHeight: 310,
10492            infelicity: 5
10493        },
10494        uniqueIdCounter = 0;
10495
10496    function uniqueId() {
10497        var id = ++uniqueIdCounter;
10498        return 'minimal-readmore-' + id;
10499    }
10500
10501    function MinimalReadmore(element, options) {
10502        this.element = element;
10503
10504        this.options = $.extend({}, default_options, options);
10505
10506        this._defaults = default_options;
10507
10508        this.init();
10509    }
10510
10511
10512    MinimalReadmore.prototype = {
10513        init: function () {
10514            var current_element = $(this.element);
10515
10516            if ((current_element.outerHeight(true) <= this.options.minHeight) || (Math.abs(current_element.outerHeight(true) - this.options.minHeight) <= this.options.infelicity)) {
10517                return true;
10518            } else {
10519                var id = current_element.attr('id') || uniqueId();
10520
10521                this.equalHeight();
10522
10523                current_element.attr({
10524                    'aria-expanded': false,
10525                    'id': id
10526                });
10527
10528                $moreLink = $(this.options.moreLink)
10529                    .on('click', (function (_this) {
10530                        return function (event) {
10531                            _this.toggle(this, event);
10532                        };
10533                    })(this))
10534                    .attr({
10535                        'aria-controls': id
10536                    });
10537
10538                current_element.after($moreLink);
10539                current_element.data('collapsed-height', current_element.data('collapsed-height') - current_element.next().outerHeight());
10540                current_element.css({height: current_element.data('collapsed-height')})
10541            }
10542        },
10543        toggle: function (fromElement, event) {
10544            var element = this.element,
10545                isExpanded = element.attr('aria-expanded') == "true",
10546                newLink = isExpanded ? 'moreLink' : 'lessLink';
10547
10548            if (event) {
10549                event.preventDefault();
10550            }
10551
10552            $(fromElement).replaceWith($(this.options[newLink])
10553                .on('click', (function (_this) {
10554                    return function (event) {
10555                        _this.toggle(this, event);
10556                    };
10557                })(this))
10558                .attr({
10559                    'aria-controls': $(element).attr('id')
10560                }));
10561
10562            $(element).attr('aria-expanded', !isExpanded).css({height: isExpanded ? $(element).data('collapsed-height') : 'auto'});
10563        },
10564
10565        equalHeight: function () {
10566            var $this = $(this.element),
10567                closest_column = $this.closest(".content-block"),
10568                closest_row = $this.closest(".content-inner-row"),
10569                columnsList = closest_row.children(),
10570                blockHasTitle = closest_column.children().length > 1 ? closest_column.children().first().outerHeight(true) : 0,
10571                minHeight = this.options.minHeight,
10572                tallest = 0,
10573                element_height;
10574
10575
10576            columnsList.each(function () {
10577                if (!$(this).is(closest_column)) {
10578                    tallest = Math.max($(this).height(), tallest);
10579                }
10580            });
10581
10582            element_height = tallest > minHeight ? tallest : minHeight;
10583            element_height -= blockHasTitle;
10584
10585            $this.data('collapsed-height', element_height);
10586        }
10587    };
10588
10589    $.fn.minimalreadmore = function (options) {
10590        options.selector = this.selector;
10591
10592        new MinimalReadmore(this, options);
10593    }
10594})(jQuery);
10595;
10596;
10597(function (factory) {
10598    if (typeof define === 'function' && define.amd) {
10599        // AMD
10600        define(['jquery'], factory);
10601    } else if (typeof exports === 'object') {
10602        // CommonJS
10603        module.exports = factory(require('jquery'));
10604    } else {
10605        // Browser globals
10606        factory(jQuery);
10607    }
10608}(function ($) {
10609    'use strict';
10610
10611    /** @typedef {Object} defaults
10612     *  @param {Boolean | String} wrapperClassName - true means take parent, string should contain jQuery selector of wrap element
10613     *  @param {String}
10613 navItemClassName - class name of items inside selector
10614     *  @param {Boolean} moreItem - false means that element doesn't contain more link and moreItemClassName and moreItemName wouldn't be used
10615     *  @param {String} moreItemClassName - class name of item which is collect hidden items
10616     *  @param {String} defaultMoreLink - html more item
10617     */
10618    var morelink = "morelink",
10619        defaults = {
10620            wrapperClassName: true,
10621            navItemClassName: ".item",
10622            moreItem: false,
10623            moreItemClassName: "",
10624            defaultMoreLink: "<li class='more-item'><a href='#'>More</a><ul class='dropdown-menu'></ul></li>"
10625        };
10626
10627    $.fn.setHiddenItemAttr = function (isHidden) {
10628        if (this.length > 1) {
10629            this.each(function () {
10630                $(this).attr("data-hidden-item", isHidden);
10631            });
10632        } else {
10633            this.attr("data-hidden-item", isHidden);
10634        }
10635    };
10636
10637    function MoreLink(element, options) {
10638        this.element = element;
10639        this.options = $.extend({}, defaults, options);
10640        this.init();
10641    }
10642
10643    MoreLink.prototype = {
10644        init: function () {
10645            var $this = $(this.element);
10646
10647            $this.data("moreLink", this);
10648            this.$linksContainer = typeof this.options.wrapperClassName === 'string' ? $(this.options.wrapperClassName) : $this.parent();
10649            this.linksContainerOldWidth = this.$linksContainer .width();
10650
10651            this.buildMoreMenu();
10652            this.initMenu();
10653            this.addEventHandlers();
10654        },
10655
10656        buildMoreMenu: function () {
10657            var $this = $(this.element),
10658                options = this.options,
10659                $links = $this.children(),
10660                $clonedLinks = $links.clone(true);
10661
10662            if (!options.moreItem) {
10663                $this.append($(options.defaultMoreLink));
10664            }
10665
10666            this.$moreMenuElement = $this.children().last();
10667            this.$moreMenuElement.find('ul').append($clonedLinks);
10668            this.$moreLinks = this.$moreMenuElement.find('> ul > li');
10669        },
10670
10671        initMenu: function () {
10672            var $this = $(this.element),
10673                $links = $this.find(" > " + this.options.navItemClassName);
10674
10675            this.moreLinksCounter = 0;
10676            this.showAll();
10677            this.setElementWidthData(this.$moreMenuElement);
10678            this.setElementWidthData($links);
10679            this.hide();
10680        },
10681
10682        addEventHandlers: function() {
10683            var WINDOW_RESIZE_THROTTLING_TIME = 200;
10684
10685            $(window).bind('resize.moreLink', this.throttle(this.recalculation.bind(this), WINDOW_RESIZE_THROTTLING_TIME));
10686
10687            document.fonts.ready.then(function () {
10688                this.initMenu();
10689            }.bind(this));
10690        },
10691
10692        hide: function () {
10693            var $this = $(this.element),
10694                $moreMenuElement = this.$moreMenuElement,
10695                $linksInProcess = $this.find(" > " + this.options.navItemClassName + ":not([data-hidden-item='true'])"),
10696                $moreLinksInProcess = this.$moreLinks;
10697
10698            var linksContainerWidth = this.$linksContainer.width();
10699
10700            for (var i = $linksInProcess.length - 1; i > 0; i--) {
10701                var $thisLink = $($linksInProcess[i]),
10702                    $thisMoreLink = $($moreLinksInProcess[i]),
10703                    $visibleLinks = $this.find(" > " + this.options.navItemClassName + ":not([data-hidden-item='true'])");
10704
10705                var visibleLinksWidth = this.getTotalElementsWidth($visibleLinks),
10706                    moreMenuElementWidth = this.moreLinksCounter > 0 ? $moreMenuElement.outerWidth() || $moreMenuElement.data('element-width') : 0;
10707
10708                if (linksContainerWidth < visibleLinksWidth + moreMenuElementWidth) {
10709                    this.moreLinksCounter++;
10710                    $thisLink.setHiddenItemAttr(true);
10711                    $thisMoreLink.setHiddenItemAttr(false);
10712                } else {
10713                    break;
10714                }
10715            }
10716
10717            if (this.moreLinksCounter > 0) {
10718                $moreMenuElement.setHiddenItemAttr(false);
10719                this.$linksContainer.addClass('with-more-menu');
10720            } else {
10721                $moreMenuElement.setHiddenItemAttr(true);
10722                this.$linksContainer.removeClass('with-more-menu');
10723            }
10724        },
10725
10726        show: function () {
10727            var $this = $(this.element),
10728                $moreMenuElement = this.$moreMenuElement,
10729                $linksInProcess = $this.find(" > " + this.options.navItemClassName + "[data-hidden-item='true']"),
10730                $moreLinksInProcess = $.grep(this.$moreLinks, function(item){return $(item).attr("data-hidden-item") === "fal
10730se"});
10731
10732            var linksContainerWidth = this.$linksContainer.width();
10733
10734            for (var i = 0; i < $linksInProcess.length; i++) {
10735                var $thisLink = $($linksInProcess[i]),
10736                    $thisMoreLink = $($moreLinksInProcess[i]),
10737                    $visibleLinks = $this.find(" > " + this.options.navItemClassName + ":not([data-hidden-item='true'])");
10738
10739                var visibleLinksWidth = this.getTotalElementsWidth($visibleLinks),
10740                    moreMenuElementWidth = this.moreLinksCounter > 1 ? $moreMenuElement.outerWidth() || $moreMenuElement.data('element-width') : 0,
10741                    thisLinkWidth = $thisLink.data('element-width');
10742
10743                if (linksContainerWidth > visibleLinksWidth + moreMenuElementWidth + thisLinkWidth) {
10744                    this.moreLinksCounter--;
10745                    $thisLink.setHiddenItemAttr(false);
10746                    $thisMoreLink.setHiddenItemAttr(true);
10747                } else {
10748                    break;
10749                }
10750            }
10751
10752            if (this.moreLinksCounter > 0) {
10753                $moreMenuElement.setHiddenItemAttr(false);
10754                this.$linksContainer.addClass('with-more-menu');
10755            } else {
10756                $moreMenuElement.setHiddenItemAttr(true);
10757                this.$linksContainer.removeClass('with-more-menu');
10758            }
10759        },
10760
10761        showAll:  function () {
10762            var $this = $(this.element),
10763                $links = $this.find(" > " + this.options.navItemClassName);
10764
10765            $links.setHiddenItemAttr(false);
10766            this.$moreMenuElement.setHiddenItemAttr(false);
10767            this.$moreLinks.setHiddenItemAttr(true);
10768        },
10769
10770        recalculation: function () {
10771            var $this = $(this.element),
10772                $visibleLinks = $this.find(" > " + this.options.navItemClassName + ":not([data-hidden-item='true'])"),
10773                visibleElementsWidth = this.getTotalElementsWidth($visibleLinks) + this.$moreMenuElement.outerWidth();
10774
10775            var linksContainerNewWidth = this.$linksContainer.width();
10776
10777            if (this.linksContainerOldWidth < linksContainerNewWidth) {
10778                this.linksContainerOldWidth = linksContainerNewWidth;
10779                return this.show();
10780            } else if ((this.linksContainerOldWidth > linksContainerNewWidth) || (visibleElementsWidth > linksContainerNewWidth)) {
10781                this.linksContainerOldWidth = linksContainerNewWidth;
10782                return this.hide();
10783            } else {
10784                this.linksContainerOldWidth = linksContainerNewWidth;
10785                return false;
10786            }
10787        },
10788
10789        setElementWidthData: function($elements) {
10790            $elements.each(function (index, element ) {
10791                var $element = $(element);
10792                $element.data('element-width', $element.outerWidth());
10793            });
10794        },
10795
10796        getTotalElementsWidth: function($elements) {
10797            var elementsWidth = 0;
10798            $elements.each(function (index, element) {
10799                elementsWidth += $(element).outerWidth(true);
10800            });
10801            return elementsWidth;
10802        },
10803
10804        throttle: function(func, ms) {
10805            var me = this,
10806                isThrottled = false,
10807                savedArgs,
10808                savedThis;
10809
10810            function wrapper() {
10811                if (isThrottled) {
10812                    savedArgs = arguments;
10813                    savedThis = this;
10814                    return;
10815                }
10816
10817                func.apply(this, arguments);
10818
10819                isThrottled = true;
10820
10821                me.timeout = setTimeout(function () {
10822                    isThrottled = false;
10823                    if (savedArgs) {
10824                        wrapper.apply(savedThis, savedArgs);
10825                        savedArgs = savedThis = null;
10826                    }
10827                }, ms);
10828            }
10829
10830            return wrapper;
10831        }
10832    };
10833
10834    $.fn.moreLink = function (options) {
10835        var selector = this.selector;
10836
10837        if (typeof options === 'object') {
10838            return this.each(function () {
10839                if (!$(this).data('moreLink')) {
10840                    options.selector = selector;
10841
10842                    new MoreLink(this, options);
10843                }
10844            });
10845        } else if (typeof options === 'string') {
10846            var args = arguments,
10847                method = options;
10848            Array.prototype.shift.call(args);
10849            return this.each(function () {
10850                var morelink = $(this).data('moreLink');
10851                if (morelink && morelink[method]) {
10852                    morelink[method].apply(morelink, args);
10853                }
10854            });
10855        }
10856
10857        return this;
10858    }
10859}));;
10860/* Note: dateTimeService has dependency on moment.js and underscore */
10861/*global moment, console*/
10862function dateTimeService() {
10863    "use strict";
10864    /**
10865     * Reset hours, minutes, seconds and milliseconds of date time moment.
10866     * @param {Moment} momentDateTime
10867     * @return {Moment} The date moment
10868     * private
10869     */
10870
10871    var resetTime = function (momentDateTime) {
10872        momentDateTime.set('hour', 0);
10873        momentDateTime.set('minute', 0);
10874        momentDateTime.set('second', 0);
10875        momentDateTime.set('millisecond', 0);
10876        return momentDateTime;
10877    };
10878
10879    //moment().zone() has been deprecated. moment.utcOffset() is the opposite of moment.zone()
10880    this.localToUtcOffsetMinutes = moment().utcOffset();
10881
10882    /**
10883     * Get moment of the specified timestamp. Moment is in Locale.
10884     * If no timestamp has been provided, the now moment is used.
10885     * @param {Number} timestamp The timestamp of the moment
10886     * @return {Moment} The moment in Locale
10887     */
10888    this.getMomentLocale = function (timestamp) {
10889        return moment(timestamp);
10890    };
10891    this.getTzName = function () {
10892        return moment.tz.guess();
10893    };
10894
10895    /**
10896     * Clone date and change it to shift date time to LOCAL midnight.
10897     *
10898     * @param {Moment | Number} dateUtc
10899     * @return {Moment} The moment in local time
10900     */
10901    this.cloneDateAsLocalMidnight = function (dateUtc) {
10902        if (!moment.isMoment(dateUtc) && !_.isFinite(dateUtc)) {
10903            console.error('[Publicate.dateTimeService] Unexpected argument type while cloning date as LOCAL midnight (dateMoment=' + JSON.stringify(dateUtc) + ')');
10904            return;
10905        }
10906        var dateMomentUtc = moment.isMoment(dateUtc) ? dateUtc.utc() : moment(dateUtc).utc();
10907
10908        //reset UTC hours, minutes and seconds first
10909        dateMomentUtc = resetTime(dateMomentUtc);
10910
10911        //consider date as LOCAL date
10912        var momentLocal = dateMomentUtc.clone().local();
10913
10914        var localToUtcOffsetMinutes = momentLocal.utcOffset();   //moment().zone() has been deprecated. moment.utcOffset() is the opposite of moment.zone()
10915
10916        //shift time to midnight as for LOCAL time
10917        momentLocal.add(-localToUtcOffsetMinutes, 'minutes');
10918
10919        return momentLocal;
10920    };
10921}
10922
10923
10924;
10925"use strict";
10926var apiService = (function () {
10927
10928    function ApiService() {
10929
10930    }
10931
10932    ApiService.prototype.__handleError = function (code, message) {
10933        console.error(message);
10934    };
10935
10936    ApiService.prototype.request = function (options) {
10937        var me = this;
10938        $.ajax({
10939            dataType: "json",
10940            type: options.method || "GET",
10941            url: options.url,
10942            success: function (data) {
10943                if (options.success) {
10944                    options.success(data);
10945                }
10946            },
10947            error: function (jqXHR, textStatus, statusDescription) {
10948                var SERVICE_UNAVAILABLE_ERROR = 503;
10949
10950                me.__handleError(jqXHR.status, statusDescription);
10951
10952                if (jqXHR.status === SERVICE_UNAVAILABLE_ERROR) {
10953                    document.open();
10954                    document.write(jqXHR.responseText);
10955                    document.close();
10956                    return;
10957                }
10958
10959                if (options.error) {
10960                    options.error();
10961                }
10962            }
10963        });
10964    };
10965
10966    return new ApiService();
10967})();;
10968var Qui=Qui||{};
10969(function(f){function c(a,b){this.__selectionLimit=isFinite(a)?a:Number.POSITIVE_INFINITY;this.__allItems=b||[];this.__selectedItems=[]}c.prototype={allocate:function(a){return this.deselect(this.firstSelected())},select:function(a){if(1>this.__selectionLimit||-1!==this.__selectedItems.indexOf(a)||this.__selectedItems.length>=this.__selectionLimit&&!this.allocate(a))return!1;this.__selectedItems.push(a);this.callback&&this.callback(a,!0);return!0},deselect:function(a){var b=this.__selectedItems.indexOf(a);if(-1===
10970    b)return!1;this.__selectedItems.splice(b,1);this.callback&&this.callback(a,!1);return!0},isSelected:function(a){return-1!==this.__selectedItems.indexOf(a)},toggle:function(a){this.isSelected(a)?this.deselect(a):this.select(a)},selectItems:function(a){for(var b=0;b<a.length;b++)this.select(a[b])},deselectItems:function(a){for(var b=0;b<a.length;b++)this.deselect(a[b])},toggleItems:function(a){for(var b=0;b<a.length;b++)this.toggle(item)},isAllItemsSelected:function(a){for(var b=0;b<a.length;b++)if(!this.isSelected(a[b]))return!1;
10971    return!0},isAnyItemSelected:function(a){for(var b=0;b<a.length;b++)if(this.isSelected(a[b]))return!0;return!1},selectAll:function(){this.selectItems(this.allItems)},deselectAll:function(){this.deselectItems(this.allItems)},toggleAll:function(){this.isAllSelected()?this.deselectAll():this.selectAll()},isAllSelected:function(){return this.__selectedItems.length===this.__allItems.length},isAnySelected:function(){return 0<this.__selectedItems.length},firstSelected:function(){return this.__selectedItems[0]}};
10972    Object.defineProperty(c.prototype,"selectedItems",{get:function(){return this.__selectedItems},set:function(a){var b=[],c=[],d,e;d=0;for(e=this.__selectedItems[d];d<this.__selectedItems.length;d++)-1===a.indexOf(e)?b.push(e):c.push(e);this.deselectItems(b);this.selectItems(c)}});Object.defineProperty(c.prototype,"allItems",{get:function(){return this.__allItems},set:function(a){this.deselectAll();this.__allItems=a}});Object.defineProperty(c.prototype,"selectionLimit",{get:function(){return this.__selectionLimit},
10973        set:function(a){this.deselectAll();this.__selectionLimit=a}});f.Selection=c})(Qui);;
10974var modalWindowWidth = 760, // this variable is using in less files too
10975    modalWindowTopPadding = .15,
10976    modalWindowTopPaddingMob = .08,
10977    themeConfigObj = {
10978        mobileScreenWidth: 991,
10979        tabletScreenWidth: 991,
10980        maxContainerWidth: 1160,
10981        maxHeightOfFullBlock: 726,
10982        headerFeedMaxHeight: 210 + 80,
10983        mainBlockCompactMaxHeight: 400,
10984        mainBlockCompactImgFullMaxHeight: 550,
10985        modalWindowWidth: modalWindowWidth,
10986        modalWindowTopPadding: modalWindowTopPadding,
10987        modalWindowTopPaddingMob: modalWindowTopPaddingMob,
10988        modalWindowMaxHeight: 1 - 2 * modalWindowTopPadding,
10989        modalWindowMaxHeightMob: 1 - 2 * modalWindowTopPaddingMob,
10990        linkListBlockMaxColumnCount: 3,
10991        readMoreButtonHTML: '<div class="read-more-button-wrapper"><div class="read-more-button" tabindex="0">read more</div></div>',
10992        showMoreButtonHTML: '<div class="read-more-button-wrapper show-more-button-wrapper"><div class="read-more-button show-more-button" tabindex="0">show more</div></div>',
10993        configs: {
10994            owlHeaderFeedConfig: {
10995                items: 1,
10996                itemElement: "li",
10997                dots: false,
10998                nav: true,
10999                navText: [],
11000                autoHeight: false
11001            },
11002            owlHeaderFeedModalConfig: {
11003                items: 1,
11004                itemElement: "li",
11005                dots: true,
11006                nav: true,
11007                navText: [],
11008                autoHeight: true
11009            },
11010            owlHeaderGalleryConfig: {
11011                autoplay: true,
11012                items: 1,
11013                itemElement: 'li',
11014                loop: true,
11015                animateOut: 'fadeOut',
11016                animateIn: 'fadeIn',
11017                nav: true,
11018                navContainer: '#headerImageCarouselNav',
11019                navText: ['', ''],
11020                dots: false,
11021                mouseDrag: false,
11022                touchDrag: false,
11023                pullDrag: false
11024            },
11025            owlFeedConfig: {
11026                items: 1,
11027                nav: true,
11028                navText: [],
11029                itemElement: 'li',
11030                loop: false
11031            },
11032            owlMainFeedEventModalConfig: {
11033                items: 1,
11034                itemElement: "li",
11035                dots: true,
11036                nav: true,
11037                navText: [],
11038                autoHeight: true
11039            },
11040            owlGalleryConfig: {
11041                items: 1,
11042                loop: true,
11043                nav: true,
11044                autoHeight: false,
11045                autoplayHoverPause: true,
11046                navText: []
11047            },
11048            moreLinkConfig: {
11049                navItemClassName: '.nav-item',
11050                defaultMoreLink: "<li class='more-item'><a class='nav-item-link' tabindex='0' aria-label='More Navigation Items'><span class='nav-link-title'>More</span></a><ul class='nav-sub-list'></ul></li>"
11051            },
11052            lightGalleryConfig: {
11053                addClass: 'light-gallery-modal',
11054                closable: false,
11055                loop: true,
11056                speed: 100,
11057                thumbnail: false,
11058                onOpen: function (lightGalleryEvent) {
11059                    addAriaLabelToPluginControls('lg');
11060                    $('.ui-dialog').css('visibility', 'hidden');
11061                    $.fn.lightGalleryApplyAltText(lightGalleryEvent);
11062                },
11063                onSlideAfter: function (lightGalleryEvent) {
11064                    $.fn.lightGalleryApplyAltText(lightGalleryEvent);
11065                },
11066                onBeforeClose: function () {
11067                    $('.ui-dialog').css('visibility', 'visible');
11068                }
11069            },
11070            dialogModalConfig: {
11071                closeText: "Close Popup Window",
11072                hide: 200,
11073                modal: true,
11074                position: {my: "center top", at: "top", of: window}
11074,
11075                show: 200,
11076                width: modalWindowWidth,
11077                draggable: false,
11078                resizable: false,
11079                open: function () {
11080                    $.fn.setCloseButtonAriaMarkup();
11081                }
11082            },
11083            directoryFiltersMovingConfig: {
11084                movingElement: '.directory .filters',
11085                mobileClass: 'filters-mobile',
11086                mobileInsertion: {
11087                    insertionRule: 'insertAfter',
11088                    target: '.directory-main-container .filters-button'
11089                },
11090                desktopInsertion: {
11091                    insertionRule: 'insertBefore',
11092                    target: '.directory-main-container'
11093                }
11094            },
11095            userPermissionsMovingConfig: {
11096                movingElement: '.users .user-permissions',
11097                mobileClass: 'permissions-mobile',
11098                mobileInsertion: {
11099                    insertionRule: 'insertAfter',
11100                    target: '.user-info .user-email'
11101                },
11102                desktopInsertion: {
11103                    insertionRule: 'insertAfter',
11104                    target: '.user-info'
11105                }
11106            }
11107        },
11108        methods: {}
11109    };
11110
11111function movingElements(options) {
11112    var mobileScreenWidth = themeConfigObj.mobileScreenWidth,
11113        movingElement = $(options.movingElement),
11114        mobileClass = options.mobileClass,
11115        mobileInsertion = options.mobileInsertion,
11116        desktopInsertion = options.desktopInsertion;
11117
11118    return function () {
11119        if (($(window).width()) <= mobileScreenWidth) {
11120            movingElement
11121                [mobileInsertion.insertionRule](mobileInsertion.target)
11122                .addClass(mobileClass);
11123        } else {
11124            movingElement
11125                [desktopInsertion.insertionRule](desktopInsertion.target)
11126                .removeClass(mobileClass)
11127                .css("display", '');
11128        }
11129    }
11130}
11131
11132function profileMobile(themeConfigObj) {
11133    var mobileScreenWidth = themeConfigObj.mobileScreenWidth;
11134
11135    if (($(window).width()) <= mobileScreenWidth) {
11136        $('.profile-wrapper').addClass('profile-wrapper-mobile');
11137    }
11138    else {
11139        $('.profile-wrapper').removeClass('profile-wrapper-mobile');
11140    }
11141}
11142
11143function classProfileSectionCrop() {
11144    $('.class.profile-wrapper .profile-section-wrapper').each(function () {
11145        var me = $(this), wrapperWidth, datesWidth, nameMaxWidth, nameElement;
11146        wrapperWidth = me.width();
11147        nameElement = me.find('.profile-section-name-code');
11148        datesWidth = me.find('.profile-section-dates').outerWidth();
11149        nameMaxWidth = wrapperWidth - datesWidth;
11150        nameElement.css('max-width', nameMaxWidth);
11151    });
11152}
11153
11154function footerSticky() {
11155    var footer_height = $('footer').outerHeight();
11156    $('main').css('padding-bottom', footer_height);
11157}
11158
11159function hideScrolls(item) {
11160    if (($(window).width() > themeConfigObj.mobileScreenWidth)&&(!bowser.ios)&&(!bowser.android)) {
11161        if (item)
11162            item.css('overflow', 'hidden');
11163    }
11164    else {
11165        item.css('overflow', 'auto');
11166    }
11167}
11168
11169function showScrolls(item) {
11170    if (item)
11171        item.css('overflow-y', 'auto');
11172}
11173
11174function checkCarouselItemNumber(event) {
11175    var element = $(event.target),
11176        currentItem = event.item.index,
11177        maxNumberItem = event.item.count;
11178
11179    maxNumberItem -= event.page ? event.page.size : 1;
11180
11181    if (currentItem == 0) {
11182        element.addClass("first-owl-item").removeClass("last-owl-item");
11183    } else if (currentItem == maxNumberItem) {
11184        element.addClass("last-owl-item").removeClass("first-owl-item");
11185    } else {
11186        element.removeClass("first-owl-item").removeClass("last-owl-item");
11187    }
11188}
11189
11190function moveLinkListItemsToMoreLink($headerLinkListBlock) {
11191    var $headerLinkList = $headerLinkListBlock.find('.link-list'),
11192        $headerLinkListItem = $headerLinkList.find('.link-list-item'),
11193        $headerLinkListSubItem = $headerLinkListItem.clone().addClass('link-list-sub-item').removeClass('link-list-item'),
11194        $headerLinkListMore = $('<li class="link-list-item more-link" tabindex="0" aria-label="More Quick Links"><ul class="link-list-sub"></ul></li>');
11195
11196    $headerLinkList.append($headerLinkListMore);
11197    $headerLinkListMore.find('.link-list-sub').append($headerLinkListSubItem);
11198}
11199
11200function addingReadMoreButton(context, button, options) {
11201    var $this = $(context),
11202        $moreButton = $(button);
11203
11204    setReadMoreButtonAriaLabel($this, $moreButton, options);
11205
11206    $this.append($moreButton);
11207    $this.find('.read-more-button-wrapper').hide();
11208    $this.attr('data-read-more', false);
11209}
11210
11211function setReadMoreButtonVisibility(context, contentWrapper, maxHeight) {
11212    var $this = $(context),
11213        $contentWrapper = $this.find(contentWrapper),
11214        titleHeight = $this.find('.block-title').outerHeight(true),
11215        contentHeight = $contentWrapper.outerHeight(true),
11216        contentMaxHeight = maxHeight - titleHeight;
11217
11218    if (($this.attr('data-read-more') === 'false')) {
11219        if (((titleHeight + contentHeight) >= maxHeight)) {
11220            $this.attr('data-read-more', true);
11221            $this.find('.read-more-button-wrapper').show();
11222            $contentWrapper.css('max-height', contentMaxHeight).css('overflow', 'hidden');
11223        } else {
11224            $this.attr('data-read-more', false);
11225            $this.find('.read-more-button-wrapper').hide();
11226        }
11227    }
11228}
11229
11230function setReadMoreButtonAriaLabel(block, button, options){
11231    var titleDescriptionOptions = $.extend({},
11232        {
11233            titleContainerSelector: options.titleContainerSelector,
11234            titleDescriptionPrefix: options.titleDescriptionPrefix,
11235            titleDescriptionDefault: options.titleDescriptionDefault
11236        });
11237
11238    var moreAboutDescription = block.find(titleDescriptionOptions.titleContainerSelector).text();
11239    if(!moreAboutDescription) {
11240        moreAboutDescription = titleDescriptionOptions.titleDescriptionDefault;
11241    } else {
11242        moreAboutDescription = titleDescriptionOptions.titleDescriptionPrefix + ' ' + moreAboutDescription;
11243    }
11244
11245    button.find('[tabindex]').attr('aria-label', moreAboutDescription);
11246}
11247
11248/*--------------------------------------------- window.ready -------------------------------------------*/
11249$(function () {
11250    //all block var
11251    var $header = $('header[class*="header"]'),
11252        $nav = $('nav[class*="nav"]'),
11253        $main = $('main[class*="content"]'),
11254        readMoreButton = themeConfigObj.readMoreButtonHTML,
11255        showMoreButton = themeConfigObj.showMoreButtonHTML;
11256
11257    //functions
11258    function wrappReadMoreButtonWithAutoplayOptions(button, autoplayIndex, elementSelector, parentListSelector) {
11259        var readMoreOptionsObj = {
11260            contentIndex: autoplayIndex,
11261            parentList: parentListSelector,
11262            parentElement: elementSelector
11263        };
11264
11265        button.find(".read-more-button").data("readMoreOptions", readMoreOptionsObj);
11266        return button;
11267    }
11268
11269    function addBtnCalculationEvent(elements) {
11270        elements.each(function () {
11271            var $this = $(this);
11272
11273            $this.hide();
11274            $this.parents('.read-more-button-wrapper').hide();
11275            $this.on('btnCalculationEvent', function () {
11276                var $this = $(this),
11277                    readMoreOption = $this.data("readMoreOptions"),
11278                    $itemElement = $this.parents(readMoreOption.parentElement),
11279                    $listElement = $this.parents(readMoreOption.parentList),
11280                    itemHeight = $itemElement.outerHeight(true),
11281                    listPadding = $listElement.outerHeight(true) - $listElement.height(),
11282                    titleHeight = $listElement.siblings('.block-title').outerHeight(true);
11283
11284                if ((titleHeight + listPadding + itemHeight) >= themeConfigObj.mainBlockCompactMaxHeight) {
11285                    $itemElement.height(themeConfigObj.mainBlockCompactMaxHeight - listPadding - titleHeight);
11286                    $this.show();
11287                    $this.parents('.read-more-button-wrapper').show();
11288                } else {
11289                    $this.hide();
11290                    $this.parents('.read-more-button-wrapper').hide();
11291                }
11292            })
11293        });
11294    }
11295
11296    function owlCarouselInitWrapper(elementsList, owlConfig, isLooped) {
11297        return elementsList
11298            .owlCarousel(owlConfig)
11299            .addClass('first-owl-item')
11300            .on('translate.owl.carousel', function (event) {
11301                checkCarouselItemNumber(event);
11302                $.fn.adjustOwlDots(event, isLooped);
11303            })
11304    }
11305
11306    function modalOwlCarouselInitWrapper(elementsList, elementItems, owlConfig, selectedIndex) {
11307        elementsList
11308            .on('initialized.owl.carousel', function (event) {
11309                checkCarouselItemNumber(event);
11310                addAriaLabelToPluginControls('owlModal');
11311            })
11312            .owlCarousel(owlConfig)
11313            .on('translate.owl.carousel', function (event) {
11314                checkCarouselItemNumber(event);
11315                hideScrolls(elementItems);
11316                $.fn.adjustOwlDots(event, false);
11317            })
11318            .on('translated.owl.carousel', function () {
11319                showScrolls(elementItems);
11320            })
11321            .trigger('to.owl.carousel', [selectedIndex, 1, true]);
11322
11323        showScrolls(elementItems);
11324        preventFocusAfterClick();
11325    }
11326
11327    /* ------------------------------ Calendar ----------------------------------*/
11328    if ($("#internet-calendar-subscribe-mobile-btn").length > 0) {
11329        $("#calendar").append($('#internet-calendar-subscribe-mobile-btn'));
11330    }
11331
11332    var $eventDetails = $("#eventDetails");
11333
11334    $eventDetails
11335        .on('dialogopen', function (event, ui) {
11336            var screenHeight = $(window).height(),
11337                screenWidth = $(window).width(),
11338                $modalEventDetails = $('.ec-event-details'),
11339                $modalEventDetailsTitle = $modalEventDetails.find('.ui-dialog-titlebar'),
11340                $modalEventDetailsHeader = $modalEventDetails.find('.event-header'),
11341                $modalEventDetailsTimeWrapper = $modalEventDetailsHeader.find('.event-detail-time-wrapper'),
11342                $modalEventDetailsBody = $modalEventDetails.find('.event-body'),
11343                $modalEventDetailsTitleItem = $modalEventDetailsHeader.find('.event-detail-title'),
11344                modalEventDetailsMaxHeight, modalEventDetailsTop, modalWindowMaxHeight, modalWindowPadding;
11345
11346            $modalEventDetailsTitleItem.html($('<span>' + $modalEventDetailsTitleItem.text() + '</span>')).prependTo($modalEventDetailsTitle);
11347
11348            $modalEventDetailsHeader.find(".event-detail-location").appendTo($modalEventDetailsBody);
11349            $modalEventDetailsHeader.find(".event-detail-type-wrapper").appendTo($modalEventDetailsBody);
11350
11351            var $modalEventDetailsDates = $modalEventDetailsTimeWrapper.find('.event-detail').clone();
11352
11353            $modalEventDetailsTimeWrapper.get(0).innerHTML = '';
11354            $modalEventDetailsTimeWrapper.append($('<div class="event-days"></div>'));
11355            $modalEventDetailsTimeWrapper.append($('<div class="event-times"></div>'));
11356
11357            $modalEventDetailsDates.each(function () {
11358                var $this = $(this),
11359                    $thisText = $this.text(),
11360                    toMoment = moment($thisText),
11361                    toFormatMonth = toMoment.format("MMM"),
11362                    toFormatDay = toMoment.format("D"),
11363                    toFormatTime = toMoment.format("h:mm a"),
11364                    $DateTag = $('<time class="event-date" datetime="' + $thisText + '">' + '<span class="event-month">' + toFormatMonth + '</span>' +
11365                        '<span class="event-day-number">' + toFormatDay + '</span>' + '</time>'),
11366                    $TimeTag = $('<time class="event-time" datetime="' + $thisText + '">' + toFormatTime + '</time>');
11367
11368                $modalEventDetailsTimeWrapper.find(".event-days").append($DateTag);
11369
11370                if (!$this.hasClass("event-all-day")) {
11371                    $modalEventDetailsTimeWrapper.find(".event-times").append($TimeTag);
11372                }
11373
11374                $this.remove();
11375            });
11376
11377            $('html').addClass('no-scroll');
11378            $(event.target)
11379                .dialog('option', themeConfigObj.configs.dialogModalConfig)
11380                //Init lightGallery on Modal Event
11381                .find('.event-detail-attachments.event-detail-images').lightGallery(themeConfigObj.configs.lightGalleryConfig)
11382                .find('.event-detail-attachment-item').attr('tabindex', '0');
11383
11384            $.fn.setTabIndexModal(event);
11385
11386            if (screenWidth <= themeConfigObj.modalWindowWidth) {
11387                modalWindowMaxHeight = themeConfigObj.modalWindowMaxHeightMob;
11388                modalWindowPadding = themeConfigObj.modalWindowTopPaddingMob;
11389            } else {
11390                modalWindowMaxHeight = themeConfigObj.modalWindowMaxHeight;
11391                modalWindowPadding = themeConfigObj.modalWindowTopPadding;
11392            }
11393
11394            //modal window height and position
11395            $modalEventDetails.css('max-height', screenHeight * modalWindowMaxHeight);
11396            modalEventDetailsTop = $modalEventDetails.position().top;
11397            $modalEventDetails.css('top', (modalEventDetailsTop + screenHeight * modalWindowPadding));
11398            modalEventDetailsMaxHeight = $modalEventDetails.height() - $modalEventDetailsTitle.outerHeight();
11399            $modalEventDetails.find('.ui-dialog-content').css('max-height', modalEventDetailsMaxHeight);
11400        })
11401
11402        .on('dialogclose', function (event) {
11403            $('html').removeClass('no-scroll');
11404            $('.ec-event-details').find('.event-detail-title').remove();
11405        });
11406
11407
11408    /* ------------------------------ Footer ----------------------------------*/
11409    //Footer Logo
11410    var $headerLogo = $('header .masthead-logo').clone(),
11411        $footerLogoContainer = $('<a href="/" class="footer-logo-container"></a>').append($headerLogo);
11412    if ($headerLogo.length) {
11413        $('footer .footer-inner section').prepend($footerLogoContainer);
11414    }
11415
11416    var footerSiteInfo = $("footer .group-site-info"),
11417        $nameAddressWrapper = $("<p class='name-address-wrapper'></p>");
11418
11419    footerSiteInfo.find(".group-name").appendTo($nameAddressWrapper);
11420    footerSiteInfo.find(".group-address").appendTo($nameAddressWrapper);
11421    footerSiteInfo.prepend($nameAddressWrapper);
11422    footerSticky();
11423
11424    /* ------------------------------ Profiles ----------------------------------*/
11425    themeConfigObj.methods.directoryFiltersMoving = movingElements(themeConfigObj.configs.directoryFiltersMovingConfig);
11426    themeConfigObj.methods.userPermissionsMoving = movingElements(themeConfigObj.configs.userPermissionsMovingConfig);
11427
11428    if ($('.profile-wrapper').length > 0) {
11429        themeConfigObj.methods.userPermissionsMoving();
11430        profileMobile(themeConfigObj);
11431
11432        $('.profile-wrapper .classes').find('.profile-info').after('<button class="profile-mobile-button" aria-label="Show additional details"></button>');
11433        $('.profile-wrapper .groups').find('.profile-info').after('<button class="profile-mobile-button" aria-label="Show additional details"></button>');
11434        $('.profile-wrapper .users').find('.user-type-position').after('<button class="profile-users-mobile-button" aria-label="Show additional details"></button>');
11435
11436        $.fn.addProfileButtonEvenListener();
11437    }
11438
11439    /*----------------------------- Directory ----------------------------*/
11440    if ($('.directory-wrapper').length > 0) {
11441        $('.class, .profile').find('.directory-main-container .search-input').after('<button class="filters-button" aria-label="Filter"></button>');
11442        themeConfigObj.methods.directoryFiltersMoving();
11443
11444        $.fn.addDirectoryButtonEvenListener();
11445    }
11446
11447    /* --------------------------------------------- Header -------------------------------------------------------------*/
11448    /*  --------------------------- Header Scroll ----------------------------------*/
11449    var $headerScrollButton = $(".header-scrolling-button");
11450
11451    $headerScrollButton.on("click", function () {
11452        $('html,body').animate({
11453            scrollTop: $(window).height()
11454        }, "slow");
11455    });
11456
11457    /* ------------------------------ Header Link list ----------------------------------*/
11458    var $headerLinkListBlock = $header.find('.list');
11459
11460    if ($headerLinkListBlock.length > 0) {
11461        $nav.addClass('header-link-list-enabled');
11462
11463        if ($headerLinkListBlock.find('.link-list-item').length > 1) {
11464            moveLinkListItemsToMoreLink($headerLinkListBlock);
11465        }
11466    }
11467    /*  --------------------------- Header Bg Images ----------------------------------*/
11468    var $headerImgList = $header.find('.img-list'),
11469        $headerImg = $headerImgList.find('.img-item'),
11470        headerGalleryAutoplayTimeout = parseInt($headerImgList.attr('data-gallery-autoplay-duration')) * 1000;
11471
11472    if ($headerImg.length > 1) {
11473        $headerImgList.owlCarousel($.extend({},
11474            themeConfigObj.configs.owlHeaderGalleryConfig,
11475            {autoplayTimeout: headerGalleryAutoplayTimeout})
11476        );
11477
11478        $headerImgList.prepareHeaderImageCarouselNav(headerGalleryAutoplayTimeout);
11479    }
11480
11481    /*  --------------------------- Header Video ----------------------------------*/
11482    var $videoPlayToggle = $('.video-play-toggle');
11483
11484    function setVideoPlayToggleTop() {
11485        if ($videoPlayToggle.length > 0) {
11486            var headerHeight = $("header").height();
11487            $videoPlayToggle.css("top", headerHeight);
11488        }
11489    }
11490
11491    setVideoPlayToggleTop();
11492
11493    /*  --------------------------- Header Feed ----------------------------------*/
11494    var $headerFeed = $header.find('.feed'),
11495        headerFeedTitleHeight = $headerFeed.find('.block-title').outerHeight(true),
11496        $feedHeaderContent = $headerFeed.find('.feed-list'),
11497        $feedHeaderContentItem = $feedHeaderContent.find('.feed-post-item'),
11498        $feedHeaderContentItemWrapper = $feedHeaderContentItem.find('.feed-post-wrapper'),
11499        feedHeaderContentPadding = $feedHeaderContent.outerHeight(true) - $feedHeaderContent.height(),
11500        feedHeaderAutoplay = !!($feedHeaderContent.attr('data-gallery-autoplay')) ? $feedHeaderContent.attr('data-gallery-autoplay').toLowerCase() : false,
11501        feedHeaderAutoplayDuration = parseInt($feedHeaderContent.attr('data-gallery-autoplay-duration')),
11502        feedHeaderContentItemHeight, feedHeaderOwlConfig;
11503
11504    if ($header.hasClass('header-homepage-main') && (!!($feedHeaderContent.length))) {
11505        $main.addClass('homepage-with-header-feed');
11506    }
11507
11508    if ((feedHeaderAutoplay === 'true') && (feedHeaderAutoplayDuration >
11508 0)) {
11509        feedHeaderOwlConfig = $.extend({}, themeConfigObj.configs.owlHeaderFeedConfig, {
11510            autoplay: true,
11511            loop: true,
11512            autoplayTimeout: feedHeaderAutoplayDuration * 1000,
11513            autoplayHoverPause: true
11514        })
11515    }
11516    else {
11517        feedHeaderOwlConfig = themeConfigObj.configs.owlHeaderFeedConfig;
11518    }
11519
11520    $feedHeaderContentItem = $feedHeaderContent.find('.feed-post-item');
11521
11522    $feedHeaderContentItem.each(function (feedHeaderContentIndex) {
11523        var $this = $(this);
11524
11525        feedHeaderContentItemHeight = $this.outerHeight(true);
11526
11527        if ((feedHeaderContentPadding + feedHeaderContentItemHeight + headerFeedTitleHeight) > themeConfigObj.headerFeedMaxHeight) {
11528            let button = wrappReadMoreButtonWithAutoplayOptions($(readMoreButton), feedHeaderContentIndex);
11529            setReadMoreButtonAriaLabel($this, button,
11530                {
11531                    titleContainerSelector: '.post-title',
11532                    titleDescriptionPrefix: 'Read more about',
11533                    titleDescriptionDefault: 'Read more about this post'
11534                });            
11535            $this.append(button);
11536            $this.height(themeConfigObj.headerFeedMaxHeight - feedHeaderContentPadding - headerFeedTitleHeight);
11537        }
11538    });
11539
11540    if ($feedHeaderContent.children().length > 1) {
11541        owlCarouselInitWrapper($feedHeaderContent, feedHeaderOwlConfig, false);
11542
11543        if (feedHeaderAutoplay === 'true') {
11544            $feedHeaderContent.addContentOwlAutoplayToggle(feedHeaderAutoplayDuration, globalConfigObj.owlAutoplayAriaLabels.feed);
11545        }
11546    }
11547    else {
11548        $feedHeaderContent.addClass('one-header-feed');
11549    }
11550
11551
11552    var $readMoreHeaderBtn = $('header .read-more-button');
11553
11554    $readMoreHeaderBtn.on('click', function () {
11555        var $this = $(this);
11556
11557        $('<ul class="modal-feed-list"></ul>').appendTo('#read-more-modal-content');
11558        $feedHeaderContentItemWrapper.clone().appendTo('.modal-feed-list');
11559
11560        var $modalFeedList = $('.modal-feed-list');
11561
11562        $modalFeedList.dialog(
11563            $.extend({}, themeConfigObj.configs.dialogModalConfig, {
11564                dialogClass: "modal-header-feed",
11565                open: function (event) {
11566                    $('html').addClass('no-scroll');
11567                    $headerFeed.find('.view-feed-page').clone().prependTo('.modal-header-feed .ui-dialog-titlebar');
11568                    if ($headerFeed.find('.block-title').length > 0) {
11569                        $headerFeed.find('.block-title').clone().prependTo('.modal-header-feed .ui-dialog-titlebar');
11570                    }
11571                    $.fn.setCloseButtonAriaMarkup();
11572                    $.fn.setTabIndexModal(event);
11573                },
11574                close: function () {
11575                    $('.modal-feed-list').remove();
11576                    $('.ui-dialog-titlebar .view-feed-page').remove();
11577                    $('html').removeClass('no-scroll');
11578                }
11579            })
11580        );
11581
11582        var $modalMainContent = $('.ui-dialog'),
11583            $modalHeaderFeed = $('.modal-header-feed'),
11584            $modalHeaderFeedTitle = $modalHeaderFeed.find('.ui-dialog-titlebar'),
11585            $modalHeaderFeedItem = $modalHeaderFeed.find('.feed-post-wrapper');
11586
11587
11588        var selectedIndex = $this.data("readMoreOptions").contentIndex;
11589        if (selectedIndex == null) {
11590            selectedIndex = 0;
11591        }
11592        if ($feedHeaderContentItem.length > 1) {
11593            modalOwlCarouselInitWrapper(
11594                $modalFeedList,
11595                $modalHeaderFeedItem,
11596                themeConfigObj.configs.owlHeaderFeedModalConfig,
11597                selectedIndex
11598            );
11599        }
11600
11601        var screenHeight = $(window).height(),
11602            screenWidth = $(window).width(),
11603            modalContentMaxHeight, modalMainContentTop, modalWindowPadding, modalWindowMaxHeight;
11604
11605        if (screenWidth <= themeConfigObj.modalWindowWidth) {
11606            modalWindowMaxHeight = themeConfigObj.modalWindowMaxHeightMob;
11607            modalWindowPadding = themeConfigObj.modalWindowTopPaddingMob;
11608        } else {
11609            modalWindowMaxHeight = themeConfigObj.modalWindowMaxHeight;
11610            modalWindowPadding = themeConfigObj.modalWindowTopPadding;
11611        }
11612
11613        modalMainContentTop = $modalMainContent.position().top;
11614        $modalHeaderFeed.css('max-height', screenHeight * modalWindowMaxHeight);
11615        $modalMainContent.css('top', (modalMainContentTop + screenHeight * modalWindowPadding));
11616        modalContentMaxHeight = $modalHeaderFeed.height() - $modalHeaderFeedTitle.outerHeight();
11617        $modalHeaderFeedItem.css('max-height', modalContentMaxHeight);
11618
11619        $modalHeaderFeed
11620            .find('.attached-img-list')
11621            .each(function () {
11622                var $this = $(this);
11623                $this.lightGallery(themeConfigObj.configs.lightGalleryConfig);
11624            });
11625    });
11626
11627    /* ------------------------------ Navigation ----------------------------------*/
11628    var $navList = $nav.find('.nav-list');
11629
11630    $navList
11631        .addClass('sm-simple')      //add class for smartMenu plugin
11632        .moreLink(themeConfigObj.configs.moreLinkConfig)
11633        .smartmenus({
11634            subIndicatorsText: '',
11635            subIndicatorsPos: 'append',
11636            subMenusMaxWidth: '991px',
11637            markCurrentItem: true
11638        })
11639        .correctNavListActiveItem();
11640
11641    bindingNavigationEventsForOverlap($navList);
11642    bindingNavigationEventsForOverlap($navList, $headerLinkListBlock);
11643
11644    /* --------------------------------------------- Main Content Blocks ------------------------------------------------*/
11645    var $mainRowCompact = $main.find('.row.compact'),
11646        $mainTextCompact = $mainRowCompact.find('.content-block.html'),
11647        $mainLinkListCompact = $mainRowCompact.find('.content-block.list'),
11648        $mainFeedCompact = $mainRowCompact.find('.content-block.feed'),
11649        $mainEventCompact = $mainRowCompact.find('.content-block.event'),
11650        $mainImagesCompact = $main.find('.content-block.images');
11651
11652    // --------------- Text Blocks -----------------
11653    $mainTextCompact.each(function () {
11654        addingReadMoreButton(this, readMoreButton,
11655            {
11656                titleContainerSelector: '.block-title',
11657                titleDescriptionPrefix: 'Read more about',
11658                titleDescriptionDefault: 'Read more about this article'
11659            });
11660
11661        setReadMoreButtonVisibility(this, '.html-wrapper', themeConfigObj.mainBlockCompactMaxHeight);
11662    });
11663
11664    /* ------------------------------ Google translate ----------------------------------*/
11665    $.fn.processGoogleTranslateButton(themeConfigObj.mobileScreenWidth);
11666
11667    /* ------------------------ Feed Blocks --------------------*/
11668    listAdditionalClassCreator($mainFeedCompact, '.feed-list', 3);
11669
11670    $mainFeedCompact.each(function () {
11671        var $this = $(this),
11672            $feedContent = $this.find('.feed-list'),
11673            feedAutoplay = !!($feedContent.attr('data-gallery-autoplay')) ? $feedContent.attr('data-gallery-autoplay').toLowerCase() : false,
11674            feedAutoplayDuration = parseInt($feedContent.attr('data-gallery-autoplay-duration')),
11675            thisOwlConfig;
11676
11677        if (($this.hasClass('half')) || ($this.hasClass('two-third'))) {
11678            thisOwlConfig = $.extend({}, themeConfigObj.configs.owlFeedConfig, {
11679                responsive: {
11680                    0: {
11681                        items: 1
11682                    },
11683                    991: {
11684                        items: 2
11685                    }
11686                }
11687            })
11688        }
11689        else if ($this.hasClass('full')) {
11690            thisOwlConfig = $.extend({}, themeConfigObj.configs.owlFeedConfig, {
11691                responsive: {
11692                    0: {
11693                        items: 1
11694                    },
11695                    991: {
11696                        items: 3
11697                    }
11698                }
11699            })
11700        }
11701        else {
11702            thisOwlConfig = themeConfigObj.configs.owlFeedConfig;
11703        }
11704
11705        if ((feedAutoplay == 'true') && (feedAutoplayDuration > 0)) {
11706            thisOwlConfig = $.extend({}, thisOwlConfig, {
11707                autoplay: true,
11708                loop: true,
11709                autoplayTimeout: feedAutoplayDuration * 1000,
11710                autoplayHoverPause: true
11711            })
11712        }
11713
11714        var $feedContentItem = $feedContent.find('.feed-post-item'),
11715            $feedContentItemsClone = $feedContentItem.find('.feed-post-wrapper').clone();
11716
11717        $feedContentItem.each(function (feedIndex) {
11718            var $this = $(this);
11719            var button = wrappReadMoreButtonWithAutoplayOptions(
11720                $(readMoreButton),
11721                feedIndex,
11722                '.feed-post-item',
11723                '.feed-list'
11724            );
11725            setReadMoreButtonAriaLabel($this, button,
11726                {
11727                    titleContainerSelector: '.post-title',
11728                    titleDescriptionPrefix: 'Read more about',
11729                    titleDescriptionDefault: 'Read more about this post'
11730                });
11731            button.find(".read-more-button").on("click", function (event) {
11732                if ($(event.target).is(':visible')) {
11733                    readMoreBtnClick.apply(event.target, [event, $feedContentItemsClone])
11734                }
11735            });
11736            $this.append(button);
11737
11738        });
11739
11740        var $feedReadMoreBtn = $('main .feed .read-more-button');
11741        addBtnCalculationEvent($feedReadMoreBtn);
11742
11743        // carousel init
11744        if ($feedContent.children().length > 1) {
11745            owlCarouselInitWrapper($feedContent, thisOwlConfig, feedAutoplay);
11746
11747            if (feedAutoplay === 'true') {
11748                $feedContent.addContentOwlAutoplayToggle(feedAutoplayDuration, globalConfigObj.owlAutoplayAriaLabels.feed);
11749            }
11750        }
11751        else {
11752            $feedContent.addClass('one-post-feed');
11753        }
11754    });
11755
11756    /* ------------------------ Image Blocks --------------------*/
11757    $mainImagesCompact.each(function () {
11758        var $this = $(this);
11759
11760        if ($this.find('ul').hasClass('popup-gallery')) {
11761            $this.addClass('images-popup-gallery');
11762        }
11763        else if ($this.find('ul').hasClass('list-gallery')) {
11764            $this.addClass('images-list-gallery');
11765        }
11766        else if ($this.find('ul').hasClass('carousel-gallery')) {
11767            $this.addClass('images-carousel-gallery');
11768        }
11769    });
11770
11771    var imageBlockRatio = getImageBlockRatio(themeConfigObj.maxContainerWidth, themeConfigObj.maxHeightOfFullBlock);
11772
11773    setRatioToImages(imageBlockRatio, '.list-img', '.compact .list-gallery');
11774    setRatioToImages(imageBlockRatio, '.list-img', '.tall .list-gallery');
11775
11776    //------------List and PopUp Image Block-----------
11777    $('.list-gallery .caption-wrapper').readmore({
11778        collapsedHeight: 37,
11779        moreLink: '<div class="read-more-link"></div>',
11780        lessLink: '<div class="read-more-link read-more-close-link"></div>',
11781        embedCSS: false,
11782        afterToggle: function (trigger, element, expanded) {
11783            if (expanded) {
11784                element.css("max-height", element.parent().height()).css("overflow", "auto");
11785            }
11786        },
11787        beforeToggle: function (trigger, element, expanded) {
11788            if (expanded) {
11789                element.scrollTop(0).css("overflow", "hidden");
11790            }
11791        }
11792    });
11793
11794    $('.popup-gallery.img-list').each(function () {
11795        var $this = $(this);
11796        $this.lightGallery(themeConfigObj.configs.lightGalleryConfig);
11797    });
11798
11799    var $mainImagesListAndPopUpCompact = $mainRowCompact.find('.content-block.images-popup-gallery, .content-block.images-list-gallery');
11800
11801    $mainImagesListAndPopUpCompact.each(function () {
11802        var $this = $(this);
11803
11804        addingReadMoreButton(this, showMoreButton,
11805            {
11806                titleContainerSelector: '.block-title',
11807                titleDescriptionPrefix: 'Show more images from',
11808                titleDescriptionDefault: 'Expand Gallery Block'
11809            });
11810
11811        if (!$this.hasClass('full')) {
11812            setReadMoreButtonVisibility(this, '.image-content', themeConfigObj.mainBlockCompactMaxHeight);
11813        }
11814        else if ($this.hasClass('full')) {
11815            setReadMoreButtonVisibility(this, '.image-content', themeConfigObj.mainBlockCompactImgFullMaxHeight);
11816        }
11817    });
11818
11819    //------------Carousel Image Blocks ----------
11820    var $mainImagesCarouselList = $main.find('.carousel-gallery');
11821
11822    $mainImagesCarouselList.each(function () {
11823        var $this = $(this);
11824
11825        if ($this.children().length > 1) {
11826            var galleryAutoplay = $this.attr('data-gallery-autoplay').toLowerCase(),
11827                galleryAutoplayDuration = parseInt($this.attr('data-gallery-autoplay-duration')),
11828                thisGalleryConfig;
11829
11830            if ((galleryAutoplay == 'true') && (galleryAutoplayDuration > 0)) {
11831                thisGalleryConfig = $.extend({}, themeConfigObj.configs.owlGalleryConfig, {
11832                    autoplay: true,
11833                    autoplayTimeout: galleryAutoplayDuration * 1000,
11834                    autoplayHoverPause: true
11835                });
11836            }
11837            else {
11838                thisGalleryConfig = themeConfigObj.configs.owlGalleryConfig;
11839            }
11840
11841            $this
11842                .owlCarousel(thisGalleryConfig)
11843                .on('translate.owl.carousel', function (event) {
11844                    $.fn.adjustOwlDots(event, true);
11845                });
11846
11847            if (galleryAutoplay === 'true') {
11848                $this.addContentOwlAutoplayToggle(galleryAutoplayDuration, globalConfigObj.owlAutoplayAriaLabels.image);
11849            }
11850        }
11851        else {
11852            $this.addClass('one-image');
11853            $this.parents('.content-block').addClass('one-image');
11854        }
11855    });
11856
11857    var $mainImagesCarouselCaptions = $mainImagesCarouselList.find('.caption-wrapper');
11858
11859    $mainImagesCarouselCaptions.readmore({
11860        collapsedHeight: 37,
11861        moreLink: '<div class="read-more-link"></div>',
11862        lessLink: '<div class="read-more-link read-more-close-link"></div>',
11863        embedCSS: false,
11864        afterToggle: function (trigger, element, expanded) {
11865            if (expanded) {
11866                element.css("max-height", element.parent().height()).css("overflow", "auto");
11867            }
11868        },
11869        beforeToggle: function (trigger, element, expanded) {
11870            if (expanded) {
11871                element.scrollTop(0).css("overflow", "hidden");
11872            }
11873        }
11874    });
11875
11876    /* ------------------------ Event Blocks --------------------*/
11877    $(".event .event-item").each(function () {
11878        var $this = $(this),
11879            $eventLocation = $this.find('.event-location');
11880
11881
11882        $eventLocation.insertBefore($this.find('.post-source-wrapper'));
11883        $eventLocation.append($this.find('.icon-ec-location'));
11884
11885        if ((($this.find('.event-date-end').length) > 0) && (($this.find('.event-time-end').length) > 0)) {
11886            var days = $('<div class="event-days"></div>'),
11887                times = $('<div class="event-times"></div>');
11888
11889            $this.find('.event-date-start').appendTo(days);
11890            $this.find('.event-date-end').appendTo(days);
11891            $this.find('.event-time-start').appendTo(times);
11892            $this.find('.event-time-end').appendTo(times);
11893
11894            $this.find('.event-day-wrapper').prepend(times)
11895                .prepend(days);
11896        }
11897        else if (($this.find('.event-time-end').length) > 0) {
11898            $this.find('.event-day-wrapper').append('<div class="event-one-day-time"></div>');
11899            $this.find('.event-day-wrapper').addClass('one-day');
11900            var oneDayTime = $this.find('.event-one-day-time');
11901            $this.find('.event-time-start').appendTo(oneDayTime);
11902            $this.find('.event-time-end').appendTo(oneDayTime);
11903        }
11904
11905    });
11906
11907    listAdditionalClassCreator($mainEventCompact, '.event-list', 3);
11908
11909    $mainEventCompact.each(function () {
11910        var $this = $(this),
11911            $eventContent = $this.find('.event-list'),
11912            eventAutoplay = !!($eventContent.attr('data-gallery-autoplay')) ? $eventContent.attr('data-gallery-autoplay').toLowerCase() : false,
11913            eventAutoplayDuration = parseInt($eventContent.attr('data-gallery-autoplay-duration')),
11914            thisOwlConfig;
11915
11916        if (($this.hasClass('half')) || ($this.hasClass('two-third'))) {
11917            thisOwlConfig = $.extend({}, themeConfigObj.configs.owlFeedConfig, {
11918                responsive: {
11919                    0: {
11920                        items: 1
11921                    },
11922                    991: {
11923                        items: 2
11924                    }
11925                }
11926            })
11927        }
11928        else if ($this.hasClass('full')) {
11929            thisOwlConfig = $.extend({}, themeConfigObj.configs.owlFeedConfig, {
11930                responsive: {
11931                    0: {
11932                        items: 1
11933                    },
11934                    991: {
11935                        items: 3
11936                    }
11937                }
11938            })
11939        }
11940        else {
11941            thisOwlConfig = themeConfigObj.configs.owlFeedConfig;
11942        }
11943
11944        if ((eventAutoplay == 'true') && (eventAutoplayDuration > 0)) {
11945            thisOwlConfig = $.extend({}, thisOwlConfig, {
11946                autoplay: true,
11947                loop: true,
11948                autoplayTimeout: eventAutoplayDuration * 1000,
11949                autoplayHoverPause: true
11950            })
11951        }
11952
11953        var $eventContentItem = $eventContent.find('.event-item'),
11954            $eventContentItemsClone = $eventContentItem.find('.event-item-wrapper').clone();
11955
11956        $.fn.convertEventsToLocalTime($eventContentItemsClone);
11957
11958        $eventContentItem.each(function (eventIndex) {
11959            var $this = $(this);
11960            var button = wrappReadMoreButtonWithAutoplayOptions(
11961                $(readMoreButton),
11962                eventIndex,
11963                '.event-item',
11964                '.event-list'
11965            );
11966            setReadMoreButtonAriaLabel($this, button,
11967                {
11968                    titleContainerSelector: '.event-title',
11969                    titleDescriptionPrefix: 'Read more about',
11970                    titleDescriptionDefault: 'Read more about this event'
11971                });
11972            button.find(".read-more-button").on("click", function (event) {
11973                if ($(event.target).is(':visible')) {
11974                    readMoreBtnClick.apply(event.target, [event, $eventContentItemsClone])
11975                }
11976            });
11977
11978            $this.append(button);
11979        });
11980
11981        var $eventReadMoreBtn = $('main .event .read-more-button');
11982        addBtnCalculationEvent($eventReadMoreBtn);
11983
11984        if ($eventContent.children().length > 1) {
11985            owlCarouselInitWrapper($eventContent, thisOwlConfig, eventAutoplay);
11986
11987            if (eventAutoplay === 'true') {
11988                $eventContent.addContentOwlAutoplayToggle(eventAutoplayDuration, globalConfigObj.owlAutoplayAriaLabels.event);
11989            }
11990        }
11991        else {
11992            $eventContent.addClass('one-event-block');
11993        }
11994    });
11995
11996    /*---------------------------- Link List Block ------------------------------*/
11997    $mainLinkListCompact.each(function () {
11998        addingReadMoreButton(this, showMoreButton,
11999            {
12000                titleContainerSelector: '.block-title',
12001                titleDescriptionPrefix: 'Show more links from',
12002                titleDescriptionDefault: 'Expand Links List'
12003            });
12004
12005        setReadMoreButtonVisibility(this, '.link-list-content', themeConfigObj.mainBlockCompactMaxHeight);
12006    });
12007
12008    //------------------------------ all block modal window --------------------------
12009    var $readMoreBtn = $('main .content-block:not(.feed):not(.event) .read-more-button');
12010
12011    function readMoreBtnClick(event, contentList) {
12012        var $this = $(this),
12013            $thisContentBlock = $this.parents('.content-block'),
12014            $thisContentTitle = $thisContentBlock.find('.block-title'),
12015            $thisContentWrapper, $thisContentItems,
12016            $viewMonthlyCalendar, $viewFeedPage;
12017
12018        //find content for different blocks
12019        if ($thisContentBlock.hasClass('html')) {
12020            $thisContentWrapper = $thisContentBlock.find('.html-wrapper');
12021        }
12022
12023        if ($thisContentBlock.hasClass('list')) {
12024            $thisContentWrapper = $thisContentBlock.find('.link-list-content');
12025        }
12026
12027        if (contentList) {
12028            $thisContentItems = contentList.clone();
12029        }
12030
12031        if ($thisContentBlock.hasClass('feed')) {
12032            $viewFeedPage = $thisContentBlock.find('.view-feed-page');
12033        }
12034
12035        if ($thisContentBlock.hasClass('event')) {
12036            $viewMonthlyCalendar = $thisContentBlock.find('.view-monthly-calendar');
12037        }
12038
12039        if ($thisContentBlock.hasClass('images-popup-gallery')) {
12040            $thisContentWrapper = $thisContentBlock.find('.image-content');
12041        }
12042
12043        if ($thisContentBlock.hasClass('images-list-gallery')) {
12044            $thisContentWrapper = $thisContentBlock.find('.image-content');
12045        }
12046
12047        //append content
12048        $('<div class="modal-content-inner"></div>').appendTo('#read-more-modal-content');
12049
12050        if (($thisContentBlock.hasClass('html')) || ($thisContentBlock.hasClass('list')) || ($thisContentBlock.hasClass('images-popup-gallery')) || ($thisContentBlock.hasClass('images-list-gallery'))) {
12051            $thisContentWrapper.clone().appendTo('#read-more-modal-content .modal-content-inner');
12052        } else if ($thisContentBlock.hasClass('feed')) {
12053            $('<div class="main-modal-feed-list"></div>').appendTo('#read-more-modal-content .modal-content-inner');
12054            $thisContentItems.appendTo('#read-more-modal-content .modal-content-inner .main-modal-feed-list');
12055        } else if ($thisContentBlock.hasClass('event')) {
12056            $('<div class="main-modal-event-list"></div>').appendTo('#read-more-modal-content .modal-content-inner');
12057            $thisContentItems.appendTo('#read-more-modal-content .modal-content-inner .main-modal-event-list');
12058        }
12059
12060        $('#read-more-modal-content').dialog(
12061            $.extend({}, themeConfigObj.configs.dialogModalConfig, {
12062                dialogClass: "modal-main-content",
12063                open: function (event) {
12064                    $('html').addClass('no-scroll');
12065                    if ($thisContentTitle) {
12066                        $thisContentTitle.clone().prependTo('.ui-dialog-titlebar');
12067                    }
12068                    else {
12069                        $('.ui-dialog-title').show();
12070                    }
12071                    if ($viewMonthlyCalendar) {
12072                        $viewMonthlyCalendar.clone().appendTo('.ui-dialog-titlebar');
12073                    }
12074                    if ($viewFeedPage) {
12075                        $viewFeedPage.clone().appendTo('.ui-dialog-titlebar');
12076                    }
12077                    $.fn.setCloseButtonAriaMarkup();
12078                    $.fn.setTabIndexModal(event);
12079                },
12080                close: function () {
12081                    $('.modal-content-inner').remove();
12082                    $('.ui-dialog-titlebar .block-title').remove();
12083                    $('.ui-dialog-titlebar .view-monthly-calendar').remove();
12084                    $('.ui-dialog-titlebar .view-feed-page').remove();
12085                    $('html').removeClass('no-scroll');
12086                    $('.ui-dialog-title').hide();
12087                    $('.modal-main-content').removeClass("feed").removeClass("event").removeClass("list").removeClass('one-event-block');
12088                }
12089            })
12090        );
12091
12092        //modal window height
12093        var screenHeight = $(window).height(),
12094            screenWidth = $(window).width(),
12095            $modalMainContent = $('.modal-main-content'),
12096            $modalContentTitle = $modalMainContent.find('.ui-dialog-titlebar'),
12097            $modalContentInner = $modalMainContent.find('.modal-content-inner'),
12098            $mainModalFeedList = $('.main-modal-feed-list'),
12099            $mainModalEventList = $('.main-modal-event-list'),
12100            $mainModalFeedListItems = $mainModalFeedList.find('.feed-post-wrapper'),
12101            $mainModalEventListItems = $mainModalEventList.find('.event-item-wrapper'),
12102            $mainModalPopUpList = $modalMainContent.find('.popup-gallery'),
12103            $mainModalImgList = $modalMainContent.find('.list-gallery'),
12104            modalContentMaxHeight, modalMainContentTop, modalWindowPadding, modalWindowMaxHeight;
12105
12106        if (screenWidth <= themeConfigObj.modalWindowWidth) {
12107            modalWindowMaxHeight = themeConfigObj.modalWindowMaxHeightMob;
12108            modalWindowPadding = themeConfigObj.modalWindowTopPaddingMob;
12109        } else {
12110            modalWindowMaxHeight = themeConfigObj.modalWindowMaxHeight;
12111            modalWindowPadding = themeConfigObj.modalWindowTopPadding;
12112        }
12113
12114        $modalMainContent.css('max-height', screenHeight * modalWindowMaxHeight);
12115        modalMainContentTop = $modalMainContent.position().top;
12116        $modalMainContent.css('top', (modalMainContentTop + screenHeight * modalWindowPadding));
12117        modalContentMaxHeight = screenHeight * modalWindowMaxHeight - $modalContentTitle.outerHeight(true);
12118        $modalContentInner.css('max-height', modalContentMaxHeight);
12119
12120        //popUp case
12121        if ($thisContentBlock.hasClass('images-popup-gallery')) {
12122            $modalMainContent.addClass('images');
12123            $mainModalPopUpList.lightGallery(themeConfigObj.configs.lightGalleryConfig);
12124        }
12125
12126        //list img case
12127        if ($thisContentBlock.hasClass('images-list-gallery')) {
12128            $modalMainContent.addClass('images');
12129
12130            var $mainModalImgListCaption = $mainModalImgList.find('.img-caption');
12131
12132            $mainModalImgListCaption.each(function () {
12133                var $this = $(this);
12134
12135                $this.find('.read-more-close-link').remove();
12136                $this.find('.read-more-link').remove();
12137
12138                $this.find('.caption-wrapper')
12139                    .removeAttr('style')
12140                    .readmore({
12141                        collapsedHeight: 37,
12142                        moreLink: '<div class="read-more-link"></div>',
12143                        lessLink: '<div class="read-more-link read-more-close-link"></div>',
12144                        embedCSS: false,
12145                        afterToggle: function (trigger, element, expanded) {
12146                            if (expanded) {
12147                                element.css("max-height", element.parent().height()).css("overflow", "auto");
12148                            }
12149                        },
12150                        beforeToggle: function (trigger, element, expanded) {
12151                            if (expanded) {
12152                                element.scrollTop(0).css("overflow", "hidden");
12153                            }
12154                        }
12155                    });
12156            });
12157        }
12158
12159        //link-list case
12160        if ($thisContentBlock.hasClass('list')) {
12161            $modalMainContent.addClass('list');
12162        }
12163
12164        //modal feed carousel init
12165        var selectedIndex = !!($this.data("readMoreOptions")) ? $this.data("readMoreOptions").contentIndex : null;
12166
12167        if (selectedIndex == null) {
12168            selectedIndex = 0;
12169        }
12170        // feed case
12171        if ($thisContentBlock.hasClass('feed')) {
12172            $modalMainContent.addClass('feed');
12173            modalContentMaxHeight = $modalMainContent.height() - $modalContentTitle.outerHeight(true);
12174
12175            $mainModalFeedListItems.css('max-height', modalContentMaxHeight);
12176
12177            if ($thisContentItems.length > 1) {
12178                modalOwlCarouselInitWrapper(
12179                    $mainModalFeedList,
12180                    $mainModalFeedListItems,
12181                    themeConfigObj.configs.owlMainFeedEventModalConfig,
12182                    selectedIndex
12183                );
12184            }
12185            else {
12186                $mainModalFeedList.addClass('one-post-feed');
12187            }
12188
12189            $mainModalFeedList
12190                .find('.attached-img-list')
12191                .each(function () {
12192                    var $this = $(this);
12193                    $this.lightGallery(themeConfigObj.configs.lightGalleryConfig);
12194                });
12195        }
12196
12197        //event case
12198        if ($thisContentBlock.hasClass('event')) {
12199            $modalMainContent.addClass('event');
12200
12201            $mainModalEventListItems.css('max-height', modalContentMaxHeight);
12202
12203            //modal event carousel init
12204            if ($thisContentItems.length > 1) {
12205                modalOwlCarouselInitWrapper(
12206                    $mainModalEventList,
12207                    $mainModalEventListItems,
12208                    themeConfigObj.configs.owlMainFeedEventModalConfig,
12209                    selectedIndex);
12210
12211            } else {
12212                $modalMainContent.addClass('one-event-block');
12213            }
12214
12215            $mainModalEventList.find('.attached-img-list')
12216                .each(function () {
12217                    var $this = $(this);
12218                    $this.lightGallery(themeConfigObj.configs.lightGalleryConfig);
12219                });
12220        }
12221    }
12222
12223    $readMoreBtn.on('click', readMoreBtnClick);
12224
12225    $('main .feed .read-more-button, main .event .read-more-button').trigger('btnCalculationEvent');
12226
12227
12228    // a11y scripts
12229    addAriaLabelToPluginControls('owl');
12230    preventFocusAfterClick();
12231    addEnterKeyListener();
12232
12233    // ------------------------------------------------- window.load ------------------------------------------------------
12234    $(window).load(function () {
12235        if ($('.profile-wrapper').length > 0) {
12236            classProfileSectionCrop();
12237        }
12238
12239        //Text blocks
12240        $mainTextCompact.each(function () {
12241            setReadMoreButtonVisibility(this, '.html-wrapper', themeConfigObj.mainBlockCompactMaxHeight);
12242        });
12243
12244        //Link-list blocks
12245        $mainLinkListCompact.each(function () {
12246            setReadMoreButtonVisibility(this, '.link-list-content', themeConfigObj.mainBlockCompactMaxHeight);
12247        });
12248
12249        /* ------------------------ Footer -------------------------------*/
12250        footerSticky();
12251
12252        /* ------------------------------ Calendar ----------------------------------*/
12253        if ($('main').children().hasClass('calendar-data-sources')) {
12254            $('.calendar-data-sources').insertAfter('.fc-view-container');
12255        }
12256
12257        // a11y scripts
12258        preventOverflowedFocus();
12259        setTabIndex();
12260    });
12261
12262});
12263
12264// ---------------------------------------------- window.resize --------------------------------------------------------
12265$(window).on("resize", function () {
12266    function resizeFunction() {
12267        footerSticky();
12268
12269        if ($('.profile-wrapper').length > 0) {
12270            themeConfigObj.methods.userPermissionsMoving();
12271            profileMobile(themeConfigObj);
12272            if (($(window).width()) > themeConfigObj.mobileScreenWidth) {
12273                classProfileSectionCrop();
12274            }
12275        }
12276
12277        if ($('.directory-wrapper').length > 0) {
12278            themeConfigObj.methods.directoryFiltersMoving();
12279        }
12280
12281        preventOverflowedFocus();
12282    }
12283
12284    _.debounce(resizeFunction(), 200);
12285});;

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.