PageSourceSearch

https://www.hotelsantoamaro.com/en/

html hotelsantoamaro.com collected 2026-09-27 05:25:23 UTC 688,470 bytes, 10,724 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en"  xml:lang="en">
3<head>
4
5
6
7    
8    <!-- Global site tag (gtag.js) - Google Ads: 705285267 -->
vendor: 83 bytes, lines 8-10
8
9    
10        <script async defer src="https://www.googletagmanager.com/gtag/js?id=
10AW-705285267
vendor: 20 bytes, lines 10-11
10"></script>
11        
11<script>
12          window.dataLayer = window.dataLayer || [];
13          function gtag(){dataLayer.push(arguments);}
14          gtag('js', new Date());
15        </script>
15
16    
17
18    
18<script>
19        try {
20            gtag('config', 'AW-705285267');
21        } catch (e) {
22            console.warn('Error adding gtag config');
23            console.warn(e);
24        }
25
26    </script>
26
27
28
29
30
31
32    
33
34
35    <title> Hotel Santo Amaro | Fátima | Official Website </title>
36    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
37    
38        <link rel="icon" href="https://cdn.paraty.es/static_files/sahotels/specific/202608200107/images/favicon_sa-amaro.ico?v=1.1" type="image/x-icon">
39    
40    <meta name="keywords" content="hotel santo amaro in fátima; hotel santo amaro lisboa; hotel santo amaro contact; hotel santo amaro fátima contacts; santo amaro hotel; hotels in Fátima; hotel in the region of Fátima; hotel Santo Amaro offers; hotel santo amaro galeria; Santo Amaro hotel location; hotel santo amaro store; Santo Amaro hotel services; hotel breakfast Santo Amaro; Santo Amaro hotel regimes; family room hotel Santo Amaro; hotel rooms in fatima; Fátima sanctuary hotel; hotels near Fátima; hotels near the sanctuary of Fátima; accommodation in Fátima; Fátima events; hotels for fatima events; contacts hotel Santo Amaro"/>
41    <meta name="description" content="At the Santo Amaro Hotel located in Fátima, you will enjoy comfort and well-being. Book at the best price."/>
42    
43    <meta name="revisit-after" content="2 days"/>
44    <meta http-equiv="Content-Language" content="en"/>
45    <meta name="dc.title" content=" Hotel Santo Amaro | Fátima | Official Website "/>
46    <meta name="dc.description" content="At the Santo Amaro Hotel located in Fátima, you will enjoy comfort and well-being. Book at the best price."/>
47    <meta name="dc.keywords" content="hotel santo amaro in fátima; hotel santo amaro lisboa; hotel santo amaro contact; hotel santo amaro fátima contacts; santo amaro hotel; hotels in Fátima; hotel in the region of Fátima; hotel Santo Amaro offers; hotel santo amaro galeria; Santo Amaro hotel location; hotel santo amaro store; Santo Amaro hotel services; hotel breakfast Santo Amaro; Santo Amaro hotel regimes; family room hotel Santo Amaro; hotel rooms in fatima; Fátima sanctuary hotel; hotels near Fátima; hotels near the sanctuary of Fátima; accommodation in Fátima; Fátima events; hotels for fatima events; contacts hotel Santo Amaro"/>
48    <meta name="dc.language" content="en"/>
49    <meta name="dc.creator" content="Hotel Santo Amaro | Web Oficial | Fátima - Portugal"/>
50    <meta name="dc.format" content="text/html"/>
51    <meta name="dc.identifier" content="https://www.hotelsantoamaro.com"/>
52    <meta name="format-detection" content="telephone=no">
53    <!-- REVOLUTION BANNER CSS SETTINGS -->
54    <link rel="stylesheet" type="text/css" href="https://cdn.paraty.es/static_files/sahotels/generic/202608191505/lib/rs-plugin/css/settings_unified.min.css" media="screen"/>
55    <link rel="stylesheet" href="https://cdn.paraty.es/static_files/sahotels/generic/202608191505/lib/lightbox/css/lightbox.css" type="text/css"/>
56    <link rel="stylesheet" type="text/css" href="https://cdn.paraty.es/static_files/sahotels/generic/202608191505/css/templateBaseline.css"/>
57    <link rel="stylesheet" type="text/css" href="https://cdn.paraty.es/static_files/sahotels/generic/202608191505/css/1140/1140.css"/>
58    <link rel="stylesheet" type="text/css" href="https://cdn.paraty.es/static_files/sahotels/generic/202608191505/plugins/pricescalendar/styles.css">
59    <link rel="stylesheet" type="text/css" href="https://cdn.paraty.es/static_files/sahotels/generic/202608191505/plugins/dates-selector/css/datepicker_ext_inf.css">
60
61    <link rel="stylesheet" type="text/css" href="/css/sahos/styles_sa-amaro.css?v=202608200104"/>
62    <!--[if IE 8]><link rel="stylesheet" type="text/css" href="/css/sahos/ie8.css" /><![endif]-->
63    <!--[if lte IE 7]>
63<script type="text/javascript">alert('The current version of your browser is not supported. Please upgrade to a newer version or use another browser');</script>
63<![endif]-->
64    <!--[if lte IE 8]>
64<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
64<![endif]-->
65    
65<script type="text/javascript">
66        if (navigator.userAgent.match(/Android/i)
67                || navigator.userAgent.match(/webOS/i)
68                || navigator.userAgent.match(/iPhone/i)
69                || navigator.userAgent.match(/iPad/i)
70                || navigator.userAgent.match(/iPod/i)
71                || navigator.userAgent.match(/BlackBerry/i)
72                || navigator.userAgent.match(/Windows Phone/i)) {
73            document.write('<meta name="viewport" content="width=1160, initial-scale=1, user-scalable=yes">');
74        }
75    </script>
75
76    
76<script>
vendor: 93,524 bytes, line 76
76(function(e,t){function _(e){var t=M[e]={};return v.each(e.split(y),function(e,n){t[n]=!0}),t}function H(e,n,r){if(r===t&&e.nodeType===1){var i="data-"+n.replace(P,"-$1").toLowerCase();r=e.getAttribute(i);if(typeof r=="string"){try{r=r==="true"?!0:r==="false"?!1:r==="null"?null:+r+""===r?+r:D.test(r)?v.parseJSON(r):r}catch(s){}v.data(e,n,r)}else r=t}return r}function B(e){var t;for(t in e){if(t==="data"&&v.isEmptyObject(e[t]))continue;if(t!=="toJSON")return!1}return!0}function et(){return!1}function tt(){return!0}function ut(e){return!e||!e.parentNode||e.parentNode.nodeType===11}function at(e,t){do e=e[t];while(e&&e.nodeType!==1);return e}function ft(e,t,n){t=t||0;if(v.isFunction(t))return v.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return v.grep(e,function(e,r){return e===t===n});if(typeof t=="string"){var r=v.grep(e,function(e){return e.nodeType===1});if(it.test(t))return v.filter(t,r,!n);t=v.filter(t,r)}return v.grep(e,function(e,r){return v.inArray(e,t)>=0===n})}function lt(e){var t=ct.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function At(e,t){if(t.nodeType!==1||!v.hasData(e))return;var n,r,i,s=v._data(e),o=v._data(t,s),u=s.events;if(u){delete o.handle,o.events={};for(n in u)for(r=0,i=u[n].length;r<i;r++)v.event.add(t,n,u[n][r])}o.data&&(o.data=v.extend({},o.data))}function Ot(e,t){var n;if(t.nodeType!==1)return;t.clearAttributes&&t.clearAttributes(),t.mergeAttributes&&t.mergeAttributes(e),n=t.nodeName.toLowerCase(),n==="object"?(t.parentNode&&(t.outerHTML=e.outerHTML),v.support.html5Clone&&e.innerHTML&&!v.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):n==="input"&&Et.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):n==="option"?t.selected=e.defaultSelected:n==="input"||n==="textarea"?t.defaultValue=e.defaultValue:n==="script"&&t.text!==e.text&&(t.text=e.text),t.removeAttribute(v.expando)}function Mt(e){return typeof e.getElementsByTagName!="undefined"?e.getElementsByTagName("*"):typeof e.querySelectorAll!="undefined"?e.querySelectorAll("*"):[]}function _t(e){Et.test(e.type)&&(e.defaultChecked=e.checked)}function Qt(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=Jt.length;while(i--){t=Jt[i]+n;if(t in e)return t}return r}function Gt(e,t){return e=t||e,v.css(e,"display")==="none"||!v.contains(e.ownerDocument,e)}function Yt(e,t){var n,r,i=[],s=0,o=e.length;for(;s<o;s++){n=e[s];if(!n.style)continue;i[s]=v._data(n,"olddisplay"),t?(!i[s]&&n.style.display==="none"&&(n.style.display=""),n.style.display===""&&Gt(n)&&(i[s]=v._data(n,"olddisplay",nn(n.nodeName)))):(r=Dt(n,"display"),!i[s]&&r!=="none"&&v._data(n,"olddisplay",r))}for(s=0;s<o;s++){n=e[s];if(!n.style)continue;if(!t||n.style.display==="none"||n.style.display==="")n.style.display=t?i[s]||"":"none"}return e}function Zt(e,t,n){var r=Rt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function en(e,t,n,r){var i=n===(r?"border":"content")?4:t==="width"?1:0,s=0;for(;i<4;i+=2)n==="margin"&&(s+=v.css(e,n+$t[i],!0)),r?(n==="content"&&(s-=parseFloat(Dt(e,"padding"+$t[i]))||0),n!=="margin"&&(s-=parseFloat(Dt(e,"border"+$t[i]+"Width"))||0)):(s+=parseFloat(Dt(e,"padding"+$t[i]))||0,n!=="padding"&&(s+=parseFloat(Dt(e,"border"+$t[i]+"Width"))||0));return s}function tn(e,t,n){var r=t==="width"?e.offsetWidth:e.offsetHeight,i=!0,s=v.support.boxSizing&&v.css(e,"boxSizing")==="border-box";if(r<=0||r==null){r=Dt(e,t);if(r<0||r==null)r=e.style[t];if(Ut.test(r))return r;i=s&&(v.support.boxSizingReliable||r===e.style[t]),r=parseFloat(r)||0}return r+en(e,t,n||(s?"border":"content"),i)+"px"}function nn(e){if(Wt[e])return Wt[e];var t=v("<"+e+">").appendTo(i.body),n=t.css("display");t.remove();if(n==="none"||n===""){Pt=i.body.appendChild(Pt||v.extend(i.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!Ht||!Pt.createElement)Ht=(Pt.contentWindow||Pt.contentDocument).document,Ht.write("<!doctype html><html><body>"),Ht.close();t=Ht.body.appendChild(Ht.createElement(e)),n=Dt(t,"display"),i.body.removeChild(Pt)}return Wt[e]=n,n}function fn(e,t,n,r){var i;if(v.isArray(t))v.each(t,function(t,i){n||sn.test(e)?r(e,i):fn(e+"["+(typeof i=="object"?t:"")+"]",i,n,r)});else if(!n&&v.type(t)==="object")for(i in t)fn(e+"["+i+"]",t[i],n,r);else r(e,t)}function Cn(e){return function(t,n){typeof t!="string"&&(n=t,t="*");var r,i,s,o=t.toLowerCase().split(y),u=0,a=o.length;if(v.isFunction(n))for(;u<a;u++)r=o[u],s=/^\+/.test(r),s&&(r=r.substr(1)||"*"),i=e[r]=e[r]||[],i[s?"unshift":"push"](n)}}function kn(e,n,r,i,s,o){s=s||n.dataTypes[0],o=o||{},o[s]=!0;var u,a=e[s],f=0,l=a?a.length:0,c=e===Sn;for(;f<l&&(c||!u);f++)u=a[f](n,r,i),typeof u=="string"&&(!c||o[u]?u=t:(n.dataTypes.unshift(u),u=kn(e,n,r,i,u,o)));return(c||!u)&&!o["*"]&&(u=kn(e,n,r,i,"*",o)),u}function Ln(e,n){var r,i,s=v.ajaxSettings.flatOptions||{};for(r in n)n[r]!==t&&((s[r]?e:i||(i={}))[r]=n[r]);i&&v.extend(!0,e,i)}function An(e,n,r){var i,s,o,u,a=e.contents,f=e.dataTypes,l=e.responseFields;for(s in l)s in r&&(n[l[s]]=r[s]);while(f[0]==="*")f.shift(),i===t&&(i=e.mimeType||n.getResponseHeader("content-type"));if(i)for(s in a)if(a[s]&&a[s].test(i)){f.unshift(s);break}if(f[0]in r)o=f[0];else{for(s in r){if(!f[0]||e.converters[s+" "+f[0]]){o=s;break}u||(u=s)}o=o||u}if(o)return o!==f[0]&&f.unshift(o),r[o]}function On(e,t){var n,r,i,s,o=e.dataTypes.slice(),u=o[0],a={},f=0;e.dataFilter&&(t=e.dataFilter(t,e.dataType));if(o[1])for(n in e.converters)a[n.toLowerCase()]=e.converters[n];for(;i=o[++f];)if(i!=="*"){if(u!=="*"&&u!==i){n=a[u+" "+i]||a["* "+i];if(!n)for(r in a){s=r.split(" ");if(s[1]===i){n=a[u+" "+s[0]]||a["* "+s[0]];if(n){n===!0?n=a[r]:a[r]!==!0&&(i=s[0],o.splice(f--,0,i));break}}}if(n!==!0)if(n&&e["throws"])t=n(t);else try{t=n(t)}catch(l){return{state:"parsererror",error:n?l:"No conversion from "+u+" to "+i}}}u=i}return{state:"success",data:t}}function Fn(){try{return new e.XMLHttpRequest}catch(t){}}function In(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}function $n(){return setTimeout(function(){qn=t},0),qn=v.now()}function Jn(e,t){v.each(t,function(t,n){var r=(Vn[t]||[]).concat(Vn["*"]),i=0,s=r.length;for(;i<s;i++)if(r[i].call(e,t,n))return})}function Kn(e,t,n){var r,i=0,s=0,o=Xn.length,u=v.Deferred().always(function(){delete a.elem}),a=function(){var t=qn||$n(),n=Math.max(0,f.startTime+f.duration-t),r=n/f.duration||0,i=1-r,s=0,o=f.tweens.length;for(;s<o;s++)f.tweens[s].run(i);return u.notifyWith(e,[f,i,n]),i<1&&o?n:(u.resolveWith(e,[f]),!1)},f=u.promise({elem:e,props:v.extend({},t),opts:v.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:qn||$n(),duration:n.duration,tweens:[],createTween:function(t,n,r){var i=v.Tween(e,f.opts,t,n,f.opts.specialEasing[t]||f.opts.easing);return f.tweens.push(i),i},stop:function(t){var n=0,r=t?f.tweens.length:0;for(;n<r;n++)f.tweens[n].run(1);return t?u.resolveWith(e,[f,t]):u.rejectWith(e,[f,t]),this}}),l=f.props;Qn(l,f.opts.specialEasing);for(;i<o;i++){r=Xn[i].call(f,e,l,f.opts);if(r)return r}return Jn(f,l),v.isFunction(f.opts.start)&&f.opts.start.call(e,f),v.fx.timer(v.extend(a,{anim:f,queue:f.opts.queue,elem:e})),f.progress(f.opts.progress).done(f.opts.done,f.opts.complete).fail(f.opts.fail).always(f.opts.always)}function Qn(e,t){var n,r,i,s,o;for(n in e){r=v.camelCase(n),i=t[r],s=e[n],v.isArray(s)&&(i=s[1],s=e[n]=s[0]),n!==r&&(e[r]=s,delete e[n]),o=v.cssHooks[r];if(o&&"expand"in o){s=o.expand(s),delete e[r];for(n in s)n in e||(e[n]=s[n],t[n]=i)}else t[r]=i}}function Gn(e,t,n){var r,i,s,o,u,a,f,l,c,h=this,p=e.style,d={},m=[],g=e.nodeType&&Gt(e);n.queue||(l=v._queueHooks(e,"fx"),l.unqueued==null&&(l.unqueued=0,c=l.empty.fire,l.empty.fire=function(){l.unqueued||c()}),l.unqueued++,h.always(function(){h.always(function(){l.unqueued--,v.queue(e,"fx").length||l.empty.fire()})})),e.nodeType===1&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],v.css(e,"display")==="inline"&&v.css(e,"float")==="none"&&(!v.support.inlineBlockNeedsLayout||nn(e.nodeName)==="inline"?p.display="inline-block":p.zoom=1)),n.overflow&&(p.overflow="hidden",v.support.shrinkWrapBlocks||h.done(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t){s=t[r];if(Un.exec(s)){delete t[r],a=a||s==="toggle";if(s===(g?"hide":"show"))continue;m.push(r)}}o=m.length;if(o){u=v._data(e,"fxshow")||v._data(e,"fxshow",{}),"hidden"in u&&(g=u.hidden),a&&(u.hidden=!g),g?v(e).show():h.done(function(){v(e).hide()}),h.done(function(){var t;v.removeData(e,"fxshow",!0);for(t in d)v.style(e,t,d[t])});for(r=0;r<o;r++)i=m[r],f=h.createTween(i,g?u[i]:0),d[i]=u[i]||v.style(e,i),i in u||(u[i]=f.start,g&&(f.end=f.start,f.start=i==="width"||i==="height"?1:0))}}function Yn(e,t,n,r,i){return new Yn.prototype.init(e,t,n,r,i)}function Zn(e,t){var n,r={height:e},i=0;t=t?1:0;for(;i<4;i+=2-t)n=$t[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}function tr(e){return v.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:!1}var n,r,i=e.document,s=e.location,o=e.navigator,u=e.jQuery,a=e.$,f=Array.prototype.push,l=Array.prototype.slice,c=Array.prototype.indexOf,h=Object.prototype.toString,p=Object.prototype.hasOwnProperty,d=String.prototype.trim,v=function(e,t){return new v.fn.init(e,t,n)},m=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,g=/\S/,y=/\s+/,b=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,w=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,E=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,S=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,T=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,N=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,C=/^-ms-/,k=/-([\da-z])/gi,L=function(e,t){return(t+"").toUpperCase()},A=function(){i.addEventListener?(i.removeEventListener("DOMContentLoaded",A,!1),v.ready()):i.readyState==="complete"&&(i.detachEvent("onreadystatechange",A),v.ready())},O={};v.fn=v.prototype={constructor:v,init:function(e,n,r){var s,o,u,a;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if(typeof e=="string"){e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3?s=[null,e,null]:s=w.exec(e);if(s&&(s[1]||!n)){if(s[1])return n=n instanceof v?n[0]:n,a=n&&n.nodeType?n.ownerDocument||n:i,e=v.parseHTML(s[1],a,!0),E.test(s[1])&&v.isPlainObject(n)&&this.attr.call(e,n,!0),v.merge(this,e);o=i.getElementById(s[2]);if(o&&o.parentNode){if(o.id!==s[2])return r.find(e);this.length=1,this[0]=o}return this.context=i,this.selector=e,this}return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e)}return v.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),v.makeArray(e,this))},selector:"",jquery:"1.8.3",length:0,size:function(){return this.length},toArray:function(){return l.call(this)},get:function(e){return e==null?this.toArray():e<0?this[this.length+e]:this[e]},pushStack:function(e,t,n){var r=v.merge(this.constructor(),e);return r.prevObject=this,r.context=this.context,t==="find"?r.selector=this.selector+(this.selector?" ":"")+n:t&&(r.selector=this.selector+"."+t+"("+n+")"),r},each:function(e,t){return v.each(this,e,t)},ready:function(e){return v.ready.promise().done(e),this},eq:function(e){return e=+e,e===-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(l.apply(this,arguments),"slice",l.call(arguments).join(","))},map:function(e){return this.pushStack(v.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:[].sort,splice:[].splice},v.fn.init.prototype=v.fn,v.extend=v.fn.extend=function(){var e,n,r,i,s,o,u=arguments[0]||{},a=1,f=arguments.length,l=!1;typeof u=="boolean"&&(l=u,u=arguments[1]||{},a=2),typeof u!="object"&&!v.isFunction(u)&&(u={}),f===a&&(u=this,--a);for(;a<f;a++)if((e=arguments[a])!=null)for(n in e){r=u[n],i=e[n];if(u===i)continue;l&&i&&(v.isPlainObject(i)||(s=v.isArray(i)))?(s?(s=!1,o=r&&v.isArray(r)?r:[]):o=r&&v.isPlainObject(r)?r:{},u[n]=v.extend(l,o,i)):i!==t&&(u[n]=i)}return u},v.extend({noConflict:function(t){return e.$===v&&(e.$=a),t&&e.jQuery===v&&(e.jQuery=u),v},isReady:!1,readyWait:1,holdReady:function(e){e?v.readyWait++:v.ready(!0)},ready:function(e){if(e===!0?--v.readyWait:v.isReady)return;if(!i.body)return setTimeout(v.ready,1);v.isReady=!0;if(e!==!0&&--v.readyWait>0)return;r.resolveWith(i,[v]),v.fn.trigger&&v(i).trigger("ready").off("ready")},isFunction:function(e){return v.type(e)==="function"},isArray:Array.isArray||function(e){return v.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return e==null?String(e):O[h.call(e)]||"object"},isPlainObject:function(e){if(!e||v.type(e)!=="object"||e.nodeType||v.isWindow(e))return!1;try{if(e.constructor&&!p.call(e,"constructor")&&!p.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||p.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return!e||typeof e!="string"?null:(typeof t=="boolean"&&(n=t,t=0),t=t||i,(r=E.exec(e))?[t.createElement(r[1])]:(r=v.buildFragment([e],t,n?null:[]),v.merge([],(r.cacheable?v.clone(r.fragment):r.fragment).childNodes)))},parseJSON:function(t){if(!t||typeof t!="string")return null;t=v.trim(t);if(e.JSON&&e.JSON.parse)return e.JSON.parse(t);if(S.test(t.replace(T,"@").replace(N,"]").replace(x,"")))return(new Function("return "+t))();v.error("Invalid JSON: "+t)},parseXML:function(n){var r,i;if(!n||typeof n!="string")return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(s){r=t}return(!r||!r.documentElement||r.getElementsByTagName("parsererror").length)&&v.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&g.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(C,"ms-").replace(k,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,n,r){var i,s=0,o=e.length,u=o===t||v.isFunction(e);if(r){if(u){for(i in e)if(n.apply(e[i],r)===!1)break}else for(;s<o;)if(n.apply(e[s++],r)===!1)break}else if(u){for(i in e)if(n.call(e[i],i,e[i])===!1)break}else for(;s<o;)if(n.call(e[s],s,e[s++])===!1)break;return e},trim:d&&!d.call("\ufeff\u00a0")?function(e){return e==null?"":d.call(e)}:function(e){return e==null?"":(e+"").replace(b,"")},makeArray:function(e,t){var n,r=t||[];return e!=null&&(n=v.type(e),e.length==null||n==="string"||n==="function"||n==="regexp"||v.isWindow(e)?f.call(r,e):v.merge(r,e)),r},inArray:function(e,t,n){var r;if(t){if(c)return c.call(t,e,n);r=t.length,n=n?n<0?Math.max(0,r+n):n:0;for(;n<r;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,s=0;if(typeof r=="number")for(;s<r;s++)e[i++]=n[s];else while(n[s]!==t)e[i++]=n[s++];return e.length=i,e},grep:function(e,t,n){var r,i=[],s=0,o=e.length;n=!!n;for(;s<o;s++)r=!!t(e[s],s),n!==r&&i.push(e[s]);return i},map:function(e,n,r){var i,s,o=[],u=0,a=e.length,f=e instanceof v||a!==t&&typeof a=="number"&&(a>0&&e[0]&&e[a-1]||a===0||v.isArray(e));if(f)for(;u<a;u++)i=n(e[u],u,r),i!=null&&(o[o.length]=i);else for(s in e)i=n(e[s],s,r),i!=null&&(o[o.length]=i);return o.concat.apply([],o)},guid:1,proxy:function(e,n){var r,i,s;return typeof n=="string"&&(r=e[n],n=e,e=r),v.isFunction(e)?(i=l.call(arguments,2),s=function(){return e.apply(n,i.concat(l.call(arguments)))},s.guid=e.guid=e.guid||v.guid++,s):t},access:function(e,n,r,i,s,o,u){var a,f=r==null,l=0,c=e.length;if(r&&typeof r=="object"){for(l in r)v.access(e,n,l,r[l],1,o,i);s=1}else if(i!==t){a=u===t&&v.isFunction(i),f&&(a?(a=n,n=function(e,t,n){return a.call(v(e),n)}):(n.call(e,i),n=null));if(n)for(;l<c;l++)n(e[l],r,a?i.call(e[l],l,n(e[l],r)):i,u);s=1}return s?e:f?n.call(e):c?n(e[0],r):o},now:function(){return(new Date).getTime()}}),v.ready.promise=function(t){if(!r){r=v.Deferred();if(i.readyState==="complete")setTimeout(v.ready,1);else if(i.addEventListener)i.addEventListener("DOMContentLoaded",A,!1),e.addEventListener("load",v.ready,!1);else{i.attachEvent("onreadystatechange",A),e.attachEvent("onload",v.ready);var n=!1;try{n=e.frameElement==null&&i.documentElement}catch(s){}n&&n.doScroll&&function o(){if(!v.isReady){try{n.doScroll("left")}catch(e){return setTimeout(o,50)}v.ready()}}()}}return r.promise(t)},v.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(e,t){O["[object "+t+"]"]=t.toLowerCase()}),n=v(i);var M={};v.Callbacks=function(e){e=typeof e=="string"?M[e]||_(e):v.extend({},e);var n,r,i,s,o,u,a=[],f=!e.once&&[],l=function(t){n=e.memory&&t,r=!0,u=s||0,s=0,o=a.length,i=!0;for(;a&&u<o;u++)if(a[u].apply(t[0],t[1])===!1&&e.stopOnFalse){n=!1;break}i=!1,a&&(f?f.length&&l(f.shift()):n?a=[]:c.disable())},c={add:function(){if(a){var t=a.length;(function r(t){v.each(t,function(t,n){var i=v.type(n);i==="function"?(!e.unique||!c.has(n))&&a.push(n):n&&n.length&&i!=="string"&&r(n)})})(arguments),i?o=a.length:n&&(s=t,l(n))}return this},remove:function(){return a&&v.each(arguments,function(e,t){var n;while((n=v.inArray(t,a,n))>-1)a.splice(n,1),i&&(n<=o&&o--,n<=u&&u--)}),this},has:function(e){return v.inArray(e,a)>-1},empty:function(){return a=[],this},disable:function(){return a=f=n=t,this},disabled:function(){return!a},lock:function(){return f=t,n||c.disable(),this},locked:function(){return!f},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],a&&(!r||f)&&(i?f.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},v.extend({Deferred:function(e){var t=[["resolve","done",v.Callbacks("once memory"),"resolved"],["reject","fail",v.Callbacks("once memory"),"rejected"],["notify","progress",v.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return v.Deferred(function(n){v.each(t,function(t,r){var s=r[0],o=e[t];i[r[1]](v.isFunction(o)?function(){var e=o.apply(this,arguments);e&&v.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===i?n:this,[e])}:n[s])}),e=null}).promise()},promise:function(e){return e!=null?v.extend(e,r):r}},i={};return r.pipe=r.then,v.each(t,function(e,s){var o=s[2],u=s[3];r[s[1]]=o.add,u&&o.add(function(){n=u},t[e^1][2].disable,t[2][2].lock),i[s[0]]=o.fire,i[s[0]+"With"]=o.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=l.call(arguments),r=n.length,i=r!==1||e&&v.isFunction(e.promise)?r:0,s=i===1?e:v.Deferred(),o=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?l.call(arguments):r,n===u?s.notifyWith(t,n):--i||s.resolveWith(t,n)}},u,a,f;if(r>1){u=new Array(r),a=new Array(r),f=new Array(r);for(;t<r;t++)n[t]&&v.isFunction(n[t].promise)?n[t].promise().done(o(t,f,n)).fail(s.reject).progress(o(t,a,u)):--i}return i||s.resolveWith(f,n),s.promise()}}),v.support=function(){var t,n,r,s,o,u,a,f,l,c,h,p=i.createElement("div");p.setAttribute("className","t"),p.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=p.getElementsByTagName("*"),r=p.getElementsByTagName("a")[0];if(!n||!r||!n.length)return{};s=i.createElement("select"),o=s.appendChild(i.createElement("option")),u=p.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:r.getAttribute("href")==="/a",opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:u.value==="on",optSelected:o.selected,getSetAttribute:p.className!=="t",enctype:!!i.createElement("form").enctype,html5Clone:i.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",boxModel:i.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},u.checked=!0,t.noCloneChecked=u.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!o.disabled;try{delete p.test}catch(d){t.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",h=function(){t.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick"),p.detachEvent("onclick",h)),u=i.createElement("input"),u.value="t",u.setAttribute("type","radio"),t.radioValue=u.value==="t",u.setAttribute("checked","checked"),u.setAttribute("name","t"),p.appendChild(u),a=i.createDocumentFragment(),a.appendChild(p.lastChild),t.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=u.checked,a.removeChild(u),a.appendChild(p);if(p.attachEvent)for(l in{submit:!0,change:!0,focusin:!0})f="on"+l,c=f in p,c||(p.setAttribute(f,"return;"),c=typeof p[f]=="function"),t[l+"Bubbles"]=c;return v(function(){var n,r,s,o,u="padding:0;margin:0;border:0;display:block;overflow:hidden;",a=i.getElementsByTagName("body")[0];if(!a)return;n=i.createElement("div"),n.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",a.insertBefore(n,a.firstChild),r=i.createElement("div"),n.appendChild(r),r.innerHTML="<table><tr><td></td><td>t</td></tr></table>",s=r.getElementsByTagName("td"),s[0].style.cssText="padding:0;margin:0;border:0;display:none",c=s[0].offsetHeight===0,s[0].style.display="",s[1].style.display="none",t.reliableHiddenOffsets=c&&s[0].offsetHeight===0,r.innerHTML="",r.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=r.offsetWidth===4,t.doesNotIncludeMarginInBodyOffset=a.offsetTop!==1,e.getComputedStyle&&(t.pixelPosition=(e.getComputedStyle(r,null)||{}).top!=="1%",t.boxSizingReliable=(e.getComputedStyle(r,null)||{width:"4px"}).width==="4px",o=i.createElement("div"),o.style.cssText=r.style.cssText=u,o.style.marginRight=o.style.width="0",r.style.width="1px",r.appendChild(o),t.reliableMarginRight=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),typeof r.style.zoom!="undefined"&&(r.innerHTML="",r.style.cssText=u+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=r.offsetWidth===3,r.style.display="block",r.style.overflow="visible",r.innerHTML="<div></div>",r.firstChild.style.width="5px",t.shrinkWrapBlocks=r.offsetWidth!==3,n.style.zoom=1),a.removeChild(n),n=r=s=o=null}),a.removeChild(p),n=r=s=o=u=a=p=null,t}();var D=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;v.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(v.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?v.cache[e[v.expando]]:e[v.expando],!!e&&!B(e)},data:function(e,n,r,i){if(!v.acceptData(e))return;var s,o,u=v.expando,a=typeof n=="string",f=e.nodeType,l=f?v.cache:e,c=f?e[u]:e[u]&&u;if((!c||!l[c]||!i&&!l[c].data)&&a&&r===t)return;c||(f?e[u]=c=v.deletedIds.pop()||v.guid++:c=u),l[c]||(l[c]={},f||(l[c].toJSON=v.noop));if(typeof n=="object"||typeof n=="function")i?l[c]=v.extend(l[c],n):l[c].data=v.extend(l[c].data,n);return s=l[c],i||(s.data||(s.data={}),s=s.data),r!==t&&(s[v.camelCase(n)]=r),a?(o=s[n],o==null&&(o=s[v.camelCase(n)])):o=s,o},removeData:function(e,t,n){if(!v.acceptData(e))return;var r,i,s,o=e.nodeType,u=o?v.cache:e,a=o?e[v.expando]:v.expando;if(!u[a])return;if(t){r=n?u[a]:u[a].data;if(r){v.isArray(t)||(t in r?t=[t]:(t=v.camelCase(t),t in r?t=[t]:t=t.split(" ")));for(i=0,s=t.length;i<s;i++)delete r[t[i]];if(!(n?B:v.isEmptyObject)(r))return}}if(!n){delete u[a].data;if(!B(u[a]))return}o?v.cleanData([e],!0):v.support.deleteExpando||u!=u.window?delete u[a]:u[a]=null},_data:function(e,t,n){return v.data(e,t,n,!0)},acceptData:function(e){var t=e.nodeName&&v.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),v.fn.extend({data:function(e,n){var r,i,s,o,u,a=this[0],f=0,l=null;if(e===t){if(this.length){l=v.data(a);if(a.nodeType===1&&!v._data(a,"parsedAttrs")){s=a.attributes;for(u=s.length;f<u;f++)o=s[f].name,o.indexOf("data-")||(o=v.camelCase(o.substring(5)),H(a,o,l[o]));v._data(a,"parsedAttrs",!0)}}return l}return typeof e=="object"?this.each(function(){v.data(this,e)}):(r=e.split(".",2),r[1]=r[1]?"."+r[1]:"",i=r[1]+"!",v.access(this,function(n){if(n===t)return l=this.triggerHandler("getData"+i,[r[0]]),l===t&&a&&(l=v.data(a,e),l=H(a,e,l)),l===t&&r[1]?this.data(r[0]):l;r[1]=n,this.each(function(){var t=v(this);t.triggerHandler("setData"+i,r),v.data(this,e,n),t.triggerHandler("changeData"+i,r)})},null,n,arguments.length>1,null,!1))},removeData:function(e){return this.each(function(){v.removeData(this,e)})}}),v.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=v._data(e,t),n&&(!r||v.isArray(n)?r=v._data(e,t,v.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=v.queue(e,t),r=n.length,i=n.shift(),s=v._queueHooks(e,t),o=function(){v.dequeue(e,t)};i==="inprogress"&&(i=n.shift(),r--),i&&(t==="fx"&&n.unshift("inprogress"),delete s.stop,i.call(e,o,s)),!r&&s&&s.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return v._data(e,n)||v._data(e,n,{empty:v.Callbacks("once memory").add(function(){v.removeData(e,t+"queue",!0),v.removeData(e,n,!0)})})}}),v.fn.extend({queue:function(e,n){var r=2;return typeof e!="string"&&(n=e,e="fx",r--),arguments.length<r?v.queue(this[0],e):n===t?this:this.each(function(){var t=v.queue(this,e,n);v._queueHooks(this,e),e==="fx"&&t[0]!=="inprogress"&&v.dequeue(this,e)})},dequeue:function(e){return this.each(function(){v.dequeue(this,e)})},delay:function(e,t){return e=v.fx?v.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,s=v.Deferred(),o=this,u=this.length,a=function(){--i||s.resolveWith(o,[o])};typeof e!="string"&&(n=e,e=t),e=e||"fx";while(u--)r=v._data(o[u],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(a));return a(),s.promise(n)}});var j,F,I,q=/[\t\r\n]/g,R=/\r/g,U=/^(?:button|input)$/i,z=/^(?:button|input|object|select|textarea)$/i,W=/^a(?:rea|)$/i,X=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,V=v.support.getSetAttribute;v.fn.extend({attr:function(e,t){return v.access(this,v.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){v.removeAttr(this,e)})},prop:function(e,t){return v.access(this,v.prop,e,t,arguments.length>1)},removeProp:function(e){return e=v.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,s,o,u;if(v.isFunction(e))return this.each(function(t){v(this).addClass(e.call(this,t,this.className))});if(e&&typeof e=="string"){t=e.split(y);for(n=0,r=this.length;n<r;n++){i=this[n];if(i.nodeType===1)if(!i.className&&t.length===1)i.className=e;else{s=" "+i.className+" ";for(o=0,u=t.length;o<u;o++)s.indexOf(" "+t[o]+" ")<0&&(s+=t[o]+" ");i.className=v.trim(s)}}}return this},removeClass:function(e){var n,r,i,s,o,u,a;if(v.isFunction(e))return this.each(function(t){v(this).removeClass(e.call(this,t,this.className))});if(e&&typeof e=="string"||e===t){n=(e||"").split(y);for(u=0,a=this.length;u<a;u++){i=this[u];if(i.nodeType===1&&i.className){r=(" "+i.className+" ").replace(q," ");for(s=0,o=n.length;s<o;s++)while(r.indexOf(" "+n[s]+" ")>=0)r=r.replace(" "+n[s]+" "," ");i.className=e?v.trim(r):""}}}return this},toggleClass:function(e,t){var n=typeof e,r=typeof t=="boolean";return v.isFunction(e)?this.each(function(n){v(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(n==="string"){var i,s=0,o=v(this),u=t,a=e.split(y);while(i=a[s++])u=r?u:!o.hasClass(i),o[u?"addClass":"removeClass"](i)}else if(n==="undefined"||n==="boolean")this.className&&v._data(this,"__className__",this.className),this.className=this.className||e===!1?"":v._data(this,"__className__")||""})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;n<r;n++)if(this[n].nodeType===1&&(" "+this[n].className+" ").replace(q," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,s=this[0];if(!arguments.length){if(s)return n=v.valHooks[s.type]||v.valHooks[s.nodeName.toLowerCase()],n&&"get"in n&&(r=n.get(s,"value"))!==t?r:(r=s.value,typeof r=="string"?r.replace(R,""):r==null?"":r);return}return i=v.isFunction(e),this.each(function(r){var s,o=v(this);if(this.nodeType!==1)return;i?s=e.call(this,r,o.val()):s=e,s==null?s="":typeof s=="number"?s+="":v.isArray(s)&&(s=v.map(s,function(e){return e==null?"":e+""})),n=v.valHooks[this.type]||v.valHooks[this.nodeName.toLowerCase()];if(!n||!("set"in n)||n.set(this,s,"value")===t)this.value=s})}}),v.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,s=e.type==="select-one"||i<0,o=s?null:[],u=s?i+1:r.length,a=i<0?u:s?i:0;for(;a<u;a++){n=r[a];if((n.selected||a===i)&&(v.support.optDisabled?!n.disabled:n.getAttribute("disabled")===null)&&(!n.parentNode.disabled||!v.nodeName(n.parentNode,"optgroup"))){t=v(n).val();if(s)return t;o.push(t)}}return o},set:function(e,t){var n=v.makeArray(t);return v(e).find("option").each(function(){this.selected=v.inArray(v(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attrFn:{},attr:function(e,n,r,i){var s,o,u,a=e.nodeType;if(!e||a===3||a===8||a===2)return;if(i&&v.isFunction(v.fn[n]))return v(e)[n](r);if(typeof e.getAttribute=="undefined")return v.prop(e,n,r);u=a!==1||!v.isXMLDoc(e),u&&(n=n.toLowerCase(),o=v.attrHooks[n]||(X.test(n)?F:j));if(r!==t){if(r===null){v.removeAttr(e,n);return}return o&&"set"in o&&u&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r)}return o&&"get"in o&&u&&(s=o.get(e,n))!==null?s:(s=e.getAttribute(n),s===null?t:s)},removeAttr:function(e,t){var n,r,i,s,o=0;if(t&&e.nodeType===1){r=t.split(y);for(;o<r.length;o++)i=r[o],i&&(n=v.propFix[i]||i,s=X.test(i),s||v.attr(e,i,""),e.removeAttribute(V?i:n),s&&n in e&&(e[n]=!1))}},attrHooks:{type:{set:function(e,t){if(U.test(e.nodeName)&&e.parentNode)v.error("type property can't be changed");else if(!v.support.radioValue&&t==="radio"&&v.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}},value:{get:function(e,t){return j&&v.nodeName(e,"button")?j.get(e,t):t in e?e.value:null},set:function(e,t,n){if(j&&v.nodeName(e,"button"))return j.set(e,t,n);e.value=t}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,s,o,u=e.nodeType;if(!e||u===3||u===8||u===2)return;return o=u!==1||!v.isXMLDoc(e),o&&(n=v.propFix[n]||n,s=v.propHooks[n]),r!==t?s&&"set"in s&&(i=s.set(e,r,n))!==t?i:e[n]=r:s&&"get"in s&&(i=s.get(e,n))!==null?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):z.test(e.nodeName)||W.test(e.nodeName)&&e.href?0:t}}}}),F={get:function(e,n){var r,i=v.prop(e,n);return i===!0||typeof i!="boolean"&&(r=e.getAttributeNode(n))&&r.nodeValue!==!1?n.toLowerCase():t},set:function(e,t,n){var r;return t===!1?v.removeAttr(e,n):(r=v.propFix[n]||n,r in e&&(e[r]=!0),e.setAttribute(n,n.toLowerCase())),n}},V||(I={name:!0,id:!0,coords:!0},j=v.valHooks.button={get:function(e,n){var r;return r=e.getAttributeNode(n),r&&(I[n]?r.value!=="":r.specified)?r.value:t},set:function(e,t,n){var r=e.getAttributeNode(n);return r||(r=i.createAttribute(n),e.setAttributeNode(r)),r.value=t+""}},v.each(["width","height"],function(e,t){v.attrHooks[t]=v.extend(v.attrHooks[t],{set:function(e,n){if(n==="")return e.setAttribute(t,"auto"),n}})}),v.attrHooks.contenteditable={get:j.get,set:function(e,t,n){t===""&&(t="false"),j.set(e,t,n)}}),v.support.hrefNormalized||v.each(["href","src","width","height"],function(e,n){v.attrHooks[n]=v.extend(v.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return r===null?t:r}})}),v.support.style||(v.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||t},set:function(e,t){return e.style.cssText=t+""}}),v.support.optSelected||(v.propHooks.selected=v.extend(v.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),v.support.enctype||(v.propFix.enctype="encoding"),v.support.checkOn||v.each(["radio","checkbox"],function(){v.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}}),v.each(["radio","checkbox"],function(){v.valHooks[this]=v.extend(v.valHooks[this],{set:function(e,t){if(v.isArray(t))return e.checked=v.inArray(v(e).val(),t)>=0}})});var $=/^(?:textarea|input|select)$/i,J=/^([^\.]*|)(?:\.(.+)|)$/,K=/(?:^|\s)hover(\.\S+|)\b/,Q=/^key/,G=/^(?:mouse|contextmenu)|click/,Y=/^(?:focusinfocus|focusoutblur)$/,Z=function(e){return v.event.special.hover?e:e.replace(K,"mouseenter$1 mouseleave$1")};v.event={add:function(e,n,r,i,s){var o,u,a,f,l,c,h,p,d,m,g;if(e.nodeType===3||e.nodeType===8||!n||!r||!(o=v._data(e)))return;r.handler&&(d=r,r=d.handler,s=d.selector),r.guid||(r.guid=v.guid++),a=o.events,a||(o.events=a={}),u=o.handle,u||(o.handle=u=function(e){return typeof v=="undefined"||!!e&&v.event.triggered===e.type?t:v.event.dispatch.apply(u.elem,arguments)},u.elem=e),n=v.trim(Z(n)).split(" ");for(f=0;f<n.length;f++){l=J.exec(n[f])||[],c=l[1],h=(l[2]||"").split(".").sort(),g=v.event.special[c]||{},c=(s?g.delegateType:g.bindType)||c,g=v.event.special[c]||{},p=v.extend({type:c,origType:l[1],data:i,handler:r,guid:r.guid,selector:s,needsContext:s&&v.expr.match.needsContext.test(s),namespace:h.join(".")},d),m=a[c];if(!m){m=a[c]=[],m.delegateCount=0;if(!g.setup||g.setup.call(e,i,h,u)===!1)e.addEventListener?e.addEventListener(c,u,!1):e.attachEvent&&e.attachEvent("on"+c,u)}g.add&&(g.add.call(e,p),p.handler.guid||(p.handler.guid=r.guid)),s?m.splice(m.delegateCount++,0,p):m.push(p),v.event.global[c]=!0}e=null},global:{},remove:function(e,t,n,r,i){var s,o,u,a,f,l,c,h,p,d,m,g=v.hasData(e)&&v._data(e);if(!g||!(h=g.events))return;t=v.trim(Z(t||"")).split(" ");for(s=0;s<t.length;s++){o=J.exec(t[s])||[],u=a=o[1],f=o[2];if(!u){for(u in h)v.event.remove(e,u+t[s],n,r,!0);continue}p=v.event.special[u]||{},u=(r?p.delegateType:p.bindType)||u,d=h[u]||[],l=d.length,f=f?new RegExp("(^|\\.)"+f.split(".").sort().join("\\.(?:.*\\.|)")+"(\\.|$)"):null;for(c=0;c<d.length;c++)m=d[c],(i||a===m.origType)&&(!n||n.guid===m.guid)&&(!f||f.test(m.namespace))&&(!r||r===m.selector||r==="**"&&m.selector)&&(d.splice(c--,1),m.selector&&d.delegateCount--,p.remove&&p.remove.call(e,m));d.length===0&&l!==d.length&&((!p.teardown||p.teardown.call(e,f,g.handle)===!1)&&v.removeEvent(e,u,g.handle),delete h[u])}v.isEmptyObject(h)&&(delete g.handle,v.removeData(e,"events",!0))},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(n,r,s,o){if(!s||s.nodeType!==3&&s.nodeType!==8){var u,a,f,l,c,h,p,d,m,g,y=n.type||n,b=[];if(Y.test(y+v.event.triggered))return;y.indexOf("!")>=0&&(y=y.slice(0,-1),a=!0),y.indexOf(".")>=0&&(b=y.split("."),y=b.shift(),b.sort());if((!s||v.event.customEvent[y])&&!v.event.global[y])return;n=typeof n=="object"?n[v.expando]?n:new v.Event(y,n):new v.Event(y),n.type=y,n.isTrigger=!0,n.exclusive=a,n.namespace=b.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,h=y.indexOf(":")<0?"on"+y:"";if(!s){u=v.cache;for(f in u)u[f].events&&u[f].events[y]&&v.event.trigger(n,r,u[f].handle.elem,!0);return}n.result=t,n.target||(n.target=s),r=r!=null?v.makeArray(r):[],r.unshift(n),p=v.event.special[y]||{};if(p.trigger&&p.trigger.apply(s,r)===!1)return;m=[[s,p.bindType||y]];if(!o&&!p.noBubble&&!v.isWindow(s)){g=p.delegateType||y,l=Y.test(g+y)?s:s.parentNode;for(c=s;l;l=l.parentNode)m.push([l,g]),c=l;c===(s.ownerDocument||i)&&m.push([c.defaultView||c.parentWindow||e,g])}for(f=0;f<m.length&&!n.isPropagationStopped();f++)l=m[f][0],n.type=m[f][1],d=(v._data(l,"events")||{})[n.type]&&v._data(l,"handle"),d&&d.apply(l,r),d=h&&l[h],d&&v.acceptData(l)&&d.apply&&d.apply(l,r)===!1&&n.preventDefault();return n.type=y,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(s.ownerDocument,r)===!1)&&(y!=="click"||!v.nodeName(s,"a"))&&v.acceptData(s)&&h&&s[y]&&(y!=="focus"&&y!=="blur"||n.target.offsetWidth!==0)&&!v.isWindow(s)&&(c=s[h],c&&(s[h]=null),v.event.triggered=y,s[y](),v.event.triggered=t,c&&(s[h]=c)),n.result}return},dispatch:function(n){n=v.event.fix(n||e.event);var r,i,s,o,u,a,f,c,h,p,d=(v._data(this,"events")||{})[n.type]||[],m=d.delegateCount,g=l.call(arguments),y=!n.exclusive&&!n.namespace,b=v.event.special[n.type]||{},w=[];g[0]=n,n.delegateTarget=this;if(b.preDispatch&&b.preDispatch.call(this,n)===!1)return;if(m&&(!n.button||n.type!=="click"))for(s=n.target;s!=this;s=s.parentNode||this)if(s.disabled!==!0||n.type!=="click"){u={},f=[];for(r=0;r<m;r++)c=d[r],h=c.selector,u[h]===t&&(u[h]=c.needsContext?v(h,this).index(s)>=0:v.find(h,this,null,[s]).length),u[h]&&f.push(c);f.length&&w.push({elem:s,matches:f})}d.length>m&&w.push({elem:this,matches:d.slice(m)});for(r=0;r<w.length&&!n.isPropagationStopped();r++){a=w[r],n.currentTarget=a.elem;for(i=0;i<a.matches.length&&!n.isImmediatePropagationStopped();i++){c=a.matches[i];if(y||!n.namespace&&!c.namespace||n.namespace_re&&n.namespace_re.test(c.namespace))n.data=c.data,n.handleObj=c,o=((v.event.special[c.origType]||{}).handle||c.handler).apply(a.elem,g),o!==t&&(n.result=o,o===!1&&(n.preventDefault(),n.stopPropagation()))}}return b.postDispatch&&b.postDispatch.call(this,n),n.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return e.which==null&&(e.which=t.charCode!=null?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,s,o,u=n.button,a=n.fromElement;return e.pageX==null&&n.clientX!=null&&(r=e.target.ownerDocument||i,s=r.documentElement,o=r.body,e.pageX=n.clientX+(s&&s.scrollLeft||o&&o.scrollLeft||0)-(s&&s.clientLeft||o&&o.clientLeft||0),e.pageY=n.clientY+(s&&s.scrollTop||o&&o.scrollTop||0)-(s&&s.clientTop||o&&o.clientTop||0)),!e.relatedTarget&&a&&(e.relatedTarget=a===e.target?n.toElement:a),!e.which&&u!==t&&(e.which=u&1?1:u&2?3:u&4?2:0),e}},fix:function(e){if(e[v.expando])return e;var t,n,r=e,s=v.event.fixHooks[e.type]||{},o=s.props?this.props.concat(s.props):this.props;e=v.Event(r);for(t=o.length;t;)n=o[--t],e[n]=r[n];return e.target||(e.target=r.srcElement||i),e.target.nodeType===3&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,r):e},special:{load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(e,t,n){v.isWindow(this)&&(this.onbeforeunload=n)},teardown:function(e,t){this.onbeforeunload===t&&(this.onbeforeunload=null)}}},simulate:function(e,t,n,r){var i=v.extend(new v.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?v.event.trigger(i,null,t):v.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},v.event.handle=v.event.dispatch,v.removeEvent=i.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]=="undefined"&&(e[r]=null),e.detachEvent(r,n))},v.Event=function(e,t){if(!(this instanceof v.Event))return new v.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?tt:et):this.type=e,t&&v.extend(this,t),this.timeStamp=e&&e.timeStamp||v.now(),this[v.expando]=!0},v.Event.prototype={preventDefault:function(){this.isDefaultPrevented=tt;var e=this.originalEvent;if(!e)return;e.preventDefault?e.preventDefault():e.returnValue=!1},stopPropagation:function(){this.isPropagationStopped=tt;var e=this.originalEvent;if(!e)return;e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=tt,this.stopPropagation()},isDefaultPrevented:et,isPropagationStopped:et,isImmediatePropagationStopped:et},v.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){v.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,s=e.handleObj,o=s.selector;if(!i||i!==r&&!v.contains(r,i))e.type=s.origType,n=s.handler.apply(this,arguments),e.type=t;return n}}}),v.support.submitBubbles||(v.event.special.submit={setup:function(){if(v.nodeName(this,"form"))return!1;v.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=v.nodeName(n,"input")||v.nodeName(n,"button")?n.form:t;r&&!v._data(r,"_submit_attached")&&(v.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),v._data(r,"_submit_attached",!0))})},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&v.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){if(v.nodeName(this,"form"))return!1;v.event.remove(this,"._submit")}}),v.support.changeBubbles||(v.event.special.change={setup:function(){if($.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")v.event.add(this,"propertychange._change",function(e){e.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),v.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),v.event.simulate("change",this,e,!0)});return!1}v.event.add(this,"beforeactivate._change",function(e){var t=e.target;$.test(t.nodeName)&&!v._data(t,"_change_attached")&&(v.event.add(t,"change._change",function(e){this.parentNode&&!e.isSimulated&&!e.isTrigger&&v.event.simulate("change",this.parentNode,e,!0)}),v._data(t,"_change_attached",!0))})},handle:function(e){var t=e.target;if(this!==t||e.isSimulated||e.isTrigger||t.type!=="radio"&&t.type!=="checkbox")return e.handleObj.handler.apply(this,arguments)},teardown:function(){return v.event.remove(this,"._change"),!$.test(this.nodeName)}}),v.support.focusinBubbles||v.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){v.event.simulate(t,e.target,v.event.fix(e),!0)};v.event.special[t]={setup:function(){n++===0&&i.addEventListener(e,r,!0)},teardown:function(){--n===0&&i.removeEventListener(e,r,!0)}}}),v.fn.extend({on:function(e,n,r,i,s){var o,u;if(typeof e=="object"){typeof n!="string"&&(r=r||n,n=t);for(u in e)this.on(u,n,r,e[u],s);return this}r==null&&i==null?(i=n,r=n=t):i==null&&(typeof n=="string"?(i=r,r=t):(i=r,r=n,n=t));if(i===!1)i=et;else if(!i)return this;return s===1&&(o=i,i=function(e){return v().off(e),o.apply(this,arguments)},i.guid=o.guid||(o.guid=v.guid++)),this.each(function(){v.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,s;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,v(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if(typeof e=="object"){for(s in e)this.off(s,n,e[s]);return this}if(n===!1||typeof n=="function")r=n,n=t;return r===!1&&(r=et),this.each(function(){v.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},live:function(e,t,n){return v(this.context).on(e,this.selector,t,n),this},die:function(e,t){return v(this.context).off(e,this.selector||"**",t),this},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return arguments.length===1?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){v.event.trigger(e,t,this)})},triggerHandler:function(e,t){if(this[0])return v.event.trigger(e,t,this[0],!0)},toggle:function(e){var t=arguments,n=e.guid||v.guid++,r=0,i=function(n){var i=(v._data(this,"lastToggle"+e.guid)||0)%r;return v._data(this,"lastToggle"+e.guid,i+1),n.preventDefault(),t[i].apply(this,arguments)||!1};i.guid=n;while(r<t.length)t[r++].guid=n;return this.click(i)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),v.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(e,t){v.fn[t]=function(e,n){return n==null&&(n=e,e=null),arguments.length>0?this.on(t,null,e,n):this.trigger(t)},Q.test(t)&&(v.event.fixHooks[t]=v.event.keyHooks),G.test(t)&&(v.event.fixHooks[t]=v.event.mouseHooks)}),function(e,t){function nt(e,t,n,r){n=n||[],t=t||g;var i,s,a,f,l=t.nodeType;if(!e||typeof e!="string")return n;if(l!==1&&l!==9)return[];a=o(t);if(!a&&!r)if(i=R.exec(e))if(f=i[1]){if(l===9){s=t.getElementById(f);if(!s||!s.parentNode)return n;if(s.id===f)return n.push(s),n}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(f))&&u(t,s)&&s.id===f)return n.push(s),n}else{if(i[2])return S.apply(n,x.call(t.getElementsByTagName(e),0)),n;if((f=i[3])&&Z&&t.getElementsByClassName)return S.apply(n,x.call(t.getElementsByClassName(f),0)),n}return vt(e.replace(j,"$1"),t,n,r,a)}function rt(e){return function(t){var n=t.nodeName.toLowerCase();return n==="input"&&t.type===e}}function it(e){return function(t){var n=t.nodeName.toLowerCase();return(n==="input"||n==="button")&&t.type===e}}function st(e){return N(function(t){return t=+t,N(function(n,r){var i,s=e([],n.length,t),o=s.length;while(o--)n[i=s[o]]&&(n[i]=!(r[i]=n[i]))})})}function ot(e,t,n){if(e===t)return n;var r=e.nextSibling;while(r){if(r===t)return-1;r=r.nextSibling}return 1}function ut(e,t){var n,r,s,o,u,a,f,l=L[d][e+" "];if(l)return t?0:l.slice(0);u=e,a=[],f=i.preFilter;while(u){if(!n||(r=F.exec(u)))r&&(u=u.slice(r[0].length)||u),a.push(s=[]);n=!1;if(r=I.exec(u))s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=r[0].replace(j," ");for(o in i.filter)(r=J[o].exec(u))&&(!f[o]||(r=f[o](r)))&&(s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=o,n.matches=r);if(!n)break}return t?u.length:u?nt.error(e):L(e,a).slice(0)}function at(e,t,r){var i=t.dir,s=r&&t.dir==="parentNode",o=w++;return t.first?function(t,n,r){while(t=t[i])if(s||t.nodeType===1)return e(t,n,r)}:function(t,r,u){if(!u){var a,f=b+" "+o+" ",l=f+n;while(t=t[i])if(s||t.nodeType===1){if((a=t[d])===l)return t.sizset;if(typeof a=="string"&&a.indexOf(f)===0){if(t.sizset)return t}else{t[d]=l;if(e(t,r,u))return t.sizset=!0,t;t.sizset=!1}}}else while(t=t[i])if(s||t.nodeType===1)if(e(t,r,u))return t}}function ft(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function lt(e,t,n,r,i){var s,o=[],u=0,a=e.length,f=t!=null;for(;u<a;u++)if(s=e[u])if(!n||n(s,r,i))o.push(s),f&&t.push(u);return o}function ct(e,t,n,r,i,s){return r&&!r[d]&&(r=ct(r)),i&&!i[d]&&(i=ct(i,s)),N(function(s,o,u,a){var f,l,c,h=[],p=[],d=o.length,v=s||dt(t||"*",u.nodeType?[u]:u,[]),m=e&&(s||!t)?lt(v,h,e,u,a):v,g=n?i||(s?e:d||r)?[]:o:m;n&&n(m,g,u,a);if(r){f=lt(g,p),r(f,[],u,a),l=f.length;while(l--)if(c=f[l])g[p[l]]=!(m[p[l]]=c)}if(s){if(i||e){if(i){f=[],l=g.length;while(l--)(c=g[l])&&f.push(m[l]=c);i(null,g=[],f,a)}l=g.length;while(l--)(c=g[l])&&(f=i?T.call(s,c):h[l])>-1&&(s[f]=!(o[f]=c))}}else g=lt(g===o?g.splice(d,g.length):g),i?i(null,o,g,a):S.apply(o,g)})}function ht(e){var t,n,r,s=e.length,o=i.relative[e[0].type],u=o||i.relative[" "],a=o?1:0,f=at(function(e){return e===t},u,!0),l=at(function(e){return T.call(t,e)>-1},u,!0),h=[function(e,n,r){return!o&&(r||n!==c)||((t=n).nodeType?f(e,n,r):l(e,n,r))}];for(;a<s;a++)if(n=i.relative[e[a].type])h=[at(ft(h),n)];else{n=i.filter[e[a].type].apply(null,e[a].matches);if(n[d]){r=++a;for(;r<s;r++)if(i.relative[e[r].type])break;return ct(a>1&&ft(h),a>1&&e.slice(0,a-1).join("").replace(j,"$1"),n,a<r&&ht(e.slice(a,r)),r<s&&ht(e=e.slice(r)),r<s&&e.join(""))}h.push(n)}return ft(h)}function pt(e,t){var r=t.length>0,s=e.length>0,o=function(u,a,f,l,h){var p,d,v,m=[],y=0,w="0",x=u&&[],T=h!=null,N=c,C=u||s&&i.find.TAG("*",h&&a.parentNode||a),k=b+=N==null?1:Math.E;T&&(c=a!==g&&a,n=o.el);for(;(p=C[w])!=null;w++){if(s&&p){for(d=0;v=e[d];d++)if(v(p,a,f)){l.push(p);break}T&&(b=k,n=++o.el)}r&&((p=!v&&p)&&y--,u&&x.push(p))}y+=w;if(r&&w!==y){for(d=0;v=t[d];d++)v(x,m,a,f);if(u){if(y>0)while(w--)!x[w]&&!m[w]&&(m[w]=E.call(l));m=lt(m)}S.apply(l,m),T&&!u&&m.length>0&&y+t.length>1&&nt.uniqueSort(l)}return T&&(b=k,c=N),x};return o.el=0,r?N(o):o}function dt(e,t,n){var r=0,i=t.length;for(;r<i;r++)nt(e,t[r],n);return n}function vt(e,t,n,r,s){var o,u,f,l,c,h=ut(e),p=h.length;if(!r&&h.length===1){u=h[0]=h[0].slice(0);if(u.length>2&&(f=u[0]).type==="ID"&&t.nodeType===9&&!s&&i.relative[u[1].type]){t=i.find.ID(f.matches[0].replace($,""),t,s)[0];if(!t)return n;e=e.slice(u.shift().length)}for(o=J.POS.test(e)?-1:u.length-1;o>=0;o--){f=u[o];if(i.relative[l=f.type])break;if(c=i.find[l])if(r=c(f.matches[0].replace($,""),z.test(u[0].type)&&t.parentNode||t,s)){u.splice(o,1),e=r.length&&u.join("");if(!e)return S.apply(n,x.call(r,0)),n;break}}}return a(e,h)(r,t,s,n,z.test(e)),n}function mt(){}var n,r,i,s,o,u,a,f,l,c,h=!0,p="undefined",d=("sizcache"+Math.random()).replace(".",""),m=String,g=e.document,y=g.documentElement,b=0,w=0,E=[].pop,S=[].push,x=[].slice,T=[].indexOf||function(e){var t=0,n=this.length;for(;t<n;t++)if(this[t]===e)return t;return-1},N=function(e,t){return e[d]=t==null||t,e},C=function(){var e={},t=[];return N(function(n,r){return t.push(n)>i.cacheLength&&delete e[t.shift()],e[n+" "]=r},e)},k=C(),L=C(),A=C(),O="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",_=M.replace("w","w#"),D="([*^$|!~]?=)",P="\\["+O+"*("+M+")"+O+"*(?:"+D+O+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+_+")|)|)"+O+"*\\]",H=":("+M+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+P+")|[^:]|\\\\.)*|.*))\\)|)",B=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+O+"*((?:-\\d)?\\d*)"+O+"*\\)|)(?=[^-]|$)",j=new RegExp("^"+O+"+|((?:^|[^\\\\])(?:\\\\.)*)"+O+"+$","g"),F=new RegExp("^"+O+"*,"+O+"*"),I=new RegExp("^"+O+"*([\\x20\\t\\r\\n\\f>+~])"+O+"*"),q=new RegExp(H),R=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,U=/^:not/,z=/[\x20\t\r\n\f]*[+~]/,W=/:not\($/,X=/h\d/i,V=/input|select|textarea|button/i,$=/\\(?!\\)/g,J={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),NAME:new RegExp("^\\[name=['\"]?("+M+")['\"]?\\]"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+H),POS:new RegExp(B,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+O+"*(even|odd|(([+-]|)(\\d*)n|)"+O+"*(?:([+-]|)"+O+"*(\\d+)|))"+O+"*\\)|)","i"),needsContext:new RegExp("^"+O+"*[>+~]|"+B,"i")},K=function(e){var t=g.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}},Q=K(function(e){return e.appendChild(g.createComment("")),!e.getElementsByTagName("*").length}),G=K(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==p&&e.firstChild.getAttribute("href")==="#"}),Y=K(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return t!=="boolean"&&t!=="string"}),Z=K(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",!e.getElementsByClassName||!e.getElementsByClassName("e").length?!1:(e.lastChild.className="e",e.getElementsByClassName("e").length===2)}),et=K(function(e){e.id=d+0,e.innerHTML="<a name='"+d+"'></a><div name='"+d+"'></div>",y.insertBefore(e,y.firstChild);var t=g.getElementsByName&&g.getElementsByName(d).length===2+g.getElementsByName(d+0).length;return r=!g.getElementById(d),y.removeChild(e),t});try{x.call(y.childNodes,0)[0].nodeType}catch(tt){x=function(e){var t,n=[];for(;t=this[e];e++)n.push(t);return n}}nt.matches=function(e,t){return nt(e,null,null,t)},nt.matchesSelector=function(e,t){return nt(t,null,null,[e]).length>0},s=nt.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(i===1||i===9||i===11){if(typeof e.textContent=="string")return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=s(e)}else if(i===3||i===4)return e.nodeValue}else for(;t=e[r];r++)n+=s(t);return n},o=nt.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?t.nodeName!=="HTML":!1},u=nt.contains=y.contains?function(e,t){var n=e.nodeType===9?e.documentElement:e,r=t&&t.parentNode;return e===r||!!(r&&r.nodeType===1&&n.contains&&n.contains(r))}:y.compareDocumentPosition?function(e,t){return t&&!!(e.compareDocumentPosition(t)&16)}:function(e,t){while(t=t.parentNode)if(t===e)return!0;return!1},nt.attr=function(e,t){var n,r=o(e);return r||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):r||Y?e.getAttribute(t):(n=e.getAttributeNode(t),n?typeof e[t]=="boolean"?e[t]?t:null:n.specified?n.value:null:null)},i=nt.selectors={cacheLength:50,createPseudo:N,match:J,attrHandle:G?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},find:{ID:r?function(e,t,n){if(typeof t.getElementById!==p&&!n){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}}:function(e,n,r){if(typeof n.getElementById!==p&&!r){var i=n.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==p&&i.getAttributeNode("id").value===e?[i]:t:[]}},TAG:Q?function(e,t){if(typeof t.getElementsByTagName!==p)return t.getElementsByTagName(e)}:function(e,t){var n=t.getElementsByTagName(e);if(e==="*"){var r,i=[],s=0;for(;r=n[s];s++)r.nodeType===1&&i.push(r);return i}return n},NAME:et&&function(e,t){if(typeof t.getElementsByName!==p)return t.getElementsByName(name)},CLASS:Z&&function(e,t,n){if(typeof t.getElementsByClassName!==p&&!n)return t.getElementsByClassName(e)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace($,""),e[3]=(e[4]||e[5]||"").replace($,""),e[2]==="~="&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),e[1]==="nth"?(e[2]||nt.error(e[0]),e[3]=+(e[3]?e[4]+(e[5]||1):2*(e[2]==="even"||e[2]==="odd")),e[4]=+(e[6]+e[7]||e[2]==="odd")):e[2]&&nt.error(e[0]),e},PSEUDO:function(e){var t,n;if(J.CHILD.test(e[0]))return null;if(e[3])e[2]=e[3];else if(t=e[4])q.test(t)&&(n=ut(t,!0))&&(n=t.indexOf(")",t.length-n)-t.length)&&(t=t.slice(0,n),e[0]=e[0].slice(0,n)),e[2]=t;return e.slice(0,3)}},filter:{ID:r?function(e){return e=e.replace($,""),function(t){return t.getAttribute("id")===e}}:function(e){return e=e.replace($,""),function(t){var n=typeof t.getAttributeNode!==p&&t.getAttributeNode("id");return n&&n.value===e}},TAG:function(e){return e==="*"?function(){return!0}:(e=e.replace($,"").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[d][e+" "];return t||(t=new RegExp("(^|"+O+")"+e+"("+O+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==p&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r,i){var s=nt.attr(r,e);return s==null?t==="!=":t?(s+="",t==="="?s===n:t==="!="?s!==n:t==="^="?n&&s.indexOf(n)===0:t==="*="?n&&s.indexOf(n)>-1:t==="$="?n&&s.substr(s.length-n.length)===n:t==="~="?(" "+s+" ").indexOf(n)>-1:t==="|="?s===n||s.substr(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r){return e==="nth"?function(e){var t,i,s=e.parentNode;if(n===1&&r===0)return!0;if(s){i=0;for(t=s.firstChild;t;t=t.nextSibling)if(t.nodeType===1){i++;if(e===t)break}}return i-=r,i===n||i%n===0&&i/n>=0}:function(t){var n=t;switch(e){case"only":case"first":while(n=n.previousSibling)if(n.nodeType===1)return!1;if(e==="first")return!0;n=t;case"last":while(n=n.nextSibling)if(n.nodeType===1)return!1;return!0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||nt.error("unsupported pseudo: "+e);return r[d]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?N(function(e,n){var i,s=r(e,t),o=s.length;while(o--)i=T.call(e,s[o]),e[i]=!(n[i]=s[o])}):function(e){return r(e,0,n)}):r}},pseudos:{not:N(function(e){var t=[],n=[],r=a(e.replace(j,"$1"));return r[d]?N(function(e,t,n,i){var s,o=r(e,null,i,[]),u=e.length;while(u--)if(s=o[u])e[u]=!(t[u]=s)}):function(e,i,s){return t[0]=e,r(t,null,s,n),!n.pop()}}),has:N(function(e){return function(t){return nt(e,t).length>0}}),contains:N(function(e){return function(t){return(t.textContent||t.innerText||s(t)).indexOf(e)>-1}}),enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&!!e.checked||t==="option"&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},parent:function(e){return!i.pseudos.empty(e)},empty:function(e){var t;e=e.firstChild;while(e){if(e.nodeName>"@"||(t=e.nodeType)===3||t===4)return!1;e=e.nextSibling}return!0},header:function(e){return X.test(e.nodeName)},text:function(e){var t,n;return e.nodeName.toLowerCase()==="input"&&(t=e.type)==="text"&&((n=e.getAttribute("type"))==null||n.toLowerCase()===t)},radio:rt("radio"),checkbox:rt("checkbox"),file:rt("file"),password:rt("password"),image:rt("image"),submit:it("submit"),reset:it("reset"),button:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&e.type==="button"||t==="button"},input:function(e){return V.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return e===t.activeElement&&(!t.hasFocus||t.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},active:function(e){return e===e.ownerDocument.activeElement},first:st(function(){return[0]}),last:st(function(e,t){return[t-1]}),eq:st(function(e,t,n){return[n<0?n+t:n]}),even:st(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:st(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:st(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:st(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},f=y.compareDocumentPosition?function(e,t){return e===t?(l=!0,0):(!e.compareDocumentPosition||!t.compareDocumentPosition?e.compareDocumentPosition:e.compareDocumentPosition(t)&4)?-1:1}:function(e,t){if(e===t)return l=!0,0;if(e.sourceIndex&&t.sourceIndex)return e.sourceIndex-t.sourceIndex;var n,r,i=[],s=[],o=e.parentNode,u=t.parentNode,a=o;if(o===u)return ot(e,t);if(!o)return-1;if(!u)return 1;while(a)i.unshift(a),a=a.parentNode;a=u;while(a)s.unshift(a),a=a.parentNode;n=i.length,r=s.length;for(var f=0;f<n&&f<r;f++)if(i[f]!==s[f])return ot(i[f],s[f]);return f===n?ot(e,s[f],-1):ot(i[f],t,1)},[0,0].sort(f),h=!l,nt.uniqueSort=function(e){var t,n=[],r=1,i=0;l=h,e.sort(f);if(l){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e},nt.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},a=nt.compile=function(e,t){var n,r=[],i=[],s=A[d][e+" "];if(!s){t||(t=ut(e)),n=t.length;while(n--)s=ht(t[n]),s[d]?r.push(s):i.push(s);s=A(e,pt(i,r))}return s},g.querySelectorAll&&function(){var e,t=vt,n=/'|\\/g,r=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,i=[":focus"],s=[":active"],u=y.matchesSelector||y.mozMatchesSelector||y.webkitMatchesSelector||y.oMatchesSelector||y.msMatchesSelector;K(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||i.push("\\["+O+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||i.push(":checked")}),K(function(e){e.innerHTML="<p test=''></p>",e.querySelectorAll("[test^='']").length&&i.push("[*^$]="+O+"*(?:\"\"|'')"),e.innerHTML="<input type='hidden'/>",e.querySelectorAll(":enabled").length||i.push(":enabled",":disabled")}),i=new RegExp(i.join("|")),vt=function(e,r,s,o,u){if(!o&&!u&&!i.test(e)){var a,f,l=!0,c=d,h=r,p=r.nodeType===9&&e;if(r.nodeType===1&&r.nodeName.toLowerCase()!=="object"){a=ut(e),(l=r.getAttribute("id"))?c=l.replace(n,"\\$&"):r.setAttribute("id",c),c="[id='"+c+"'] ",f=a.length;while(f--)a[f]=c+a[f].join("");h=z.test(e)&&r.parentNode||r,p=a.join(",")}if(p)try{return S.apply(s,x.call(h.querySelectorAll(p),0)),s}catch(v){}finally{l||r.removeAttribute("id")}}return t(e,r,s,o,u)},u&&(K(function(t){e=u.call(t,"div");try{u.call(t,"[test!='']:sizzle"),s.push("!=",H)}catch(n){}}),s=new RegExp(s.join("|")),nt.matchesSelector=function(t,n){n=n.replace(r,"='$1']");if(!o(t)&&!s.test(n)&&!i.test(n))try{var a=u.call(t,n);if(a||e||t.document&&t.document.nodeType!==11)return a}catch(f){}return nt(n,null,null,[t]).length>0})}(),i.pseudos.nth=i.pseudos.eq,i.filters=mt.prototype=i.pseudos,i.setFilters=new mt,nt.attr=v.attr,v.find=nt,v.expr=nt.selectors,v.expr[":"]=v.expr.pseudos,v.unique=nt.uniqueSort,v.text=nt.getText,v.isXMLDoc=nt.isXML,v.contains=nt.contains}(e);var nt=/Until$/,rt=/^(?:parents|prev(?:Until|All))/,it=/^.[^:#\[\.,]*$/,st=v.expr.match.needsContext,ot={children:!0,contents:!0,next:!0,prev:!0};v.fn.extend({find:function(e){var t,n,r,i,s,o,u=this;if(typeof e!="string")return v(e).filter(function(){for(t=0,n=u.length;t<n;t++)if(v.contains(u[t],this))return!0});o=this.pushStack("","find",e);for(t=0,n=this.length;t<n;t++){r=o.length,v.find(e,this[t],o);if(t>0)for(i=r;i<o.length;i++)for(s=0;s<r;s++)if(o[s]===o[i]){o.splice(i--,1);break}}return o},has:function(e){var t,n=v(e,this),r=n.length;return this.filter(function(){for(t=0;t<r;t++)if(v.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1),"not",e)},filter:function(e){return this.pushStack(ft(this,e,!0),"filter",e)},is:function(e){return!!e&&(typeof e=="string"?st.test(e)?v(e,this.context).index(this[0])>=0:v.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,s=[],o=st.test(e)||typeof e!="string"?v(e,t||this.context):0;for(;r<i;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&n.nodeType!==11){if(o?o.index(n)>-1:v.find.matchesSelector(n,e)){s.push(n);break}n=n.parentNode}}return s=s.length>1?v.unique(s):s,this.pushStack(s,"closest",e)},index:function(e){return e?typeof e=="string"?v.inArray(this[0],v(e)):v.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(e,t){var n=typeof e=="string"?v(e,t):v.makeArray(e&&e.nodeType?[e]:e),r=v.merge(this.get(),n);return this.pushStack(ut(n[0])||ut(r[0])?r:v.unique(r))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}}),v.fn.andSelf=v.fn.addBack,v.each({parent:function(e){var t=e.parentNode;return t&&t.nodeType!==11?t:null},parents:function(e){return v.dir(e,"parentNode")},parentsUntil:function(e,t,n){return v.dir(e,"parentNode",n)},next:function(e){return at(e,"nextSibling")},prev:function(e){return at(e,"previousSibling")},nextAll:function(e){return v.dir(e,"nextSibling")},prevAll:function(e){return v.dir(e,"previousSibling")},nextUntil:function(e,t,n){return v.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return v.dir(e,"previousSibling",n)},siblings:function(e){return v.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return v.sibling(e.firstChild)},contents:function(e){return v.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:v.merge([],e.childNodes)}},function(e,t){v.fn[e]=function(n,r){var i=v.map(this,t,n);return nt.test(e)||(r=n),r&&typeof r=="string"&&(i=v.filter(r,i)),i=this.length>1&&!ot[e]?v.unique(i):i,this.length>1&&rt.test(e)&&(i=i.reverse()),this.pushStack(i,e,l.call(arguments).join(","))}}),v.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),t.length===1?v.find.matchesSelector(t[0],e)?[t[0]]:[]:v.find.matches(e,t)},dir:function(e,n,r){var i=[],s=e[n];while(s&&s.nodeType!==9&&(r===t||s.nodeType!==1||!v(s).is(r)))s.nodeType===1&&i.push(s),s=s[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)e.nodeType===1&&e!==t&&n.push(e);return n}});var ct="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ht=/ jQuery\d+="(?:null|\d+)"/g,pt=/^\s+/,dt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,vt=/<([\w:]+)/,mt=/<tbody/i,gt=/<|&#?\w+;/,yt=/<(?:script|style|link)/i,bt=/<(?:script|object|embed|option|style)/i,wt=new RegExp("<(?:"+ct+")[\\s/>]","i"),Et=/^(?:checkbox|radio)$/,St=/checked\s*(?:[^=]|=\s*.checked.)/i,xt=/\/(java|ecma)script/i,Tt=/^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,Nt={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},Ct=lt(i),kt=Ct.appendChild(i.createElement("div"));Nt.optgroup=Nt.option,Nt.tbody=Nt.tfoot=Nt.colgroup=Nt.caption=Nt.thead,Nt.th=Nt.td,v.support.htmlSerialize||(Nt._default=[1,"X<div>","</div>"]),v.fn.extend({text:function(e){return v.access(this,function(e){return e===t?v.text(this):this.empty().append((this[0]&&this[0].ownerDocument||i).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(v.isFunction(e))return this.each(function(t){v(this).wrapAll(e.call(this,t))});if(this[0]){var t=v(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&e.firstChild.nodeType===1)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return v.isFunction(e)?this.each(function(t){v(this).wrapInner(e.call(this,t))}):this.each(function(){var t=v(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=v.isFunction(e);return this.each(function(n){v(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){v.nodeName(this,"body")||v(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(e,this.firstChild)})},before:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(e,this),"before",this.selector)}},after:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(this,e),"after",this.selector)}},remove:function(e,t){var n,r=0;for(;(n=this[r])!=null;r++)if(!e||v.filter(e,[n]).length)!t&&n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),v.cleanData([n])),n.parentNode&&n.parentNode.removeChild(n);return this},empty:function(){var e,t=0;for(;(e=this[t])!=null;t++){e.nodeType===1&&v.cleanData(e.getElementsByTagName("*"));while(e.firstChild)e.removeChild(e.firstChild)}return this},clone:function(e,t){return e=e==null?!1:e,t=t==null?e:t,this.map(function(){return v.clone(this,e,t)})},html:function(e){return v.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return n.nodeType===1?n.innerHTML.replace(ht,""):t;if(typeof e=="string"&&!yt.test(e)&&(v.support.htmlSerialize||!wt.test(e))&&(v.support.leadingWhitespace||!pt.test(e))&&!Nt[(vt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(dt,"<$1></$2>");try{for(;r<i;r++)n=this[r]||{},n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),n.innerHTML=e);n=0}catch(s){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){return ut(this[0])?this.length?this.pushStack(v(v.isFunction(e)?e():e),"replaceWith",e):this:v.isFunction(e)?this.each(function(t){var n=v(this),r=n.html();n.replaceWith(e.call(this,t,r))}):(typeof e!="string"&&(e=v(e).detach()),this.each(function(){var t=this.nextSibling,n=this.parentNode;v(this).remove(),t?v(t).before(e):v(n).append(e)}))},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=[].concat.apply([],e);var i,s,o,u,a=0,f=e[0],l=[],c=this.length;if(!v.support.checkClone&&c>1&&typeof f=="string"&&St.test(f))return this.each(function(){v(this).domManip(e,n,r)});if(v.isFunction(f))return this.each(function(i){var s=v(this);e[0]=f.call(this,i,n?s.html():t),s.domManip(e,n,r)});if(this[0]){i=v.buildFragment(e,this,l),o=i.fragment,s=o.firstChild,o.childNodes.length===1&&(o=s);if(s){n=n&&v.nodeName(s,"tr");for(u=i.cacheable||c-1;a<c;a++)r.call(n&&v.nodeName(this[a],"table")?Lt(this[a],"tbody"):this[a],a===u?o:v.clone(o,!0,!0))}o=s=null,l.length&&v.each(l,function(e,t){t.src?v.ajax?v.ajax({url:t.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):v.error("no ajax"):v.globalEval((t.text||t.textContent||t.innerHTML||"").replace(Tt,"")),t.parentNode&&t.parentNode.removeChild(t)})}return this}}),v.buildFragment=function(e,n,r){var s,o,u,a=e[0];return n=n||i,n=!n.nodeType&&n[0]||n,n=n.ownerDocument||n,e.length===1&&typeof a=="string"&&a.length<512&&n===i&&a.charAt(0)==="<"&&!bt.test(a)&&(v.support.checkClone||!St.test(a))&&(v.support.html5Clone||!wt.test(a))&&(o=!0,s=v.fragments[a],u=s!==t),s||(s=n.createDocumentFragment(),v.clean(e,n,s,r),o&&(v.fragments[a]=u&&s)),{fragment:s,cacheable:o}},v.fragments={},v.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){v.fn[e]=function(n){var r,i=0,s=[],o=v(n),u=o.length,a=this.length===1&&this[0].parentNode;if((a==null||a&&a.nodeType===11&&a.childNodes.length===1)&&u===1)return o[t](this[0]),this;for(;i<u;i++)r=(i>0?this.clone(!0):this).get(),v(o[i])[t](r),s=s.concat(r);return this.pushStack(s,e,o.selector)}}),v.extend({clone:function(e,t,n){var r,i,s,o;v.support.html5Clone||v.isXMLDoc(e)||!wt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(kt.innerHTML=e.outerHTML,kt.removeChild(o=kt.firstChild));if((!v.support.noCloneEvent||!v.support.noCloneChecked)&&(e.nodeType===1||e.nodeType===11)&&!v.isXMLDoc(e)){Ot(e,o),r=Mt(e),i=Mt(o);for(s=0;r[s];++s)i[s]&&Ot(r[s],i[s])}if(t){At(e,o);if(n){r=Mt(e),i=Mt(o);for(s=0;r[s];++s)At(r[s],i[s])}}return r=i=null,o},clean:function(e,t,n,r){var s,o,u,a,f,l,c,h,p,d,m,g,y=t===i&&Ct,b=[];if(!t||typeof t.createDocumentFragment=="undefined")t=i;for(s=0;(u=e[s])!=null;s++){typeof u=="number"&&(u+="");if(!u)continue;if(typeof u=="string")if(!gt.test(u))u=t.createTextNode(u);else{y=y||lt(t),c=t.createElement("div"),y.appendChild(c),u=u.replace(dt,"<$1></$2>"),a=(vt.exec(u)||["",""])[1].toLowerCase(),f=Nt[a]||Nt._default,l=f[0],c.innerHTML=f[1]+u+f[2];while(l--)c=c.lastChild;if(!v.support.tbody){h=mt.test(u),p=a==="table"&&!h?c.firstChild&&c.firstChild.childNodes:f[1]==="<table>"&&!h?c.childNodes:[];for(o=p.length-1;o>=0;--o)v.nodeName(p[o],"tbody")&&!p[o].childNodes.length&&p[o].parentNode.removeChild(p[o])}!v.support.leadingWhitespace&&pt.test(u)&&c.insertBefore(t.createTextNode(pt.exec(u)[0]),c.firstChild),u=c.childNodes,c.parentNode.removeChild(c)}u.nodeType?b.push(u):v.merge(b,u)}c&&(u=c=y=null);if(!v.support.appendChecked)for(s=0;(u=b[s])!=null;s++)v.nodeName(u,"input")?_t(u):typeof u.getElementsByTagName!="undefined"&&v.grep(u.getElementsByTagName("input"),_t);if(n){m=function(e){if(!e.type||xt.test(e.type))return r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e)};for(s=0;(u=b[s])!=null;s++)if(!v.nodeName(u,"script")||!m(u))n.appendChild(u),typeof u.getElementsByTagName!="undefined"&&(g=v.grep(v.merge([],u.getElementsByTagName("script")),m),b.splice.apply(b,[s+1,0].concat(g)),s+=g.length)}return b},cleanData:function(e,t){var n,r,i,s,o=0,u=v.expando,a=v.cache,f=v.support.deleteExpando,l=v.event.special;for(;(i=e[o])!=null;o++)if(t||v.acceptData(i)){r=i[u],n=r&&a[r];if(n){if(n.events)for(s in n.events)l[s]?v.event.remove(i,s):v.removeEvent(i,s,n.handle);a[r]&&(delete a[r],f?delete i[u]:i.removeAttribute?i.removeAttribute(u):i[u]=null,v.deletedIds.push(r))}}}}),function(){var e,t;v.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e=v.uaMatch(o.userAgent),t={},e.browser&&(t[e.browser]=!0,t.version=e.version),t.chrome?t.webkit=!0:t.webkit&&(t.safari=!0),v.browser=t,v.sub=function(){function e(t,n){return new e.fn.init(t,n)}v.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(r,i){return i&&i instanceof v&&!(i instanceof e)&&(i=e(i)),v.fn.init.call(this,r,i,t)},e.fn.init.prototype=e.fn;var t=e(i);return e}}();var Dt,Pt,Ht,Bt=/alpha\([^)]*\)/i,jt=/opacity=([^)]*)/,Ft=/^(top|right|bottom|left)$/,It=/^(none|table(?!-c[ea]).+)/,qt=/^margin/,Rt=new RegExp("^("+m+")(.*)$","i"),Ut=new RegExp("^("+m+")(?!px)[a-z%]+$","i"),zt=new RegExp("^([-+])=("+m+")","i"),Wt={BODY:"block"},Xt={position:"absolute",visibility:"hidden",display:"block"},Vt={letterSpacing:0,fontWeight:400},$t=["Top","Right","Bottom","Left"],Jt=["Webkit","O","Moz","ms"],Kt=v.fn.toggle;v.fn.extend({css:function(e,n){return v.access(this,function(e,n,r){return r!==t?v.style(e,n,r):v.css(e,n)},e,n,arguments.length>1)},show:function(){return Yt(this,!0)},hide:function(){return Yt(this)},toggle:function(e,t){var n=typeof e=="boolean";return v.isFunction(e)&&v.isFunction(t)?Kt.apply(this,arguments):this.each(function(){(n?e:Gt(this))?v(this).show():v(this).hide()})}}),v.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Dt(e,"opacity");return n===""?"1":n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":v.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(!e||e.nodeType===3||e.nodeType===8||!e.style)return;var s,o,u,a=v.camelCase(n),f=e.style;n=v.cssProps[a]||(v.cssProps[a]=Qt(f,a)),u=v.cssHooks[n]||v.cssHooks[a];if(r===t)return u&&"get"in u&&(s=u.get(e,!1,i))!==t?s:f[n];o=typeof r,o==="string"&&(s=zt.exec(r))&&(r=(s[1]+1)*s[2]+parseFloat(v.css(e,n)),o="number");if(r==null||o==="number"&&isNaN(r))return;o==="number"&&!v.cssNumber[a]&&(r+="px");if(!u||!("set"in u)||(r=u.set(e,r,i))!==t)try{f[n]=r}catch(l){}},css:function(e,n,r,i){var s,o,u,a=v.camelCase(n);return n=v.cssProps[a]||(v.cssProps[a]=Qt(e.style,a)),u=v.cssHooks[n]||v.cssHooks[a],u&&"get"in u&&(s=u.get(e,!0,i)),s===t&&(s=Dt(e,n)),s==="normal"&&n in Vt&&(s=Vt[n]),r||i!==t?(o=parseFloat(s),r||v.isNumeric(o)?o||0:s):s},swap:function(e,t,n){var r,i,s={};for(i in t)s[i]=e.style[i],e.style[i]=t[i];r=n.call(e);for(i in t)e.style[i]=s[i];return r}}),e.getComputedStyle?Dt=function(t,n){var r,i,s,o,u=e.getComputedStyle(t,null),a=t.style;return u&&(r=u.getPropertyValue(n)||u[n],r===""&&!v.contains(t.ownerDocument,t)&&(r=v.style(t,n)),Ut.test(r)&&qt.test(n)&&(i=a.width,s=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=r,r=u.width,a.width=i,a.minWidth=s,a.maxWidth=o)),r}:i.documentElement.currentStyle&&(Dt=function(e,t){var n,r,i=e.currentStyle&&e.currentStyle[t],s=e.style;return i==null&&s&&s[t]&&(i=s[t]),Ut.test(i)&&!Ft.test(t)&&(n=s.left,r=e.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.left=e.currentStyle.left),s.left=t==="fontSize"?"1em":i,i=s.pixelLeft+"px",s.left=n,r&&(e.runtimeStyle.left=r)),i===""?"auto":i}),v.each(["height","width"],function(e,t){v.cssHooks[t]={get:function(e,n,r){if(n)return e.offsetWidth===0&&It.test(Dt(e,"display"))?v.swap(e,Xt,function(){return tn(e,t,r)}):tn(e,t,r)},set:function(e,n,r){return Zt(e,n,r?en(e,t,r,v.support.boxSizing&&v.css(e,"boxSizing")==="border-box"):0)}}}),v.support.opacity||(v.cssHooks.opacity={get:function(e,t){return jt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=v.isNumeric(t)?"alpha(opacity="+t*100+")":"",s=r&&r.filter||n.filter||"";n.zoom=1;if(t>=1&&v.trim(s.replace(Bt,""))===""&&n.removeAttribute){n.removeAttribute("filter");if(r&&!r.filter)return}n.filter=Bt.test(s)?s.replace(Bt,i):s+" "+i}}),v(function(){v.support.reliableMarginRight||(v.cssHooks.marginRight={get:function(e,t){return v.swap(e,{display:"inline-block"},function(){if(t)return Dt(e,"marginRight")})}}),!v.support.pixelPosition&&v.fn.position&&v.each(["top","left"],function(e,t){v.cssHooks[t]={get:function(e,n){if(n){var r=Dt(e,t);return Ut.test(r)?v(e).position()[t]+"px":r}}}})}),v.expr&&v.expr.filters&&(v.expr.filters.hidden=function(e){return e.offsetWidth===0&&e.offsetHeight===0||!v.support.reliableHiddenOffsets&&(e.style&&e.style.display||Dt(e,"display"))==="none"},v.expr.filters.visible=function(e){return!v.expr.filters.hidden(e)}),v.each({margin:"",padding:"",border:"Width"},function(e,t){v.cssHooks[e+t]={expand:function(n){var r,i=typeof n=="string"?n.split(" "):[n],s={};for(r=0;r<4;r++)s[e+$t[r]+t]=i[r]||i[r-2]||i[0];return s}},qt.test(e)||(v.cssHooks[e+t].set=Zt)});var rn=/%20/g,sn=/\[\]$/,on=/\r?\n/g,un=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,an=/^(?:select|textarea)/i;v.fn.extend({serialize:function(){return v.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?v.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||an.test(this.nodeName)||un.test(this.type))}).map(function(e,t){var n=v(this).val();return n==null?null:v.isArray(n)?v.map(n,function(e,n){return{name:t.name,value:e.replace(on,"\r\n")}}):{name:t.name,value:n.replace(on,"\r\n")}}).get()}}),v.param=function(e,n){var r,i=[],s=function(e,t){t=v.isFunction(t)?t():t==null?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};n===t&&(n=v.ajaxSettings&&v.ajaxSettings.traditional);if(v.isArray(e)||e.jquery&&!v.isPlainObject(e))v.each(e,function(){s(this.name,this.value)});else for(r in e)fn(r,e[r],n,s);return i.join("&").replace(rn,"+")};var ln,cn,hn=/#.*$/,pn=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,dn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,vn=/^(?:GET|HEAD)$/,mn=/^\/\//,gn=/\?/,yn=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bn=/([?&])_=[^&]*/,wn=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,En=v.fn.load,Sn={},xn={},Tn=["*/"]+["*"];try{cn=s.href}catch(Nn){cn=i.createElement("a"),cn.href="",cn=cn.href}ln=wn.exec(cn.toLowerCase())||[],v.fn.load=function(e,n,r){if(typeof e!="string"&&En)return En.apply(this,arguments);if(!this.length)return this;var i,s,o,u=this,a=e.indexOf(" ");return a>=0&&(i=e.slice(a,e.length),e=e.slice(0,a)),v.isFunction(n)?(r=n,n=t):n&&typeof n=="object"&&(s="POST"),v.ajax({url:e,type:s,dataType:"html",data:n,complete:function(e,t){r&&u.each(r,o||[e.responseText,t,e])}}).done(function(e){o=arguments,u.html(i?v("<div>").append(e.replace(yn,"")).find(i):e)}),this},v.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,t){v.fn[t]=function(e){return this.on(t,e)}}),v.each(["get","post"],function(e,n){v[n]=function(e,r,i,s){return v.isFunction(r)&&(s=s||i,i=r,r=t),v.ajax({type:n,url:e,data:r,success:i,dataType:s})}}),v.extend({getScript:function(e,n){return v.get(e,t,n,"script")},getJSON:function(e,t,n){return v.get(e,t,n,"json")},ajaxSetup:function(e,t){return t?Ln(e,v.ajaxSettings):(t=e,e=v.ajaxSettings),Ln(e,t),e},ajaxSettings:{url:cn,isLocal:dn.test(ln[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Tn},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":v.parseJSON,"text xml":v.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:Cn(Sn),ajaxTransport:Cn(xn),ajax:function(e,n){function T(e,n,s,a){var l,y,b,w,S,T=n;if(E===2)return;E=2,u&&clearTimeout(u),o=t,i=a||"",x.readyState=e>0?4:0,s&&(w=An(c,x,s));if(e>=200&&e<300||e===304)c.ifModified&&(S=x.getResponseHeader("Last-Modified"),S&&(v.lastModified[r]=S),S=x.getResponseHeader("Etag"),S&&(v.etag[r]=S)),e===304?(T="notmodified",l=!0):(l=On(c,w),T=l.state,y=l.data,b=l.error,l=!b);else{b=T;if(!T||e)T="error",e<0&&(e=0)}x.status=e,x.statusText=(n||T)+"",l?d.resolveWith(h,[y,T,x]):d.rejectWith(h,[x,T,b]),x.statusCode(g),g=t,f&&p.trigger("ajax"+(l?"Success":"Error"),[x,c,l?y:b]),m.fireWith(h,[x,T]),f&&(p.trigger("ajaxComplete",[x,c]),--v.active||v.event.trigger("ajaxStop"))}typeof e=="object"&&(n=e,e=t),n=n||{};var r,i,s,o,u,a,f,l,c=v.ajaxSetup({},n),h=c.context||c,p=h!==c&&(h.nodeType||h instanceof v)?v(h):v.event,d=v.Deferred(),m=v.Callbacks("once memory"),g=c.statusCode||{},b={},w={},E=0,S="canceled",x={readyState:0,setRequestHeader:function(e,t){if(!E){var n=e.toLowerCase();e=w[n]=w[n]||e,b[e]=t}return this},getAllResponseHeaders:function(){return E===2?i:null},getResponseHeader:function(e){var n;if(E===2){if(!s){s={};while(n=pn.exec(i))s[n[1].toLowerCase()]=n[2]}n=s[e.toLowerCase()]}return n===t?null:n},overrideMimeType:function(e){return E||(c.mimeType=e),this},abort:function(e){return e=e||S,o&&o.abort(e),T(0,e),this}};d.promise(x),x.success=x.done,x.error=x.fail,x.complete=m.add,x.statusCode=function(e){if(e){var t;if(E<2)for(t in e)g[t]=[g[t],e[t]];else t=e[x.status],x.always(t)}return this},c.url=((e||c.url)+"").replace(hn,"").replace(mn,ln[1]+"//"),c.dataTypes=v.trim(c.dataType||"*").toLowerCase().split(y),c.crossDomain==null&&(a=wn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===ln[1]&&a[2]===ln[2]&&(a[3]||(a[1]==="http:"?80:443))==(ln[3]||(ln[1]==="http:"?80:443)))),c.data&&c.processData&&typeof c.data!="string"&&(c.data=v.param(c.data,c.traditional)),kn(Sn,c,n,x);if(E===2)return x;f=c.global,c.type=c.type.toUpperCase(),c.hasContent=!vn.test(c.type),f&&v.active++===0&&v.event.trigger("ajaxStart");if(!c.hasContent){c.data&&(c.url+=(gn.test(c.url)?"&":"?")+c.data,delete c.data),r=c.url;if(c.cache===!1){var N=v.now(),C=c.url.replace(bn,"$1_="+N);c.url=C+(C===c.url?(gn.test(c.url)?"&":"?")+"_="+N:"")}}(c.data&&c.hasContent&&c.contentType!==!1||n.contentType)&&x.setRequestHeader("Content-Type",c.contentType),c.ifModified&&(r=r||c.url,v.lastModified[r]&&x.setRequestHeader("If-Modified-Since",v.lastModified[r]),v.etag[r]&&x.setRequestHeader("If-None-Match",v.etag[r])),x.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+(c.dataTypes[0]!=="*"?", "+Tn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)x.setRequestHeader(l,c.headers[l]);if(!c.beforeSend||c.beforeSend.call(h,x,c)!==!1&&E!==2){S="abort";for(l in{success:1,error:1,complete:1})x[l](c[l]);o=kn(xn,c,n,x);if(!o)T(-1,"No Transport");else{x.readyState=1,f&&p.trigger("ajaxSend",[x,c]),c.async&&c.timeout>0&&(u=setTimeout(function(){x.abort("timeout")},c.timeout));try{E=1,o.send(b,T)}catch(k){if(!(E<2))throw k;T(-1,k)}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var Mn=[],_n=/\?/,Dn=/(=)\?(?=&|$)|\?\?/,Pn=v.now();v.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Mn.pop()||v.expando+"_"+Pn++;return this[e]=!0,e}}),v.ajaxPrefilter("json jsonp",function(n,r,i){var s,o,u,a=n.data,f=n.url,l=n.jsonp!==!1,c=l&&Dn.test(f),h=l&&!c&&typeof a=="string"&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Dn.test(a);if(n.dataTypes[0]==="jsonp"||c||h)return s=n.jsonpCallback=v.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,o=e[s],c?n.url=f.replace(Dn,"$1"+s):h?n.data=a.replace(Dn,"$1"+s):l&&(n.url+=(_n.test(f)?"&":"?")+n.jsonp+"="+s),n.converters["script json"]=function(){return u||v.error(s+" was not called"),u[0]},n.dataTypes[0]="json",e[s]=function(){u=arguments},i.always(function(){e[s]=o,n[s]&&(n.jsonpCallback=r.jsonpCallback,Mn.push(s)),u&&v.isFunction(o)&&o(u[0]),u=o=t}),"script"}),v.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){return v.globalEval(e),e}}}),v.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),v.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=i.head||i.getElementsByTagName("head")[0]||i.documentElement;return{send:function(s,o){n=i.createElement("script"),n.async="async",e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,i){if(i||!n.readyState||/loaded|complete/.test(n.readyState))n.onload=n.onreadystatechange=null,r&&n.parentNode&&r.removeChild(n),n=t,i||o(200,"success")},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var Hn,Bn=e.ActiveXObject?function(){for(var e in Hn)Hn[e](0,1)}:!1,jn=0;v.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&Fn()||In()}:Fn,function(e){v.extend(v.support,{ajax:!!e,cors:!!e&&"withCredentials"in e})}(v.ajaxSettings.xhr()),v.support.ajax&&v.ajaxTransport(function(n){if(!n.crossDomain||v.support.cors){var r;return{send:function(i,s){var o,u,a=n.xhr();n.username?a.open(n.type,n.url,n.async,n.username,n.password):a.open(n.type,n.url,n.async);if(n.xhrFields)for(u in n.xhrFields)a[u]=n.xhrFields[u];n.mimeType&&a.overrideMimeType&&a.overrideMimeType(n.mimeType),!n.crossDomain&&!i["X-Requested-With"]&&(i["X-Requested-With"]="XMLHttpRequest");try{for(u in i)a.setRequestHeader(u,i[u])}catch(f){}a.send(n.hasContent&&n.data||null),r=function(e,i){var u,f,l,c,h;try{if(r&&(i||a.readyState===4)){r=t,o&&(a.onreadystatechange=v.noop,Bn&&delete Hn[o]);if(i)a.readyState!==4&&a.abort();else{u=a.status,l=a.getAllResponseHeaders(),c={},h=a.responseXML,h&&h.documentElement&&(c.xml=h);try{c.text=a.responseText}catch(p){}try{f=a.statusText}catch(p){f=""}!u&&n.isLocal&&!n.crossDomain?u=c.text?200:404:u===1223&&(u=204)}}}catch(d){i||s(-1,d)}c&&s(u,f,c,l)},n.async?a.readyState===4?setTimeout(r,0):(o=++jn,Bn&&(Hn||(Hn={},v(e).unload(Bn)),Hn[o]=r),a.onreadystatechange=r):r()},abort:function(){r&&r(0,1)}}}});var qn,Rn,Un=/^(?:toggle|show|hide)$/,zn=new RegExp("^(?:([-+])=|)("+m+")([a-z%]*)$","i"),Wn=/queueHooks$/,Xn=[Gn],Vn={"*":[function(e,t){var n,r,i=this.createTween(e,t),s=zn.exec(t),o=i.cur(),u=+o||0,a=1,f=20;if(s){n=+s[2],r=s[3]||(v.cssNumber[e]?"":"px");if(r!=="px"&&u){u=v.css(i.elem,e,!0)||n||1;do a=a||".5",u/=a,v.style(i.elem,e,u+r);while(a!==(a=i.cur()/o)&&a!==1&&--f)}i.unit=r,i.start=u,i.end=s[1]?u+(s[1]+1)*n:n}return i}]};v.Animation=v.extend(Kn,{tweener:function(e,t){v.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;r<i;r++)n=e[r],Vn[n]=Vn[n]||[],Vn[n].unshift(t)},prefilter:function(e,t){t?Xn.unshift(e):Xn.push(e)}}),v.Tween=Yn,Yn.prototype={constructor:Yn,init:function(e,t,n,r,i,s){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=s||(v.cssNumber[n]?"":"px")},cur:function(){var e=Yn.propHooks[this.prop];return e&&e.get?e.get(this):Yn.propHooks._default.get(this)},run:function(e){var t,n=Yn.propHooks[this.prop];return this.options.duration?this.pos=t=v.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Yn.propHooks._default.set(this),this}},Yn.prototype.init.prototype=Yn.prototype,Yn.propHooks={_default:{get:function(e){var t;return e.elem[e.prop]==null||!!e.elem.style&&e.elem.style[e.prop]!=null?(t=v.css(e.elem,e.prop,!1,""),!t||t==="auto"?0:t):e.elem[e.prop]},set:function(e){v.fx.step[e.prop]?v.fx.step[e.prop](e):e.elem.style&&(e.elem.style[v.cssProps[e.prop]]!=null||v.cssHooks[e.prop])?v.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},Yn.propHooks.scrollTop=Yn.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},v.each(["toggle","show","hide"],function(e,t){var n=v.fn[t];v.fn[t]=function(r,i,s){return r==null||typeof r=="boolean"||!e&&v.isFunction(r)&&v.isFunction(i)?n.apply(this,arguments):this.animate(Zn(t,!0),r,i,s)}}),v.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Gt).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=v.isEmptyObject(e),s=v.speed(t,n,r),o=function(){var t=Kn(this,v.extend({},e),s);i&&t.stop(!0)};return i||s.queue===!1?this.each(o):this.queue(s.queue,o)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return typeof e!="string"&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=e!=null&&e+"queueHooks",s=v.timers,o=v._data(this);if(n)o[n]&&o[n].stop&&i(o[n]);else for(n in o)o[n]&&o[n].stop&&Wn.test(n)&&i(o[n]);for(n=s.length;n--;)s[n].elem===this&&(e==null||s[n].queue===e)&&(s[n].anim.stop(r),t=!1,s.splice(n,1));(t||!r)&&v.dequeue(this,e)})}}),v.each({slideDown:Zn("show"),slideUp:Zn("hide"),slideToggle:Zn("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){v.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),v.speed=function(e,t,n){var r=e&&typeof e=="object"?v.extend({},e):{complete:n||!n&&t||v.isFunction(e)&&e,duration:e,easing:n&&t||t&&!v.isFunction(t)&&t};r.duration=v.fx.off?0:typeof r.duration=="number"?r.duration:r.duration in v.fx.speeds?v.fx.speeds[r.duration]:v.fx.speeds._default;if(r.queue==null||r.queue===!0)r.queue="fx";return r.old=r.complete,r.complete=function(){v.isFunction(r.old)&&r.old.call(this),r.queue&&v.dequeue(this,r.queue)},r},v.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},v.timers=[],v.fx=Yn.prototype.init,v.fx.tick=function(){var e,n=v.timers,r=0;qn=v.now();for(;r<n.length;r++)e=n[r],!e()&&n[r]===e&&n.splice(r--,1);n.length||v.fx.stop(),qn=t},v.fx.timer=function(e){e()&&v.timers.push(e)&&!Rn&&(Rn=setInterval(v.fx.tick,v.fx.interval))},v.fx.interval=13,v.fx.stop=function(){clearInterval(Rn),Rn=null},v.fx.speeds={slow:600,fast:200,_default:400},v.fx.step={},v.expr&&v.expr.filters&&(v.expr.filters.animated=function(e){return v.grep(v.timers,function(t){return e===t.elem}).length});var er=/^(?:body|html)$/i;v.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){v.offset.setOffset(this,e,t)});var n,r,i,s,o,u,a,f={top:0,left:0},l=this[0],c=l&&l.ownerDocument;if(!c)return;return(r=c.body)===l?v.offset.bodyOffset(l):(n=c.documentElement,v.contains(n,l)?(typeof l.getBoundingClientRect!="undefined"&&(f=l.getBoundingClientRect()),i=tr(c),s=n.clientTop||r.clientTop||0,o=n.clientLeft||r.clientLeft||0,u=i.pageYOffset||n.scrollTop,a=i.pageXOffset||n.scrollLeft,{top:f.top+u-s,left:f.left+a-o}):f)},v.offset={bodyOffset:function(e){var t=e.offsetTop,n=e.offsetLeft;return v.support.doesNotIncludeMarginInBodyOffset&&(t+=parseFloat(v.css(e,"marginTop"))||0,n+=parseFloat(v.css(e,"marginLeft"))||0),{top:t,left:n}},setOffset:function(e,t,n){var r=v.css(e,"position");r==="static"&&(e.style.position="relative");var i=v(e),s=i.offset(),o=v.css(e,"top"),u=v.css(e,"left"),a=(r==="absolute"||r==="fixed")&&v.inArray("auto",[o,u])>-1,f={},l={},c,h;a?(l=i.position(),c=l.top,h=l.left):(c=parseFloat(o)||0,h=parseFloat(u)||0),v.isFunction(t)&&(t=t.call(e,n,s)),t.top!=null&&(f.top=t.top-s.top+c),t.left!=null&&(f.left=t.left-s.left+h),"using"in t?t.using.call(e,f):i.css(f)}},v.fn.extend({position:function(){if(!this[0])return;var e=this[0],t=this.offsetParent(),n=this.offset(),r=er.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(v.css(e,"marginTop"))||0,n.left-=parseFloat(v.css(e,"marginLeft"))||0,r.top+=parseFloat(v.css(t[0],"borderTopWidth"))||0,r.left+=parseFloat(v.css(t[0],"borderLeftWidth"))||0,{top:n.top-r.top,left:n.left-r.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||i.body;while(e&&!er.test(e.nodeName)&&v.css(e,"position")==="static")e=e.offsetParent;return e||i.body})}}),v.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);v.fn[e]=function(i){return v.access(this,function(e,i,s){var o=tr(e);if(s===t)return o?n in o?o[n]:o.document.documentElement[i]:e[i];o?o.scrollTo(r?v(o).scrollLeft():s,r?s:v(o).scrollTop()):e[i]=s},e,i,arguments.length,null)}}),v.each({Height:"height",Width:"width"},function(e,n){v.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){v.fn[i]=function(i,s){var o=arguments.length&&(r||typeof i!="boolean"),u=r||(i===!0||s===!0?"margin":"border");return v.access(this,function(n,r,i){var s;return v.isWindow(n)?n.document.documentElement["client"+e]:n.nodeType===9?(s=n.documentElement,Math.max(n.body["scroll"+e],s["scroll"+e],n.body["offset"+e],s["offset"+e],s["client"+e])):i===t?v.css(n,r,i,u):v.style(n,r,i,u)},n,o?i:t,o,null)}})}),e.jQuery=e.$=v,typeof define=="function"&&define.amd&&define.amd.
76jQuery&&define("jquery",[],function(){return v})})(window);</script>
76
77    <link rel="alternate" hreflang="en" href="https://www.hotelsantoamaro.com/en/" /><link rel="alternate" hreflang="es" href="https://www.hotelsantoamaro.com/es/" /><link rel="alternate" hreflang="x-default" href="https://www.hotelsantoamaro.com/" /><link rel="alternate" hreflang="pt" href="https://www.hotelsantoamaro.com/" /><link rel="canonical" href="https://www.hotelsantoamaro.com/en/" /><meta name="robots" content="noindex, follow" />
78    
78<script>
79    window.dataLayer = window.dataLayer || [];
80</script>
80
81
82
83
84
85
86
87
88<script type="text/javascript" crossorigin="anonymous" src="https://cdn.paraty.es/static_files/sahotels/generic/202608191505/scripts/custom_cookies.min.js?v=202608200104" integrity="sha512-wp4DS8m2DtSsVnNyptFHzL+s7Qmjec9/pHZLnU9nu0UO8bUfhA+FxVsh1JSHeQUeUioqKgXZFuB43qJ0fSbgYA=="></script>
88
89
90
91
92
93<script type="text/javascript" crossorigin="anonymous" src="https://cdn.paraty.es/static_files/sahotels/generic/202608191505/scripts/session_storage_controller.min.js?v=202608200104" integrity="sha512-6Dvink0VNQo+aKL2opHdqO/ZEZ6tJ6WVowJjgwKkju4n5szaS6eG+zkIXHU6RjMZAUEEg25rFEcBIa+Y3NuUng=="></script>
93
94
95<link rel="stylesheet" href="https://cdn.paraty.es/static_files/sahotels/generic/202608191505/web_apps/assets/css/main_cookies_popup.css?v=202608200104">
96<script type="text/javascript" crossorigin="anonymous" src="https://cdn.paraty.es/static_files/sahotels/specific/202608200107/web_apps/cookies_popup.js?v=202608200104" integrity="sha512-whglOP4GwyvhZt5gU5fL7kS/Bp66Gw/RDGx9xa3rxKtdGfeQWsTz1zLHiGoXhPnnSJv4PewF9ByvFqZukjIPrw=="></script>
96
97
98<script>
99    function user_allowed_to_track() {
100        //Avoid track on localhost pages
101        if (window.navigator.userAgent.indexOf('Headless') > -1) {
102            console.log("Avoid tracking of robots");
103            return false;
104        }
105
106        if (window.location.hostname.indexOf('localhost') > -1 || window.location.hostname.indexOf('0.0.0.0') > -1) {
107            if (['/booking1', '/booking2', '/booking3', '/booking4'].indexOf(window.location.pathname) === -1) {
108                return false;
109            }
110        }
111
112        return true;
113    }
114</script>
114
115
116
117    
117<script>
118        (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
119        (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
120        m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
121        })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
122
123        function create_ga_objects() {
124            const analyticsCookiesAllowed = cookiesController.is_analytics_cookies_allowed();
125
126            // Remove all trackers
127            ga(function() {
128              var trackers = ga.getAll();
129              trackers.forEach(function(tracker) {
130                ga.remove(tracker.get('name'));
131              });
132            });
133
134            // Create new trackers
135            let analytics_options = {'allowLinker': true};
136            if (!analyticsCookiesAllowed) {
137                analytics_options['storage'] = 'none';
138            }
139
140            if (cookiesController.get_url_params()['_ga']) {
141                let url_param = cookiesController.get_url_params()['_ga'];
142                if (!url_param.match(/\./g).length > 1) {
143                    analytics_options['clientId'] = cookiesController.get_url_params()['_ga'];
144                }
145            }
146
147            
148                
149
150                ga('create', 'UA-162875407-1', analytics_options);
151                ga('set', 'cd11', 'user');
152                
153                    if (analyticsCookiesAllowed) {
154                        ga('require','displayfeatures');
155                        ga('set', 'allowAdFeatures', true);
156                    } else {
157                        ga('set', 'allowAdFeatures', false);
158                    }
159
160                    ga('set', 'anonymizeIp', true);
161                
162            
163
164            //Add _ga to booking form
165            try {
166                if (typeof ga === 'function' && typeof ga.getAll === 'function') {
167                    ga(function (e) {
168                        client_id = e.get("clientId");
169                        let trackers = ga.getAll();
170                        if (trackers && trackers.length > 0 && window.gaplugins && window.gaplugins.Linker) {
171                            let tracker = trackers[0],
172                            linker = new window.gaplugins.Linker(tracker),
173                            destinationLink = linker.decorate('test');
174
175                            client_id = destinationLink.split('?')[1].replace('_ga=', '');
176
177
178                            $(".paraty-booking-form").each(function () {
179                                $(this).find('#_ga').remove();
180                                var e = $("<input>").attr({type: "hidden", id: "_ga", name: "_ga", value: client_id});
181                                $(this).append(e)
182                            })
183                        }
184                    })
185                }
186            } catch (e) {
187                console.log("Google Analytics defined incorrectly (May use a old version)")
188            }
189
190            if (cookiesController.search_cookie('cookies_preference') && !cookiesController.is_analytics_cookies_allowed()) {
191                
192                    
193                        ga('set', 'campaignSource', 'cookies_consent');
194                        ga('set', 'campaignMedium', 'denied');
195                    
196                
197            }
198
199            if (cookiesController.get_url_params()['referrer']) {
200                
201                    
202                        ga('set', 'referrer', cookiesController.get_url_params()['referrer']);
203                    
204                
205            }
206        }
207
208        function set_custom_dimensions() {
209            
210        }
211
212        function execute_universal_ga_pageview() {
213            if (user_allowed_to_track()) {
214                
215                    
216                        ga('send', 'pageview');
217                    
218                
219            }
220        }
221
222        create_ga_objects();
223        
224        cookiesController.push_tracking_code(create_ga_objects, ['analytics']);
225
226        set_custom_dimensions();
227        execute_universal_ga_pageview();
228    </script>
228
229
230
231
232
233
234
235
236    <!-- GTM Datalayer -->
237<script type="text/javascript">
238
239    let allowed_datalayer_register = true; 
240
241    
242
243
244
245    function addDataLayerDict() {
246        const allowedMergedDatalayer = typeof allowed_datalayer_register !== "undefined" ? allowed_datalayer_register : false;
247        let dataLayerData = '{"amount": "0", "country": "be", "currencyCode": "EUR", "namespace": "sa-amaro", "reservation_date": "24/09/2026", "search_availability": "True", "transactionTotalUSD": "0", "transactionTotalWithoutTax": "0"}';
248        let generalDataLayer = '';
249        dataLayerData = dataLayerData ? JSON.parse(dataLayerData) : {};
250        generalDataLayer = generalDataLayer ? JSON.parse(generalDataLayer) : {'language': document.documentElement.lang};
251
252        const dataToAdd = allowedMergedDatalayer ? { ...generalDataLayer, ...dataLayerData } : generalDataLayer;
253
254        if (dataToAdd) {
255            dataToAdd.event = 'init';
256            if (typeof dataLayer !== 'undefined') {
257                dataLayer.push(dataToAdd);
258            } else {
259                dataLayer = [dataToAdd];
260            }
261        }
262    }
263
264    addDataLayerDict();
265
266
267
268    if (allowed_datalayer_register) {
269        
270
271        
272    }
273
274</script>
274
275
276
277
278    
279        
279<script>
280            window.dataLayer = window.dataLayer || [];
281            function gtag() {
282                dataLayer.push(arguments);
283            }
284
285            
286            
287            
288        </script>
288
289    
290    
291        <!-- Google Tag Manager Multi GTM -->
292        
293            
294                
294<script >
295                    if (navigator.userAgent.indexOf("Chrome-Lighthouse") === -1){
vendor: 448 bytes, lines 295-300
295
296                        (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
297                        new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
298                        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
299                        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
300                        })(window,document,'script','dataLayer','
300GTM-KHWNZCVD
vendor: 24 bytes, lines 300-301
300');
301                    
301}
302                </script>
302
303            
304        
305        <!-- End Google Tag Manager -->
306    
307
308
309
310
311
312
313
314
315
316
317
318
319<script>
320    window.dataLayer = window.dataLayer || [];
321    function gtag(){dataLayer.push(arguments);}
322
323    function sendRefundEvent(){
324        if(!window.analyticsData) return;
325
326        try {
327          const eventData = JSON.parse(window.analyticsData);
328          gtag('event', 'refund', {
329              'send_to': [
330                  eventData.conversion_label,
331                  eventData.namespace
332              ],
333              'transaction_id': eventData.identifier,
334              'value': eventData.total_price,
335              'currency': eventData.currency,
336              'items': [{
337                  'item_id': eventData.identifier,
338                  'item_name': eventData.namespace,
339                  'start_date': eventData.start_date.replaceAll("_", "/"),
340                  'end_date': eventData.end_date.replaceAll("_", "/"),
341              }]
342          });
343        } catch (error) {
344            console.error("Error dataLayer:", error);
345        }
346    }
347</script>
347
348
349
350    
350<script src="https://onboard.triptease.io/bootstrap.js?partner=paraty" defer async type="text/javascript" data-storage-consent="auto"></script>
350
351
352</head>
353<body itemscope itemtype="//schema.org/Hotel" >
354
355    
356         <!-- Google Tag Manager (noscript) Multi GTM-->
vendor: 106 bytes, lines 356-359
356
357        
358            <noscript>
359                <iframe src="https://www.googletagmanager.com/ns.html?id=
359GTM-KHWNZCVD
vendor: 113 bytes, lines 359-362
359" height="0" width="0" style="display:none;visibility:hidden"></iframe>
360            </noscript>
361        
362        
362<!-- End Google Tag Manager (noscript) -->
363    
364
365
366
367
368<script>
369     window.addEventListener('load', function () {
370         const bookingErrorEventBody = {
371            sid: '',
372            expired_session:  true ,
373            unexistent_session:  true ,
374            error_page_displayed:  false ,
375            search_params:{},
376         };
377
378         pushBookingErrorEvent(bookingErrorEventBody);
379     });
380     const pushBookingErrorEvent = (eventBody) => {
381            
382                if (typeof dataLayer !== 'undefined') {
383                    dataLayer.push({
384                        event: 'booking_error',
385                        ecommerce: eventBody
386                    });
387                } else {
388                    console.warn('[Ecommerce] Event not send because dataLayer is undefined');
389                }
390            
391     };
392</script>
vendor: 1 bytes, line 392
392
393<script type="application/ld+json">
394{
395  "@context": "https://schema.org",
396  "@type": "Hotel",
397  "image": [
398    "http://lh3.googleusercontent.com/KV-RGTaG6n3vhG_fEeToi3GDJqs80ByYGZk9Z88qhNWPQxtfw0Cr5-KKNW54d2dYiNxZhntgv6MnjD1yl8s=s1024"
399   ],
400  "@id": "{{ host|safe }}",
401  "name": "Hotel Santo Amaro",
402  "address": {
403    "@type": "PostalAddress",
404    "streetAddress": "Rua Francisco Marto, 59",
405    "addressLocality": "F&aacute;tima",
406    "addressRegion": "F&aacute;tima",
407    "postalCode": "2495-448",
408    "addressCountry": "Portugal"
409  },
410  "geo": {
411    "@type": "GeoCoordinates",
412    "latitude": 39.628645,
413    "longitude": -8.669053
414  },
415  "url": "https://www.hotelsantoamaro.com/",
416  "telephone": "00351 249 530 170",
417  "priceRange": "&euro;0 - &euro;500"
418}
419</script>
419
420<meta itemprop="description" content="At the Santo Amaro Hotel located in Fátima, you will enjoy comfort and well-being. Book at the best price.">
421<input type="hidden" id="lang_management" value="pt">
422<input type="hidden" id="lang_default" value="pt">
423
424    <!--Header-->
425    <header>
426    <div class="top_header">
427        <div class="weather_wrapper">
428            <div id="weather_temp" class="weather_temp"><span class="temp"></span></div>
429            <div id="weather_img" class="weather_img"><img src=""></div>
430        </div>
431        <a href="#data" class="button-promotion">
432            <i class="far fa-calendar-alt"></i>
433            <span>Book here</span>
434        </a>
435        
436            <a href="https://www.hotelsantoamaro.com/en/my-bookings.html">
437                <i class="fas fa-user"></i>
438                <span>My bookings</span>
439            </a>
440        
441        <div class="language_selector" id="lang">
442            <div id="header_language_selector">
443                <i class="fal fa-globe"></i><span>Language</span><i class="fal fa-chevron-down"></i>
444            </div>
445            <div class="header_lang">
446                
447                    <a href="https://www.hotelsantoamaro.com/pt/" >
448                        Português
449                    </a>
450                
451                    <a href="https://www.hotelsantoamaro.com/es/" >
452                        Español
453                    </a>
454                
455                    <a href="https://www.hotelsantoamaro.com/en/"  class="selected" >
456                        English
457                    </a>
458                
459            </div>
460        </div>
461    </div>
462    <div class="main_header">
463        <div id="logoDiv" class="">
464            <a href="https://www.hotelsantoamaro.com/en/">
465                <img itemprop="logo" src="https://cdn2.paraty.es/sa-amaro/images/ad990ee622b9694" alt="Hotel Santo Amaro | Web Oficial | Fátima - Portugal" title="Hotel Santo Amaro | Web Oficial | Fátima - Portugal"/>
466            </a>
467        </div>
468        <nav id="main_menu">
469            <div id="mainMenuDiv" class="">
470                <ul itemscope itemtype="//schema.org/SiteNavigationElement" id="main-sections-inner" class="container">
471    
472        <div class="main-section-div-wrapper"
473            id="section-active" >
474            
475                
476                    <a itemprop="url" href="https://www.hotelsantoamaro.com/en/hotel.html">
477                        <span itemprop="name">Hotel</span>
478                    </a>
479                
480            
481            
482        </div>
483    
484        <div class="main-section-div-wrapper"
485            >
486            
487                
488                    <a itemprop="url" href="https://www.hotelsantoamaro.com/en/rooms.html">
489                        <span itemprop="name">Rooms</span>
490                    </a>
491                
492            
493            
494        </div>
495    
496        <div class="main-section-div-wrapper"
497            >
498            
499                
500                    <a itemprop="url" href="https://www.hotelsantoamaro.com/en/restaurant.html">
501                        <span itemprop="name">Restaurant</span>
502                    </a>
503                
504            
505            
506        </div>
507    
508        <div class="main-section-div-wrapper"
509            >
510            
511                
512                    <a itemprop="url" href="https://www.hotelsantoamaro.com/en/offers.html">
513                        <span itemprop="name">Offers</span>
514                    </a>
515                
516            
517            
518        </div>
519    
520        <div class="main-section-div-wrapper"
521            >
522            
523                
524                    <a itemprop="url" href="https://www.hotelsantoamaro.com/en/fatima.html">
525                        <span itemprop="name">Fátima</span>
526                    </a>
527                
528            
529            
530        </div>
531    
532        <div class="main-section-div-wrapper"
533            >
534            
535                
536                    <a itemprop="url" href="https://www.hotelsantoamaro.com/en/gallery.html">
537                        <span itemprop="name">Gallery</span>
538                    </a>
539                
540            
541            
542        </div>
543    
544        <div class="main-section-div-wrapper"
545            >
546            
547                
548                    <a itemprop="url" href="https://www.hotelsantoamaro.com/en/contacts.html">
549                        <span itemprop="name">Contacts</span>
550                    </a>
551                
552            
553            
554        </div>
555    
556</ul>
557            </div>
558        </nav>
559    </div>
560</header>
561
562    
563        <section id="slider_container">
564            
565                <style type="text/css">
566    .tp-banner-container {
567        width: 100%;
568        position: relative;
569        padding: 0;
570        min-width: 1140px;
571        height: 650px;
572    }
573
574    .tp-banner {
575        width: 100%;
576        position: relative;
577        display: none;
578    }
579
580    .tp-arr-titleholder {
581        display: none !important;
582    }
583
584    .visually-hidden {
585        position: absolute !important;
586        width: 1px;
587        height: 1px;
588        margin: -1px;
589        padding: 0;
590        overflow: hidden;
591        clip: rect(0 0 0 0);
592        white-space: nowrap;
593        border: 0;
594    }
595</style>
596
597<!-- Accessible button to pause/resume the slider -->
598<button id="toggleSlider" aria-pressed="false" class="visually-hidden">pause</button>
599
600<div class="tp-banner-container">
601    <div class="tp-banner">
602        <ul>
603            
604                <li data-title="" 
605                    data-delay='6000'
606                    data-transition="slideleft" data-slotamount="7" data-masterspeed="800"   >
607                    
608                         <img src="https://cdn.paraty.es/static_files/sahotels/generic/202608191505/images/dummy.png" data-bgposition="center center" data-lazyload="https://cdn2.paraty.es/sa-amaro/images/3372b64c59b4a17=s1900" alt="Hotel Santo Amaro: City views and comfortable stays. Book now!">
609                    
610                    <div class="caption sfb start" data-easing="easeOutBack" data-speed="400" data-start="500"><div class="cartela_slider"> <span class="subtitle">Hotel Santo Amaro</span> <strong>DISCOVER FÁTIMA</strong> The starting point for your next stay<br> <a href="/fatima.html" class="btn_personalized_2">See more</a></div></div>
611                </li>
612            
613                <li data-title="" 
614                    data-delay='6000'
615                    data-transition="slideleft" data-slotamount="7" data-masterspeed="800"   >
616                    
617                         <img src="https://cdn.paraty.es/static_files/sahotels/generic/202608191505/images/dummy.png" data-bgposition="center center" data-lazyload="https://cdn2.paraty.es/sa-amaro/images/95eae5c6f696fad=s1900" alt="a hotel room with two pillows on a bed">
618                    
619                    <div class="caption sfb start" data-easing="easeOutBack" data-speed="400" data-start="500">
620        <div class="cartela_slider">
621                 <span class="subtitle">Hotel Santo Amaro</span>
622                 <strong>STAY OF QUALITY</strong>
623                 For your confort and Well-being
624                <br>
625                <a href="/services.html" class="btn_personalized_2">See more</a>
626        </div>
627</div>
628                </li>
629            
630                <li data-title="" 
631                    data-delay='6000'
632                    data-transition="slideleft" data-slotamount="7" data-masterspeed="800"   >
633                    
634                         <img src="https://cdn.paraty.es/static_files/sahotels/generic/202608191505/images/dummy.png" data-bgposition="center center" data-lazyload="https://cdn2.paraty.es/sa-amaro/images/2f12fffd4b654d8=s1900" alt="Cozy SA Hotels Santo Amaro lobby featuring armchairs, bookshelves, and decor.">
635                    
636                    <div class="caption sfb start" data-easing="easeOutBack" data-speed="400" data-start="500"><div class="cartela_slider"> <span class="subtitle">Hotel Santo Amaro</span> <strong>BEST AVAILABLE PRICE GUARANTEED</strong> ON BOOKINGS ON THE OFFICIAL WEBSITE<br> <a href="/ofertas.html" class="btn_personalized_2">See more</a></div></div>
637                </li>
638            
639                <li data-title="" 
640                    data-delay='6000'
641                    data-transition="slideleft" data-slotamount="7" data-masterspeed="800"   >
642                    
643                         <img src="https://cdn.paraty.es/static_files/sahotels/generic/202608191505/images/dummy.png" data-bgposition="center center" data-lazyload="https://cdn2.paraty.es/sa-amaro/images/fa8d8b20572e614=s1900" alt="Breakfast at the Hotel Santo Amaro with fresh, homemade products">
644                    
645                    
646                </li>
647            
648        </ul>
649    </div>
650</div>
651
652<script type="text/javascript" async>
653    const capitalize = text => text.charAt(0).toUpperCase() + text.slice(1);
654
655    var revapi;
656
657    
658        jQuery(window).on('load', function () {
659    
660        revapi = jQuery('.tp-banner').revolution({
661            // Add a comment to this line
662            startwidth: 1140,
663            startheight: 650,
664            hideThumbs: 10,
665            fullWidth: "on",
666            forceFullWidth: "on",
667            fullScreen: "off",
668            onHoverStop: "on",
669            lazyLoad: "on",
670            navigationArrows: "solo",
671            navigationType: "bullet",
672            hideTimerBar: "on",
673            
674        });
675
676        $(".tp-banner").show();
677
678        // Add the aria-labels to the arrows
679        function setAriaLabels() {
680            const $leftArrow = $('.tp-leftarrow');
681            const $rightArrow = $('.tp-rightarrow');
682            const previousLabel = `Prev`;
683            const nextLabel = `Next`;
684
685            if ($leftArrow.length && $rightArrow.length) {
686                $leftArrow.attr({
687                    tabindex: 0,
688                    role: 'button',
689                    'aria-label': previousLabel
690                });
691                $rightArrow.attr({
692                    tabindex: 0,
693                    role: 'button',
694                    'aria-label': nextLabel
695                });
696
697                if (!$leftArrow.find('.visually-hidden').length) {
698                    $leftArrow.append('<span class="visually-hidden">' + previousLabel + '</span>');
699                }
700
701                if (!$rightArrow.find('.visually-hidden').length) {
702                    $rightArrow.append('<span class="visually-hidden">' + nextLabel + '</span>');
703                }
704
705                console.log('Aria-labels and hidden text assigned');
706            }
707        }
708
709        function applyAriaLiveToActiveSlide() {
710            $('.tp-revslider-slidesli').removeAttr('aria-live');
711            $('.tp-revslider-slidesli:not(.tp-hide-revslide)').attr('aria-live', 'polite');
712        }
713
714        applyAriaLiveToActiveSlide();
715
716        revapi.on('revolution.slide.onchange', applyAriaLiveToActiveSlide);
717        revapi.on('revolution.slide.onloaded', setAriaLabels);
718
719        // Accessibility for pause/resume button
720        let sliderPaused = false;
721        const $toggleSlider = $('#toggleSlider');
722        $toggleSlider.text(capitalize($toggleSlider.text()));
723
724        $toggleSlider.click(function () {
725            if (!sliderPaused) {
726                revapi.revpause();
727                this.innerText = `Resume`;
728                this.setAttribute('aria-pressed', 'true');
729            } else {
730                revapi.revresume();
731                this.innerText = capitalize(`pause`);
732                this.setAttribute('aria-pressed', 'false');
733            }
734            sliderPaused = !sliderPaused;
735        });
736    });	//ready
737</script>
737
738            
739            <div id="full_wrapper_booking">
740                <div id="wrapper_booking" class="container12">
741                    <div id="booking" class="boking_widget_inline">
742                        
743    <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,200italic,300italic&display=swap' rel='stylesheet'
744          type='text/css'>
745
746
747
748
749
750
751
752
753<span id="full-booking-engine-html-7" style="margin:0px;padding:0px;" class="">
754<!-- MY BOOKINGS INTEGRATED -->
755
756
757
758
759<!-- TITULO -->
760<div class="booking_form_title">
761    <p class="booking_title_1">Book here</p>
762    <p class="booking_title_2">Book now</p>
763    <p class="best_price">BOOK AT THE BEST PRICE</p>
764
765    
766    
767    
768
769
770    
771</div>
772<!-- END TITULO -->
773
774
775    <div class='calendar_root_wrapper'>
776        <div id="calendar-app-root" class="calendar_app" style="display: none"></div>
777    </div>
778    
778<script>
779        window.calendar_data = {
780            language: 'en',
781            is_website: true,
782            namespace: 'sa-amaro',
783            
784            
785            
786            
787            
788        };
789    </script>
789
790    <input type="hidden" id="price_calendar_v2" value="true">
791    
791<script type="text/javascript" src="/static_1/web_apps/price_calendar.js?v=202608200104"></script>
791
792    <link rel="stylesheet" type="text/css" href="/static_1/web_apps/assets/css/main_price_calendar.css?v=202608200104">
793
794
795<!-- booking engine 7 -->
796<form class="booking_form  paraty-booking-form      "
797      action="https://www.hotelsantoamaro.com/booking1" method="post"  data-initial-booking-url="https://www.hotelsantoamaro.com/booking1" data-initial-namespace="sa-amaro">
798
799<input type="hidden" id="language" name="language" value="ENGLISH"/>
800<input type="hidden" id="agesKid1" name="agesKid1"/>
801<input type="hidden" id="agesKid2" name="agesKid2"/>
802<input type="hidden" id="agesKid3" name="agesKid3"/>
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853<input id="roomType" type="hidden" name="roomType" value="">
854<input class="roomTypeValue" type="hidden" name="roomTypeValue" value="">
855
856<input id="roomFilter" type="hidden" name="roomFilter" value=".*">
857<input id="roomFilterName" type="hidden" name="roomFilterName" value="">
858<input id="roomOrder" type="hidden" name="roomOrder" value="">
859<input id="roomSearch" type="hidden" name="roomSearch" value="">
860
861<input type="hidden" id="roomtype_list_json" name="roomtype_list_json" value="">
862
863
864
865
866
867<input type="hidden" id="namespace" name="namespace" value="sa-amaro"/>
868
869<input type="hidden" id="gclid" name="gclid" value=""/>
870
871<input type="hidden" value="" name="priceSeekerHotel" id="priceSeekerHotel"/>
872
873
874
875
876
877
878
879
880
881
882<!-- BOOKING 0 -->
883
884
885
886
887
888
889
890<!-- END BOOKING 0-->
891
892<!-- EXTRA PARAMS -->
893
894<!-- END EXTRA PARAMS -->
895
896
897
898
899
900<!-- SELECTOR DE HOTEL-->
901
902
903
904
905
906
907
908<!-- END SELECTOR DE HOTEL-->
909
910
911<!-- HIDE FILTERS -->
912
913
914
915
916
917
918
919
920
921<!-- HIDE FILTERS -->
922
923<!-- SELECCION FECHAS DE ENTRADA Y NUMERO HABITACIONES -->
924<div class="stay_selection ">
925    
926        <div class="entry_date_wrapper half_size">
927            <label class="entry_date_label">Check-In</label>
928
929            <div class="date_box entry_date">
930                <span class="date_day"></span>
931                <span class="date_year"></span>
932                <input name="startDate" type="hidden" class="has_datepicker entry_input" value=""/>
933
934                <div></div>
935            </div>
936
937            
938        </div>
939
940        
941
942            <div class="departure_date_wrapper">
943                <label class="departure_date_label">Check-Out</label>
944
945                <div class="date_box departure_date">
946                    <span class="date_day"></span>
947                    <span class="date_year"></span>
948                    <input name="endDate" type="hidden" class="has_datepicker departure_input" value=""/>
949
950                    <div></div>
951                </div>
952            </div>
953
954            
954<script>
955                departure_date_selectable = true;
956            </script>
956
957
958        
959    
960
961
962</div>
963
964
965
966
967<div class="dates_selector_personalized">
968    <label for="" class="dates_selector_label">Dates</label>
969
970    <div class="start_end_date_wrapper">
971        <span type="text" class="start_date_personalized"></span>
972        -
973        <span type="text" class="end_date_personalized"></span>
974
975        <div class="nights_number_wrapper_personalized">
976            <span class="days_number_datepicker"></span>
977            <span class="night_label"> Night </span>
978        </div>
979    </div>
980
981    <div class="start_date_datepicker" type="text" data-role="date" data-inline="true" style="display: none">
982        <div class="close_calendar"></div>
983        <span class="entry_label_calendar">Check-In Date</span>
984    </div>
985    <div class="departure_datepicker" type="text" data-role="date" data-inline="true" style="display: none">
986        <div class="close_calendar"></div>
987        <span class="departure_label_calendar">Check-Out Date</span>
988    </div>
989</div>
990
991
992
993
994<div class="rooms_number_wrapper " >
995    <label class="rooms_label" for="numRooms">
996        Rooms</label>
997    <select name="numRooms" id="numRooms" class="rooms_number">
998        
999            <option value="1" selected="selected">1</option>
1000        
1001            <option value="2" >2</option>
1002        
1003            <option value="3" >3</option>
1004        
1005    </select>
1006</div>
1007
1008<!-- END SELECCION FECHAS DE ENTRADA Y HABITACIONES -->
1009
1010
1011
1012<div class="guest_selector ">
1013    <label>Occupancy</label>
1014    
1015    <span class="placeholder_text">Select</span><b class="button"></b>
1016
1017</div>
1018
1019<!-- LISTA DE HABITACIONES -->
1020<div class="room_list_wrapper">
1021<i class="fa fa-times close_room_selector" aria-hidden="true" style="display: none;"></i>
1022    
1023
1024<ul class="room_list  ">
1025
1026
1027
1028        <!---------------------- ROOM 1---------------------->
1029    <li class="room room1 " >
1030
1031        <div class="room_title  "
1032             >
1033            
1034                Room 1</div>
1035
1036        <div class="adults_selector">
1037            <label class="adults_label" for="adultsRoom1">Adults
1038                
1039            </label>
1040            <select name="adultsRoom1" class="adults_room_1 room_selector" id="adultsRoom1">
1041                
1042                    <option value="1" >
1043                        1
1044                    </option>
1045                
1046                    <option value="2"  selected="selected">
1047                        2
1048                    </option>
1049                
1050                    <option value="3" >
1051                        3
1052                    </option>
1053                
1054                    <option value="4" >
1055                        4
1056                    </option>
1057                
1058                    <option value="5" >
1059                        5
1060                    </option>
1061                
1062                    <option value="6" >
1063                        6
1064                    </option>
1065                
1066                    <option value="7" >
1067                        7
1068                    </option>
1069                
1070                    <option value="8" >
1071                        8
1072                    </option>
1073                
1074            </select>
1075            
1076        </div>
1077        
1078            <div class="children_selector range_label_enabled">
1079            <label class="children_label" for="childrenRoom1">Children
1080                
1081                    <span class="range-age">
1082                          
1083                              
1084                                  
1085                                    (<span class="kids_label">4-12 </span> years)
1086                                  
1087                              
1088
1089                          
1090                    </span>
1091                
1092            </label>
1093            <select name="childrenRoom1" class="children_room_1 room_selector" id="childrenRoom1">
1094                
1095                    <option value="0"  selected="selected" >
1096                        
1097                            0
1098                        
1099                    </option>
1100                
1101                    <option value="1" >
1102                        
1103                            1
1104                        
1105                    </option>
1106                
1107                    <option value="2" >
1108                        
1109                            2
1110                        
1111                    </option>
1112                
1113                    <option value="3" >
1114                        
1115                            3
1116                        
1117                    </option>
1118                
1119                    <option value="4" >
1120                        
1121                            4
1122                        
1123                    </option>
1124                
1125            </select>
1126            
1127        </div>
1128        
1129
1130
1131        
1132
1133        
1134
1135
1136    </li>
1137
1138    
1139
1140    
1141
1142        <!---------------------- ROOM 2---------------------->
1143    <li class="room room2 " style="display: none">
1144
1145        <div class="room_title  "
1146             >
1147            
1148                Room 2</div>
1149
1150        <div class="adults_selector">
1151            <label class="adults_label" for="adultsRoom2">Adults
1152                
1153            </label>
1154            <select name="adultsRoom2" class="adults_room_2 room_selector" id="adultsRoom2">
1155                
1156                    <option value="1" >
1157                        1
1158                    </option>
1159                
1160                    <option value="2"  selected="selected">
1161                        2
1162                    </option>
1163                
1164                    <option value="3" >
1165                        3
1166                    </option>
1167                
1168                    <option value="4" >
1169                        4
1170                    </option>
1171                
1172                    <option value="5" >
1173                        5
1174                    </option>
1175                
1176                    <option value="6" >
1177                        6
1178                    </option>
1179                
1180                    <option value="7" >
1181                        7
1182                    </option>
1183                
1184                    <option value="8" >
1185                        8
1186                    </option>
1187                
1188            </select>
1189            
1190        </div>
1191        
1192            <div class="children_selector range_label_enabled">
1193            <label class="children_label" for="childrenRoom2">Children
1194                
1195                    <span class="range-age">
1196                          
1197                              
1198                                  
1199                                    (<span class="kids_label">4-12 </span> years)
1200                                  
1201                              
1202
1203                          
1204                    </span>
1205                
1206            </label>
1207            <select name="childrenRoom2" class="children_room_2 room_selector" id="childrenRoom2">
1208                
1209                    <option value="0"  selected="selected" >
1210                        
1211                            0
1212                        
1213                    </option>
1214                
1215                    <option value="1" >
1216                        
1217                            1
1218                        
1219                    </option>
1220                
1221                    <option value="2" >
1222                        
1223                            2
1224                        
1225                    </option>
1226                
1227                    <option value="3" >
1228                        
1229                            3
1230                        
1231                    </option>
1232                
1233                    <option value="4" >
1234                        
1235                            4
1236                        
1237                    </option>
1238                
1239            </select>
1240            
1241        </div>
1242        
1243
1244
1245        
1246
1247        
1248
1249
1250    </li>
1251
1252    
1253
1254    
1255
1256        <!---------------------- ROOM 3---------------------->
1257    <li class="room room3 " style="display: none">
1258
1259        <div class="room_title  "
1260             >
1261            
1262                Room 3</div>
1263
1264        <div class="adults_selector">
1265            <label class="adults_label" for="adultsRoom3">Adults
1266                
1267            </label>
1268            <select name="adultsRoom3" class="adults_room_3 room_selector" id="adultsRoom3">
1269                
1270                    <option value="1" >
1271                        1
1272                    </option>
1273                
1274                    <option value="2"  selected="selected">
1275                        2
1276                    </option>
1277                
1278                    <option value="3" >
1279                        3
1280                    </option>
1281                
1282                    <option value="4" >
1283                        4
1284                    </option>
1285                
1286                    <option value="5" >
1287                        5
1288                    </option>
1289                
1290                    <option value="6" >
1291                        6
1292                    </option>
1293                
1294                    <option value="7" >
1295                        7
1296                    </option>
1297                
1298                    <option value="8" >
1299                        8
1300                    </option>
1301                
1302            </select>
1303            
1304        </div>
1305        
1306            <div class="children_selector range_label_enabled">
1307            <label class="children_label" for="childrenRoom3">Children
1308                
1309                    <span class="range-age">
1310                          
1311                              
1312                                  
1313                                    (<span class="kids_label">4-12 </span> years)
1314                                  
1315                              
1316
1317                          
1318                    </span>
1319                
1320            </label>
1321            <select name="childrenRoom3" class="children_room_3 room_selector" id="childrenRoom3">
1322                
1323                    <option value="0"  selected="selected" >
1324                        
1325                            0
1326                        
1327                    </option>
1328                
1329                    <option value="1" >
1330                        
1331                            1
1332                        
1333                    </option>
1334                
1335                    <option value="2" >
1336                        
1337                            2
1338                        
1339                    </option>
1340                
1341                    <option value="3" >
1342                        
1343                            3
1344                        
1345                    </option>
1346                
1347                    <option value="4" >
1348                        
1349                            4
1350                        
1351                    </option>
1352                
1353            </select>
1354            
1355        </div>
1356        
1357
1358
1359        
1360
1361        
1362
1363
1364    </li>
1365
1366    
1367
1368    
1369
1370
1371</ul>
1372
1373
1374
1375
1376
1377    
1378</div>
1379<!-- END LISTA DE HABITACIONES -->
1380
1381
1382<div class="wrapper_booking_button   ">
1383    <div class="promocode_wrapper " >
1384        <label for="widget_promocode" class="promocode_label ">
1385            
1386                
1387                    Promotional code
1388                
1389            
1390        </label>
1391        <input autocomplete="off" type="text" id="widget_promocode" class="promocode_input " name="promocode"
1392               placeholder="PROMOCODE"
1393               value=""
1394               tabindex="16"
1395               pattern="[a-zA-Z0-9.#&_\-]*"
1396               
1397               oninput="this.value=this.value.replace(/[^a-zA-Z0-9.#&_-]/g,'')"
1398        >
1399        <input type="hidden" id="hidden_default_promocode" name="hidden_default_promocode">
1400        
1400<script data-cookieconsent="ignore">
1401            //Reject injections by js in promocode input when invalid characters are detected
1402            (function ($) {
1403                let originalVal = $.fn.val;
1404                $.fn.val = function (value) {
1405                    let label = $("label[for='widget_promocode']");
1406                    if (arguments.length > 0 && value !=='') {
1407                        if (this.attr("name") === "promocode" && typeof value === "string" && !/^[a-zA-Z0-9.#&_-]+$/.test(value)) {
1408                            document.dispatchEvent(new CustomEvent("invalid_promocode_injection", {}));
1409                            return this;
1410                        }
1411                    }
1412                    return originalVal.apply(this, arguments); ;
1413                };
1414            })(jQuery);
1415            document.addEventListener("invalid_promocode_injection", function (event) {
1416                console.warn("Attempt of invalid promocode injection. Value rejected.");
1417                let promocode_input = $("#widget_promocode");
1418                let promocode_label = $("label[for='widget_promocode']");
1419                if (promocode_input.val() == "") {
1420                    promocode_label.removeClass("hide");
1421                }
1422            });
1423        </script>
1423
1424        
1425
1426        
1427    
1428    </div>
1429
1430    
1431
1432    
1433
1434    
1435
1436    
1437        <button type="submit"  class="submit_button buttonsearch-ratecheck"  >
1438
1439            
1440
1441                
1442                    Book here
1443                
1444            
1445        </button>
1446        <div class="spinner_wrapper"></div>
1447    
1448
1449    
1450
1451</div>
1452
1453<div style="clear:both"></div>
1454
1455
1456
1457    
1458
1459    
1460        <img src="https://cdn2.paraty.es/sa-amaro/images/fa00045fe099c1a" style="display: none" alt="Loading" role="presentation">
1461    
1462
1463    <input type="hidden" id="booking-search-popup" name="booking-search-popup" value="true">
1464
1465    
1465<script>
1466        ($ => {
1467            window.show_booking_search_popup = function (myForm) {
1468                if (($.browser && $.browser.msie && parseFloat($.browser.version) <= 9)){
1469                    //if we are here, is because our browser don't accept setTimeOut
1470                    //so we submit it directly
1471                    myForm.submit();
1472                }
1473                else {
1474                    if (typeof(sending_form_custom_from_paraty) == 'undefined' || !sending_form_custom_from_paraty) {
1475                        sending_form_custom_from_paraty = true;
1476
1477                        setTimeout(function (myForm) {
1478                            openBookingSearchPopup(myForm);
1479                        }, 1000, myForm);
1480                    }
1481                }
1482            }
1483
1484            window.openBookingSearchPopup = function (myForm) {
1485                
1486                    return openBookingSearchPopup_v2(myForm);
1487                
1488
1489                var elements = [
1490                    
1491                ]
1492
1493                var popup_description = "";
1494                if (typeof(custom_popup_loading_description) != 'undefined') {
1495                    popup_description = custom_popup_loading_description;
1496                }
1497
1498                
1499                    showGallery(elements);
1500                
1501
1502                myForm.submit();
1503            }
1504
1505            window.openBookingSearchPopup_v2 = function (myForm, show_popup=true) {
1506                var container_booking_popup = $('<div></div>').addClass('container_popup_booking').css('text-align', 'center'),
1507                    loading_popup_top_text = `Updating to continue with your booking`;
1508
1509                    try {
1510                        var loading_popup_top_text = $(".site-header__logo img")[0].outerHTML;
1511                    }catch(e){
1512                        console.log("Error trying to retreive logo")
1513                    }
1514
1515                
1516                    var loading_popup_top_text = $("<img src='https://cdn2.paraty.es/sa-amaro/images/fa00045fe099c1a'>");
1517                
1518                
1519
1520                
1521
1522                var loading_popup_bottom_text = `<div><font color='#030303'>	Checking the availability of your search:<br><br>        From  <strong>@@start_date@@</strong> to <strong>@@end_date@@</strong></font></div>`;
1523
1524                
1525
1526                var descipription_top_booking_popup = $("<div></div>").addClass('description_top_popup_booking').html(loading_popup_top_text),
1527                    descipription_bottom_booking_popup = $("<div></div>").addClass('description_bottom_popup_booking').html(loading_popup_bottom_text),
1528                    gif_wrapper = $("<div></div>").addClass('gif_wrapper'),
1529                    number_of_lines = 20;
1530
1531                for (var x = 0; x < number_of_lines; x++) {
1532                    var target_delay_css = {
1533                        '-webkit-animation-delay': -(1.5 - (0.1 * x)) + 's',
1534                        '-moz-animation-delay': -(1.5 - (0.1 * x)) + 's',
1535                        '-o-animation-delay': -(1.5 - (0.1 * x)) + 's',
1536                        'animation-delay': -(1.5 - (0.1 * x)) + 's'
1537                    };
1538                    var element_line_to_append = $("<div></div>").addClass("default_line_loading").css(target_delay_css);
1539                    
1540                        element_line_to_append.css('background', '#1C1C1C');
1541                    
1542
1543                    element_line_to_append.appendTo(gif_wrapper);
1544                }
1545
1546                
1547                    container_booking_popup.css('border', '1px solid #1C1C1C');
1548                
1549
1550                
1551
1552                
1553
1554                
1555                    container_booking_popup.append(descipription_top_booking_popup).append(gif_wrapper).append(descipription_bottom_booking_popup);
1556                
1557
1558                var selected_start_date = $("input[name='startDate']").val(),
1559                    selected_end_date = $("input[name='endDate']").val();
1560
1561                var custom_format_date = "";
1562                if (custom_format_date) {
1563
1564                    var splitted_start_date = selected_start_date.split("/"),
1565                        start_day = splitted_start_date[0],
1566                        start_month = splitted_start_date[1],
1567                        start_year = splitted_start_date[2],
1568                        start_datetime = new Date(start_year, start_month - 1, start_day),
1569                        week_start_day = start_datetime.getDay();
1570
1571                    var splitted_end_date = selected_end_date.split("/"),
1572                        end_day = splitted_end_date[0],
1573                        end_month = splitted_end_date[1],
1574                        end_year = splitted_end_date[2],
1575                        end_datetime = new Date(end_year, end_month - 1, end_day),
1576                        week_end_day = end_datetime.getDay();
1577
1578                    var days_list = $.datepicker._defaults.dayNames;
1579
1580                    //Start date
1581                    selected_start_date = custom_format_date.replace("%m", start_month).replace("%d", start_day).replace("%Y", start_year);
1582                    selected_start_date = selected_start_date.replace("%a", days_list[week_start_day]).replace("%bb", _monthNames[start_month - 1]).replace("%b", _monthNames[start_month - 1]);
1583
1584                    //End date
1585                    selected_end_date = custom_format_date.replace("%m", end_month).replace("%d", end_day).replace("%Y", end_year);
1586                    selected_end_date = selected_end_date.replace("%a", days_list[week_end_day]).replace("%bb", _monthNames[end_month - 1]).replace("%b", _monthNames[end_month - 1]);
1587                }
1588
1589                //Protection for failures
1590                if(selected_start_date.indexOf('NaN') > -1 || selected_end_date.indexOf('NaN')){
1591                    container_booking_popup.html(container_booking_popup.html().replace("@@start_date@@", selected_start_date).replace("@@end_date@@", selected_end_date));
1592                } else {
1593                    container_booking_popup.find(".description_bottom_popup_booking").remove();
1594                }
1595                if (show_popup) {
1596                    var booking_loading_popup_params = {
1597
1598                        width: 'auto',
1599                        height: 'auto',
1600                        fitToView: false,
1601                        autoSize: false,
1602                        padding: 0,
1603                        closeClick: false,
1604                        closeBtn: false,
1605                        helpers: {
1606                            overlay: {
1607                                css:
1608                                    {'background': '#FFFFFF'},
1609                                closeClick: false
1610                            }, // prevents closing when clicking OUTSIDE fancybox
1611                            
1612                        },
1613                        wrapCSS: 'fancy-booking-search_v2 full_screen_engine custom_color_overlay',
1614                        beforeShow: function () {
1615                            if (navigator.userAgent.match(/iPhone/i) ||
1616                                navigator.userAgent.match(/iPad/i) ||
1617                                navigator.userAgent.match(/iPod/i) ||
1618                                (navigator.userAgent.match(/AppleWeb
1618Kit/i) && !navigator.userAgent.match(/Chrome/i))) {
1619                                setTimeout(function () {
1620                                    $.fancybox.close(true);
1621                                    $("#full_wrapper_booking .wrapper_booking_button .submit_button").show();
1622                                    sending_form_custom_from_paraty = undefined;
1623                                }, 8000);
1624                            }
1625                            $('.fancybox-bg').css('background', '#FFFFFF');
1626                        }
1627                    };
1628
1629                    if ($.fancybox.version.slice(0, 2) === '3.') {
1630                        booking_loading_popup_params['baseClass'] = 'fancybox-wrap fancy-booking-search_v2 full_screen_engine custom_color_overlay';
1631                        booking_loading_popup_params['modal'] = true;
1632                        $.fancybox.open(container_booking_popup, booking_loading_popup_params);
1633                    } else {
1634                        $.fancybox(container_booking_popup, booking_loading_popup_params);
1635                    }
1636
1637                    if (myForm) {
1638                        if (!navigator.userAgent.match(/chrome/i) && (navigator.userAgent.match(/safari/i) || navigator.userAgent.match(/firefox/i))) {
1639                            setTimeout(function () {
1640                                myForm.submit();
1641                            }, 700);
1642                        } else {
1643                            myForm.submit();
1644                        }
1645                    }
1646                }
1647            }
1648
1649            window.openCalendarPriceLoaderPopup = function () {
1650                if (window.location.href.includes('localhost')) {
1651                    return;
1652                }
1653
1654                const container_booking_popup = $('<div class="container_popup_booking container_popup_calendar"></div>');
1655                const description_top_booking_popup = $('<div class="description_top_popup_calendar"></div>').html(`Your search dates have associated restrictions. We are directing you to the pricing calendar.`);
1656                const description_bottom_booking_popup = $('<div class="description_bottom_popup_calendar"></div>').html(`In order for you to continue with your booking, we are redirecting you to our availability calendar so that you can book your next stay with us at the best available rate.`);
1657                const animation_container = $("<div id='lottie_animation'></div>");
1658                const center_container = $("<div class='center_container'></div>").append(description_top_booking_popup).append(animation_container);
1659
1660                container_booking_popup.append(center_container).append(description_bottom_booking_popup);
1661
1662                var booking_loading_popup_params = {
1663                    width: 'auto',
1664                    height: 'auto',
1665                    fitToView: false,
1666                    autoSize: false,
1667                    padding: 0,
1668                    closeClick: false,
1669                    closeBtn: false,
1670                    helpers: {
1671                        overlay: {
1672                                css: {'background': 'transparent', 'backdrop-filter': 'blur(50px)'},
1673                                closeClick: false}, // prevents closing when clicking OUTSIDE fancybox
1674                    },
1675                    wrapCSS: 'fancy-booking-search_v2 full_screen_engine',
1676                    beforeShow: function () {
1677                        if(navigator.userAgent.match(/iPhone/i) ||
1678                            navigator.userAgent.match(/iPad/i) ||
1679                            navigator.userAgent.match(/iPod/i) ||
1680                            (navigator.userAgent.match(/AppleWebKit/i) && !navigator.userAgent.match(/Chrome/i))){
1681                            setTimeout(function () {
1682                                if ($.fancybox.current?.wrapCSS.includes('fancy-booking-search_v2')) {
1683                                    $.fancybox.close();
1684                                }
1685                            }, 5000);
1686                        }
1687                        $('.fancybox-bg').css('background','transparent').css('backdrop-filter','blur(50px)');
1688                        $('.fancybox-margin').css('margin', '0');
1689                    },
1690                    afterShow: function () {
1691                        if (typeof loader_animation !== 'undefined') {
1692                            let params = {
1693                                container: $('#lottie_animation')[0],
1694                                renderer: 'svg',
1695                                loop: true,
1696                                autoplay: true,
1697                                animationData: loader_animation
1698                            };
1699
1700                            let anim = lottie.loadAnimation(params);
1701
1702                            setTimeout(function () {
1703                                params['container'] = $('#lottie_animation_calendar')[0];
1704                                params['loop'] = false;
1705
1706                                let anim_calendar = lottie.loadAnimation(params);
1707
1708                                anim_calendar.addEventListener('complete', function() {
1709                                    anim_calendar.stop();
1710                                    setTimeout(() => {
1711                                        anim_calendar.play();
1712                                    }, 5000);
1713                                });
1714                            }, 5000);
1715                        }
1716                    }
1717                };
1718
1719                $.fancybox(container_booking_popup, booking_loading_popup_params);
1720
1721                setTimeout(function () {
1722                    if ($.fancybox.current?.wrapCSS.includes('fancy-booking-search_v2')) {
1723                        $.fancybox.close();
1724                    }
1725                    setTimeout(function() {
1726                        typeof resizeCallCenter !== 'undefined' && resizeCallCenter();
1727                    }, 5500);
1728                }, 5000);
1729            }
1730
1731            window.showGallery = function (elements) {
1732                var fancybox_params = {
1733                    'modal': true,
1734                    'closeBtn': false,
1735                    'autoPlay': true,
1736                    'playSpeed': 3000,
1737                    'prevEffect': 'none',
1738                    'nextEffect': 'none',
1739                    'type': 'image',
1740                    'arrows': false,
1741                    'nextClick': false,
1742                    'mouseWheel': false,
1743                    'helpers': {
1744                        title: {
1745                            type: 'outside'
1746                        },
1747                        overlay: {
1748                            opacity: 0.8,
1749                            css: {
1750                                'background-color': '#000'
1751                            }
1752                        }
1753                    },
1754                    'padding': 0
1755                };
1756                if ($.fancybox.version.slice(0,2) === '3.') {
1757                    $.fancybox.open(elements, fancybox_params);
1758                } else {
1759                    $.fancybox(elements, fancybox_params);
1760                }
1761            }
1762
1763            //Preloading video is required to load correctly in some browsers
1764            $(function() {
1765                
1766            });
1767
1768            
1769        })(jQuery);
1770
1771    </script>
1771
1772
1773
1774
1775
1776
1777
1778</form>
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793</span>
1794
1795
1796
1797
1798
1799
1800
1801
1802<script>
1803    adult_tag = "Adult";
1804    adults_tag = "Adults";
1805    kid_tag = "Child";
1806    kids_tag = "Children";
1807    baby_tag = "Baby";
1808    babies_tag = "Babies";
1809    no_dispo_text = "Unavailable";
1810</script>
1810
1811
1812<script>
1813    night_tag = "Night";
1814    nights_tag = "Nights";
1815</script>
1815
1816
1817<script>
1818    
1819</script>
1819
1820
1821<script>
1822    $('.entry_date_wrapper, .departure_date_wrapper').on('click', function () {
1823        if ($('.room_list_wrapper').hasClass('active')) {
1824            $('.room_list_wrapper').removeClass('active');
1825        }
1826    });
1827
1828    $(document).on('click', '.close_button_datepicker', function () {
1829        const overlay = $('.black_overlay_guests');
1830
1831        overlay.stop(true, true).fadeOut(300, function() {
1832            $(this).remove();
1833        });
1834    });
1835</script>
1835
1836
1837    <!-- RESCUESEEKER -->
1838    
1838<script async>
1839    ($ => {
1840        if (typeof window.only_once_rescueseeker == "undefined") {
1841            // Reserve synchronously so a concurrent re-injection does not fire a second load.
1842            window.only_once_rescueseeker = 1;
1843            $.getScript("https://rescueseeker-default-697653561069.europe-west1.run.app/static/rescue-seeker/common/js/rescue-seeker-widget.js?v=2")
1844                .done(function (script, textStatus) {
1845                    if (typeof RescueSeeker === 'undefined') {
1846                        console.error("RESCUE SEEKER: script loaded but global missing");
1847                        window.only_once_rescueseeker = undefined; // release so a later load can retry
1848                        return;
1849                    }
1850                    console.log("RESCUE SEEKER: Main rescue seeker script loaded!");
1851
1852                    
1853                        RescueSeeker.config.email_controller = 'hotel-webs';
1854                    
1855                    RescueSeeker.load('sa-amaro', 'en', 'paraty');
1856                })
1857                .fail(function (jqxhr, settings, exception) {
1858                    window.only_once_rescueseeker = undefined; // release on failure so a later load can retry
1859                    console.error("RESCUE SEEKER: Main rescue seeker script NOT loaded!");
1860                    console.error(exception);
1861                });
1862        }
1863    })(jQuery);
1864</script>
1864
1865
1866
1867
1868
1869
1870    <!-- RATECHECK -->
1871    
1872
1873
1874
1875                    </div>
1876                </div>
1877            </div>
1878        </section>
1879    
1880
1881    
1882        <section id="content">
1883            
1884
1885    <div class="content_subtitle_wrapper">
1886        <h1 class="content_subtitle_title"> <span class = "subtitle">Your F&aacute;tima away from home</span>Welcome to  Hotel Santo Amaro ***</h1>
1887
1888        
1889            <div class="content_subtitle_description">
1890                <div style="text-align: center;">
1891    An album of family opens, and it is as if it itself tells us all the events and memories of the life of this hotel.<br><br>
1892
1893    We all grew up, we the daughters, as well as the hotel. What began as the home of a small family is now the home of all who come to pray at Cova da Iria.<br><br>
1894
1895    Located a 5-minute walk from the Sanctuary of Our Lady of Fatima, Hotel Santo Amaro is the place where comfort and well-being are privileged.
1896</div>
1897
1898            </div>
1899        
1900    </div>
1901
1902
1903
1904
1905
1906
1907
1908
1909<div class="banner_rooms_full_wrapper">
1910    
1911        <div class="banner_rooms_content">
1912            <h2 class="content_title"><span class="subtitle">Hotel Santo Amaro</span> Rooms</h2>
1913            
1914        </div>
1915    
1916    <div class="banner_rooms_wrapper owl-carousel">
1917        
1918            <div class="banner">
1919                
1920                    <div class="image_wrapper">
1921                        <img data-src="https://cdn2.paraty.es/sa-amaro/images/f71cd7eb9af040c=s400" alt="Twin room with two beds, TV, and desk at SA Hotels Santo Amaro." >
1922                    </div>
1923                
1924                <div class="banner_content">
1925                    
1926                        <h4 class="title">Family <span class="subtitle">Room</span></h4>
1927                    
1928                    
1929                    
1930                        <div class="text">Ideal room for a family or a group of friends. Family rooms range from 2 adults + 1 extra bed to 5 adults.</div>
1931                    
1932                    
1933                        <div class="btn_wrapper">
1934                            
1935                        
1936                            <a href="#data" class="btn_personalized_1 button-promotion">Book here</a>
1937                        
1938                        </div>
1939                    
1940                </div>
1941            </div>
1942        
1943            <div class="banner">
1944                
1945                    <div class="image_wrapper">
1946                        <img data-src="https://cdn2.paraty.es/sa-amaro/images/78138d9db832cc2=s400" alt="Double room with crucifix at SA Hotels Santo Amaro." >
1947                    </div>
1948                
1949                <div class="banner_content">
1950                    
1951                        <h4 class="title">Twin <span class="subtitle">Room</span></h4>
1952                    
1953                    
1954                    
1955                        <div class="text">Spacious and comfortable, the hotel's twin rooms have all the amenities you need to make the most of your stay in Fátima.</div>
1956                    
1957                    
1958                        <div class="btn_wrapper">
1959                            
1960                        
1961                            <a href="#data" class="btn_personalized_1 button-promotion">Book here</a>
1962                        
1963                        </div>
1964                    
1965                </div>
1966            </div>
1967        
1968            <div class="banner">
1969                
1970                    <div class="image_wrapper">
1971                        <img data-src="https://cdn2.paraty.es/sa-amaro/images/ef1b6fb1ca892cb=s400" alt="SA Hotels Santo Amaro hotel room with double bed and religious decor." >
1972                    </div>
1973                
1974                <div class="banner_content">
1975                    
1976                        <h4 class="title">Double <span class="subtitle">Room</span></h4>
1977                    
1978                    
1979                    
1980                        <div class="text">Spacious and comfortable, the hotel's double rooms have all the amenities you need to make the most of your stay in Fátima.</div>
1981                    
1982                    
1983                        <div class="btn_wrapper">
1984                            
1985                        
1986                            <a href="#data" class="btn_personalized_1 button-promotion">Book here</a>
1987                        
1988                        </div>
1989                    
1990                </div>
1991            </div>
1992        
1993            <div class="banner">
1994                
1995                    <div class="image_wrapper">
1996                        <img data-src="https://cdn2.paraty.es/sa-amaro/images/aaebba12acf41f7=s400" alt="Postcard "In Fátima as a family" at SA Hotels Santo Amaro." >
1997                    </div>
1998                
1999                <div class="banner_content">
2000                    
2001                        <h4 class="title">
2001Single <span class="subtitle">Room</span></h4>
2002                    
2003                    
2004                    
2005                        <div class="text">The single rooms at Hotel Santo Amaro are perfect for a pleasant and comfortable stay in Fátima. All rooms feature the best amenities to make your stay unforgettable.
2006
2007<div class="hide_in_banner_room">
2008</div>
2009</div>
2010                    
2011                    
2012                        <div class="btn_wrapper">
2013                            
2014                        
2015                            <a href="#data" class="btn_personalized_1 button-promotion">Book here</a>
2016                        
2017                        </div>
2018                    
2019                </div>
2020            </div>
2021        
2022    </div>
2023</div>
2024
2025<script>
2026    $(window).load(function () {
2027       $(".banner_rooms_wrapper .image_wrapper img").each(function () {
2028       $(this).attr('src',$(this).attr('data-src'))
2029       }).promise().done(function () {
2030           $(".banner_rooms_wrapper.owl-carousel").owlCarousel({
2031                loop: true,
2032                nav: true,
2033                dots: false,
2034                items: 3,
2035                margin: 20,
2036                navText: ['<i class="fal fa-chevron-left"></i>', '<i class="fal fa-chevron-right"></i>'],
2037                autoplay: false,
2038            });
2039        });
2040    });
2041</script>
2041
2042<div class="banner_block_full_wrapper">
2043    
2044        <div class="banner_block_content">
2045            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 199.52 257.79" class="logo_svg">
2046    <defs>
2047        <style>.cls-1 {
2048            fill-rule: evenodd;
2049        }
2050
2051        .cls-3 {
2052            fill: #070606;
2053        }</style>
2054    </defs>
2055    <g id="Capa_2" data-name="Capa 2">
2056        <g id="Layer_1" data-name="Layer 1">
2057            <path class="cls-1"
2058                  d="M199.52,237.71c-12.29-32.48-24.49-57-30.36-76.63-17.4-58-20.82-103.29-73.73-108.61-29.61-3-51.12,18.23-59.28,32,19.69-30,74.23-42.51,99.23-6.5,15.78,22.73,21.69,56.54,33.73,90.36"/>
2059            <path class="cls-1"
2060                  d="M126.85,201.95c-2.75-26.36.56-36.09-6.1-58.49C113.67,119.62,87.87,104,69.4,90.23c-4.43-1.61,18,14,23.13,18.8,9.24,8.69,21.72,23.86,26,36.15,7.41,21.44,4.22,29.05,6.67,55.33"/>
2061            <path class="cls-1"
2062                  d="M46.26,97.46c-2.88,2.11-3.4,3.34-3.86,5.9-3.5,13.88,1.36,75.31,22.46,86.48,2.41,1.75,14,.86,29.11-7.08-4.35-.24-18.82,7.79-26.3,6.5-15.2-2.6-23.61-49-24-58.31C43.19,117.79,39.26,103.49,46.26,97.46Z"/>
2063            <path class="cls-1"
2064                  d="M0,237.71c13.06-17.27,32.6-33.43,34.7-63.62,1.58-22.87-10.22-52.3,0-72.29a22.39,22.39,0,0,0-4.9,10.78c-2.91,10.56,5,41.57,2.71,63.27C29.72,201.72,8.7,221.76,0,237.71Z"/>
2065            <path class="cls-3"
2066                  d="M188.5,136c5.84-27.87,2.55-57.13-12.24-81.77-12.2-20.32-31.17-34.73-53.6-42.22C84.23-.86,46.73,15.94,19.93,43.81A131.57,131.57,0,0,0,3.09,64.68c-.14.22-.55,1-.52,1,12.68-20.23,32.54-38.18,54-48.37a86.83,86.83,0,0,1,58.66-6.17c22.24,5.61,42.5,18.67,55.88,37.37,18.4,25.71,23.15,58,16.73,88.61.08-.39.53-.71.62-1.12Z"/>
2067            <polygon
2068                    points="154.29 29.09 155.46 24.26 158.24 28.39 163.01 26.99 160.82 31.46 164.42 34.89 159.46 35.23 158.28 40.06 155.51 35.93 150.74 37.33 152.92 32.87 149.33 29.43 154.29 29.09"/>
2069            <polygon
2070                    points="95.6 4.12 98.39 0 99.55 4.84 104.51 5.19 100.9 8.61 103.07 13.09 98.3 11.67 95.52 15.79 94.36 10.95 89.4 10.6 93.01 7.18 90.83 2.71 95.6 4.12"/>
2071            <polygon
2072                    points="126.17 10.8 128.81 6.59 130.14 11.38 135.11 11.56 131.63 15.11 133.96 19.5 129.15 18.25 126.51 22.47 125.18 17.68 120.21 17.5 123.69 13.96 121.36 9.56 126.17 10.8"/>
2073        </g>
2074    </g>
2075</svg>
2076            <h2 class="content_title"><span class="subtitle">Highlights</span> Hotel Santo Amaro</h2>
2077            
2078                <div class="content_text">Hotel Santo Amaro offers you quality services so that you can enjoy your stay to the fullest and make the most of your time. <br> <br>
2079
2080Our two excellent restaurants, where you can taste the typical cuisine of the region, are worthy of special mention.</div>
2081            
2082            
2083                <a href="services.html"  class="btn_personalized_2">
2084                    
2085                        See more
2086                    
2087                </a>
2088            
2089        </div>
2090    
2091    <div class="banner_block_wrapper ">
2092        
2093            <div class="banner">
2094                
2095                    <div class="image_wrapper">
2096                        <img data-src="https://cdn2.paraty.es/sa-amaro/images/e5a5b3a5f6fcf1d=s400" alt="SA Hotels Santo Amaro: Delicious steak with fried egg and side." >
2097                    </div>
2098                
2099                <div class="banner_content with_btn">
2100                    
2101                        <div class="icon_wrapper">
2102                            <i class="fal fa-utensils-alt"></i>
2103                        </div>
2104                    
2105                    
2106                        <h4 class="title">Restaurants</h4>
2107                    
2108                    
2109                        <div class="text">Hotel Santo Amaro offers you two exceptional restaurants, Dom José and Primavera. Here you can taste the best dishes of the region, always made with fresh ingredients.</div>
2110                    
2111                    
2112                        <div class="btn_wrapper">
2113                            <a href="restaurant.html"  class="btn_personalized_2">See more</a>
2114                        </div>
2115                    
2116                </div>
2117            </div>
2118        
2119            <div class="banner">
2120                
2121                    <div class="image_wrapper">
2122                        <img data-src="https://lh3.googleusercontent.com/9
2122KnoPrI9_RMRYgd2ZWkqyTjOMKHLcnDsoNMa0WhM5c9_b8KgDCDaPlV05SpVWo5R8e4R1uWZbXnEzETMeQ=s400" alt="SA Hotels Santo Amaro conference room with tables, green chairs, and screen." >
2123                    </div>
2124                
2125                <div class="banner_content ">
2126                    
2127                        <div class="icon_wrapper">
2128                            <i class="fal fa-briefcase"></i>
2129                        </div>
2130                    
2131                    
2132                        <h4 class="title">Events</h4>
2133                    
2134                    
2135                        <div class="text">Hotel Santo Amaro has three halls (Pastorinhos Hall, Fátima Hall, and Anjo de Portugal Hall) that offer the best services for events and meetings.</div>
2136                    
2137                    
2138                </div>
2139            </div>
2140        
2141            <div class="banner">
2142                
2143                    <div class="image_wrapper">
2144                        <img data-src="https://lh3.googleusercontent.com/1ezMSLXK97J-qsAPNLafuQwoxs9lmLn6H-U-GJWFDwFDXdnoffxjs5gUV8S_OUHGolQ7Dj-C7_SKVajm-A=s400" alt="SA Hotels Santo Amaro: Majestic basilica with grand staircase and blue sky." >
2145                    </div>
2146                
2147                <div class="banner_content with_btn">
2148                    
2149                        <div class="icon_wrapper">
2150                            <i class="fal fa-praying-hands"></i>
2151                        </div>
2152                    
2153                    
2154                        <h4 class="title">Fátima</h4>
2155                    
2156                    
2157                        <div class="text">Apart from the Sanctuary located just 250m from the Hotel, you can also visit monuments, cultural sites, and natural spaces near Fátima that are very close to the Hotel.</div>
2158                    
2159                    
2160                        <div class="btn_wrapper">
2161                            <a href="fatima.html"  class="btn_personalized_2">See more</a>
2162                        </div>
2163                    
2164                </div>
2165            </div>
2166        
2167    </div>
2168</div>
2169
2170<script>
2171
2172    $(window).load(function () {
2173       $(".banner_block_wrapper .image_wrapper img").each(function () {
2174            $(this).attr('src',$(this).attr('data-src'))
2175       })
2176    });
2177
2178</script>
2178
2179
2180<div class="banner_opinions_full_wrapper">
2181    
2182        <div class="banner_opinions_content">
2183            <h2 class="content_title">Reviews</h2>
2184            
2185        </div>
2186    
2187    <div class="banner_opinions_wrapper owl-carousel">
2188        
2189            <div class="opinion">
2190                <div class="opinion_icon">
2191                    
2192                        
2193                            <i class="fa fa-google"></i>
2194                        
2195                    
2196                </div>
2197                
2198                    <div class="opinion_description">Hotel located in the center of the city of Fátima, with first-rate rooms, very good and high-quality restaurant food, especially the delicious soups, very professional and friendly service, spacious and clean rooms, very well maintained.
2199</div>
2200                
2201                
2202                    <div class="opinion_title">Alfonso Javier Gomez Teruel</div>
2203                
2204                
2205                    <div class="opinion_rate">5/5</div>
2206                
2207                
2208                    <div class="opinion_date">May 2024</div>
2209                
2210            </div>
2211        
2212            <div class="opinion">
2213                <div class="opinion_icon">
2214                    
2215                        
2216                            <i class="fa fa-google"></i>
2217                        
2218                    
2219                </div>
2220                
2221                    <div class="opinion_description">The 3*** rating falls short. I was very pleasantly surprised; it's a 3-star hotel that could certainly be in the 4**** range. The facilities are very appropriate, the location is close to the basilica, the food is good and plentiful, and best of all, the staff are friendly, helpful, and kind.</div>
2222                
2223                
2224                    <div class="opinion_title">Jose Antonio Colomer Guiu</div>
2225                
2226                
2227                    <div class="opinion_rate">5/5</div>
2228                
2229                
2230                    <div class="opinion_date">November 2023</div>
2231                
2232            </div>
2233        
2234            <div class="opinion">
2235                <div class="opinion_icon">
2236                    
2237                        <img data-src="https://cdn2.paraty.es/sa-amaro/images/6e6c0f041c50b91">
2238                    
2239                </div>
2240                
2241                    <div class="opinion_description">Exceptional service, very good location. Breakfast was divine. And above all, the friendliness of the staff makes me always come back here.</div>
2242                
2243                
2244                    <div class="opinion_title">Márcio<br> &quot;Exceptional&quot;</div>
2245                
2246                
2247                    <div class="opinion_rate">5/5</div>
2248                
2249                
2250                    <div class="opinion_date">June 2023</div>
2251                
2252            </div>
2253        
2254    </div>
2255</div>
2256
2257<script>
2258    $(window).load(function () {
2259       $(".banner_opinions_wrapper img").each(function () {
2260       $(this).attr('src',$(this).attr('data-src'))
2261       }).promise().done(function () {
2262           $(".banner_opinions_wrapper.owl-carousel").owlCarousel({
2263                loop: true,
2264                nav: false,
2265                dots: true,
2266                items: 1,
2267                margin: 0,
2268                autoplay: false,
2269            });
2270        });
2271    });
2272</script>
2272
2273
2274
2275
2276
2277
2278<div class="banner_map_wrapper">
2279    
2280        <div class="banner_map_content">
2281            <h2 class="content_title"><span class="subtitle">Hotel Santo Amaro</span> Find Us</h2>
2282            
2283                <div class="content_text">The hotel is located on one of the 3 main streets in F&aacute;tima. A peaceful and welcoming hotel, located 250m from the Sanctuary of Our Lady of F&aacute;tima.
2284<br><br>
2285Rua Francisco Marto, 59 <br>
22862495-448 F&aacute;tima (Portugal) <br>
2287<a href="tel:+351249 530 170">(+351) 249 530 170</a><br>
2288Fax: (+351) 249 530 178<br>
2289(Call to portuguese fixed network)<br>
2290<a href="mailto:[email protected]">[email protected]</a></div>
2291            
2292            <div class="social">
2293                
2294                    <a href="https://www.tripadvisor.com/Hotel_Review-g189157-d2202695-Reviews-Hotel_Santo_Amaro-Fatima_Santarem_District_Central_Portugal.html" target="_blank">
2295                        <i class="fa-kit fa-tripadvisor"></i>
2296                    </a>
2297                
2298                
2299                    <a href="http://www.instagram.com/hotelsantoamaro_" target="_blank">
2300                        <i class="fab fa-instagram"></i>
2301                    </a>
2302                
2303                
2304                    <a href="http://www.facebook.com/hotelsantoamarofatima" target="_blank">
2305                        <i class="fab fa-facebook-f"></i>
2306                    </a>
2307                
2308                
2309                
2310                
2311                
2312            </div>
2313        </div>
2314    
2315    <div class="banner_map">
2316        <div style="text-align: center; ">
2317<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d768.2347311622664!2d-8.669648411859367!3d39.6285789987102!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0xd189d305e6a0647%3A0x3a96b3016dcb57ce!2sHotel%20Santo%20Amaro!5e0!3m2!1spt-PT!2spt!4v1585171352925!5m2!1spt-PT!2spt" width="600" height="450" frameborder="0" style="border:0;" allowfullscreen="" aria-hidden="false" tabindex="0"></iframe>
2318</div>
2319    </div>
2320</div>
2321
2322
2323
2324
2325
2326
2327
2328
2329<div class="newsletter_wrapper" style="background-image: url(https://cdn2.paraty.es/sa-amaro/images/9c9e6f457b1a27f=s1900)">
2330    <div class="newsletter_container container12">
2331        <div class="newsletter_title">Discover our offers</div>
2332        <div class="newsletter_description">Follow us on social media and subscribe to our Newsletter to be the first to know about our latest news and promotions.</div>
2333        
2334            <form class="newsletter_form" action="/utils?action=newsletter" method="post">
2335                
2336                
2337                
2338                <input id="suscEmail" class="input_email" type="text" name="suscEmail" placeholder="Enter your email address" aria-required="true" aria-describedby="email-help" />
2339                
2340
2341                <button type="submit" class="button_newsletter" style="border:none"><span>Send</span></button>
2342
2343            
2344                
2345                    <div class="check_newsletter">
2346                        <div class="newsletter_checkbox">
2347                            <input class="check_privacy" id="privacy" name="privacy" type="checkbox" value="privacy"/>
2348                            <label for="privacy"> <a data-fancybox
2349                                                     data-options='{"caption" : "I have read and accept the privacy policy", "src" : "/en/?sectionContent=politica-de-privacidad.html", "type" : "iframe", "width" : "100%", "max-width" : "100%"}'
2350                                                     data-width="1200"
2351                                                     class="myFancyPopup fancybox.iframe newsletter_popup"
2352                                                     href="en/?sectionContent=politica-de-privacidad.html"
2353                                                     rel="nofollow">I have read and accept the privacy policy</a>
2354                            </label>
2355
2356                        </div>
2357                    </div>
2358                
2359                
2360
2361                <div class="check_newsletter">
2362                    <div class="newsletter_checkbox">
2363                        <input class="check_privacy" id="promotions" name="promotions" type="checkbox" value="privacy"/>
2364                        <label for="promotions">I authorise the processing of my personal data for marketing purposes (promotions, offers and other communications).</label>
2365                        
2366                    </div>
2367                </div>
2368            
2369            
2370            </form>
2371        
2372        
2373    </div>
2374</div>
2375
2376
2377
2378<script async type="text/javascript" src="https://cdn.paraty.es/static_files/sahotels/generic/202608191505/lib/jquery.validate.js" crossorigin="anonymous" integrity="sha512-J1+XdM+HESLdslJXNUFo7LYvRJzmyO8VlBZteQJhPYMXpB+M9J8zhkL0GbyiTO4t6YFDcG5TSGq4KSa0NGB6Jw=="></script>
vendor: 1 bytes, line 2378
2378
2379<script type="text/javascript">
2380    $(window).on('load', function () {
2381        if (typeof newsletter_launched !== 'undefined' && newsletter_launched === true) {
2382            return;
2383        }
2384
2385        $(".newsletter_form").each(function() {
2386           $(this).validate({
2387               rules: {
2388                   privacy: "required",
2389                   promotions: "required",
2390                   suscEmail: {
2391                       required: true,
2392                       email: true
2393                   },
2394                   suscName: {
2395                       required: true
2396                   },
2397                   suscSurname: {
2398                       required: true
2399                   },
2400                   suscDate: {
2401                       required: true,
2402                       date: true
2403                   },
2404                   suscTelephone: {
2405                       required: true,
2406                       date: true
2407                   }
2408               },
2409               messages: {
2410                   suscEmail: {
2411                       required: "This section is required",
2412                       email: "The value of this section is not valid"
2413                   },
2414                   suscName: {
2415                       required: "This section is required"
2416                   },
2417                   suscSurname: {
2418                       required: "This section is required"
2419                   },
2420                   suscDate: {
2421                       required: "This section is required",
2422                       date: "The value of this section is not valid"
2423                   },
2424                   suscTelephone: {
2425                       required: "This section is required",
2426                       date: "The value of this section is not valid"
2427                   },
2428                   privacy: "This section is required",
2429                   promotions: "This section is required",
2430               },
2431               highlight: function (input) {
2432                   $(input).parent().find("a").addClass('error_class');
2433                   $(input).parent().find("label").addClass('error_class');
2434                   $(input).parent().find("#suscEmail").addClass('error_class');
2435                   $(input).parent().find("#suscName").addClass('error_class');
2436                   $(input).parent().find("#suscSurname").addClass('error_class');
2437                   $(input).parent().find("#suscDate").addClass('error_class');
2438                   $(input).parent().find("#suscTelephone").addClass('error_class');
2439               },
2440               errorPlacement: function (error, element) {
2441                   //this keeps enable the validation but hides the error message
2442               }
2443           });
2444        });
2445
2446        $(".button_newsletter").each(function() {
2447            $(this).unbind('click').click(function () {
2448                var clicked_button = $(this),
2449                    form_newsletter = clicked_button.parent(".newsletter_form");
2450
2451                form_newsletter.on('submit', function(event) {
2452                    event.preventDefault();
2453                });
2454
2455                if (form_newsletter.valid()) {
2456                    if (!form_newsletter.find("#g-recaptcha-response").length || form_newsletter.find("#g-recaptcha-response").val()) {
2457                        $.post("/utils?action=newsletter&language=ENGLISH",
2458                            {
2459                                'email': form_newsletter.find("#suscEmail").val(),
2460                                'name': form_newsletter.find("#suscName").val(),
2461                                'surname': form_newsletter.find("#suscSurname").val(),
2462                                'date': form_newsletter.find("#suscDate").val(),
2463                                'telephone': form_newsletter.find("#suscTelephone").val(),
2464                                'custom_tags': '',
2465                                'g-recaptcha-response': form_newsletter.find("#g-recaptcha-response").val()
2466                            },
2467
2468                            function (data) {
2469                                
2470                                    alert("Thank you for subscribing to our newsletter");
2471                                
2472
2473                                $("#suscEmail").val("");
2474                                $("#suscName").val("");
2475                                $("#suscDate").val("");
2476                                $("#suscTelephone").val("");
2477                            }
2478                        );
2479                    } else {
2480                        form_newsletter.find(".g-recaptcha > div").css('border', '1px solid red');
2481                    }
2482                } else {
2483                    
2484                        alert("* Required fields ");
2485                        console.log("invalid");
2486                    
2487                }
2488
2489            });
2490        });
2491
2492        newsletter_launched = true;
2493
2494        var script_fa_tag = document.createElement('script');
2495        script_fa_tag.src = 'https://kit.fontawesome.com/d8b9925505.js';
2496        script_fa_tag.setAttribute("defer", "");
2497
2498        document.head.appendChild(script_fa_tag);
2499    });
2500</script>
2500
2501
2502
2503
2504
2505        </section>
2506    
2507
2508    <footer>
2509    
2510        <div class="footer_columns_wrapper">
2511            
2512                <div class="column with_logo">
2513                    
2514                        <div class="text">Rua Francisco Marto, 59<br>
25152495-448 Fátima (Portugal)<br>
2516<a href="tel:+351249 530 170">(+351) 249 530 170</a><br>
2517Fax: (+351) 249 530 178<br>
2518(Call to a portuguese fixed network)<br>
2519<a href="mailto:[email protected]">[email protected]</a>
2520<br><br>
2521<strong>RNET 1475</strong></div>
2522                    
2523                    
2524                        <a href="hotel.html"  class="footer_logo">
2525                            <img src="https://cdn2.paraty.es/sa-amaro/images/febd5de7ca4ebbe" alt="SA Hotels Santo Amaro logo: stylized figure of the Virgin Mary with stars, "Fátima - Portugal"." >
2526                        </a>
2527                    
2528                </div>
2529            
2530                <div class="column ">
2531                    
2532                        <div class="footer_sections">
2533                            
2534                                <a href="https://www.hotelsantoamaro.com/en/hotel.html">Hotel</a>
2535                            
2536                                <a href="https://www.hotelsantoamaro.com/en/gallery.html">Gallery</a>
2537                            
2538                                <a href="https://www.hotelsantoamaro.com/en/rooms.html">Rooms</a>
2539                            
2540                                <a href="https://www.hotelsantoamaro.com/en/restaurant.html">Restaurant</a>
2541                            
2542                                <a href="https://www.hotelsantoamaro.com/en/services.html">Services</a>
2543                            
2544                                <a href="https://www.hotelsantoamaro.com/en/fatima.html">Fátima</a>
2545                            
2546                                <a href="https://www.hotelsantoamaro.com/en/my-bookings.html">My bookings</a>
2547                            
2548                                <a href="https://www.hotelsantoamaro.com/en/offers.html">Offers</a>
2549                            
2550                                <a href="https://www.hotelsantoamaro.com/en/how-to-get-here.html">How to get here</a>
2551                            
2552                        </div>
2553                    
2554                    
2555                </div>
2556            
2557        </div>
2558    
2559    <div class="footer_legal_text_wrapper">
2560        <div class="footer_links_wrapper">
2561            
2562                
2563                    <a href="/en/?sectionContent=condiciones-de-reserva.html"
2564                    class="myFancyPopup fancybox.iframe">Booking conditions</a> |
2565                
2566            
2567                
2568                    <a href="/en/?sectionContent=politica-de-cookies.html"
2569                    class="myFancyPopup fancybox.iframe">Cookies policy</a> |
2570                
2571            
2572                
2573                    <a href="/en/?sectionContent=politica-de-privacidad.html"
2574                    class="myFancyPopup fancybox.iframe">Privacy Policy</a> |
2575                
2576            
2577                
2578                    <a href="javascript:cookiesController.open_cookies_banner()">Manage cookies</a> |
2579                
2580            
2581            <a target="_blank" href="https://www.paratytech.com/motor-de-reservas.html"
2582               title="Booking engine">Booking engine</a> |
2583            <a target="_blank" href="/sitemap.xml" title="">Site Map</a> |
2584            <a target="_blank" href="/rss.xml">RSS</a>
2585            
2586                
2587                    
2588                        
2589                          | <a href="alternative-dispute-resolution.html">RAL</a>
2590                        
2591                    
2592                
2593             
2594        </div>
2595
2596
2597
2598        
2599            <div class="legal_text"><br>
2600<a href="https://www.livroreclamacoes.pt/inicio" target="_blank"><img src="https://storage.googleapis.com/cdn.paraty.es/sa-amaro/files/i006572.png"></a><br>
2601<br>
2602<p>
2603&copy; 2026 Hotel Santo Amaro - All rights reserved | RNET 1475</p></div>
2604        
2605    </div>
2606</footer>
2607
2608
2609    
vendor: 6,195 bytes, lines 2609-2749
2609<script>(function (r, G, f, v) {
2610    var J = f("html"), n = f(r), p = f(G), b = f.fancybox = function () {
2611        b.open.apply(this, arguments)
2612    }, I = navigator.userAgent.match(/msie/i), B = null, s = G.createTouch !== v, t = function (a) {
2613        return a && a.hasOwnProperty && a instanceof f
2614    }, q = function (a) {
2615        return a && "string" === f.type(a)
2616    }, E = function (a) {
2617        return q(a) && 0 < a.indexOf("%")
2618    }, l = function (a, d) {
2619        var e = parseInt(a, 10) || 0;
2620        d && E(a) && (e *= b.getViewport()[d] / 100);
2621        return Math.ceil(e)
2622    }, w = function (a, b) {
2623        return l(a, b) + "px"
2624    };
2625    f.extend(b, {
2626        version: "2.1.5",
2627        defaults: {
2628            padding: 15,
2629            margin: 20,
2630            width: 800,
2631            height: 600,
2632            minWidth: 100,
2633            minHeight: 100,
2634            maxWidth: 9999,
2635            maxHeight: 9999,
2636            pixelRatio: 1,
2637            autoSize: !0,
2638            autoHeight: !1,
2639            autoWidth: !1,
2640            autoResize: !0,
2641            autoCenter: !s,
2642            fitToView: !0,
2643            aspectRatio: !1,
2644            topRatio: 0.5,
2645            leftRatio: 0.5,
2646            scrolling: "auto",
2647            wrapCSS: "",
2648            arrows: !0,
2649            closeBtn: !0,
2650            closeClick: !1,
2651            nextClick: !1,
2652            mouseWheel: !0,
2653            autoPlay: !1,
2654            playSpeed: 3E3,
2655            preload: 3,
2656            modal: !1,
2657            loop: !0,
2658            ajax: {dataType: "html", headers: {"X-fancyBox": !0}},
2659            iframe: {scrolling: "auto", preload: !0},
2660            swf: {wmode: "transparent", allowfullscreen: "true", allowscriptaccess: "always"},
2661            keys: {
2662                next: {13: "left", 34: "up", 39: "left", 40: "up"},
2663                prev: {8: "right", 33: "down", 37: "right", 38: "down"},
2664                close: [27],
2665                play: [32],
2666                toggle: [70]
2667            },
2668            direction: {next: "left", prev: "right"},
2669            scrollOutside: !0,
2670            index: 0,
2671            type: null,
2672            href: null,
2673            content: null,
2674            title: null,
2675            tpl: {
2676                wrap: '<div class="fancybox-wrap" tabIndex="-1"><div class="fancybox-skin"><div class="fancybox-outer"><div class="fancybox-inner"></div></div></div></div>',
2677                image: '<img class="fancybox-image" src="{href}" alt="" />',
2678                iframe: '<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen' + (I ? ' allowtransparency="true"' : "") + "></iframe>",
2679                error: '<p class="fancybox-error">The requested content cannot be loaded.<br/>Please try again later.</p>',
2680                closeBtn: '<a title="Close" class="fancybox-item fancybox-close" href="javascript:;"></a>',
2681                next: '<a title="Next" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',
2682                prev: '<a title="Previous" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>'
2683            },
2684            openEffect: "fade",
2685            openSpeed: 250,
2686            openEasing: "swing",
2687            openOpacity: !0,
2688            openMethod: "zoomIn",
2689            closeEffect: "fade",
2690            closeSpeed: 250,
2691            closeEasing: "swing",
2692            closeOpacity: !0,
2693            closeMethod: "zoomOut",
2694            nextEffect: "elastic",
2695            nextSpeed: 250,
2696            nextEasing: "swing",
2697            nextMethod: "changeIn",
2698            prevEffect: "elastic",
2699            prevSpeed: 250,
2700            prevEasing: "swing",
2701            prevMethod: "changeOut",
2702            helpers: {overlay: !0, title: !0},
2703            onCancel: f.noop,
2704            beforeLoad: f.noop,
2705            afterLoad: f.noop,
2706            beforeShow: f.noop,
2707            afterShow: f.noop,
2708            beforeChange: f.noop,
2709            beforeClose: f.noop,
2710            afterClose: f.noop
2711        },
2712        group: {},
2713        opts: {},
2714        previous: null,
2715        coming: null,
2716        current: null,
2717        isActive: !1,
2718        isOpen: !1,
2719        isOpened: !1,
2720        wrap: null,
2721        skin: null,
2722        outer: null,
2723        inner: null,
2724        player: {timer: null, isActive: !1},
2725        ajaxLoad: null,
2726        imgPreload: null,
2727        transitions: {},
2728        helpers: {},
2729        open: function (a, d) {
2730            if (a && (f.isPlainObject(d) || (d = {}), !1 !== b.close(!0))) return f.isArray(a) || (a = t(a) ? f(a).get() : [a]), f.each(a, function (e, c) {
2731                var k = {}, g, h, j, m, l;
2732                "object" === f.type(c) && (c.nodeType && (c = f(c)), t(c) ? (k = {
2733                    href: c.data("fancybox-href") || c.attr("href"),
2734                    title: c.data("fancybox-title") || c.attr("title"),
2735                    isDom: !0,
2736                    element: c
2737                }, f.metadata && f.extend(!0, k, c.metadata())) : k = c);
2738                g = d.href || k.href || (q(c) ? c : null);
2739                h = d.title !== v ? d.title : k.title || "";
2740                m = (j = d.content || k.content) ? "html" : d.type || k.type;
2741                !m && k.isDom && (m = c.data("fancybox-type"), m || (m = (m = c.prop("class").match(/fancybox\.(\w+)/)) ? m[1] : null));
2742                q(g) && (m || (b.isImage(g) ? m = "image" : b.isSWF(g) ? m = "swf" : "#" === g.charAt(0) ? m = "inline" : q(c) && (m = "html", j = c)), "ajax" === m && (l = g.split(/\s+/, 2), g = l.shift(), l = l.shift()));
2743                j || ("inline" === m ? g ? j = f(q(g) ? g.replace(/.*(?=#[^\s]+$)/, "") : g) : k.isDom && (j = c) : "html" === m ? j = g : !m && (!g && k.isDom) && (m = "inline", j = c));
2744                f.extend(k, {href: g, type: m, content: j, title: h, selector: l});
2745                a[e] = k
2746            }), b.opts = f.extend(!0, {}, b.defaults, d), d.keys !== v && (b.opts.keys = d.keys ? f.extend({}, b.defaults.keys, d.keys) : !1), b.group = a, b._start(b.opts.index)
2747        },
2748        cancel: function () {
2749            var a = b.coming;
2750            a && !1 !== b.trigger("onCancel") && (b.hideLoading(), b.ajaxLoad && b.ajaxLoad.abort(), b.ajaxLoad = null, b.imgPreload && (b.imgPreload.onload = b.imgPreload.onerror = null), a.wrap && a.wrap.stop(!0, !0).trigger("onReset").remove(), b.coming = null, b.current || b._afterZoomOut(a))
2751        },
2752        close: function (a) {
2753            b.cancel();
2754            !1 !== b.trigger("beforeClose") && (b.unbindEvents(), b.isActive && (!b.isOpen || !0 === a ? (f(".fancybox-wrap").stop(!0).trigger("onReset").remove(), b._afterZoomOut()) : (b.isOpen = b.isOpened = !1, b.isClosing = !0, f(".fancybox-item, .fancybox-nav").remove(), b.wrap.stop(!0, !0).removeClass("fancybox-opened"), b.transitions[b.current.closeMethod]())))
2755        },
2756        play: function (a) {
2757            var d = function () {
2758                clearTimeout(b.player.timer)
2759            }, e = function () {
2760                d();
2761                b.current && b.player.isActive && (b.player.timer = setTimeout(b.next, b.current.playSpeed))
2762            }, c = function () {
2763                d();
2764                p.unbind(".player");
2765                b.player.isActive = !1;
2766                b.trigger("onPlayEnd")
2767            };
2768            if (!0 === a || !b.player.isActive && !1 !== a) {
2769                if (b.current && (b.current.loop || b.current.index < b.group.length - 1)) b.player.isActive = !0, p.bind({
2770                    "onCancel.player beforeClose.player": c,
2771                    "onUpdate.player": e,
2772                    "beforeLoad.player": d
2773                }), e(), b.trigger("onPlayStart")
2774            } else c()
2775        },
2776        next: function (a) {
2777            var d = b.current;
2778            d && (q(a) || (a = d.direction.next), b.jumpto(d.index + 1, a, "next"))
2779        },
2780        prev: function (a) {
2781            var d = b.current;
2782            d && (q(a) || (a = d.direction.prev), b.jumpto(d.index - 1, a, "prev"))
2783        },
2784        jumpto: function (a, d, e) {
2785            var c = b.current;
2786            c && (a = l(a), b.direction = d || c.direction[a >= c.index ? "next" : "prev"], b.router = e || "jumpto", c.loop && (0 > a && (a = c.group.length + a % c.group.length), a %= c.group.length), c.group[a] !== v && (b.cancel(), b._start(a)))
2787        },
2788        reposition: function (a, d) {
2789            var e = b.current, c = e ? e.wrap : null, k;
2790            c && (k = b._getPosition(d), a && "scroll" === a.type ? (delete k.position, c.stop(!0, !0).animate(k, 200)) : (c.css(k), e.pos = f.extend({}, e.dim, k)))
2791        },
2792        update: function (a) {
2793            var d = a && a.type, e = !d || "orientationchange" === d;
2794            e && (clearTimeout(B), B = null);
2795            b.isOpen && !B && (B = setTimeout(function () {
2796                var c = b.current;
2797                c && !b.isClosing && (b.wrap.removeClass("fancybox-tmp"), (e || "load" === d || "resize" === d && c.autoResize) && b._setDimension(), "scroll" === d && c.canShrink || b.reposition(a), b.trigger("onUpdate"), B = null)
2798            }, e && !s ? 0 : 300))
2799        },
2800        toggle: function (a) {
2801            b.isOpen && (b.current.fitToView = "boolean" === f.type(a) ? a : !b.current.fitToView, s && (b.wrap.removeAttr("style").addClass("fancybox-tmp"), b.trigger("onUpdate")), b.update())
2802        },
2803        hideLoading: function () {
2804            p.unbind(".loading");
2805            f("#fancybox-loading").remove()
2806        },
2807        showLoading: function () {
2808            var a, d;
2809            b.hideLoading();
2810            a = f('<div id="fancybox-loading"><div></div></div>').click(b.cancel).appendTo("body");
2811            p.bind("keydown.loading", function (a) {
2812                if (27 === (a.which || a.keyCode)) a.preventDefault(), b.cancel()
2813            });
2814            b.defaults.fixed || (d = b.getViewport(), a.css({
2815                position: "absolute",
2816                top: 0.5 * d.h + d.y,
2817                left: 0.5 * d.w + d.x
2818            }))
2819        },
2820        getViewport: function () {
2821            var a = b.current && b.current.locked || !1, d = {x: n.scrollLeft(), y: n.scrollTop()};
2822            a ? (d.w = a[0].clientWidth, d.h = a[0].clientHeight) : (d.w = s && r.innerWidth ? r.innerWidth : n.width(), d.h = s && r.innerHe
vendor: 17,143 bytes, lines 2822-3128
2822ight ? r.innerHeight : n.height());
2823            return d
2824        },
2825        unbindEvents: function () {
2826            b.wrap && t(b.wrap) && b.wrap.unbind(".fb");
2827            p.unbind(".fb");
2828            n.unbind(".fb")
2829        },
2830        bindEvents: function () {
2831            var a = b.current, d;
2832            a && (n.bind("orientationchange.fb" + (s ? "" : " resize.fb") + (a.autoCenter && !a.locked ? " scroll.fb" : ""), b.update), (d = a.keys) && p.bind("keydown.fb", function (e) {
2833                var c = e.which || e.keyCode, k = e.target || e.srcElement;
2834                if (27 === c && b.coming) return !1;
2835                !e.ctrlKey && (!e.altKey && !e.shiftKey && !e.metaKey && (!k || !k.type && !f(k).is("[contenteditable]"))) && f.each(d, function (d, k) {
2836                    if (1 < a.group.length && k[c] !== v) return b[d](k[c]), e.preventDefault(), !1;
2837                    if (-1 < f.inArray(c, k)) return b[d](), e.preventDefault(), !1
2838                })
2839            }), f.fn.mousewheel && a.mouseWheel && b.wrap.bind("mousewheel.fb", function (d, c, k, g) {
2840                for (var h = f(d.target || null), j = !1; h.length && !j && !h.is(".fancybox-skin") && !h.is(".fancybox-wrap");) j = h[0] && !(h[0].style.overflow && "hidden" === h[0].style.overflow) && (h[0].clientWidth && h[0].scrollWidth > h[0].clientWidth || h[0].clientHeight && h[0].scrollHeight > h[0].clientHeight), h = f(h).parent();
2841                if (0 !== c && !j && 1 < b.group.length && !a.canShrink) {
2842                    if (0 < g || 0 < k) b.prev(0 < g ? "down" : "left"); else if (0 > g || 0 > k) b.next(0 > g ? "up" : "right");
2843                    d.preventDefault()
2844                }
2845            }))
2846        },
2847        trigger: function (a, d) {
2848            var e, c = d || b.coming || b.current;
2849            if (c) {
2850                f.isFunction(c[a]) && (e = c[a].apply(c, Array.prototype.slice.call(arguments, 1)));
2851                if (!1 === e) return !1;
2852                c.helpers && f.each(c.helpers, function (d, e) {
2853                    if (e && b.helpers[d] && f.isFunction(b.helpers[d][a])) b.helpers[d][a](f.extend(!0, {}, b.helpers[d].defaults, e), c)
2854                });
2855                p.trigger(a)
2856            }
2857        },
2858        isImage: function (a) {
2859            return q(a) && a.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i)
2860        },
2861        isSWF: function (a) {
2862            return q(a) && a.match(/\.(swf)((\?|#).*)?$/i)
2863        },
2864        _start: function (a) {
2865            var d = {}, e, c;
2866            a = l(a);
2867            e = b.group[a] || null;
2868            if (!e) return !1;
2869            d = f.extend(!0, {}, b.opts, e);
2870            e = d.margin;
2871            c = d.padding;
2872            "number" === f.type(e) && (d.margin = [e, e, e, e]);
2873            "number" === f.type(c) && (d.padding = [c, c, c, c]);
2874            d.modal && f.extend(!0, d, {
2875                closeBtn: !1,
2876                closeClick: !1,
2877                nextClick: !1,
2878                arrows: !1,
2879                mouseWheel: !1,
2880                keys: null,
2881                helpers: {overlay: {closeClick: !1}}
2882            });
2883            d.autoSize && (d.autoWidth = d.autoHeight = !0);
2884            "auto" === d.width && (d.autoWidth = !0);
2885            "auto" === d.height && (d.autoHeight = !0);
2886            d.group = b.group;
2887            d.index = a;
2888            b.coming = d;
2889            if (!1 === b.trigger("beforeLoad")) b.coming = null; else {
2890                c = d.type;
2891                e = d.href;
2892                if (!c) return b.coming = null, b.current && b.router && "jumpto" !== b.router ? (b.current.index = a, b[b.router](b.direction)) : !1;
2893                b.isActive = !0;
2894                if ("image" === c || "swf" === c) d.autoHeight = d.autoWidth = !1, d.scrolling = "visible";
2895                "image" === c && (d.aspectRatio = !0);
2896                "iframe" === c && s && (d.scrolling = "scroll");
2897                d.wrap = f(d.tpl.wrap).addClass("fancybox-" + (s ? "mobile" : "desktop") + " fancybox-type-" + c + " fancybox-tmp " + d.wrapCSS).appendTo(d.parent || "body");
2898                f.extend(d, {
2899                    skin: f(".fancybox-skin", d.wrap),
2900                    outer: f(".fancybox-outer", d.wrap),
2901                    inner: f(".fancybox-inner", d.wrap)
2902                });
2903                f.each(["Top", "Right", "Bottom", "Left"], function (a, b) {
2904                    d.skin.css("padding" + b, w(d.padding[a]))
2905                });
2906                b.trigger("onReady");
2907                if ("inline" === c || "html" === c) {
2908                    if (!d.content || !d.content.length) return b._error("content")
2909                } else if (!e) return b._error("href");
2910                "image" === c ? b._loadImage() : "ajax" === c ? b._loadAjax() : "iframe" === c ? b._loadIframe() : b._afterLoad()
2911            }
2912        },
2913        _error: function (a) {
2914            f.extend(b.coming, {
2915                type: "html",
2916                autoWidth: !0,
2917                autoHeight: !0,
2918                minWidth: 0,
2919                minHeight: 0,
2920                scrolling: "no",
2921                hasError: a,
2922                content: b.coming.tpl.error
2923            });
2924            b._afterLoad()
2925        },
2926        _loadImage: function () {
2927            var a = b.imgPreload = new Image;
2928            a.onload = function () {
2929                this.onload = this.onerror = null;
2930                b.coming.width = this.width / b.opts.pixelRatio;
2931                b.coming.height = this.height / b.opts.pixelRatio;
2932                b._afterLoad()
2933            };
2934            a.onerror = function () {
2935                this.onload = this.onerror = null;
2936                b._error("image")
2937            };
2938            a.src = b.coming.href;
2939            !0 !== a.complete && b.showLoading()
2940        },
2941        _loadAjax: function () {
2942            var a = b.coming;
2943            b.showLoading();
2944            b.ajaxLoad = f.ajax(f.extend({}, a.ajax, {
2945                url: a.href, error: function (a, e) {
2946                    b.coming && "abort" !== e ? b._error("ajax", a) : b.hideLoading()
2947                }, success: function (d, e) {
2948                    "success" === e && (a.content = d, b._afterLoad())
2949                }
2950            }))
2951        },
2952        _loadIframe: function () {
2953            var a = b.coming,
2954                d = f(a.tpl.iframe.replace(/\{rnd\}/g, (new Date).getTime())).attr("scrolling", s ? "auto" : a.iframe.scrolling).attr("src", a.href);
2955            f(a.wrap).bind("onReset", function () {
2956                try {
2957                    f(this).find("iframe").hide().attr("src", "//about:blank").end().empty()
2958                } catch (a) {
2959                }
2960            });
2961            a.iframe.preload && (b.showLoading(), d.one("load", function () {
2962                f(this).data("ready", 1);
2963                s || f(this).bind("load.fb", b.update);
2964                f(this).parents(".fancybox-wrap").width("100%").removeClass("fancybox-tmp").show();
2965                b._afterLoad()
2966            }));
2967            a.content = d.appendTo(a.inner);
2968            a.iframe.preload || b._afterLoad()
2969        },
2970        _preloadImages: function () {
2971            var a = b.group, d = b.current, e = a.length, c = d.preload ? Math.min(d.preload, e - 1) : 0, f, g;
2972            for (g = 1; g <= c; g += 1) f = a[(d.index + g) % e], "image" === f.type && f.href && ((new Image).src = f.href)
2973        },
2974        _afterLoad: function () {
2975            var a = b.coming, d = b.current, e, c, k, g, h;
2976            b.hideLoading();
2977            if (a && !1 !== b.isActive) if (!1 === b.trigger("afterLoad", a, d)) a.wrap.stop(!0).trigger("onReset").remove(), b.coming = null; else {
2978                d && (b.trigger("beforeChange", d), d.wrap.stop(!0).removeClass("fancybox-opened").find(".fancybox-item, .fancybox-nav").remove());
2979                b.unbindEvents();
2980                e = a.content;
2981                c = a.type;
2982                k = a.scrolling;
2983                f.extend(b, {wrap: a.wrap, skin: a.skin, outer: a.outer, inner: a.inner, current: a, previous: d});
2984                g = a.href;
2985                switch (c) {
2986                    case "inline":
2987                    case "ajax":
2988                    case "html":
2989                        a.selector ? e = f("<div>").html(e).find(a.selector) : t(e) && (e.data("fancybox-placeholder") || e.data("fancybox-placeholder", f('<div class="fancybox-placeholder"></div>').insertAfter(e).hide()), e = e.show().detach(), a.wrap.bind("onReset", function () {
2990                            f(this).find(e).length && e.hide().replaceAll(e.data("fancybox-placeholder")).data("fancybox-placeholder", !1)
2991                        }));
2992                        break;
2993                    case "image":
2994                        e = a.tpl.image.replace("{href}", g);
2995                        break;
2996                    case "swf":
2997                        e = '<object id="fancybox-swf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="movie" value="' + g + '"></param>', h = "", f.each(a.swf, function (a, b) {
2998                            e += '<param name="' + a + '" value="' + b + '"></param>';
2999                            h += " " + a + '="' + b + '"'
3000                        }), e += '<embed src="' + g + '" type="application/x-shockwave-flash" width="100%" height="100%"' + h + "></embed></object>"
3001                }
3002                (!t(e) || !e.parent().is(a.inner)) && a.inner.append(e);
3003                b.trigger("beforeShow");
3004                a.inner.css("overflow", "yes" === k ? "scroll" : "no" === k ? "hidden" : k);
3005                b._setDimension();
3006                b.reposition();
3007                b.isOpen = !1;
3008                b.coming = null;
3009                b.bindEvents();
3010                if (b.isOpened) {
3011                    if (d.prevMethod) b.transitions[d.prevMethod]()
3012                } else f(".fancybox-wrap").not(a.wrap).stop(!0).trigger("onReset").remove();
3013                b.transitions[b.isOpened ? a.nextMethod : a.openMethod]();
3014                b._preloadImages()
3015            }
3016        },
3017        _setDimension: function () {
3018            var a = b.getViewport(), d = 0, e = !1, c = !1, e = b.wrap, k = b.skin, g = b.inner, h = b.current,
3019                c = h.width, j = h.height, m = h.minWidth, u = h.minHeight, n = h.maxWidth, p = h.maxHeight,
3020                s = h.scrolling, q = h.scrollOutside ? h.scrollbarWidth : 0, x = h.margin, y = l(x[1] + x[3]),
3021                r = l(x[0] + x[2]), v, z, t, C, A, F, B, D, H;
3022            e.add(k).add(g).width("auto").height("auto").removeClass("fancybox-tmp");
3023            x = l(k.outerWidth(!0) - k.width());
3024            v = l(k.outerHeight(!0) - k.height());
3025            z = y + x;
3026            t = r + v;
3027            C = E(c) ? (a.w - z) * l(c) / 100 : c;
3028            A = E(j) ? (a.h - t) * l(j) / 100 : j;
3029            if ("iframe" === h.type) {
3030                if (H = h.content, h.autoHeight && 1 === H.data("ready")) try {
3031                    H[0].contentWindow.document.location && (g.width(C).height(9999), F = H.contents().find("body"), q && F.css("overflow-x", "hidden"), A = F.outerHeight(!0))
3032                } catch (G) {
3033                }
3034            } else if (h.autoWidth || h.autoHeight) g.addClass("fancybox-tmp"), h.autoWidth || g.width(C), h.autoHeight || g.height(A), h.autoWidth && (C = g.width()), h.autoHeight && (A = g.height()), g.removeClass("fancybox-tmp");
3035            c = l(C);
3036            j = l(A);
3037            D = C / A;
3038            m = l(E(m) ? l(m, "w") - z : m);
3039            n = l(E(n) ? l(n, "w") - z : n);
3040            u = l(E(u) ? l(u, "h") - t : u);
3041            p = l(E(p) ? l(p, "h") - t : p);
3042            F = n;
3043            B = p;
3044            h.fitToView && (n = Math.min(a.w - z, n), p = Math.min(a.h - t, p));
3045            z = a.w - y;
3046            r = a.h - r;
3047            h.aspectRatio ? (c > n && (c = n, j = l(c / D)), j > p && (j = p, c = l(j * D)), c < m && (c = m, j = l(c / D)), j < u && (j = u, c = l(j * D))) : (c = Math.max(m, Math.min(c, n)), h.autoHeight && "iframe" !== h.type && (g.width(c), j = g.height()), j = Math.max(u, Math.min(j, p)));
3048            if (h.fitToView) if (g.width(c).height(j), e.width(c + x), a = e.width(), y = e.height(), h.aspectRatio) for (; (a > z || y > r) && (c > m && j > u) && !(19 < d++);) j = Math.max(u, Math.min(p, j - 10)), c = l(j * D), c < m && (c = m, j = l(c / D)), c > n && (c = n, j = l(c / D)), g.width(c).height(j), e.width(c + x), a = e.width(), y = e.height(); else c = Math.max(m, Math.min(c, c - (a - z))), j = Math.max(u, Math.min(j, j - (y - r)));
3049            q && ("auto" === s && j < A && c + x + q < z) && (c += q);
3050            g.width(c).height(j);
3051            e.width(c + x);
3052            a = e.width();
3053            y = e.height();
3054            e = (a > z || y > r) && c > m && j > u;
3055            c = h.aspectRatio ? c < F && j < B && c < C && j < A : (c < F || j < B) && (c < C || j < A);
3056            f.extend(h, {
3057                dim: {width: w(a), height: w(y)},
3058                origWidth: C,
3059                origHeight: A,
3060                canShrink: e,
3061                canExpand: c,
3062                wPadding: x,
3063                hPadding: v,
3064                wrapSpace: y - k.outerHeight(!0),
3065                skinSpace: k.height() - j
3066            });
3067            !H && (h.autoHeight && j > u && j < p && !c) && g.height("auto")
3068        },
3069        _getPosition: function (a) {
3070            var d = b.current, e = b.getViewport(), c = d.margin, f = b.wrap.width() + c[1] + c[3],
3071                g = b.wrap.height() + c[0] + c[2], c = {position: "absolute", top: c[0], left: c[3]};
3072            d.autoCenter && d.fixed && !a && g <= e.h && f <= e.w ? c.position = "fixed" : d.locked || (c.top += e.y, c.left += e.x);
3073            c.top = w(Math.max(c.top, c.top + (e.h - g) * d.topRatio));
3074            c.left = w(Math.max(c.left, c.left + (e.w - f) * d.leftRatio));
3075            return c
3076        },
3077        _afterZoomIn: function () {
3078            var a = b.current;
3079            a && (b.isOpen = b.isOpened = !0, b.wrap.css("overflow", "visible").addClass("fancybox-opened"), b.update(), (a.closeClick || a.nextClick && 1 < b.group.length) && b.inner.css("cursor", "pointer").bind("click.fb", function (d) {
3080                !f(d.target).is("a") && !f(d.target).parent().is("a") && (d.preventDefault(), b[a.closeClick ? "close" : "next"]())
3081            }), a.closeBtn && f(a.tpl.closeBtn).appendTo(b.skin).bind("click.fb", function (a) {
3082                a.preventDefault();
3083                b.close()
3084            }), a.arrows && 1 < b.group.length && ((a.loop || 0 < a.index) && f(a.tpl.prev).appendTo(b.outer).bind("click.fb", b.prev), (a.loop || a.index < b.group.length - 1) && f(a.tpl.next).appendTo(b.outer).bind("click.fb", b.next)), b.trigger("afterShow"), !a.loop && a.index === a.group.length - 1 ? b.play(!1) : b.opts.autoPlay && !b.player.isActive && (b.opts.autoPlay = !1, b.play()))
3085        },
3086        _afterZoomOut: function (a) {
3087            a = a || b.current;
3088            f(".fancybox-wrap").trigger("onReset").remove();
3089            f.extend(b, {
3090                group: {},
3091                opts: {},
3092                router: !1,
3093                current: null,
3094                isActive: !1,
3095                isOpened: !1,
3096                isOpen: !1,
3097                isClosing: !1,
3098                wrap: null,
3099                skin: null,
3100                outer: null,
3101                inner: null
3102            });
3103            b.trigger("afterClose", a)
3104        }
3105    });
3106    b.transitions = {
3107        getOrigPosition: function () {
3108            var a = b.current, d = a.element, e = a.orig, c = {}, f = 50, g = 50, h = a.hPadding, j = a.wPadding,
3109                m = b.getViewport();
3110            !e && (a.isDom && d.is(":visible")) && (e = d.find("img:first"), e.length || (e = d));
3111            t(e) ? (c = e.offset(), e.is("img") && (f = e.outerWidth(), g = e.outerHeight())) : (c.top = m.y + (m.h - g) * a.topRatio, c.left = m.x + (m.w - f) * a.leftRatio);
3112            if ("fixed" === b.wrap.css("position") || a.locked) c.top -= m.y, c.left -= m.x;
3113            return c = {
3114                top: w(c.top - h * a.topRatio),
3115                left: w(c.left - j * a.leftRatio),
3116                width: w(f + j),
3117                height: w(g + h)
3118            }
3119        }, step: function (a, d) {
3120            var e, c, f = d.prop;
3121            c = b.current;
3122            var g = c.wrapSpace, h = c.skinSpace;
3123            if ("width" === f || "height" === f) e = d.end === d.start ? 1 : (a - d.start) / (d.end - d.start), b.isClosing && (e = 1 - e), c = "width" === f ? c.wPadding : c.hPadding, c = a - c, b.skin[f](l("width" === f ? c : c - g * e)), b.inner[f](l("width" === f ? c : c - g * e - h * e))
3124        }, zoomIn: function () {
3125            var a = b.current, d = a.pos, e = a.openEffect, c = "elastic" === e, k = f.extend({opacity: 1}, d);
3126            delete k.position;
3127            c ? (d = this.getOrigPosition(), a.openOpacity && (d.opacity = 0.1)) : "fade" === e && (d.opacity = 0.1);
3128            b.wrap.css(d).animate(k, {
3129                duration: "none" === e ? 0 : a.openSpeed,
3130                easing: a.openEasing,
3131                step: c ? this.step : null,
3132                complete: b._afterZoomIn
3133            })
3134        }, zoomOut: function () {
3135            var a = b.current, d = a.closeEffect, e = "elastic" === d, c = {opacity: 0.1};
3136            e && (c = this.getOrigPosition(), a.closeOpacity && (c.opacity = 0.1));
3137            b.wrap.animate(c, {
3138                duration: "none" === d ? 0 : a.closeSpeed,
3139                easing: a.closeEasing,
3140                step: e ? this.step : null,
3141                complete: b._afterZoomOut
3142            })
3143        }, changeIn: function () {
3144            var a = b.current, d = a.nextEffect, e = a.pos, c = {opacity: 1}, f = b.direction, g;
3145            e.opacity = 0.1;
3146            "elastic" === d && (g = "down" === f || "up" === f ? "top" : "left", "down" === f || "right" === f ? (e[g] = w(l(e[g]) - 200), c[g] = "+=200px") : (e[g] = w(l(e[g]) + 200), c[g] = "-=200px"));
3147            "none" === d ? b._afterZoomIn() : b.wrap.css(e).animate(c, {
3148                duration: a.nextSpeed,
3149                easing: a.nextEasing,
3150                complete: b._afterZoomIn
3151            })
3152        }, changeOut: function () {
3153            var a = b.previous, d = a.prevEffect, e = {opacity: 0.1}, c = b.direction;
3154            "elastic" === d && (e["down" === c || "up" === c ? "top" : "left"] = ("up" === c || "left" === c ? "-" : "+") + "=200px");
3155            a.wrap.animate(e, {
3156                duration: "none" === d ? 0 : a.prevSpeed, easing: a.prevEasing, complete: function () {
3157                    f(this).trigger("onReset").remove()
3158                }
3159            })
3160        }
3161    };
3162    b.helpers.overlay = {
3163        defaults: {closeClick: !0, speedOut: 200, showEarly: !0, css: {}, locked: !s, fixed: !0},
3164        overlay: null,
3165        fixed: !1,
3166        el: f("html"),
3167        create: function (a) {
3168            a = f.extend({}, this.defaults, a);
3169            this.overlay && this.close();
3170            this.overlay = f('<div class="fancybox-overlay"></div>').appendTo(b.coming ? b.coming.parent : a.parent);
3171            this.fixed = !1;
3172            a.fixed && b.defaults.fixed && (this.overlay.addClass("fancybox-overlay-fixed"), this.fixed = !0)
3173        },
3174        open: function (a) {
3175            var d = this;
3176            a = f.extend({}, this.defaults, a);
3177            this.overlay ? this.overlay.unbind(".overlay").width("auto").height("auto") : this.create(a);
3178            this.fixed || (n.bind("resize.overlay", f.proxy(this.update, this)), this.update());
3179            a.closeClick && this.overlay.bind("click.overlay", function (a) {
3180                if (f(a.target).hasClass("fancybox-overlay")) return b.isActive ? b.close() : d.close(), !1
3181            });
3182            this.overlay.css(a.css).show()
3183        },
3184        close: function () {
3185            var a, b;
3186            n.unbind("resize.overlay");
3187            this.el.hasClass("fancybox-lock") && (f(".fancybox-margin").removeClass("fancybox-margin"), a = n.scrollTop(), b = n.scrollLeft(), this.el.removeClass("fancybox-lock"), n.scrollTop(a).scrollLeft(b));
3188            f(".fancybox-overlay").remove().hide();
3189            f.extend(this, {overlay: null, fixed: !1})
3190        },
3191        update: function () {
3192            var a = "100%", b;
3193            this.overlay.width(a).height("100%");
3194            I ? (b = Math.max(G.documentElement.offsetWidth, G.body.offsetWidth), p.width() > b && (a = p.width())) : p.width() > n.width() && (a = p.width());
3195            this.overlay.width(a).height(p.height())
3196        },
3197        onReady: function (a, b) {
3198            var e = this.overlay;
3199            f(".fancybox-overlay").stop(!0, !0);
3200            e || this.create(a);
3201            a.locked && (this.fixed && b.fixed) && (e || (this.margin = p.height() > n.height() ? f("html").css("margin-right").replace("px", "") : !1), b.locked = this.overlay.append(b.wrap), b.fixed = !1);
3202            !0 === a.showEarly && this.beforeShow.apply(this, arguments)
3203        },
3204        beforeShow: function (a, b) {
3205            var e, c;
3206            b.locked && (!1 !== this.margin && (f("*:not(object)").filter(function () {
3207                return "fixed" === f(this).css("position") && !f(this).hasClass("fancybox-overlay") && !f(this).hasClass("fancybox-wrap")
3208            }).addClass("fancybox-margin"), this.el.addClass("fancybox-margin")), e = n.scrollTop(), c = n.scrollLeft(), this.el.addClass("fancybox-lock"), n.scrollTop(e).scrollLeft(c));
3209            this.open(a)
3210        },
3211        onUpdate: function () {
3212            this.fixed || this.update()
3213        },
3214        afterClose: function (a) {
3215            this.overlay && !b.coming && this.overlay.fadeOut(a.speedOut, f.proxy(this.close, this))
3216        }
3217    };
3218    b.helpers.title = {
3219        defaults: {type: "float", position: "bottom"}, beforeShow: function (a) {
3220            var d = b.current, e = d.title, c = a.type;
3221            f.isFunction(e) && (e = e.call(d.element, d));
3222            if (q(e) && "" !== f.trim(e)) {
3223                d = f('<div class="fancybox-title fancybox-title-' + c + '-wrap">' + e + "</div>");
3224                switch (c) {
3225                    case "inside":
3226                        c = b.skin;
3227                        break;
3228                    case "outside":
3229                        c = b.wrap;
3230                        break;
3231                    case "over":
3232                        c = b.inner;
3233                        break;
3234                    default:
3235                        c = b.skin, d.appendTo("body"), I && d.width(d.width()), d.wrapInner('<span class="child"></span>'), b.current.margin[2] += Math.abs(l(d.css("margin-bottom")))
3236                }
3237                d["top" === a.position ? "prependTo" : "appendTo"](c)
3238            }
3239        }
3240    };
3241    f.fn.fancybox = function (a) {
3242        var d, e = f(this), c = this.selector || "", k = function (g) {
3243            var h = f(this).blur(), j = d, k, l;
3244            !g.ctrlKey && (!g.altKey && !g.shiftKey && !g.metaKey) && !h.is(".fancybox-wrap") && (k = a.groupAttr || "data-fancybox-group", l = h.attr(k), l || (k = "rel", l = h.get(0)[k]), l && ("" !== l && "nofollow" !== l) && (h = c.length ? f(c) : e, h = h.filter("[" + k + '="' + l + '"]'), j = h.index(this)), a.index = j, !1 !== b.open(h, a) && g.preventDefault())
3245        };
3246        a = a || {};
3247        d = a.index || 0;
3248        !c || !1 === a.live ? e.unbind("click.fb-start").bind("click.fb-start", k) : p.undelegate(c, "click.fb-start").delegate(c + ":not('.fancybox-item, .fancybox-nav')", "click.fb-start", k);
3249        this.filter("[data-fancybox-start=1]").trigger("click");
3250        return this
3251    };
3252    p.ready(function () {
3253        var a, d;
3254        f.scrollbarWidth === v && (f.scrollbarWidth = function () {
3255            var a = f('<div style="width:50px;height:50px;overflow:auto"><div/></div>').appendTo("body"),
3256                b = a.children(), b = b.innerWidth() - b.height(99).innerWidth();
3257            a.remove();
3258            return b
3259        });
3260        if (f.support.fixedPosition === v) {
3261            a = f.support;
3262            d = f('<div style="position:fixed;top:20px;"></div>').appendTo("body");
3263            var e = 20 === d[0].offsetTop || 15 === d[0].offsetTop;
3264            d.remove();
3265            a.fixedPosition = e
3266        }
3267        f.extend(b.defaults, {scrollbarWidth: f.scrollbarWidth(), fixed: f.support.fixedPosition, parent: f("body")});
3268        a = f(r).width();
3269        J.addClass("fancybox-lock-test");
3270        d = f(r).width();
3271        J.removeClass("fancybox-lock-test");
3272        f("<style type='text/css'>.fancybox-margin{margin-right:" + (d - a) + "px;}</style>").appendTo("head")
3273    })
3274})(window, document, jQuery);</script>
3274<script>(function($) {var __slice=Array.prototype.slice;var i18n={dict:null,load:function(i18n_dict){if(this.dict!==null){$.extend(this.dict,i18n_dict);}else{this.dict=i18n_dict;}},_:function(str) {dict=this.dict;if(dict&&dict.hasOwnProperty(str)){str=dict[str];}args=__slice.call(arguments);args[0]=str;return this.printf.apply(this, args);},printf:function(str,args){if(arguments.length<2)return str;args=$.isArray(args)?args:__slice.call(arguments,1);return str.replace(/([^%]|^)%(?:(\d+)\$)?s/g,function(p0,p,position){if(position){return p+args[parseInt(position)-1];}return p+args.shift();}).replace(/%%s/g,'%s');}};$.fn._t=function(str,params){return $(this).html(i18n._.apply(i18n,arguments));};$.i18n=i18n;})(jQuery);</script>
vendor: 4,487 bytes, lines 3274-3435
3274<script>
3275(function( $, undefined ) {
3276var uuid = 0,
3277	runiqueId = /^ui-id-\d+$/;
3278$.ui = $.ui || {};
3279$.extend( $.ui, {
3280	version: "1.10.4",
3281	keyCode: {
3282		BACKSPACE: 8,
3283		COMMA: 188,
3284		DELETE: 46,
3285		DOWN: 40,
3286		END: 35,
3287		ENTER: 13,
3288		ESCAPE: 27,
3289		HOME: 36,
3290		LEFT: 37,
3291		NUMPAD_ADD: 107,
3292		NUMPAD_DECIMAL: 110,
3293		NUMPAD_DIVIDE: 111,
3294		NUMPAD_ENTER: 108,
3295		NUMPAD_MULTIPLY: 106,
3296		NUMPAD_SUBTRACT: 109,
3297		PAGE_DOWN: 34,
3298		PAGE_UP: 33,
3299		PERIOD: 190,
3300		RIGHT: 39,
3301		SPACE: 32,
3302		TAB: 9,
3303		UP: 38
3304	}
3305});
3306$.fn.extend({
3307	focus: (function( orig ) {
3308		return function( delay, fn ) {
3309			return typeof delay === "number" ?
3310				this.each(function() {
3311					var elem = this;
3312					setTimeout(function() {
3313						$( elem ).focus();
3314						if ( fn ) {
3315							fn.call( elem );
3316						}
3317					}, delay );
3318				}) :
3319				orig.apply( this, arguments );
3320		};
3321	})( $.fn.focus ),
3322	scrollParent: function() {
3323		var scrollParent;
3324		if (($.ui.ie && (/(static|relative)/).test(this.css("position"))) || (/absolute/).test(this.css("position"))) {
3325			scrollParent = this.parents().filter(function() {
3326				return (/(relative|absolute|fixed)/).test($.css(this,"position")) && (/(auto|scroll)/).test($.css(this,"overflow")+$.css(this,"overflow-y")+$.css(this,"overflow-x"));
3327			}).eq(0);
3328		} else {
3329			scrollParent = this.parents().filter(function() {
3330				return (/(auto|scroll)/).test($.css(this,"overflow")+$.css(this,"overflow-y")+$.css(this,"overflow-x"));
3331			}).eq(0);
3332		}
3333		return (/fixed/).test(this.css("position")) || !scrollParent.length ? $(document) : scrollParent;
3334	},
3335	zIndex: function( zIndex ) {
3336		if ( zIndex !== undefined ) {
3337			return this.css( "zIndex", zIndex );
3338		}
3339		if ( this.length ) {
3340			var elem = $( this[ 0 ] ), position, value;
3341			while ( elem.length && elem[ 0 ] !== document ) {
3342				position = elem.css( "position" );
3343				if ( position === "absolute" || position === "relative" || position === "fixed" ) {
3344					value = parseInt( elem.css( "zIndex" ), 10 );
3345					if ( !isNaN( value ) && value !== 0 ) {
3346						return value;
3347					}
3348				}
3349				elem = elem.parent();
3350			}
3351		}
3352		return 0;
3353	},
3354	uniqueId: function() {
3355		return this.each(function() {
3356			if ( !this.id ) {
3357				this.id = "ui-id-" + (++uuid);
3358			}
3359		});
3360	},
3361	removeUniqueId: function() {
3362		return this.each(function() {
3363			if ( runiqueId.test( this.id ) ) {
3364				$( this ).removeAttr( "id" );
3365			}
3366		});
3367	}
3368});
3369function focusable( element, isTabIndexNotNaN ) {
3370	var map, mapName, img,
3371		nodeName = element.nodeName.toLowerCase();
3372	if ( "area" === nodeName ) {
3373		map = element.parentNode;
3374		mapName = map.name;
3375		if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) {
3376			return false;
3377		}
3378		img = $( "img[usemap=#" + mapName + "]" )[0];
3379		return !!img && visible( img );
3380	}
3381	return ( /input|select|textarea|button|object/.test( nodeName ) ?
3382		!element.disabled :
3383		"a" === nodeName ?
3384			element.href || isTabIndexNotNaN :
3385			isTabIndexNotNaN) &&
3386		// the element and all of its ancestors must be visible
3387		visible( element );
3388}
3389function visible( element ) {
3390	return $.expr.filters.visible( element ) &&
3391		!$( element ).parents().addBack().filter(function() {
3392			return $.css( this, "visibility" ) === "hidden";
3393		}).length;
3394}
3395$.extend( $.expr[ ":" ], {
3396	data: $.expr.createPseudo ?
3397		$.expr.createPseudo(function( dataName ) {
3398			return function( elem ) {
3399				return !!$.data( elem, dataName );
3400			};
3401		}) :
3402		function( elem, i, match ) {
3403			return !!$.data( elem, match[ 3 ] );
3404		},
3405	focusable: function( element ) {
3406		return focusable( element, !isNaN( $.attr( element, "tabindex" ) ) );
3407	},
3408	tabbable: function( element ) {
3409		var tabIndex = $.attr( element, "tabindex" ),
3410			isTabIndexNaN = isNaN( tabIndex );
3411		return ( isTabIndexNaN || tabIndex >= 0 ) && focusable( element, !isTabIndexNaN );
3412	}
3413});
3414if ( !$( "<a>" ).outerWidth( 1 ).jquery ) {
3415	$.each( [ "Width", "Height" ], function( i, name ) {
3416		var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ],
3417			type = name.toLowerCase(),
3418			orig = {
3419				innerWidth: $.fn.innerWidth,
3420				innerHeight: $.fn.innerHeight,
3421				outerWidth: $.fn.outerWidth,
3422				outerHeight: $.fn.outerHeight
3423			};
3424		function reduce( elem, size, border, margin ) {
3425			$.each( side, function() {
3426				size -= parseFloat( $.css( elem, "padding" + this ) ) || 0;
3427				if ( border ) {
3428					size -= parseFloat( $.css( elem, "border" + this + "Width" ) ) || 0;
3429				}
3430				if ( margin ) {
3431					size -= parseFloat( $.css( elem, "margin" + this ) ) || 0;
3432				}
3433			});
3434			return size;
3435		}
3436		$.fn[ "inner" + name ] = function( size ) {
3437			if ( size === undefined ) {
3438				return orig[ "inner" + name ].call( this );
3439			}
3440			return this.each(function() {
3441				$( this ).css( type, reduce( this, size ) + "px" );
3442			});
3443		};
3444		$.fn[ "outer" + name] = function( size, margin ) {
3445			if ( typeof size !== "number" ) {
3446				return orig[ "outer" + name ].call( this, size );
3447			}
3448			return this.each(function() {
3449				$( this).css( type, reduce( this, size, true, margin ) + "px" );
3450			});
3451		};
3452	});
3453}
3454if ( !$.fn.addBack ) {
3455	$.fn.addBack = function( selector ) {
3456		return this.add( selector == null ?
3457			this.prevObject : this.prevObject.filter( selector )
3458		);
3459	};
3460}
3461if ( $( "<a>" ).data( "a-b", "a" ).removeData( "a-b" ).data( "a-b" ) ) {
3462	$.fn.removeData = (function( removeData ) {
3463		return function( key ) {
3464			if ( arguments.length ) {
3465				return removeData.call( this, $.camelCase( key ) );
3466			} else {
3467				return removeData.call( this );
3468			}
3469		};
3470	})( $.fn.removeData );
3471}
3472$.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() );
3473$.support.selectstart = "onselectstart" in document.createElement( "div" );
3474$.fn.extend({
3475	disableSelection: function() {
3476		return this.bind( ( $.support.selectstart ? "selectstart" : "mousedown" ) +
3477			".ui-disableSelection", function( event ) {
3478				event.preventDefault();
3479			});
3480	},
3481	enableSelection: function() {
3482		return this.unbind( ".ui-disableSelection" );
3483	}
3484});
3485$.extend( $.ui, {
3486	plugin: {
3487		add: function( module, option, set ) {
3488			var i,
3489				proto = $.ui[ module ].prototype;
3490			for ( i in set ) {
3491				proto.plugins[ i ] = proto.plugins[ i ] || [];
3492				proto.plugins[ i ].push( [ option, set[ i ] ] );
3493			}
3494		},
3495		call: function( instance, name, args ) {
3496			var i,
3497				set = instance.plugins[ name ];
3498			if ( !set || !instance.element[ 0 ].parentNode || instance.element[ 0 ].parentNode.nodeType === 11 ) {
3499				return;
3500			}
3501			for ( i = 0; i < set.length; i++ ) {
3502				if ( instance.options[ set[ i ][ 0 ] ] ) {
3503					set[ i ][ 1 ].apply( instance.element, args );
3504				}
3505			}
3506		}
3507	},
3508	hasScroll: function( el, a ) {
3509		//If overflow is hidden, the element might have extra content, but the user wants to hide it
3510		if ( $( el ).css( "overflow" ) === "hidden") {
3511			return false;
3512		}
3513		var scroll = ( a && a === "left" ) ? "scrollLeft" : "scrollTop",
3514			has = false;
3515		if ( el[ scroll ] > 0 ) {
3516			return true;
3517		}
3518		el[ scroll ] = 1;
3519		has = ( el[ scroll ] > 0 );
3520		el[ scroll ] = 0;
3521		return has;
3522	}
3523});
3524})( jQuery );
3525(function( $, undefined ) {
3526var uuid = 0,
3527	slice = Array.prototype.slice,
3528	_cleanData = $.cleanData;
3529$.cleanData = function( elems ) {
3530	for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
3531		try {
3532			$( elem ).triggerHandler( "remove" );
3533		} catch( e ) {}
3534	}
3535	_cleanData( elems );
3536};
3537$.widget = function( name, base, prototype ) {
3538	var fullName, existingConstructor, constructor, basePrototype,
3539		proxiedPrototype = {},
3540		namespace = name.split( "." )[ 0 ];
3541	name = name.split( "." )[ 1 ];
3542	fullName = namespace + "-" + name;
3543	if ( !prototype ) {
3544		prototype = base;
3545		base = $.Widget;
3546	}
3547	$.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) {
3548		return !!$.data( elem, fullName );
3549	};
3550	$[ namespace ] = $[ namespace ] || {};
3551	existingConstructor = $[ namespace ][ name ];
3552	constructor = $[ namespace ][ name ] = function( options, element ) {
3553		if ( !this._createWidget ) {
3554			return new constructor( options, element );
3555		}
3556		if ( arguments.length ) {
3557			this._createWidget( options, element );
3558		}
3559	};
3560	$.extend( constructor, existingConstructor, {
3561		version: prototype.version,
3562		_proto: $.extend( {}, prototype ),
3563		_childConstructors: []
3564	});
3565	basePrototype = new base();
3566	basePrototype.options = $.widget.extend( {}, basePrototype.options );
3567	$.each( prototype, function( prop, value ) {
3568		if ( !$.isFunction( value ) ) {
3569			proxiedPrototype[ prop ] = value;
3570			return;
3571		}
3572		proxiedPrototype[ prop ] = (function() {
3573			var _super = function() {
3574					return base.prototype[ prop ].apply( this, arguments );
3575				},
3576				_superApply = function( args ) {
3577					return base.prototype[ prop ].apply( this, args );
3578				};
3579			return function() {
3580				var __super = this._super,
3581					__superApply = this._superApply,
3582					returnValue;
3583				this._super = _super;
3584				this._superApply = _superApply;
vendor: 9,998 bytes, lines 3585-3916
3585				returnValue = value.apply( this, arguments );
3586				this._super = __super;
3587				this._superApply = __superApply;
3588				return returnValue;
3589			};
3590		})();
3591	});
3592	constructor.prototype = $.widget.extend( basePrototype, {
3593		widgetEventPrefix: existingConstructor ? (basePrototype.widgetEventPrefix || name) : name
3594	}, proxiedPrototype, {
3595		constructor: constructor,
3596		namespace: namespace,
3597		widgetName: name,
3598		widgetFullName: fullName
3599	});
3600	if ( existingConstructor ) {
3601		$.each( existingConstructor._childConstructors, function( i, child ) {
3602			var childPrototype = child.prototype;
3603			$.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, child._proto );
3604		});
3605		delete existingConstructor._childConstructors;
3606	} else {
3607		base._childConstructors.push( constructor );
3608	}
3609	$.widget.bridge( name, constructor );
3610};
3611$.widget.extend = function( target ) {
3612	var input = slice.call( arguments, 1 ),
3613		inputIndex = 0,
3614		inputLength = input.length,
3615		key,
3616		value;
3617	for ( ; inputIndex < inputLength; inputIndex++ ) {
3618		for ( key in input[ inputIndex ] ) {
3619			value = input[ inputIndex ][ key ];
3620			if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) {
3621				if ( $.isPlainObject( value ) ) {
3622					target[ key ] = $.isPlainObject( target[ key ] ) ?
3623						$.widget.extend( {}, target[ key ], value ) :
3624						$.widget.extend( {}, value );
3625				} else {
3626					target[ key ] = value;
3627				}
3628			}
3629		}
3630	}
3631	return target;
3632};
3633$.widget.bridge = function( name, object ) {
3634	var fullName = object.prototype.widgetFullName || name;
3635	$.fn[ name ] = function( options ) {
3636		var isMethodCall = typeof options === "string",
3637			args = slice.call( arguments, 1 ),
3638			returnValue = this;
3639		options = !isMethodCall && args.length ?
3640			$.widget.extend.apply( null, [ options ].concat(args) ) :
3641			options;
3642		if ( isMethodCall ) {
3643			this.each(function() {
3644				var methodValue,
3645					instance = $.data( this, fullName );
3646				if ( !instance ) {
3647					return $.error( "cannot call methods on " + name + " prior to initialization; " +
3648						"attempted to call method '" + options + "'" );
3649				}
3650				if ( !$.isFunction( instance[options] ) || options.charAt( 0 ) === "_" ) {
3651					return $.error( "no such method '" + options + "' for " + name + " widget instance" );
3652				}
3653				methodValue = instance[ options ].apply( instance, args );
3654				if ( methodValue !== instance && methodValue !== undefined ) {
3655					returnValue = methodValue && methodValue.jquery ?
3656						returnValue.pushStack( methodValue.get() ) :
3657						methodValue;
3658					return false;
3659				}
3660			});
3661		} else {
3662			this.each(function() {
3663				var instance = $.data( this, fullName );
3664				if ( instance ) {
3665					instance.option( options || {} )._init();
3666				} else {
3667					$.data( this, fullName, new object( options, this ) );
3668				}
3669			});
3670		}
3671		return returnValue;
3672	};
3673};
3674$.Widget = function() {};
3675$.Widget._childConstructors = [];
3676$.Widget.prototype = {
3677	widgetName: "widget",
3678	widgetEventPrefix: "",
3679	defaultElement: "<div>",
3680	options: {
3681		disabled: false,
3682		create: null
3683	},
3684	_createWidget: function( options, element ) {
3685		element = $( element || this.defaultElement || this )[ 0 ];
3686		this.element = $( element );
3687		this.uuid = uuid++;
3688		this.eventNamespace = "." + this.widgetName + this.uuid;
3689		this.options = $.widget.extend( {},
3690			this.options,
3691			this._getCreateOptions(),
3692			options );
3693		this.bindings = $();
3694		this.hoverable = $();
3695		this.focusable = $();
3696		if ( element !== this ) {
3697			$.data( element, this.widgetFullName, this );
3698			this._on( true, this.element, {
3699				remove: function( event ) {
3700					if ( event.target === element ) {
3701						this.destroy();
3702					}
3703				}
3704			});
3705			this.document = $( element.style ?
3706				element.ownerDocument :
3707				element.document || element );
3708			this.window = $( this.document[0].defaultView || this.document[0].parentWindow );
3709		}
3710		this._create();
3711		this._trigger( "create", null, this._getCreateEventData() );
3712		this._init();
3713	},
3714	_getCreateOptions: $.noop,
3715	_getCreateEventData: $.noop,
3716	_create: $.noop,
3717	_init: $.noop,
3718	destroy: function() {
3719		this._destroy();
3720		this.element
3721			.unbind( this.eventNamespace )
3722			.removeData( this.widgetName )
3723			.removeData( this.widgetFullName )
3724			.removeData( $.camelCase( this.widgetFullName ) );
3725		this.widget()
3726			.unbind( this.eventNamespace )
3727			.removeAttr( "aria-disabled" )
3728			.removeClass(
3729				this.widgetFullName + "-disabled " +
3730				"ui-state-disabled" );
3731		this.bindings.unbind( this.eventNamespace );
3732		this.hoverable.removeClass( "ui-state-hover" );
3733		this.focusable.removeClass( "ui-state-focus" );
3734	},
3735	_destroy: $.noop,
3736	widget: function() {
3737		return this.element;
3738	},
3739	option: function( key, value ) {
3740		var options = key,
3741			parts,
3742			curOption,
3743			i;
3744		if ( arguments.length === 0 ) {
3745			return $.widget.extend( {}, this.options );
3746		}
3747		if ( typeof key === "string" ) {
3748			options = {};
3749			parts = key.split( "." );
3750			key = parts.shift();
3751			if ( parts.length ) {
3752				curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] );
3753				for ( i = 0; i < parts.length - 1; i++ ) {
3754					curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {};
3755					curOption = curOption[ parts[ i ] ];
3756				}
3757				key = parts.pop();
3758				if ( arguments.length === 1 ) {
3759					return curOption[ key ] === undefined ? null : curOption[ key ];
3760				}
3761				curOption[ key ] = value;
3762			} else {
3763				if ( arguments.length === 1 ) {
3764					return this.options[ key ] === undefined ? null : this.options[ key ];
3765				}
3766				options[ key ] = value;
3767			}
3768		}
3769		this._setOptions( options );
3770		return this;
3771	},
3772	_setOptions: function( options ) {
3773		var key;
3774		for ( key in options ) {
3775			this._setOption( key, options[ key ] );
3776		}
3777		return this;
3778	},
3779	_setOption: function( key, value ) {
3780		this.options[ key ] = value;
3781		if ( key === "disabled" ) {
3782			this.widget()
3783				.toggleClass( this.widgetFullName + "-disabled ui-state-disabled", !!value )
3784				.attr( "aria-disabled", value );
3785			this.hoverable.removeClass( "ui-state-hover" );
3786			this.focusable.removeClass( "ui-state-focus" );
3787		}
3788		return this;
3789	},
3790	enable: function() {
3791		return this._setOption( "disabled", false );
3792	},
3793	disable: function() {
3794		return this._setOption( "disabled", true );
3795	},
3796	_on: function( suppressDisabledCheck, element, handlers ) {
3797		var delegateElement,
3798			instance = this;
3799		if ( typeof suppressDisabledCheck !== "boolean" ) {
3800			handlers = element;
3801			element = suppressDisabledCheck;
3802			suppressDisabledCheck = false;
3803		}
3804		if ( !handlers ) {
3805			handlers = element;
3806			element = this.element;
3807			delegateElement = this.widget();
3808		} else {
3809			element = delegateElement = $( element );
3810			this.bindings = this.bindings.add( element );
3811		}
3812		$.each( handlers, function( event, handler ) {
3813			function handlerProxy() {
3814				if ( !suppressDisabledCheck &&
3815						( instance.options.disabled === true ||
3816							$( this ).hasClass( "ui-state-disabled" ) ) ) {
3817					return;
3818				}
3819				return ( typeof handler === "string" ? instance[ handler ] : handler )
3820					.apply( instance, arguments );
3821			}
3822			if ( typeof handler !== "string" ) {
3823				handlerProxy.guid = handler.guid =
3824					handler.guid || handlerProxy.guid || $.guid++;
3825			}
3826			var match = event.match( /^(\w+)\s*(.*)$/ ),
3827				eventName = match[1] + instance.eventNamespace,
3828				selector = match[2];
3829			if ( selector ) {
3830				delegateElement.delegate( selector, eventName, handlerProxy );
3831			} else {
3832				element.bind( eventName, handlerProxy );
3833			}
3834		});
3835	},
3836	_off: function( element, eventName ) {
3837		eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) + this.eventNamespace;
3838		element.unbind( eventName ).undelegate( eventName );
3839	},
3840	_delay: function( handler, delay ) {
3841		function handlerProxy() {
3842			return ( typeof handler === "string" ? instance[ handler ] : handler )
3843				.apply( instance, arguments );
3844		}
3845		var instance = this;
3846		return setTimeout( handlerProxy, delay || 0 );
3847	},
3848	_hoverable: function( element ) {
3849		this.hoverable = this.hoverable.add( element );
3850		this._on( element, {
3851			mouseenter: function( event ) {
3852				$( event.currentTarget ).addClass( "ui-state-hover" );
3853			},
3854			mouseleave: function( event ) {
3855				$( event.currentTarget ).removeClass( "ui-state-hover" );
3856			}
3857		});
3858	},
3859	_focusable: function( element ) {
3860		this.focusable = this.focusable.add( element );
3861		this._on( element, {
3862			focusin: function( event ) {
3863				$( event.currentTarget ).addClass( "ui-state-focus" );
3864			},
3865			focusout: function( event ) {
3866				$( event.currentTarget ).removeClass( "ui-state-focus" );
3867			}
3868		});
3869	},
3870	_trigger: function( type, event, data ) {
3871		var prop, orig,
3872			callback = this.options[ type ];
3873
3874		data = data || {};
3875		event = $.Event( event );
3876		event.type = ( type === this.widgetEventPrefix ?
3877			type :
3878			this.widgetEventPrefix + type ).toLowerCase();
3879		event.target = this.element[ 0 ];
3880		orig = event.originalEvent;
3881		if ( orig ) {
3882			for ( prop in orig ) {
3883				if ( !( prop in event ) ) {
3884					event[ prop ] = orig[ prop ];
3885				}
3886			}
3887		}
3888		this.element.trigger( event, data );
3889		return !( $.isFunction( callback ) &&
3890			callback.apply( this.element[0], [ event ].concat( data ) ) === false ||
3891			event.isDefaultPrevented() );
3892	}
3893};
3894$.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) {
3895	$.Widget.prototype[ "_" + method ] = function( element, options, callback ) {
3896		if ( typeof options === "string" ) {
3897			options = { effect: options };
3898		}
3899		var hasOptions,
3900			effectName = !options ?
3901				method :
3902				options === true || typeof options === "number" ?
3903					defaultEffect :
3904					options.effect || defaultEffect;
3905		options = options || {};
3906		if ( typeof options === "number" ) {
3907			options = { duration: options };
3908		}
3909		hasOptions = !$.isEmptyObject( options );
3910		options.complete = callback;
3911		if ( options.delay ) {
3912			element.delay( options.delay );
3913		}
3914		if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) {
3915			element[ method ]( options );
3916		} else if ( effectName !== method && element[ effectName ] ) {
vendor: 60,818 bytes, lines 3917-5692
3917			element[ effectName ]( options.duration, options.easing, callback );
3918		} else {
3919			element.queue(function( next ) {
3920				$( this )[ method ]();
3921				if ( callback ) {
3922					callback.call( element[ 0 ] );
3923				}
3924				next();
3925			});
3926		}
3927	};
3928});
3929})( jQuery );
3930(function( $, undefined ) {
3931var mouseHandled = false;
3932$( document ).mouseup( function() {
3933	mouseHandled = false;
3934});
3935$.widget("ui.mouse", {
3936	version: "1.10.4",
3937	options: {
3938		cancel: "input,textarea,button,select,option",
3939		distance: 1,
3940		delay: 0
3941	},
3942	_mouseInit: function() {
3943		var that = this;
3944		this.element
3945			.bind("mousedown."+this.widgetName, function(event) {
3946				return that._mouseDown(event);
3947			})
3948			.bind("click."+this.widgetName, function(event) {
3949				if (true === $.data(event.target, that.widgetName + ".preventClickEvent")) {
3950					$.removeData(event.target, that.widgetName + ".preventClickEvent");
3951					event.stopImmediatePropagation();
3952					return false;
3953				}
3954			});
3955		this.started = false;
3956	},
3957	_mouseDestroy: function() {
3958		this.element.unbind("."+this.widgetName);
3959		if ( this._mouseMoveDelegate ) {
3960			$(document)
3961				.unbind("mousemove."+this.widgetName, this._mouseMoveDelegate)
3962				.unbind("mouseup."+this.widgetName, this._mouseUpDelegate);
3963		}
3964	},
3965	_mouseDown: function(event) {
3966		if( mouseHandled ) { return; }
3967		(this._mouseStarted && this._mouseUp(event));
3968		this._mouseDownEvent = event;
3969		var that = this,
3970			btnIsLeft = (event.which === 1),
3971			elIsCancel = (typeof this.options.cancel === "string" && event.target.nodeName ? $(event.target).closest(this.options.cancel).length : false);
3972		if (!btnIsLeft || elIsCancel || !this._mouseCapture(event)) {
3973			return true;
3974		}
3975		this.mouseDelayMet = !this.options.delay;
3976		if (!this.mouseDelayMet) {
3977			this._mouseDelayTimer = setTimeout(function() {
3978				that.mouseDelayMet = true;
3979			}, this.options.delay);
3980		}
3981		if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {
3982			this._mouseStarted = (this._mouseStart(event) !== false);
3983			if (!this._mouseStarted) {
3984				event.preventDefault();
3985				return true;
3986			}
3987		}
3988		if (true === $.data(event.target, this.widgetName + ".preventClickEvent")) {
3989			$.removeData(event.target, this.widgetName + ".preventClickEvent");
3990		}
3991		this._mouseMoveDelegate = function(event) {
3992			return that._mouseMove(event);
3993		};
3994		this._mouseUpDelegate = function(event) {
3995			return that._mouseUp(event);
3996		};
3997		$(document)
3998			.bind("mousemove."+this.widgetName, this._mouseMoveDelegate)
3999			.bind("mouseup."+this.widgetName, this._mouseUpDelegate);
4000		event.preventDefault();
4001		mouseHandled = true;
4002		return true;
4003	},
4004	_mouseMove: function(event) {
4005		if ($.ui.ie && ( !document.documentMode || document.documentMode < 9 ) && !event.button) {
4006			return this._mouseUp(event);
4007		}
4008		if (this._mouseStarted) {
4009			this._mouseDrag(event);
4010			return event.preventDefault();
4011		}
4012		if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {
4013			this._mouseStarted =
4014				(this._mouseStart(this._mouseDownEvent, event) !== false);
4015			(this._mouseStarted ? this._mouseDrag(event) : this._mouseUp(event));
4016		}
4017		return !this._mouseStarted;
4018	},
4019	_mouseUp: function(event) {
4020		$(document)
4021			.unbind("mousemove."+this.widgetName, this._mouseMoveDelegate)
4022			.unbind("mouseup."+this.widgetName, this._mouseUpDelegate);
4023		if (this._mouseStarted) {
4024			this._mouseStarted = false;
4025			if (event.target === this._mouseDownEvent.target) {
4026				$.data(event.target, this.widgetName + ".preventClickEvent", true);
4027			}
4028			this._mouseStop(event);
4029		}
4030		return false;
4031	},
4032	_mouseDistanceMet: function(event) {
4033		return (Math.max(
4034				Math.abs(this._mouseDownEvent.pageX - event.pageX),
4035				Math.abs(this._mouseDownEvent.pageY - event.pageY)
4036			) >= this.options.distance
4037		);
4038	},
4039	_mouseDelayMet: function(/* event */) {
4040		return this.mouseDelayMet;
4041	},
4042	_mouseStart: function(/* event */) {},
4043	_mouseDrag: function(/* event */) {},
4044	_mouseStop: function(/* event */) {},
4045	_mouseCapture: function(/* event */) { return true; }
4046});
4047})(jQuery);
4048(function( $, undefined ) {
4049$.ui = $.ui || {};
4050var cachedScrollbarWidth,
4051	max = Math.max,
4052	abs = Math.abs,
4053	round = Math.round,
4054	rhorizontal = /left|center|right/,
4055	rvertical = /top|center|bottom/,
4056	roffset = /[\+\-]\d+(\.[\d]+)?%?/,
4057	rposition = /^\w+/,
4058	rpercent = /%$/,
4059	_position = $.fn.position;
4060function getOffsets( offsets, width, height ) {
4061	return [
4062		parseFloat( offsets[ 0 ] ) * ( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ),
4063		parseFloat( offsets[ 1 ] ) * ( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 )
4064	];
4065}
4066function parseCss( element, property ) {
4067	return parseInt( $.css( element, property ), 10 ) || 0;
4068}
4069function getDimensions( elem ) {
4070	var raw = elem[0];
4071	if ( raw.nodeType === 9 ) {
4072		return {
4073			width: elem.width(),
4074			height: elem.height(),
4075			offset: { top: 0, left: 0 }
4076		};
4077	}
4078	if ( $.isWindow( raw ) ) {
4079		return {
4080			width: elem.width(),
4081			height: elem.height(),
4082			offset: { top: elem.scrollTop(), left: elem.scrollLeft() }
4083		};
4084	}
4085	if ( raw.preventDefault ) {
4086		return {
4087			width: 0,
4088			height: 0,
4089			offset: { top: raw.pageY, left: raw.pageX }
4090		};
4091	}
4092	return {
4093		width: elem.outerWidth(),
4094		height: elem.outerHeight(),
4095		offset: elem.offset()
4096	};
4097}
4098$.position = {
4099	scrollbarWidth: function() {
4100		if ( cachedScrollbarWidth !== undefined ) {
4101			return cachedScrollbarWidth;
4102		}
4103		var w1, w2,
4104			div = $( "<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>" ),
4105			innerDiv = div.children()[0];
4106		$( "body" ).append( div );
4107		w1 = innerDiv.offsetWidth;
4108		div.css( "overflow", "scroll" );
4109		w2 = innerDiv.offsetWidth;
4110		if ( w1 === w2 ) {
4111			w2 = div[0].clientWidth;
4112		}
4113		div.remove();
4114		return (cachedScrollbarWidth = w1 - w2);
4115	},
4116	getScrollInfo: function( within ) {
4117		var overflowX = within.isWindow || within.isDocument ? "" :
4118				within.element.css( "overflow-x" ),
4119			overflowY = within.isWindow || within.isDocument ? "" :
4120				within.element.css( "overflow-y" ),
4121			hasOverflowX = overflowX === "scroll" ||
4122				( overflowX === "auto" && within.width < within.element[0].scrollWidth ),
4123			hasOverflowY = overflowY === "scroll" ||
4124				( overflowY === "auto" && within.height < within.element[0].scrollHeight );
4125		return {
4126			width: hasOverflowY ? $.position.scrollbarWidth() : 0,
4127			height: hasOverflowX ? $.position.scrollbarWidth() : 0
4128		};
4129	},
4130	getWithinInfo: function( element ) {
4131		var withinElement = $( element || window ),
4132			isWindow = $.isWindow( withinElement[0] ),
4133			isDocument = !!withinElement[ 0 ] && withinElement[ 0 ].nodeType === 9;
4134		return {
4135			element: withinElement,
4136			isWindow: isWindow,
4137			isDocument: isDocument,
4138			offset: withinElement.offset() || { left: 0, top: 0 },
4139			scrollLeft: withinElement.scrollLeft(),
4140			scrollTop: withinElement.scrollTop(),
4141			width: isWindow ? withinElement.width() : withinElement.outerWidth(),
4142			height: isWindow ? withinElement.height() : withinElement.outerHeight()
4143		};
4144	}
4145};
4146$.fn.position = function( options ) {
4147	if ( !options || !options.of ) {
4148		return _position.apply( this, arguments );
4149	}
4150	options = $.extend( {}, options );
4151	var atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions,
4152		target = $( options.of ),
4153		within = $.position.getWithinInfo( options.within ),
4154		scrollInfo = $.position.getScrollInfo( within ),
4155		collision = ( options.collision || "flip" ).split( " " ),
4156		offsets = {};
4157	dimensions = getDimensions( target );
4158	if ( target[0].preventDefault ) {
4159		options.at = "left top";
4160	}
4161	targetWidth = dimensions.width;
4162	targetHeight = dimensions.height;
4163	targetOffset = dimensions.offset;
4164	// clone to reuse original targetOffset later
4165	basePosition = $.extend( {}, targetOffset );
4166	$.each( [ "my", "at" ], function() {
4167		var pos = ( options[ this ] || "" ).split( " " ),
4168			horizontalOffset,
4169			verticalOffset;
4170		if ( pos.length === 1) {
4171			pos = rhorizontal.test( pos[ 0 ] ) ?
4172				pos.concat( [ "center" ] ) :
4173				rvertical.test( pos[ 0 ] ) ?
4174					[ "center" ].concat( pos ) :
4175					[ "center", "center" ];
4176		}
4177		pos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] : "center";
4178		pos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] : "center";
4179		horizontalOffset = roffset.exec( pos[ 0 ] );
4180		verticalOffset = roffset.exec( pos[ 1 ] );
4181		offsets[ this ] = [
4182			horizontalOffset ? horizontalOffset[ 0 ] : 0,
4183			verticalOffset ? verticalOffset[ 0 ] : 0
4184		];
4185		options[ this ] = [
4186			rposition.exec( pos[ 0 ] )[ 0 ],
4187			rposition.exec( pos[ 1 ] )[ 0 ]
4188		];
4189	});
4190	if ( collision.length === 1 ) {
4191		collision[ 1 ] = collision[ 0 ];
4192	}
4193	if ( options.at[ 0 ] === "right" ) {
4194		basePosition.left += targetWidth;
4195	} else if ( options.at[ 0 ] === "center" ) {
4196		basePosition.left += targetWidth / 2;
4197	}
4198	if ( options.at[ 1 ] === "bottom" ) {
4199		basePosition.top += targetHeight;
4200	} else if ( options.at[ 1 ] === "center" ) {
4201		basePosition.top += targetHeight / 2;
4202	}
4203	atOffset = getOffsets( offsets.at, targetWidth, targetHeight );
4204	basePosition.left += atOffset[ 0 ];
4205	basePosition.top += atOffset[ 1 ];
4206	return this.each(function() {
4207		var collisionPosition, using,
4208			elem = $( this ),
4209			elemWidth = elem.outerWidth(),
4210			elemHeight = elem.outerHeight(),
4211			marginLeft = parseCss( this, "marginLeft" ),
4212			marginTop = parseCss( this, "marginTop" ),
4213			collisionWidth = elemWidth + marginLeft + parseCss( this, "marginRight" ) + scrollInfo.width,
4214			collisionHeight = elemHeight + marginTop + parseCss( this, "marginBottom" ) + scrollInfo.height,
4215			position = $.extend( {}, basePosition ),
4216			myOffset = getOffsets( offsets.my, elem.outerWidth(), elem.outerHeight() );
4217		if ( options.my[ 0 ] === "right" ) {
4218			position.left -= elemWidth;
4219		} else if ( options.my[ 0 ] === "center" ) {
4220			position.left -= elemWidth / 2;
4221		}
4222		if ( options.my[ 1 ] === "bottom" ) {
4223			position.top -= elemHeight;
4224		} else if ( options.my[ 1 ] === "center" ) {
4225			position.top -= elemHeight / 2;
4226		}
4227		position.left += myOffset[ 0 ];
4228		position.top += myOffset[ 1 ];
4229		if ( !$.support.offsetFractions ) {
4230			position.left = round( position.left );
4231			position.top = round( position.top );
4232		}
4233		collisionPosition = {
4234			marginLeft: marginLeft,
4235			marginTop: marginTop
4236		};
4237		$.each( [ "left", "top" ], function( i, dir ) {
4238			if ( $.ui.position[ collision[ i ] ] ) {
4239				$.ui.position[ collision[ i ] ][ dir ]( position, {
4240					targetWidth: targetWidth,
4241					targetHeight: targetHeight,
4242					elemWidth: elemWidth,
4243					elemHeight: elemHeight,
4244					collisionPosition: collisionPosition,
4245					collisionWidth: collisionWidth,
4246					collisionHeight: collisionHeight,
4247					offset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ] + myOffset[ 1 ] ],
4248					my: options.my,
4249					at: options.at,
4250					within: within,
4251					elem : elem
4252				});
4253			}
4254		});
4255		if ( options.using ) {
4256			using = function( props ) {
4257				var left = targetOffset.left - position.left,
4258					right = left + targetWidth - elemWidth,
4259					top = targetOffset.top - position.top,
4260					bottom = top + targetHeight - elemHeight,
4261					feedback = {
4262						target: {
4263							element: target,
4264							left: targetOffset.left,
4265							top: targetOffset.top,
4266							width: targetWidth,
4267							height: targetHeight
4268						},
4269						element: {
4270							element: elem,
4271							left: position.left,
4272							top: position.top,
4273							width: elemWidth,
4274							height: elemHeight
4275						},
4276						horizontal: right < 0 ? "left" : left > 0 ? "right" : "center",
4277						vertical: bottom < 0 ? "top" : top > 0 ? "bottom" : "middle"
4278					};
4279				if ( targetWidth < elemWidth && abs( left + right ) < targetWidth ) {
4280					feedback.horizontal = "center";
4281				}
4282				if ( targetHeight < elemHeight && abs( top + bottom ) < targetHeight ) {
4283					feedback.vertical = "middle";
4284				}
4285				if ( max( abs( left ), abs( right ) ) > max( abs( top ), abs( bottom ) ) ) {
4286					feedback.important = "horizontal";
4287				} else {
4288					feedback.important = "vertical";
4289				}
4290				options.using.call( this, props, feedback );
4291			};
4292		}
4293		elem.offset( $.extend( position, { using: using } ) );
4294	});
4295};
4296$.ui.position = {
4297	fit: {
4298		left: function( position, data ) {
4299			var within = data.within,
4300				withinOffset = within.isWindow ? within.scrollLeft : within.offset.left,
4301				outerWidth = within.width,
4302				collisionPosLeft = position.left - data.collisionPosition.marginLeft,
4303				overLeft = withinOffset - collisionPosLeft,
4304				overRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset,
4305				newOverRight;
4306			if ( data.collisionWidth > outerWidth ) {
4307				if ( overLeft > 0 && overRight <= 0 ) {
4308					newOverRight = position.left + overLeft + data.collisionWidth - outerWidth - withinOffset;
4309					position.left += overLeft - newOverRight;
4310				} else if ( overRight > 0 && overLeft <= 0 ) {
4311					position.left = withinOffset;
4312				} else {
4313					if ( overLeft > overRight ) {
4314						position.left = withinOffset + outerWidth - data.collisionWidth;
4315					} else {
4316						position.left = withinOffset;
4317					}
4318				}
4319			} else if ( overLeft > 0 ) {
4320				position.left += overLeft;
4321			} else if ( overRight > 0 ) {
4322				position.left -= overRight;
4323			} else {
4324				position.left = max( position.left - collisionPosLeft, position.left );
4325			}
4326		},
4327		top: function( position, data ) {
4328			var within = data.within,
4329				withinOffset = within.isWindow ? within.scrollTop : within.offset.top,
4330				outerHeight = data.within.height,
4331				collisionPosTop = position.top - data.collisionPosition.marginTop,
4332				overTop = withinOffset - collisionPosTop,
4333				overBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset,
4334				newOverBottom;
4335			if ( data.collisionHeight > outerHeight ) {
4336				if ( overTop > 0 && overBottom <= 0 ) {
4337					newOverBottom = position.top + overTop + data.collisionHeight - outerHeight - withinOffset;
4338					position.top += overTop - newOverBottom;
4339				} else if ( overBottom > 0 && overTop <= 0 ) {
4340					position.top = withinOffset;
4341				} else {
4342					if ( overTop > overBottom ) {
4343						position.top = withinOffset + outerHeight - data.collisionHeight;
4344					} else {
4345						position.top = withinOffset;
4346					}
4347				}
4348			} else if ( overTop > 0 ) {
4349				position.top += overTop;
4350			} else if ( overBottom > 0 ) {
4351				position.top -= overBottom;
4352			} else {
4353				position.top = max( position.top - collisionPosTop, position.top );
4354			}
4355		}
4356	},
4357	flip: {
4358		left: function( position, data ) {
4359			var within = data.within,
4360				withinOffset = within.offset.left + within.scrollLeft,
4361				outerWidth = within.width,
4362				offsetLeft = within.isWindow ? within.scrollLeft : within.offset.left,
4363				collisionPosLeft = position.left - data.collisionPosition.marginLeft,
4364				overLeft = collisionPosLeft - offsetLeft,
4365				overRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft,
4366				myOffset = data.my[ 0 ] === "left" ?
4367					-data.elemWidth :
4368					data.my[ 0 ] === "right" ?
4369						data.elemWidth :
4370						0,
4371				atOffset = data.at[ 0 ] === "left" ?
4372					data.targetWidth :
4373					data.at[ 0 ] === "right" ?
4374						-data.targetWidth :
4375						0,
4376				offset = -2 * data.offset[ 0 ],
4377				newOverRight,
4378				newOverLeft;
4379
4380			if ( overLeft < 0 ) {
4381				newOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth - outerWidth - withinOffset;
4382				if ( newOverRight < 0 || newOverRight < abs( overLeft ) ) {
4383					position.left += myOffset + atOffset + offset;
4384				}
4385			}
4386			else if ( overRight > 0 ) {
4387				newOverLeft = position.left - data.collisionPosition.marginLeft + myOffset + atOffset + offset - offsetLeft;
4388				if ( newOverLeft > 0 || abs( newOverLeft ) < overRight ) {
4389					position.left += myOffset + atOffset + offset;
4390				}
4391			}
4392		},
4393		top: function( position, data ) {
4394			var within = data.within,
4395				withinOffset = within.offset.top + within.scrollTop,
4396				outerHeight = within.height,
4397				offsetTop = within.isWindow ? within.scrollTop : within.offset.top,
4398				collisionPosTop = position.top - data.collisionPosition.marginTop,
4399				overTop = collisionPosTop - offsetTop,
4400				overBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop,
4401				top = data.my[ 1 ] === "top",
4402				myOffset = top ?
4403					-data.elemHeight :
4404					data.my[ 1 ] === "bottom" ?
4405						data.elemHeight :
4406						0,
4407				atOffset = data.at[ 1 ] === "top" ?
4408					data.targetHeight :
4409					data.at[ 1 ] === "bottom" ?
4410						-data.targetHeight :
4411						0,
4412				offset = -2 * data.offset[ 1 ],
4413				newOverTop,
4414				newOverBottom;
4415			if ( overTop < 0 ) {
4416				newOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight - outerHeight - withinOffset;
4417				if ( ( position.top + myOffset + atOffset + offset) > overTop && ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) ) {
4418					position.top += myOffset + atOffset + offset;
4419				}
4420			}
4421			else if ( overBottom > 0 ) {
4422				newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + offset - offsetTop;
4423				if ( ( position.top + myOffset + atOffset + offset) > overBottom && ( newOverTop > 0 || abs( newOverTop ) < overBottom ) ) {
4424					position.top += myOffset + atOffset + offset;
4425				}
4426			}
4427		}
4428	},
4429	flipfit: {
4430		left: function() {
4431			$.ui.position.flip.left.apply( this, arguments );
4432			$.ui.position.fit.left.apply( this, arguments );
4433		},
4434		top: function() {
4435			$.ui.position.flip.top.apply( this, arguments );
4436			$.ui.position.fit.top.apply( this, arguments );
4437		}
4438	}
4439};
4440(function () {
4441	var testElement, testElementParent, testElementStyle, offsetLeft, i,
4442		body = document.getElementsByTagName( "body" )[ 0 ],
4443		div = document.createElement( "div" );
4444	testElement = document.createElement( body ? "div" : "body" );
4445	testElementStyle = {
4446		visibility: "hidden",
4447		width: 0,
4448		height: 0,
4449		border: 0,
4450		margin: 0,
4451		background: "none"
4452	};
4453	if ( body ) {
4454		$.extend( testElementStyle, {
4455			position: "absolute",
4456			left: "-1000px",
4457			top: "-1000px"
4458		});
4459	}
4460	for ( i in testElementStyle ) {
4461		testElement.style[ i ] = testElementStyle[ i ];
4462	}
4463	testElement.appendChild( div );
4464	testElementParent = body || document.documentElement;
4465	testElementParent.insertBefore( testElement, testElementParent.firstChild );
4466	div.style.cssText = "position: absolute; left: 10.7432222px;";
4467	offsetLeft = $( div ).offset().left;
4468	$.support.offsetFractions = offsetLeft > 10 && offsetLeft < 11;
4469	testElement.innerHTML = "";
4470	testElementParent.removeChild( testElement );
4471})();
4472}( jQuery ) );
4473(function( $, undefined ) {
4474$.widget("ui.draggable", $.ui.mouse, {
4475	version: "1.10.4",
4476	widgetEventPrefix: "drag",
4477	options: {
4478		addClasses: true,
4479		appendTo: "parent",
4480		axis: false,
4481		connectToSortable: false,
4482		containment: false,
4483		cursor: "auto",
4484		cursorAt: false,
4485		grid: false,
4486		handle: false,
4487		helper: "original",
4488		iframeFix: false,
4489		opacity: false,
4490		refreshPositions: false,
4491		revert: false,
4492		revertDuration: 500,
4493		scope: "default",
4494		scroll: true,
4495		scrollSensitivity: 20,
4496		scrollSpeed: 20,
4497		snap: false,
4498		snapMode: "both",
4499		snapTolerance: 20,
4500		stack: false,
4501		zIndex: false,
4502		drag: null,
4503		start: null,
4504		stop: null
4505	},
4506	_create: function() {
4507		if (this.options.helper === "original" && !(/^(?:r|a|f)/).test(this.element.css("position"))) {
4508			this.element[0].style.position = "relative";
4509		}
4510		if (this.options.addClasses){
4511			this.element.addClass("ui-draggable");
4512		}
4513		if (this.options.disabled){
4514			this.element.addClass("ui-draggable-disabled");
4515		}
4516		this._mouseInit();
4517	},
4518	_destroy: function() {
4519		this.element.removeClass( "ui-draggable ui-draggable-dragging ui-draggable-disabled" );
4520		this._mouseDestroy();
4521	},
4522	_mouseCapture: function(event) {
4523		var o = this.options;
4524		if (this.helper || o.disabled || $(event.target).closest(".ui-resizable-handle").length > 0) {
4525			return false;
4526		}
4527		this.handle = this._getHandle(event);
4528		if (!this.handle) {
4529			return false;
4530		}
4531		$(o.iframeFix === true ? "iframe" : o.iframeFix).each(function() {
4532			$("<div class='ui-draggable-iframeFix' style='background: #fff;'></div>")
4533			.css({
4534				width: this.offsetWidth+"px", height: this.offsetHeight+"px",
4535				position: "absolute", opacity: "0.001", zIndex: 1000
4536			})
4537			.css($(this).offset())
4538			.appendTo("body");
4539		});
4540		return true;
4541	},
4542	_mouseStart: function(event) {
4543		var o = this.options;
4544		this.helper = this._createHelper(event);
4545		this.helper.addClass("ui-draggable-dragging");
4546		this._cacheHelperProportions();
4547		if($.ui.ddmanager) {
4548			$.ui.ddmanager.current = this;
4549		}
4550		this._cacheMargins();
4551		this.cssPosition = this.helper.css( "position" );
4552		this.scrollParent = this.helper.scrollParent();
4553		this.offsetParent = this.helper.offsetParent();
4554		this.offsetParentCssPosition = this.offsetParent.css( "position" );
4555		this.offset = this.positionAbs = this.element.offset();
4556		this.offset = {
4557			top: this.offset.top - this.margins.top,
4558			left: this.offset.left - this.margins.left
4559		};
4560		this.offset.scroll = false;
4561		$.extend(this.offset, {
4562			click: {
4563				left: event.pageX - this.offset.left,
4564				top: event.pageY - this.offset.top
4565			},
4566			parent: this._getParentOffset(),
4567			relative: this._getRelativeOffset()
4568		});
4569		this.originalPosition = this.position = this._generatePosition(event);
4570		this.originalPageX = event.pageX;
4571		this.originalPageY = event.pageY;
4572		(o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt));
4573		this._setContainment();
4574		if(this._trigger("start", event) === false) {
4575			this._clear();
4576			return false;
4577		}
4578		this._cacheHelperProportions();
4579		if ($.ui.ddmanager && !o.dropBehaviour) {
4580			$.ui.ddmanager.prepareOffsets(this, event);
4581		}
4582		this._mouseDrag(event, true);
4583		if ( $.ui.ddmanager ) {
4584			$.ui.ddmanager.dragStart(this, event);
4585		}
4586		return true;
4587	},
4588	_mouseDrag: function(event, noPropagation) {
4589		if ( this.offsetParentCssPosition === "fixed" ) {
4590			this.offset.parent = this._getParentOffset();
4591		}
4592		this.position = this._generatePosition(event);
4593		this.positionAbs = this._convertPositionTo("absolute");
4594		if (!noPropagation) {
4595			var ui = this._uiHash();
4596			if(this._trigger("drag", event, ui) === false) {
4597				this._mouseUp({});
4598				return false;
4599			}
4600			this.position = ui.position;
4601		}
4602		if(!this.options.axis || this.options.axis !== "y") {
4603			this.helper[0].style.left = this.position.left+"px";
4604		}
4605		if(!this.options.axis || this.options.axis !== "x") {
4606			this.helper[0].style.top = this.position.top+"px";
4607		}
4608		if($.ui.ddmanager) {
4609			$.ui.ddmanager.drag(this, event);
4610		}
4611		return false;
4612	},
4613	_mouseStop: function(event) {
4614		var that = this,
4615			dropped = false;
4616		if ($.ui.ddmanager && !this.options.dropBehaviour) {
4617			dropped = $.ui.ddmanager.drop(this, event);
4618		}
4619		if(this.dropped) {
4620			dropped = this.dropped;
4621			this.dropped = false;
4622		}
4623		if ( this.options.helper === "original" && !$.contains( this.element[ 0 ].ownerDocument, this.element[ 0 ] ) ) {
4624			return false;
4625		}
4626		if((this.options.revert === "invalid" && !dropped) || (this.options.revert === "valid" && dropped) || this.options.revert === true || ($.isFunction(this.options.revert) && this.options.revert.call(this.element, dropped))) {
4627			$(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), function() {
4628				if(that._trigger("stop", event) !== false) {
4629					that._clear();
4630				}
4631			});
4632		} else {
4633			if(this._trigger("stop", event) !== false) {
4634				this._clear();
4635			}
4636		}
4637		return false;
4638	},
4639	_mouseUp: function(event) {
4640		$("div.ui-draggable-iframeFix").each(function() {
4641			this.parentNode.removeChild(this);
4642		});
4643		if( $.ui.ddmanager ) {
4644			$.ui.ddmanager.dragStop(this, event);
4645		}
4646		return $.ui.mouse.prototype._mouseUp.call(this, event);
4647	},
4648	cancel: function() {
4649		if(this.helper.is(".ui-draggable-dragging")) {
4650			this._mouseUp({});
4651		} else {
4652			this._clear();
4653		}
4654		return this;
4655	},
4656	_getHandle: function(event) {
4657		return this.options.handle ?
4658			!!$( event.target ).closest( this.element.find( this.options.handle ) ).length :
4659			true;
4660	},
4661	_createHelper: function(event) {
4662		var o = this.options,
4663			helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event])) : (o.helper === "clone" ? this.element.clone().removeAttr("id") : this.element);
4664		if(!helper.parents("body").length) {
4665			helper.appendTo((o.appendTo === "parent" ? this.element[0].parentNode : o.appendTo));
4666		}
4667		if(helper[0] !== this.element[0] && !(/(fixed|absolute)/).test(helper.css("position"))) {
4668			helper.css("position", "absolute");
4669		}
4670		return helper;
4671	},
4672	_adjustOffsetFromHelper: function(obj) {
4673		if (typeof obj === "string") {
4674			obj = obj.split(" ");
4675		}
4676		if ($.isArray(obj)) {
4677			obj = {left: +obj[0], top: +obj[1] || 0};
4678		}
4679		if ("left" in obj) {
4680			this.offset.click.left = obj.left + this.margins.left;
4681		}
4682		if ("right" in obj) {
4683			this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;
4684		}
4685		if ("top" in obj) {
4686			this.offset.click.top = obj.top + this.margins.top;
4687		}
4688		if ("bottom" in obj) {
4689			this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;
4690		}
4691	},
4692	_getParentOffset: function() {
4693		var po = this.offsetParent.offset();
4694		if(this.cssPosition === "absolute" && this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) {
4695			po.left += this.scrollParent.scrollLeft();
4696			po.top += this.scrollParent.scrollTop();
4697		}
4698		if((this.offsetParent[0] === document.body) ||
4699			(this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() === "html" && $.ui.ie)) {
4700			po = { top: 0, left: 0 };
4701		}
4702		return {
4703			top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"),10) || 0),
4704			left: po.left + (parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0)
4705		};
4706	},
4707	_getRelativeOffset: function() {
4708		if(this.cssPosition === "relative") {
4709			var p = this.element.position();
4710			return {
4711				top: p.top - (parseInt(this.helper.css("top"),10) || 0) + this.scrollParent.scrollTop(),
4712				left: p.left - (parseInt(this.helper.css("left"),10) || 0) + this.scrollParent.scrollLeft()
4713			};
4714		} else {
4715			return { top: 0, left: 0 };
4716		}
4717	},
4718	_cacheMargins: function() {
4719		this.margins = {
4720			left: (parseInt(this.element.css("marginLeft"),10) || 0),
4721			top: (parseInt(this.element.css("marginTop"),10) || 0),
4722			right: (parseInt(this.element.css("marginRight"),10) || 0),
4723			bottom: (parseInt(this.element.css("marginBottom"),10) || 0)
4724		};
4725	},
4726	_cacheHelperProportions: function() {
4727		this.helperProportions = {
4728			width: this.helper.outerWidth(),
4729			height: this.helper.outerHeight()
4730		};
4731	},
4732	_setContainment: function() {
4733		var over, c, ce,
4734			o = this.options;
4735		if ( !o.containment ) {
4736			this.containment = null;
4737			return;
4738		}
4739		if ( o.containment === "window" ) {
4740			this.containment = [
4741				$( window ).scrollLeft() - this.offset.relative.left - this.offset.parent.left,
4742				$( window ).scrollTop() - this.offset.relative.top - this.offset.parent.top,
4743				$( window ).scrollLeft() + $( window ).width() - this.helperProportions.width - this.margins.left,
4744				$( window ).scrollTop() + ( $( window ).height() || document.body.parentNode.scrollHeight ) - this.helperProportions.height - this.margins.top
4745			];
4746			return;
4747		}
4748		if ( o.containment === "document") {
4749			this.containment = [
4750				0,
4751				0,
4752				$( document ).width() - this.helperProportions.width - this.margins.left,
4753				( $( document ).height() || document.body.parentNode.scrollHeight ) - this.helperProportions.height - this.margins.top
4754			];
4755			return;
4756		}
4757		if ( o.containment.constructor === Array ) {
4758			this.containment = o.containment;
4759			return;
4760		}
4761		if ( o.containment === "parent" ) {
4762			o.containment = this.helper[ 0 ].parentNode;
4763		}
4764		c = $( o.containment );
4765		ce = c[ 0 ];
4766		if( !ce ) {
4767			return;
4768		}
4769		over = c.css( "overflow" ) !== "hidden";
4770		this.containment = [
4771			( parseInt( c.css( "borderLeftWidth" ), 10 ) || 0 ) + ( parseInt( c.css( "paddingLeft" ), 10 ) || 0 ),
4772			( parseInt( c.css( "borderTopWidth" ), 10 ) || 0 ) + ( parseInt( c.css( "paddingTop" ), 10 ) || 0 ) ,
4773			( over ? Math.max( ce.scrollWidth, ce.offsetWidth ) : ce.offsetWidth ) - ( parseInt( c.css( "borderRightWidth" ), 10 ) || 0 ) - ( parseInt( c.css( "paddingRight" ), 10 ) || 0 ) - this.helperProportions.width - this.margins.left - this.margins.right,
4774			( over ? Math.max( ce.scrollHeight, ce.offsetHeight ) : ce.offsetHeight ) - ( parseInt( c.css( "borderBottomWidth" ), 10 ) || 0 ) - ( parseInt( c.css( "paddingBottom" ), 10 ) || 0 ) - this.helperProportions.height - this.margins.top  - this.margins.bottom
4775		];
4776		this.relative_container = c;
4777	},
4778	_convertPositionTo: function(d, pos) {
4779		if(!pos) {
4780			pos = this.position;
4781		}
4782		var mod = d === "absolute" ? 1 : -1,
4783			scroll = this.cssPosition === "absolute" && !( this.scrollParent[ 0 ] !== document && $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) ? this.offsetParent : this.scrollParent;
4784		if (!this.offset.scroll) {
4785			this.offset.scroll = {top : scroll.scrollTop(), left : scroll.scrollLeft()};
4786		}
4787		return {
4788			top: (
4789				pos.top	+
4790				this.offset.relative.top * mod +
4791				this.offset.parent.top * mod -
4792				( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : this.offset.scroll.top ) * mod )
4793			),
4794			left: (
4795				pos.left +
4796				this.offset.relative.left * mod +
4797				this.offset.parent.left * mod	-
4798				( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : this.offset.scroll.left ) * mod )
4799			)
4800		};
4801
4802	},
4803	_generatePosition: function(event) {
4804		var containment, co, top, left,
4805			o = this.options,
4806			scroll = this.cssPosition === "absolute" && !( this.scrollParent[ 0 ] !== document && $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) ? this.offsetParent : this.scrollParent,
4807			pageX = event.pageX,
4808			pageY = event.pageY;
4809		if (!this.offset.scroll) {
4810			this.offset.scroll = {top : scroll.scrollTop(), left : scroll.scrollLeft()};
4811		}
4812		if ( this.originalPosition ) {
4813			if ( this.containment ) {
4814				if ( this.relative_container ){
4815					co = this.relative_container.offset();
4816					containment = [
4817						this.containment[ 0 ] + co.left,
4818						this.containment[ 1 ] + co.top,
4819						this.containment[ 2 ] + co.left,
4820						this.containment[ 3 ] + co.top
4821					];
4822				}
4823				else {
4824					containment = this.containment;
4825				}
4826				if(event.pageX - this.offset.click.left < containment[0]) {
4827					pageX = containment[0] + this.offset.click.left;
4828				}
4829				if(event.pageY - this.offset.click.top < containment[1]) {
4830					pageY = containment[1] + this.offset.click.top;
4831				}
4832				if(event.pageX - this.offset.click.left > containment[2]) {
4833					pageX = containment[2] + this.offset.click.left;
4834				}
4835				if(event.pageY - this.offset.click.top > containment[3]) {
4836					pageY = containment[3] + this.offset.click.top;
4837				}
4838			}
4839			if(o.grid) {
4840				top = o.grid[1] ? this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1] : this.originalPageY;
4841				pageY = containment ? ((top - this.offset.click.top >= containment[1] || top - this.offset.click.top > containment[3]) ? top : ((top - this.offset.click.top >= containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top;
4842				left = o.grid[0] ? this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0] : this.originalPageX;
4843				pageX = containment ? ((left - this.offset.click.left >= containment[0] || left - this.offset.click.left > containment[2]) ? left : ((left - this.offset.click.left >= containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left;
4844			}
4845		}
4846		return {
4847			top: (
4848				pageY -
4849				this.offset.click.top	-
4850				this.offset.relative.top -
4851				this.offset.parent.top +
4852				( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : this.offset.scroll.top )
4853			),
4854			left: (
4855				pageX -
4856				this.offset.click.left -
4857				this.offset.relative.left -
4858				this.offset.parent.left +
4859				( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : this.offset.scroll.left )
4860			)
4861		};
4862	},
4863	_clear: function() {
4864		this.helper.removeClass("ui-draggable-dragging");
4865		if(this.helper[0] !== this.element[0] && !this.cancelHelperRemoval) {
4866			this.helper.remove();
4867		}
4868		this.helper = null;
4869		this.cancelHelperRemoval = false;
4870	},
4871	_trigger: function(type, event, ui) {
4872		ui = ui || this._uiHash();
4873		$.ui.plugin.call(this, type, [event, ui]);
4874		if(type === "drag") {
4875			this.positionAbs = this._convertPositionTo("absolute");
4876		}
4877		return $.Widget.prototype._trigger.call(this, type, event, ui);
4878	},
4879	plugins: {},
4880	_uiHash: function() {
4881		return {
4882			helper: this.helper,
4883			position: this.position,
4884			originalPosition: this.originalPosition,
4885			offset: this.positionAbs
4886		};
4887	}
4888});
4889$.ui.plugin.add("draggable", "connectToSortable", {
4890	start: function(event, ui) {
4891		var inst = $(this).data("ui-draggable"), o = inst.options,
4892			uiSortable = $.extend({}, ui, { item: inst.element });
4893		inst.sortables = [];
4894		$(o.connectToSortable).each(function() {
4895			var sortable = $.data(this, "ui-sortable");
4896			if (sortable && !sortable.options.disabled) {
4897				inst.sortables.push({
4898					instance: sortable,
4899					shouldRevert: sortable.options.revert
4900				});
4901				sortable.refreshPositions();
4902				sortable._trigger("activate", event, uiSortable);
4903			}
4904		});
4905	},
4906	stop: function(event, ui) {
4907		var inst = $(this).data("ui-draggable"),
4908			uiSortable = $.extend({}, ui, { item: inst.element });
4909		$.each(inst.sortables, function() {
4910			if(this.instance.isOver) {
4911				this.instance.isOver = 0;
4912				inst.cancelHelperRemoval = true;
4913				this.instance.cancelHelperRemoval = false;
4914				if(this.shouldRevert) {
4915					this.instance.options.revert = this.shouldRevert;
4916				}
4917				this.instance._mouseStop(event);
4918				this.instance.options.helper = this.instance.options._helper;
4919				if(inst.options.helper === "original") {
4920					this.instance.currentItem.css({ top: "auto", left: "auto" });
4921				}
4922			} else {
4923				this.instance.cancelHelperRemoval = false; //Remove the helper in the sortable instance
4924				this.instance._trigger("deactivate", event, uiSortable);
4925			}
4926		});
4927	},
4928	drag: function(event, ui) {
4929		var inst = $(this).data("ui-draggable"), that = this;
4930		$.each(inst.sortables, function() {
4931			var innermostIntersecting = false,
4932				thisSortable = this;
4933			this.instance.positionAbs = inst.positionAbs;
4934			this.instance.helperProportions = inst.helperProportions;
4935			this.instance.offset.click = inst.offset.click;
4936			if(this.instance._intersectsWith(this.instance.containerCache)) {
4937				innermostIntersecting = true;
4938				$.each(inst.sortables, function () {
4939					this.instance.positionAbs = inst.positionAbs;
4940					this.instance.helperProportions = inst.helperProportions;
4941					this.instance.offset.click = inst.offset.click;
4942					if (this !== thisSortable &&
4943						this.instance._intersectsWith(this.instance.containerCache) &&
4944						$.contains(thisSortable.instance.element[0], this.instance.element[0])
4945					) {
4946						innermostIntersecting = false;
4947					}
4948					return innermostIntersecting;
4949				});
4950			}
4951			if(innermostIntersecting) {
4952				if(!this.instance.isOver) {
4953					this.instance.isOver = 1;
4954					this.instance.currentItem = $(that).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item", true);
4955					this.instance.options._helper = this.instance.options.helper;
4956					this.instance.options.helper = function() { return ui.helper[0]; };
4957					event.target = this.instance.currentItem[0];
4958					this.instance._mouseCapture(event, true);
4959					this.instance._mouseStart(event, true, true);
4960					this.instance.offset.click.top = inst.offset.click.top;
4961					this.instance.offset.click.left = inst.offset.click.left;
4962					this.instance.offset.parent.left -= inst.offset.parent.left - this.instance.offset.parent.left;
4963					this.instance.offset.parent.top -= inst.offset.parent.top - this.instance.offset.parent.top;
4964					inst._trigger("toSortable", event);
4965					inst.dropped = this.instance.element
4966					inst.currentItem = inst.element;
4967					this.instance.fromOutside = inst;
4968				}
4969				if(this.instance.currentItem) {
4970					this.instance._mouseDrag(event);
4971				}
4972			} else {
4973				if(this.instance.isOver) {
4974					this.instance.isOver = 0;
4975					this.instance.cancelHelperRemoval = true;
4976					this.instance.options.revert = false;
4977					this.instance._trigger("out", event, this.instance._uiHash(this.instance));
4978					this.instance._mouseStop(event, true);
4979					this.instance.options.helper = this.instance.options._helper;
4980					this.instance.currentItem.remove();
4981					if(this.instance.placeholder) {
4982						this.instance.placeholder.remove();
4983					}
4984					inst._trigger("fromSortable", event);
4985					inst.dropped = false;
4986				}
4987			}
4988		});
4989	}
4990});
4991$.ui.plugin.add("draggable", "cursor", {
4992	start: function() {
4993		var t = $("body"), o = $(this).data("ui-draggable").options;
4994		if (t.css("cursor")) {
4995			o._cursor = t.css("cursor");
4996		}
4997		t.css("cursor", o.cursor);
4998	},
4999	stop: function() {
5000		var o = $(this).data("ui-draggable").options;
5001		if (o._cursor) {
5002			$("body").css("cursor", o._cursor);
5003		}
5004	}
5005});
5006$.ui.plugin.add("draggable", "opacity", {
5007	start: function(event, ui) {
5008		var t = $(ui.helper), o = $(this).data("ui-draggable").options;
5009		if(t.css("opacity")) {
5010			o._opacity = t.css("opacity");
5011		}
5012		t.css("opacity", o.opacity);
5013	},
5014	stop: function(event, ui) {
5015		var o = $(this).data("ui-draggable").options;
5016		if(o._opacity) {
5017			$(ui.helper).css("opacity", o._opacity);
5018		}
5019	}
5020});
5021$.ui.plugin.add("draggable", "scroll", {
5022	start: function() {
5023		var i = $(this).data("ui-draggable");
5024		if(i.scrollParent[0] !== document && i.scrollParent[0].tagName !== "HTML") {
5025			i.overflowOffset = i.scrollParent.offset();
5026		}
5027	},
5028	drag: function( event ) {
5029		var i = $(this).data("ui-draggable"), o = i.options, scrolled = false;
5030		if(i.scrollParent[0] !== document && i.scrollParent[0].tagName !== "HTML") {
5031			if(!o.axis || o.axis !== "x") {
5032				if((i.overflowOffset.top + i.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity) {
5033					i.scrollParent[0].scrollTop = scrolled = i.scrollParent[0].scrollTop + o.scrollSpeed;
5034				} else if(event.pageY - i.overflowOffset.top < o.scrollSensitivity) {
5035					i.scrollParent[0].scrollTop = scrolled = i.scrollParent[0].scrollTop - o.scrollSpeed;
5036				}
5037			}
5038			if(!o.axis || o.axis !== "y") {
5039				if((i.overflowOffset.left + i.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity) {
5040					i.scrollParent[0].scrollLeft = scrolled = i.scrollParent[0].scrollLeft + o.scrollSpeed;
5041				} else if(event.pageX - i.overflowOffset.left < o.scrollSensitivity) {
5042					i.scrollParent[0].scrollLeft = scrolled = i.scrollParent[0].scrollLeft - o.scrollSpeed;
5043				}
5044			}
5045		} else {
5046			if(!o.axis || o.axis !== "x") {
5047				if(event.pageY - $(document).scrollTop() < o.scrollSensitivity) {
5048					scrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed);
5049				} else if($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity) {
5050					scrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed);
5051				}
5052			}
5053			if(!o.axis || o.axis !== "y") {
5054				if(event.pageX - $(document).scrollLeft() < o.scrollSensitivity) {
5055					scrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed);
5056				} else if($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity) {
5057					scrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed);
5058				}
5059			}
5060		}
5061		if(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour) {
5062			$.ui.ddmanager.prepareOffsets(i, event);
5063		}
5064	}
5065});
5066$.ui.plugin.add("draggable", "snap", {
5067	start: function() {
5068		var i = $(this).data("ui-draggable"),
5069			o = i.options;
5070		i.snapElements = [];
5071		$(o.snap.constructor !== String ? ( o.snap.items || ":data(ui-draggable)" ) : o.snap).each(function() {
5072			var $t = $(this),
5073				$o = $t.offset();
5074			if(this !== i.element[0]) {
5075				i.snapElements.push({
5076					item: this,
5077					width: $t.outerWidth(), height: $t.outerHeight(),
5078					top: $o.top, left: $o.left
5079				});
5080			}
5081		});
5082	},
5083	drag: function(event, ui) {
5084		var ts, bs, ls, rs, l, r, t, b, i, first,
5085			inst = $(this).data("ui-draggable"),
5086			o = inst.options,
5087			d = o.snapTolerance,
5088			x1 = ui.offset.left, x2 = x1 + inst.helperProportions.width,
5089			y1 = ui.offset.top, y2 = y1 + inst.helperProportions.height;
5090		for (i = inst.snapElements.length - 1; i >= 0; i--){
5091			l = inst.snapElements[i].left;
5092			r = l + inst.snapElements[i].width;
5093			t = inst.snapElements[i].top;
5094			b = t + inst.snapElements[i].height;
5095			if ( x2 < l - d || x1 > r + d || y2 < t - d || y1 > b + d || !$.contains( inst.snapElements[ i ].item.ownerDocument, inst.snapElements[ i ].item ) ) {
5096				if(inst.snapElements[i].snapping) {
5097					(inst.options.snap.release && inst.options.snap.release.call(inst.element, event, $.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item })));
5098				}
5099				inst.snapElements[i].snapping = false;
5100				continue;
5101			}
5102			if(o.snapMode !== "inner") {
5103				ts = Math.abs(t - y2) <= d;
5104				bs = Math.abs(b - y1) <= d;
5105				ls = Math.abs(l - x2) <= d;
5106				rs = Math.abs(r - x1) <= d;
5107				if(ts) {
5108					ui.position.top = inst._convertPositionTo("relative", { top: t - inst.helperProportions.height, left: 0 }).top - inst.margins.top;
5109				}
5110				if(bs) {
5111					ui.position.top = inst._convertPositionTo("relative", { top: b, left: 0 }).top - inst.margins.top;
5112				}
5113				if(ls) {
5114					ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l - inst.helperProportions.width }).left - inst.margins.left;
5115				}
5116				if(rs) {
5117					ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r }).left - inst.margins.left;
5118				}
5119			}
5120			first = (ts || bs || ls || rs);
5121			if(o.snapMode !== "outer") {
5122				ts = Math.abs(t - y1) <= d;
5123				bs = Math.abs(b - y2) <= d;
5124				ls = Math.abs(l - x1) <= d;
5125				rs = Math.abs(r - x2) <= d;
5126				if(ts) {
5127					ui.position.top = inst._convertPositionTo("relative", { top: t, left: 0 }).top - inst.margins.top;
5128				}
5129				if(bs) {
5130					ui.position.top = inst._convertPositionTo("relative", { top: b - inst.helperProportions.height, left: 0 }).top - inst.margins.top;
5131				}
5132				if(ls) {
5133					ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l }).left - inst.margins.left;
5134				}
5135				if(rs) {
5136					ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r - inst.helperProportions.width }).left - inst.margins.left;
5137				}
5138			}
5139			if(!inst.snapElements[i].snapping && (ts || bs || ls || rs || first)) {
5140				(inst.options.snap.snap && inst.options.snap.snap.call(inst.element, event, $.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item })));
5141			}
5142			inst.snapElements[i].snapping = (ts || bs || ls || rs || first);
5143		}
5144	}
5145});
5146$.ui.plugin.add("draggable", "stack", {
5147	start: function() {
5148		var min,
5149			o = this.data("ui-draggable").options,
5150			group = $.makeArray($(o.stack)).sort(function(a,b) {
5151				return (parseInt($(a).css("zIndex"),10) || 0) - (parseInt($(b).css("zIndex"),10) || 0);
5152			});
5153		if (!group.length) { return; }
5154		min = parseInt($(group[0]).css("zIndex"), 10) || 0;
5155		$(group).each(function(i) {
5156			$(this).css("zIndex", min + i);
5157		});
5158		this.css("zIndex", (min + group.length));
5159	}
5160});
5161$.ui.plugin.add("draggable", "zIndex", {
5162	start: function(event, ui) {
5163		var t = $(ui.helper), o = $(this).data("ui-draggable").options;
5164		if(t.css("zIndex")) {
5165			o._zIndex = t.css("zIndex");
5166		}
5167		t.css("zIndex", o.zIndex);
5168	},
5169	stop: function(event, ui) {
5170		var o = $(this).data("ui-draggable").options;
5171		if(o._zIndex) {
5172			$(ui.helper).css("zIndex", o._zIndex);
5173		}
5174	}
5175});
5176})(jQuery);
5177(function( $, undefined ) {
5178function num(v) {
5179	return parseInt(v, 10) || 0;
5180}
5181function isNumber(value) {
5182	return !isNaN(parseInt(value, 10));
5183}
5184$.widget("ui.resizable", $.ui.mouse, {
5185	version: "1.10.4",
5186	widgetEventPrefix: "resize",
5187	options: {
5188		alsoResize: false,
5189		animate: false,
5190		animateDuration: "slow",
5191		animateEasing: "swing",
5192		aspectRatio: false,
5193		autoHide: false,
5194		containment: false,
5195		ghost: false,
5196		grid: false,
5197		handles: "e,s,se",
5198		helper: false,
5199		maxHeight: null,
5200		maxWidth: null,
5201		minHeight: 10,
5202		minWidth: 10,
5203		zIndex: 90,
5204		resize: null,
5205		start: null,
5206		stop: null
5207	},
5208	_create: function() {
5209		var n, i, handle, axis, hname,
5210			that = this,
5211			o = this.options;
5212		this.element.addClass("ui-resizable");
5213		$.extend(this, {
5214			_aspectRatio: !!(o.aspectRatio),
5215			aspectRatio: o.aspectRatio,
5216			originalElement: this.element,
5217			_proportionallyResizeElements: [],
5218			_helper: o.helper || o.ghost || o.animate ? o.helper || "ui-resizable-helper" : null
5219		});
5220		if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)) {
5221			this.element.wrap(
5222				$("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({
5223					position: this.element.css("position"),
5224					width: this.element.outerWidth(),
5225					height: this.element.outerHeight(),
5226					top: this.element.css("top"),
5227					left: this.element.css("left")
5228				})
5229			);
5230			this.element = this.element.parent().data(
5231				"ui-resizable", this.element.data("ui-resizable")
5232			);
5233			this.elementIsWrapper = true;
5234			this.element.css({ marginLeft: this.originalElement.css("marginLeft"), marginTop: this.originalElement.css("marginTop"), marginRight: this.originalElement.css("marginRight"), marginBottom: this.originalElement.css("marginBottom") });
5235			this.originalElement.css({ marginLeft: 0, marginTop: 0, marginRight: 0, marginBottom: 0});
5236			this.originalResizeStyle = this.originalElement.css("resize");
5237			this.originalElement.css("resize", "none");
5238			this._proportionallyResizeElements.push(this.originalElement.css({ position: "static", zoom: 1, display: "block" }));
5239			this.originalElement.css({ margin: this.originalElement.css("margin") });
5240			this._proportionallyResize();
5241		}
5242		this.handles = o.handles || (!$(".ui-resizable-handle", this.element).length ? "e,s,se" : { 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" });
5243		if(this.handles.constructor === String) {
5244			if ( this.handles === "all") {
5245				this.handles = "n,e,s,w,se,sw,ne,nw";
5246			}
5247			n = this.handles.split(",");
5248			this.handles = {};
5249			for(i = 0; i < n.length; i++) {
5250				handle = $.trim(n[i]);
5251				hname = "ui-resizable-"+handle;
5252				axis = $("<div class='ui-resizable-handle " + hname + "'></div>");
5253				axis.css({ zIndex: o.zIndex });
5254				if ("se" === handle) {
5255					axis.addClass("ui-icon ui-icon-gripsmall-diagonal-se");
5256				}
5257				this.handles[handle] = ".ui-resizable-"+handle;
5258				this.element.append(axis);
5259			}
5260		}
5261		this._renderAxis = function(target) {
5262			var i, axis, padPos, padWrapper;
5263			target = target || this.element;
5264			for(i in this.handles) {
5265				if(this.handles[i].constructor === String) {
5266					this.handles[i] = $(this.handles[i], this.element).show();
5267				}
5268				if (this.elementIsWrapper && this.originalElement[0].nodeName.match(/textarea|input|select|button/i)) {
5269					axis = $(this.handles[i], this.element);
5270					padWrapper = /sw|ne|nw|se|n|s/.test(i) ? axis.outerHeight() : axis.outerWidth();
5271					padPos = [ "padding",
5272						/ne|nw|n/.test(i) ? "Top" :
5273						/se|sw|s/.test(i) ? "Bottom" :
5274						/^e$/.test(i) ? "Right" : "Left" ].join("");
5275					target.css(padPos, padWrapper);
5276					this._proportionallyResize();
5277				}
5278				if(!$(this.handles[i]).length) {
5279					continue;
5280				}
5281			}
5282		};
5283		this._renderAxis(this.element);
5284		this._handles = $(".ui-resizable-handle", this.element)
5285			.disableSelection();
5286		this._handles.mouseover(function() {
5287			if (!that.resizing) {
5288				if (this.className) {
5289					axis = this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);
5290				}
5291				that.axis = axis && axis[1] ? axis[1] : "se";
5292			}
5293		});
5294		if (o.autoHide) {
5295			this._handles.hide();
5296			$(this.element)
5297				.addClass("ui-resizable-autohide")
5298				.mouseenter(function() {
5299					if (o.disabled) {
5300						return;
5301					}
5302					$(this).removeClass("ui-resizable-autohide");
5303					that._handles.show();
5304				})
5305				.mouseleave(function(){
5306					if (o.disabled) {
5307						return;
5308					}
5309					if (!that.resizing) {
5310						$(this).addClass("ui-resizable-autohide");
5311						that._handles.hide();
5312					}
5313				});
5314		}
5315		this._mouseInit();
5316	},
5317	_destroy: function() {
5318		this._mouseDestroy();
5319		var wrapper,
5320			_destroy = function(exp) {
5321				$(exp).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing")
5322					.removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove();
5323			};
5324		if (this.elementIsWrapper) {
5325			_destroy(this.element);
5326			wrapper = this.element;
5327			this.originalElement.css({
5328				position: wrapper.css("position"),
5329				width: wrapper.outerWidth(),
5330				height: wrapper.outerHeight(),
5331				top: wrapper.css("top"),
5332				left: wrapper.css("left")
5333			}).insertAfter( wrapper );
5334			wrapper.remove();
5335		}
5336		this.originalElement.css("resize", this.originalResizeStyle);
5337		_destroy(this.originalElement);
5338		return this;
5339	},
5340	_mouseCapture: function(event) {
5341		var i, handle,
5342			capture = false;
5343		for (i in this.handles) {
5344			handle = $(this.handles[i])[0];
5345			if (handle === event.target || $.contains(handle, event.target)) {
5346				capture = true;
5347			}
5348		}
5349		return !this.options.disabled && capture;
5350	},
5351	_mouseStart: function(event) {
5352		var curleft, curtop, cursor,
5353			o = this.options,
5354			iniPos = this.element.position(),
5355			el = this.element;
5356		this.resizing = true;
5357		if ( (/absolute/).test( el.css("position") ) ) {
5358			el.css({ position: "absolute", top: el.css("top"), left: el.css("left") });
5359		} else if (el.is(".ui-draggable")) {
5360			el.css({ position: "absolute", top: iniPos.top, left: iniPos.left });
5361		}
5362		this._renderProxy();
5363		curleft = num(this.helper.css("left"));
5364		curtop = num(this.helper.css("top"));
5365		if (o.containment) {
5366			curleft += $(o.containment).scrollLeft() || 0;
5367			curtop += $(o.containment).scrollTop() || 0;
5368		}
5369		this.offset = this.helper.offset();
5370		this.position = { left: curleft, top: curtop };
5371		this.size = this._helper ? { width: this.helper.width(), height: this.helper.height() } : { width: el.width(), height: el.height() };
5372		this.originalSize = this._helper ? { width: el.outerWidth(), height: el.outerHeight() } : { width: el.width(), height: el.height() };
5373		this.originalPosition = { left: curleft, top: curtop };
5374		this.sizeDiff = { width: el.outerWidth() - el.width(), height: el.outerHeight() - el.height() };
5375		this.originalMousePosition = { left: event.pageX, top: event.pageY };
5376		this.aspectRatio = (typeof o.aspectRatio === "number") ? o.aspectRatio : ((this.originalSize.width / this.originalSize.height) || 1);
5377		cursor = $(".ui-resizable-" + this.axis).css("cursor");
5378		$("body").css("cursor", cursor === "auto" ? this.axis + "-resize" : cursor);
5379		el.addClass("ui-resizable-resizing");
5380		this._propagate("start", event);
5381		return true;
5382	},
5383	_mouseDrag: function(event) {
5384		var data,
5385			el = this.helper, props = {},
5386			smp = this.originalMousePosition,
5387			a = this.axis,
5388			prevTop = this.position.top,
5389			prevLeft = this.position.left,
5390			prevWidth = this.size.width,
5391			prevHeight = this.size.height,
5392			dx = (event.pageX-smp.left)||0,
5393			dy = (event.pageY-smp.top)||0,
5394			trigger = this._change[a];
5395		if (!trigger) {
5396			return false;
5397		}
5398		data = trigger.apply(this, [event, dx, dy]);
5399		this._updateVirtualBoundaries(event.shiftKey);
5400		if (this._aspectRatio || event.shiftKey) {
5401			data = this._updateRatio(data, event);
5402		}
5403		data = this._respectSize(data, event);
5404		this._updateCache(data);
5405		this._propagate("resize", event);
5406		if (this.position.top !== prevTop) {
5407			props.top = this.position.top + "px";
5408		}
5409		if (this.position.left !== prevLeft) {
5410			props.left = this.position.left + "px";
5411		}
5412		if (this.size.width !== prevWidth) {
5413			props.width = this.size.width + "px";
5414		}
5415		if (this.size.height !== prevHeight) {
5416			props.height = this.size.height + "px";
5417		}
5418		el.css(props);
5419		if (!this._helper && this._proportionallyResizeElements.length) {
5420			this._proportionallyResize();
5421		}
5422		if ( ! $.isEmptyObject(props) ) {
5423			this._trigger("resize", event, this.ui());
5424		}
5425		return false;
5426	},
5427	_mouseStop: function(event) {
5428		this.resizing = false;
5429		var pr, ista, soffseth, soffsetw, s, left, top,
5430			o = this.options, that = this;
5431		if(this._helper) {
5432			pr = this._proportionallyResizeElements;
5433			ista = pr.length && (/textarea/i).test(pr[0].nodeName);
5434			soffseth = ista && $.ui.hasScroll(pr[0], "left") /* TODO - jump height */ ? 0 : that.sizeDiff.height;
5435			soffsetw = ista ? 0 : that.sizeDiff.width;
5436			s = { width: (that.helper.width()  - soffsetw), height: (that.helper.height() - soffseth) };
5437			left = (parseInt(that.element.css("left"), 10) + (that.position.left - that.originalPosition.left)) || null;
5438			top = (parseInt(that.element.css("top"), 10) + (that.position.top - that.originalPosition.top)) || null;
5439			if (!o.animate) {
5440				this.element.css($.extend(s, { top: top, left: left }));
5441			}
5442			that.helper.height(that.size.height);
5443			that.helper.width(that.size.width);
5444			if (this._helper && !o.animate) {
5445				this._proportionallyResize();
5446			}
5447		}
5448		$("body").css("cursor", "auto");
5449		this.element.removeClass("ui-resizable-resizing");
5450		this._propagate("stop", event);
5451		if (this._helper) {
5452			this.helper.remove();
5453		}
5454		return false;
5455	},
5456	_updateVirtualBoundaries: function(forceAspectRatio) {
5457		var pMinWidth, pMaxWidth, pMinHeight, pMaxHeight, b,
5458			o = this.options;
5459		b = {
5460			minWidth: isNumber(o.minWidth) ? o.minWidth : 0,
5461			maxWidth: isNumber(o.maxWidth) ? o.maxWidth : Infinity,
5462			minHeight: isNumber(o.minHeight) ? o.minHeight : 0,
5463			maxHeight: isNumber(o.maxHeight) ? o.maxHeight : Infinity
5464		};
5465		if(this._aspectRatio || forceAspectRatio) {
5466			pMinWidth = b.minHeight * this.aspectRatio;
5467			pMinHeight = b.minWidth / this.aspectRatio;
5468			pMaxWidth = b.maxHeight * this.aspectRatio;
5469			pMaxHeight = b.maxWidth / this.aspectRatio;
5470			if(pMinWidth > b.minWidth) {
5471				b.minWidth = pMinWidth;
5472			}
5473			if(pMinHeight > b.minHeight) {
5474				b.minHeight = pMinHeight;
5475			}
5476			if(pMaxWidth < b.maxWidth) {
5477				b.maxWidth = pMaxWidth;
5478			}
5479			if(pMaxHeight < b.maxHeight) {
5480				b.maxHeight = pMaxHeight;
5481			}
5482		}
5483		this._vBoundaries = b;
5484	},
5485	_updateCache: function(data) {
5486		this.offset = this.helper.offset();
5487		if (isNumber(data.left)) {
5488			this.position.left = data.left;
5489		}
5490		if (isNumber(data.top)) {
5491			this.position.top = data.top;
5492		}
5493		if (isNumber(data.height)) {
5494			this.size.height = data.height;
5495		}
5496		if (isNumber(data.width)) {
5497			this.size.width = data.width;
5498		}
5499	},
5500	_updateRatio: function( data ) {
5501		var cpos = this.position,
5502			csize = this.size,
5503			a = this.axis;
5504		if (isNumber(data.height)) {
5505			data.width = (data.height * this.aspectRatio);
5506		} else if (isNumber(data.width)) {
5507			data.height = (data.width / this.aspectRatio);
5508		}
5509		if (a === "sw") {
5510			data.left = cpos.left + (csize.width - data.width);
5511			data.top = null;
5512		}
5513		if (a === "nw") {
5514			data.top = cpos.top + (csize.height - data.height);
5515			data.left = cpos.left + (csize.width - data.width);
5516		}
5517		return data;
5518	},
5519	_respectSize: function( data ) {
5520		var o = this._vBoundaries,
5521			a = this.axis,
5522			ismaxw = isNumber(data.width) && o.maxWidth && (o.maxWidth < data.width), ismaxh = isNumber(data.height) && o.maxHeight && (o.maxHeight < data.height),
5523			isminw = isNumber(data.width) && o.minWidth && (o.minWidth > data.width), isminh = isNumber(data.height) && o.minHeight && (o.minHeight > data.height),
5524			dw = this.originalPosition.left + this.originalSize.width,
5525			dh = this.position.top + this.size.height,
5526			cw = /sw|nw|w/.test(a), ch = /nw|ne|n/.test(a);
5527		if (isminw) {
5528			data.width = o.minWidth;
5529		}
5530		if (isminh) {
5531			data.height = o.minHeight;
5532		}
5533		if (ismaxw) {
5534			data.width = o.maxWidth;
5535		}
5536		if (ismaxh) {
5537			data.height = o.maxHeight;
5538		}
5539		if (isminw && cw) {
5540			data.left = dw - o.minWidth;
5541		}
5542		if (ismaxw && cw) {
5543			data.left = dw - o.maxWidth;
5544		}
5545		if (isminh && ch) {
5546			data.top = dh - o.minHeight;
5547		}
5548		if (ismaxh && ch) {
5549			data.top = dh - o.maxHeight;
5550		}
5551		if (!data.width && !data.height && !data.left && data.top) {
5552			data.top = null;
5553		} else if (!data.width && !data.height && !data.top && data.left) {
5554			data.left = null;
5555		}
5556		return data;
5557	},
5558	_proportionallyResize: function() {
5559		if (!this._proportionallyResizeElements.length) {
5560			return;
5561		}
5562		var i, j, borders, paddings, prel,
5563			element = this.helper || this.element;
5564		for ( i=0; i < this._proportionallyResizeElements.length; i++) {
5565			prel = this._proportionallyResizeElements[i];
5566			if (!this.borderDif) {
5567				this.borderDif = [];
5568				borders = [prel.css("borderTopWidth"), prel.css("borderRightWidth"), prel.css("borderBottomWidth"), prel.css("borderLeftWidth")];
5569				paddings = [prel.css("paddingTop"), prel.css("paddingRight"), prel.css("paddingBottom"), prel.css("paddingLeft")];
5570				for ( j = 0; j < borders.length; j++ ) {
5571					this.borderDif[ j ] = ( parseInt( borders[ j ], 10 ) || 0 ) + ( parseInt( paddings[ j ], 10 ) || 0 );
5572				}
5573			}
5574			prel.css({
5575				height: (element.height() - this.borderDif[0] - this.borderDif[2]) || 0,
5576				width: (element.width() - this.borderDif[1] - this.borderDif[3]) || 0
5577			});
5578		}
5579	},
5580	_renderProxy: function() {
5581		var el = this.element, o = this.options;
5582		this.elementOffset = el.offset();
5583		if(this._helper) {
5584			this.helper = this.helper || $("<div style='overflow:hidden;'></div>");
5585			this.helper.addClass(this._helper).css({
5586				width: this.element.outerWidth() - 1,
5587				height: this.element.outerHeight() - 1,
5588				position: "absolute",
5589				left: this.elementOffset.left +"px",
5590				top: this.elementOffset.top +"px",
5591				zIndex: ++o.zIndex
5592			});
5593			this.helper
5594				.appendTo("body")
5595				.disableSelection();
5596		} else {
5597			this.helper = this.element;
5598		}
5599	},
5600	_change: {
5601		e: function(event, dx) {
5602			return { width: this.originalSize.width + dx };
5603		},
5604		w: function(event, dx) {
5605			var cs = this.originalSize, sp = this.originalPosition;
5606			return { left: sp.left + dx, width: cs.width - dx };
5607		},
5608		n: function(event, dx, dy) {
5609			var cs = this.originalSize, sp = this.originalPosition;
5610			return { top: sp.top + dy, height: cs.height - dy };
5611		},
5612		s: function(event, dx, dy) {
5613			return { height: this.originalSize.height + dy };
5614		},
5615		se: function(event, dx, dy) {
5616			return $.extend(this._change.s.apply(this, arguments), this._change.e.apply(this, [event, dx, dy]));
5617		},
5618		sw: function(event, dx, dy) {
5619			return $.extend(this._change.s.apply(this, arguments), this._change.w.apply(this, [event, dx, dy]));
5620		},
5621		ne: function(event, dx, dy) {
5622			return $.extend(this._change.n.apply(this, arguments), this._change.e.apply(this, [event, dx, dy]));
5623		},
5624		nw: function(event, dx, dy) {
5625			return $.extend(this._change.n.apply(this, arguments), this._change.w.apply(this, [event, dx, dy]));
5626		}
5627	},
5628	_propagate: function(n, event) {
5629		$.ui.plugin.call(this, n, [event, this.ui()]);
5630		(n !== "resize" && this._trigger(n, event, this.ui()));
5631	},
5632	plugins: {},
5633	ui: function() {
5634		return {
5635			originalElement: this.originalElement,
5636			element: this.element,
5637			helper: this.helper,
5638			position: this.position,
5639			size: this.size,
5640			originalSize: this.originalSize,
5641			originalPosition: this.originalPosition
5642		};
5643	}
5644});
5645$.ui.plugin.add("resizable", "animate", {
5646	stop: function( event ) {
5647		var that = $(this).data("ui-resizable"),
5648			o = that.options,
5649			pr = that._proportionallyResizeElements,
5650			ista = pr.length && (/textarea/i).test(pr[0].nodeName),
5651			soffseth = ista && $.ui.hasScroll(pr[0], "left") ? 0 : that.sizeDiff.height,
5652			soffsetw = ista ? 0 : that.sizeDiff.width,
5653			style = { width: (that.size.width - soffsetw), height: (that.size.height - soffseth) },
5654			left = (parseInt(that.element.css("left"), 10) + (that.position.left - that.originalPosition.left)) || null,
5655			top = (parseInt(that.element.css("top"), 10) + (that.position.top - that.originalPosition.top)) || null;
5656		that.element.animate(
5657			$.extend(style, top && left ? { top: top, left: left } : {}), {
5658				duration: o.animateDuration,
5659				easing: o.animateEasing,
5660				step: function() {
5661					var data = {
5662						width: parseInt(that.element.css("width"), 10),
5663						height: parseInt(that.element.css("height"), 10),
5664						top: parseInt(that.element.css("top"), 10),
5665						left: parseInt(that.element.css("left"), 10)
5666					};
5667					if (pr && pr.length) {
5668						$(pr[0]).css({ width: data.width, height: data.height });
5669					}
5670					that._updateCache(data);
5671					that._propagate("resize", event);
5672				}
5673			}
5674		);
5675	}
5676});
5677$.ui.plugin.add("resizable", "containment", {
5678	start: function() {
5679		var element, p, co, ch, cw, width, height,
5680			that = $(this).data("ui-resizable"),
5681			o = that.options,
5682			el = that.element,
5683			oc = o.containment,
5684			ce = (oc instanceof $) ? oc.get(0) : (/parent/.test(oc)) ? el.parent().get(0) : oc;
5685		if (!ce) {
5686			return;
5687		}
5688		that.containerElement = $(ce);
5689		if (/document/.test(oc) || oc === document) {
5690			that.containerOffset = { left: 0, top: 0 };
5691			that.containerPosition = { left: 0, top: 0 };
5692			that.parentData = {
5693				element: $(document), left: 0, top: 0,
5694				width: $(document).width(), height: $(document).height() || document.body.parentNode.scrollHeight
5695			};
5696		}
5697		else {
5698			element = $(ce);
5699			p = [];
5700			$([ "Top", "Right", "Left", "Bottom" ]).each(function(i, name) { p[i] = num(element.css("padding" + name)); });
5701			that.containerOffset = element.offset();
5702			that.containerPosition = element.position();
5703			that.containerSize = { height: (element.innerHeight() - p[3]), width: (element.innerWidth() - p[1]) };
5704			co = that.containerOffset;
5705			ch = that.containerSize.height;
5706			cw = that.containerSize.width;
5707			width = ($.ui.hasScroll(ce, "left") ? ce.scrollWidth : cw );
5708			height = ($.ui.hasScroll(ce) ? ce.scrollHeight : ch);
5709			that.parentData = {
5710				element: ce, left: co.left, top: co.top, width: width, height: height
5711			};
5712		}
5713	},
5714	resize: function( event ) {
5715		var woset, hoset, isParent, isOffsetRelative,
5716			that = $(this).data("ui-resizable"),
5717			o = that.options,
5718			co = that.containerOffset, cp = that.position,
5719			pRatio = that._aspectRatio || event.shiftKey,
5720			cop = { top:0, left:0 }, ce = that.containerElement;
5721
5722		if (ce[0] !== document && (/static/).test(ce.css("position"))) {
5723			cop = co;
5724		}
5725		if (cp.left < (that._helper ? co.left : 0)) {
5726			that.size.width = that.size.width + (that._helper ? (that.position.left - co.left) : (that.position.left - cop.left));
5727			if (pRatio) {
5728				that.size.height = that.size.width / that.aspectRatio;
5729			}
5730			that.position.left = o.helper ? co.left : 0;
5731		}
5732		if (cp.top < (that._helper ? co.top : 0)) {
5733			that.size.height = that.size.height + (that._helper ? (that.position.top - co.top) : that.position.top);
5734			if (pRatio) {
5735				that.size.width = that.size.height * that.aspectRatio;
5736			}
5737			that.position.top = that._helper ? co.top : 0;
5738		}
5739		that.offset.left = that.parentData.left+that.position.left;
5740		that.offset.top = that.parentData.top+that.position.top;
5741		woset = Math.abs( (that._helper ? that.offset.left - cop.left : (that.offset.left - cop.left)) + that.sizeDiff.width );
5742		hoset = Math.abs( (that._helper ? that.offset.top - cop.top : (that.offset.top - co.top)) + that.sizeDiff.height );
5743		isParent = that.containerElement.get(0) === that.element.parent().get(0);
5744		isOffsetRelative = /relative|absolute/.test(that.containerElement.css("position"));
5745		if ( isParent && isOffsetRelative ) {
5746			woset -= Math.abs( that.parentData.left );
5747		}
5748		if (woset + that.size.width >= that.parentData.width) {
5749			that.size.width = that.parentData.width - woset;
5750			if (pRatio) {
5751				that.size.height = that.size.width / that.aspectRatio;
5752			}
5753		}
5754		if (hoset + that.size.height >= that.parentData.height) {
5755			that.size.height = that.parentData.height - hoset;
5756			if (pRatio) {
5757				that.size.width = that.size.height * that.aspectRatio;
5758			}
5759		}
5760	},
5761	stop: function(){
5762		var that = $(this).data("ui-resizable"),
5763			o = that.options,
5764			co = that.containerOffset,
5765			cop = that.containerPosition,
5766			ce = that.containerElement,
5767			helper = $(that.helper),
5768			ho = helper.offset(),
5769			w = helper.outerWidth() - that.sizeDiff.width,
5770			h = helper.outerHeight() - that.sizeDiff.height;
5771		if (that._helper && !o.animate && (/relative/).test(ce.css("position"))) {
5772			$(this).css({ left: ho.left - cop.left - co.left, width: w, height: h });
5773		}
5774		if (that._helper && !o.animate && (/static/).test(ce.css("position"))) {
5775			$(this).css({ left: ho.left - cop.left - co.left, width: w, height: h });
5776		}
5777	}
5778});
5779$.ui.plugin.add("resizable", "alsoResize", {
5780	start: function () {
5781		var that = $(this).data("ui-resizable"),
5782			o = that.options,
5783			_store = function (exp) {
5784				$(exp).each(function() {
5785					var el = $(this);
5786					el.data("ui-resizable-alsoresize", {
5787						width: parseInt(el.width(), 10), height: parseInt(el.height(), 10),
5788						left: parseInt(el.css("left"), 10), top: parseInt(el.css("top"), 10)
5789					});
5790				});
5791			};
5792		if (typeof(o.alsoResize) === "object" && !o.alsoResize.parentNode) {
5793			if (o.alsoResize.length) { o.alsoResize = o.alsoResize[0]; _store(o.alsoResize); }
5794			else { $.each(o.alsoResize, function (exp) { _store(exp); }); }
5795		}else{
5796			_store(o.alsoResize);
5797		}
5798	},
5799	resize: function (event, ui) {
5800		var that = $(this).data("ui-resizable"),
5801			o = that.options,
5802			os = that.originalSize,
5803			op = that.originalPosition,
5804			delta = {
5805				height: (that.size.height - os.height) || 0, width: (that.size.width - os.width) || 0,
5806				top: (that.position.top - op.top) || 0, left: (that.position.left - op.left) || 0
5807			},
5808			_alsoResize = function (exp, c) {
5809				$(exp).each(function() {
5810					var el = $(this), start = $(this).data("ui-resizable-alsoresize"), style = {},
5811						css = c && c.length ? c : el.parents(ui.originalElement[0]).length ? ["width", "height"] : ["width", "height", "top", "left"];
vendor: 10,866 bytes, lines 5812-6175
5812					$.each(css, function (i, prop) {
5813						var sum = (start[prop]||0) + (delta[prop]||0);
5814						if (sum && sum >= 0) {
5815							style[prop] = sum || null;
5816						}
5817					});
5818					el.css(style);
5819				});
5820			};
5821		if (typeof(o.alsoResize) === "object" && !o.alsoResize.nodeType) {
5822			$.each(o.alsoResize, function (exp, c) { _alsoResize(exp, c); });
5823		}else{
5824			_alsoResize(o.alsoResize);
5825		}
5826	},
5827	stop: function () {
5828		$(this).removeData("resizable-alsoresize");
5829	}
5830});
5831$.ui.plugin.add("resizable", "ghost", {
5832	start: function() {
5833		var that = $(this).data("ui-resizable"), o = that.options, cs = that.size;
5834		that.ghost = that.originalElement.clone();
5835		that.ghost
5836			.css({ opacity: 0.25, display: "block", position: "relative", height: cs.height, width: cs.width, margin: 0, left: 0, top: 0 })
5837			.addClass("ui-resizable-ghost")
5838			.addClass(typeof o.ghost === "string" ? o.ghost : "");
5839		that.ghost.appendTo(that.helper);
5840	},
5841	resize: function(){
5842		var that = $(this).data("ui-resizable");
5843		if (that.ghost) {
5844			that.ghost.css({ position: "relative", height: that.size.height, width: that.size.width });
5845		}
5846	},
5847	stop: function() {
5848		var that = $(this).data("ui-resizable");
5849		if (that.ghost && that.helper) {
5850			that.helper.get(0).removeChild(that.ghost.get(0));
5851		}
5852	}
5853});
5854$.ui.plugin.add("resizable", "grid", {
5855	resize: function() {
5856		var that = $(this).data("ui-resizable"),
5857			o = that.options,
5858			cs = that.size,
5859			os = that.originalSize,
5860			op = that.originalPosition,
5861			a = that.axis,
5862			grid = typeof o.grid === "number" ? [o.grid, o.grid] : o.grid,
5863			gridX = (grid[0]||1),
5864			gridY = (grid[1]||1),
5865			ox = Math.round((cs.width - os.width) / gridX) * gridX,
5866			oy = Math.round((cs.height - os.height) / gridY) * gridY,
5867			newWidth = os.width + ox,
5868			newHeight = os.height + oy,
5869			isMaxWidth = o.maxWidth && (o.maxWidth < newWidth),
5870			isMaxHeight = o.maxHeight && (o.maxHeight < newHeight),
5871			isMinWidth = o.minWidth && (o.minWidth > newWidth),
5872			isMinHeight = o.minHeight && (o.minHeight > newHeight);
5873		o.grid = grid;
5874		if (isMinWidth) {
5875			newWidth = newWidth + gridX;
5876		}
5877		if (isMinHeight) {
5878			newHeight = newHeight + gridY;
5879		}
5880		if (isMaxWidth) {
5881			newWidth = newWidth - gridX;
5882		}
5883		if (isMaxHeight) {
5884			newHeight = newHeight - gridY;
5885		}
5886		if (/^(se|s|e)$/.test(a)) {
5887			that.size.width = newWidth;
5888			that.size.height = newHeight;
5889		} else if (/^(ne)$/.test(a)) {
5890			that.size.width = newWidth;
5891			that.size.height = newHeight;
5892			that.position.top = op.top - oy;
5893		} else if (/^(sw)$/.test(a)) {
5894			that.size.width = newWidth;
5895			that.size.height = newHeight;
5896			that.position.left = op.left - ox;
5897		} else {
5898			if ( newHeight - gridY > 0 ) {
5899				that.size.height = newHeight;
5900				that.position.top = op.top - oy;
5901			} else {
5902				that.size.height = gridY;
5903				that.position.top = op.top + os.height - gridY;
5904			}
5905			if ( newWidth - gridX > 0 ) {
5906				that.size.width = newWidth;
5907				that.position.left = op.left - ox;
5908			} else {
5909				that.size.width = gridX;
5910				that.position.left = op.left + os.width - gridX;
5911			}
5912		}
5913	}
5914});
5915})(jQuery);
5916(function( $, undefined ) {
5917var lastActive,
5918	baseClasses = "ui-button ui-widget ui-state-default ui-corner-all",
5919	typeClasses = "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",
5920	formResetHandler = function() {
5921		var form = $( this );
5922		setTimeout(function() {
5923			form.find( ":ui-button" ).button( "refresh" );
5924		}, 1 );
5925	},
5926	radioGroup = function( radio ) {
5927		var name = radio.name,
5928			form = radio.form,
5929			radios = $( [] );
5930		if ( name ) {
5931			name = name.replace( /'/g, "\\'" );
5932			if ( form ) {
5933				radios = $( form ).find( "[name='" + name + "']" );
5934			} else {
5935				radios = $( "[name='" + name + "']", radio.ownerDocument )
5936					.filter(function() {
5937						return !this.form;
5938					});
5939			}
5940		}
5941		return radios;
5942	};
5943$.widget( "ui.button", {
5944	version: "1.10.4",
5945	defaultElement: "<button>",
5946	options: {
5947		disabled: null,
5948		text: true,
5949		label: null,
5950		icons: {
5951			primary: null,
5952			secondary: null
5953		}
5954	},
5955	_create: function() {
5956		this.element.closest( "form" )
5957			.unbind( "reset" + this.eventNamespace )
5958			.bind( "reset" + this.eventNamespace, formResetHandler );
5959		if ( typeof this.options.disabled !== "boolean" ) {
5960			this.options.disabled = !!this.element.prop( "disabled" );
5961		} else {
5962			this.element.prop( "disabled", this.options.disabled );
5963		}
5964		this._determineButtonType();
5965		this.hasTitle = !!this.buttonElement.attr( "title" );
5966		var that = this,
5967			options = this.options,
5968			toggleButton = this.type === "checkbox" || this.type === "radio",
5969			activeClass = !toggleButton ? "ui-state-active" : "";
5970		if ( options.label === null ) {
5971			options.label = (this.type === "input" ? this.buttonElement.val() : this.buttonElement.html());
5972		}
5973		this._hoverable( this.buttonElement );
5974		this.buttonElement
5975			.addClass( baseClasses )
5976			.attr( "role", "button" )
5977			.bind( "mouseenter" + this.eventNamespace, function() {
5978				if ( options.disabled ) {
5979					return;
5980				}
5981				if ( this === lastActive ) {
5982					$( this ).addClass( "ui-state-active" );
5983				}
5984			})
5985			.bind( "mouseleave" + this.eventNamespace, function() {
5986				if ( options.disabled ) {
5987					return;
5988				}
5989				$( this ).removeClass( activeClass );
5990			})
5991			.bind( "click" + this.eventNamespace, function( event ) {
5992				if ( options.disabled ) {
5993					event.preventDefault();
5994					event.stopImmediatePropagation();
5995				}
5996			});
5997		this._on({
5998			focus: function() {
5999				this.buttonElement.addClass( "ui-state-focus" );
6000			},
6001			blur: function() {
6002				this.buttonElement.removeClass( "ui-state-focus" );
6003			}
6004		});
6005		if ( toggleButton ) {
6006			this.element.bind( "change" + this.eventNamespace, function() {
6007				that.refresh();
6008			});
6009		}
6010		if ( this.type === "checkbox" ) {
6011			this.buttonElement.bind( "click" + this.eventNamespace, function() {
6012				if ( options.disabled ) {
6013					return false;
6014				}
6015			});
6016		} else if ( this.type === "radio" ) {
6017			this.buttonElement.bind( "click" + this.eventNamespace, function() {
6018				if ( options.disabled ) {
6019					return false;
6020				}
6021				$( this ).addClass( "ui-state-active" );
6022				that.buttonElement.attr( "aria-pressed", "true" );
6023
6024				var radio = that.element[ 0 ];
6025				radioGroup( radio )
6026					.not( radio )
6027					.map(function() {
6028						return $( this ).button( "widget" )[ 0 ];
6029					})
6030					.removeClass( "ui-state-active" )
6031					.attr( "aria-pressed", "false" );
6032			});
6033		} else {
6034			this.buttonElement
6035				.bind( "mousedown" + this.eventNamespace, function() {
6036					if ( options.disabled ) {
6037						return false;
6038					}
6039					$( this ).addClass( "ui-state-active" );
6040					lastActive = this;
6041					that.document.one( "mouseup", function() {
6042						lastActive = null;
6043					});
6044				})
6045				.bind( "mouseup" + this.eventNamespace, function() {
6046					if ( options.disabled ) {
6047						return false;
6048					}
6049					$( this ).removeClass( "ui-state-active" );
6050				})
6051				.bind( "keydown" + this.eventNamespace, function(event) {
6052					if ( options.disabled ) {
6053						return false;
6054					}
6055					if ( event.keyCode === $.ui.keyCode.SPACE || event.keyCode === $.ui.keyCode.ENTER ) {
6056						$( this ).addClass( "ui-state-active" );
6057					}
6058				})
6059				.bind( "keyup" + this.eventNamespace + " blur" + this.eventNamespace, function() {
6060					$( this ).removeClass( "ui-state-active" );
6061				});
6062			if ( this.buttonElement.is("a") ) {
6063				this.buttonElement.keyup(function(event) {
6064					if ( event.keyCode === $.ui.keyCode.SPACE ) {
6065						$( this ).click();
6066					}
6067				});
6068			}
6069		}
6070		this._setOption( "disabled", options.disabled );
6071		this._resetButton();
6072	},
6073	_determineButtonType: function() {
6074		var ancestor, labelSelector, checked;
6075		if ( this.element.is("[type=checkbox]") ) {
6076			this.type = "checkbox";
6077		} else if ( this.element.is("[type=radio]") ) {
6078			this.type = "radio";
6079		} else if ( this.element.is("input") ) {
6080			this.type = "input";
6081		} else {
6082			this.type = "button";
6083		}
6084		if ( this.type === "checkbox" || this.type === "radio" ) {
6085			ancestor = this.element.parents().last();
6086			labelSelector = "label[for='" + this.element.attr("id") + "']";
6087			this.buttonElement = ancestor.find( labelSelector );
6088			if ( !this.buttonElement.length ) {
6089				ancestor = ancestor.length ? ancestor.siblings() : this.element.siblings();
6090				this.buttonElement = ancestor.filter( labelSelector );
6091				if ( !this.buttonElement.length ) {
6092					this.buttonElement = ancestor.find( labelSelector );
6093				}
6094			}
6095			this.element.addClass( "ui-helper-hidden-accessible" );
6096			checked = this.element.is( ":checked" );
6097			if ( checked ) {
6098				this.buttonElement.addClass( "ui-state-active" );
6099			}
6100			this.buttonElement.prop( "aria-pressed", checked );
6101		} else {
6102			this.buttonElement = this.element;
6103		}
6104	},
6105	widget: function() {
6106		return this.buttonElement;
6107	},
6108	_destroy: function() {
6109		this.element
6110			.removeClass( "ui-helper-hidden-accessible" );
6111		this.buttonElement
6112			.removeClass( baseClasses + " ui-state-active " + typeClasses )
6113			.removeAttr( "role" )
6114			.removeAttr( "aria-pressed" )
6115			.html( this.buttonElement.find(".ui-button-text").html() );
6116
6117		if ( !this.hasTitle ) {
6118			this.buttonElement.removeAttr( "title" );
6119		}
6120	},
6121	_setOption: function( key, value ) {
6122		this._super( key, value );
6123		if ( key === "disabled" ) {
6124			this.element.prop( "disabled", !!value );
6125			if ( value ) {
6126				this.buttonElement.removeClass( "ui-state-focus" );
6127			}
6128			return;
6129		}
6130		this._resetButton();
6131	},
6132	refresh: function() {
6133		var isDisabled = this.element.is( "input, button" ) ? this.element.is( ":disabled" ) : this.element.hasClass( "ui-button-disabled" );
6134		if ( isDisabled !== this.options.disabled ) {
6135			this._setOption( "disabled", isDisabled );
6136		}
6137		if ( this.type === "radio" ) {
6138			radioGroup( this.element[0] ).each(function() {
6139				if ( $( this ).is( ":checked" ) ) {
6140					$( this ).button( "widget" )
6141						.addClass( "ui-state-active" )
6142						.attr( "aria-pressed", "true" );
6143				} else {
6144					$( this ).button( "widget" )
6145						.removeClass( "ui-state-active" )
6146						.attr( "aria-pressed", "false" );
6147				}
6148			});
6149		} else if ( this.type === "checkbox" ) {
6150			if ( this.element.is( ":checked" ) ) {
6151				this.buttonElement
6152					.addClass( "ui-state-active" )
6153					.attr( "aria-pressed", "true" );
6154			} else {
6155				this.buttonElement
6156					.removeClass( "ui-state-active" )
6157					.attr( "aria-pressed", "false" );
6158			}
6159		}
6160	},
6161	_resetButton: function() {
6162		if ( this.type === "input" ) {
6163			if ( this.options.label ) {
6164				this.element.val( this.options.label );
6165			}
6166			return;
6167		}
6168		var buttonElement = this.buttonElement.removeClass( typeClasses ),
6169			buttonText = $( "<span></span>", this.document[0] )
6170				.addClass( "ui-button-text" )
6171				.html( this.options.label )
6172				.appendTo( buttonElement.empty() )
6173				.text(),
6174			icons = this.options.icons,
6175			multipleIcons = icons.primary && icons.secondary,
vendor: 4,703 bytes, lines 6176-6330
6176			buttonClasses = [];
6177		if ( icons.primary || icons.secondary ) {
6178			if ( this.options.text ) {
6179				buttonClasses.push( "ui-button-text-icon" + ( multipleIcons ? "s" : ( icons.primary ? "-primary" : "-secondary" ) ) );
6180			}
6181			if ( icons.primary ) {
6182				buttonElement.prepend( "<span class='ui-button-icon-primary ui-icon " + icons.primary + "'></span>" );
6183			}
6184			if ( icons.secondary ) {
6185				buttonElement.append( "<span class='ui-button-icon-secondary ui-icon " + icons.secondary + "'></span>" );
6186			}
6187			if ( !this.options.text ) {
6188				buttonClasses.push( multipleIcons ? "ui-button-icons-only" : "ui-button-icon-only" );
6189				if ( !this.hasTitle ) {
6190					buttonElement.attr( "title", $.trim( buttonText ) );
6191				}
6192			}
6193		} else {
6194			buttonClasses.push( "ui-button-text-only" );
6195		}
6196		buttonElement.addClass( buttonClasses.join( " " ) );
6197	}
6198});
6199$.widget( "ui.buttonset", {
6200	version: "1.10.4",
6201	options: {
6202		items: "button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)"
6203	},
6204	_create: function() {
6205		this.element.addClass( "ui-buttonset" );
6206	},
6207	_init: function() {
6208		this.refresh();
6209	},
6210	_setOption: function( key, value ) {
6211		if ( key === "disabled" ) {
6212			this.buttons.button( "option", key, value );
6213		}
6214		this._super( key, value );
6215	},
6216	refresh: function() {
6217		var rtl = this.element.css( "direction" ) === "rtl";
6218		this.buttons = this.element.find( this.options.items )
6219			.filter( ":ui-button" )
6220				.button( "refresh" )
6221			.end()
6222			.not( ":ui-button" )
6223				.button()
6224			.end()
6225			.map(function() {
6226				return $( this ).button( "widget" )[ 0 ];
6227			})
6228				.removeClass( "ui-corner-all ui-corner-left ui-corner-right" )
6229				.filter( ":first" )
6230					.addClass( rtl ? "ui-corner-right" : "ui-corner-left" )
6231				.end()
6232				.filter( ":last" )
6233					.addClass( rtl ? "ui-corner-left" : "ui-corner-right" )
6234				.end()
6235			.end();
6236	},
6237	_destroy: function() {
6238		this.element.removeClass( "ui-buttonset" );
6239		this.buttons
6240			.map(function() {
6241				return $( this ).button( "widget" )[ 0 ];
6242			})
6243				.removeClass( "ui-corner-left ui-corner-right" )
6244			.end()
6245			.button( "destroy" );
6246	}
6247});
6248}( jQuery ) );
6249(function( $, undefined ) {
6250$.extend($.ui, { datepicker: { version: "1.10.4" } });
6251var PROP_NAME = "datepicker",
6252	instActive;
6253function Datepicker() {
6254	this._curInst = null;
6255	this._keyEvent = false;
6256	this._disabledInputs = [];
6257	this._datepickerShowing = false;
6258	this._inDialog = false;
6259	this._mainDivId = "ui-datepicker-div";
6260	this._inlineClass = "ui-datepicker-inline";
6261	this._appendClass = "ui-datepicker-append";
6262	this._triggerClass = "ui-datepicker-trigger";
6263	this._dialogClass = "ui-datepicker-dialog";
6264	this._disableClass = "ui-datepicker-disabled";
6265	this._unselectableClass = "ui-datepicker-unselectable";
6266	this._currentClass = "ui-datepicker-current-day";
6267	this._dayOverClass = "ui-datepicker-days-cell-over";
6268	this.regional = [];
6269	this.regional[""] = {
6270		closeText: "Done",
6271		prevText: "Prev",
6272		nextText: "Next",
6273		currentText: "Today",
6274		monthNames: ["January","February","March","April","May","June",
6275			"July","August","September","October","November","December"],
6276		monthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
6277		dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
6278		dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
6279		dayNamesMin: ["Su","Mo","Tu","We","Th","Fr","Sa"],
6280		weekHeader: "Wk",
6281		dateFormat: "mm/dd/yy",
6282		firstDay: 0,
6283		isRTL: false,
6284		showMonthAfterYear: false,
6285		yearSuffix: ""
6286	};
6287	this._defaults = {
6288		showOn: "focus",
6289		showAnim: "show",
6290		showOptions: {},
6291		defaultDate: null,
6292		appendText: "",
6293		buttonText: "...",
6294		buttonImage: "",
6295		buttonImageOnly: false,
6296		hideIfNoPrevNext: false,
6297		navigationAsDateFormat: false,
6298		gotoCurrent: false,
6299		changeMonth: false,
6300		changeYear: false,
6301		yearRange: "c-10:c+10",
6302		showOtherMonths: false,
6303		selectOtherMonths: false,
6304		showWeek: false,
6305		calculateWeek: this.iso8601Week,
6306		shortYearCutoff: "+10",
6307		minDate: null,
6308		maxDate: null,
6309		duration: "fast",
6310		beforeShowDay: null,
6311		beforeShow: null,
6312		onSelect: null,
6313		onChangeMonthYear: null,
6314		onClose: null,
6315		numberOfMonths: 1,
6316		showCurrentAtPos: 0,
6317		stepMonths: 1,
6318		stepBigMonths: 12,
6319		altField: "",
6320		altFormat: "",
6321		constrainInput: true,
6322		showButtonPanel: false,
6323		autoSize: false,
6324		disabled: false
6325	};
6326	$.extend(this._defaults, this.regional[""]);
6327	this.dpDiv = bindHover($("<div id='" + this._mainDivId + "' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"));
6328}
6329$.extend(Datepicker.prototype, {
6330	markerClassName: "hasDatepicker",
vendor: 6,228 bytes, lines 6331-6508
6331	maxRows: 4,
6332	_widgetDatepicker: function() {
6333		return this.dpDiv;
6334	},
6335	setDefaults: function(settings) {
6336		extendRemove(this._defaults, settings || {});
6337		return this;
6338	},
6339	_attachDatepicker: function(target, settings) {
6340		var nodeName, inline, inst;
6341		nodeName = target.nodeName.toLowerCase();
6342		inline = (nodeName === "div" || nodeName === "span");
6343		if (!target.id) {
6344			this.uuid += 1;
6345			target.id = "dp" + this.uuid;
6346		}
6347		inst = this._newInst($(target), inline);
6348		inst.settings = $.extend({}, settings || {});
6349		if (nodeName === "input") {
6350			this._connectDatepicker(target, inst);
6351		} else if (inline) {
6352			this._inlineDatepicker(target, inst);
6353		}
6354	},
6355	_newInst: function(target, inline) {
6356		var id = target[0].id.replace(/([^A-Za-z0-9_\-])/g, "\\\\$1");
6357		return {id: id, input: target,
6358			selectedDay: 0, selectedMonth: 0, selectedYear: 0,
6359			drawMonth: 0, drawYear: 0,
6360			inline: inline,
6361			dpDiv: (!inline ? this.dpDiv :
6362			bindHover($("<div class='" + this._inlineClass + " ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")))};
6363	},
6364	_connectDatepicker: function(target, inst) {
6365		var input = $(target);
6366		inst.append = $([]);
6367		inst.trigger = $([]);
6368		if (input.hasClass(this.markerClassName)) {
6369			return;
6370		}
6371		this._attachments(input, inst);
6372		input.addClass(this.markerClassName).keydown(this._doKeyDown).
6373			keypress(this._doKeyPress).keyup(this._doKeyUp);
6374		this._autoSize(inst);
6375		$.data(target, PROP_NAME, inst);
6376		if( inst.settings.disabled ) {
6377			this._disableDatepicker( target );
6378		}
6379	},
6380	_attachments: function(input, inst) {
6381		var showOn, buttonText, buttonImage,
6382			appendText = this._get(inst, "appendText"),
6383			isRTL = this._get(inst, "isRTL");
6384		if (inst.append) {
6385			inst.append.remove();
6386		}
6387		if (appendText) {
6388			inst.append = $("<span class='" + this._appendClass + "'>" + appendText + "</span>");
6389			input[isRTL ? "before" : "after"](inst.append);
6390		}
6391		input.unbind("focus", this._showDatepicker);
6392		if (inst.trigger) {
6393			inst.trigger.remove();
6394		}
6395		showOn = this._get(inst, "showOn");
6396		if (showOn === "focus" || showOn === "both") {
6397			input.focus(this._showDatepicker);
6398		}
6399		if (showOn === "button" || showOn === "both") {
6400			buttonText = this._get(inst, "buttonText");
6401			buttonImage = this._get(inst, "buttonImage");
6402			inst.trigger = $(this._get(inst, "buttonImageOnly") ?
6403				$("<img/>").addClass(this._triggerClass).
6404					attr({ src: buttonImage, alt: buttonText, title: buttonText }) :
6405				$("<button type='button'></button>").addClass(this._triggerClass).
6406					html(!buttonImage ? buttonText : $("<img/>").attr(
6407					{ src:buttonImage, alt:buttonText, title:buttonText })));
6408			input[isRTL ? "before" : "after"](inst.trigger);
6409			inst.trigger.click(function() {
6410				if ($.datepicker._datepickerShowing && $.datepicker._lastInput === input[0]) {
6411					$.datepicker._hideDatepicker();
6412				} else if ($.datepicker._datepickerShowing && $.datepicker._lastInput !== input[0]) {
6413					$.datepicker._hideDatepicker();
6414					$.datepicker._showDatepicker(input[0]);
6415				} else {
6416					$.datepicker._showDatepicker(input[0]);
6417				}
6418				return false;
6419			});
6420		}
6421	},
6422	_autoSize: function(inst) {
6423		if (this._get(inst, "autoSize") && !inst.inline) {
6424			var findMax, max, maxI, i,
6425				date = new Date(2009, 12 - 1, 20),
6426				dateFormat = this._get(inst, "dateFormat");
6427			if (dateFormat.match(/[DM]/)) {
6428				findMax = function(names) {
6429					max = 0;
6430					maxI = 0;
6431					for (i = 0; i < names.length; i++) {
6432						if (names[i].length > max) {
6433							max = names[i].length;
6434							maxI = i;
6435						}
6436					}
6437					return maxI;
6438				};
6439				date.setMonth(findMax(this._get(inst, (dateFormat.match(/MM/) ?
6440					"monthNames" : "monthNamesShort"))));
6441				date.setDate(findMax(this._get(inst, (dateFormat.match(/DD/) ?
6442					"dayNames" : "dayNamesShort"))) + 20 - date.getDay());
6443			}
6444			inst.input.attr("size", this._formatDate(inst, date).length);
6445		}
6446	},
6447	_inlineDatepicker: function(target, inst) {
6448		var divSpan = $(target);
6449		if (divSpan.hasClass(this.markerClassName)) {
6450			return;
6451		}
6452		divSpan.addClass(this.markerClassName).append(inst.dpDiv);
6453		$.data(target, PROP_NAME, inst);
6454		this._setDate(inst, this._getDefaultDate(inst), true);
6455		this._updateDatepicker(inst);
6456		this._updateAlternate(inst);
6457		if( inst.settings.disabled ) {
6458			this._disableDatepicker( target );
6459		}
6460		inst.dpDiv.css( "display", "block" );
6461	},
6462	_dialogDatepicker: function(input, date, onSelect, settings, pos) {
6463		var id, browserWidth, browserHeight, scrollX, scrollY,
6464			inst = this._dialogInst;
6465		if (!inst) {
6466			this.uuid += 1;
6467			id = "dp" + this.uuid;
6468			this._dialogInput = $("<input type='text' id='" + id +
6469				"' style='position: absolute; top: -100px; width: 0px;'/>");
6470			this._dialogInput.keydown(this._doKeyDown);
6471			$("body").append(this._dialogInput);
6472			inst = this._dialogInst = this._newInst(this._dialogInput, false);
6473			inst.settings = {};
6474			$.data(this._dialogInput[0], PROP_NAME, inst);
6475		}
6476		extendRemove(inst.settings, settings || {});
6477		date = (date && date.constructor === Date ? this._formatDate(inst, date) : date);
6478		this._dialogInput.val(date);
6479		this._pos = (pos ? (pos.length ? pos : [pos.pageX, pos.pageY]) : null);
6480		if (!this._pos) {
6481			browserWidth = document.documentElement.clientWidth;
6482			browserHeight = document.documentElement.clientHeight;
6483			scrollX = document.documentElement.scrollLeft || document.body.scrollLeft;
6484			scrollY = document.documentElement.scrollTop || document.body.scrollTop;
6485			this._pos =
6486				[(browserWidth / 2) - 100 + scrollX, (browserHeight / 2) - 150 + scrollY];
6487		}
6488		this._dialogInput.css("left", (this._pos[0] + 20) + "px").css("top", this._pos[1] + "px");
6489		inst.settings.onSelect = onSelect;
6490		this._inDialog = true;
6491		this.dpDiv.addClass(this._dialogClass);
6492		this._showDatepicker(this._dialogInput[0]);
6493		if ($.blockUI) {
6494			$.blockUI(this.dpDiv);
6495		}
6496		$.data(this._dialogInput[0], PROP_NAME, inst);
6497		return this;
6498	},
6499	_destroyDatepicker: function(target) {
6500		var nodeName,
6501			$target = $(target),
6502			inst = $.data(target, PROP_NAME);
6503		if (!$target.hasClass(this.markerClassName)) {
6504			return;
6505		}
6506		nodeName = target.nodeName.toLowerCase();
6507		$.removeData(target, PROP_NAME);
6508		if (nodeName === "input") {
vendor: 9,764 bytes, lines 6509-6796
6509			inst.append.remove();
6510			inst.trigger.remove();
6511			$target.removeClass(this.markerClassName).
6512				unbind("focus", this._showDatepicker).
6513				unbind("keydown", this._doKeyDown).
6514				unbind("keypress", this._doKeyPress).
6515				unbind("keyup", this._doKeyUp);
6516		} else if (nodeName === "div" || nodeName === "span") {
6517			$target.removeClass(this.markerClassName).empty();
6518		}
6519	},
6520	_enableDatepicker: function(target) {
6521		var nodeName, inline,
6522			$target = $(target),
6523			inst = $.data(target, PROP_NAME);
6524		if (!$target.hasClass(this.markerClassName)) {
6525			return;
6526		}
6527		nodeName = target.nodeName.toLowerCase();
6528		if (nodeName === "input") {
6529			target.disabled = false;
6530			inst.trigger.filter("button").
6531				each(function() { this.disabled = false; }).end().
6532				filter("img").css({opacity: "1.0", cursor: ""});
6533		} else if (nodeName === "div" || nodeName === "span") {
6534			inline = $target.children("." + this._inlineClass);
6535			inline.children().removeClass("ui-state-disabled");
6536			inline.find("select.ui-datepicker-month, select.ui-datepicker-year").
6537				prop("disabled", false);
6538		}
6539		this._disabledInputs = $.map(this._disabledInputs,
6540			function(value) { return (value === target ? null : value); }); // delete entry
6541	},
6542	_disableDatepicker: function(target) {
6543		var nodeName, inline,
6544			$target = $(target),
6545			inst = $.data(target, PROP_NAME);
6546		if (!$target.hasClass(this.markerClassName)) {
6547			return;
6548		}
6549		nodeName = target.nodeName.toLowerCase();
6550		if (nodeName === "input") {
6551			target.disabled = true;
6552			inst.trigger.filter("button").
6553				each(function() { this.disabled = true; }).end().
6554				filter("img").css({opacity: "0.5", cursor: "default"});
6555		} else if (nodeName === "div" || nodeName === "span") {
6556			inline = $target.children("." + this._inlineClass);
6557			inline.children().addClass("ui-state-disabled");
6558			inline.find("select.ui-datepicker-month, select.ui-datepicker-year").
6559				prop("disabled", true);
6560		}
6561		this._disabledInputs = $.map(this._disabledInputs,
6562			function(value) { return (value === target ? null : value); });
6563		this._disabledInputs[this._disabledInputs.length] = target;
6564	},
6565	_isDisabledDatepicker: function(target) {
6566		if (!target) {
6567			return false;
6568		}
6569		for (var i = 0; i < this._disabledInputs.length; i++) {
6570			if (this._disabledInputs[i] === target) {
6571				return true;
6572			}
6573		}
6574		return false;
6575	},
6576	_getInst: function(target) {
6577		try {
6578			return $.data(target, PROP_NAME);
6579		}
6580		catch (err) {
6581			throw "Missing instance data for this datepicker";
6582		}
6583	},
6584	_optionDatepicker: function(target, name, value) {
6585		var settings, date, minDate, maxDate,
6586			inst = this._getInst(target);
6587		if (arguments.length === 2 && typeof name === "string") {
6588			return (name === "defaults" ? $.extend({}, $.datepicker._defaults) :
6589				(inst ? (name === "all" ? $.extend({}, inst.settings) :
6590				this._get(inst, name)) : null));
6591		}
6592		settings = name || {};
6593		if (typeof name === "string") {
6594			settings = {};
6595			settings[name] = value;
6596		}
6597		if (inst) {
6598			if (this._curInst === inst) {
6599				this._hideDatepicker();
6600			}
6601			date = this._getDateDatepicker(target, true);
6602			minDate = this._getMinMaxDate(inst, "min");
6603			maxDate = this._getMinMaxDate(inst, "max");
6604			extendRemove(inst.settings, settings);
6605			if (minDate !== null && settings.dateFormat !== undefined && settings.minDate === undefined) {
6606				inst.settings.minDate = this._formatDate(inst, minDate);
6607			}
6608			if (maxDate !== null && settings.dateFormat !== undefined && settings.maxDate === undefined) {
6609				inst.settings.maxDate = this._formatDate(inst, maxDate);
6610			}
6611			if ( "disabled" in settings ) {
6612				if ( settings.disabled ) {
6613					this._disableDatepicker(target);
6614				} else {
6615					this._enableDatepicker(target);
6616				}
6617			}
6618			this._attachments($(target), inst);
6619			this._autoSize(inst);
6620			this._setDate(inst, date);
6621			this._updateAlternate(inst);
6622			this._updateDatepicker(inst);
6623		}
6624	},
6625	_changeDatepicker: function(target, name, value) {
6626		this._optionDatepicker(target, name, value);
6627	},
6628	_refreshDatepicker: function(target) {
6629		var inst = this._getInst(target);
6630		if (inst) {
6631			this._updateDatepicker(inst);
6632		}
6633	},
6634	_setDateDatepicker: function(target, date) {
6635		var inst = this._getInst(target);
6636		if (inst) {
6637			this._setDate(inst, date);
6638			this._updateDatepicker(inst);
6639			this._updateAlternate(inst);
6640		}
6641	},
6642	_getDateDatepicker: function(target, noDefault) {
6643		var inst = this._getInst(target);
6644		if (inst && !inst.inline) {
6645			this._setDateFromField(inst, noDefault);
6646		}
6647		return (inst ? this._getDate(inst) : null);
6648	},
6649	_doKeyDown: function(event) {
6650		var onSelect, dateStr, sel,
6651			inst = $.datepicker._getInst(event.target),
6652			handled = true,
6653			isRTL = inst.dpDiv.is(".ui-datepicker-rtl");
6654		inst._keyEvent = true;
6655		if ($.datepicker._datepickerShowing) {
6656			switch (event.keyCode) {
6657				case 9: $.datepicker._hideDatepicker();
6658						handled = false;
6659						break; // hide on tab out
6660				case 13: sel = $("td." + $.datepicker._dayOverClass + ":not(." +
6661									$.datepicker._currentClass + ")", inst.dpDiv);
6662						if (sel[0]) {
6663							$.datepicker._selectDay(event.target, inst.selectedMonth, inst.selectedYear, sel[0]);
6664						}
6665						onSelect = $.datepicker._get(inst, "onSelect");
6666						if (onSelect) {
6667							dateStr = $.datepicker._formatDate(inst);
6668							onSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]);
6669						} else {
6670							$.datepicker._hideDatepicker();
6671						}
6672						return false;
6673				case 27: $.datepicker._hideDatepicker();
6674						break;
6675				case 33: $.datepicker._adjustDate(event.target, (event.ctrlKey ?
6676							-$.datepicker._get(inst, "stepBigMonths") :
6677							-$.datepicker._get(inst, "stepMonths")), "M");
6678						break;
6679				case 34: $.datepicker._adjustDate(event.target, (event.ctrlKey ?
6680							+$.datepicker._get(inst, "stepBigMonths") :
6681							+$.datepicker._get(inst, "stepMonths")), "M");
6682						break;
6683				case 35: if (event.ctrlKey || event.metaKey) {
6684							$.datepicker._clearDate(event.target);
6685						}
6686						handled = event.ctrlKey || event.metaKey;
6687						break;
6688				case 36: if (event.ctrlKey || event.metaKey) {
6689							$.datepicker._gotoToday(event.target);
6690						}
6691						handled = event.ctrlKey || event.metaKey;
6692						break;
6693				case 37: if (event.ctrlKey || event.metaKey) {
6694							$.datepicker._adjustDate(event.target, (isRTL ? +1 : -1), "D");
6695						}
6696						handled = event.ctrlKey || event.metaKey;
6697						if (event.originalEvent.altKey) {
6698							$.datepicker._adjustDate(event.target, (event.ctrlKey ?
6699								-$.datepicker._get(inst, "stepBigMonths") :
6700								-$.datepicker._get(inst, "stepMonths")), "M");
6701						}
6702						break;
6703				case 38: if (event.ctrlKey || event.metaKey) {
6704							$.datepicker._adjustDate(event.target, -7, "D");
6705						}
6706						handled = event.ctrlKey || event.metaKey;
6707						break; // -1 week on ctrl or command +up
6708				case 39: if (event.ctrlKey || event.metaKey) {
6709							$.datepicker._adjustDate(event.target, (isRTL ? -1 : +1), "D");
6710						}
6711						handled = event.ctrlKey || event.metaKey;
6712						if (event.originalEvent.altKey) {
6713							$.datepicker._adjustDate(event.target, (event.ctrlKey ?
6714								+$.datepicker._get(inst, "stepBigMonths") :
6715								+$.datepicker._get(inst, "stepMonths")), "M");
6716						}
6717						break;
6718				case 40: if (event.ctrlKey || event.metaKey) {
6719							$.datepicker._adjustDate(event.target, +7, "D");
6720						}
6721						handled = event.ctrlKey || event.metaKey;
6722						break;
6723				default: handled = false;
6724			}
6725		} else if (event.keyCode === 36 && event.ctrlKey) {
6726			$.datepicker._showDatepicker(this);
6727		} else {
6728			handled = false;
6729		}
6730		if (handled) {
6731			event.preventDefault();
6732			event.stopPropagation();
6733		}
6734	},
6735	_doKeyPress: function(event) {
6736		var chars, chr,
6737			inst = $.datepicker._getInst(event.target);
6738		if ($.datepicker._get(inst, "constrainInput")) {
6739			chars = $.datepicker._possibleChars($.datepicker._get(inst, "dateFormat"));
6740			chr = String.fromCharCode(event.charCode == null ? event.keyCode : event.charCode);
6741			return event.ctrlKey || event.metaKey || (chr < " " || !chars || chars.indexOf(chr) > -1);
6742		}
6743	},
6744	_doKeyUp: function(event) {
6745		var date,
6746			inst = $.datepicker._getInst(event.target);
6747		if (inst.input.val() !== inst.lastVal) {
6748			try {
6749				date = $.datepicker.parseDate($.datepicker._get(inst, "dateFormat"),
6750					(inst.input ? inst.input.val() : null),
6751					$.datepicker._getFormatConfig(inst));
6752				if (date) {
6753					$.datepicker._setDateFromField(inst);
6754					$.datepicker._updateAlternate(inst);
6755					$.datepicker._updateDatepicker(inst);
6756				}
6757			}
6758			catch (err) {
6759			}
6760		}
6761		return true;
6762	},
6763	_showDatepicker: function(input) {
6764		input = input.target || input;
6765		if (input.nodeName.toLowerCase() !== "input") {
6766			input = $("input", input.parentNode)[0];
6767		}
6768		if ($.datepicker._isDisabledDatepicker(input) || $.datepicker._lastInput === input) {
6769			return;
6770		}
6771		var inst, beforeShow, beforeShowSettings, isFixed,
6772			offset, showAnim, duration;
6773		inst = $.datepicker._getInst(input);
6774		if ($.datepicker._curInst && $.datepicker._curInst !== inst) {
6775			$.datepicker._curInst.dpDiv.stop(true, true);
6776			if ( inst && $.datepicker._datepickerShowing ) {
6777				$.datepicker._hideDatepicker( $.datepicker._curInst.input[0] );
6778			}
6779		}
6780		beforeShow = $.datepicker._get(inst, "beforeShow");
6781		beforeShowSettings = beforeShow ? beforeShow.apply(input, [input, inst]) : {};
6782		if(beforeShowSettings === false){
6783			return;
6784		}
6785		extendRemove(inst.settings, beforeShowSettings);
6786		inst.lastVal = null;
6787		$.datepicker._lastInput = input;
6788		$.datepicker._setDateFromField(inst);
6789		if ($.datepicker._inDialog) { // hide cursor
6790			input.value = "";
6791		}
6792		if (!$.datepicker._pos) {
6793			$.datepicker._pos = $.datepicker._findPos(input);
6794			$.datepicker._pos[1] += input.offsetHeight;
6795		}
6796		isFixed = false;
vendor: 4,824 bytes, lines 6797-6911
6797		$(input).parents().each(function() {
6798			isFixed |= $(this).css("position") === "fixed";
6799			return !isFixed;
6800		});
6801		offset = {left: $.datepicker._pos[0], top: $.datepicker._pos[1]};
6802		$.datepicker._pos = null;
6803		inst.dpDiv.empty();
6804		inst.dpDiv.css({position: "absolute", display: "block", top: "-1000px"});
6805		$.datepicker._updateDatepicker(inst);
6806		offset = $.datepicker._checkOffset(inst, offset, isFixed);
6807		inst.dpDiv.css({position: ($.datepicker._inDialog && $.blockUI ?
6808			"static" : (isFixed ? "fixed" : "absolute")), display: "none",
6809			left: offset.left + "px", top: offset.top + "px"});
6810		if (!inst.inline) {
6811			showAnim = $.datepicker._get(inst, "showAnim");
6812			duration = $.datepicker._get(inst, "duration");
6813			inst.dpDiv.zIndex($(input).zIndex()+1);
6814			$.datepicker._datepickerShowing = true;
6815			if ( $.effects && $.effects.effect[ showAnim ] ) {
6816				inst.dpDiv.show(showAnim, $.datepicker._get(inst, "showOptions"), duration);
6817			} else {
6818				inst.dpDiv[showAnim || "show"](null);
6819				frozen_timeout = setTimeout(function(){
6820					datepicker_frozen = inst.dpDiv.css('display') == 'none' ? true : false;
6821				}, 2000);
6822			}
6823			if ( $.datepicker._shouldFocusInput( inst ) ) {
6824				inst.input.focus();
6825			}
6826			$.datepicker._curInst = inst;
6827		}
6828	},
6829	_updateDatepicker: function(inst) {
6830		this.maxRows = 4;
6831		instActive = inst;
6832		inst.dpDiv.empty().append(this._generateHTML(inst));
6833		this._attachHandlers(inst);
6834		inst.dpDiv.find("." + this._dayOverClass + " a").mouseover();
6835		var origyearshtml,
6836			numMonths = this._getNumberOfMonths(inst),
6837			cols = numMonths[1],
6838			width = 17;
6839		inst.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");
6840		if (cols > 1) {
6841			inst.dpDiv.addClass("ui-datepicker-multi-" + cols).css("width", (width * cols) + "em");
6842		}
6843		inst.dpDiv[(numMonths[0] !== 1 || numMonths[1] !== 1 ? "add" : "remove") +
6844			"Class"]("ui-datepicker-multi");
6845		inst.dpDiv[(this._get(inst, "isRTL") ? "add" : "remove") +
6846			"Class"]("ui-datepicker-rtl");
6847		if (inst === $.datepicker._curInst && $.datepicker._datepickerShowing && $.datepicker._shouldFocusInput( inst ) ) {
6848			inst.input.focus();
6849		}
6850		if( inst.yearshtml ){
6851			origyearshtml = inst.yearshtml;
6852			setTimeout(function(){
6853				if( origyearshtml === inst.yearshtml && inst.yearshtml ){
6854					inst.dpDiv.find("select.ui-datepicker-year:first").replaceWith(inst.yearshtml);
6855				}
6856				origyearshtml = inst.yearshtml = null;
6857			}, 0);
6858		}
6859	},
6860	_shouldFocusInput: function( inst ) {
6861		return inst.input && inst.input.is( ":visible" ) && !inst.input.is( ":disabled" ) && !inst.input.is( ":focus" );
6862	},
6863	_checkOffset: function(inst, offset, isFixed) {
6864		var dpWidth = inst.dpDiv.outerWidth(),
6865			dpHeight = inst.dpDiv.outerHeight(),
6866			inputWidth = inst.input ? inst.input.outerWidth() : 0,
6867			inputHeight = inst.input ? inst.input.outerHeight() : 0,
6868			viewWidth = document.documentElement.clientWidth + (isFixed ? 0 : $(document).scrollLeft()),
6869			viewHeight = document.documentElement.clientHeight + (isFixed ? 0 : $(document).scrollTop());
6870		offset.left -= (this._get(inst, "isRTL") ? (dpWidth - inputWidth) : 0);
6871		offset.left -= (isFixed && offset.left === inst.input.offset().left) ? $(document).scrollLeft() : 0;
6872		offset.top -= (isFixed && offset.top === (inst.input.offset().top + inputHeight)) ? $(document).scrollTop() : 0;
6873		offset.left -= Math.min(offset.left, (offset.left + dpWidth > viewWidth && viewWidth > dpWidth) ?
6874			Math.abs(offset.left + dpWidth - viewWidth) : 0);
6875		offset.top -= Math.min(offset.top, (offset.top + dpHeight > viewHeight && viewHeight > dpHeight) ?
6876			Math.abs(dpHeight + inputHeight) : 0);
6877		return offset;
6878	},
6879	_findPos: function(obj) {
6880		var position,
6881			inst = this._getInst(obj),
6882			isRTL = this._get(inst, "isRTL");
6883		while (obj && (obj.type === "hidden" || obj.nodeType !== 1 || $.expr.filters.hidden(obj))) {
6884			obj = obj[isRTL ? "previousSibling" : "nextSibling"];
6885		}
6886		position = $(obj).offset();
6887		return [position.left, position.top];
6888	},
6889	_hideDatepicker: function(input) {
6890		var showAnim, duration, postProcess, onClose,
6891			inst = this._curInst;
6892		if (!inst || (input && inst !== $.data(input, PROP_NAME))) {
6893			return;
6894		}
6895		if (this._datepickerShowing) {
6896			showAnim = this._get(inst, "showAnim");
6897			duration = this._get(inst, "duration");
6898			postProcess = function() {
6899				$.datepicker._tidyDialog(inst);
6900			};
6901			if ( $.effects && ( $.effects.effect[ showAnim ] || $.effects[ showAnim ] ) ) {
6902				inst.dpDiv.hide(showAnim, $.datepicker._get(inst, "showOptions"), duration, postProcess);
6903			} else {
6904				inst.dpDiv[(showAnim === "slideDown" ? "slideUp" :
6905					(showAnim === "fadeIn" ? "fadeOut" : "hide"))]((null), postProcess);
6906			}
6907			clearTimeout(frozen_timeout);
6908			if (!showAnim) {
6909				postProcess();
6910			}
6911			this._datepickerShowing = false;
vendor: 4,939 bytes, lines 6912-7059
6912			onClose = this._get(inst, "onClose");
6913			if (onClose) {
6914				onClose.apply((inst.input ? inst.input[0] : null), [(inst.input ? inst.input.val() : ""), inst]);
6915			}
6916			this._lastInput = null;
6917			if (this._inDialog) {
6918				this._dialogInput.css({ position: "absolute", left: "0", top: "-100px" });
6919				if ($.blockUI) {
6920					$.unblockUI();
6921					$("body").append(this.dpDiv);
6922				}
6923			}
6924			this._inDialog = false;
6925		}
6926	},
6927	_tidyDialog: function(inst) {
6928		inst.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar");
6929	},
6930	_checkExternalClick: function(event) {
6931		if (!$.datepicker._curInst) {
6932			return;
6933		}
6934		var $target = $(event.target),
6935			inst = $.datepicker._getInst($target[0]);
6936		if ( ( ( $target[0].id !== $.datepicker._mainDivId &&
6937				$target.parents("#" + $.datepicker._mainDivId).length === 0 &&
6938				!$target.hasClass($.datepicker.markerClassName) &&
6939				!$target.closest("." + $.datepicker._triggerClass).length &&
6940				$.datepicker._datepickerShowing && !($.datepicker._inDialog && $.blockUI) ) ) ||
6941			( $target.hasClass($.datepicker.markerClassName) && $.datepicker._curInst !== inst ) ) {
6942				$.datepicker._hideDatepicker();
6943		}
6944	},
6945	_adjustDate: function(id, offset, period) {
6946		var target = $(id),
6947			inst = this._getInst(target[0]);
6948		if (this._isDisabledDatepicker(target[0])) {
6949			return;
6950		}
6951		this._adjustInstDate(inst, offset +
6952			(period === "M" ? this._get(inst, "showCurrentAtPos") : 0), // undo positioning
6953			period);
6954		this._updateDatepicker(inst);
6955	},
6956	_gotoToday: function(id) {
6957		var date,
6958			target = $(id),
6959			inst = this._getInst(target[0]);
6960		if (this._get(inst, "gotoCurrent") && inst.currentDay) {
6961			inst.selectedDay = inst.currentDay;
6962			inst.drawMonth = inst.selectedMonth = inst.currentMonth;
6963			inst.drawYear = inst.selectedYear = inst.currentYear;
6964		} else {
6965			date = new Date();
6966			inst.selectedDay = date.getDate();
6967			inst.drawMonth = inst.selectedMonth = date.getMonth();
6968			inst.drawYear = inst.selectedYear = date.getFullYear();
6969		}
6970		this._notifyChange(inst);
6971		this._adjustDate(target);
6972	},
6973	_selectMonthYear: function(id, select, period) {
6974		var target = $(id),
6975			inst = this._getInst(target[0]);
6976		inst["selected" + (period === "M" ? "Month" : "Year")] =
6977		inst["draw" + (period === "M" ? "Month" : "Year")] =
6978			parseInt(select.options[select.selectedIndex].value,10);
6979		this._notifyChange(inst);
6980		this._adjustDate(target);
6981	},
6982	_selectDay: function(id, month, year, td) {
6983		var inst,
6984			target = $(id);
6985		if ($(td).hasClass(this._unselectableClass) || this._isDisabledDatepicker(target[0])) {
6986			return;
6987		}
6988		inst = this._getInst(target[0]);
6989		inst.selectedDay = inst.currentDay = $("a", td).html();
6990		inst.selectedMonth = inst.currentMonth = month;
6991		inst.selectedYear = inst.currentYear = year;
6992		this._selectDate(id, this._formatDate(inst,
6993			inst.currentDay, inst.currentMonth, inst.currentYear));
6994	},
6995	_clearDate: function(id) {
6996		var target = $(id);
6997		this._selectDate(target, "");
6998	},
6999	_selectDate: function(id, dateStr) {
7000		var onSelect,
7001			target = $(id),
7002			inst = this._getInst(target[0]);
7003		dateStr = (dateStr != null ? dateStr : this._formatDate(inst));
7004		if (inst.input) {
7005			inst.input.val(dateStr);
7006		}
7007		this._updateAlternate(inst);
7008		onSelect = this._get(inst, "onSelect");
7009		if (onSelect) {
7010			onSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]);
7011		} else if (inst.input) {
7012			inst.input.trigger("change");
7013		}
7014		if (inst.inline){
7015			this._updateDatepicker(inst);
7016		} else {
7017			this._hideDatepicker();
7018			this._lastInput = inst.input[0];
7019			if (typeof(inst.input[0]) !== "object") {
7020				inst.input.focus();
7021			}
7022			this._lastInput = null;
7023		}
7024	},
7025	_updateAlternate: function(inst) {
7026		var altFormat, date, dateStr,
7027			altField = this._get(inst, "altField");
7028		if (altField) {
7029			altFormat = this._get(inst, "altFormat") || this._get(inst, "dateFormat");
7030			date = this._getDate(inst);
7031			dateStr = this.formatDate(altFormat, date, this._getFormatConfig(inst));
7032			$(altField).each(function() { $(this).val(dateStr); });
7033		}
7034	},
7035	noWeekends: function(date) {
7036		var day = date.getDay();
7037		return [(day > 0 && day < 6), ""];
7038	},
7039	iso8601Week: function(date) {
7040		var time,
7041			checkDate = new Date(date.getTime());
7042		checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7));
7043		time = checkDate.getTime();
7044		checkDate.setMonth(0); // Compare with Jan 1
7045		checkDate.setDate(1);
7046		return Math.floor(Math.round((time - checkDate) / 86400000) / 7) + 1;
7047	},
7048	parseDate: function (format, value, settings) {
7049		if (format == null || value == null) {
7050			throw "Invalid arguments";
7051		}
7052		value = (typeof value === "object" ? value.toString() : value + "");
7053		if (value === "") {
7054			return null;
7055		}
7056		var iFormat, dim, extra,
7057			iValue = 0,
7058			shortYearCutoffTemp = (settings ? settings.shortYearCutoff : null) || this._defaults.shortYearCutoff,
7059			shortYearCutoff = (typeof shortYearCutoffTemp !== "string" ? shortYearCutoffTemp 
vendor: 5,115 bytes, lines 7059-7236
7059:
7060				new Date().getFullYear() % 100 + parseInt(shortYearCutoffTemp, 10)),
7061			dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort,
7062			dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames,
7063			monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort,
7064			monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames,
7065			year = -1,
7066			month = -1,
7067			day = -1,
7068			doy = -1,
7069			literal = false,
7070			date,
7071			lookAhead = function(match) {
7072				var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match);
7073				if (matches) {
7074					iFormat++;
7075				}
7076				return matches;
7077			},
7078			getNumber = function(match) {
7079				var isDoubled = lookAhead(match),
7080					size = (match === "@" ? 14 : (match === "!" ? 20 :
7081					(match === "y" && isDoubled ? 4 : (match === "o" ? 3 : 2)))),
7082					digits = new RegExp("^\\d{1," + size + "}"),
7083					num = value.substring(iValue).match(digits);
7084				if (!num) {
7085					throw "Missing number at position " + iValue;
7086				}
7087				iValue += num[0].length;
7088				return parseInt(num[0], 10);
7089			},
7090			getName = function(match, shortNames, longNames) {
7091				var index = -1,
7092					names = $.map(lookAhead(match) ? longNames : shortNames, function (v, k) {
7093						return [ [k, v] ];
7094					}).sort(function (a, b) {
7095						return -(a[1].length - b[1].length);
7096					});
7097				$.each(names, function (i, pair) {
7098					var name = pair[1];
7099					if (value.substr(iValue, name.length).toLowerCase() === name.toLowerCase()) {
7100						index = pair[0];
7101						iValue += name.length;
7102						return false;
7103					}
7104				});
7105				if (index !== -1) {
7106					return index + 1;
7107				} else {
7108					throw "Unknown name at position " + iValue;
7109				}
7110			},
7111			checkLiteral = function() {
7112				if (value.charAt(iValue) !== format.charAt(iFormat)) {
7113					throw "Unexpected literal at position " + iValue;
7114				}
7115				iValue++;
7116			};
7117		for (iFormat = 0; iFormat < format.length; iFormat++) {
7118			if (literal) {
7119				if (format.charAt(iFormat) === "'" && !lookAhead("'")) {
7120					literal = false;
7121				} else {
7122					checkLiteral();
7123				}
7124			} else {
7125				switch (format.charAt(iFormat)) {
7126					case "d":
7127						day = getNumber("d");
7128						break;
7129					case "D":
7130						getName("D", dayNamesShort, dayNames);
7131						break;
7132					case "o":
7133						doy = getNumber("o");
7134						break;
7135					case "m":
7136						month = getNumber("m");
7137						break;
7138					case "M":
7139						month = getName("M", monthNamesShort, monthNames);
7140						break;
7141					case "y":
7142						year = getNumber("y");
7143						break;
7144					case "@":
7145						date = new Date(getNumber("@"));
7146						year = date.getFullYear();
7147						month = date.getMonth() + 1;
7148						day = date.getDate();
7149						break;
7150					case "!":
7151						date = new Date((getNumber("!") - this._ticksTo1970) / 10000);
7152						year = date.getFullYear();
7153						month = date.getMonth() + 1;
7154						day = date.getDate();
7155						break;
7156					case "'":
7157						if (lookAhead("'")){
7158							checkLiteral();
7159						} else {
7160							literal = true;
7161						}
7162						break;
7163					default:
7164						checkLiteral();
7165				}
7166			}
7167		}
7168		if (iValue < value.length){
7169			extra = value.substr(iValue);
7170			if (!/^\s+/.test(extra)) {
7171				throw "Extra/unparsed characters found in date: " + extra;
7172			}
7173		}
7174		if (year === -1) {
7175			year = new Date().getFullYear();
7176		} else if (year < 100) {
7177			year += new Date().getFullYear() - new Date().getFullYear() % 100 +
7178				(year <= shortYearCutoff ? 0 : -100);
7179		}
7180		if (doy > -1) {
7181			month = 1;
7182			day = doy;
7183			do {
7184				dim = this._getDaysInMonth(year, month - 1);
7185				if (day <= dim) {
7186					break;
7187				}
7188				month++;
7189				day -= dim;
7190			} while (true);
7191		}
7192		date = this._daylightSavingAdjust(new Date(year, month - 1, day));
7193		if (date.getFullYear() !== year || date.getMonth() + 1 !== month || date.getDate() !== day) {
7194			throw "Invalid date"; // E.g. 31/02/00
7195		}
7196		return date;
7197	},
7198	ATOM: "yy-mm-dd",
7199	COOKIE: "D, dd M yy",
7200	ISO_8601: "yy-mm-dd",
7201	RFC_822: "D, d M y",
7202	RFC_850: "DD, dd-M-y",
7203	RFC_1036: "D, d M y",
7204	RFC_1123: "D, d M yy",
7205	RFC_2822: "D, d M yy",
7206	RSS: "D, d M y",
7207	TICKS: "!",
7208	TIMESTAMP: "@",
7209	W3C: "yy-mm-dd",
7210	_ticksTo1970: (((1970 - 1) * 365 + Math.floor(1970 / 4) - Math.floor(1970 / 100) +
7211		Math.floor(1970 / 400)) * 24 * 60 * 60 * 10000000),
7212	formatDate: function (format, date, settings) {
7213		if (!date) {
7214			return "";
7215		}
7216		var iFormat,
7217			dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort,
7218			dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames,
7219			monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort,
7220			monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames,
7221			lookAhead = function(match) {
7222				var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match);
7223				if (matches) {
7224					iFormat++;
7225				}
7226				return matches;
7227			},
7228			formatNumber = function(match, value, len) {
7229				var num = "" + value;
7230				if (lookAhead(match)) {
7231					while (num.length < len) {
7232						num = "0" + num;
7233					}
7234				}
7235				return num;
7236			},
vendor: 8,713 bytes, lines 7237-7494
7237			formatName = function(match, value, shortNames, longNames) {
7238				return (lookAhead(match) ? longNames[value] : shortNames[value]);
7239			},
7240			output = "",
7241			literal = false;
7242		if (date) {
7243			for (iFormat = 0; iFormat < format.length; iFormat++) {
7244				if (literal) {
7245					if (format.charAt(iFormat) === "'" && !lookAhead("'")) {
7246						literal = false;
7247					} else {
7248						output += format.charAt(iFormat);
7249					}
7250				} else {
7251					switch (format.charAt(iFormat)) {
7252						case "d":
7253							output += formatNumber("d", date.getDate(), 2);
7254							break;
7255						case "D":
7256							output += formatName("D", date.getDay(), dayNamesShort, dayNames);
7257							break;
7258						case "o":
7259							output += formatNumber("o",
7260								Math.round((new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime() - new Date(date.getFullYear(), 0, 0).getTime()) / 86400000), 3);
7261							break;
7262						case "m":
7263							output += formatNumber("m", date.getMonth() + 1, 2);
7264							break;
7265						case "M":
7266							output += formatName("M", date.getMonth(), monthNamesShort, monthNames);
7267							break;
7268						case "y":
7269							output += (lookAhead("y") ? date.getFullYear() :
7270								(date.getYear() % 100 < 10 ? "0" : "") + date.getYear() % 100);
7271							break;
7272						case "@":
7273							output += date.getTime();
7274							break;
7275						case "!":
7276							output += date.getTime() * 10000 + this._ticksTo1970;
7277							break;
7278						case "'":
7279							if (lookAhead("'")) {
7280								output += "'";
7281							} else {
7282								literal = true;
7283							}
7284							break;
7285						default:
7286							output += format.charAt(iFormat);
7287					}
7288				}
7289			}
7290		}
7291		return output;
7292	},
7293	_possibleChars: function (format) {
7294		var iFormat,
7295			chars = "",
7296			literal = false,
7297			lookAhead = function(match) {
7298				var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match);
7299				if (matches) {
7300					iFormat++;
7301				}
7302				return matches;
7303			};
7304		for (iFormat = 0; iFormat < format.length; iFormat++) {
7305			if (literal) {
7306				if (format.charAt(iFormat) === "'" && !lookAhead("'")) {
7307					literal = false;
7308				} else {
7309					chars += format.charAt(iFormat);
7310				}
7311			} else {
7312				switch (format.charAt(iFormat)) {
7313					case "d": case "m": case "y": case "@":
7314						chars += "0123456789";
7315						break;
7316					case "D": case "M":
7317						return null; // Accept anything
7318					case "'":
7319						if (lookAhead("'")) {
7320							chars += "'";
7321						} else {
7322							literal = true;
7323						}
7324						break;
7325					default:
7326						chars += format.charAt(iFormat);
7327				}
7328			}
7329		}
7330		return chars;
7331	},
7332	_get: function(inst, name) {
7333		return inst.settings[name] !== undefined ?
7334			inst.settings[name] : this._defaults[name];
7335	},
7336	_setDateFromField: function(inst, noDefault) {
7337		if (inst.input.val() === inst.lastVal) {
7338			return;
7339		}
7340		var dateFormat = this._get(inst, "dateFormat"),
7341			dates = inst.lastVal = inst.input ? inst.input.val() : null,
7342			defaultDate = this._getDefaultDate(inst),
7343			date = defaultDate,
7344			settings = this._getFormatConfig(inst);
7345		try {
7346			date = this.parseDate(dateFormat, dates, settings) || defaultDate;
7347		} catch (event) {
7348			dates = (noDefault ? "" : dates);
7349		}
7350		inst.selectedDay = date.getDate();
7351		inst.drawMonth = inst.selectedMonth = date.getMonth();
7352		inst.drawYear = inst.selectedYear = date.getFullYear();
7353		inst.currentDay = (dates ? date.getDate() : 0);
7354		inst.currentMonth = (dates ? date.getMonth() : 0);
7355		inst.currentYear = (dates ? date.getFullYear() : 0);
7356		this._adjustInstDate(inst);
7357	},
7358	_getDefaultDate: function(inst) {
7359		return this._restrictMinMax(inst,
7360			this._determineDate(inst, this._get(inst, "defaultDate"), new Date()));
7361	},
7362	_determineDate: function(inst, date, defaultDate) {
7363		var offsetNumeric = function(offset) {
7364				var date = new Date();
7365				date.setDate(date.getDate() + offset);
7366				return date;
7367			},
7368			offsetString = function(offset) {
7369				try {
7370					return $.datepicker.parseDate($.datepicker._get(inst, "dateFormat"),
7371						offset, $.datepicker._getFormatConfig(inst));
7372				}
7373				catch (e) {
7374				}
7375				var date = (offset.toLowerCase().match(/^c/) ?
7376					$.datepicker._getDate(inst) : null) || new Date(),
7377					year = date.getFullYear(),
7378					month = date.getMonth(),
7379					day = date.getDate(),
7380					pattern = /([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,
7381					matches = pattern.exec(offset);
7382				while (matches) {
7383					switch (matches[2] || "d") {
7384						case "d" : case "D" :
7385							day += parseInt(matches[1],10); break;
7386						case "w" : case "W" :
7387							day += parseInt(matches[1],10) * 7; break;
7388						case "m" : case "M" :
7389							month += parseInt(matches[1],10);
7390							day = Math.min(day, $.datepicker._getDaysInMonth(year, month));
7391							break;
7392						case "y": case "Y" :
7393							year += parseInt(matches[1],10);
7394							day = Math.min(day, $.datepicker._getDaysInMonth(year, month));
7395							break;
7396					}
7397					matches = pattern.exec(offset);
7398				}
7399				return new Date(year, month, day);
7400			},
7401			newDate = (date == null || date === "" ? defaultDate : (typeof date === "string" ? offsetString(date) :
7402				(typeof date === "number" ? (isNaN(date) ? defaultDate : offsetNumeric(date)) : new Date(date.getTime()))));
7403		newDate = (newDate && newDate.toString() === "Invalid Date" ? defaultDate : newDate);
7404		if (newDate) {
7405			newDate.setHours(0);
7406			newDate.setMinutes(0);
7407			newDate.setSeconds(0);
7408			newDate.setMilliseconds(0);
7409		}
7410		return this._daylightSavingAdjust(newDate);
7411	},
7412	_daylightSavingAdjust: function(date) {
7413		if (!date) {
7414			return null;
7415		}
7416		date.setHours(date.getHours() > 12 ? date.getHours() + 2 : 0);
7417		return date;
7418	},
7419	_setDate: function(inst, date, noChange) {
7420		var clear = !date,
7421			origMonth = inst.selectedMonth,
7422			origYear = inst.selectedYear,
7423			newDate = this._restrictMinMax(inst, this._determineDate(inst, date, new Date()));
7424		inst.selectedDay = inst.currentDay = newDate.getDate();
7425		inst.drawMonth = inst.selectedMonth = inst.currentMonth = newDate.getMonth();
7426		inst.drawYear = inst.selectedYear = inst.currentYear = newDate.getFullYear();
7427		if ((origMonth !== inst.selectedMonth || origYear !== inst.selectedYear) && !noChange) {
7428			this._notifyChange(inst);
7429		}
7430		this._adjustInstDate(inst);
7431		if (inst.input) {
7432			inst.input.val(clear ? "" : this._formatDate(inst));
7433		}
7434	},
7435	_getDate: function(inst) {
7436		var startDate = (!inst.currentYear || (inst.input && inst.input.val() === "") ? null :
7437			this._daylightSavingAdjust(new Date(
7438			inst.currentYear, inst.currentMonth, inst.currentDay)));
7439			return startDate;
7440	},
7441	_attachHandlers: function(inst) {
7442		var stepMonths = this._get(inst, "stepMonths"),
7443			id = "#" + inst.id.replace( /\\\\/g, "\\" );
7444		inst.dpDiv.find("[data-handler]").map(function () {
7445			var handler = {
7446				prev: function () {
7447					$.datepicker._adjustDate(id, -stepMonths, "M");
7448				},
7449				next: function () {
7450					$.datepicker._adjustDate(id, +stepMonths, "M");
7451				},
7452				hide: function () {
7453					$.datepicker._hideDatepicker();
7454				},
7455				today: function () {
7456					$.datepicker._gotoToday(id);
7457				},
7458				selectDay: function () {
7459					$.datepicker._selectDay(id, +this.getAttribute("data-month"), +this.getAttribute("data-year"), this);
7460					return false;
7461				},
7462				selectMonth: function () {
7463					$.datepicker._selectMonthYear(id, this, "M");
7464					return false;
7465				},
7466				selectYear: function () {
7467					$.datepicker._selectMonthYear(id, this, "Y");
7468					return false;
7469				}
7470			};
7471			$(this).bind(this.getAttribute("data-event"), handler[this.getAttribute("data-handler")]);
7472		});
7473	},
7474	_generateHTML: function(inst) {
7475		var maxDraw, prevText, prev, nextText, next, currentText, gotoDate,
7476			controls, buttonPanel, firstDay, showWeek, dayNames, dayNamesMin,
7477			monthNames, monthNamesShort, beforeShowDay, showOtherMonths,
7478			selectOtherMonths, defaultDate, html, dow, row, group, col, selectedDate,
7479			cornerClass, calender, thead, day, daysInMonth, leadDays, curRows, numRows,
7480			printDate, dRow, tbody, daySettings, otherMonth, unselectable,
7481			tempDate = new Date(),
7482			today = this._daylightSavingAdjust(
7483				new Date(tempDate.getFullYear(), tempDate.getMonth(), tempDate.getDate())), // clear time
7484			isRTL = this._get(inst, "isRTL"),
7485			showButtonPanel = this._get(inst, "showButtonPanel"),
7486			hideIfNoPrevNext = this._get(inst, "hideIfNoPrevNext"),
7487			navigationAsDateFormat = this._get(inst, "navigationAsDateFormat"),
7488			numMonths = this._getNumberOfMonths(inst),
7489			showCurrentAtPos = this._get(inst, "showCurrentAtPos"),
7490			stepMonths = this._get(inst, "stepMonths"),
7491			isMultiMonth = (numMonths[0] !== 1 || numMonths[1] !== 1),
7492			currentDate = this._daylightSavingAdjust((!inst.currentDay ? new Date(9999, 9, 9) :
7493				new Date(inst.currentYear, inst.currentMonth, inst.currentDay))),
7494			minDate = this._getMinMaxDate(inst, "min"),
vendor: 33,347 bytes, lines 7495-8442
7495			maxDate = this._getMinMaxDate(inst, "max"),
7496			drawMonth = inst.drawMonth - showCurrentAtPos,
7497			drawYear = inst.drawYear;
7498
7499		if (drawMonth < 0) {
7500			drawMonth += 12;
7501			drawYear--;
7502		}
7503		if (maxDate) {
7504			maxDraw = this._daylightSavingAdjust(new Date(maxDate.getFullYear(),
7505				maxDate.getMonth() - (numMonths[0] * numMonths[1]) + 1, maxDate.getDate()));
7506			maxDraw = (minDate && maxDraw < minDate ? minDate : maxDraw);
7507			while (this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1)) > maxDraw) {
7508				drawMonth--;
7509				if (drawMonth < 0) {
7510					drawMonth = 11;
7511					drawYear--;
7512				}
7513			}
7514		}
7515		inst.drawMonth = drawMonth;
7516		inst.drawYear = drawYear;
7517		prevText = this._get(inst, "prevText");
7518		prevText = (!navigationAsDateFormat ? prevText : this.formatDate(prevText,
7519			this._daylightSavingAdjust(new Date(drawYear, drawMonth - stepMonths, 1)),
7520			this._getFormatConfig(inst)));
7521		prev = (this._canAdjustMonth(inst, -1, drawYear, drawMonth) ?
7522			"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click'" +
7523			" title='" + prevText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "e" : "w") + "'>" + prevText + "</span></a>" :
7524			(hideIfNoPrevNext ? "" : "<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+ prevText +"'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "e" : "w") + "'>" + prevText + "</span></a>"));
7525		nextText = this._get(inst, "nextText");
7526		nextText = (!navigationAsDateFormat ? nextText : this.formatDate(nextText,
7527			this._daylightSavingAdjust(new Date(drawYear, drawMonth + stepMonths, 1)),
7528			this._getFormatConfig(inst)));
7529		next = (this._canAdjustMonth(inst, +1, drawYear, drawMonth) ?
7530			"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click'" +
7531			" title='" + nextText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "w" : "e") + "'>" + nextText + "</span></a>" :
7532			(hideIfNoPrevNext ? "" : "<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+ nextText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "w" : "e") + "'>" + nextText + "</span></a>"));
7533		currentText = this._get(inst, "currentText");
7534		gotoDate = (this._get(inst, "gotoCurrent") && inst.currentDay ? currentDate : today);
7535		currentText = (!navigationAsDateFormat ? currentText :
7536			this.formatDate(currentText, gotoDate, this._getFormatConfig(inst)));
7537		controls = (!inst.inline ? "<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>" +
7538			this._get(inst, "closeText") + "</button>" : "");
7539		buttonPanel = (showButtonPanel) ? "<div class='ui-datepicker-buttonpane ui-widget-content'>" + (isRTL ? controls : "") +
7540			(this._isInRange(inst, gotoDate) ? "<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'" +
7541			">" + currentText + "</button>" : "") + (isRTL ? "" : controls) + "</div>" : "";
7542		firstDay = parseInt(this._get(inst, "firstDay"),10);
7543		firstDay = (isNaN(firstDay) ? 0 : firstDay);
7544		showWeek = this._get(inst, "showWeek");
7545		dayNames = this._get(inst, "dayNames");
7546		dayNamesMin = this._get(inst, "dayNamesMin");
7547		monthNames = this._get(inst, "monthNames");
7548		monthNamesShort = this._get(inst, "monthNamesShort");
7549		beforeShowDay = this._get(inst, "beforeShowDay");
7550		showOtherMonths = this._get(inst, "showOtherMonths");
7551		selectOtherMonths = this._get(inst, "selectOtherMonths");
7552		defaultDate = this._getDefaultDate(inst);
7553		html = "";
7554		dow;
7555		for (row = 0; row < numMonths[0]; row++) {
7556			group = "";
7557			this.maxRows = 4;
7558			for (col = 0; col < numMonths[1]; col++) {
7559				selectedDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, inst.selectedDay));
7560				cornerClass = " ui-corner-all";
7561				calender = "";
7562				if (isMultiMonth) {
7563					calender += "<div class='ui-datepicker-group";
7564					if (numMonths[1] > 1) {
7565						switch (col) {
7566							case 0: calender += " ui-datepicker-group-first";
7567								cornerClass = " ui-corner-" + (isRTL ? "right" : "left"); break;
7568							case numMonths[1]-1: calender += " ui-datepicker-group-last";
7569								cornerClass = " ui-corner-" + (isRTL ? "left" : "right"); break;
7570							default: calender += " ui-datepicker-group-middle"; cornerClass = ""; break;
7571						}
7572					}
7573					calender += "'>";
7574				}
7575				calender += "<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix" + cornerClass + "'>" +
7576					(/all|left/.test(cornerClass) && row === 0 ? (isRTL ? next : prev) : "") +
7577					(/all|right/.test(cornerClass) && row === 0 ? (isRTL ? prev : next) : "") +
7578					this._generateMonthYearHeader(inst, drawMonth, drawYear, minDate, maxDate,
7579					row > 0 || col > 0, monthNames, monthNamesShort) + // draw month headers
7580					"</div><table class='ui-datepicker-calendar'><caption style='display:none;'>Calendar</caption><thead>" +
7581					"<tr>";
7582				thead = (showWeek ? "<th class='ui-datepicker-week-col'>" + this._get(inst, "weekHeader") + "</th>" : "");
7583				for (dow = 0; dow < 7; dow++) { // days of the week
7584					day = (dow + firstDay) % 7;
7585					thead += "<th" + ((dow + firstDay + 6) % 7 >= 5 ? " class='ui-datepicker-week-end'" : "") + ">" +
7586						"<span title='" + dayNames[day] + "'>" + dayNamesMin[day] + "</span></th>";
7587				}
7588				calender += thead + "</tr></thead><tbody>";
7589				daysInMonth = this._getDaysInMonth(drawYear, drawMonth);
7590				if (drawYear === inst.selectedYear && drawMonth === inst.selectedMonth) {
7591					inst.selectedDay = Math.min(inst.selectedDay, daysInMonth);
7592				}
7593				leadDays = (this._getFirstDayOfMonth(drawYear, drawMonth) - firstDay + 7) % 7;
7594				curRows = Math.ceil((leadDays + daysInMonth) / 7); // calculate the number of rows to generate
7595				numRows = (isMultiMonth ? this.maxRows > curRows ? this.maxRows : curRows : curRows); //If multiple months, use the higher number of rows (see #7043)
7596				this.maxRows = numRows;
7597				printDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1 - leadDays));
7598				for (dRow = 0; dRow < numRows; dRow++) { // create date picker rows
7599					calender += "<tr>";
7600					tbody = (!showWeek ? "" : "<td class='ui-datepicker-week-col'>" +
7601						this._get(inst, "calculateWeek")(printDate) + "</td>");
7602					for (dow = 0; dow < 7; dow++) { // create date picker days
7603						daySettings = (beforeShowDay ?
7604							beforeShowDay.apply((inst.input ? inst.input[0] : null), [printDate]) : [true, ""]);
7605						otherMonth = (printDate.getMonth() !== drawMonth);
7606						unselectable = (otherMonth && !selectOtherMonths) || !daySettings[0] ||
7607							(minDate && printDate < minDate) || (maxDate && printDate > maxDate);
7608						tbody += "<td class='" +
7609							((dow + firstDay + 6) % 7 >= 5 ? " ui-datepicker-week-end" : "") + // highlight weekends
7610							(otherMonth ? " ui-datepicker-other-month" : "") + // highlight days from other months
7611							((printDate.getTime() === selectedDate.getTime() && drawMonth === inst.selectedMonth && inst._keyEvent) || // user pressed key
7612							(defaultDate.getTime() === printDate.getTime() && defaultDate.getTime() === selectedDate.getTime()) ?
7613							// or defaultDate is current printedDate and defaultDate is selectedDate
7614							" " + this._dayOverClass : "") + // highlight selected day
7615							(unselectable ? " " + this._unselectableClass + " ui-state-disabled": "") +  // highlight unselectable days
7616							(otherMonth && !showOtherMonths ? "" : " " + daySettings[1] + // highlight custom dates
7617							(printDate.getTime() === currentDate.getTime() ? " " + this._currentClass : "") + // highlight selected day
7618							(printDate.getTime() === today.getTime() ? " ui-datepicker-today" : "")) + "'" + // highlight today (if different)
7619							((!otherMonth || showOtherMonths) && daySettings[2] ? " title='" + daySettings[2].replace(/'/g, "&#39;") + "'" : "") + // cell title
7620							(unselectable ? "" : " data-handler='selectDay' data-event='click' data-month='" + printDate.getMonth() + "' data-year='" + printDate.getFullYear() + "'") + ">" + // actions
7621							(otherMonth && !showOtherMonths ? "&#xa0;" : // display for other months
7622							(unselectable ? "<span class='ui-state-default'>" + printDate.getDate() + "</span>" : "<a class='ui-state-default" +
7623							(printDate.getTime() === today.getTime() ? " ui-state-highlight" : "") +
7624							(printDate.getTime() === currentDate.getTime() ? " ui-state-active" : "") + // highlight selected day
7625							(otherMonth ? " ui-priority-secondary" : "") + // distinguish dates from other months
7626							"' href='#'>" + printDate.getDate() + "</a>")) + "</td>"; // display selectable date
7627						printDate.setDate(printDate.getDate() + 1);
7628						printDate = this._daylightSavingAdjust(printDate);
7629					}
7630					calender += tbody + "</tr>";
7631				}
7632				drawMonth++;
7633				if (drawMonth > 11) {
7634					drawMonth = 0;
7635					drawYear++;
7636				}
7637				calender += "</tbody></table>" + (isMultiMonth ? "</div>" +
7638							((numMonths[0] > 0 && col === numMonths[1]-1) ? "<div class='ui-datepicker-row-break'></div>" : "") : "");
7639				group += calender;
7640			}
7641			html += group;
7642		}
7643		html += buttonPanel;
7644		inst._keyEvent = false;
7645		return html;
7646	},
7647	_generateMonthYearHeader: function(inst, drawMonth, drawYear, minDate, maxDate,
7648			secondary, monthNames, monthNamesShort) {
7649		var inMinYear, inMaxYear, month, years, thisYear, determineYear, year, endYear,
7650			changeMonth = this._get(inst, "changeMonth"),
7651			changeYear = this._get(inst, "changeYear"),
7652			showMonthAfterYear = this._get(inst, "showMonthAfterYear"),
7653			html = "<div class='ui-datepicker-title'>",
7654			monthHtml = "";
7655		if (secondary || !changeMonth) {
7656			monthHtml += "<span class='ui-datepicker-month'>" + monthNames[drawMonth] + "</span>";
7657		} else {
7658			inMinYear = (minDate && minDate.getFullYear() === drawYear);
7659			inMaxYear = (maxDate && maxDate.getFullYear() === drawYear);
7660			monthHtml += "<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>";
7661			for ( month = 0; month < 12; month++) {
7662				if ((!inMinYear || month >= minDate.getMonth()) && (!inMaxYear || month <= maxDate.getMonth())) {
7663					monthHtml += "<option value='" + month + "'" +
7664						(month === drawMonth ? " selected='selected'" : "") +
7665						">" + monthNamesShort[month] + "</option>";
7666				}
7667			}
7668			monthHtml += "</select>";
7669		}
7670		if (!showMonthAfterYear) {
7671			html += monthHtml + (secondary || !(changeMonth && changeYear) ? "&#xa0;" : "");
7672		}
7673		if ( !inst.yearshtml ) {
7674			inst.yearshtml = "";
7675			if (secondary || !changeYear) {
7676				html += "<span class='ui-datepicker-year'>" + drawYear + "</span>";
7677			} else {
7678				years = this._get(inst, "yearRange").split(":");
7679				thisYear = new Date().getFullYear();
7680				determineYear = function(value) {
7681					var year = (value.match(/c[+\-].*/) ? drawYear + parseInt(value.substring(1), 10) :
7682						(value.match(/[+\-].*/) ? thisYear + parseInt(value, 10) :
7683						parseInt(value, 10)));
7684					return (isNaN(year) ? thisYear : year);
7685				};
7686				year = determineYear(years[0]);
7687				endYear = Math.max(year, determineYear(years[1] || ""));
7688				year = (minDate ? Math.max(year, minDate.getFullYear()) : year);
7689				endYear = (maxDate ? Math.min(endYear, maxDate.getFullYear()) : endYear);
7690				inst.yearshtml += "<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";
7691				for (; year <= endYear; year++) {
7692					inst.yearshtml += "<option value='" + year + "'" +
7693						(year === drawYear ? " selected='selected'" : "") +
7694						">" + year + "</option>";
7695				}
7696				inst.yearshtml += "</select>";
7697
7698				html += inst.yearshtml;
7699				inst.yearshtml = null;
7700			}
7701		}
7702		html += this._get(inst, "yearSuffix");
7703		if (showMonthAfterYear) {
7704			html += (secondary || !(changeMonth && changeYear) ? "&#xa0;" : "") + monthHtml;
7705		}
7706		html += "</div>"; // Close datepicker_header
7707		return html;
7708	},
7709	_adjustInstDate: function(inst, offset, period) {
7710		var year = inst.drawYear + (period === "Y" ? offset : 0),
7711			month = inst.drawMonth + (period === "M" ? offset : 0),
7712			day = Math.min(inst.selectedDay, this._getDaysInMonth(year, month)) + (period === "D" ? offset : 0),
7713			date = this._restrictMinMax(inst, this._daylightSavingAdjust(new Date(year, month, day)));
7714		inst.selectedDay = date.getDate();
7715		inst.drawMonth = inst.selectedMonth = date.getMonth();
7716		inst.drawYear = inst.selectedYear = date.getFullYear();
7717		if (period === "M" || period === "Y") {
7718			this._notifyChange(inst);
7719		}
7720	},
7721	_restrictMinMax: function(inst, date) {
7722		var minDate = this._getMinMaxDate(inst, "min"),
7723			maxDate = this._getMinMaxDate(inst, "max"),
7724			newDate = (minDate && date < minDate ? minDate : date);
7725		return (maxDate && newDate > maxDate ? maxDate : newDate);
7726	},
7727	_notifyChange: function(inst) {
7728		var onChange = this._get(inst, "onChangeMonthYear");
7729		if (onChange) {
7730			onChange.apply((inst.input ? inst.input[0] : null),
7731				[inst.selectedYear, inst.selectedMonth + 1, inst]);
7732		}
7733	},
7734	_getNumberOfMonths: function(inst) {
7735		var numMonths = this._get(inst, "numberOfMonths");
7736		return (numMonths == null ? [1, 1] : (typeof numMonths === "number" ? [1, numMonths] : numMonths));
7737	},
7738	_getMinMaxDate: function(inst, minMax) {
7739		return this._determineDate(inst, this._get(inst, minMax + "Date"), null);
7740	},
7741	_getDaysInMonth: function(year, month) {
7742		return 32 - this._daylightSavingAdjust(new Date(year, month, 32)).getDate();
7743	},
7744	_getFirstDayOfMonth: function(year, month) {
7745		return new Date(year, month, 1).getDay();
7746	},
7747	_canAdjustMonth: function(inst, offset, curYear, curMonth) {
7748		var numMonths = this._getNumberOfMonths(inst),
7749			date = this._daylightSavingAdjust(new Date(curYear,
7750			curMonth + (offset < 0 ? offset : numMonths[0] * numMonths[1]), 1));
7751
7752		if (offset < 0) {
7753			date.setDate(this._getDaysInMonth(date.getFullYear(), date.getMonth()));
7754		}
7755		return this._isInRange(inst, date);
7756	},
7757	_isInRange: function(inst, date) {
7758		var yearSplit, currentYear,
7759			minDate = this._getMinMaxDate(inst, "min"),
7760			maxDate = this._getMinMaxDate(inst, "max"),
7761			minYear = null,
7762			maxYear = null,
7763			years = this._get(inst, "yearRange");
7764			if (years){
7765				yearSplit = years.split(":");
7766				currentYear = new Date().getFullYear();
7767				minYear = parseInt(yearSplit[0], 10);
7768				maxYear = parseInt(yearSplit[1], 10);
7769				if ( yearSplit[0].match(/[+\-].*/) ) {
7770					minYear += currentYear;
7771				}
7772				if ( yearSplit[1].match(/[+\-].*/) ) {
7773					maxYear += currentYear;
7774				}
7775			}
7776		return ((!minDate || date.getTime() >= minDate.getTime()) &&
7777			(!maxDate || date.getTime() <= maxDate.getTime()) &&
7778			(!minYear || date.getFullYear() >= minYear) &&
7779			(!maxYear || date.getFullYear() <= maxYear));
7780	},
7781	_getFormatConfig: function(inst) {
7782		var shortYearCutoff = this._get(inst, "shortYearCutoff");
7783		shortYearCutoff = (typeof shortYearCutoff !== "string" ? shortYearCutoff :
7784			new Date().getFullYear() % 100 + parseInt(shortYearCutoff, 10));
7785		return {shortYearCutoff: shortYearCutoff,
7786			dayNamesShort: this._get(inst, "dayNamesShort"), dayNames: this._get(inst, "dayNames"),
7787			monthNamesShort: this._get(inst, "monthNamesShort"), monthNames: this._get(inst, "monthNames")};
7788	},
7789	_formatDate: function(inst, day, month, year) {
7790		if (!day) {
7791			inst.currentDay = inst.selectedDay;
7792			inst.currentMonth = inst.selectedMonth;
7793			inst.currentYear = inst.selectedYear;
7794		}
7795		var date = (day ? (typeof day === "object" ? day :
7796			this._daylightSavingAdjust(new Date(year, month, day))) :
7797			this._daylightSavingAdjust(new Date(inst.currentYear, inst.currentMonth, inst.currentDay)));
7798		return this.formatDate(this._get(inst, "dateFormat"), date, this._getFormatConfig(inst));
7799	}
7800});
7801function bindHover(dpDiv) {
7802	var selector = "button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";
7803	return dpDiv.delegate(selector, "mouseout", function() {
7804			$(this).removeClass("ui-state-hover");
7805			if (this.className.indexOf("ui-datepicker-prev") !== -1) {
7806				$(this).removeClass("ui-datepicker-prev-hover");
7807			}
7808			if (this.className.indexOf("ui-datepicker-next") !== -1) {
7809				$(this).removeClass("ui-datepicker-next-hover");
7810			}
7811		})
7812		.delegate(selector, "mouseover", function(){
7813			if (!$.datepicker._isDisabledDatepicker( instActive.inline ? dpDiv.parent()[0] : instActive.input[0])) {
7814				$(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");
7815				$(this).addClass("ui-state-hover");
7816				if (this.className.indexOf("ui-datepicker-prev") !== -1) {
7817					$(this).addClass("ui-datepicker-prev-hover");
7818				}
7819				if (this.className.indexOf("ui-datepicker-next") !== -1) {
7820					$(this).addClass("ui-datepicker-next-hover");
7821				}
7822			}
7823		});
7824}
7825function extendRemove(target, props) {
7826	$.extend(target, props);
7827	for (var name in props) {
7828		if (props[name] == null) {
7829			target[name] = props[name];
7830		}
7831	}
7832	return target;
7833}
7834$.fn.datepicker = function(options){
7835	if ( !this.length ) {
7836		return this;
7837	}
7838	if (!$.datepicker.initialized) {
7839		$(document).mousedown($.datepicker._checkExternalClick);
7840		$.datepicker.initialized = true;
7841	}
7842	if ($("#"+$.datepicker._mainDivId).length === 0) {
7843		$("body").append($.datepicker.dpDiv);
7844	}
7845	var otherArgs = Array.prototype.slice.call(arguments, 1);
7846	if (typeof options === "string" && (options === "isDisabled" || options === "getDate" || options === "widget")) {
7847		return $.datepicker["_" + options + "Datepicker"].
7848			apply($.datepicker, [this[0]].concat(otherArgs));
7849	}
7850	if (options === "option" && arguments.length === 2 && typeof arguments[1] === "string") {
7851		return $.datepicker["_" + options + "Datepicker"].
7852			apply($.datepicker, [this[0]].concat(otherArgs));
7853	}
7854	return this.each(function() {
7855		typeof options === "string" ?
7856			$.datepicker["_" + options + "Datepicker"].
7857				apply($.datepicker, [this].concat(otherArgs)) :
7858			$.datepicker._attachDatepicker(this, options);
7859	});
7860};
7861$.datepicker = new Datepicker();
7862$.datepicker.initialized = false;
7863$.datepicker.uuid = new Date().getTime();
7864$.datepicker.version = "1.10.4";
7865})(jQuery);
7866(function( $, undefined ) {
7867var sizeRelatedOptions = {
7868		buttons: true,
7869		height: true,
7870		maxHeight: true,
7871		maxWidth: true,
7872		minHeight: true,
7873		minWidth: true,
7874		width: true
7875	},
7876	resizableRelatedOptions = {
7877		maxHeight: true,
7878		maxWidth: true,
7879		minHeight: true,
7880		minWidth: true
7881	};
7882$.widget( "ui.dialog", {
7883	version: "1.10.4",
7884	options: {
7885		appendTo: "body",
7886		autoOpen: true,
7887		buttons: [],
7888		closeOnEscape: true,
7889		closeText: "close",
7890		dialogClass: "",
7891		draggable: true,
7892		hide: null,
7893		height: "auto",
7894		maxHeight: null,
7895		maxWidth: null,
7896		minHeight: 150,
7897		minWidth: 150,
7898		modal: false,
7899		position: {
7900			my: "center",
7901			at: "center",
7902			of: window,
7903			collision: "fit",
7904			using: function( pos ) {
7905				var topOffset = $( this ).css( pos ).offset().top;
7906				if ( topOffset < 0 ) {
7907					$( this ).css( "top", pos.top - topOffset );
7908				}
7909			}
7910		},
7911		resizable: true,
7912		show: null,
7913		title: null,
7914		width: 300,
7915		beforeClose: null,
7916		close: null,
7917		drag: null,
7918		dragStart: null,
7919		dragStop: null,
7920		focus: null,
7921		open: null,
7922		resize: null,
7923		resizeStart: null,
7924		resizeStop: null
7925	},
7926	_create: function() {
7927		this.originalCss = {
7928			display: this.element[0].style.display,
7929			width: this.element[0].style.width,
7930			minHeight: this.element[0].style.minHeight,
7931			maxHeight: this.element[0].style.maxHeight,
7932			height: this.element[0].style.height
7933		};
7934		this.originalPosition = {
7935			parent: this.element.parent(),
7936			index: this.element.parent().children().index( this.element )
7937		};
7938		this.originalTitle = this.element.attr("title");
7939		this.options.title = this.options.title || this.originalTitle;
7940		this._createWrapper();
7941		this.element
7942			.show()
7943			.removeAttr("title")
7944			.addClass("ui-dialog-content ui-widget-content")
7945			.appendTo( this.uiDialog );
7946		this._createTitlebar();
7947		this._createButtonPane();
7948		if ( this.options.draggable && $.fn.draggable ) {
7949			this._makeDraggable();
7950		}
7951		if ( this.options.resizable && $.fn.resizable ) {
7952			this._makeResizable();
7953		}
7954		this._isOpen = false;
7955	},
7956	_init: function() {
7957		if ( this.options.autoOpen ) {
7958			this.open();
7959		}
7960	},
7961	_appendTo: function() {
7962		var element = this.options.appendTo;
7963		if ( element && (element.jquery || element.nodeType) ) {
7964			return $( element );
7965		}
7966		return this.document.find( element || "body" ).eq( 0 );
7967	},
7968	_destroy: function() {
7969		var next,
7970			originalPosition = this.originalPosition;
7971		this._destroyOverlay();
7972		this.element
7973			.removeUniqueId()
7974			.removeClass("ui-dialog-content ui-widget-content")
7975			.css( this.originalCss )
7976			.detach();
7977		this.uiDialog.stop( true, true ).remove();
7978		if ( this.originalTitle ) {
7979			this.element.attr( "title", this.originalTitle );
7980		}
7981		next = originalPosition.parent.children().eq( originalPosition.index );
7982		if ( next.length && next[0] !== this.element[0] ) {
7983			next.before( this.element );
7984		} else {
7985			originalPosition.parent.append( this.element );
7986		}
7987	},
7988	widget: function() {
7989		return this.uiDialog;
7990	},
7991	disable: $.noop,
7992	enable: $.noop,
7993	close: function( event ) {
7994		var activeElement,
7995			that = this;
7996		if ( !this._isOpen || this._trigger( "beforeClose", event ) === false ) {
7997			return;
7998		}
7999		this._isOpen = false;
8000		this._destroyOverlay();
8001		if ( !this.opener.filter(":focusable").focus().length ) {
8002			try {
8003				activeElement = this.document[ 0 ].activeElement;
8004				if ( activeElement && activeElement.nodeName.toLowerCase() !== "body" ) {
8005					$( activeElement ).blur();
8006				}
8007			} catch ( error ) {}
8008		}
8009		this._hide( this.uiDialog, this.options.hide, function() {
8010			that._trigger( "close", event );
8011		});
8012	},
8013	isOpen: function() {
8014		return this._isOpen;
8015	},
8016	moveToTop: function() {
8017		this._moveToTop();
8018	},
8019	_moveToTop: function( event, silent ) {
8020		var moved = !!this.uiDialog.nextAll(":visible").insertBefore( this.uiDialog ).length;
8021		if ( moved && !silent ) {
8022			this._trigger( "focus", event );
8023		}
8024		return moved;
8025	},
8026	open: function() {
8027		var that = this;
8028		if ( this._isOpen ) {
8029			if ( this._moveToTop() ) {
8030				this._focusTabbable();
8031			}
8032			return;
8033		}
8034		this._isOpen = true;
8035		this.opener = $( this.document[0].activeElement );
8036		this._size();
8037		this._position();
8038		this._createOverlay();
8039		this._moveToTop( null, true );
8040		this._show( this.uiDialog, this.options.show, function() {
8041			that._focusTabbable();
8042			that._trigger("focus");
8043		});
8044		this._trigger("open");
8045	},
8046	_focusTabbable: function() {
8047		var hasFocus = this.element.find("[autofocus]");
8048		if ( !hasFocus.length ) {
8049			hasFocus = this.element.find(":tabbable");
8050		}
8051		if ( !hasFocus.length ) {
8052			hasFocus = this.uiDialogButtonPane.find(":tabbable");
8053		}
8054		if ( !hasFocus.length ) {
8055			hasFocus = this.uiDialogTitlebarClose.filter(":tabbable");
8056		}
8057		if ( !hasFocus.length ) {
8058			hasFocus = this.uiDialog;
8059		}
8060		hasFocus.eq( 0 ).focus();
8061	},
8062	_keepFocus: function( event ) {
8063		function checkFocus() {
8064			var activeElement = this.document[0].activeElement,
8065				isActive = this.uiDialog[0] === activeElement ||
8066					$.contains( this.uiDialog[0], activeElement );
8067			if ( !isActive ) {
8068				this._focusTabbable();
8069			}
8070		}
8071		event.preventDefault();
8072		checkFocus.call( this );
8073		this._delay( checkFocus );
8074	},
8075	_createWrapper: function() {
8076		this.uiDialog = $("<div>")
8077			.addClass( "ui-dialog ui-widget ui-widget-content ui-corner-all ui-front " +
8078				this.options.dialogClass )
8079			.hide()
8080			.attr({
8081				tabIndex: -1,
8082				role: "dialog"
8083			})
8084			.appendTo( this._appendTo() );
8085		this._on( this.uiDialog, {
8086			keydown: function( event ) {
8087				if ( this.options.closeOnEscape && !event.isDefaultPrevented() && event.keyCode &&
8088						event.keyCode === $.ui.keyCode.ESCAPE ) {
8089					event.preventDefault();
8090					this.close( event );
8091					return;
8092				}
8093				if ( event.keyCode !== $.ui.keyCode.TAB ) {
8094					return;
8095				}
8096				var tabbables = this.uiDialog.find(":tabbable"),
8097					first = tabbables.filter(":first"),
8098					last  = tabbables.filter(":last");
8099				if ( ( event.target === last[0] || event.target === this.uiDialog[0] ) && !event.shiftKey ) {
8100					first.focus( 1 );
8101					event.preventDefault();
8102				} else if ( ( event.target === first[0] || event.target === this.uiDialog[0] ) && event.shiftKey ) {
8103					last.focus( 1 );
8104					event.preventDefault();
8105				}
8106			},
8107			mousedown: function( event ) {
8108				if ( this._moveToTop( event ) ) {
8109					this._focusTabbable();
8110				}
8111			}
8112		});
8113		if ( !this.element.find("[aria-describedby]").length ) {
8114			this.uiDialog.attr({
8115				"aria-describedby": this.element.uniqueId().attr("id")
8116			});
8117		}
8118	},
8119	_createTitlebar: function() {
8120		var uiDialogTitle;
8121		this.uiDialogTitlebar = $("<div>")
8122			.addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix")
8123			.prependTo( this.uiDialog );
8124		this._on( this.uiDialogTitlebar, {
8125			mousedown: function( event ) {
8126				if ( !$( event.target ).closest(".ui-dialog-titlebar-close") ) {
8127					this.uiDialog.focus();
8128				}
8129			}
8130		});
8131		this.uiDialogTitlebarClose = $( "<button type='button'></button>" )
8132			.button({
8133				label: this.options.closeText,
8134				icons: {
8135					primary: "ui-icon-closethick"
8136				},
8137				text: false
8138			})
8139			.addClass("ui-dialog-titlebar-close")
8140			.appendTo( this.uiDialogTitlebar );
8141		this._on( this.uiDialogTitlebarClose, {
8142			click: function( event ) {
8143				event.preventDefault();
8144				this.close( event );
8145			}
8146		});
8147		uiDialogTitle = $("<span>")
8148			.uniqueId()
8149			.addClass("ui-dialog-title")
8150			.prependTo( this.uiDialogTitlebar );
8151		this._title( uiDialogTitle );
8152		this.uiDialog.attr({
8153			"aria-labelledby": uiDialogTitle.attr("id")
8154		});
8155	},
8156	_title: function( title ) {
8157		if ( !this.options.title ) {
8158			title.html("&#160;");
8159		}
8160		title.text( this.options.title );
8161	},
8162	_createButtonPane: function() {
8163		this.uiDialogButtonPane = $("<div>")
8164			.addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix");
8165		this.uiButtonSet = $("<div>")
8166			.addClass("ui-dialog-buttonset")
8167			.appendTo( this.uiDialogButtonPane );
8168		this._createButtons();
8169	},
8170	_createButtons: function() {
8171		var that = this,
8172			buttons = this.options.buttons;
8173		this.uiDialogButtonPane.remove();
8174		this.uiButtonSet.empty();
8175		if ( $.isEmptyObject( buttons ) || ($.isArray( buttons ) && !buttons.length) ) {
8176			this.uiDialog.removeClass("ui-dialog-buttons");
8177			return;
8178		}
8179		$.each( buttons, function( name, props ) {
8180			var click, buttonOptions;
8181			props = $.isFunction( props ) ?
8182				{ click: props, text: name } :
8183				props;
8184			props = $.extend( { type: "button" }, props );
8185			click = props.click;
8186			props.click = function() {
8187				click.apply( that.element[0], arguments );
8188			};
8189			buttonOptions = {
8190				icons: props.icons,
8191				text: props.showText
8192			};
8193			delete props.icons;
8194			delete props.showText;
8195			$( "<button></button>", props )
8196				.button( buttonOptions )
8197				.appendTo( that.uiButtonSet );
8198		});
8199		this.uiDialog.addClass("ui-dialog-buttons");
8200		this.uiDialogButtonPane.appendTo( this.uiDialog );
8201	},
8202	_makeDraggable: function() {
8203		var that = this,
8204			options = this.options;
8205		function filteredUi( ui ) {
8206			return {
8207				position: ui.position,
8208				offset: ui.offset
8209			};
8210		}
8211		this.uiDialog.draggable({
8212			cancel: ".ui-dialog-content, .ui-dialog-titlebar-close",
8213			handle: ".ui-dialog-titlebar",
8214			containment: "document",
8215			start: function( event, ui ) {
8216				$( this ).addClass("ui-dialog-dragging");
8217				that._blockFrames();
8218				that._trigger( "dragStart", event, filteredUi( ui ) );
8219			},
8220			drag: function( event, ui ) {
8221				that._trigger( "drag", event, filteredUi( ui ) );
8222			},
8223			stop: function( event, ui ) {
8224				options.position = [
8225					ui.position.left - that.document.scrollLeft(),
8226					ui.position.top - that.document.scrollTop()
8227				];
8228				$( this ).removeClass("ui-dialog-dragging");
8229				that._unblockFrames();
8230				that._trigger( "dragStop", event, filteredUi( ui ) );
8231			}
8232		});
8233	},
8234	_makeResizable: function() {
8235		var that = this,
8236			options = this.options,
8237			handles = options.resizable,
8238			position = this.uiDialog.css("position"),
8239			resizeHandles = typeof handles === "string" ?
8240				handles	:
8241				"n,e,s,w,se,sw,ne,nw";
8242		function filteredUi( ui ) {
8243			return {
8244				originalPosition: ui.originalPosition,
8245				originalSize: ui.originalSize,
8246				position: ui.position,
8247				size: ui.size
8248			};
8249		}
8250		this.uiDialog.resizable({
8251			cancel: ".ui-dialog-content",
8252			containment: "document",
8253			alsoResize: this.element,
8254			maxWidth: options.maxWidth,
8255			maxHeight: options.maxHeight,
8256			minWidth: options.minWidth,
8257			minHeight: this._minHeight(),
8258			handles: resizeHandles,
8259			start: function( event, ui ) {
8260				$( this ).addClass("ui-dialog-resizing");
8261				that._blockFrames();
8262				that._trigger( "resizeStart", event, filteredUi( ui ) );
8263			},
8264			resize: function( event, ui ) {
8265				that._trigger( "resize", event, filteredUi( ui ) );
8266			},
8267			stop: function( event, ui ) {
8268				options.height = $( this ).height();
8269				options.width = $( this ).width();
8270				$( this ).removeClass("ui-dialog-resizing");
8271				that._unblockFrames();
8272				that._trigger( "resizeStop", event, filteredUi( ui ) );
8273			}
8274		})
8275		.css( "position", position );
8276	},
8277	_minHeight: function() {
8278		var options = this.options;
8279		return options.height === "auto" ?
8280			options.minHeight :
8281			Math.min( options.minHeight, options.height );
8282	},
8283	_position: function() {
8284		var isVisible = this.uiDialog.is(":visible");
8285		if ( !isVisible ) {
8286			this.uiDialog.show();
8287		}
8288		this.uiDialog.position( this.options.position );
8289		if ( !isVisible ) {
8290			this.uiDialog.hide();
8291		}
8292	},
8293	_setOptions: function( options ) {
8294		var that = this,
8295			resize = false,
8296			resizableOptions = {};
8297		$.each( options, function( key, value ) {
8298			that._setOption( key, value );
8299			if ( key in sizeRelatedOptions ) {
8300				resize = true;
8301			}
8302			if ( key in resizableRelatedOptions ) {
8303				resizableOptions[ key ] = value;
8304			}
8305		});
8306		if ( resize ) {
8307			this._size();
8308			this._position();
8309		}
8310		if ( this.uiDialog.is(":data(ui-resizable)") ) {
8311			this.uiDialog.resizable( "option", resizableOptions );
8312		}
8313	},
8314	_setOption: function( key, value ) {
8315		var isDraggable, isResizable,
8316			uiDialog = this.uiDialog;
8317		if ( key === "dialogClass" ) {
8318			uiDialog
8319				.removeClass( this.options.dialogClass )
8320				.addClass( value );
8321		}
8322		if ( key === "disabled" ) {
8323			return;
8324		}
8325		this._super( key, value );
8326		if ( key === "appendTo" ) {
8327			this.uiDialog.appendTo( this._appendTo() );
8328		}
8329		if ( key === "buttons" ) {
8330			this._createButtons();
8331		}
8332		if ( key === "closeText" ) {
8333			this.uiDialogTitlebarClose.button({
8334				label: "" + value
8335			});
8336		}
8337		if ( key === "draggable" ) {
8338			isDraggable = uiDialog.is(":data(ui-draggable)");
8339			if ( isDraggable && !value ) {
8340				uiDialog.draggable("destroy");
8341			}
8342			if ( !isDraggable && value ) {
8343				this._makeDraggable();
8344			}
8345		}
8346		if ( key === "position" ) {
8347			this._position();
8348		}
8349		if ( key === "resizable" ) {
8350			isResizable = uiDialog.is(":data(ui-resizable)");
8351			if ( isResizable && !value ) {
8352				uiDialog.resizable("destroy");
8353			}
8354			if ( isResizable && typeof value === "string" ) {
8355				uiDialog.resizable( "option", "handles", value );
8356			}
8357			if ( !isResizable && value !== false ) {
8358				this._makeResizable();
8359			}
8360		}
8361		if ( key === "title" ) {
8362			this._title( this.uiDialogTitlebar.find(".ui-dialog-title") );
8363		}
8364	},
8365	_size: function() {
8366		var nonContentHeight, minContentHeight, maxContentHeight,
8367			options = this.options;
8368		this.element.show().css({
8369			width: "auto",
8370			minHeight: 0,
8371			maxHeight: "none",
8372			height: 0
8373		});
8374		if ( options.minWidth > options.width ) {
8375			options.width = options.minWidth;
8376		}
8377		nonContentHeight = this.uiDialog.css({
8378				height: "auto",
8379				width: options.width
8380			})
8381			.outerHeight();
8382		minContentHeight = Math.max( 0, options.minHeight - nonContentHeight );
8383		maxContentHeight = typeof options.maxHeight === "number" ?
8384			Math.max( 0, options.maxHeight - nonContentHeight ) :
8385			"none";
8386		if ( options.height === "auto" ) {
8387			this.element.css({
8388				minHeight: minContentHeight,
8389				maxHeight: maxContentHeight,
8390				height: "auto"
8391			});
8392		} else {
8393			this.element.height( Math.max( 0, options.height - nonContentHeight ) );
8394		}
8395		if (this.uiDialog.is(":data(ui-resizable)") ) {
8396			this.uiDialog.resizable( "option", "minHeight", this._minHeight() );
8397		}
8398	},
8399	_blockFrames: function() {
8400		this.iframeBlocks = this.document.find( "iframe" ).map(function() {
8401			var iframe = $( this );
8402			return $( "<div>" )
8403				.css({
8404					position: "absolute",
8405					width: iframe.outerWidth(),
8406					height: iframe.outerHeight()
8407				})
8408				.appendTo( iframe.parent() )
8409				.offset( iframe.offset() )[0];
8410		});
8411	},
8412	_unblockFrames: function() {
8413		if ( this.iframeBlocks ) {
8414			this.iframeBlocks.remove();
8415			delete this.iframeBlocks;
8416		}
8417	},
8418	_allowInteraction: function( event ) {
8419		if ( $( event.target ).closest(".ui-dialog").length ) {
8420			return true;
8421		}
8422		return !!$( event.target ).closest(".ui-datepicker").length;
8423	},
8424	_createOverlay: function() {
8425		if ( !this.options.modal ) {
8426			return;
8427		}
8428		var that = this,
8429			widgetFullName = this.widgetFullName;
8430		if ( !$.ui.dialog.overlayInstances ) {
8431			this._delay(function() {
8432				if ( $.ui.dialog.overlayInstances ) {
8433					this.document.bind( "focusin.dialog", function( event ) {
8434						if ( !that._allowInteraction( event ) ) {
8435							event.preventDefault();
8436							$(".ui-dialog:visible:last .ui-dialog-content")
8437								.data( widgetFullName )._focusTabbable();
8438						}
8439					});
8440				}
8441			});
8442		}
8443		this.overlay = $("<div>")
8444			.addClass("ui-widget-overlay ui-front")
8445			.appendTo( this._appendTo() );
8446		this._on( this.overlay, {
8447			mousedown: "_keepFocus"
8448		});
8449		$.ui.dialog.overlayInstances++;
8450	},
8451	_destroyOverlay: function() {
8452		if ( !this.options.modal ) {
8453			return;
8454		}
8455		if ( this.overlay ) {
8456			$.ui.dialog.overlayInstances--;
8457
8458			if ( !$.ui.dialog.overlayInstances ) {
8459				this.document.unbind( "focusin.dialog" );
8460			}
8461			this.overlay.remove();
8462			this.overlay = null;
8463		}
8464	}
8465});
8466$.ui.dialog.overlayInstances = 0;
8467if ( $.uiBackCompat !== false ) {
8468	$.widget( "ui.dialog", $.ui.dialog, {
8469		_position: function() {
8470			var position = this.options.position,
8471				myAt = [],
8472				offset = [ 0, 0 ],
8473				isVisible;
8474			if ( position ) {
8475				if ( typeof position === "string" || (typeof position === "object" && "0" in position ) ) {
8476					myAt = position.split ? position.split(" ") : [ position[0], position[1] ];
8477					if ( myAt.length === 1 ) {
8478						myAt[1] = myAt[0];
8479					}
8480					$.each( [ "left", "top" ], function( i, offsetPosition ) {
8481						if ( +myAt[ i ] === myAt[ i ] ) {
8482							offset[ i ] = myAt[ i ];
8483							myAt[ i ] = offsetPosition;
8484						}
8485					});
8486					position = {
8487						my: myAt[0] + (offset[0] < 0 ? offset[0] : "+" + offset[0]) + " " +
8488							myAt[1] + (offset[1] < 0 ? offset[1] : "+" + offset[1]),
8489						at: myAt.join(" ")
8490					};
8491				}
8492				position = $.extend( {}, $.ui.dialog.prototype.options.position, position );
8493			} else {
8494				position = $.ui.dialog.prototype.options.position;
8495			}
8496			isVisible = this.uiDialog.is(":visible");
8497			if ( !isVisible ) {
8498				this.uiDialog.show();
8499			}
8500			this.uiDialog.position( position );
8501			if ( !isVisible ) {
8502				this.uiDialog.hide();
8503			}
8504		}
8505	});
8506}
8507}( jQuery ) );
8508(function( $ ) {
8509function modifier( fn ) {
8510	return function() {
8511		var previous = this.element.val();
8512		fn.apply( this, arguments );
8513		this._refresh();
8514		if ( previous !== this.element.val() ) {
8515			this._trigger( "change" );
8516		}
8517	};
8518}
8519$.widget( "ui.spinner", {
8520	version: "1.10.4",
8521	defaultElement: "<input>",
8522	widgetEventPrefix: "spin",
8523	options: {
8524		culture: null,
8525		icons: {
8526			down: "ui-icon-triangle-1-s",
8527			up: "ui-icon-triangle-1-n"
8528		},
8529		incremental: true,
8530		max: null,
8531		min: null,
8532		numberFormat: null,
8533		page: 10,
8534		step: 1,
8535
8536		change: null,
8537		spin: null,
8538		start: null,
8539		stop: null
8540	},
8541	_create: function() {
8542		// handle string values that need to be parsed
8543		this._setOption( "max", this.options.max );
8544		this._setOption( "min", this.options.min );
8545		this._setOption( "step", this.options.step );
8546		if ( this.value() !== "" ) {
8547			// Format the value, but don't constrain.
8548			this._value( this.element.val(), true );
8549		}
8550		this._draw();
8551		this._on( this._events );
8552		this._refresh();
8553		this._on( this.window, {
8554			beforeunload: function() {
8555				this.element.removeAttr( "autocomplete" );
8556			}
8557		});
8558	},
8559	_getCreateOptions: function() {
8560		var options = {},
8561			element = this.element;
8562		$.each( [ "min", "max", "step" ], function( i, option ) {
8563			var value = element.attr( option );
8564			if ( value !== undefined && value.length ) {
8565				options[ option ] = value;
8566			}
8567		});
8568		return options;
8569	},
8570	_events: {
8571		keydown: function( event ) {
8572			if ( this._start( event ) && this._keydown( event ) ) {
8573				event.preventDefault();
8574			}
8575		},
8576		keyup: "_stop",
8577		focus: function() {
8578			this.previous = this.element.val();
8579		},
8580		blur: function( event ) {
8581			if ( this.cancelBlur ) {
8582				delete this.cancelBlur;
8583				return;
8584			}
8585			this._stop();
8586			this._refresh();
8587			if ( this.previous !== this.element.val() ) {
8588				this._trigger( "change", event );
8589			}
8590		},
8591		mousewheel: function( event, delta ) {
8592			if ( !delta ) {
8593				return;
8594			}
8595			if ( !this.spinning && !this._start( event ) ) {
8596				return false;
8597			}
8598
8599			this._spin( (delta > 0 ? 1 : -1) * this.options.step, event );
8600			clearTimeout( this.mousewheelTimer );
8601			this.mousewheelTimer = this._delay(function() {
8602				if ( this.spinning ) {
8603					this._stop( event );
8604				}
8605			}, 100 );
8606			event.preventDefault();
8607		},
8608		"mousedown .ui-spinner-button": function( event ) {
8609			var previous;
8610			previous = this.element[0] === this.document[0].activeElement ?
8611				this.previous : this.element.val();
8612			function checkFocus() {
8613				var isActive = this.element[0] === this.document[0].activeElement;
8614				if ( !isActive ) {
8615					this.element.focus();
8616					this.previous = previous;
8617					this._delay(function() {
8618						this.previous = previous;
8619					});
8620				}
8621			}
8622			event.preventDefault();
vendor: 11,899 bytes, lines 8623-9056
8623			checkFocus.call( this );
8624			this.cancelBlur = true;
8625			this._delay(function() {
8626				delete this.cancelBlur;
8627				checkFocus.call( this );
8628			});
8629			if ( this._start( event ) === false ) {
8630				return;
8631			}
8632			this._repeat( null, $( event.currentTarget ).hasClass( "ui-spinner-up" ) ? 1 : -1, event );
8633		},
8634		"mouseup .ui-spinner-button": "_stop",
8635		"mouseenter .ui-spinner-button": function( event ) {
8636			if ( !$( event.currentTarget ).hasClass( "ui-state-active" ) ) {
8637				return;
8638			}
8639			if ( this._start( event ) === false ) {
8640				return false;
8641			}
8642			this._repeat( null, $( event.currentTarget ).hasClass( "ui-spinner-up" ) ? 1 : -1, event );
8643		},
8644		"mouseleave .ui-spinner-button": "_stop"
8645	},
8646	_draw: function() {
8647		var uiSpinner = this.uiSpinner = this.element
8648			.addClass( "ui-spinner-input" )
8649			.attr( "autocomplete", "off" )
8650			.wrap( this._uiSpinnerHtml() )
8651			.parent()
8652				// add buttons
8653				.append( this._buttonHtml() );
8654		this.element.attr( "role", "spinbutton" );
8655		this.buttons = uiSpinner.find( ".ui-spinner-button" )
8656			.attr( "tabIndex", -1 )
8657			.button()
8658			.removeClass( "ui-corner-all" );
8659		if ( this.buttons.height() > Math.ceil( uiSpinner.height() * 0.5 ) &&
8660				uiSpinner.height() > 0 ) {
8661			uiSpinner.height( uiSpinner.height() );
8662		}
8663		if ( this.options.disabled ) {
8664			this.disable();
8665		}
8666	},
8667	_keydown: function( event ) {
8668		var options = this.options,
8669			keyCode = $.ui.keyCode;
8670		switch ( event.keyCode ) {
8671		case keyCode.UP:
8672			this._repeat( null, 1, event );
8673			return true;
8674		case keyCode.DOWN:
8675			this._repeat( null, -1, event );
8676			return true;
8677		case keyCode.PAGE_UP:
8678			this._repeat( null, options.page, event );
8679			return true;
8680		case keyCode.PAGE_DOWN:
8681			this._repeat( null, -options.page, event );
8682			return true;
8683		}
8684
8685		return false;
8686	},
8687	_uiSpinnerHtml: function() {
8688		return "<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>";
8689	},
8690	_buttonHtml: function() {
8691		return "" +
8692			"<a class='ui-spinner-button ui-spinner-up ui-corner-tr'>" +
8693				"<span class='ui-icon " + this.options.icons.up + "'>&#9650;</span>" +
8694			"</a>" +
8695			"<a class='ui-spinner-button ui-spinner-down ui-corner-br'>" +
8696				"<span class='ui-icon " + this.options.icons.down + "'>&#9660;</span>" +
8697			"</a>";
8698	},
8699	_start: function( event ) {
8700		if ( !this.spinning && this._trigger( "start", event ) === false ) {
8701			return false;
8702		}
8703		if ( !this.counter ) {
8704			this.counter = 1;
8705		}
8706		this.spinning = true;
8707		return true;
8708	},
8709	_repeat: function( i, steps, event ) {
8710		i = i || 500;
8711		clearTimeout( this.timer );
8712		this.timer = this._delay(function() {
8713			this._repeat( 40, steps, event );
8714		}, i );
8715		this._spin( steps * this.options.step, event );
8716	},
8717	_spin: function( step, event ) {
8718		var value = this.value() || 0;
8719		if ( !this.counter ) {
8720			this.counter = 1;
8721		}
8722		value = this._adjustValue( value + step * this._increment( this.counter ) );
8723		if ( !this.spinning || this._trigger( "spin", event, { value: value } ) !== false) {
8724			this._value( value );
8725			this.counter++;
8726		}
8727	},
8728	_increment: function( i ) {
8729		var incremental = this.options.incremental;
8730		if ( incremental ) {
8731			return $.isFunction( incremental ) ?
8732				incremental( i ) :
8733				Math.floor( i*i*i/50000 - i*i/500 + 17*i/200 + 1 );
8734		}
8735		return 1;
8736	},
8737	_precision: function() {
8738		var precision = this._precisionOf( this.options.step );
8739		if ( this.options.min !== null ) {
8740			precision = Math.max( precision, this._precisionOf( this.options.min ) );
8741		}
8742		return precision;
8743	},
8744	_precisionOf: function( num ) {
8745		var str = num.toString(),
8746			decimal = str.indexOf( "." );
8747		return decimal === -1 ? 0 : str.length - decimal - 1;
8748	},
8749	_adjustValue: function( value ) {
8750		var base, aboveMin,
8751			options = this.options;
8752		base = options.min !== null ? options.min : 0;
8753		aboveMin = value - base;
8754		aboveMin = Math.round(aboveMin / options.step) * options.step;
8755		value = base + aboveMin;
8756		value = parseFloat( value.toFixed( this._precision() ) );
8757		if ( options.max !== null && value > options.max) {
8758			return options.max;
8759		}
8760		if ( options.min !== null && value < options.min ) {
8761			return options.min;
8762		}
8763		return value;
8764	},
8765	_stop: function( event ) {
8766		if ( !this.spinning ) {
8767			return;
8768		}
8769		clearTimeout( this.timer );
8770		clearTimeout( this.mousewheelTimer );
8771		this.counter = 0;
8772		this.spinning = false;
8773		this._trigger( "stop", event );
8774	},
8775	_setOption: function( key, value ) {
8776		if ( key === "culture" || key === "numberFormat" ) {
8777			var prevValue = this._parse( this.element.val() );
8778			this.options[ key ] = value;
8779			this.element.val( this._format( prevValue ) );
8780			return;
8781		}
8782		if ( key === "max" || key === "min" || key === "step" ) {
8783			if ( typeof value === "string" ) {
8784				value = this._parse( value );
8785			}
8786		}
8787		if ( key === "icons" ) {
8788			this.buttons.first().find( ".ui-icon" )
8789				.removeClass( this.options.icons.up )
8790				.addClass( value.up );
8791			this.buttons.last().find( ".ui-icon" )
8792				.removeClass( this.options.icons.down )
8793				.addClass( value.down );
8794		}
8795		this._super( key, value );
8796		if ( key === "disabled" ) {
8797			if ( value ) {
8798				this.element.prop( "disabled", true );
8799				this.buttons.button( "disable" );
8800			} else {
8801				this.element.prop( "disabled", false );
8802				this.buttons.button( "enable" );
8803			}
8804		}
8805	},
8806	_setOptions: modifier(function( options ) {
8807		this._super( options );
8808		this._value( this.element.val() );
8809	}),
8810	_parse: function( val ) {
8811		if ( typeof val === "string" && val !== "" ) {
8812			val = window.Globalize && this.options.numberFormat ?
8813				Globalize.parseFloat( val, 10, this.options.culture ) : +val;
8814		}
8815		return val === "" || isNaN( val ) ? null : val;
8816	},
8817	_format: function( value ) {
8818		if ( value === "" ) {
8819			return "";
8820		}
8821		return window.Globalize && this.options.numberFormat ?
8822			Globalize.format( value, this.options.numberFormat, this.options.culture ) :
8823			value;
8824	},
8825	_refresh: function() {
8826		this.element.attr({
8827			"aria-valuemin": this.options.min,
8828			"aria-valuemax": this.options.max,
8829			// TODO: what should we do with values that can't be parsed?
8830			"aria-valuenow": this._parse( this.element.val() )
8831		});
8832	},
8833	_value: function( value, allowAny ) {
8834		var parsed;
8835		if ( value !== "" ) {
8836			parsed = this._parse( value );
8837			if ( parsed !== null ) {
8838				if ( !allowAny ) {
8839					parsed = this._adjustValue( parsed );
8840				}
8841				value = this._format( parsed );
8842			}
8843		}
8844		this.element.val( value );
8845		this._refresh();
8846	},
8847	_destroy: function() {
8848		this.element
8849			.removeClass( "ui-spinner-input" )
8850			.prop( "disabled", false )
8851			.removeAttr( "autocomplete" )
8852			.removeAttr( "role" )
8853			.removeAttr( "aria-valuemin" )
8854			.removeAttr( "aria-valuemax" )
8855			.removeAttr( "aria-valuenow" );
8856		this.uiSpinner.replaceWith( this.element );
8857	},
8858	stepUp: modifier(function( steps ) {
8859		this._stepUp( steps );
8860	}),
8861	_stepUp: function( steps ) {
8862		if ( this._start() ) {
8863			this._spin( (steps || 1) * this.options.step );
8864			this._stop();
8865		}
8866	},
8867	stepDown: modifier(function( steps ) {
8868		this._stepDown( steps );
8869	}),
8870	_stepDown: function( steps ) {
8871		if ( this._start() ) {
8872			this._spin( (steps || 1) * -this.options.step );
8873			this._stop();
8874		}
8875	},
8876	pageUp: modifier(function( pages ) {
8877		this._stepUp( (pages || 1) * this.options.page );
8878	}),
8879	pageDown: modifier(function( pages ) {
8880		this._stepDown( (pages || 1) * this.options.page );
8881	}),
8882	value: function( newVal ) {
8883		if ( !arguments.length ) {
8884			return this._parse( this.element.val() );
8885		}
8886		modifier( this._value ).call( this, newVal );
8887	},
8888	widget: function() {
8889		return this.uiSpinner;
8890	}
8891});
8892}( jQuery ) );
8893(function( $ ) {
8894var increments = 0;
8895function addDescribedBy( elem, id ) {
8896	var describedby = (elem.attr( "aria-describedby" ) || "").split( /\s+/ );
8897	describedby.push( id );
8898	elem
8899		.data( "ui-tooltip-id", id )
8900		.attr( "aria-describedby", $.trim( describedby.join( " " ) ) );
8901}
8902function removeDescribedBy( elem ) {
8903	var id = elem.data( "ui-tooltip-id" ),
8904		describedby = (elem.attr( "aria-describedby" ) || "").split( /\s+/ ),
8905		index = $.inArray( id, describedby );
8906	if ( index !== -1 ) {
8907		describedby.splice( index, 1 );
8908	}
8909	elem.removeData( "ui-tooltip-id" );
8910	describedby = $.trim( describedby.join( " " ) );
8911	if ( describedby ) {
8912		elem.attr( "aria-describedby", describedby );
8913	} else {
8914		elem.removeAttr( "aria-describedby" );
8915	}
8916}
8917$.widget( "ui.tooltip", {
8918	version: "1.10.4",
8919	options: {
8920		content: function() {
8921			var title = $( this ).attr( "title" ) || "";
8922			return $( "<a>" ).text( title ).html();
8923		},
8924		hide: true,
8925		items: "[title]:not([disabled])",
8926		position: {
8927			my: "left top+15",
8928			at: "left bottom",
8929			collision: "flipfit flip"
8930		},
8931		show: true,
8932		tooltipClass: null,
8933		track: false,
8934		close: null,
8935		open: null
8936	},
8937	_create: function() {
8938		this._on({
8939			mouseover: "open",
8940			focusin: "open"
8941		});
8942		this.tooltips = {};
8943		this.parents = {};
8944		if ( this.options.disabled ) {
8945			this._disable();
8946		}
8947	},
8948	_setOption: function( key, value ) {
8949		var that = this;
8950		if ( key === "disabled" ) {
8951			this[ value ? "_disable" : "_enable" ]();
8952			this.options[ key ] = value;
8953			return;
8954		}
8955		this._super( key, value );
8956		if ( key === "content" ) {
8957			$.each( this.tooltips, function( id, element ) {
8958				that._updateContent( element );
8959			});
8960		}
8961	},
8962	_disable: function() {
8963		var that = this;
8964		$.each( this.tooltips, function( id, element ) {
8965			var event = $.Event( "blur" );
8966			event.target = event.currentTarget = element[0];
8967			that.close( event, true );
8968		});
8969		this.element.find( this.options.items ).addBack().each(function() {
8970			var element = $( this );
8971			if ( element.is( "[title]" ) ) {
8972				element
8973					.data( "ui-tooltip-title", element.attr( "title" ) )
8974					.attr( "title", "" );
8975			}
8976		});
8977	},
8978	_enable: function() {
8979		this.element.find( this.options.items ).addBack().each(function() {
8980			var element = $( this );
8981			if ( element.data( "ui-tooltip-title" ) ) {
8982				element.attr( "title", element.data( "ui-tooltip-title" ) );
8983			}
8984		});
8985	},
8986	open: function( event ) {
8987		var that = this,
8988			target = $( event ? event.target : this.element )
8989				.closest( this.options.items );
8990		if ( !target.length || target.data( "ui-tooltip-id" ) ) {
8991			return;
8992		}
8993		if ( target.attr( "title" ) ) {
8994			target.data( "ui-tooltip-title", target.attr( "title" ) );
8995		}
8996		target.data( "ui-tooltip-open", true );
8997		if ( event && event.type === "mouseover" ) {
8998			target.parents().each(function() {
8999				var parent = $( this ),
9000					blurEvent;
9001				if ( parent.data( "ui-tooltip-open" ) ) {
9002					blurEvent = $.Event( "blur" );
9003					blurEvent.target = blurEvent.currentTarget = this;
9004					that.close( blurEvent, true );
9005				}
9006				if ( parent.attr( "title" ) ) {
9007					parent.uniqueId();
9008					that.parents[ this.id ] = {
9009						element: this,
9010						title: parent.attr( "title" )
9011					};
9012					parent.attr( "title", "" );
9013				}
9014			});
9015		}
9016		this._updateContent( target, event );
9017	},
9018	_updateContent: function( target, event ) {
9019		var content,
9020			contentOption = this.options.content,
9021			that = this,
9022			eventType = event ? event.type : null;
9023
9024		if ( typeof contentOption === "string" ) {
9025			return this._open( event, target, contentOption );
9026		}
9027		content = contentOption.call( target[0], function( response ) {
9028			if ( !target.data( "ui-tooltip-open" ) ) {
9029				return;
9030			}
9031			that._delay(function() {
9032				if ( event ) {
9033					event.type = eventType;
9034				}
9035				this._open( event, target, response );
9036			});
9037		});
9038		if ( content ) {
9039			this._open( event, target, content );
9040		}
9041	},
9042	_open: function( event, target, content ) {
9043		var tooltip, events, delayedShow,
9044			positionOption = $.extend( {}, this.options.position );
9045		if ( !content ) {
9046			return;
9047		}
9048		tooltip = this._find( target );
9049		if ( tooltip.length ) {
9050			tooltip.find( ".ui-tooltip-content" ).html( content );
9051			return;
9052		}
9053		if ( target.is( "[title]" ) ) {
9054			if ( event && event.type === "mouseover" ) {
9055				target.attr( "title", "" );
9056			} else {
9057				target.removeAttr( "title" );
9058			}
9059		}
9060		tooltip = this._tooltip( target );
9061		addDescribedBy( target, tooltip.attr( "id" ) );
9062		tooltip.find( ".ui-tooltip-content" ).html( content );
9063		function position( event ) {
9064			positionOption.of = event;
9065			if ( tooltip.is( ":hidden" ) ) {
9066				return;
9067			}
9068			tooltip.position( positionOption );
9069		}
9070		if ( this.options.track && event && /^mouse/.test( event.type ) ) {
9071			this._on( this.document, {
9072				mousemove: position
9073			});
9074			position( event );
9075		} else {
9076			tooltip.position( $.extend({
9077				of: target
9078			}, this.options.position ) );
9079		}
9080		tooltip.hide();
9081		this._show( tooltip, this.options.show );
9082		if ( this.options.show && this.options.show.delay ) {
9083			delayedShow = this.delayedShow = setInterval(function() {
9084				if ( tooltip.is( ":visible" ) ) {
9085					position( positionOption.of );
9086					clearInterval( delayedShow );
9087				}
9088			}, $.fx.interval );
9089		}
9090		this._trigger( "open", event, { tooltip: tooltip } );
9091		events = {
9092			keyup: function( event ) {
9093				if ( event.keyCode === $.ui.keyCode.ESCAPE ) {
9094					var fakeEvent = $.Event(event);
9095					fakeEvent.currentTarget = target[0];
9096					this.close( fakeEvent, true );
9097				}
9098			},
9099			remove: function() {
9100				this._removeTooltip( tooltip );
9101			}
9102		};
9103		if ( !event || event.type === "mouseover" ) {
9104			events.mouseleave = "close";
9105		}
9106		if ( !event || event.type === "focusin" ) {
9107			events.focusout = "close";
9108		}
9109		this._on( true, target, events );
9110	},
9111	close: function( event ) {
9112		var that = this,
9113			target = $( event ? event.currentTarget : this.element ),
9114			tooltip = this._find( target );
9115		if ( this.closing ) {
9116			return;
9117		}
9118		clearInterval( this.delayedShow );
9119		if ( target.data( "ui-tooltip-title" ) ) {
9120			target.attr( "title", target.data( "ui-tooltip-title" ) );
9121		}
9122		removeDescribedBy( target );
9123		tooltip.stop( true );
9124		this._hide( tooltip, this.options.hide, function() {
9125			that._removeTooltip( $( this ) );
9126		});
9127		target.removeData( "ui-tooltip-open" );
9128		this._off( target, "mouseleave focusout keyup" );
9129		if ( target[0] !== this.element[0] ) {
9130			this._off( target, "remove" );
9131		}
9132		this._off( this.document, "mousemove" );
9133		if ( event && event.type === "mouseleave" ) {
9134			$.each( this.parents, function( id, parent ) {
9135				$( parent.element ).attr( "title", parent.title );
9136				delete that.parents[ id ];
9137			});
9138		}
9139		this.closing = true;
9140		this._trigger( "close", event, { tooltip: tooltip } );
9141		this.closing = false;
9142	},
9143	_tooltip: function( element ) {
9144		var id = "ui-tooltip-" + increments++,
9145			tooltip = $( "<div>" )
9146				.attr({
9147					id: id,
9148					role: "tooltip"
9149				})
9150				.addClass( "ui-tooltip ui-widget ui-corner-all ui-widget-content " +
9151					( this.options.tooltipClass || "" ) );
9152		$( "<div>" )
9153			.addClass( "ui-tooltip-content" )
9154			.appendTo( tooltip );
9155		tooltip.appendTo( this.document[0].body );
9156		this.tooltips[ id ] = element;
9157		return tooltip;
9158	},
9159	_find: function( target ) {
9160		var id = target.data( "ui-tooltip-id" );
9161		return id ? $( "#" + id ) : $();
9162	},
9163	_removeTooltip: function( tooltip ) {
9164		tooltip.remove();
9165		delete this.tooltips[ tooltip.attr( "id" ) ];
9166	},
9167	_destroy: function() {
9168		var that = this;
9169		$.each( this.tooltips, function( id, element ) {
9170			var event = $.Event( "blur" );
9171			event.target = event.currentTarget = element[0];
9172			that.close( event, true );
9173			$( "#" + id ).remove();
9174			if ( element.data( "ui-tooltip-title" ) ) {
9175				element.attr( "title", element.data( "ui-tooltip-title" ) );
9176				element.removeData( "ui-tooltip-title" );
9177			}
9178		});
9179	}
9180});
9181}(jQuery));
9182</script>
9182<script>jQuery(function(a){a.datepicker.regional.en={closeText:"Done",preposition:"",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:"January February March April May June July August September October November December".split(" "),monthNamesShort:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),dayNames:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),dayNamesShort:"Sun Mon Tue Wed Thu Fri Sat".split(" "),dayNamesMin:"Su Mo Tu We Th Fr Sa".split(" "),weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.en)});</script>
9182<script>
9183(function() {
9184  var $ = jQuery;
9185  var LightboxOptions = (function() {
9186    function LightboxOptions() {
9187      this.fadeDuration                = 500;
9188      this.fitImagesInViewport         = true;
9189      this.resizeDuration              = 700;
9190      this.positionFromTop             = 50;
9191      this.showImageNumberLabel        = true;
9192      this.alwaysShowNavOnTouchDevices = false;
9193      this.wrapAround                  = false;
9194    }
9195    LightboxOptions.prototype.albumLabel = function(curImageNum, albumSize) {
9196      return "Image " + curImageNum + " of " + albumSize;
9197    };
9198    return LightboxOptions;
9199  })();
9200  var Lightbox = (function() {
9201    function Lightbox(options) {
9202      this.options           = options;
9203      this.album             = [];
9204      this.currentImageIndex = void 0;
9205      this.init();
9206    }
9207    Lightbox.prototype.init = function() {
9208      this.enable();
9209      this.build();
9210    };
9211    Lightbox.prototype.enable = function() {
9212      var self = this;
9213      $('body').on('click', 'a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]', function(event) {
9214        self.start($(event.currentTarget));
9215        return false;
9216      });
9217    };
9218    Lightbox.prototype.build = function() {
9219      var self = this;
9220      $("<div id='lightboxOverlay' class='lightboxOverlay'></div><div id='lightbox' class='lightbox'><div class='lb-outerContainer'><div class='lb-container'><img class='lb-image' src='' /><div class='lb-nav'><a class='lb-prev' href='' ></a><a class='lb-next' href='' ></a></div><div class='lb-loader'><a class='lb-cancel'></a></div></div></div><div class='lb-dataContainer'><div class='lb-data'><div class='lb-details'><span class='lb-caption'></span><span class='lb-number'></span></div><div class='lb-closeContainer'><a class='lb-close'></a></div></div></div></div>").appendTo($('body'));
9221      this.$lightbox       = $('#lightbox');
9222      this.$overlay        = $('#lightboxOverlay');
9223      this.$outerContainer = this.$lightbox.find('.lb-outerContainer');
9224      this.$container      = this.$lightbox.find('.lb-container');
9225      this.containerTopPadding = parseInt(this.$container.css('padding-top'), 10);
9226      this.containerRightPadding = parseInt(this.$container.css('padding-right'), 10);
9227      this.containerBottomPadding = parseInt(this.$container.css('padding-bottom'), 10);
9228      this.containerLeftPadding = parseInt(this.$container.css('padding-left'), 10);
9229      this.$overlay.hide().on('click', function() {
9230        self.end();
9231        return false;
9232      });
9233      this.$lightbox.hide().on('click', function(event) {
9234        if ($(event.target).attr('id') === 'lightbox') {
9235          self.end();
9236        }
9237        return false;
9238      });
9239      this.$outerContainer.on('click', function(event) {
9240        if ($(event.target).attr('id') === 'lightbox') {
9241          self.end();
9242        }
9243        return false;
9244      });
9245      this.$lightbox.find('.lb-prev').on('click', function() {
9246        if (self.currentImageIndex === 0) {
9247          self.changeImage(self.album.length - 1);
9248        } else {
9249          self.changeImage(self.currentImageIndex - 1);
9250        }
9251        return false;
9252      });
9253      this.$lightbox.find('.lb-next').on('click', function() {
9254        if (self.currentImageIndex === self.album.length - 1) {
9255          self.changeImage(0);
9256        } else {
9257          self.changeImage(self.currentImageIndex + 1);
9258        }
9259        return false;
9260      });
9261      this.$lightbox.find('.lb-loader, .lb-close').on('click', function() {
9262        self.end();
9263        return false;
9264      });
9265    };
9266    Lightbox.prototype.start = function($link) {
9267      var self    = this;
9268      var $window = $(window);
9269      $window.on('resize', $.proxy(this.sizeOverlay, this));
9270      $('select, object, embed').css({
9271        visibility: "hidden"
9272      });
9273      this.sizeOverlay();
9274      this.album = [];
9275      var imageNumber = 0;
9276      function addToAlbum($link) {
9277        self.album.push({
9278          link: $link.attr('href'),
9279          title: $link.attr('data-title') || $link.attr('title')
9280        });
9281      }
9282      var dataLightboxValue = $link.attr('data-lightbox');
9283      var $links;
9284      if (dataLightboxValue) {
9285        $links = $($link.prop("tagName") + '[data-lightbox="' + dataLightboxValue + '"]');
9286        for (var i = 0; i < $links.length; i = ++i) {
9287          addToAlbum($($links[i]));
9288          if ($links[i] === $link[0]) {
9289            imageNumber = i;
9290          }
9291        }
9292      } else {
9293        if ($link.attr('rel') === 'lightbox') {
9294          // If image is not part of a set
9295          addToAlbum($link);
9296        } else {
9297          // If image is part of a set
9298          $links = $($link.prop("tagName") + '[rel="' + $link.attr('rel') + '"]');
9299          for (var j = 0; j < $links.length; j = ++j) {
9300            addToAlbum($($links[j]));
9301            if ($links[j] === $link[0]) {
9302              imageNumber = j;
9303            }
9304          }
9305        }
9306      }
9307      var top  = $window.scrollTop() + this.options.positionFromTop;
9308      var left = $window.scrollLeft();
9309      this.$lightbox.css({
9310        top: top + 'px',
9311        left: left + 'px'
9312      }).fadeIn(this.options.fadeDuration);
9313      this.changeImage(imageNumber);
9314    };
9315    Lightbox.prototype.changeImage = function(imageNumber) {
9316      var self = this;
9317      this.disableKeyboardNav();
9318      var $image = this.$lightbox.find('.lb-image');
9319      this.$overlay.fadeIn(this.options.fadeDuration);
9320      $('.lb-loader').fadeIn('slow');
9321      this.$lightbox.find('.lb-image, .lb-nav, .lb-prev, .lb-next, .lb-dataContainer, .lb-numbers, .lb-caption').hide();
9322      this.$outerContainer.addClass('animating');
9323      var preloader = new Image();
9324      preloader.onload = function() {
9325        var $preloader, imageHeight, imageWidth, maxImageHeight, maxImageWidth, windowHeight, windowWidth;
9326        $image.attr('src', self.album[imageNumber].link);
9327        $preloader = $(preloader);
9328        $image.width(preloader.width);
9329        $image.height(preloader.height);
9330        if (self.options.fitImagesInViewport) {
9331          windowWidth    = $(window).width();
9332          windowHeight   = $(window).height();
9333          maxImageWidth  = windowWidth - self.containerLeftPadding - self.containerRightPadding - 20;
9334          maxImageHeight = windowHeight - self.containerTopPadding - self.containerBottomPadding - 120;
9335          if ((preloader.width > maxImageWidth) || (preloader.height > maxImageHeight)) {
9336            if ((preloader.width / maxImageWidth) > (preloader.height / maxImageHeight)) {
9337              imageWidth  = maxImageWidth;
9338              imageHeight = parseInt(preloader.height / (preloader.width / imageWidth), 10);
9339              $image.width(imageWidth);
9340              $image.height(imageHeight);
9341            } else {
9342              imageHeight = maxImageHeight;
9343              imageWidth = parseInt(preloader.width / (preloader.height / imageHeight), 10);
9344              $image.width(imageWidth);
9345              $image.height(imageHeight);
9346            }
9347          }
9348        }
9349        self.sizeContainer($image.width(), $image.height());
9350      };
9351      preloader.src          = this.album[imageNumber].link;
9352      this.currentImageIndex = imageNumber;
9353    };
9354    Lightbox.prototype.sizeOverlay = function() {
9355      this.$overlay
9356        .width($(window).width())
9357        .height($(document).height());
9358    };
9359    Lightbox.prototype.sizeContainer = function(imageWidth, imageHeight) {
9360      var self = this;
9361      var oldWidth  = this.$outerContainer.outerWidth();
9362      var oldHeight = this.$outerContainer.outerHeight();
9363      var newWidth  = imageWidth + this.containerLeftPadding + this.containerRightPadding;
9364      var newHeight = imageHeight + this.containerTopPadding + this.containerBottomPadding;
9365      function postResize() {
9366        self.$lightbox.find('.lb-dataContainer').width(newWidth);
9367        self.$lightbox.find('.lb-prevLink').height(newHeight);
9368        self.$lightbox.find('.lb-nextLink').height(newHeight);
9369        self.showImage();
9370      }
9371      if (oldWidth !== newWidth || oldHeight !== newHeight) {
9372        this.$outerContainer.animate({
9373          width: newWidth,
9374          height: newHeight
9375        }, this.options.resizeDuration, 'swing', function() {
9376          postResize();
9377        });
9378      } else {
9379        postResize();
9380      }
9381    };
9382    Lightbox.prototype.showImage = function() {
9383      this.$lightbox.find('.lb-loader').hide();
9384      this.$lightbox.find('.lb-image').fadeIn('slow');
9385      this.updateNav();
9386      this.updateDetails();
9387      this.preloadNeighboringImages();
9388      this.enableKeyboardNav();
9389    };
9390    Lightbox.prototype.updateNav = function() {
9391      var alwaysShowNav = false;
9392      try {
9393        document.createEvent("TouchEvent");
9394        alwaysShowNav = (this.options.alwaysShowNavOnTouchDevices)? true: false;
9395      } catch (e) {}
9396      this.$lightbox.find('.lb-nav').show();
9397      if (this.album.length > 1) {
9398        if (this.options.wrapAround) {
9399          if (alwaysShowNav) {
9400            this.$lightbox.find('.lb-prev, .lb-next').css('opacity', '1');
9401          }
9402          this.$lightbox.find('.lb-prev, .lb-next').show();
9403        } else {
9404          if (this.currentImageIndex > 0) {
9405            this.$lightbox.find('.lb-prev').show();
9406            if (alwaysShowNav) {
9407              this.$lightbox.find('.lb-prev').css('opacity', '1');
9408            }
9409          }
9410          if (this.currentImageIndex < this.album.length - 1) {
9411            this.$lightbox.find('.lb-next').show();
9412            if (alwaysShowNav) {
9413              this.$lightbox.find('.lb-next').css('opacity', '1');
9414            }
9415          }
9416        }
9417      }
9418    };
9419    Lightbox.prototype.updateDetails = function() {
9420      var self = this;
9421      if (typeof this.album[this.currentImageIndex].title !== 'undefined' && this.album[this.currentImageIndex].title !== "") {
9422        this.$lightbox.find('.lb-caption')
9423          .html(this.album[this.currentImageIndex].title)
9424          .fadeIn('fast')
9425          .find('a').on('click', function(event){
9426            location.href = $(this).attr('href');
9427          });
9428      }
9429      if (this.album.length > 1 && this.options.showImageNumberLabel) {
9430        this.$lightbox.find('.lb-number').text(this.options.albumLabel(this.currentImageIndex + 1, this.album.length)).fadeIn('fast');
9431      } else {
9432        this.$lightbox.find('.lb-number').hide();
9433      }
9434      this.$outerContainer.removeClass('animating');
9435      this.$lightbox.find('.lb-dataContainer').fadeIn(this.options.resizeDuration, function() {
9436        return self.sizeOverlay();
9437      });
9438    };
9439    Lightbox.prototype.preloadNeighboringImages = function() {
9440      if (this.album.length > this.currentImageIndex + 1) {
9441        var preloadNext = new Image();
9442        preloadNext.src = this.album[this.currentImageIndex + 1].link;
9443      }
9444      if (this.currentImageIndex > 0) {
9445        var preloadPrev = new Image();
9446        preloadPrev.src = this.album[this.currentImageIndex - 1].link;
9447      }
9448    };
9449    Lightbox.prototype.enableKeyboardNav = function() {
9450      $(document).on('keyup.keyboard', $.proxy(this.keyboardAction, this));
9451    };
9452    Lightbox.prototype.disableKeyboardNav = function() {
9453      $(document).off('.keyboard');
9454    };
9455    Lightbox.prototype.keyboardAction = function(event) {
9456      var KEYCODE_ESC        = 27;
9457      var KEYCODE_LEFTARROW  = 37;
9458      var KEYCODE_RIGHTARROW = 39;
9459      var keycode = event.keyCode;
9460      var key     = String.fromCharCode(keycode).toLowerCase();
9461      if (keycode === KEYCODE_ESC || key.match(/x|o|c/)) {
9462        this.end();
9463      } else if (key === 'p' || keycode === KEYCODE_LEFTARROW) {
9464        if (this.currentImageIndex !== 0) {
9465          this.changeImage(this.currentImageIndex - 1);
9466        } else if (this.options.wrapAround && this.album.length > 1) {
9467          this.changeImage(this.album.length - 1);
9468        }
9469      } else if (key === 'n' || keycode === KEYCODE_RIGHTARROW) {
9470        if (this.currentImageIndex !== this.album.length - 1) {
9471          this.changeImage(this.currentImageIndex + 1);
9472        } else if (this.options.wrapAround && this.album.length > 1) {
9473          this.changeImage(0);
9474        }
9475      }
9476    };
9477    Lightbox.prototype.end = function() {
9478      this.disableKeyboardNav();
9479      $(window).off("resize", this.sizeOverlay);
9480      this.$lightbox.fadeOut(this.options.fadeDuration);
9481      this.$overlay.fadeOut(this.options.fadeDuration);
9482      $('select, object, embed').css({
9483        visibility: "visible"
9484      });
9485    };
9486    return Lightbox;
9487  })();
9488  $(function() {
9489    var options  = new LightboxOptions();
9490    var lightbox = new Lightbox(options);
9491  });
9492}).call(this);
9493</script>
9493<script>!function(a){var b="selectric",c=function(a){var b,c="40-46 50-53 54-57 62-70 71-74 61 47 77".replace(/\d+/g,"\\3$&").split(" ");for(b in c){if(!c.hasOwnProperty(b))return;a=a.toLowerCase().replace(RegExp("["+c[b]+"]","g"),"aeiouncy".charAt(b))}return a},d=function(a){var b=arguments;return(""+a).replace(/{(\d+|(\w+))}/g,function(a,c,d){return d&&b[1]?b[1][d]:b[c]})},e=function(e,f){function g(){function e(a){/^(9|13|27)$/.test(a.keyCode||a.which)&&(a.stopPropagation(),l(x,!0))}var g=D.children(),h="<ul>",j=g.filter(":"+R).index();y=x=~j?j:0,(C=g.length)&&(g.each(function(b){var e=a(this),g=e.html(),i=e.prop("disabled"),j=f.optionsItemBuilder;I[b]={value:e.val(),text:g,slug:c(g),disabled:i},h+=d('<li class="{1}">{2}</li>',a.trim([b==y?R:"",b==C-1?"last":"",i?"disabled":""].join(" ")),a.isFunction(j)?j(I[b],e,b):d(j,I[b]))}),G.html(h+"</ul>"),J.html(I[y].text)),F.add(D).off(K),H.data(b,!0).prop("class",[s[6],D.prop("class"),P,f.responsive?s[8]:""].join(" ")),D.prop("disabled")?E.prop("disabled",!0):(H.removeClass(P).hover(function(){a(this).toggleClass(s[7])}),f.openOnHover&&F.on("mouseenter"+K,i),F.on(N,function(a){u?k():i(a)}),E.prop("disabled",!1).off().on({keypress:e,keydown:function(a){e(a),clearTimeout(w),w=setTimeout(function(){E.val("")},f.keySearchTimeout);var b=a.keyCode||a.which;b>36&&41>b&&l(39>b?o():n())},focusin:function(a){E.one("blur",function(){E.blur()}),u||i(a)}}).on(S,function(){E.val().length&&a.each(I,function(a,b){return RegExp("^"+E.val(),"i").test(b.slug)&&!b.disabled?(l(a),!1):void 0})}),v=a("li",G.removeAttr("style")).click(function(){return l(a(this).index(),!0),!1}))}function h(){var a=G.closest(":visible").children(":hidden"),b=f.maxHeight;a.addClass(Q);var c=G.outerWidth(),d=F.outerWidth()-(c-G.width());!f.expandToItemText||d>c?B=d:(G.css("overflow","scroll"),H.width(9e4),B=G.width(),G.css("overflow",""),H.width("")),G.width(B).height()>b&&G.height(b),a.removeClass(Q)}function i(b){b.preventDefault(),b.stopPropagation(),h(),a("."+O).removeClass(O),u=!0,z=G.outerHeight(),E.val("").is(":focus")||E.focus(),L.on(N,k).on("scroll"+K,j),j(),f.openOnHover&&(clearTimeout(A),H.one("mouseleave"+K,function(){A=setTimeout(k,500)})),H.addClass(O),m(x),f.onOpen(e)}function j(){h(),G.css("top",H.offset().top+H.outerHeight()+z>M.scrollTop()+M.height()?-z:"")}function k(a){if(!a&&y!=x){var b=I[x].text;D.prop("selectedIndex",y=x).data("value",b).trigger("change",[b,y]),f.onChange(e),J.html(b)}L.off(K),H.removeClass(O),u=!1,f.onClose(e)}function l(a,b){I[x=a].disabled||(v.removeClass(R).eq(a).addClass(R),m(a),b&&k())}function m(a){var b=v.eq(a).outerHeight(),c=v[a].offsetTop,d=G.scrollTop(),e=c+2*b;G.scrollTop(e>d+z?e-z:d>c-b?c-b:d)}function n(a){if(I[a=(x+1)%C].disabled)for(;I[a=(a+1)%C].disabled;);return a}function o(a){if(I[a=(x>0?x:C)-1].disabled)for(;I[a=(a>0?a:C)-1].disabled;);return a}f=a.extend(!0,{onOpen:a.noop,onClose:a.noop,onChange:a.noop,maxHeight:300,keySearchTimeout:500,arrowButtonMarkup:'<b class="button">&#x25be;</b>',disableOnMobile:!0,openOnHover:!1,expandToItemText:!1,responsive:!1,customClass:{prefix:"selectric",postfixes:"Input Items Open Disabled TempShow HideSelect Wrapper Hover Responsive",camelCase:!0},optionsItemBuilder:"{text}"},f);var p,q=f.customClass,r=q.postfixes.split(" "),s=[];if(!f.disableOnMobile||!/andrroid|ipp(hone|od|ad)/i.test(navigator.userAgent)){for(;p=r.shift();){var t=q.prefix+p;s.push(q.camelCase?t:t.replace(/([A-Z])/g,"-$&").toLowerCase())}var u,v,w,x,y,z,A,B,C,D=a(e),E=a('<input type="text" class="'+s[0]+'"/>'),F=a('<div class="'+q.prefix+'"><p class="label"/>'+f.arrowButtonMarkup+"</div>"),G=a('<div class="'+s[1]+'" tabindex="-1"></div>'),H=D.data(b,!0).wrap("<div>").parent().append(F.add(G).add(E)),I=[],J=a(".label",F),K=".sl",L=a(document),M=a(window),N="click"+K,O=s[2],P=s[3],Q=s[4],R="selected",S="oninput"in E[0]?"input":"keyup";D.wrap('<div class="'+s[5]+'">'),g(),D.on({refresh:g,destroy:function(){G.add(F).add(E).remove(),D.removeData(b).removeData("value").off(K+" refresh destroy open close").unwrap().unwrap()},open:i,close:k})}};a.fn[b]=function(c,d){return this.each(function(){a(this).data(b)?""+c===c&&a(this).trigger(c):e(this,c||d)})}}(jQuery);</script>
9493<script>!function(t){t.fn.unveil=function(i,e){function n(){var i=l.filter(function(){var i=t(this);if(!i.is(":hidden")){var e=o.scrollTop(),n=e+o.height(),r=i.offset().top;return r+i.height()>=e-u&&r<=n+u}});r=i.trigger("unveil"),l=l.not(r)}var r,o=t(window),u=i||0,s=window.devicePixelRatio>1?"data-src-retina":"data-src",l=this;return this.one("unveil",function(){var t=this.getAttribute(s);(t=t||this.getAttribute("data-src"))&&(this.setAttribute("src",t),"function"==typeof e&&e.call(this))}),o.on("scroll.unveil resize.unveil lookup.unveil",n),n(),this}}(window.jQuery||window.Zepto);</script>
vendor: 4,009 bytes, line 9493
9493<script>(function(a,b,c){function g(a,c){var d=b.createElement(a||"div"),e;for(e in c)d[e]=c[e];return d}function h(a){for(var b=1,c=arguments.length;b<c;b++)a.appendChild(arguments[b]);return a}function j(a,b,c,d){var g=["opacity",b,~~(a*100),c,d].join("-"),h=.01+c/d*100,j=Math.max(1-(1-a)/b*(100-h),a),k=f.substring(0,f.indexOf("Animation")).toLowerCase(),l=k&&"-"+k+"-"||"";return e[g]||(i.insertRule("@"+l+"keyframes "+g+"{"+"0%{opacity:"+j+"}"+h+"%{opacity:"+a+"}"+(h+.01)+"%{opacity:1}"+(h+b)%100+"%{opacity:"+a+"}"+"100%{opacity:"+j+"}"+"}",0),e[g]=1),g}function k(a,b){var e=a.style,f,g;if(e[b]!==c)return b;b=b.charAt(0).toUpperCase()+b.slice(1);for(g=0;g<d.length;g++){f=d[g]+b;if(e[f]!==c)return f}}function l(a,b){for(var c in b)a.style[k(a,c)||c]=b[c];return a}function m(a){for(var b=1;b<arguments.length;b++){var d=arguments[b];for(var e in d)a[e]===c&&(a[e]=d[e])}return a}function n(a){var b={x:a.offsetLeft,y:a.offsetTop};while(a=a.offsetParent)b.x+=a.offsetLeft,b.y+=a.offsetTop;return b}var d=["webkit","Moz","ms","O"],e={},f,i=function(){var a=g("style");return h(b.getElementsByTagName("head")[0],a),a.sheet||a.styleSheet}(),o={lines:12,length:7,width:5,radius:10,rotate:0,color:"#000",speed:1,trail:100,opacity:.25,fps:20,zIndex:2e9,className:"spinner",top:"auto",left:"auto"},p=function q(a){if(!this.spin)return new q(a);this.opts=m(a||{},q.defaults,o)};p.defaults={},m(p.prototype,{spin:function(a){this.stop();var b=this,c=b.opts,d=b.el=l(g(0,{className:c.className}),{position:"relative",zIndex:c.zIndex}),e=c.radius+c.length+c.width,h,i;a&&(a.insertBefore(d,a.firstChild||null),i=n(a),h=n(d),l(d,{left:(c.left=="auto"?i.x-h.x+(a.offsetWidth>>1):c.left+e)+"px",top:(c.top=="auto"?i.y-h.y+(a.offsetHeight>>1):c.top+e)+"px"})),d.setAttribute("aria-role","progressbar"),b.lines(d,b.opts);if(!f){var j=0,k=c.fps,m=k/c.speed,o=(1-c.opacity)/(m*c.trail/100),p=m/c.lines;!function q(){j++;for(var a=c.lines;a;a--){var e=Math.max(1-(j+a*p)%m*o,c.opacity);b.opacity(d,c.lines-a,e,c)}b.timeout=b.el&&setTimeout(q,~~(1e3/k))}()}return b},stop:function(){var a=this.el;return a&&(clearTimeout(this.timeout),a.parentNode&&a.parentNode.removeChild(a),this.el=c),this},lines:function(a,b){function e(a,d){return l(g(),{position:"absolute",width:b.length+b.width+"px",height:b.width+"px",background:a,boxShadow:d,transformOrigin:"left",transform:"rotate("+~~(360/b.lines*c+b.rotate)+"deg) translate("+b.radius+"px"+",0)",borderRadius:(b.width>>1)+"px"})}var c=0,d;for(;c<b.lines;c++)d=l(g(),{position:"absolute",top:1+~(b.width/2)+"px",transform:b.hwaccel?"translate3d(0,0,0)":"",opacity:b.opacity,animation:f&&j(b.opacity,b.trail,c,b.lines)+" "+1/b.speed+"s linear infinite"}),b.shadow&&h(d,l(e("#000","0 0 4px #000"),{top:"2px"})),h(a,h(d,e(b.color,"0 0 1px rgba(0,0,0,.1)")));return a},opacity:function(a,b,c){b<a.childNodes.length&&(a.childNodes[b].style.opacity=c)}}),!function(){function a(a,b){return g("<"+a+' xmlns="urn:schemas-microsoft.com:vml" class="spin-vml">',b)}var b=l(g("group"),{behavior:"url(#default#VML)"});!k(b,"transform")&&b.adj?(i.addRule(".spin-vml","behavior:url(#default#VML)"),p.prototype.lines=function(b,c){function f(){return l(a("group",{coordsize:e+" "+e,coordorigin:-d+" "+ -d}),{width:e,height:e})}function k(b,e,g){h(i,h(l(f(),{rotation:360/c.lines*b+"deg",left:~~e}),h(l(a("roundrect",{arcsize:1}),{width:d,height:c.width,left:c.radius,top:-c.width>>1,filter:g}),a("fill",{color:c.color,opacity:c.opacity}),a("stroke",{opacity:0}))))}var d=c.length+c.width,e=2*d,g=-(c.width+c.length)*2+"px",i=l(f(),{position:"absolute",top:g,left:g}),j;if(c.shadow)for(j=1;j<=c.lines;j++)k(j,-2,"progid:DXImageTransform.Microsoft.Blur(pixelradius=2,makeshadow=1,shadowopacity=.3)");for(j=1;j<=c.lines;j++)k(j);return h(b,i)},p.prototype.opacity=function(a,b,c,d){var e=a.firstChild;d=d.shadow&&d.lines||0,e&&b+d<e.childNodes.length&&(e=e.childNodes[b+d],e=e&&e.firstChild,e=e&&e.firstChild,e&&(e.opacity=c))}):f=k(b,"animation")}(),a.Spinner=p})(window,document);</script>
vendor: 34,297 bytes, lines 9493-9511
9493<script>
9494(function(a){if(typeof define==="function"&&define.amd&&define.amd.jQuery){define(["jquery"],a)}else{a(jQuery)}}(function(f){var p="left",o="right",e="up",x="down",c="in",z="out",m="none",s="auto",l="swipe",t="pinch",A="tap",j="doubletap",b="longtap",y="hold",D="horizontal",u="vertical",i="all",r=10,g="start",k="move",h="end",q="cancel",a="ontouchstart" in window,v=window.navigator.msPointerEnabled&&!window.navigator.pointerEnabled,d=window.navigator.pointerEnabled||window.navigator.msPointerEnabled,B="TouchSwipe";var n={fingers:1,threshold:75,cancelThreshold:null,pinchThreshold:20,maxTimeThreshold:null,fingerReleaseThreshold:250,longTapThreshold:500,doubleTapThreshold:200,swipe:null,swipeLeft:null,swipeRight:null,swipeUp:null,swipeDown:null,swipeStatus:null,pinchIn:null,pinchOut:null,pinchStatus:null,click:null,tap:null,doubleTap:null,longTap:null,hold:null,triggerOnTouchEnd:true,triggerOnTouchLeave:false,allowPageScroll:"auto",fallbackToMouseEvents:true,excludedElements:"label, button, input, select, textarea, a, .noSwipe"};f.fn.swipe=function(G){var F=f(this),E=F.data(B);if(E&&typeof G==="string"){if(E[G]){return E[G].apply(this,Array.prototype.slice.call(arguments,1))}else{f.error("Method "+G+" does not exist on jQuery.swipe")}}else{if(!E&&(typeof G==="object"||!G)){return w.apply(this,arguments)}}return F};f.fn.swipe.defaults=n;f.fn.swipe.phases={PHASE_START:g,PHASE_MOVE:k,PHASE_END:h,PHASE_CANCEL:q};f.fn.swipe.directions={LEFT:p,RIGHT:o,UP:e,DOWN:x,IN:c,OUT:z};f.fn.swipe.pageScroll={NONE:m,HORIZONTAL:D,VERTICAL:u,AUTO:s};f.fn.swipe.fingers={ONE:1,TWO:2,THREE:3,ALL:i};function w(E){if(E&&(E.allowPageScroll===undefined&&(E.swipe!==undefined||E.swipeStatus!==undefined))){E.allowPageScroll=m}if(E.click!==undefined&&E.tap===undefined){E.tap=E.click}if(!E){E={}}E=f.extend({},f.fn.swipe.defaults,E);return this.each(function(){var G=f(this);var F=G.data(B);if(!F){F=new C(this,E);G.data(B,F)}})}function C(a4,av){var az=(a||d||!av.fallbackToMouseEvents),J=az?(d?(v?"MSPointerDown":"pointerdown"):"touchstart"):"mousedown",ay=az?(d?(v?"MSPointerMove":"pointermove"):"touchmove"):"mousemove",U=az?(d?(v?"MSPointerUp":"pointerup"):"touchend"):"mouseup",S=az?null:"mouseleave",aD=(d?(v?"MSPointerCancel":"pointercancel"):"touchcancel");var ag=0,aP=null,ab=0,a1=0,aZ=0,G=1,aq=0,aJ=0,M=null;var aR=f(a4);var Z="start";var W=0;var aQ=null;var T=0,a2=0,a5=0,ad=0,N=0;var aW=null,af=null;try{aR.bind(J,aN);aR.bind(aD,a9)}catch(ak){f.error("events not supported "+J+","+aD+" on jQuery.swipe")}this.enable=function(){aR.bind(J,aN);aR.bind(aD,a9);return aR};this.disable=function(){aK();return aR};this.destroy=function(){aK();aR.data(B,null);return aR};this.option=function(bc,bb){if(av[bc]!==undefined){if(bb===undefined){return av[bc]}else{av[bc]=bb}}else{f.error("Option "+bc+" does not exist on jQuery.swipe.options")}return null};function aN(bd){if(aB()){return}if(f(bd.target).closest(av.excludedElements,aR).length>0){return}var be=bd.originalEvent?bd.originalEvent:bd;var bc,bb=a?be.touches[0]:be;Z=g;if(a){W=be.touches.length}else{bd.preventDefault()}ag=0;aP=null;aJ=null;ab=0;a1=0;aZ=0;G=1;aq=0;aQ=aj();M=aa();R();if(!a||(W===av.fingers||av.fingers===i)||aX()){ai(0,bb);T=at();if(W==2){ai(1,be.touches[1]);a1=aZ=au(aQ[0].start,aQ[1].start)}if(av.swipeStatus||av.pinchStatus){bc=O(be,Z)}}else{bc=false}if(bc===false){Z=q;O(be,Z);return bc}else{if(av.hold){af=setTimeout(f.proxy(function(){aR.trigger("hold",[be.target]);if(av.hold){bc=av.hold.call(aR,be,be.target)}},this),av.longTapThreshold)}ao(true)}return null}function a3(be){var bh=be.originalEvent?be.originalEvent:be;if(Z===h||Z===q||am()){return}var bd,bc=a?bh.touches[0]:bh;var bf=aH(bc);a2=at();if(a){W=bh.touches.length}if(av.hold){clearTimeout(af)}Z=k;if(W==2){if(a1==0){ai(1,bh.touches[1]);a1=aZ=au(aQ[0].start,aQ[1].start)}else{aH(bh.touches[1]);aZ=au(aQ[0].end,aQ[1].end);aJ=ar(aQ[0].end,aQ[1].end)}G=a7(a1,aZ);aq=Math.abs(a1-aZ)}if((W===av.fingers||av.fingers===i)||!a||aX()){aP=aL(bf.start,bf.end);al(be,aP);ag=aS(bf.start,bf.end);ab=aM();aI(aP,ag);if(av.swipeStatus||av.pinchStatus){bd=O(bh,Z)}if(!av.triggerOnTouchEnd||av.triggerOnTouchLeave){var bb=true;if(av.triggerOnTouchLeave){var bg=aY(this);bb=E(bf.end,bg)}if(!av.triggerOnTouchEnd&&bb){Z=aC(k)}else{if(av.triggerOnTouchLeave&&!bb){Z=aC(h)}}if(Z==q||Z==h){O(bh,Z)}}}else{Z=q;O(bh,Z)}if(bd===false){Z=q;O(bh,Z)}}function L(bb){var bc=bb.originalEvent;if(a){if(bc.touches.length>0){F();return true}}if(am()){W=ad}a2=at();ab=aM();if(ba()||!an()){Z=q;O(bc,Z)}else{if(av.triggerOnTouchEnd||(av.triggerOnTouchEnd==false&&Z===k)){bb.preventDefault();Z=h;O(bc,Z)}else{if(!av.triggerOnTouchEnd&&a6()){Z=h;aF(bc,Z,A)}else{if(Z===k){Z=q;O(bc,Z)}}}}ao(false);return null}function a9(){W=0;a2=0;T=0;a1=0;aZ=0;G=1;R();ao(false)}function K(bb){var bc=bb.originalEvent;if(av.triggerOnTouchLeave){Z=aC(h);O(bc,Z)}}function aK(){aR.unbind(J,aN);aR.unbind(aD,a9);aR.unbind(ay,a3);aR.unbind(U,L);if(S){aR.unbind(S,K)}ao(false)}function aC(bf){var be=bf;var bd=aA();var bc=an();var bb=ba();if(!bd||bb){be=q}else{if(bc&&bf==k&&(!av.triggerOnTouchEnd||av.triggerOnTouchLeave)){be=h}else{if(!bc&&bf==h&&av.triggerOnTouchLeave){be=q}}}return be}function O(bd,bb){var bc=undefined;if(I()||V()){bc=aF(bd,bb,l)}else{if((P()||aX())&&bc!==false){bc=aF(bd,bb,t)}}if(aG()&&bc!==false){bc=aF(bd,bb,j)}else{if(ap()&&bc!==false){bc=aF(bd,bb,b)}else{if(ah()&&bc!==false){bc=aF(bd,bb,A)}}}if(bb===q){a9(bd)}if(bb===h){if(a){if(bd.touches.length==0){a9(bd)}}else{a9(bd)}}return bc}function aF(be,bb,bd){var bc=undefined;if(bd==l){aR.trigger("swipeStatus",[bb,aP||null,ag||0,ab||0,W,aQ]);if(av.swipeStatus){bc=av.swipeStatus.call(aR,be,bb,aP||null,ag||0,ab||0,W,aQ);if(bc===false){return false}}if(bb==h&&aV()){aR.trigger("swipe",[aP,ag,ab,W,aQ]);if(av.swipe){bc=av.swipe.call(aR,be,aP,ag,ab,W,aQ);if(bc===false){return false}}switch(aP){case p:aR.trigger("swipeLeft",[aP,ag,ab,W,aQ]);if(av.swipeLeft){bc=av.swipeLeft.call(aR,be,aP,ag,ab,W,aQ)}break;case o:aR.trigger("swipeRight",[aP,ag,ab,W,aQ]);if(av.swipeRight){bc=av.swipeRight.call(aR,be,aP,ag,ab,W,aQ)}break;case e:aR.trigger("swipeUp",[aP,ag,ab,W,aQ]);if(av.swipeUp){bc=av.swipeUp.call(aR,be,aP,ag,ab,W,aQ)}break;case x:aR.trigger("swipeDown",[aP,ag,ab,W,aQ]);if(av.swipeDown){bc=av.swipeDown.call(aR,be,aP,ag,ab,W,aQ)}break}}}if(bd==t){aR.trigger("pinchStatus",[bb,aJ||null,aq||0,ab||0,W,G,aQ]);if(av.pinchStatus){bc=av.pinchStatus.call(aR,be,bb,aJ||null,aq||0,ab||0,W,G,aQ);if(bc===false){return false}}if(bb==h&&a8()){switch(aJ){case c:aR.trigger("pinchIn",[aJ||null,aq||0,ab||0,W,G,aQ]);if(av.pinchIn){bc=av.pinchIn.call(aR,be,aJ||null,aq||0,ab||0,W,G,aQ)}break;case z:aR.trigger("pinchOut",[aJ||null,aq||0,ab||0,W,G,aQ]);if(av.pinchOut){bc=av.pinchOut.call(aR,be,aJ||null,aq||0,ab||0,W,G,aQ)}break}}}if(bd==A){if(bb===q||bb===h){clearTimeout(aW);clearTimeout(af);if(Y()&&!H()){N=at();aW=setTimeout(f.proxy(function(){N=null;aR.trigger("tap",[be.target]);if(av.tap){bc=av.tap.call(aR,be,be.target)}},this),av.doubleTapThreshold)}else{N=null;aR.trigger("tap",[be.target]);if(av.tap){bc=av.tap.call(aR,be,be.target)}}}}else{if(bd==j){if(bb===q||bb===h){clearTimeout(aW);N=null;aR.trigger("doubletap",[be.target]);if(av.doubleTap){bc=av.doubleTap.call(aR,be,be.target)}}}else{if(bd==b){if(bb===q||bb===h){clearTimeout(aW);N=null;aR.trigger("longtap",[be.target]);if(av.longTap){bc=av.longTap.call(aR,be,be.target)}}}}}return bc}function an(){var bb=true;if(av.threshold!==null){bb=ag>=av.threshold}return bb}function ba(){var bb=false;if(av.cancelThreshold!==null&&aP!==null){bb=(aT(aP)-ag)>=av.cancelThreshold}return bb}function ae(){if(av.pinchThreshold!==null){return aq>=av.pinchThreshold}return true}function aA(){var bb;if(av.maxTimeThreshold){if(ab>=av.maxTimeThreshold){bb=false}else{bb=true}}else{bb=true}return bb}function al(bb,bc){if(av.allowPageScroll===m||aX()){bb.preventDefault()}else{var bd=av.allowPageScroll===s;switch(bc){case p:if((av.swipeLeft&&bd)||(!bd&&av.allowPageScroll!=D)){bb.preventDefault()}break;case o:if((av.swipeRight&&bd)||(!bd&&av.allowPageScroll!=D)){bb.preventDefault()}break;case e:if((av.swipeUp&&bd)||(!bd&&av.allowPageScroll!=u)){bb.preventDefault()}break;case x:if((av.swipeDown&&bd)||(!bd&&av.allowPageScroll!=u)){bb.preventDefault()}break}}}function a8(){var bc=aO();var bb=X();var bd=ae();return bc&&bb&&bd}function aX(){return !!(av.pinchStatus||av.pinchIn||av.pinchOut)}function P(){return !!(a8()&&aX())}function aV(){var be=aA();var bg=an();var bd=aO();var bb=X();var bc=ba();var bf=!bc&&bb&&bd&&bg&&be;return bf}function V(){return !!(av.swipe||av.swipeStatus||av.swipeLeft||av.swipeRight||av.swipeUp||av.swipeDown)}function I(){return !!(aV()&&V())}function aO(){return((W===av.fingers||av.fingers===i)||!a)}function X(){return aQ[0].end.x!==0}function a6(){return !!(av.tap)}function Y(){return !!(av.doubleTap)}function aU(){return !!(av.longTap)}function Q(){if(N==null){return false}var bb=at();return(Y()&&((bb-N)<=av.doubleTapThreshold))}function H(){return Q()}function ax(){return((W===1||!a)&&(isNaN(ag)||ag<av.threshold))}function a0(){return((ab>av.longTapThreshold)&&(ag<r))}function ah(){return !!(ax()&&a6())}function aG(){return !!(Q()&&Y())}function ap(){return !!(a0()&&aU())}function F(){a5=at();ad=event.touches.length+1}function R(){a5=0;ad=0}function am(){var bb=false;if(a5){var bc=at()-a5;if(bc<=av.fingerReleaseThreshold){bb=true}}return bb}function aB(){return !!(aR.data(B+"_intouch")===true)}function ao(bb){if(bb===true){aR.bind(ay,a3);aR.bind(U,L);if(S){aR.bind(S,K)}}else{aR.unbind(ay,a3,false);aR.unbind(U,L,false);if(S){aR.unbind(S,K,false)}}aR.data(B+"_intouch",bb===true)}function ai(bc,bb){var bd=bb.identifier!==undefined?bb.identifier:0;aQ[bc].identifier=bd;aQ[bc].start.x=aQ[bc].end.x=bb.pageX||bb.clientX;aQ[bc].start.y=aQ[bc].end.y=bb.pageY||bb.clientY;return aQ[bc]}function aH(bb){var bd=bb.identifier!==undefined?bb.identifier:0;var bc=ac(bd);bc.end.x=bb.pageX||bb.clientX;bc.end.y=bb.pageY||bb.clientY;return bc}function ac(bc){for(var bb=0;bb<aQ.length;bb++){if(aQ[bb].identifier==bc){return aQ[bb]}}}function aj(){var bb=[];for(var bc=0;bc<=5;bc++){bb.push({start:{x:0,y:0},end:{x:0,y:0},identifier:0})}return bb}function aI(bb,bc){bc=Math.max(bc,aT(bb));M[bb].distance=bc}function aT(bb){if(M[bb]){return M[bb].distance}return undefined}function aa(){var bb={};bb[p]=aw(p);bb[o]=aw(o);bb[e]=aw(e);bb[x]=aw(x);return bb}function aw(bb){return{direction:bb,distance:0}}function aM(){return a2-T}function au(be,bd){var bc=Math.abs(be.x-bd.x);var bb=Math.abs(be.y-bd.y);return Math.round(Math.sqrt(bc*bc+bb*bb))}function a7(bb,bc){var bd=(bc/bb)*1;return bd.toFixed(2)}function ar(){if(G<1){return z}else{return c}}function aS(bc,bb){return Math.round(Math.sqrt(Math.pow(bb.x-bc.x,2)+Math.pow(bb.y-bc.y,2)))}function aE(be,bc){var bb=be.x-bc.x;var bg=bc.y-be.y;var bd=Math.atan2(bg,bb);var bf=Math.round(bd*180/Math.PI);if(bf<0){bf=360-Math.abs(bf)}return bf}function aL(bc,bb){var bd=aE(bc,bb);if((bd<=45)&&(bd>=0)){return p}else{if((bd<=360)&&(bd>=315)){return p}else{if((bd>=135)&&(bd<=225)){return o}else{if((bd>45)&&(bd<135)){return x}else{return e}}}}}function at(){var bb=new Date();return bb.getTime()}function aY(bb){bb=f(bb);var bd=bb.offset();var bc={left:bd.left,right:bd.left+bb.outerWidth(),top:bd.top,bottom:bd.top+bb.outerHeight()};return bc}function E(bb,bc){return(bb.x>bc.left&&bb.x<bc.right&&bb.y>bc.top&&bb.y<bc.bottom)}}}));
9495if(typeof(console) === 'undefined') {
9496    var console = {}
9497    console.log = console.error = console.info = console.debug = console.warn = console.trace = console.dir = console.dirxml = console.group = console.groupEnd = console.time = console.timeEnd = console.assert = console.profile = console.groupCollapsed = function() {};
9498}
9499if (window.tplogs==true)
9500	try {
9501		console.groupCollapsed("ThemePunch GreenSocks Logs");
9502	} catch(e) { }
9503var oldgs = window.GreenSockGlobals;
9504	oldgs_queue = window._gsQueue;
9505var punchgs = window.GreenSockGlobals = {};
9506if (window.tplogs==true)
9507	try {
9508		console.info("Build GreenSock SandBox for ThemePunch Plugins");
9509		console.info("GreenSock TweenLite Engine Initalised by ThemePunch Plugin");
9510	} catch(e) {}
9511(function(t,e){"use strict";var i=t.GreenSockGlobals=t.GreenSockGlobals||t;if(!i.TweenLite){var s,r,n,a,o,l=function(t){var e,s=t.split("."),r=i;for(e=0;s.length>e;e++)r[s[e]]=r=r[s[e]]||{};return r},h=l("com.greensock"),_=1e-10,u=function(t){var e,i=[],s=t.length;for(e=0;e!==s;i.push(t[e++]));return i},m=function(){},f=function(){var t=Object.prototype.toString,e=t.call([]);return function(i){return null!=i&&(i instanceof Array||"object"==typeof i&&!!i.push&&t.call(i)===e)}}(),c={},p=function(s,r,n,a){this.sc=c[s]?c[s].sc:[],c[s]=this,this.gsClass=null,this.func=n;var o=[];this.check=function(h){for(var _,u,m,f,d=r.length,v=d;--d>-1;)(_=c[r[d]]||new p(r[d],[])).gsClass?(o[d]=_.gsClass,v--):h&&_.sc.push(this);if(0===v&&n)for(u=("com.greensock."+s).split("."),m=u.pop(),f=l(u.join("."))[m]=this.gsClass=n.apply(n,o),a&&(i[m]=f,"function"==typeof define&&define.amd?define((t.GreenSockAMDPath?t.GreenSockAMDPath+"/":"")+s.split(".").pop(),[],function(){return f}):s===e&&"undefined"!=typeof module&&module.exports&&(module.exports=f)),d=0;this.sc.length>d;d++)this.sc[d].check()},this.check(!0)},d=t._gsDefine=function(t,e,i,s){return new p(t,e,i,s)},v=h._class=function(t,e,i){return e=e||function(){},d(t,[],function(){return e},i),e};d.globals=i;var g=[0,0,1,1],T=[],y=v("easing.Ease",function(t,e,i,s){this._func=t,this._type=i||0,this._power=s||0,this._params=e?g.concat(e):g},!0),w=y.map={},P=y.register=function(t,e,i,s){for(var r,n,a,o,l=e.split(","),_=l.length,u=(i||"easeIn,easeOut,easeInOut").split(",");--_>-1;)for(n=l[_],r=s?v("easing."+n,null,!0):h.easing[n]||{},a=u.length;--a>-1;)o=u[a],w[n+"."+o]=w[o+n]=r[o]=t.getRatio?t:t[o]||new t};for(n=y.prototype,n._calcEnd=!1,n.getRatio=function(t){if(this._func)return this._params[0]=t,this._func.apply(null,this._params);var e=this._type,i=this._power,s=1===e?1-t:2===e?t:.5>t?2*t:2*(1-t);return 1===i?s*=s:2===i?s*=s*s:3===i?s*=s*s*s:4===i&&(s*=s*s*s*s),1===e?1-s:2===e?s:.5>t?s/2:1-s/2},s=["Linear","Quad","Cubic","Quart","Quint,Strong"],r=s.length;--r>-1;)n=s[r]+",Power"+r,P(new y(null,null,1,r),n,"easeOut",!0),P(new y(null,null,2,r),n,"easeIn"+(0===r?",easeNone":"")),P(new y(null,null,3,r),n,"easeInOut");w.linear=h.easing.Linear.easeIn,w.swing=h.easing.Quad.easeInOut;var b=v("events.EventDispatcher",function(t){this._listeners={},this._eventTarget=t||this});n=b.prototype,n.addEventListener=function(t,e,i,s,r){r=r||0;var n,l,h=this._listeners[t],_=0;for(null==h&&(this._listeners[t]=h=[]),l=h.length;--l>-1;)n=h[l],n.c===e&&n.s===i?h.splice(l,1):0===_&&r>n.pr&&(_=l+1);h.splice(_,0,{c:e,s:i,up:s,pr:r}),this!==a||o||a.wake()},n.removeEventListener=function(t,e){var i,s=this._listeners[t];if(s)for(i=s.length;--i>-1;)if(s[i].c===e)return s.splice(i,1),void 0},n.dispatchEvent=function(t){var e,i,s,r=this._listeners[t];if(r)for(e=r.length,i=this._eventTarget;--e>-1;)s=r[e],s&&(s.up?s.c.call(s.s||i,{type:t,target:i}):s.c.call(s.s||i))};var k=t.requestAnimationFrame,A=t.cancelAnimationFrame,S=Date.now||function(){return(new Date).getTime()},x=S();for(s=["ms","moz","webkit","o"],r=s.length;--r>-1&&!k;)k=t[s[r]+"RequestAnimationFrame"],A=t[s[r]+"CancelAnimationFrame"]||t[s[r]+"CancelRequestAnimationFrame"];v("Ticker",function(t,e){var i,s,r,n,l,h=this,u=S(),f=e!==!1&&k,c=500,p=33,d=function(t){var e,a,o=S()-x;o>c&&(u+=o-p),x+=o,h.time=(x-u)/1e3,e=h.time-l,(!i||e>0||t===!0)&&(h.frame++,l+=e+(e>=n?.004:n-e),a=!0),t!==!0&&(r=s(d)),a&&h.dispatchEvent("tick")};b.call(h),h.time=h.frame=0,h.tick=function(){d(!0)},h.lagSmoothing=function(t,e){c=t||1/_,p=Math.min(e,c,0)},h.sleep=function(){null!=r&&(f&&A?A(r):clearTimeout(r),s=m,r=null,h===a&&(o=!1))},h.wake=function(){null!==r?h.sleep():h.frame>10&&(x=S()-c+5),s=0===i?m:f&&k?k:function(t){return setTimeout(t,0|1e3*(l-h.time)+1)},h===a&&(o=!0),d(2)},h.fps=function(t){return arguments.length?(i=t,n=1/(i||60),l=this.time+n,h.wake(),void 0):i},h.useRAF=function(t){return arguments.length?(h.sleep(),f=t,h.fps(i),void 0):f},h.fps(t),setTimeout(function(){f&&(!r||5>h.frame)&&h.useRAF(!1)},1500)}),n=h.Ticker.prototype=new h.events.EventDispatcher,n.constructor=h.Ticker;var R=v("core.Animation",function(t,e){if(this.vars=e=e||{},this._duration=this._totalDuration=t||0,this._delay=Number(e.delay)||0,this._timeScale=1,this._active=e.immediateRender===!0,this.data=e.data,this._reversed=e.reversed===!0,B){o||a.wake();var i=this.vars.useFrames?q:B;i.add(this,i._time),this.vars.paused&&this.paused(!0)}});a=R.ticker=new h.Ticker,n=R.prototype,n._dirty=n._gc=n._initted=n._paused=!1,n._totalTime=n._time=0,n._rawPrevTime=-1,n._next=n._last=n._onUpdate=n._timeline=n.timeline=null,n._paused=!1;var C=function(){o&&S()-x>2e3&&a.wake(),setTimeout(C,2e3)};C(),n.play=function(t,e){return null!=t&&this.seek(t,e),this.reversed(!1).paused(!1)},n.pause=function(t,e){return null!=t&&this.seek(t,e),this.paused(!0)},n.resume=function(t,e){return null!=t&&this.seek(t,e),this.paused(!1)},n.seek=function(t,e){return this.totalTime(Number(t),e!==!1)},n.restart=function(t,e){return this.reversed(!1).paused(!1).totalTime(t?-this._delay:0,e!==!1,!0)},n.reverse=function(t,e){return null!=t&&this.seek(t||this.totalDuration(),e),this.reversed(!0).paused(!1)},n.render=function(){},n.invalidate=function(){return this._time=this._totalTime=0,this._initted=this._gc=!1,this._rawPrevTime=-1,(this._gc||!this.timeline)&&this._enabled(!0),this},n.isActive=function(){var t,e=this._timeline,i=this._startTime;return!e||!this._gc&&!this._paused&&e.isActive()&&(t=e.rawTime())>=i&&i+this.totalDuration()/this._timeScale>t},n._enabled=function(t,e){return o||a.wake(),this._gc=!t,this._active=this.isActive(),e!==!0&&(t&&!this.timeline?this._timeline.add(this,this._startTime-this._delay):!t&&this.timeline&&this._timeline._remove(this,!0)),!1},n._kill=function(){return this._enabled(!1,!1)},n.kill=function(t,e){return this._kill(t,e),this},n._uncache=function(t){for(var e=t?this:this.timeline;e;)e._dirty=!0,e=e.timeline;return this},n._swapSelfInParams=function(t){for(var e=t.length,i=t.concat();--e>-1;)"{self}"===t[e]&&(i[e]=this);return i},n.eventCallback=function(t,e,i,s){if("on"===(t||"").substr(0,2)){var r=this.vars;if(1===arguments.length)return r[t];null==e?delete r[t]:(r[t]=e,r[t+"Params"]=f(i)&&-1!==i.join("").indexOf("{self}")?this._swapSelfInParams(i):i,r[t+"Scope"]=s),"onUpdate"===t&&(this._onUpdate=e)}return this},n.delay=function(t){return arguments.length?(this._timeline.smoothChildTiming&&this.startTime(this._startTime+t-this._delay),this._delay=t,this):this._delay},n.duration=function(t){return arguments.length?(this._duration=this._totalDuration=t,this._uncache(!0),this._timeline.smoothChildTiming&&this._time>0&&this._time<this._duration&&0!==t&&this.totalTime(this._totalTime*(t/this._duration),!0),this):(this._dirty=!1,this._duration)},n.totalDuration=function(t){return this._dirty=!1,arguments.length?this.duration(t):this._totalDuration},n.time=function(t,e){return arguments.length?(this._dirty&&this.totalDuration(),this.totalTime(t>this._duration?this._duration:t,e)):this._time},n.totalTime=function(t,e,i){if(o||a.wake(),!arguments.length)return this._totalTime;if(this._timeline){if(0>t&&!i&&(t+=this.totalDuration()),this._timeline.smoothChildTiming){this._dirty&&this.totalDuration();var s=this._totalDuration,r=this._timeline;if(t>s&&!i&&(t=s),this._startTime=(this._paused?this._pauseTime:r._time)-(this._reversed?s-t:t)/this._timeScale,r._dirty||this._uncache(!1),r._timeline)for(;r._timeline;)r._timeline._time!==(r._startTime+r._totalTime)/r._timeScale&&r.totalTime(r._totalTime,!0),r=r._timeline}this._gc&&this._enabled(!0,!1),(this._totalTime!==t||0===this._duration)&&(this.render(t,e,!1),z.length&&M())}return this},n.progress=n.totalProgress=function(t,e){return arguments.length?this.totalTime(this.duration()*t,e):this._time/this.duration()},n.startTime=function(t){return arguments.length?(t!==this._startTime&&(this._startTime=t,this.timeline&&this.timeline._sortChildren&&this.timeline.add(this,t-this._delay)),this):this._startTime},n.endTime=function(t){return this._startTime+(0!=t?this.totalDuration():this.duration())/this._timeScale},n.timeScale=function(t){if(!arguments.length)return this._timeScale;if(t=t||_,this._timeline&&this._timeline.smoothChildTiming){var e=this._pauseTime,i=e||0===e?e:this._timeline.totalTime();this._startTime=i-(i-this._startTime)*this._timeScale/t}return this._timeScale=t,this._uncache(!1)},n.reversed=function(t){return arguments.length?(t!=this._reversed&&(this._reversed=t,this.totalTime(this._timeline&&!this._timeline.smoothChildTiming?this.totalDuration()-this._totalTime:this._totalTime,!0)),this):this._reversed},n.paused=function(t){if(!arguments.length)return this._paused;if(t!=this._paused&&this._timeline){o||t||a.wake();var e=this._timeline,i=e.rawTime(),s=i-this._pauseTime;!t&&e.smoothChildTiming&&(this._startTime+=s,this._uncache(!1)),this._pauseTime=t?i:null,this._paused=t,this._active=this.isActive(),!t&&0!==s&&this._initted&&this.duration()&&this.render(e.smoothChildTiming?this._totalTime:(i-this._startTime)/this._timeScale,!0,!0)}return this._gc&&!t&&this._enabled(!0,!1),this};var D=v("core.SimpleTimeline",function(t){R.call(this,0,t),this.autoRemoveChildren=this.smoothChildTiming=!0});n=D.prototype=new R,n.constructor=D,n.kill()._gc=!1,n._first=n._last=n._recent=null,n._sortChildren=!1,n.add=n.insert=function(t,e){var i,s;if(t._startTime=Number(e||0)+t._delay,t._paused&&this!==t._timeline&&(t._pauseTime=t._startTime+(this.rawTime()-t._startTime)/t._timeScale),t.timeline&&t.timeline._remove(t,!0),t.timeline=t._timeline=this,t._gc&&t._enabled(!0,!0),i=this._last,this._sortChildren)for(s=t._startTime;i&&i._startTime>s;)i=i._prev;return i?(t._next=i._next,i._next=t):(t._next=this._first,this._first=t),t._next?t._next._prev=t:this._last=t,t._prev=i,this._recent=t,this._timeline&&this._uncache(!0),this},n._remove=function(t,e){return t.timeline===this&&(e||t._enabled(!1,!0),t._prev?t._prev._next=t._next:this._first===t&&(this._first=t._next),t._next?t._next._prev=t._prev:this._last===t&&(this._last=t._prev),t._next=t._prev=t.timeline=null,t===this._recent&&(this._recent=this._last),this._timeline&&this._uncache(!0)),this},n.render=function(t,e,i){var s,r=this._first;for(this._totalTime=this._time=this._rawPrevTime=t;r;)s=r._next,(r._active||t>=r._startTime&&!r._paused)&&(r._reversed?r.render((r._dirty?r.totalDuration():r._totalDuration)-(t-r._startTime)*r._timeScale,e,i):r.render((t-r._startTime)*r._timeScale,e,i)),r=s},n.rawTime=function(){return o||a.wake(),this._totalTime};var I=v("TweenLite",function(e,i,s){if(R.call(this,i,s),this.render=I.prototype.render,null==e)throw"Cannot tween a null target.";this.target=e="string"!=typeof e?e:I.selector(e)||e;var r,n,a,o=e.jquery||e.length&&e!==t&&e[0]&&(e[0]===t||e[0].nodeType&&e[0].style&&!e.nodeType),l=this.vars.overwrite;if(this._overwrite=l=null==l?Q[I.defaultOverwrite]:"number"==typeof l?l>>0:Q[l],(o||e instanceof Array||e.push&&f(e))&&"number"!=typeof e[0])for(this._targets=a=u(e),this._propLookup=[],this._siblings=[],r=0;a.length>r;r++)n=a[r],n?"string"!=typeof n?n.length&&n!==t&&n[0]&&(n[0]===t||n[0].nodeType&&n[0].style&&!n.nodeType)?(a.splice(r--,1),this._targets=a=a.concat(u(n))):(this._siblings[r]=$(n,this,!1),1===l&&this._siblings[r].length>1&&H(n,this,null,1,this._siblings[r])):(n=a[r--]=I.selector(n),"string"==typeof n&&a.splice(r+1,1)):a.splice(r--,1);else this._propLookup={},this._siblings=$(e,this,!1),1===l&&this._siblings.length>1&&H(e,this,null,1,this._siblings);(this.vars.immediateRender||0===i&&0===this._delay&&this.vars.immediateRender!==!1)&&(this._time=-_,this.render(-this._delay))},!0),E=function(e){return e&&e.length&&e!==t&&e[0]&&(e[0]===t||e[0].nodeType&&e[0].style&&!e.nodeType)},O=function(t,e){var i,s={};for(i in t)G[i]||i in e&&"transform"!==i&&"x"!==i&&"y"!==i&&"width"!==i&&"height"!==i&&"className"!==i&&"border"!==i||!(!U[i]||U[i]&&U[i]._autoCSS)||(s[i]=t[i],delete t[i]);t.css=s};n=I.prototype=new R,n.constructor=I,n.kill()._gc=!1,n.ratio=0,n._firstPT=n._targets=n._overwrittenProps=n._startAt=null,n._notifyPluginsOfEnabled=n._lazy=!1,I.version="1.14.2",I.defaultEase=n._ease=new y(null,null,1,1),I.defaultOverwrite="auto",I.ticker=a,I.autoSleep=!0,I.lagSmoothing=function(t,e){a.lagSmoothing(t,e)},I.selector=t.$||t.jQuery||function(e){var i=t.$||t.jQuery;return i?(I.selector=i,i(e)):"undefined"==typeof document?e:document.querySelectorAll?document.querySelectorAll(e):document.getElementById("#"===e.charAt(0)?e.substr(1):e)};var z=[],L={},N=I._internals={isArray:f,isSelector:E,lazyTweens:z},U=I._plugins={},F=N.tweenLookup={},j=0,G=N.reservedProps={ease:1,delay:1,overwrite:1,onComplete:1,onCompleteParams:1,onCompleteScope:1,useFrames:1,runBackwards:1,startAt:1,onUpdate:1,onUpdateParams:1,onUpdateScope:1,onStart:1,onStartParams:1,onStartScope:1,onReverseComplete:1,onReverseCompleteParams:1,onReverseCompleteScope:1,onRepeat:1,onRepeatParams:1,onRepeatScope:1,easeParams:1,yoyo:1,immediateRender:1,repeat:1,repeatDelay:1,data:1,paused:1,reversed:1,autoCSS:1,lazy:1,onOverwrite:1},Q={none:0,all:1,auto:2,concurrent:3,allOnStart:4,preexisting:5,"true":1,"false":0},q=R._rootFramesTimeline=new D,B=R._rootTimeline=new D,M=N.lazyRender=function(){var t,e=z.length;for(L={};--e>-1;)t=z[e],t&&t._lazy!==!1&&(t.render(t._lazy[0],t._lazy[1],!0),t._lazy=!1);z.length=0};B._startTime=a.time,q._startTime=a.frame,B._active=q._active=!0,setTimeout(M,1),R._updateRoot=I.render=function(){var t,e,i;if(z.length&&M(),B.render((a.time-B._startTime)*B._timeScale,!1,!1),q.render((a.frame-q._startTime)*q._timeScale,!1,!1),z.length&&M(),!(a.frame%120)){for(i in F){for(e=F[i].tweens,t=e.length;--t>-1;)e[t]._gc&&e.splice(t,1);0===e.length&&delete F[i]}if(i=B._first,(!i||i._paused)&&I.autoSleep&&!q._first&&1===a._listeners.tick.length){for(;i&&i._paused;)i=i._next;i||a.sleep()}}},a.addEventListener("tick",R._updateRoot);var $=function(t,e,i){var s,r,n=t._gsTweenID;if(F[n||(t._gsTweenID=n="t"+j++)]||(F[n]={target:t,tweens:[]}),e&&(s=F[n].tweens,s[r=s.length]=e,i))for(;--r>-1;)s[r]===e&&s.splice(r,1);return F[n].tweens},K=function(t,e,i,s){var r,n,a=t.vars.onOverwrite;return a&&(r=a(t,e,i,s)),a=I.onOverwrite,a&&(n=a(t,e,i,s)),r!==!1&&n!==!1},H=function(t,e,i,s,r){var n,a,o,l;if(1===s||s>=4){for(l=r.length,n=0;l>n;n++)if((o=r[n])!==e)o._gc||K(o,e)&&o._enabled(!1,!1)&&(a=!0);else if(5===s)break;return a}var h,u=e._startTime+_,m=[],f=0,c=0===e._duration;for(n=r.length;--n>-1;)(o=r[n])===e||o._gc||o._paused||(o._timeline!==e._timeline?(h=h||J(e,0,c),0===J(o,h,c)&&(m[f++]=o)):u>=o._startTime&&o._startTime+o.totalDuration()/o._timeScale>u&&((c||!o._initted)&&2e-10>=u-o._startTime||(m[f++]=o)));for(n=f;--n>-1;)if(o=m[n],2===s&&o._kill(i,t,e)&&(a=!0),2!==s||!o._firstPT&&o._initted){if(2!==s&&!K(o,e))continue;o._enabled(!1,!1)&&(a=!0)}return a},J=function(t,e,i){for(var s=t._timeline,r=s._timeScale,n=t._startTime;s._timeline;){if(n+=s._startTime,r*=s._timeScale,s._paused)return-100;s=s._timeline}return n/=r,n>e?n-e:i&&n===e||!t._initted&&2*_>n-e?_:(n+=t.totalDuration()/t._timeScale/r)>e+_?0:n-e-_};n._init=function(){var t,e,i,s,r,n=this.vars,a=this._overwrittenProps,o=this._duration,l=!!n.immediateRender,h=n.ease;if(n.startAt){this._startAt&&(this._startAt.render(-1,!0),this._startAt.kill()),r={};for(s in n.startAt)r[s]=n.startAt[s];if(r.overwrite=!1,r.immediateRender=!0,r.lazy=l&&n.lazy!==!1,r.startAt=r.delay=null,this._startAt=I.to(this.target,0,r),l)if(this._time>0)this._startAt=null;else if(0!==o)return}else if(n.runBackwards&&0!==o)if(this._startAt)this._startAt.render(-1,!0),this._startAt.kill(),this._startAt=null;else{0!==this._time&&(l=!1),i={};for(s in n)G[s]&&"autoCSS"!==s||(i[s]=n[s]);if(i.overwrite=0,i.data="isFromStart",i.lazy=l&&n.lazy!==!1,i.immediateRender=l,this._startAt=I.to(this.target,0,i),l){if(0===this._time)return}else this._startAt._init(),this._startAt._enabled(!1),this.vars.immediateRender&&(this._startAt=null)}if(this._ease=h=h?h instanceof y?h:"function"==typeof h?new y(h,n.easeParams):w[h]||I.defaultEase:I.defaultEase,n.easeParams instanceof Array&&h.config&&(this._ease=h.config.apply(h,n.easeParams)),this._easeType=this._ease._type,this._easePower=this._ease._power,this._firstPT=null,this._targets)for(t=this._targets.length;--t>-1;)this._initProps(this._targets[t],this._propLookup[t]={},this._siblings[t],a?a[t]:null)&&(e=!0);else e=this._initProps(this.target,this._propLookup,this._siblings,a);if(e&&I._onPluginEvent("_onInitAllProps",this),a&&(this._firstPT||"function"!=typeof this.target&&this._enabled(!1,!1)),n.runBackwards)for(i=this._firstPT;i;)i.s+=i.c,i.c=-i.c,i=i._next;this._onUpdate=n.onUpdate,this._initted=!0},n._initProps=function(e,i,s,r){var n,a,o,l,h,_;if(null==e)return!1;L[e._gsTweenID]&&M(),this.vars.css||e.style&&e!==t&&e.nodeType&&U.css&&this.vars.autoCSS!==!1&&O(this.vars,e);for(n in this.vars){if(_=this.vars[n],G[n])_&&(_ instanceof Array||_.push&&f(_))&&-1!==_.join("").indexOf("{self}")&&(this.vars[n]=_=this._swapSelfInParams(_,this));else if(U[n]&&(l=new U[n])._onInitTween(e,this.vars[n],this)){for(this._firstPT=h={_next:this._firstPT,t:l,p:"setRatio",s:0,c:1,f:!0,n:n,pg:!0,pr:l._priority},a=l._overwriteProps.length;--a>-1;)i[l._overwriteProps[a]]=this._firstPT;(l._priority||l._onInitAllProps)&&(o=!0),(l._onDisable||l._onEnable)&&(this._notifyPluginsOfEnabled=!0)}else this._firstPT=i[n]=h={_next:this._firstPT,t:e,p:n,f:"function"==typeof e[n],n:n,pg:!1,pr:0},h.s=h.f?e[n.indexOf("set")||"function"!=typeof e["get"+n.substr(3)]?n:"get"+n.substr(3)]():parseFloat(e[n]),h.c="string"==typeof _&&"="===_.charAt(1)?parseInt(_.charAt(0)+"1",10)*Number(_.substr(2)):Number(_)-h.s||0;h&&h._next&&(h._next._prev=h)}return r&&this._kill(r,e)?this._initProps(e,i,s,r):this._overwrite>1&&this._firstPT&&s.length>1&&H(e,this,i,this._overwrite,s)?(this._kill(i,e),this._initProps(e,i,s,r)):(this._firstPT&&(this.vars.lazy!==!1&&this._duration||this.vars.lazy&&!this._duration)&&(L[e._gsTweenID]=!0),o)},n.render=function(t,e,i){var s,r,n,a,o=this._time,l=this._duration,h=this._rawPrevTime;if(t>=l)this._totalTime=this._time=l,this.ratio=this._ease._calcEnd?this._ease.getRatio(1):1,this._reversed||(s=!0,r="onComplete"),0===l&&(this._initted||!this.vars.lazy||i)&&(this._startTime===this._timeline._duration&&(t=0),(0===t||0>h||h===_)&&h!==t&&(i=!0,h>_&&(r="onReverseComplete")),this._rawPrevTime=a=!e||t||h===t?t:_);else if(1e-7>t)this._totalTime=this._time=0,this.ratio=this._ease._calcEnd?this._ease.getRatio(0):0,(0!==o||0===l&&h>0&&h!==_)&&(r="onReverseComplete",s=this._reversed),0>t&&(this._active=!1,0===l&&(this._initted||!this.vars.lazy||i)&&(h>=0&&(i=!0),this._rawPrevTime=a=!e||t||h===t?t:_)),this._initted||(i=!0);else if(this._totalTime=this._time=t,this._easeType){var u=t/l,m=this._easeType,f=this._easePower;(1===m||3===m&&u>=.5)&&(u=1-u),3===m&&(u*=2),1===f?u*=u:2===f?u*=u*u:3===f?u*=u*u*u:4===f&&(u*=u*u*u*u),this.ratio=1===m?1-u:2===m?u:.5>t/l?u/2:1-u/2}else this.ratio=this._ease.getRatio(t/l);if(this._time!==o||i){if(!this._initted){if(this._init(),!this._initted||this._gc)return;if(!i&&this._firstPT&&(this.vars.lazy!==!1&&this._duration||this.vars.lazy&&!this._duration))return this._time=this._totalTime=o,this._rawPrevTime=h,z.push(this),this._lazy=[t,e],void 0;this._time&&!s?this.ratio=this._ease.getRatio(this._time/l):s&&this._ease._calcEnd&&(this.ratio=this._ease.getRatio(0===this._time?0:1))}for(this._lazy!==!1&&(this._lazy=!1),this._active||!this._paused&&this._time!==o&&t>=0&&(this._active=!0),0===o&&(this._startAt&&(t>=0?this._startAt.render(t,e,i):r||(r="_dummyGS")),this.vars.onStart&&(0!==this._time||0===l)&&(e||this.vars.onStart.apply(this.vars.onStartScope||this,this.vars.onStartParams||T))),n=this._firstPT;n;)n.f?n.t[n.p](n.c*this.ratio+n.s):n.t[n.p]=n.c*this.ratio+n.s,n=n._next;this._onUpdate&&(0>t&&this._startAt&&t!==-1e-4&&this._startAt.render(t,e,i),e||(this._time!==o||s)&&this._onUpdate.apply(this.vars.onUpdateScope||this,this.vars.onUpdateParams||T)),r&&(!this._gc||i)&&(0>t&&this._startAt&&!this._onUpdate&&t!==-1e-4&&this._startAt.render(t,e,i),s&&(this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!e&&this.vars[r]&&this.vars[r].apply(this.vars[r+"Scope"]||this,this.vars[r+"Params"]||T),0===l&&this._rawPrevTime===_&&a!==_&&(this._rawPrevTime=0))}},n._kill=function(t,e,i){if("all"===t&&(t=null),null==t&&(null==e||e===this.target))return this._lazy=!1,this._enabled(!1,!1);e="string"!=typeof e?e||this._targets||this.target:I.selector(e)||e;var s,r,n,a,o,l,h,_,u;if((f(e)||E(e))&&"number"!=typeof e[0])for(s=e.length;--s>-1;)this._kill(t,e[s])&&(l=!0);else{if(this._targets){for(s=this._targets.length;--s>-1;)if(e===this._targets[s]){o=this._propLookup[s]||{},this._overwrittenProps=this._overwrittenProps||[],r=this._overwrittenProps[s]=t?this._overwrittenProps[s]||{}:"all";break}}else{if(e!==this.target)return!1;o=this._propLookup,r=this._overwrittenProps=t?this._overwrittenProps||{}:"all"}if(o){if(h=t||o,_=t!==r&&"all"!==r&&t!==o&&("object"!=typeof t||!t._tempKill),i&&(I.onOverwrite||this.vars.onOverwrite)){for(n in h)o[n]&&(u||(u=[]),u.push(n));if(!K(this,i,e,u))return!1}for(n in h)(a=o[n])&&(a.pg&&a.t._kill(h)&&(l=!0),a.pg&&0!==a.t._overwriteProps.length||(a._prev?a._prev._next=a._next:a===this._firstPT&&(this._firstPT=a._next),a._next&&(a._next._prev=a._prev),a._next=a._prev=null),delete o[n]),_&&(r[n]=1);!this._firstPT&&this._initted&&this._enabled(!1,!1)}}return l},n.invalidate=function(){return this._notifyPluginsOfEnabled&&I._onPluginEvent("_onDisable",this),this._firstPT=this._overwrittenProps=this._startAt=this._onUpdate=null,this._notifyPluginsOfEnabled=this._active=this._lazy=!1,this._propLookup=this._targets?{}:[],R.prototype.invalidate.call(this),this.vars.immediateRender&&(this._time=-_,this.render(-this._delay)),this},n._enabled=function(t,e){if(o||a.wake(),t&&this._gc){var i,s=this._targets;if(s)for(i=s.length;--i>-1;)this._siblings[i]=$(s[i],this,!0);else this._siblings=$(this.target,this,!0)}return R.prototype._enabled.call(this,t,e),this._notifyPluginsOfEnabled&&this._firstPT?I._onPluginEvent(t?"_onEnable":"_onDisable",this):!1}
vendor: 4,225 bytes, lines 9511-9512
9511,I.to=function(t,e,i){return new I(t,e,i)},I.from=function(t,e,i){return i.runBackwards=!0,i.immediateRender=0!=i.immediateRender,new I(t,e,i)},I.fromTo=function(t,e,i,s){return s.startAt=i,s.immediateRender=0!=s.immediateRender&&0!=i.immediateRender,new I(t,e,s)},I.delayedCall=function(t,e,i,s,r){return new I(e,0,{delay:t,onComplete:e,onCompleteParams:i,onCompleteScope:s,onReverseComplete:e,onReverseCompleteParams:i,onReverseCompleteScope:s,immediateRender:!1,useFrames:r,overwrite:0})},I.set=function(t,e){return new I(t,0,e)},I.getTweensOf=function(t,e){if(null==t)return[];t="string"!=typeof t?t:I.selector(t)||t;var i,s,r,n;if((f(t)||E(t))&&"number"!=typeof t[0]){for(i=t.length,s=[];--i>-1;)s=s.concat(I.getTweensOf(t[i],e));for(i=s.length;--i>-1;)for(n=s[i],r=i;--r>-1;)n===s[r]&&s.splice(i,1)}else for(s=$(t).concat(),i=s.length;--i>-1;)(s[i]._gc||e&&!s[i].isActive())&&s.splice(i,1);return s},I.killTweensOf=I.killDelayedCallsTo=function(t,e,i){"object"==typeof e&&(i=e,e=!1);for(var s=I.getTweensOf(t,e),r=s.length;--r>-1;)s[r]._kill(i,t)};var V=v("plugins.TweenPlugin",function(t,e){this._overwriteProps=(t||"").split(","),this._propName=this._overwriteProps[0],this._priority=e||0,this._super=V.prototype},!0);if(n=V.prototype,V.version="1.10.1",V.API=2,n._firstPT=null,n._addTween=function(t,e,i,s,r,n){var a,o;return null!=s&&(a="number"==typeof s||"="!==s.charAt(1)?Number(s)-i:parseInt(s.charAt(0)+"1",10)*Number(s.substr(2)))?(this._firstPT=o={_next:this._firstPT,t:t,p:e,s:i,c:a,f:"function"==typeof t[e],n:r||e,r:n},o._next&&(o._next._prev=o),o):void 0},n.setRatio=function(t){for(var e,i=this._firstPT,s=1e-6;i;)e=i.c*t+i.s,i.r?e=Math.round(e):s>e&&e>-s&&(e=0),i.f?i.t[i.p](e):i.t[i.p]=e,i=i._next},n._kill=function(t){var e,i=this._overwriteProps,s=this._firstPT;if(null!=t[this._propName])this._overwriteProps=[];else for(e=i.length;--e>-1;)null!=t[i[e]]&&i.splice(e,1);for(;s;)null!=t[s.n]&&(s._next&&(s._next._prev=s._prev),s._prev?(s._prev._next=s._next,s._prev=null):this._firstPT===s&&(this._firstPT=s._next)),s=s._next;return!1},n._roundProps=function(t,e){for(var i=this._firstPT;i;)(t[this._propName]||null!=i.n&&t[i.n.split(this._propName+"_").join("")])&&(i.r=e),i=i._next},I._onPluginEvent=function(t,e){var i,s,r,n,a,o=e._firstPT;if("_onInitAllProps"===t){for(;o;){for(a=o._next,s=r;s&&s.pr>o.pr;)s=s._next;(o._prev=s?s._prev:n)?o._prev._next=o:r=o,(o._next=s)?s._prev=o:n=o,o=a}o=e._firstPT=r}for(;o;)o.pg&&"function"==typeof o.t[t]&&o.t[t]()&&(i=!0),o=o._next;return i},V.activate=function(t){for(var e=t.length;--e>-1;)t[e].API===V.API&&(U[(new t[e])._propName]=t[e]);return!0},d.plugin=function(t){if(!(t&&t.propName&&t.init&&t.API))throw"illegal plugin definition.";var e,i=t.propName,s=t.priority||0,r=t.overwriteProps,n={init:"_onInitTween",set:"setRatio",kill:"_kill",round:"_roundProps",initAll:"_onInitAllProps"},a=v("plugins."+i.charAt(0).toUpperCase()+i.substr(1)+"Plugin",function(){V.call(this,i,s),this._overwriteProps=r||[]},t.global===!0),o=a.prototype=new V(i);o.constructor=a,a.API=t.API;for(e in n)"function"==typeof t[e]&&(o[n[e]]=t[e]);return a.version=t.version,V.activate([a]),a},s=t._gsQueue){for(r=0;s.length>r;r++)s[r]();for(n in c)c[n].func||t.console.log("GSAP encountered missing dependency: com.greensock."+n)}o=!1}})("undefined"!=typeof module&&module.exports&&"undefined"!=typeof global?global:this||window,"TweenLite");
9512var _gsScope="undefined"!=typeof module&&module.exports&&"undefined"!=typeof global?global:this||window;(_gsScope._gsQueue||(_gsScope._gsQueue=[])).push(function(){"use strict";_gsScope._gsDefine("TimelineLite",["core.Animation","core.SimpleTimeline","TweenLite"],function(t,e,i){var s=function(t){e.call(this,t),this._labels={},this.autoRemoveChildren=this.vars.autoRemoveChildren===!0,this.smoothChildTiming=this.vars.smoothChildTiming===!0,this._sortChildren=!0,this._onUpdate=this.vars.onUpdate;var i,s,r=this.vars;for(s in r)i=r[s],o(i)&&-1!==i.join("").indexOf("{self}")&&(r[s]=this._swapSelfInParams(i));o(r.tweens)&&this.add(r.tweens,0,r.align,r.stagger)},r=1e-10,n=i._internals,a=n.isSelector,o=n.isArray,h=n.lazyTweens,l=n.lazyRender,_=[],u=_gsScope._gsDefine.globals,c=function(t){var e,i={};for(e in t)i[e]=t[e];return i}
9512,p=function(t,e,i,s){var r=t._timeline._totalTime;(e||!this._forcingPlayhead)&&(t._timeline.pause(t._startTime),e&&e.apply(s||t._timeline,i||_),this._forcingPlayhead&&t._timeline.seek(r))},f=function(t){var e,i=[],s=t.length;for(e=0;e!==s;i.push(t[e++]));return i},m=s.prototype=new e;return s.version="1.14.2",m.constructor=s,m.kill()._gc=m._forcingPlayhead=!1,m.to=function(t,e,s,r){var n=s.repeat&&u.TweenMax||i;return e?this.add(new n(t,e,s),r):this.set(t,s,r)},m.from=function(t,e,s,r){return this.add((s.repeat&&u.TweenMax||i).from(t,e,s),r)},m.fromTo=function(t,e,s,r,n){var a=r.repeat&&u.TweenMax||i;return e?this.add(a.fromTo(t,e,s,r),n):this.set(t,r,n)},m.staggerTo=function(t,e,r,n,o,h,l,_){var u,p=new s({onComplete:h,onCompleteParams:l,onCompleteScope:_,smoothChildTiming:this.smoothChildTiming});for("string"==typeof t&&(t=i.selector(t)||t),t=t||[],a(t)&&(t=f(t)),n=n||0,0>n&&(t=f(t),t.reverse(),n*=-1),u=0;t.length>u;u++)r.startAt&&(r.startAt=c(r.startAt)),p.to(t[u],e,c(r),u*n);return this.add(p,o)},m.staggerFrom=function(t,e,i,s,r,n,a,o){return i.immediateRender=0!=i.immediateRender,i.runBackwards=!0,this.staggerTo(t,e,i,s,r,n,a,o)},m.staggerFromTo=function(t,e,i,s,r,n,a,o,h){return s.startAt=i,s.immediateRender=0!=s.immediateRender&&0!=i.immediateRender,this.staggerTo(t,e,s,r,n,a,o,h)},m.call=function(t,e,s,r){return this.add(i.delayedCall(0,t,e,s),r)},m.set=function(t,e,s){return s=this._parseTimeOrLabel(s,0,!0),null==e.immediateRender&&(e.immediateRender=s===this._time&&!this._paused),this.add(new i(t,0,e),s)},s.exportRoot=function(t,e){t=t||{},null==t.smoothChildTiming&&(t.smoothChildTiming=!0);var r,n,a=new s(t),o=a._timeline;for(null==e&&(e=!0),o._remove(a,!0),a._startTime=0,a._rawPrevTime=a._time=a._totalTime=o._time,r=o._first;r;)n=r._next,e&&r instanceof i&&r.target===r.vars.onComplete||a.add(r,r._startTime-r._delay),r=n;return o.add(a,0),a},m.add=function(r,n,a,h){var l,_,u,c,p,f;if("number"!=typeof n&&(n=this._parseTimeOrLabel(n,0,!0,r)),!(r instanceof t)){if(r instanceof Array||r&&r.push&&o(r)){for(a=a||"normal",h=h||0,l=n,_=r.length,u=0;_>u;u++)o(c=r[u])&&(c=new s({tweens:c})),this.add(c,l),"string"!=typeof c&&"function"!=typeof c&&("sequence"===a?l=c._startTime+c.totalDuration()/c._timeScale:"start"===a&&(c._startTime-=c.delay())),l+=h;return this._uncache(!0)}if("string"==typeof r)return this.addLabel(r,n);if("function"!=typeof r)throw"Cannot add "+r+" into the timeline; it is not a tween, timeline, function, or string.";r=i.delayedCall(0,r)}if(e.prototype.add.call(this,r,n),(this._gc||this._time===this._duration)&&!this._paused&&this._duration<this.duration())for(p=this,f=p.rawTime()>r._startTime;p._timeline;)f&&p._timeline.smoothChildTiming?p.totalTime(p._totalTime,!0):p._gc&&p._enabled(!0,!1),p=p._timeline;return this},m.remove=function(e){if(e instanceof t)return this._remove(e,!1);if(e instanceof Array||e&&e.push&&o(e)){for(var i=e.length;--i>-1;)this.remove(e[i]);return this}return"string"==typeof e?this.removeLabel(e):this.kill(null,e)},m._remove=function(t,i){e.prototype._remove.call(this,t,i);var s=this._last;return s?this._time>s._startTime+s._totalDuration/s._timeScale&&(this._time=this.duration(),this._totalTime=this._totalDuration):this._time=this._totalTime=this._duration=this._totalDuration=0,this},m.append=function(t,e){return this.add(t,this._parseTimeOrLabel(null,e,!0,t))},m.insert=m.insertMultiple=function(t,e,i,s){return this.add(t,e||0,i,s)},m.appendMultiple=function(t,e,i,s){return this.add(t,this._parseTimeOrLabel(null,e,!0,t),i,s)},m.addLabel=function(t,e){return this._labels[t]=this._parseTimeOrLabel(e),this},m.addPause=function(t,e,i,s){return this.call(p,["{self}",e,i,s],this,t)},m.removeLabel=function(t){return delete this._labels[t],this},m.getLabelTime=function(t){return null!=this._labels[t]?this._labels[t]:-1},m._parseTimeOrLabel=function(e,i,s,r){var n;if(r instanceof t&&r.timeline===this)this.remove(r);else if(r&&(r instanceof Array||r.push&&o(r)))for(n=r.length;--n>-1;)r[n]instanceof t&&r[n].timeline===this&&this.remove(r[n]);if("string"==typeof i)return this._parseTimeOrLabel(i,s&&"number"==typeof e&&null==this._labels[i]?e-this.duration():0,s);if(i=i||0,"string"!=typeof e||!isNaN(e)&&null==this._labels[e])null==e&&(e=this.duration());else{if(n=e.indexOf("="),-1===n)return null==this._labels[e]?s?this._labels[e]=this.duration()+i:i:this._labels[e]+i;i=parseInt(e.charAt(n-1)+"1",10)*Number(e.substr(n+1)),e=n>1?this._parseTimeOrLabel(e.substr(0,n-1),0,s):this.duration()}return Number(e)+i},m.seek=function(t,e){return this.totalTime("number"==typeof t?t:this._parseTimeOrLabel(t),e!==!1)},m.stop=function(){return this.paused(!0)},m.gotoAndPlay=function(t,e){return this.play(t,e)},m.gotoAndStop=function(t,e){return this.pause(t,e)}
9512,m.render=function(t,e,i){this._gc&&this._enabled(!0,!1);var s,n,a,o,u,c=this._dirty?this.totalDuration():this._totalDuration,p=this._time,f=this._startTime,m=this._timeScale,d=this._paused;if(t>=c?(this._totalTime=this._time=c,this._reversed||this._hasPausedChild()||(n=!0,o="onComplete",0===this._duration&&(0===t||0>this._rawPrevTime||this._rawPrevTime===r)&&this._rawPrevTime!==t&&this._first&&(u=!0,this._rawPrevTime>r&&(o="onReverseComplete"))),this._rawPrevTime=this._duration||!e||t||this._rawPrevTime===t?t:r,t=c+1e-4):1e-7>t?(this._totalTime=this._time=0,(0!==p||0===this._duration&&this._rawPrevTime!==r&&(this._rawPrevTime>0||0>t&&this._rawPrevTime>=0))&&(o="onReverseComplete",n=this._reversed),0>t?(this._active=!1,this._rawPrevTime>=0&&this._first&&(u=!0),this._rawPrevTime=t):(this._rawPrevTime=this._duration||!e||t||this._rawPrevTime===t?t:r,t=0,this._initted||(u=!0))):this._totalTime=this._time=this._rawPrevTime=t,this._time!==p&&this._first||i||u){if(this._initted||(this._initted=!0),this._active||!this._paused&&this._time!==p&&t>0&&(this._active=!0),0===p&&this.vars.onStart&&0!==this._time&&(e||this.vars.onStart.apply(this.vars.onStartScope||this,this.vars.onStartParams||_)),this._time>=p)for(s=this._first;s&&(a=s._next,!this._paused||d);)(s._active||s._startTime<=this._time&&!s._paused&&!s._gc)&&(s._reversed?s.render((s._dirty?s.totalDuration():s._totalDuration)-(t-s._startTime)*s._timeScale,e,i):s.render((t-s._startTime)*s._timeScale,e,i)),s=a;else for(s=this._last;s&&(a=s._prev,!this._paused||d);)(s._active||p>=s._startTime&&!s._paused&&!s._gc)&&(s._reversed?s.render((s._dirty?s.totalDuration():s._totalDuration)-(t-s._startTime)*s._timeScale,e,i):s.render((t-s._startTime)*s._timeScale,e,i)),s=a;this._onUpdate&&(e||(h.length&&l(),this._onUpdate.apply(this.vars.onUpdateScope||this,this.vars.onUpdateParams||_))),o&&(this._gc||(f===this._startTime||m!==this._timeScale)&&(0===this._time||c>=this.totalDuration())&&(n&&(h.length&&l(),this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!e&&this.vars[o]&&this.vars[o].apply(this.vars[o+"Scope"]||this,this.vars[o+"Params"]||_)))}},m._hasPausedChild=function(){for(var t=this._first;t;){if(t._paused||t instanceof s&&t._hasPausedChild())return!0;t=t._next}return!1},m.getChildren=function(t,e,s,r){r=r||-9999999999;for(var n=[],a=this._first,o=0;a;)r>a._startTime||(a instanceof i?e!==!1&&(n[o++]=a):(s!==!1&&(n[o++]=a),t!==!1&&(n=n.concat(a.getChildren(!0,e,s)),o=n.length))),a=a._next;return n},m.getTweensOf=function(t,e){var s,r,n=this._gc,a=[],o=0;for(n&&this._enabled(!0,!0),s=i.getTweensOf(t),r=s.length;--r>-1;)(s[r].timeline===this||e&&this._contains(s[r]))&&(a[o++]=s[r]);return n&&this._enabled(!1,!0),a},m.recent=function(){return this._recent},m._contains=function(t){for(var e=t.timeline;e;){if(e===this)return!0;e=e.timeline}return!1},m.shiftChildren=function(t,e,i){i=i||0;for(var s,r=this._first,n=this._labels;r;)r._startTime>=i&&(r._startTime+=t),r=r._next;if(e)for(s in n)n[s]>=i&&(n[s]+=t);return this._uncache(!0)},m._kill=function(t,e){if(!t&&!e)return this._enabled(!1,!1);for(var i=e?this.getTweensOf(e):this.getChildren(!0,!0,!1),s=i.length,r=!1;--s>-1;)i[s]._kill(t,e)&&(r=!0);return r},m.clear=function(t){var e=this.getChildren(!1,!0,!0),i=e.length;for(this._time=this._totalTime=0;--i>-1;)e[i]._enabled(!1,!1);return t!==!1&&(this._labels={}),this._uncache(!0)}
vendor: 7,311 bytes, lines 9512-9514
9512,m.invalidate=function(){for(var e=this._first;e;)e.invalidate(),e=e._next;return t.prototype.invalidate.call(this)},m._enabled=function(t,i){if(t===this._gc)for(var s=this._first;s;)s._enabled(t,!0),s=s._next;return e.prototype._enabled.call(this,t,i)},m.totalTime=function(){this._forcingPlayhead=!0;var e=t.prototype.totalTime.apply(this,arguments);return this._forcingPlayhead=!1,e},m.duration=function(t){return arguments.length?(0!==this.duration()&&0!==t&&this.timeScale(this._duration/t),this):(this._dirty&&this.totalDuration(),this._duration)},m.totalDuration=function(t){if(!arguments.length){if(this._dirty){for(var e,i,s=0,r=this._last,n=999999999999;r;)e=r._prev,r._dirty&&r.totalDuration(),r._startTime>n&&this._sortChildren&&!r._paused?this.add(r,r._startTime-r._delay):n=r._startTime,0>r._startTime&&!r._paused&&(s-=r._startTime,this._timeline.smoothChildTiming&&(this._startTime+=r._startTime/this._timeScale),this.shiftChildren(-r._startTime,!1,-9999999999),n=0),i=r._startTime+r._totalDuration/r._timeScale,i>s&&(s=i),r=e;this._duration=this._totalDuration=s,this._dirty=!1}return this._totalDuration}return 0!==this.totalDuration()&&0!==t&&this.timeScale(this._totalDuration/t),this},m.usesFrames=function(){for(var e=this._timeline;e._timeline;)e=e._timeline;return e===t._rootFramesTimeline},m.rawTime=function(){return this._paused?this._totalTime:(this._timeline.rawTime()-this._startTime)*this._timeScale},s},!0)}),_gsScope._gsDefine&&_gsScope._gsQueue.pop()(),function(t){"use strict";var e=function(){return(_gsScope.GreenSockGlobals||_gsScope)[t]};"function"==typeof define&&define.amd?define(["TweenLite"],e):"undefined"!=typeof module&&module.exports&&(require("./TweenLite.js"),module.exports=e())}("TimelineLite");
9513var _gsScope="undefined"!=typeof module&&module.exports&&"undefined"!=typeof global?global:this||window;(_gsScope._gsQueue||(_gsScope._gsQueue=[])).push(function(){"use strict";_gsScope._gsDefine("easing.Back",["easing.Ease"],function(t){var e,i,s,r=_gsScope.GreenSockGlobals||_gsScope,n=r.com.greensock,a=2*Math.PI,o=Math.PI/2,h=n._class,l=function(e,i){var s=h("easing."+e,function(){},!0),r=s.prototype=new t;return r.constructor=s,r.getRatio=i,s},_=t.register||function(){},u=function(t,e,i,s){var r=h("easing."+t,{easeOut:new e,easeIn:new i,easeInOut:new s},!0);return _(r,t),r},c=function(t,e,i){this.t=t,this.v=e,i&&(this.next=i,i.prev=this,this.c=i.v-e,this.gap=i.t-t)},p=function(e,i){var s=h("easing."+e,function(t){this._p1=t||0===t?t:1.70158,this._p2=1.525*this._p1},!0),r=s.prototype=new t;return r.constructor=s,r.getRatio=i,r.config=function(t){return new s(t)},s},f=u("Back",p("BackOut",function(t){return(t-=1)*t*((this._p1+1)*t+this._p1)+1}),p("BackIn",function(t){return t*t*((this._p1+1)*t-this._p1)}),p("BackInOut",function(t){return 1>(t*=2)?.5*t*t*((this._p2+1)*t-this._p2):.5*((t-=2)*t*((this._p2+1)*t+this._p2)+2)})),m=h("easing.SlowMo",function(t,e,i){e=e||0===e?e:.7,null==t?t=.7:t>1&&(t=1),this._p=1!==t?e:0,this._p1=(1-t)/2,this._p2=t,this._p3=this._p1+this._p2,this._calcEnd=i===!0},!0),d=m.prototype=new t;return d.constructor=m,d.getRatio=function(t){var e=t+(.5-t)*this._p;return this._p1>t?this._calcEnd?1-(t=1-t/this._p1)*t:e-(t=1-t/this._p1)*t*t*t*e:t>this._p3?this._calcEnd?1-(t=(t-this._p3)/this._p1)*t:e+(t-e)*(t=(t-this._p3)/this._p1)*t*t*t:this._calcEnd?1:e},m.ease=new m(.7,.7),d.config=m.config=function(t,e,i){return new m(t,e,i)},e=h("easing.SteppedEase",function(t){t=t||1,this._p1=1/t,this._p2=t+1},!0),d=e.prototype=new t,d.constructor=e,d.getRatio=function(t){return 0>t?t=0:t>=1&&(t=.999999999),(this._p2*t>>0)*this._p1},d.config=e.config=function(t){return new e(t)},i=h("easing.RoughEase",function(e){e=e||{};for(var i,s,r,n,a,o,h=e.taper||"none",l=[],_=0,u=0|(e.points||20),p=u,f=e.randomize!==!1,m=e.clamp===!0,d=e.template instanceof t?e.template:null,g="number"==typeof e.strength?.4*e.strength:.4;--p>-1;)i=f?Math.random():1/u*p,s=d?d.getRatio(i):i,"none"===h?r=g:"out"===h?(n=1-i,r=n*n*g):"in"===h?r=i*i*g:.5>i?(n=2*i,r=.5*n*n*g):(n=2*(1-i),r=.5*n*n*g),f?s+=Math.random()*r-.5*r:p%2?s+=.5*r:s-=.5*r,m&&(s>1?s=1:0>s&&(s=0)),l[_++]={x:i,y:s};for(l.sort(function(t,e){return t.x-e.x}),o=new c(1,1,null),p=u;--p>-1;)a=l[p],o=new c(a.x,a.y,o);this._prev=new c(0,0,0!==o.t?o:o.next)},!0),d=i.prototype=new t,d.constructor=i,d.getRatio=function(t){var e=this._prev;if(t>e.t){for(;e.next&&t>=e.t;)e=e.next;e=e.prev}else for(;e.prev&&e.t>=t;)e=e.prev;return this._prev=e,e.v+(t-e.t)/e.gap*e.c},d.config=function(t){return new i(t)},i.ease=new i,u("Bounce",l("BounceOut",function(t){return 1/2.75>t?7.5625*t*t:2/2.75>t?7.5625*(t-=1.5/2.75)*t+.75:2.5/2.75>t?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}),l("BounceIn",function(t){return 1/2.75>(t=1-t)?1-7.5625*t*t:2/2.75>t?1-(7.5625*(t-=1.5/2.75)*t+.75):2.5/2.75>t?1-(7.5625*(t-=2.25/2.75)*t+.9375):1-(7.5625*(t-=2.625/2.75)*t+.984375)}),l("BounceInOut",function(t){var e=.5>t;return t=e?1-2*t:2*t-1,t=1/2.75>t?7.5625*t*t:2/2.75>t?7.5625*(t-=1.5/2.75)*t+.75:2.5/2.75>t?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375,e?.5*(1-t):.5*t+.5})),u("Circ",l("CircOut",function(t){return Math.sqrt(1-(t-=1)*t)}),l("CircIn",function(t){return-(Math.sqrt(1-t*t)-1)}),l("CircInOut",function(t){return 1>(t*=2)?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)})),s=function(e,i,s){var r=h("easing."+e,function(t,e){this._p1=t||1,this._p2=e||s,this._p3=this._p2/a*(Math.asin(1/this._p1)||0)},!0),n=r.prototype=new t;return n.constructor=r,n.getRatio=i,n.config=function(t,e){return new r(t,e)},r},u("Elastic",s("ElasticOut",function(t){return this._p1*Math.pow(2,-10*t)*Math.sin((t-this._p3)*a/this._p2)+1},.3),s("ElasticIn",function(t){return-(this._p1*Math.pow(2,10*(t-=1))*Math.sin((t-this._p3)*a/this._p2))},.3),s("ElasticInOut",function(t){return 1>(t*=2)?-.5*this._p1*Math.pow(2,10*(t-=1))*Math.sin((t-this._p3)*a/this._p2):.5*this._p1*Math.pow(2,-10*(t-=1))*Math.sin((t-this._p3)*a/this._p2)+1},.45)),u("Expo",l("ExpoOut",function(t){return 1-Math.pow(2,-10*t)}),l("ExpoIn",function(t){return Math.pow(2,10*(t-1))-.001}),l("ExpoInOut",function(t){return 1>(t*=2)?.5*Math.pow(2,10*(t-1)):.5*(2-Math.pow(2,-10*(t-1)))})),u("Sine",l("SineOut",function(t){return Math.sin(t*o)}),l("SineIn",function(t){return-Math.cos(t*o)+1}),l("SineInOut",function(t){return-.5*(Math.cos(Math.PI*t)-1)})),h("easing.EaseLookup",{find:function(e){return t.map[e]}},!0),_(r.SlowMo,"SlowMo","ease,"),_(i,"RoughEase","ease,"),_(e,"SteppedEase","ease,"),f},!0)}),_gsScope._gsDefine&&_gsScope._gsQueue.pop()();
9514var _gsScope="undefined"!=typeof module&&module.exports&&"undefined"!=typeof global?global:this||window;(_gsScope._gsQueue||(_gsScope._gsQueue=[])).push(function(){"use strict";_gsScope._gsDefine("plugins.CSSPlugin",["plugins.TweenPlugin","TweenLite"],function(t,e){var i,r,s,n,a=function(){t.call(this,"css"),this._overwriteProps.length=0,this.setRatio=a.prototype.setRatio},o={},l=a.prototype=new t("css");l.constructor=a,a.version="1.14.2",a.API=2,a.defaultTransformPerspective=0,a.defaultSkewType="compensated",l="px",a.suffixMap={top:l,right:l,bottom:l,left:l,width:l,height:l,fontSize:l,padding:l,margin:l,perspective:l,lineHeight:""};var h,u,f,p,_,c,d=/(?:\d|\-\d|\.\d|\-\.\d)+/g,m=/(?:\d|\-\d|\.\d|\-\.\d|\+=\d|\-=\d|\+=.\d|\-=\.\d)+/g,g=/(?
9514:\+=|\-=|\-|\b)[\d\-\.]+[a-zA-Z0-9]*(?:%|\b)/gi,v=/(?![+-]?\d*\.?\d+|e[+-]\d+)[^0-9]/g,y=/(?:\d|\-|\+|=|#|\.)*/g,x=/opacity *= *([^)]*)/i,T=/opacity:([^;]*)/i,w=/alpha\(opacity *=.+?\)/i,b=/^(rgb|hsl)/,P=/([A-Z])/g,S=/-([a-z])/gi,R=/(^(?:url\(\"|url\())|(?:(\"\))$|\)$)/gi,C=function(t,e){return e.toUpperCase()},k=/(?:Left|Right|Width)/i,O=/(M11|M12|M21|M22)=[\d\-\.e]+/gi,A=/progid\:DXImageTransform\.Microsoft\.Matrix\(.+?\)/i,D=/,(?=[^\)]*(?:\(|$))/gi,M=Math.PI/180,L=180/Math.PI,N={},z=document,X=z.createElement("div"),I=z.createElement("img"),E=a._internals={_specialProps:o},F=navigator.userAgent,Y=function(){var t,e=F.indexOf("Android"),i=z.createElement("div");return f=-1!==F.indexOf("Safari")&&-1===F.indexOf("Chrome")&&(-1===e||Number(F.substr(e+8,1))>3),_=f&&6>Number(F.substr(F.indexOf("Version/")+8,1)),p=-1!==F.indexOf("Firefox"),(/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(F)||/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(F))&&(c=parseFloat(RegExp.$1)),i.innerHTML="<a style='top:1px;opacity:.55;'>a</a>",t=i.getElementsByTagName("a")[0],t?/^0.55/.test(t.style.opacity):!1}(),B=function(t){return x.test("string"==typeof t?t:(t.currentStyle?t.currentStyle.filter:t.style.filter)||"")?parseFloat(RegExp.$1)/100:1},U=function(t){window.console&&console.log(t)},j="",W="",V=function(t,e){e=e||X;var i,r,s=e.style;if(void 0!==s[t])return t;for(t=t.charAt(0).toUpperCase()+t.substr(1),i=["O","Moz","ms","Ms","Webkit"],r=5;--r>-1&&void 0===s[i[r]+t];);return r>=0?(W=3===r?"ms":i[r],j="-"+W.toLowerCase()+"-",W+t):null},q=z.defaultView?z.defaultView.getComputedStyle:function(){},H=a.getStyle=function(t,e,i,r,s){var n;return Y||"opacity"!==e?(!r&&t.style[e]?n=t.style[e]:(i=i||q(t))?n=i[e]||i.getPropertyValue(e)||i.getPropertyValue(e.replace(P,"-$1").toLowerCase()):t.currentStyle&&(n=t.currentStyle[e]),null==s||n&&"none"!==n&&"auto"!==n&&"auto auto"!==n?n:s):B(t)},G=E.convertToPixels=function(t,i,r,s,n){if("px"===s||!s)return r;if("auto"===s||!r)return 0;var o,l,h,u=k.test(i),f=t,p=X.style,_=0>r;if(_&&(r=-r),"%"===s&&-1!==i.indexOf("border"))o=r/100*(u?t.clientWidth:t.clientHeight);else{if(p.cssText="border:0 solid red;position:"+H(t,"position")+";line-height:0;","%"!==s&&f.appendChild)p[u?"borderLeftWidth":"borderTopWidth"]=r+s;else{if(f=t.parentNode||z.body,l=f._gsCache,h=e.ticker.frame,l&&u&&l.time===h)return l.width*r/100;p[u?"width":"height"]=r+s}f.appendChild(X),o=parseFloat(X[u?"offsetWidth":"offsetHeight"]),f.removeChild(X),u&&"%"===s&&a.cacheWidths!==!1&&(l=f._gsCache=f._gsCache||{},l.time=h,l.width=100*(o/r)),0!==o||n||(o=G(t,i,r,s,!0))}return _?-o:o},Q=E.calculateOffset=function(t,e,i){if("absolute"!==H(t,"position",i))return 0;var r="left"===e?"Left":"Top",s=H(t,"margin"+r,i);return t["offset"+r]-(G(t,e,parseFloat(s),s.replace(y,""))||0)},Z=function(t,e){var i,r,s={};if(e=e||q(t,null))if(i=e.length)for(;--i>-1;)s[e[i].replace(S,C)]=e.getPropertyValue(e[i]);else for(i in e)s[i]=e[i];else if(e=t.currentStyle||t.style)for(i in e)"string"==typeof i&&void 0===s[i]&&(s[i.replace(S,C)]=e[i]);return Y||(s.opacity=B(t)),r=Ae(t,e,!1),s.rotation=r.rotation,s.skewX=r.skewX,s.scaleX=r.scaleX,s.scaleY=r.scaleY,s.x=r.x,s.y=r.y,be&&(s.z=r.z,s.rotationX=r.rotationX,s.rotationY=r.rotationY,s.scaleZ=r.scaleZ),s.filters&&delete s.filters,s},$=function(t,e,i,r,s){var n,a,o,l={},h=t.style;for(a in i)"cssText"!==a&&"length"!==a&&isNaN(a)&&(e[a]!==(n=i[a])||s&&s[a])&&-1===a.indexOf("Origin")&&("number"==typeof n||"string"==typeof n)&&(l[a]="auto"!==n||"left"!==a&&"top"!==a?""!==n&&"auto"!==n&&"none"!==n||"string"!=typeof e[a]||""===e[a].replace(v,"")?n:0:Q(t,a),void 0!==h[a]&&(o=new fe(h,a,h[a],o)));if(r)for(a in r)"className"!==a&&(l[a]=r[a]);return{difs:l,firstMPT:o}},K={width:["Left","Right"],height:["Top","Bottom"]},J=["marginLeft","marginRight","marginTop","marginBottom"],te=function(t,e,i){var r=parseFloat("width"===e?t.offsetWidth:t.offsetHeight),s=K[e],n=s.length;for(i=i||q(t,null);--n>-1;)r-=parseFloat(H(t,"padding"+s[n],i,!0))||0,r-=parseFloat(H(t,"border"+s[n]+"Width",i,!0))||0;return r},ee=function(t,e){(null==t||""===t||"auto"===t||"auto auto"===t)&&(t="0 0");var i=t.split(" "),r=-1!==t.indexOf("left")?"0%":-1!==t.indexOf("right")?"100%":i[0],s=-1!==t.indexOf("top")?"0%":-1!==t.indexOf("bottom")?"100%":i[1];return null==s?s="0":"center"===s&&(s="50%"),("center"===r||isNaN(parseFloat(r))&&-1===(r+"").indexOf("="))&&(r="50%"),e&&(e.oxp=-1!==r.indexOf("%"),e.oyp=-1!==s.indexOf("%"),e.oxr="="===r.charAt(1),e.oyr="="===s.charAt(1),e.ox=parseFloat(r.replace(v,"")),e.oy=parseFloat(s.replace(v,""))),r+" "+s+(i.length>2?" "+i[2]:"")},ie=function(t,e){return"string"==typeof t&&"="===t.charAt(1)?parseInt(t.charAt(0)+"1",10)*parseFloat(t.substr(2)):parseFloat(t)-parseFloat(e)},re=function(t,e){return null==t?e:"string"==typeof t&&"="===t.charAt(1)?parseInt(t.charAt(0)+"1",10)*parseFloat(t.substr(2))+e:parseFloat(t)}
9514,se=function(t,e,i,r){var s,n,a,o,l=1e-6;return null==t?o=e:"number"==typeof t?o=t:(s=360,n=t.split("_"),a=Number(n[0].replace(v,""))*(-1===t.indexOf("rad")?1:L)-("="===t.charAt(1)?0:e),n.length&&(r&&(r[i]=e+a),-1!==t.indexOf("short")&&(a%=s,a!==a%(s/2)&&(a=0>a?a+s:a-s)),-1!==t.indexOf("_cw")&&0>a?a=(a+9999999999*s)%s-(0|a/s)*s:-1!==t.indexOf("ccw")&&a>0&&(a=(a-9999999999*s)%s-(0|a/s)*s)),o=e+a),l>o&&o>-l&&(o=0),o},ne={aqua:[0,255,255],lime:[0,255,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,255],navy:[0,0,128],white:[255,255,255],fuchsia:[255,0,255],olive:[128,128,0],yellow:[255,255,0],orange:[255,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[255,0,0],pink:[255,192,203],cyan:[0,255,255],transparent:[255,255,255,0]},ae=function(t,e,i){return t=0>t?t+1:t>1?t-1:t,0|255*(1>6*t?e+6*(i-e)*t:.5>t?i:2>3*t?e+6*(i-e)*(2/3-t):e)+.5},oe=a.parseColor=function(t){var e,i,r,s,n,a;return t&&""!==t?"number"==typeof t?[t>>16,255&t>>8,255&t]:(","===t.charAt(t.length-1)&&(t=t.substr(0,t.length-1)),ne[t]?ne[t]:"#"===t.charAt(0)?(4===t.length&&(e=t.charAt(1),i=t.charAt(2),r=t.charAt(3),t="#"+e+e+i+i+r+r),t=parseInt(t.substr(1),16),[t>>16,255&t>>8,255&t]):"hsl"===t.substr(0,3)?(t=t.match(d),s=Number(t[0])%360/360,n=Number(t[1])/100,a=Number(t[2])/100,i=.5>=a?a*(n+1):a+n-a*n,e=2*a-i,t.length>3&&(t[3]=Number(t[3])),t[0]=ae(s+1/3,e,i),t[1]=ae(s,e,i),t[2]=ae(s-1/3,e,i),t):(t=t.match(d)||ne.transparent,t[0]=Number(t[0]),t[1]=Number(t[1]),t[2]=Number(t[2]),t.length>3&&(t[3]=Number(t[3])),t)):ne.black},le="(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#.+?\\b";for(l in ne)le+="|"+l+"\\b";le=RegExp(le+")","gi");var he=function(t,e,i,r){if(null==t)return function(t){return t};var s,n=e?(t.match(le)||[""])[0]:"",a=t.split(n).join("").match(g)||[],o=t.substr(0,t.indexOf(a[0])),l=")"===t.charAt(t.length-1)?")":"",h=-1!==t.indexOf(" ")?" ":",",u=a.length,f=u>0?a[0].replace(d,""):"";return u?s=e?function(t){var e,p,_,c;if("number"==typeof t)t+=f;else if(r&&D.test(t)){for(c=t.replace(D,"|").split("|"),_=0;c.length>_;_++)c[_]=s(c[_]);return c.join(",")}if(e=(t.match(le)||[n])[0],p=t.split(e).join("").match(g)||[],_=p.length,u>_--)for(;u>++_;)p[_]=i?p[0|(_-1)/2]:a[_];return o+p.join(h)+h+e+l+(-1!==t.indexOf("inset")?" inset":"")}:function(t){var e,n,p;if("number"==typeof t)t+=f;else if(r&&D.test(t)){for(n=t.replace(D,"|").split("|"),p=0;n.length>p;p++)n[p]=s(n[p]);return n.join(",")}if(e=t.match(g)||[],p=e.length,u>p--)for(;u>++p;)e[p]=i?e[0|(p-1)/2]:a[p];return o+e.join(h)+l}:function(t){return t}},ue=function(t){return t=t.split(","),function(e,i,r,s,n,a,o){var l,h=(i+"").split(" ");for(o={},l=0;4>l;l++)o[t[l]]=h[l]=h[l]||h[(l-1)/2>>0];return s.parse(e,o,n,a)}},fe=(E._setPluginRatio=function(t){this.plugin.setRatio(t);for(var e,i,r,s,n=this.data,a=n.proxy,o=n.firstMPT,l=1e-6;o;)e=a[o.v],o.r?e=Math.round(e):l>e&&e>-l&&(e=0),o.t[o.p]=e,o=o._next;if(n.autoRotate&&(n.autoRotate.rotation=a.rotation),1===t)for(o=n.firstMPT;o;){if(i=o.t,i.type){if(1===i.type){for(s=i.xs0+i.s+i.xs1,r=1;i.l>r;r++)s+=i["xn"+r]+i["xs"+(r+1)];i.e=s}}else i.e=i.s+i.xs0;o=o._next}},function(t,e,i,r,s){this.t=t,this.p=e,this.v=i,this.r=s,r&&(r._prev=this,this._next=r)}),pe=(E._parseToProxy=function(t,e,i,r,s,n){var a,o,l,h,u,f=r,p={},_={},c=i._transform,d=N;for(i._transform=null,N=e,r=u=i.parse(t,e,r,s),N=d,n&&(i._transform=c,f&&(f._prev=null,f._prev&&(f._prev._next=null)));r&&r!==f;){if(1>=r.type&&(o=r.p,_[o]=r.s+r.c,p[o]=r.s,n||(h=new fe(r,"s",o,h,r.r),r.c=0),1===r.type))for(a=r.l;--a>0;)l="xn"+a,o=r.p+"_"+l,_[o]=r.data[l],p[o]=r[l],n||(h=new fe(r,l,o,h,r.rxp[l]));r=r._next}return{proxy:p,end:_,firstMPT:h,pt:u}},E.CSSPropTween=function(t,e,r,s,a,o,l,h,u,f,p){this.t=t,this.p=e,this.s=r,this.c=s,this.n=l||e,t instanceof pe||n.push(this.n),this.r=h,this.type=o||0,u&&(this.pr=u,i=!0),this.b=void 0===f?r:f,this.e=void 0===p?r+s:p,a&&(this._next=a,a._prev=this)}),_e=a.parseComplex=function(t,e,i,r,s,n,a,o,l,u){i=i||n||"",a=new pe(t,e,0,0,a,u?2:1,null,!1,o,i,r),r+="";var f,p,_,c,g,v,y,x,T,w,P,S,R=i.split(", ").join(",").split(" "),C=r.split(", ").join(",").split(" "),k=R.length,O=h!==!1;for((-1!==r.indexOf(",")||-1!==i.indexOf(","))&&(R=R.join(" ").replace(D,", ").split(" "),C=C.join(" ").replace(D,", ").split(" "),k=R.length),k!==C.length&&(R=(n||"").split(" "),k=R.length),a.plugin=l,a.setRatio=u,f=0;k>f;f++)if(c=R[f],g=C[f],x=parseFloat(c),x||0===x)a.appendXtra("",x,ie(g,x),g.replace(m,""),O&&-1!==g.indexOf("px"),!0);else if(s&&("#"===c.charAt(0)||ne[c]||b.test(c)))S=","===g.charAt(g.length-1)?"),":")",c=oe(c),g=oe(g),T=c.length+g.length>6,T&&!Y&&0===g[3]?(a["xs"+a.l]+=a.l?" transparent":"transparent",a.e=a.e.split(C[f]).join("transparent")):(Y||(T=!1),a.appendXtra(T?"rgba(":"rgb(",c[0],g[0]-c[0],",",!0,!0).appendXtra("",c[1],g[1]-c[1],",",!0).appendXtra("",c[2],g[2]-c[2],T?",":S,!0),T&&(c=4>c.length?1:c[3],a.appendXtra("",c,(4>g.length?1:g[3])-c,S,!1)));else if(v=c.match(d)){if(y=g.match(m),!y||y.length!==v.length)return a;for(_=0,p=0;v.length>p;p++)P=v[p],w=c.indexOf(P,_),a.appendXtra(c.substr(_,w-_),Number(P),ie(y[p],P),"",O&&"px"===c.substr(w+P.length,2),0===p),_=w+P.length;a["xs"+a.l]+=c.substr(_)}else a["xs"+a.l]+=a.l?" "+c:c;
9514if(-1!==r.indexOf("=")&&a.data){for(S=a.xs0+a.data.s,f=1;a.l>f;f++)S+=a["xs"+f]+a.data["xn"+f];a.e=S+a["xs"+f]}return a.l||(a.type=-1,a.xs0=a.e),a.xfirst||a},ce=9;for(l=pe.prototype,l.l=l.pr=0;--ce>0;)l["xn"+ce]=0,l["xs"+ce]="";l.xs0="",l._next=l._prev=l.xfirst=l.data=l.plugin=l.setRatio=l.rxp=null,l.appendXtra=function(t,e,i,r,s,n){var a=this,o=a.l;return a["xs"+o]+=n&&o?" "+t:t||"",i||0===o||a.plugin?(a.l++,a.type=a.setRatio?2:1,a["xs"+a.l]=r||"",o>0?(a.data["xn"+o]=e+i,a.rxp["xn"+o]=s,a["xn"+o]=e,a.plugin||(a.xfirst=new pe(a,"xn"+o,e,i,a.xfirst||a,0,a.n,s,a.pr),a.xfirst.xs0=0),a):(a.data={s:e+i},a.rxp={},a.s=e,a.c=i,a.r=s,a)):(a["xs"+o]+=e+(r||""),a)};var de=function(t,e){e=e||{},this.p=e.prefix?V(t)||t:t,o[t]=o[this.p]=this,this.format=e.formatter||he(e.defaultValue,e.color,e.collapsible,e.multi),e.parser&&(this.parse=e.parser),this.clrs=e.color,this.multi=e.multi,this.keyword=e.keyword,this.dflt=e.defaultValue,this.pr=e.priority||0},me=E._registerComplexSpecialProp=function(t,e,i){"object"!=typeof e&&(e={parser:i});var r,s,n=t.split(","),a=e.defaultValue;for(i=i||[a],r=0;n.length>r;r++)e.prefix=0===r&&e.prefix,e.defaultValue=i[r]||a,s=new de(n[r],e)},ge=function(t){if(!o[t]){var e=t.charAt(0).toUpperCase()+t.substr(1)+"Plugin";me(t,{parser:function(t,i,r,s,n,a,l){var h=(_gsScope.GreenSockGlobals||_gsScope).com.greensock.plugins[e];return h?(h._cssRegister(),o[r].parse(t,i,r,s,n,a,l)):(U("Error: "+e+" js file not loaded."),n)}})}};l=de.prototype,l.parseComplex=function(t,e,i,r,s,n){var a,o,l,h,u,f,p=this.keyword;if(this.multi&&(D.test(i)||D.test(e)?(o=e.replace(D,"|").split("|"),l=i.replace(D,"|").split("|")):p&&(o=[e],l=[i])),l){for(h=l.length>o.length?l.length:o.length,a=0;h>a;a++)e=o[a]=o[a]||this.dflt,i=l[a]=l[a]||this.dflt,p&&(u=e.indexOf(p),f=i.indexOf(p),u!==f&&(i=-1===f?l:o,i[a]+=" "+p));e=o.join(", "),i=l.join(", ")}return _e(t,this.p,e,i,this.clrs,this.dflt,r,this.pr,s,n)},l.parse=function(t,e,i,r,n,a){return this.parseComplex(t.style,this.format(H(t,this.p,s,!1,this.dflt)),this.format(e),n,a)},a.registerSpecialProp=function(t,e,i){me(t,{parser:function(t,r,s,n,a,o){var l=new pe(t,s,0,0,a,2,s,!1,i);return l.plugin=o,l.setRatio=e(t,r,n._tween,s),l},priority:i})};var ve,ye="scaleX,scaleY,scaleZ,x,y,z,skewX,skewY,rotation,rotationX,rotationY,perspective,xPercent,yPercent".split(","),xe=V("transform"),Te=j+"transform",we=V("transformOrigin"),be=null!==V("perspective"),Pe=E.Transform=function(){this.skewY=0},Se=window.SVGElement,Re=function(t,e,i){var r,s=z.createElementNS("http://www.w3.org/2000/svg",t),n=/([a-z])([A-Z])/g;for(r in i)s.setAttributeNS(null,r.replace(n,"$1-$2").toLowerCase(),i[r]);return e.appendChild(s),s},Ce=document.documentElement,ke=function(){var t,e,i,r=c||/Android/i.test(F)&&!window.chrome;return z.createElementNS&&!r&&(t=Re("svg",Ce),e=Re("rect",t,{width:100,height:50,x:100}),i=e.getBoundingClientRect().left,e.style[we]="50% 50%",e.style[xe]="scale(0.5,0.5)",r=i===e.getBoundingClientRect().left,Ce.removeChild(t)),r}(),Oe=function(t,e,i){var r=t.getBBox();e=ee(e).split(" "),i.xOrigin=(-1!==e[0].indexOf("%")?parseFloat(e[0])/100*r.width:parseFloat(e[0]))+r.x,i.yOrigin=(-1!==e[1].indexOf("%")?parseFloat(e[1])/100*r.height:parseFloat(e[1]))+r.y},Ae=E.getTransform=function(t,e,i,r){if(t._gsTransform&&i&&!r)return t._gsTransform;var n,o,l,h,u,f,p,_,c,d,m,g,v,y=i?t._gsTransform||new Pe:new Pe,x=0>y.scaleX,T=2e-5,w=1e5,b=179.99,P=b*M,S=be?parseFloat(H(t,we,e,!1,"0 0 0").split(" ")[2])||y.zOrigin||0:0,R=parseFloat(a.defaultTransformPerspective)||0;if(xe?n=H(t,Te,e,!0):t.currentStyle&&(n=t.currentStyle.filter.match(O),n=n&&4===n.length?[n[0].substr(4),Number(n[2].substr(4)),Number(n[1].substr(4)),n[3].substr(4),y.x||0,y.y||0].join(","):""),n&&"none"!==n&&"matrix(1, 0, 0, 1, 0, 0)"!==n){for(o=(n||"").match(/(?:\-|\b)[\d\-\.e]+\b/gi)||[],l=o.length;--l>-1;)h=Number(o[l]),o[l]=(u=h-(h|=0))?(0|u*w+(0>u?-.5:.5))/w+h:h;if(16===o.length){var C=o[8],k=o[9],A=o[10],D=o[12],N=o[13],z=o[14];if(y.zOrigin&&(z=-y.zOrigin,D=C*z-o[12],N=k*z-o[13],z=A*z+y.zOrigin-o[14]),!i||r||null==y.rotationX){var X,I,E,F,Y,B,U,j=o[0],W=o[1],V=o[2],q=o[3],G=o[4],Q=o[5],Z=o[6],$=o[7],K=o[11],J=Math.atan2(Z,A),te=-P>J||J>P;y.rotationX=J*L,J&&(F=Math.cos(-J),Y=Math.sin(-J),X=G*F+C*Y,I=Q*F+k*Y,E=Z*F+A*Y,C=G*-Y+C*F,k=Q*-Y+k*F,A=Z*-Y+A*F,K=$*-Y+K*F,G=X,Q=I,Z=E),J=Math.atan2(C,j),y.rotationY=J*L,J&&(B=-P>J||J>P,F=Math.cos(-J),Y=Math.sin(-J),X=j*F-C*Y,I=W*F-k*Y,E=V*F-A*Y,k=W*Y+k*F,A=V*Y+A*F,K=q*Y+K*F,j=X,W=I,V=E),J=Math.atan2(W,Q),y.rotation=J*L,J&&(U=-P>J||J>P,F=Math.cos(-J),Y=Math.sin(-J),j=j*F+G*Y,I=W*F+Q*Y,Q=W*-Y+Q*F,Z=V*-Y+Z*F,W=I),U&&te?y.rotation=y.rotationX=0:U&&B?y.rotation=y.rotationY=0:B&&te&&(y.rotationY=y.rotationX=0),y.scaleX=(0|Math.sqrt(j*j+W*W)*w+.5)/w,y.scaleY=(0|Math.sqrt(Q*Q+k*k)*w+.5)/w,y.scaleZ=(0|Math.sqrt(Z*Z+A*A)*w+.5)/w,y.skewX=0,y.perspective=K?1/(0>K?-K:K):0,y.x=D,y.y=N,y.z=z}}else if(!(be&&!r&&o.length&&y.x===o[4]&&y.y===o[5]&&(y.rotationX||y.rotationY)||void 0!==y.x&&"none"===H(t,"display",e))){var ee=o.length>=6,ie=ee?o[0]:1,re=o[1]||0,se=o[2]||0,ne=ee?o[3]:1;y.x=o[4]||0,y.y=o[5]||0,f=Math.sqrt(ie*ie+re*re),p=Math.sqrt(ne*ne+se*se),_=ie||re?Math.atan2(re,ie)*L:y.rotation||0,c=se||ne?Math.atan2(se,ne)*L+_:y.skewX||0,d=f-Math.abs(y.scaleX||0),m=p-Math.abs(y.scaleY||0),Math.abs(c)>90&&270>Math.abs(c)&&(x?(f*=-1,c+=0>=_?180:-180,_+=0>=_?180:-180):(p*=-1,c+=0>=c?180:-180)),g=(_-y.rotation)%180,v=(c-y.skewX)%180,(void 0===y.skewX||d>T||-T>d||m>T||-T>m||g>-b&&b>g&&false|g*w||v>-b&&b>v&&false|v*w)&&(y.scaleX=f,y.scaleY=p,y.rotation=_,y.skewX=c),be&&(y.rotationX=y.rotationY=y.z=0,y.perspective=R,y.scaleZ=1)}y.zOrigin=S;for(l in y)T>y[l]&&y[l]>-T&&(y[l]=0)}else y={x:0,y:0,z:0,scaleX:1,scaleY:1,scaleZ:1,skewX:0,skewY:0,perspective:R,rotation:0,rotationX:0,rotationY:0,zOrigin:0};return i&&(t._gsTransform=y),y.svg=Se&&t instanceof Se&&t.parentNode instanceof Se,y.svg&&(Oe(t,H(t,we,s,!1,"50% 50%")+"",y),ve=a.useSVGTransformAttr||ke),y.xPercent=y.yPercent=0,y},De=function(t){var e,i,r=this.data,s=-r.rotation*M,n=s+r.skewX*M,a=1e5,o=(0|Math.cos(s)*r.scaleX*a)/a,l=(0|Math.sin(s)*r.scaleX*a)/a,h=(0|Math.sin(n)*-r.scaleY*a)/a,u=(0|Math.cos(n)*r.scaleY*a)/a,f=this.t.style,p=this.t.currentStyle;
9514if(p){i=l,l=-h,h=-i,e=p.filter,f.filter="";var _,d,m=this.t.offsetWidth,g=this.t.offsetHeight,v="absolute"!==p.position,T="progid:DXImageTransform.Microsoft.Matrix(M11="+o+", M12="+l+", M21="+h+", M22="+u,w=r.x+m*r.xPercent/100,b=r.y+g*r.yPercent/100;if(null!=r.ox&&(_=(r.oxp?.01*m*r.ox:r.ox)-m/2,d=(r.oyp?.01*g*r.oy:r.oy)-g/2,w+=_-(_*o+d*l),b+=d-(_*h+d*u)),v?(_=m/2,d=g/2,T+=", Dx="+(_-(_*o+d*l)+w)+", Dy="+(d-(_*h+d*u)+b)+")"):T+=", sizingMethod='auto expand')",f.filter=-1!==e.indexOf("DXImageTransform.Microsoft.Matrix(")?e.replace(A,T):T+" "+e,(0===t||1===t)&&1===o&&0===l&&0===h&&1===u&&(v&&-1===T.indexOf("Dx=0, Dy=0")||x.test(e)&&100!==parseFloat(RegExp.$1)||-1===e.indexOf("gradient("&&e.indexOf("Alpha"))&&f.removeAttribute("filter")),!v){var P,S,R,C=8>c?1:-1;for(_=r.ieOffsetX||0,d=r.ieOffsetY||0,r.ieOffsetX=Math.round((m-((0>o?-o:o)*m+(0>l?-l:l)*g))/2+w),r.ieOffsetY=Math.round((g-((0>u?-u:u)*g+(0>h?-h:h)*m))/2+b),ce=0;4>ce;ce++)S=J[ce],P=p[S],i=-1!==P.indexOf("px")?parseFloat(P):G(this.t,S,parseFloat(P),P.replace(y,""))||0,R=i!==r[S]?2>ce?-r.ieOffsetX:-r.ieOffsetY:2>ce?_-r.ieOffsetX:d-r.ieOffsetY,f[S]=(r[S]=Math.round(i-R*(0===ce||2===ce?1:C)))+"px"}}},Me=E.set3DTransformRatio=function(t){var e,i,r,s,n,a,o,l,h,u,f,_,c,d,m,g,v,y,x,T,w,b,P,S=this.data,R=this.t.style,C=S.rotation*M,k=S.scaleX,O=S.scaleY,A=S.scaleZ,D=S.x,L=S.y,N=S.z,z=S.perspective;if(!(1!==t&&0!==t||"auto"!==S.force3D||S.rotationY||S.rotationX||1!==A||z||N))return Le.call(this,t),void 0;if(p){var X=1e-4;X>k&&k>-X&&(k=A=2e-5),X>O&&O>-X&&(O=A=2e-5),!z||S.z||S.rotationX||S.rotationY||(z=0)}if(C||S.skewX)y=Math.cos(C),x=Math.sin(C),e=y,n=x,S.skewX&&(C-=S.skewX*M,y=Math.cos(C),x=Math.sin(C),"simple"===S.skewType&&(T=Math.tan(S.skewX*M),T=Math.sqrt(1+T*T),y*=T,x*=T)),i=-x,a=y;else{if(!(S.rotationY||S.rotationX||1!==A||z||S.svg))return R[xe]=(S.xPercent||S.yPercent?"translate("+S.xPercent+"%,"+S.yPercent+"%) translate3d(":"translate3d(")+D+"px,"+L+"px,"+N+"px)"+(1!==k||1!==O?" scale("+k+","+O+")":""),void 0;e=a=1,i=n=0}f=1,r=s=o=l=h=u=_=c=d=0,m=z?-1/z:0,g=S.zOrigin,v=1e5,C=S.rotationY*M,C&&(y=Math.cos(C),x=Math.sin(C),h=f*-x,c=m*-x,r=e*x,o=n*x,f*=y,m*=y,e*=y,n*=y),C=S.rotationX*M,C&&(y=Math.cos(C),x=Math.sin(C),T=i*y+r*x,w=a*y+o*x,b=u*y+f*x,P=d*y+m*x,r=i*-x+r*y,o=a*-x+o*y,f=u*-x+f*y,m=d*-x+m*y,i=T,a=w,u=b,d=P),1!==A&&(r*=A,o*=A,f*=A,m*=A),1!==O&&(i*=O,a*=O,u*=O,d*=O),1!==k&&(e*=k,n*=k,h*=k,c*=k),g&&(_-=g,s=r*_,l=o*_,_=f*_+g),S.svg&&(s+=S.xOrigin-(S.xOrigin*e+S.yOrigin*i),l+=S.yOrigin-(S.xOrigin*n+S.yOrigin*a)),s=(T=(s+=D)-(s|=0))?(0|T*v+(0>T?-.5:.5))/v+s:s,l=(T=(l+=L)-(l|=0))?(0|T*v+(0>T?-.5:.5))/v+l:l,_=(T=(_+=N)-(_|=0))?(0|T*v+(0>T?-.5:.5))/v+_:_,R[xe]=(S.xPercent||S.yPercent?"translate("+S.xPercent+"%,"+S.yPercent+"%) matrix3d(":"matrix3d(")+[(0|e*v)/v,(0|n*v)/v,(0|h*v)/v,(0|c*v)/v,(0|i*v)/v,(0|a*v)/v,(0|u*v)/v,(0|d*v)/v,(0|r*v)/v,(0|o*v)/v,(0|f*v)/v,(0|m*v)/v,s,l,_,z?1+-_/z:1].join(",")+")"},Le=E.set2DTransformRatio=function(t){var e,i,r,s,n,a,o,l,h,u,f,p=this.data,_=this.t,c=_.style,d=p.x,m=p.y;return!(p.rotationX||p.rotationY||p.z||p.force3D===!0||"auto"===p.force3D&&1!==t&&0!==t)||p.svg&&ve||!be?(s=p.scaleX,n=p.scaleY,p.rotation||p.skewX||p.svg?(e=p.rotation*M,i=e-p.skewX*M,r=1e5,a=Math.cos(e)*s,o=Math.sin(e)*s,l=Math.sin(i)*-n,h=Math.cos(i)*n,p.svg&&(d+=p.xOrigin-(p.xOrigin*a+p.yOrigin*l),m+=p.yOrigin-(p.xOrigin*o+p.yOrigin*h),f=1e-6,f>d&&d>-f&&(d=0),f>m&&m>-f&&(m=0)),u=(0|a*r)/r+","+(0|o*r)/r+","+(0|l*r)/r+","+(0|h*r)/r+","+d+","+m+")",p.svg&&ve?_.setAttribute("transform","matrix("+u):c[xe]=(p.xPercent||p.yPercent?"translate("+p.xPercent+"%,"+p.yPercent+"%) matrix(":"matrix(")+u):c[xe]=(p.xPercent||p.yPercent?"translate("+p.xPercent+"%,"+p.yPercent+"%) matrix(":"matrix(")+s+",0,0,"+n+","+d+","+m+")",void 0):(this.setRatio=Me,Me.call(this,t),void 0)};me("transform,scale,scaleX,scaleY,scaleZ,x,y,z,rotation,rotationX,rotationY,rotationZ,skewX,skewY,shortRotation,shortRotationX,shortRotationY,shortRotationZ,transformOrigin,transformPerspective,directionalRotation,parseTransform,force3D,skewType,xPercent,yPercent",{parser:function(t,e,i,r,n,o,l){if(r._transform)return n;var h,u,f,p,_,c,d,m=r._transform=Ae(t,s,!0,l.parseTransform),g=t.style,v=1e-6,y=ye.length,x=l,T={};if("string"==typeof x.transform&&xe)f=X.style,f[xe]=x.transform,f.display="block",f.position="absolute",z.body.appendChild(X),h=Ae(X,null,!1),z.body.removeChild(X);else if("object"==typeof x){if(h={scaleX:re(null!=x.scaleX?x.scaleX:x.scale,m.scaleX),scaleY:re(null!=x.scaleY?x.scaleY:x.scale,m.scaleY),scaleZ:re(x.scaleZ,m.scaleZ),x:re(x.x,m.x),y:re(x.y,m.y),z:re(x.z,m.z),xPercent:re(x.xPercent,m.xPercent),yPercent:re(x.yPercent,m.yPercent),perspective:re(x.transformPerspective,m.perspective)},d=x.directionalRotation,null!=d)if("object"==typeof d)for(f in d)x[f]=d[f];else x.rotation=d;"string"==typeof x.x&&-1!==x.x.indexOf("%")&&(h.x=0,h.xPercent=re(x.x,m.xPercent)),"string"==typeof x.y&&-1!==x.y.indexOf("%")&&(h.y=0,h.yPercent=re(x.y,m.yPercent)),h.rotation=se("rotation"in x?x.rotation:"shortRotation"in x?x.shortRotation+"_short":"rotationZ"in x?x.rotationZ:m.rotation,m.rotation,"rotation",T),be&&(h.rotationX=se("rotationX"in x?x.rotationX:"shortRotationX"in x?x.shortRotationX+"_short":m.rotationX||0,m.rotationX,"rotationX",T),h.rotationY=se("rotationY"
9514in x?x.rotationY:"shortRotationY"in x?x.shortRotationY+"_short":m.rotationY||0,m.rotationY,"rotationY",T)),h.skewX=null==x.skewX?m.skewX:se(x.skewX,m.skewX),h.skewY=null==x.skewY?m.skewY:se(x.skewY,m.skewY),(u=h.skewY-m.skewY)&&(h.skewX+=u,h.rotation+=u)}for(be&&null!=x.force3D&&(m.force3D=x.force3D,c=!0),m.skewType=x.skewType||m.skewType||a.defaultSkewType,_=m.force3D||m.z||m.rotationX||m.rotationY||h.z||h.rotationX||h.rotationY||h.perspective,_||null==x.scale||(h.scaleZ=1);--y>-1;)i=ye[y],p=h[i]-m[i],(p>v||-v>p||null!=x[i]||null!=N[i])&&(c=!0,n=new pe(m,i,m[i],p,n),i in T&&(n.e=T[i]),n.xs0=0,n.plugin=o,r._overwriteProps.push(n.n));return p=x.transformOrigin,p&&m.svg&&(Oe(t,p,h),n=new pe(m,"xOrigin",m.xOrigin,h.xOrigin-m.xOrigin,n,-1,"transformOrigin"),n.b=m.xOrigin,n.e=n.xs0=h.xOrigin,n=new pe(m,"yOrigin",m.yOrigin,h.yOrigin-m.yOrigin,n,-1,"transformOrigin"),n.b=m.yOrigin,n.e=n.xs0=h.yOrigin,p="0px 0px"),(p||be&&_&&m.zOrigin)&&(xe?(c=!0,i=we,p=(p||H(t,i,s,!1,"50% 50%"))+"",n=new pe(g,i,0,0,n,-1,"transformOrigin"),n.b=g[i],n.plugin=o,be?(f=m.zOrigin,p=p.split(" "),m.zOrigin=(p.length>2&&(0===f||"0px"!==p[2])?parseFloat(p[2]):f)||0,n.xs0=n.e=p[0]+" "+(p[1]||"50%")+" 0px",n=new pe(m,"zOrigin",0,0,n,-1,n.n),n.b=f,n.xs0=n.e=m.zOrigin):n.xs0=n.e=p):ee(p+"",m)),c&&(r._transformType=m.svg&&ve||!_&&3!==this._transformType?2:3),n},prefix:!0}),me("boxShadow",{defaultValue:"0px 0px 0px 0px #999",prefix:!0,color:!0,multi:!0,keyword:"inset"}),me("borderRadius",{defaultValue:"0px",parser:function(t,e,i,n,a){e=this.format(e);var o,l,h,u,f,p,_,c,d,m,g,v,y,x,T,w,b=["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],P=t.style;for(d=parseFloat(t.offsetWidth),m=parseFloat(t.offsetHeight),o=e.split(" "),l=0;b.length>l;l++)this.p.indexOf("border")&&(b[l]=V(b[l])),f=u=H(t,b[l],s,!1,"0px"),-1!==f.indexOf(" ")&&(u=f.split(" "),f=u[0],u=u[1]),p=h=o[l],_=parseFloat(f),v=f.substr((_+"").length),y="="===p.charAt(1),y?(c=parseInt(p.charAt(0)+"1",10),p=
vendor: 9,734 bytes, lines 9514-9515
9514p.substr(2),c*=parseFloat(p),g=p.substr((c+"").length-(0>c?1:0))||""):(c=parseFloat(p),g=p.substr((c+"").length)),""===g&&(g=r[i]||v),g!==v&&(x=G(t,"borderLeft",_,v),T=G(t,"borderTop",_,v),"%"===g?(f=100*(x/d)+"%",u=100*(T/m)+"%"):"em"===g?(w=G(t,"borderLeft",1,"em"),f=x/w+"em",u=T/w+"em"):(f=x+"px",u=T+"px"),y&&(p=parseFloat(f)+c+g,h=parseFloat(u)+c+g)),a=_e(P,b[l],f+" "+u,p+" "+h,!1,"0px",a);return a},prefix:!0,formatter:he("0px 0px 0px 0px",!1,!0)}),me("backgroundPosition",{defaultValue:"0 0",parser:function(t,e,i,r,n,a){var o,l,h,u,f,p,_="background-position",d=s||q(t,null),m=this.format((d?c?d.getPropertyValue(_+"-x")+" "+d.getPropertyValue(_+"-y"):d.getPropertyValue(_):t.currentStyle.backgroundPositionX+" "+t.currentStyle.backgroundPositionY)||"0 0"),g=this.format(e);if(-1!==m.indexOf("%")!=(-1!==g.indexOf("%"))&&(p=H(t,"backgroundImage").replace(R,""),p&&"none"!==p)){for(o=m.split(" "),l=g.split(" "),I.setAttribute("src",p),h=2;--h>-1;)m=o[h],u=-1!==m.indexOf("%"),u!==(-1!==l[h].indexOf("%"))&&(f=0===h?t.offsetWidth-I.width:t.offsetHeight-I.height,o[h]=u?parseFloat(m)/100*f+"px":100*(parseFloat(m)/f)+"%");m=o.join(" ")}return this.parseComplex(t.style,m,g,n,a)},formatter:ee}),me("backgroundSize",{defaultValue:"0 0",formatter:ee}),me("perspective",{defaultValue:"0px",prefix:!0}),me("perspectiveOrigin",{defaultValue:"50% 50%",prefix:!0}),me("transformStyle",{prefix:!0}),me("backfaceVisibility",{prefix:!0}),me("userSelect",{prefix:!0}),me("margin",{parser:ue("marginTop,marginRight,marginBottom,marginLeft")}),me("padding",{parser:ue("paddingTop,paddingRight,paddingBottom,paddingLeft")}),me("clip",{defaultValue:"rect(0px,0px,0px,0px)",parser:function(t,e,i,r,n,a){var o,l,h;return 9>c?(l=t.currentStyle,h=8>c?" ":",",o="rect("+l.clipTop+h+l.clipRight+h+l.clipBottom+h+l.clipLeft+")",e=this.format(e).split(",").join(h)):(o=this.format(H(t,this.p,s,!1,this.dflt)),e=this.format(e)),this.parseComplex(t.style,o,e,n,a)}}),me("textShadow",{defaultValue:"0px 0px 0px #999",color:!0,multi:!0}),me("autoRound,strictUnits",{parser:function(t,e,i,r,s){return s}}),me("border",{defaultValue:"0px solid #000",parser:function(t,e,i,r,n,a){return this.parseComplex(t.style,this.format(H(t,"borderTopWidth",s,!1,"0px")+" "+H(t,"borderTopStyle",s,!1,"solid")+" "+H(t,"borderTopColor",s,!1,"#000")),this.format(e),n,a)},color:!0,formatter:function(t){var e=t.split(" ");return e[0]+" "+(e[1]||"solid")+" "+(t.match(le)||["#000"])[0]}}),me("borderWidth",{parser:ue("borderTopWidth,borderRightWidth,borderBottomWidth,borderLeftWidth")}),me("float,cssFloat,styleFloat",{parser:function(t,e,i,r,s){var n=t.style,a="cssFloat"in n?"cssFloat":"styleFloat";return new pe(n,a,0,0,s,-1,i,!1,0,n[a],e)}});var Ne=function(t){var e,i=this.t,r=i.filter||H(this.data,"filter")||"",s=0|this.s+this.c*t;100===s&&(-1===r.indexOf("atrix(")&&-1===r.indexOf("radient(")&&-1===r.indexOf("oader(")?(i.removeAttribute("filter"),e=!H(this.data,"filter")):(i.filter=r.replace(w,""),e=!0)),e||(this.xn1&&(i.filter=r=r||"alpha(opacity="+s+")"),-1===r.indexOf("pacity")?0===s&&this.xn1||(i.filter=r+" alpha(opacity="+s+")"):i.filter=r.replace(x,"opacity="+s))};me("opacity,alpha,autoAlpha",{defaultValue:"1",parser:function(t,e,i,r,n,a){var o=parseFloat(H(t,"opacity",s,!1,"1")),l=t.style,h="autoAlpha"===i;return"string"==typeof e&&"="===e.charAt(1)&&(e=("-"===e.charAt(0)?-1:1)*parseFloat(e.substr(2))+o),h&&1===o&&"hidden"===H(t,"visibility",s)&&0!==e&&(o=0),Y?n=new pe(l,"opacity",o,e-o,n):(n=new pe(l,"opacity",100*o,100*(e-o),n),n.xn1=h?1:0,l.zoom=1,n.type=2,n.b="alpha(opacity="+n.s+")",n.e="alpha(opacity="+(n.s+n.c)+")",n.data=t,n.plugin=a,n.setRatio=Ne),h&&(n=new pe(l,"visibility",0,0,n,-1,null,!1,0,0!==o?"inherit":"hidden",0===e?"hidden":"inherit"),n.xs0="inherit",r._overwriteProps.push(n.n),r._overwriteProps.push(i)),n}});var ze=function(t,e){e&&(t.removeProperty?("ms"===e.substr(0,2)&&(e="M"+e.substr(1)),t.removeProperty(e.replace(P,"-$1").toLowerCase())):t.removeAttribute(e))},Xe=function(t){if(this.t._gsClassPT=this,1===t||0===t){this.t.setAttribute("class",0===t?this.b:this.e);for(var e=this.data,i=this.t.style;e;)e.v?i[e.p]=e.v:ze(i,e.p),e=e._next;1===t&&this.t._gsClassPT===this&&(this.t._gsClassPT=null)}else this.t.getAttribute("class")!==this.e&&this.t.setAttribute("class",this.e)};me("className",{parser:function(t,e,r,n,a,o,l){var h,u,f,p,_,c=t.getAttribute("class")||"",d=t.style.cssText;if(a=n._classNamePT=new pe(t,r,0,0,a,2),a.setRatio=Xe,a.pr=-11,i=!0,a.b=c,u=Z(t,s),f=t._gsClassPT){for(p={},_=f.data;_;)p[_.p]=1,_=_._next;f.setRatio(1)}return t._gsClassPT=a,a.e="="!==e.charAt(1)?e:c.replace(RegExp("\\s*\\b"+e.substr(2)+"\\b"),"")+("+"===e.charAt(0)?" "+e.substr(2):""),n._tween._duration&&(t.setAttribute("class",a.e),h=$(t,u,Z(t),l,p),t.setAttribute("class",c),a.data=h.firstMPT,t.style.cssText=d,a=a.xfirst=n.parse(t,h.difs,a,o)),a}});var Ie=function(t){if((1===t||0===t)&&this.data._totalTime===this.data._totalDuration&&"isFromStart"!==this.data.data){var e,i,r,s,n=this.t.style,a=o.transform.parse;if("all"===this.e)n.cssText="",s=!0;else for(e=this.e.split(" ").join("").split(","),r=e.length;--r>-1;)i=e[r],o[i]&&(o[i].parse===a?s=!0:i="transformOrigin"===i?we:o[i].p),ze(n,i);s&&(ze(n,xe),this.t._gsTransform&&delete this.t._gsTransform)}};for(me("clearProps",{parser:function(t,e,r,s,n){return n=new pe(t,r,0,0,n,2),n.setRatio=Ie,n.e=e,n.pr=-10,n.data=s._tween,i=!0,n}}),l="bezier,throwProps,physicsProps,physics2D".split(","),ce=l.length;ce--;)ge(l[ce]);l=a.prototype,l._firstPT=null,l._onInitTween=function(t,e,o){if(!t.nodeType)return!1;this._target=t,this._tween=o,this._vars=e,h=e.autoRound,i=!1,r=e.suffixMap||a.suffixMap,s=q(t,""),n=this._overwriteProps;var l,p,c,d,m,g,v,y,x,w=t.style;if(u&&""===w.zIndex&&(l=H(t,"zIndex",s),("auto"===l||""===l)&&this._addLazySet(w,"zIndex",0)),"string"==typeof e&&(d=w.cssText,l=Z(t,s),w.cssText=d+";"+e,l=$(t,l,Z(t)).difs,!Y&&T.test(e)&&(l.opacity=parseFloat(RegExp.$1)),e=l,w.cssText=d),this._firstPT=p=this.parse(t,e,null),this._transformType){for(x=3===this._transformType,xe?f&&(u=!0,""===w.zIndex&&(v=H(t,"zIndex",s),("auto"===v||""===v)&&this._addLazySet(w,"zIndex",0)),_&&this._addLazySet(w,"WebkitBackfaceVisibility",this._vars.WebkitBackfaceVisibility||(x?"visible":"hidden"))):w.zoom=1,c=p;c&&c._next;)c=c._next;y=new pe(t,"transform",0,0,null,2),this._linkCSSP(y,null,c),y.setRatio=x&&be?Me:xe?Le:De,y.data=this._transform||Ae(t,s,!0),n.pop()}if(i){for(;p;){for(g=p._next,c=d;c&&c.pr>p.pr;)c=c._next;(p._prev=c?c._prev:m)?p._prev._next=p:d=p,(p._next=c)?c._prev=p:m=p,p=g}this._firstPT=d}return!0},l.parse=function(t,e,i,n){var a,l,u,f,p,_,c,d,m,g,v=t.style;for(a in e)_=e[a],l=o[a],l?i=l.parse(t,_,a,this,i,n,e):(p=H(t,a,s)+"",m="string"==typeof _,"color"===a||"fill"===a||"stroke"===a||-1!==a.indexOf("Color")||m&&b.test(_)?(m||(_=oe(_),_=(_.length>3?"rgba(":"rgb(")+_.join(",")+")"),i=_e(v,a,p,_,!0,"transparent",i,0,n)):!m||-1===_.indexOf(" ")&&-1===_.indexOf(",")?(u=parseFloat(p),c=u||0===u?p.substr((u+"").length):"",(""===p||"auto"===p)&&("width"===a||"height"===a?(u=te(t,a,s),c="px"):"left"===a||"top"===a?(u=Q(t,a,s),c="px"):(u="opacity"!==a?0:1,c="")),g=m&&"="===_.charAt(1),g?(f=parseInt(_.charAt(0)+"1",10),_=_.substr(2),f*=parseFloat(_),d=_.replace(y,"")):(f=parseFloat(_),d=m?_.substr((f+"").length)||"":""),""===d&&(d=a in r?r[a]:c),_=f||0===f?(g?f+u:f)+d:e[a],c!==d&&""!==d&&(f||0===f)&&u&&(u=G(t,a,u,c),"%"===d?(u/=G(t,a,100,"%")/100,e.strictUnits!==!0&&(p=u+"%")):"em"===d?u/=G(t,a,1,"em"):"px"!==d&&(f=G(t,a,f,d),d="px"),g&&(f||0===f)&&(_=f+u+d)),g&&(f+=u),!u&&0!==u||!f&&0!==f?void 0!==v[a]&&(_||"NaN"!=_+""&&null!=_)?(i=new pe(v,a,f||u||0,0,i,-1,a,!1,0,p,_),i.xs0="none"!==_||"display"!==a&&-1===a.indexOf("Style")?_:p):U("invalid "+a+" tween value: "+e[a]):(i=new pe(v,a,u,f-u,i,0,a,h!==!1&&("px"===d||"zIndex"===a),0,p,_),i.xs0=d)):i=_e(v,a,p,_,!0,null,i,0,n)),n&&i&&!i.plugin&&(i.plugin=n);
9515return i},l.setRatio=function(t){var e,i,r,s=this._firstPT,n=1e-6;if(1!==t||this._tween._time!==this._tween._duration&&0!==this._tween._time)if(t||this._tween._time!==this._tween._duration&&0!==this._tween._time||this._tween._rawPrevTime===-1e-6)for(;s;){if(e=s.c*t+s.s,s.r?e=Math.round(e):n>e&&e>-n&&(e=0),s.type)if(1===s.type)if(r=s.l,2===r)s.t[s.p]=s.xs0+e+s.xs1+s.xn1+s.xs2;else if(3===r)s.t[s.p]=s.xs0+e+s.xs1+s.xn1+s.xs2+s.xn2+s.xs3;else if(4===r)s.t[s.p]=s.xs0+e+s.xs1+s.xn1+s.xs2+s.xn2+s.xs3+s.xn3+s.xs4;else if(5===r)s.t[s.p]=s.xs0+e+s.xs1+s.xn1+s.xs2+s.xn2+s.xs3+s.xn3+s.xs4+s.xn4+s.xs5;else{for(i=s.xs0+e+s.xs1,r=1;s.l>r;r++)i+=s["xn"+r]+s["xs"+(r+1)];s.t[s.p]=i}else-1===s.type?s.t[s.p]=s.xs0:s.setRatio&&s.setRatio(t);else s.t[s.p]=e+s.xs0;s=s._next}else for(;s;)2!==s.type?s.t[s.p]=s.b:s.setRatio(t),s=s._next;else for(;s;)2!==s.type?s.t[s.p]=s.e:s.setRatio(t),s=s._next},l._enableTransforms=function(t){this._transform=this._transform||Ae(this._target,s,!0),this._transformType=this._transform.svg&&ve||!t&&3!==this._transformType?2:3};var Ee=function(){this.t[this.p]=this.e,this.data._linkCSSP(this,this._next,null,!0)};l._addLazySet=function(t,e,i){var r=this._firstPT=new pe(t,e,0,0,this._firstPT,2);r.e=i,r.setRatio=Ee,r.data=this},l._linkCSSP=function(t,e,i,r){return t&&(e&&(e._prev=t),t._next&&(t._next._prev=t._prev),t._prev?t._prev._next=t._next:this._firstPT===t&&(this._firstPT=t._next,r=!0),i?i._next=t:r||null!==this._firstPT||(this._firstPT=t),t._next=e,t._prev=i),t},l._kill=function(e){var i,r,s,n=e;if(e.autoAlpha||e.alpha){n={};for(r in e)n[r]=e[r];n.opacity=1,n.autoAlpha&&(n.visibility=1)}return e.className&&(i=this._classNamePT)&&(s=i.xfirst,s&&s._prev?this._linkCSSP(s._prev,i._next,s._prev._prev):s===this._firstPT&&(this._firstPT=i._next),i._next&&this._linkCSSP(i._next,i._next._next,
9515s._prev),this._classNamePT=null),t.prototype._kill.call(this,n)};var Fe=function(t,e,i){var r,s,n,a;if(t.slice)for(s=t.length;--s>-1;)Fe(t[s],e,i);else for(r=t.childNodes,s=r.length;--s>-1;)n=r[s],a=n.type,n.style&&(e.push(Z(n)),i&&i.push(n)),1!==a&&9!==a&&11!==a||!n.childNodes.length||Fe(n,e,i)};return a.cascadeTo=function(t,i,r){var s,n,a,o=e.to(t,i,r),l=[o],h=[],u=[],f=[],p=e._internals.reservedProps;for(t=o._targets||o.target,Fe(t,h,f),o.render(i,!0),Fe(t,u),o.render(0,!0),o._enabled(!0),s=f.length;--s>-1;)if(n=$(f[s],h[s],u[s]),n.firstMPT){n=n.difs;for(a in r)p[a]&&(n[a]=r[a]);l.push(e.to(f[s],i,n))}return l},t.activate([a]),a},!0)}),_gsScope._gsDefine&&_gsScope._gsQueue.pop()(),function(t){"use strict";var e=function(){return(_gsScope.GreenSockGlobals||_gsScope)[t]};"function"==typeof define&&define.amd?define(["TweenLite"],e):"undefined"!=typeof module&&module.exports&&(require("../TweenLite.js"),module.exports=e())}("CSSPlugin");
9516var _gsScope="undefined"!=typeof module&&module.exports&&"undefined"!=typeof global?global:this||window;(function(t){"use strict";var e=t.GreenSockGlobals||t,i=function(t){var i,s=t.split("."),r=e;for(i=0;s.length>i;i++)r[s[i]]=r=r[s[i]]||{};return r},s=i("com.greensock.utils"),r=function(t){var e=t.nodeType,i="";if(1===e||9===e||11===e){if("string"==typeof t.textContent)return t.textContent;for(t=t.firstChild;t;t=t.nextSibling)i+=r(t)}else if(3===e||4===e)return t.nodeValue;return i},n=document,a=n.defaultView?n.defaultView.getComputedStyle:function(){},o=/([A-Z])/g,h=function(t,e,i,s){var r;return(i=i||a(t,null))?(t=i.getPropertyValue(e.replace(o,"-$1").toLowerCase()),r=t||i.length?t:i[e]):t.currentStyle&&(i=t.currentStyle,r=i[e]),s?r:parseInt(r,10)||0},l=function(t){return t.length&&t[0]&&(t[0].nodeType&&t[0].style&&!t.nodeType||t[0].length&&t[0][0])?!0:!1},_=function(t){var e,i,s,r=[],n=t.length;for(e=0;n>e;e++)if(i=t[e],l(i))for(s=i.length,s=0;i.length>s;s++)r.push(i[s]);else r.push(i);return r},u=")eefec303079ad17405c",c=/(?:<br>|<br\/>|<br \/>)/gi,p=n.all&&!n.addEventListener,f="<div style='position:relative;display:inline-block;"+(p?"*display:inline;*zoom:1;'":"'"),m=function(t){t=t||"";var e=-1!==t.indexOf("++"),i=1;return e&&(t=t.split("++").join("")),function(){return f+(t?" class='"+t+(e?i++:"")+"'>":">")}},d=s.SplitText=e.SplitText=function(t,e){if("string"==typeof t&&(t=d.selector(t)),!t)throw"cannot split a null element.";this.elements=l(t)?_(t):[t],this.chars=[],this.words=[],this.lines=[],this._originals=[],this.vars=e||{},this.split(e)},g=function(t,e,i){var s=t.nodeType;if(1===s||9===s||11===s)for(t=t.firstChild;t;t=t.nextSibling)g(t,e,i);else(3===s||4===s)&&(t.nodeValue=t.nodeValue.split(e).join(i))},v=function(t,e){for(var i=e.length;--i>-1;)t.push(e[i])},y=function(t,e,i,s,o){c.test(t.innerHTML)&&(t.innerHTML=t.innerHTML.replace(c,u));var l,_,p,f,d,y,T,w,b,x,P,S,C,k,R=r(t),A=e.type||e.split||"chars,words,lines",O=-1!==A.indexOf("lines")?[]:null,D=-1!==A.indexOf("words"),M=-1!==A.indexOf("chars"),L="absolute"===e.position||e.absolute===!0,z=L?"&#173; ":" ",I=-999,E=a(t),N=h(t,"paddingLeft",E),F=h(t,"borderBottomWidth",E)+h(t,"borderTopWidth",E),X=h(t,"borderLeftWidth",E)+h(t,"borderRightWidth",E),U=h(t,"paddingTop",E)+h(t,"paddingBottom",E),B=h(t,"paddingLeft",E)+h(t,"paddingRight",E),j=h(t,"textAlign",E,!0),Y=t.clientHeight,q=t.clientWidth,G="</div>",V=m(e.wordsClass),Q=m(e.charsClass),W=-1!==(e.linesClass||"").indexOf("++"),H=e.linesClass,Z=-1!==R.indexOf("<"),$=!0,K=[],J=[],te=[];for(W&&(H=H.split("++").join("")),Z&&(R=R.split("<").join("")),l=R.length,f=V(),d=0;l>d;d++)if(T=R.charAt(d),")"===T&&R.substr(d,20)===u)f+=($?G:"")+"<BR/>",$=!1,d!==l-20&&R.substr(d+20,20)!==u&&(f+=" "+V(),$=!0),d+=19;else if(" "===T&&" "!==R.charAt(d-1)&&d!==l-1&&R.substr(d-20,20)!==u){for(f+=$?G:"",$=!1;" "===R.charAt(d+1);)f+=z,d++;(")"!==R.charAt(d+1)||R.substr(d+1,20)!==u)&&(f+=z+V(),$=!0)}else f+=M&&" "!==T?Q()+T+"</div>":T;for(t.innerHTML=f+($?G:""),Z&&g(t,"","<"),y=t.getElementsByTagName("*"),l=y.length,w=[],d=0;l>d;d++)w[d]=y[d];if(O||L)for(d=0;l>d;d++)b=w[d],p=b.parentNode===t,(p||L||M&&!D)&&(x=b.offsetTop,O&&p&&x!==I&&"BR"!==b.nodeName&&(_=[],O.push(_),I=x),L&&(b._x=b.offsetLeft,b._y=x,b._w=b.offsetWidth,b._h=b.offsetHeight),O&&(D!==p&&M||(_.push(b),b._x-=N),p&&d&&(w[d-1]._wordEnd=!0),"BR"===b.nodeName&&b.nextSibling&&"BR"===b.nextSibling.nodeName&&O.push([])));for(d=0;l>d;d++)b=w[d],p=b.parentNode===t,"BR"!==b.nodeName?(L&&(S=b.style,D||p||(b._x+=b.parentNode._x,b._y+=b.parentNode._y),S.left=b._x+"px",S.top=b._y+"px",S.position="absolute",
vendor: 4,096 bytes, lines 9516-9536
9516S.display="block",S.width=b._w+1+"px",S.height=b._h+"px"),D?p&&""!==b.innerHTML?J.push(b):M&&K.push(b):p?(t.removeChild(b),w.splice(d--,1),l--):!p&&M&&(x=!O&&!L&&b.nextSibling,t.appendChild(b),x||t.appendChild(n.createTextNode(" ")),K.push(b))):O||L?(t.removeChild(b),w.splice(d--,1),l--):D||t.appendChild(b);if(O){for(L&&(P=n.createElement("div"),t.appendChild(P),C=P.offsetWidth+"px",x=P.offsetParent===t?0:t.offsetLeft,t.removeChild(P)),S=t.style.cssText,t.style.cssText="display:none;";t.firstChild;)t.removeChild(t.firstChild);for(k=!L||!D&&!M,d=0;O.length>d;d++){for(_=O[d],P=n.createElement("div"),P.style.cssText="display:block;text-align:"+j+";position:"+(L?"absolute;":"relative;"),H&&(P.className=H+(W?d+1:"")),te.push(P),l=_.length,y=0;l>y;y++)"BR"!==_[y].nodeName&&(b=_[y],P.appendChild(b),k&&(b._wordEnd||D)&&P.appendChild(n.createTextNode(" ")),L&&(0===y&&(P.style.top=b._y+"px",P.style.left=N+x+"px"),b.style.top="0px",x&&(b.style.left=b._x-x+"px")));0===l&&(P.innerHTML="&nbsp;"),D||M||(P.innerHTML=r(P).split(String.fromCharCode(160)).join(" ")),L&&(P.style.width=C,P.style.height=b._h+"px"),t.appendChild(P)}t.style.cssText=S}L&&(Y>t.clientHeight&&(t.style.height=Y-U+"px",Y>t.clientHeight&&(t.style.height=Y+F+"px")),q>t.clientWidth&&(t.style.width=q-B+"px",q>t.clientWidth&&(t.style.width=q+X+"px"))),v(i,K),v(s,J),v(o,te)},T=d.prototype;T.split=function(t){this.isSplit&&this.revert(),this.vars=t||this.vars,this._originals.length=this.chars.length=this.words.length=this.lines.length=0;for(var e=this.elements.length;--e>-1;)this._originals[e]=this.elements[e].innerHTML,y(this.elements[e],this.vars,this.chars,this.words,this.lines);return this.chars.reverse(),this.words.reverse(),this.lines.reverse(),this.isSplit=!0,this},T.revert=function(){if(!this._originals)throw"revert() call wasn't scoped properly.";for(var t=this._originals.length;--t>-1;)this.elements[t].innerHTML=this._originals[t];return this.chars=[],this.words=[],this.lines=[],this.isSplit=!1,this},d.selector=t.$||t.jQuery||function(e){var i=t.$||t.jQuery;return i?(d.selector=i,i(e)):"undefined"==typeof document?e:document.querySelectorAll?document.querySelectorAll(e):document.getElementById("#"===e.charAt(0)?e.substr(1):e)},d.version="0.3.3"})(_gsScope),function(t){"use strict";var e=function(){return(_gsScope.GreenSockGlobals||_gsScope)[t]};"function"==typeof define&&define.amd?define(["TweenLite"],e):"undefined"!=typeof module&&module.exports&&(module.exports=e())}("SplitText");
9517try{
9518	window.GreenSockGlobals = null;
9519	window._gsQueue = null;
9520	window._gsDefine = null;
9521	delete(window.GreenSockGlobals);
9522	delete(window._gsQueue);
9523	delete(window._gsDefine);
9524   } catch(e) {}
9525try{
9526	window.GreenSockGlobals = oldgs;
9527	window._gsQueue = oldgs_queue;
9528	} catch(e) {}
9529if (window.tplogs==true)
9530	try {
9531		console.groupEnd();
9532	} catch(e) {}
9533(function(e,t){
9534		e.waitForImages={hasImageProperties:["backgroundImage","listStyleImage","borderImage","borderCornerImage"]};e.expr[":"].uncached=function(t){var n=document.createElement("img");n.src=t.src;return e(t).is('img[src!=""]')&&!n.complete};e.fn.waitForImages=function(t,n,r){if(e.isPlainObject(arguments[0])){n=t.each;r=t.waitForAll;t=t.finished}t=t||e.noop;n=n||e.noop;r=!!r;if(!e.isFunction(t)||!e.isFunction(n)){throw new TypeError("An invalid callback was supplied.")}return this.each(function(){var i=e(this),s=[];if(r){var o=e.waitForImages.hasImageProperties||[],u=/url\((['"]?)(.*?)\1\)/g;i.find("*").each(function(){var t=e(this);if(t.is("img:uncached")){s.push({src:t.attr("src"),element:t[0]})}e.each(o,function(e,n){var r=t.css(n);if(!r){return true}var i;while(i=u.exec(r)){s.push({src:i[2],element:t[0]})}})})}else{i.find("img:uncached").each(function(){s.push({src:this.src,element:this})})}var f=s.length,l=0;if(f==0){t.call(i[0])}e.each(s,function(r,s){var o=new Image;e(o).bind("load error",function(e){l++;n.call(s.element,l,f,e.type=="load");if(l==f){t.call(i[0]);return false}});o.src=s.src})})};
9535})(jQuery)
9536function revslider_showDoubleJqueryError(a){var b="Revolution Slider Error: You have some jquery.js library include that c
9536omes after the revolution files js include.";b+="<br> This includes make eliminates the revolution slider libraries, and make it not work.",b+="<br><br> To fix it you can:<br>&nbsp;&nbsp;&nbsp; 1. In the Slider Settings -> Troubleshooting set option:  <strong><b>Put JS Includes To Body</b></strong> option to true.",b+="<br>&nbsp;&nbsp;&nbsp; 2. Find the double jquery.js include and remove it.",b="<span style='font-size:16px;color:#BC0C06;'>"+b+"</span>",jQuery(a).show().html(b)}!function(a,b){function c(){var a=!1;return navigator.userAgent.match(/iPhone/i)||navigator.userAgent.match(/iPod/i)||navigator.userAgent.match(/iPad/i)?navigator.userAgent.match(/OS 4_\d like Mac OS X/i)&&(a=!0):a=!1,a}function d(d,e){if(d==b)return!1;if(d.data("aimg")!=b&&("enabled"==d.data("aie8")&&i(8)||"enabled"==d.data("amobile")&&W())&&d.html('<img class="tp-slider-alternative-image" src="'+d.data("aimg")+'">'),"preview1"!=e.navigationStyle&&"preview3"!=e.navigationStyle&&"preview4"!=e.navigationStyle||(e.soloArrowLeftHalign="left",e.soloArrowLeftValign="center",e.soloArrowLeftHOffset=0,e.soloArrowLeftVOffset=0,e.soloArrowRightHalign="right",e.soloArrowRightValign="center",e.soloArrowRightHOffset=0,e.soloArrowRightVOffset=0,e.navigationArrows="solo"),"on"==e.simplifyAll&&(i(8)||c())&&(d.find(".tp-caption").each(function(){var b=a(this);b.removeClass("customin").removeClass("customout").addClass("fadein").addClass("fadeout"),b.data("splitin",""),b.data("speed",400)}),d.find(">ul>li").each(function(){var b=a(this);b.data("transition","fade"),b.data("masterspeed",500),b.data("slotamount",1);var c=b.find(">img").first();c.data("kenburns","off")})),e.desktop=!navigator.userAgent.match(/(iPhone|iPod|iPad|Android|BlackBerry|BB10|mobi|tablet|opera mini|nexus 7)/i),"on"!=e.fullWidth&&"on"!=e.fullScreen&&(e.autoHeight="off"),"on"==e.fullScreen&&(e.autoHeight="on"),"on"!=e.fullWidth&&"on"!=e.fullScreen&&(forceFulWidth="off"),"on"==e.fullWidth&&"off"==e.autoHeight&&d.css({maxHeight:e.startheight+"px"}),W()&&"on"==e.hideThumbsOnMobile&&"thumb"==e.navigationType&&(e.navigationType="none"),W()&&"on"==e.hideBulletsOnMobile&&"bullet"==e.navigationType&&(e.navigationType="none"),W()&&"on"==e.hideBulletsOnMobile&&"both"==e.navigationType&&(e.navigationType="none"),W()&&"on"==e.hideArrowsOnMobile&&(e.navigationArrows="none"),"on"==e.forceFullWidth&&0==d.closest(".forcefullwidth_wrapper_tp_banner").length){var j=d.parent().offset().left,p=d.parent().css("marginBottom"),q=d.parent().css("marginTop");p==b&&(p=0),q==b&&(q=0),d.parent().wrap('<div style="position:relative;width:100%;height:auto;margin-top:'+q+";margin-bottom:"+p+'" class="forcefullwidth_wrapper_tp_banner"></div>'),d.closest(".forcefullwidth_wrapper_tp_banner").append('<div class="tp-fullwidth-forcer" style="width:100%;height:'+d.height()+'px"></div>'),d.css({backgroundColor:d.parent().css("backgroundColor"),backgroundImage:d.parent().css("backgroundImage")}),d.parent().css({left:0-j+"px",position:"absolute",width:a(window).width()}),e.width=a(window).width()}try{e.hideThumbsUnderResolution>a(window).width()&&0!=e.hideThumbsUnderResolution?d.parent().find(".tp-bullets.tp-thumbs").css({display:"none"}):d.parent().find(".tp-bullets.tp-thumbs").css({display:"block"})}catch(a){}if(!d.hasClass("revslider-initialised")){d.addClass("revslider-initialised"),d.attr("id")==b&&d.attr("id","revslider-"+Math.round(1e3*Math.random()+5)),e.firefox13=!1,e.ie=!a.support.opacity,e.ie9=9==document.documentMode,e.origcd=e.delay;var r=a.fn.jquery.split("."),t=parseFloat(r[0]),u=parseFloat(r[1]);parseFloat(r[2]||"0");1==t&&u<7&&d.html('<div style="text-align:center; padding:40px 0px; font-size:20px; color:#992222;"> The Current Version of jQuery:'+r+" <br>Please update your jQuery Version to min. 1.7 in Case you wish to use the Revolution Slider Plugin</div>"),t>1&&(e.ie=!1),a.support.transition||(a.fn.transition=a.fn.animate),d.find(".caption").each(function(){a(this).addClass("tp-caption")}
9536),W()&&(!navigator.userAgent.split("ipad").length>1||!navigator.userAgent.split("iPad").length>1)&&d.find(".tp-caption").each(function(){var b=a(this);1!=b.data("autoplayonlyfirsttime")&&"true"!=b.data("autoplayonlyfirsttime")||b.data("autoplayonlyfirsttime","false"),1!=b.data("autoplay")&&"true"!=b.data("autoplay")||b.data("autoplay",!1)});var w=0,x=0,A="http";if("https:"===location.protocol&&(A="https"),d.find(".tp-caption").each(function(c){try{if((a(this).data("ytid")!=b||a(this).find("iframe").attr("src").toLowerCase().indexOf("youtube")>0)&&0==w){w=1;var d=document.createElement("script"),e="https";d.src=e+"://www.youtube.com/iframe_api";var f=document.getElementsByTagName("script")[0],g=!0;a("head").find("*").each(function(){a(this).attr("src")==e+"://www.youtube.com/iframe_api"&&(g=!1)}),g&&f.parentNode.insertBefore(d,f)}}catch(a){}try{if((a(this).data("vimeoid")!=b||a(this).find("iframe").attr("src").toLowerCase().indexOf("vimeo")>0)&&0==x){x=1;var h=document.createElement("script");h.src=A+"://a.vimeocdn.com/js/froogaloop2.min.js";var f=document.getElementsByTagName("script")[0],g=!0;a("head").find("*").each(function(){a(this).attr("src")==A+"://a.vimeocdn.com/js/froogaloop2.min.js"&&(g=!1)}),g&&f.parentNode.insertBefore(h,f)}}catch(a){}try{a(this).data("videomp4")!=b||a(this).data("videowebm")!=b}catch(a){}}),d.find(".tp-caption video").each(function(b){a(this).removeClass("video-js").removeClass("vjs-default-skin"),a(this).attr("preload",""),a(this).css({display:"none"})}),d.find(">ul:first-child >li").each(function(){var b=a(this);b.data("origindex",b.index())}),"on"==e.shuffle){var B=new Object,C=d.find(">ul:first-child >li:first-child");B.fstransition=C.data("fstransition"),B.fsmasterspeed=C.data("fsmasterspeed"),B.fsslotamount=C.data("fsslotamount");for(var D=0;D<d.find(">ul:first-child >li").length;D++){var E=Math.round(Math.random()*d.find(">ul:first-child >li").length);d.find(">ul:first-child >li:eq("+E+")").prependTo(d.find(">ul:first-child"))}var F=d.find(">ul:first-child >li:first-child");F.data("fstransition",B.fstransition),F.data("fsmasterspeed",B.fsmasterspeed),F.data("fsslotamount",B.fsslotamount)}e.slots=4,e.act=-1,e.next=0,e.startWithSlide!=b&&(e.next=e.startWithSlide);var G=g("#")[0];if(G.length<9&&G.split("slide").length>1){var H=parseInt(G.split("slide")[1],0);H<1&&(H=1),H>d.find(">ul:first >li").length&&(H=d.find(">ul:first >li").length),e.next=H-1}e.firststart=1,e.navigationHOffset==b&&(e.navOffsetHorizontal=0),e.navigationVOffset==b&&(e.navOffsetVertical=0),d.append('<div class="tp-loader '+e.spinner+'"><div class="dot1"></div><div class="dot2"></div><div class="bounce1"></div><div class="bounce2"></div><div class="bounce3"></div></div>'),0==d.find(".tp-bannertimer").length&&d.append('<div class="tp-bannertimer" style="visibility:hidden"></div>');var I=d.find(".tp-bannertimer");if(I.length>0&&I.css({width:"0%"}),d.addClass("tp-simpleresponsive"),e.container=d,e.slideamount=d.find(">ul:first >li").length,0==d.height()&&d.height(e.startheight),e.startwidth!=b&&0!=e.startwidth||(e.startwidth=d.width()),e.startheight!=b&&0!=e.startheight||(e.startheight=d.height()),e.width=d.width(),e.height=d.height(),e.bw=e.startwidth/d.width(),e.bh=e.startheight/d.height(),e.width!=e.startwidth&&(e.height=Math.round(e.startheight*(e.width/e.startwidth)),d.height(e.height)),0!=e.shadow){d.parent().append('<div class="tp-bannershadow tp-shadow'+e.shadow+'"></div>');var j=0;"on"==e.forceFullWidth&&(j=0-e.container.parent().offset().left),d.parent().find(".tp-bannershadow").css({width:e.width,left:j})}d.find("ul").css({display:"none"});d.find("ul").css({display:"block"}),s(d,e),"off"!=e.parallax&&aa(d,e),e.slideamount>1&&k(d,e),e.slideamount>1&&"thumb"==e.navigationType&&ca(d,e),e.slideamount>1&&l(d,e),"on"==e.keyboardNavigation&&m(d,e),n(d,e),e.hideThumbs>0&&o(d,e),setTimeout(function(){z(d,e)},e.startDelay),e.startDelay=0,e.slideamount>1&&V(d,e),setTimeout(function(){d.trigger("revolution.slide.onloaded")},500),a("body").data("rs-fullScreenMode",!1),a(window).on("mozfullscreenchange webkitfullscreenchange fullscreenchange",function(){a("body").data("rs-fullScreenMode",!a("body").data("rs-fullScreenMode")),a("body").data("rs-fullScreenMode")&&setTimeout(function(){a(window).trigger("resize")},200)});var K="resize.revslider-"+d.attr("id");a(window).on(K,function(){if(d==b)return!1;if(0!=a("body").find(d)&&"on"==e.forceFullWidth){var c=e.container.closest(".forcefullwidth_wrapper_tp_banner").offset().left;e.container.parent().css({left:0-c+"px",width:a(window).width()})}(d.outerWidth(!0)!=e.width||d.is(":hidden"))&&h(d,e)});try{0!=e.hideThumbsUnderResoluition&&"thumb"==e.navigationType&&(e.hideThumbsUnderResoluition>
9536a(window).width()?a(".tp-bullets").css({display:"none"}):a(".tp-bullets").css({display:"block"}))}catch(a){}d.find(".tp-scrollbelowslider").on("click",function(){var b=0;try{b=a("body").find(e.fullScreenOffsetContainer).height()}catch(a){}try{b-=parseInt(a(this).data("scrolloffset"),0)}catch(a){}a("body,html").animate({scrollTop:d.offset().top+d.find(">ul >li").height()-b+"px"},{duration:400})});var L=d.parent();a(window).width()<e.hideSliderAtLimit&&(d.trigger("stoptimer"),"none"!=L.css("display")&&L.data("olddisplay",L.css("display")),L.css({display:"none"})),f(d,e)}}a.fn.extend({revolution:function(c){var e={delay:9e3,startheight:500,startwidth:960,fullScreenAlignForce:"off",autoHeight:"off",hideTimerBar:"off",hideThumbs:200,hideNavDelayOnMobile:1500,thumbWidth:100,thumbHeight:50,thumbAmount:3,navigationType:"bullet",navigationArrows:"solo",navigationInGrid:"off",hideThumbsOnMobile:"off",hideBulletsOnMobile:"off",hideArrowsOnMobile:"off",hideThumbsUnderResoluition:0,navigationStyle:"round",navigationHAlign:"center",navigationVAlign:"bottom",navigationHOffset:0,navigationVOffset:20,soloArrowLeftHalign:"left",soloArrowLeftValign:"center",soloArrowLeftHOffset:20,soloArrowLeftVOffset:0,soloArrowRightHalign:"right",soloArrowRightValign:"center",soloArrowRightHOffset:20,soloArrowRightVOffset:0,keyboardNavigation:"on",touchenabled:"on",onHoverStop:"on",stopAtSlide:-1,stopAfterLoops:-1,hideCaptionAtLimit:0,hideAllCaptionAtLimit:0,hideSliderAtLimit:0,shadow:0,fullWidth:"off",fullScreen:"off",minFullScreenHeight:0,fullScreenOffsetContainer:"",fullScreenOffset:"0",dottedOverlay:"none",forceFullWidth:"off",spinner:"spinner0",swipe_treshold:75,swipe_min_touches:1,drag_block_vertical:!1,isJoomla:!1,parallax:"off",parallaxLevels:[10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85],parallaxBgFreeze:"off",parallaxOpacity:"on",parallaxDisableOnMobile:"off",panZoomDisableOnMobile:"off",simplifyAll:"on",minHeight:0,nextSlideOnWindowFocus:"off",startDelay:0};return c=a.extend({},e,c),this.each(function(){if(1==window.tplogs)try{console.groupCollapsed("Slider Revolution 4.6.3 Initialisation on "+a(this).attr("id")),console.groupCollapsed("Used Options:"),console.info(c),console.groupEnd(),console.groupCollapsed("Tween Engine:")}catch(a){}if(punchgs.TweenLite==b){if(1==window.tplogs)try{console.error("GreenSock Engine Does not Exist!")}catch(a){}return!1}if(punchgs.force3D=!0,1==window.tplogs)try{console.info("GreenSock Engine Version in Slider Revolution:"+punchgs.TweenLite.version)}catch(a){}if("on"==c.simplifyAll||(punchgs.TweenLite.lagSmoothing(1e3,16),punchgs.force3D="true"),1==window.tplogs)try{console.groupEnd(),console.groupEnd()}catch(a){}d(a(this),c)})},revscroll:function(c){return this.each(function(){var d=a(this);d!=b&&d.length>0&&a("body").find("#"+d.attr("id")).length>0&&a("body,html").animate({scrollTop:d.offset().top+d.find(">ul >li").height()-c+"px"},{duration:400})})},revredraw:function(c){return this.each(function(){var c=a(this);if(c!=b&&c.length>0&&a("body").find("#"+c.attr("id")).length>0){var d=c.parent().find(".tp-bannertimer"),e=d.data("opt");h(c,e)}})},revkill:function(c){var d=this,e=a(this);if(e!=b&&e.length>0&&a("body").find("#"+e.attr("id")).length>0){e.data("conthover",1),e.data("conthover-changed",1),e.trigger("revolution.slide.onpause");var f=e.parent().find(".tp-bannertimer"),g=f.data("opt");g.bannertimeronpause=!0,e.trigger("stoptimer"),punchgs.TweenLite.killTweensOf(e.find("*"),!1),punchgs.TweenLite.killTweensOf(e,!1),e.unbind("hover, mouseover, mouseenter,mouseleave, resize");var h="resize.revslider-"+e.attr("id");a(window).off(h),e.find("*").each(function(){var c=a(this);c.unbind("on, hover, mouseenter,mouseleave,mouseover, resize,restarttimer, stoptimer"),c.off("on, hover, mouseenter,mouseleave,mouseover, resize"),c.data("mySplitText",null),c.data("ctl",null),c.data("tween")!=b&&c.data("tween").kill(),c.data("kenburn")!=b&&c.data("kenburn").kill(),c.remove(),c.empty(),c=null}),punchgs.TweenLite.killTweensOf(e.find("*"),!1),punchgs.TweenLite.killTweensOf(e,!1),f.remove();try{e.closest(".forcefullwidth_wrapper_tp_banner").remove()}catch(a){}try{e.closest(".rev_slider_wrapper").remove()}catch(a){}try{e.remove()}catch(a){}return e.empty(),e.html(),e=null,g=null,delete d.container,delete d.opt,!0}return!1},revpause:function(c){return this.each(function(){var c=a(this);if(c!=b&&c.length>0&&a("body").find("#"+c.attr("id")).length>
95360){c.data("conthover",1),c.data("conthover-changed",1),c.trigger("revolution.slide.onpause");var d=c.parent().find(".tp-bannertimer"),e=d.data("opt");e.bannertimeronpause=!0,c.trigger("stoptimer")}})},revresume:function(c){return this.each(function(){var c=a(this);if(c!=b&&c.length>0&&a("body").find("#"+c.attr("id")).length>0){c.data("conthover",0),c.data("conthover-changed",1),c.trigger("revolution.slide.onresume");var d=c.parent().find(".tp-bannertimer"),e=d.data("opt");e.bannertimeronpause=!1,c.trigger("starttimer")}})},revnext:function(c){return this.each(function(){var c=a(this);c!=b&&c.length>0&&a("body").find("#"+c.attr("id")).length>0&&c.parent().find(".tp-rightarrow").click()})},revprev:function(c){return this.each(function(){var c=a(this);c!=b&&c.length>0&&a("body").find("#"+c.attr("id")).length>0&&c.parent().find(".tp-leftarrow").click()})},revmaxslide:function(b){return a(this).find(">ul:first-child >li").length},revcurrentslide:function(c){var d=a(this);if(d!=b&&d.length>0&&a("body").find("#"+d.attr("id")).length>0){var e=d.parent().find(".tp-bannertimer"),f=e.data("opt");return f.act}},revlastslide:function(c){var d=a(this);if(d!=b&&d.length>0&&a("body").find("#"+d.attr("id")).length>0){var e=d.parent().find(".tp-bannertimer"),f=e.data("opt");return f.lastslide}},revshowslide:function(c){return this.each(function(){var d=a(this);d!=b&&d.length>0&&a("body").find("#"+d.attr("id")).length>0&&(d.data("showus",c),d.parent().find(".tp-rightarrow").click())})}});var f=(function(){var a,b,c={hidden:"visibilitychange",webkitHidden:"webkitvisibilitychange",mozHidden:"mozvisibilitychange",msHidden:"msvisibilitychange"};for(a in c)if(a in document){b=c[a];break}return function(c){return c&&document.addEventListener(b,c),!document[a]}}(),function(c,d){var e=document.documentMode===b,f=window.chrome;e&&!f?a(window).on("focusin",function(){return c!=b&&void setTimeout(function(){"on"==d.nextSlideOnWindowFocus&&c.revnext(),c.revredraw()},300)}).on("focusout",function(){}):window.addEventListener?(window.addEventListener("focus",function(a){return c!=b&&void setTimeout(function(){"on"==d.nextSlideOnWindowFocus&&c.revnext(),c.revredraw()},300)},!1),window.addEventListener("blur",function(a){},!1)):(window.attachEvent("focus",function(a){setTimeout(function(){return c!=b&&("on"==d.nextSlideOnWindowFocus&&c.revnext(),void c.revredraw())},300)}),window.attachEvent("blur",function(a){}))}),g=function(a){for(var c,b=[],d=window.location.href.slice(window.location.href.indexOf(a)+1).split("_"),e=0;e<d.length;e++)d[e]=d[e].replace("%3D","="),c=d[e].split("="),b.push(c[0]),b[c[0]]=c[1];return b},h=function(c,d){if(c==b)return!1;try{0!=d.hideThumbsUnderResoluition&&"thumb"==d.navigationType&&(d.hideThumbsUnderResoluition>a(window).width()?a(".tp-bullets").css({display:"none"}):a(".tp-bullets").css({display:"block"}))}catch(a){}c.find(".defaultimg").each(function(b){r(a(this),d)});var e=c.parent();a(window).width()<d.hideSliderAtLimit?(c.trigger("stoptimer"),"none"!=e.css("display")&&e.data("olddisplay",e.css("display")),e.css({display:"none"})):c.is(":hidden")&&(e.data("olddisplay")!=b&&"undefined"!=e.data("olddisplay")&&"none"!=e.data("olddisplay")?e.css({display:e.data("olddisplay")}):e.css({display:"block"}),c.trigger("restarttimer"),setTimeout(function(){h(c,d)},150));var f=0;"on"==d.forceFullWidth&&(f=0-d.container.parent().offset().left);try{c.parent().find(".tp-bannershadow").css({width:d.width,left:f})}catch(a){}var g=c.find(">ul >li:eq("+d.act+") .slotholder"),i=c.find(">ul >li:eq("+d.next+") .slotholder");v(c,d,c),punchgs.TweenLite.set(i.find(".defaultimg"),{opacity:0}),g.find(".defaultimg").css({opacity:1}),i.find(".defaultimg").each(function(){var e=a(this);"on"==d.panZoomDisableOnMobile||e.data("kenburn")!=b&&(e.data("kenburn").restart(),Y(c,d,!0))});var j=c.find(">ul >li:eq("+d.next+")"),k=c.parent().find(".tparrows");k.hasClass("preview2")&&k.css({width:parseInt(k.css("minWidth"),0)}),L(j,d,!0),p(c,d)},i=function(b,c){var d=a('<div style="display:none;"/>').appendTo(a("body"));d.html("<!--[if "+(c||"")+" IE "+(b||"")+"]><a>&nbsp;</a><![endif]-->");var e=d.find("a").length;return d.remove(),e},j=function(a,b){a.next==b.find(">ul >li").length-1&&(a.looptogo=a.looptogo-1,a.looptogo<=0&&(a.stopLoop="on")),z(b,a)},k=function(b,c){var d="hidebullets";0==c.hideThumbs&&(d=""),"bullet"!=c.navigationType&&"both"!=c.navigationType||b.parent().append('<div class="tp-bullets '+d+" simplebullets "+c.navigationStyle+'"></div>');var e=b.parent().find(".tp-bullets");b.find(">ul:first >li").each(function(a){b.find(">ul:first >li:eq("+a+") img:first").attr("src");e.append('<div class="bullet"></div>');e.find(".bullet:first")}),e.find(".bullet").each(function(d){var e=a(this);d==c.slideamount-1&&e.addClass("last"),0==d&&e.addClass("first"),e.click(function(){var a=!1,d=e.index();"withbullet"!=c.navigationArrows&&"nexttobullets"!=c.navigationArrows||(d=e.index()-1),d==c.act&&(a=!0),0!=c.transition||a||(c.next=d,j(c,b))})}),e.append('<div class="tpclear"></div>'),p(b,c)},l=function(a,c){function h(b){a.parent().append('<div style="'+e+'" class="tp-'+b+"arrow "+f+" tparrows "+g+'"><div class="tp-arr-allwrapper"><div class="tp-arr-iwrapper"><div class="tp-arr-imgholder"></div><div class="tp-arr-imgholder2"></div><div class="tp-arr-titleholder"></div><div class="tp-arr-subtitleholder"></div></div></div></div>')}var e=(a.find(".tp-bullets"),""),f="hidearrows",g=c.navigationStyle;0==c.hideThumbs&&(f=""),"none"==c.navigationArrows&&(e="visibility:hidden;display:none"),c.soloArrowStyle="default "+c.navigationStyle,"none"!=c.navigationArrows&&"nexttobullets"!=c.navigationArrows&&(g=c.soloArrowStyle),h("left"),h("right"),a.parent().find(".tp-rightarrow").click(function(){0==c.transition&&(a.data("showus")!=b&&a.data("showus")!=-1?c.next=a.data("showus")-1:c.next=c.next+1,a.data("showus",-1),c.next>=c.slideamount&&(c.next=0),c.next<0&&(c.next=0),c.act!=c.next&&j(c,a))}),a.parent().find(".tp-leftarrow").click(function(){0==c.transition&&(c.next=c.next-1,c.leftarrowpressed=1,c.next<0&&(c.next=c.slideamount-1),j(c,a))}),p(a,c)},m=function(c,d){a(document).keydown(function(a){0==d.transition&&39==a.keyCode&&(c.data("showus")!=b&&c.data("showus")!=-1?d.next=c.data("showus")-1:d.next=d.next+1,c.data("showus",-1),d.next>=d.slideamount&&(d.next=0),d.next<0&&(d.next=0),d.act!=d.next&&j(d,c)),0==d.transition&&37==a.keyCode&&(d.next=d.next-1,d.leftarrowpressed=1,d.next<0&&(d.next=d.slideamount-1),j(d,c))}),p(c,d)},n=function(b,c){var d="vertical";"on"==c.touchenabled&&(1==c.drag_block_vertical&&(d="none"),b.swipe({allowPageScroll:d,fingers:c.swipe_min_touches,treshold:c.swipe_treshold,swipe:function(e,f,g,h,i,k){switch(f){case"left":0==c.transition&&(c.next=c.next+1,c.next==c.slideamount&&(c.next=0),j(c,b));break;case"right":0==c.transition&&(c.next=c.next-1,c.leftarrowpressed=1,c.next<0&&(c.next=c.slideamount-1),j(c,b));break;case"up":"none"==d&&a("html, body").animate({scrollTop:b.offset().top+b.height()+"px"});break;case"down":"none"==d&&a("html, body").animate({scrollTop:b.offset().top-a(window).height()+"px"})}}}))},o=function(a,b){var c=a.parent().find(".tp-bullets"),d=a.parent().find(".tparrows");if(null==c){a.append('<div class=".tp-bullets"></div>');var c=a.parent().find(".tp-bullets")}if(null==d){a.append('<div class=".tparrows"></div>');var d=a.parent().find(".tparrows")}if(a.data("hideThumbs",b.hideThumbs),c.addClass("hidebullets"),d.addClass("hidearrows"),W())try{a.hammer().on("touch",function(){a.addClass("hovered"),"on"==b.onHoverStop&&a.trigger("stoptimer"),clearTimeout(a.data("hideThumbs")),c.removeClass("hidebullets"),d.removeClass("hidearrows")}),a.hammer().on("release",function(){a.removeClass("hovered"),a.trigger("starttimer"),a.hasClass("hovered")||c.hasClass("hovered")||a.data("hideThumbs",setTimeout(function(){c.addClass("hidebullets"),d.addClass("hidearrows"),a.trigger("starttimer")},b.hideNavDelayOnMobile))})}catch(a){}else c.hover(function(){b.overnav=!0,"on"==b.onHoverStop&&a.trigger("stoptimer"),c.addClass("hovered"),clearTimeout(a.data("hideThumbs")),c.removeClass("hidebullets"),d.removeClass("hidearrows")},function(){b.overnav=!1,a.trigger("starttimer"),c.removeClass("hovered"),a.hasClass("hovered")||c.hasClass("hovered")||a.data("hideThumbs",setTimeout(function(){c.addClass("hidebullets"),d.addClass("hidearrows")},b.hideThumbs))}),d.hover(function(){b.overnav=!0,"on"==b.onHoverStop&&a.trigger("stoptimer"),c.addClass("hovered"),clearTimeout(a.data("hideThumbs")),c.removeClass("hidebullets"),d.removeClass("hidearrows")},function(){b.overnav=!1,a.trigger("starttimer"),c.removeClass("hovered")}),a.on("mouseenter",function(){a.addClass("hovered"),"on"==b.onHoverStop&&a.trigger("stoptimer"),clearTimeout(a.data("hideThumbs")),c.removeClass("hidebullets"),d.removeClass("hidearrows")}),a.on("mouseleave",function(){a.removeClass("hovered"),a.trigger("starttimer"),a.hasClass("hovered")||c.hasClass("hovered")||a.data("hideThumbs",setTimeout(function(){c.addClass("hidebullets"),d.addClass("hidearrows")},b.hideThumbs))})},p=function(b,c){var d=b.parent(),e=d.find(".tp-bullets");if("thumb"==c.navigationType){e.find(".thumb").each(function(b){var d=a(this);
9536d.css({width:c.thumbWidth*c.bw+"px",height:c.thumbHeight*c.bh+"px"})});var f=e.find(".tp-mask");f.width(c.thumbWidth*c.thumbAmount*c.bw),f.height(c.thumbHeight*c.bh),f.parent().width(c.thumbWidth*c.thumbAmount*c.bw),f.parent().height(c.thumbHeight*c.bh)}var g=d.find(".tp-leftarrow"),h=d.find(".tp-rightarrow");"thumb"==c.navigationType&&"nexttobullets"==c.navigationArrows&&(c.navigationArrows="solo"),"nexttobullets"==c.navigationArrows&&(g.prependTo(e).css({float:"left"}),h.insertBefore(e.find(".tpclear")).css({float:"left"}));var i=0;"on"==c.forceFullWidth&&(i=0-c.container.parent().offset().left);var j=0,k=0;if("on"==c.navigationInGrid&&(j=b.width()>c.startwidth?(b.width()-c.startwidth)/2:0,k=b.height()>c.startheight?(b.height()-c.startheight)/2:0),"none"!=c.navigationArrows&&"nexttobullets"!=c.navigationArrows){var l=c.soloArrowLeftValign,m=c.soloArrowLeftHalign,n=c.soloArrowRightValign,o=c.soloArrowRightHalign,p=c.soloArrowLeftVOffset,q=c.soloArrowLeftHOffset,r=c.soloArrowRightVOffset,s=c.soloArrowRightHOffset;g.css({position:"absolute"}),h.css({position:"absolute"}),"center"==l?g.css({top:"50%",marginTop:p-Math.round(g.innerHeight()/2)+"px"}):"bottom"==l?g.css({top:"auto",bottom:0+p+"px"}):"top"==l&&g.css({bottom:"auto",top:0+p+"px"}),"center"==m?g.css({left:"50%",marginLeft:i+q-Math.round(g.innerWidth()/2)+"px"}):"left"==m?g.css({left:j+q+i+"px"}):"right"==m&&g.css({right:j+q-i+"px"}),"center"==n?h.css({top:"50%",marginTop:r-Math.round(h.innerHeight()/2)+"px"}):"bottom"==n?h.css({top:"auto",bottom:0+r+"px"}):"top"==n&&h.css({bottom:"auto",top:0+r+"px"}),"center"==o?h.css({left:"50%",marginLeft:i+s-Math.round(h.innerWidth()/2)+"px"}):"left"==o?h.css({left:j+s+i+"px"}):"right"==o&&h.css({right:j+s-i+"px"}),null!=g.position()&&g.css({top:Math.round(parseInt(g.position().top,0))+"px"}),null!=h.position()&&h.css({top:Math.round(parseInt(h.position().top,0))+"px"})}"none"==c.navigationArrows&&(g.css({visibility:"hidden"}),h.css({visibility:"hidden"}));var t=c.navigationVAlign,u=c.navigationHAlign,v=c.navigationVOffset*c.bh,w=c.navigationHOffset*c.bw;"center"==t&&e.css({top:"50%",marginTop:v-Math.round(e.innerHeight()/2)+"px"}),"bottom"==t&&e.css({bottom:0+v+"px"}),"top"==t&&e.css({top:0+v+"px"}),"center"==u&&e.css({left:"50%",marginLeft:i+w-Math.round(e.innerWidth()/2)+"px"}),"left"==u&&e.css({left:0+w+i+"px"}),"right"==u&&e.css({right:0+w-i+"px"})},q=function(c){var d=c.container;c.beforli=c.next-1,c.comingli=c.next+1,c.beforli<0&&(c.beforli=c.slideamount-1),c.comingli>=c.slideamount&&(c.comingli=0);var e=d.find(">ul:first-child >li:eq("+c.comingli+")"),f=d.find(">ul:first-child >li:eq("+c.beforli+")"),g=f.find(".defaultimg").attr("src"),h=e.find(".defaultimg").attr("src");c.arr==b&&(c.arr=d.parent().find(".tparrows"),c.rar=d.parent().find(".tp-rightarrow"),c.lar=d.parent().find(".tp-leftarrow"),c.raimg=c.rar.find(".tp-arr-imgholder"),c.laimg=c.lar.find(".tp-arr-imgholder"),c.raimg_b=c.rar.find(".tp-arr-imgholder2"),c.laimg_b=c.lar.find(".tp-arr-imgholder2"),c.ratit=c.rar.find(".tp-arr-titleholder"),c.latit=c.lar.find(".tp-arr-titleholder"));var i=c.arr,j=c.rar,k=c.lar,l=c.raimg,m=c.laimg,n=c.raimg_b,o=c.laimg_b,p=c.ratit,q=c.latit;if(e.data("title")!=b&&p.html(e.data("title")),f.data("title")!=b&&q.html(f.data("title")),j.hasClass("itishovered")&&j.width(p.outerWidth(!0)+parseInt(j.css("minWidth"),0)),k.hasClass("itishovered")&&k.width(q.outerWidth(!0)+parseInt(k.css("minWidth"),0)),i.hasClass("preview2")&&!i.hasClass("hashoveralready"))if(i.addClass("hashoveralready"),W()){var i=a(this),r=i.find(".tp-arr-titleholder");r.addClass("alwayshidden"),punchgs.TweenLite.set(r,{autoAlpha:0})}else i.hover(function(){var b=a(this),c=b.find(".tp-arr-titleholder");a(window).width()>767&&b.width(c.outerWidth(!0)+parseInt(b.css("minWidth"),0)),b.addClass("itishovered")},function(){var b=a(this);b.find(".tp-arr-titleholder");b.css({width:parseInt(b.css("minWidth"),0)}),b.removeClass("itishovered")});f.data("thumb")!=b&&(g=f.data("thumb")),e.data("thumb")!=b&&(h=e.data("thumb")),i.hasClass("preview4")?(n.css({backgroundImage:"url("+h+")"}),o.css({backgroundImage:"url("+g+")"}),punchgs.TweenLite.fromTo(n,.8,{force3D:punchgs.force3d,x:0},{x:-l.width(),ease:punchgs.Power3.easeOut,delay:1,onComplete:function(){l.css({backgroundImage:"url("+h+")"}),punchgs.TweenLite.set(n,{x:0})}}),punchgs.TweenLite.fromTo(o,.8,{force3D:punchgs.force3d,x:0},{x:l.width(),ease:punchgs.Power3.easeOut,delay:1,onComplete:function(){m.css({backgroundImage:"url("+g+")"}),punchgs.TweenLite.set(o,{x:0})}}),punchgs.TweenLite.fromTo(l,.8,{x:0},{force3D:punchgs.force3d,x:-l.width(),ease:punchgs.Power3.easeOut,delay:1,onComplete:function(){punchgs.TweenLite.set(l,{x:0})}}),punchgs.TweenLite.fromTo(m,.8,{x:0},{force3D:punchgs.force3d,x:l.width(),ease:punchgs.Power3.easeOut,delay:1,onComplete:function(){punchgs.TweenLite.set(m,{x:0})}})):(punchgs.TweenLite.to(l,.5,{autoAlpha:0,onComplete:function(){l.css({backgroundImage:"url("+h+")"}),m.css({backgroundImage:"url("+g+")"})}}),punchgs.TweenLite.to(m,.5,{autoAlpha:0,onComplete:function(){punchgs.TweenLite.to(l,.5,{autoAlpha:1,delay:.2}),punchgs.TweenLite.to(m,.5,{autoAlpha:1,delay:.2})}})),j.hasClass("preview4")&&!j.hasClass("hashoveralready")&&(j.addClass("hashoveralready"),j.hover(function(){var b=a(this).find(".tp-arr-iwrapper"),c=a(this).find(".tp-arr-allwrapper");punchgs.TweenLite.fromTo(b,.4,{x:b.width()},{x:0,delay:.3,ease:punchgs.Power3.easeOut,overwrite:"all"}),punchgs.TweenLite.to(c,.2,{autoAlpha:1,overwrite:"all"})},function(){var b=a(this).find(".tp-arr-iwrapper"),c=a(this).find(".tp-arr-allwrapper");punchgs.TweenLite.to(b,.4,{x:b.width(),ease:punchgs.Power3.easeOut,delay:.2,overwrite:"all"}),punchgs.TweenLite.to(c,.2,{delay:.6,autoAlpha:0,overwrite:"all"})}),k.hover(function(){var b=a(this).find(".tp-arr-iwrapper"),c=a(this).find(".tp-arr-allwrapper");punchgs.TweenLite.fromTo(b,.4,{x:0-b.width()},{x:0,delay:.3,ease:punchgs.Power3.easeOut,overwrite:"all"}),punchgs.TweenLite.to(c,.2,{autoAlpha:1,overwrite:"all"})},function(){var b=a(this).find(".tp-arr-iwrapper"),c=a(this).find(".tp-arr-allwrapper");punchgs.TweenLite.to(b,.4,{x:0-b.width(),ease:punchgs.Power3.easeOut,delay:.2,overwrite:"all"}),punchgs.TweenLite.to(c,.2,{delay:.6,autoAlpha:0,overwrite:"all"})}))},r=function(c,d){if(d.container.closest(".forcefullwidth_wrapper_tp_banner").find(".tp-fullwidth-forcer").css({height:d.container.height()}),d.container.closest(".rev_slider_wrapper").css({height:d.container.height()}),d.width=parseInt(d.container.width(),0),d.height=parseInt(d.container.height(),0),d.bw=d.width/d.startwidth,d.bh=d.height/d.startheight,d.bh>d.bw&&(d.bh=d.bw),d.bh<d.bw&&(d.bw=d.bh),d.bw<d.bh&&(d.bh=d.bw),d.bh>1&&(d.bw=1,d.bh=1),d.bw>1&&(d.bw=1,d.bh=1),d.height=Math.round(d.startheight*(d.width/d.startwidth)),d.height>d.startheight&&"on"!=d.autoHeight&&(d.height=d.startheight),"on"==d.fullScreen){d.height=d.bw*d.startheight;var f=(d.container.parent().width(),a(window).height());if(d.fullScreenOffsetContainer!=b){try{var g=d.fullScreenOffsetContainer.split(",");a.each(g,function(b,c){f-=a(c).outerHeight(!0),f<d.minFullScreenHeight&&(f=d.minFullScreenHeight)})}catch(a){}try{d.fullScreenOffset.split("%").length>1&&d.fullScreenOffset!=b&&d.fullScreenOffset.length>0?f-=a(window).height()*parseInt(d.fullScreenOffset,0)/100:d.fullScreenOffset!=b&&d.fullScreenOffset.length>0&&(f-=parseInt(d.fullScreenOffset,0)),f<d.minFullScreenHeight&&(f=d.minFullScreenHeight)}catch(a){}}d.container.parent().height(f),d.container.closest(".rev_slider_wrapper").height(f),d.container.css({height:"100%"}),d.height=f,d.minHeight!=b&&d.height<d.minHeight&&(d.height=d.minHeight)}else d.minHeight!=b&&d.height<d.minHeight&&(d.height=d.minHeight),d.container.height(d.height);d.slotw=Math.ceil(d.width/d.slots),"on"==d.fullScreen?d.sloth=Math.ceil(a(window).height()/d.slots):d.sloth=Math.ceil(d.height/d.slots),"on"==d.autoHeight&&(d.sloth=Math.ceil(c.height()/d.slots))},s=function(c,d){c.find(".tp-caption").each(function(){a(this).addClass(a(this).data("transition")),a(this).addClass("start")}),c.find(">
9536ul:first").css({overflow:"hidden",width:"100%",height:"100%",maxHeight:c.parent().css("maxHeight")}).addClass("tp-revslider-mainul"),"on"==d.autoHeight&&(c.find(">ul:first").css({overflow:"hidden",width:"100%",height:"100%",maxHeight:"none"}),c.css({maxHeight:"none"}),c.parent().css({maxHeight:"none"})),c.find(">ul:first >li").each(function(d){var e=a(this);if(e.addClass("tp-revslider-slidesli"),e.css({width:"100%",height:"100%",overflow:"hidden"}),e.data("link")!=b){var f=e.data("link"),g="_self",h=60;"back"==e.data("slideindex")&&(h=0);var i=checksl=e.data("linktoslide");i!=b&&"next"!=i&&"prev"!=i&&c.find(">ul:first-child >li").each(function(){var b=a(this);b.data("origindex")+1==checksl&&(i=b.index()+1)}),e.data("target")!=b&&(g=e.data("target")),"slide"!=f&&(i="no");var j='<div class="tp-caption sft slidelink" style="width:100%;height:100%;z-index:'+h+';" data-x="center" data-y="center" data-linktoslide="'+i+'" data-start="0"><a style="width:100%;height:100%;display:block"';"slide"!=f&&(j=j+' target="'+g+'" href="'+f+'"'),j+='><span style="width:100%;height:100%;display:block"></span></a></div>',e.append(j)}}),c.parent().css({overflow:"visible"}),c.find(">ul:first >li >img").each(function(c){var e=a(this);e.addClass("defaultimg"),e.data("lazyload")!=b&&1!=e.data("lazydone")||r(e,d),i(8)&&e.data("kenburns","off"),"on"==d.panZoomDisableOnMobile&&W()&&(e.data("kenburns","off"),e.data("bgfit","cover")),e.wrap('<div class="slotholder" style="width:100%;height:100%;"data-duration="'+e.data("duration")+'"data-zoomstart="'+e.data("zoomstart")+'"data-zoomend="'+e.data("zoomend")+'"data-rotationstart="'+e.data("rotationstart")+'"data-rotationend="'+e.data("rotationend")+'"data-ease="'+e.data("ease")+'"data-duration="'+e.data("duration")+'"data-bgpositionend="'+e.data("bgpositionend")+'"data-bgposition="'+e.data("bgposition")+'"data-duration="'+e.data("duration")+'"data-kenburns="'+e.data("kenburns")+'"data-easeme="'+e.data("ease")+'"data-bgfit="'+e.data("bgfit")+'"data-bgfitend="'+e.data("bgfitend")+'"data-owidth="'+e.data("owidth")+'"data-oheight="'+e.data("oheight")+'"></div>'),
9537"none"!=d.dottedOverlay&&d.dottedOverlay!=b&&e.closest(".slotholder").append('<div class="tp-dottedoverlay '+d.dottedOverlay+'"></div>');var f=e.attr("src"),h=(e.data("lazyload"),e.data("bgfit")),j=e.data("bgrepeat"),k=e.data("bgposition");h==b&&(h="cover"),j==b&&(j="no-repeat"),k==b&&(k="center center");var l=e.closest(".slotholder");e.replaceWith('<div class="tp-bgimg defaultimg" data-lazyload="'+e.data("lazyload")+'" data-bgfit="'+h+'"data-bgposition="'+k+'" data-bgrepeat="'+j+'" data-lazydone="'+e.data("lazydone")+'" src="'+f+'" data-src="'+f+'" style="background-color:'+e.css("backgroundColor")+";background-repeat:"+j+";background-image:url("+f+");background-size:"+h+";background-position:"+k+';width:100%;height:100%;"></div>'),i(8)&&(l.find(".tp-bgimg").css({backgroundImage:"none","background-image":"none"}),l.find(".tp-bgimg").append('<img class="ieeightfallbackimage defaultimg" src="'+f+'" style="width:100%">')),e.css({opacity:0}),e.data("li-id",c)})},t=function(a,c,d,e){var f=a,g=f.find(".defaultimg"),h=f.data("zoomstart"),j=f.data("rotationstart");g.data("currotate")!=b&&(j=g.data("currotate")),g.data("curscale")!=b&&"box"==e?h=100*g.data("curscale"):g.data("curscale")!=b&&(h=g.data("curscale")),r(g,c);var k=g.data("src"),l=g.css("backgroundColor"),m=c.width,n=c.height,o=g.data("fxof"),p=0;"on"==c.autoHeight&&(n=c.container.height()),o==b&&(o=0);var q=0,s=g.data("bgfit"),t=g.data("bgrepeat"),v=g.data("bgposition");if(s==b&&(s="cover"),t==b&&(t="no-repeat"),v==b&&(v="center center"),i(8)){f.data("kenburns","off");var w=k;k=""}switch(e){case"box":var x=0,y=0,z=0;if(x=c.sloth>c.slotw?c.sloth:c.slotw,!d)var q=0-x;c.slotw=x,c.sloth=x;var y=0,z=0;"on"==f.data("kenburns")&&(s=h,s.toString().length<4&&(s=X(s,f,c)));for(var A=0;A<c.slots;A++){z=0;for(var B=0;B<c.slots;B++)f.append('<div class="slot" style="position:absolute;top:'+(p+z)+"px;left:"+(o+y)+"px;width:"+x+"px;height:"+x+'px;overflow:hidden;"><div class="slotslide" data-x="'+y+'" data-y="'+z+'" style="position:absolute;top:0px;left:0px;width:'+x+"px;height:"+x+'px;overflow:hidden;"><div style="position:absolute;top:'+(0-z)+"px;left:"+(0-y)+"px;width:"+m+"px;height:"+n+"px;background-color:"+l+";background-image:url("+k+");background-repeat:"+t+";background-size:"+s+";background-position:"+v+';"></div></div></div>'),z+=x,i(8)&&(f.find(".slot ").last().find(".slotslide").append('<img src="'+w+'">
9537'),u(f,c)),h!=b&&j!=b&&punchgs.TweenLite.set(f.find(".slot").last(),{rotationZ:j});y+=x}break;case"vertical":case"horizontal":if("on"==f.data("kenburns")&&(s=h,s.toString().length<4&&(s=X(s,f,c))),"horizontal"==e){if(!d)var q=0-c.slotw;for(var B=0;B<c.slots;B++)f.append('<div class="slot" style="position:absolute;top:'+(0+p)+"px;left:"+(o+B*c.slotw)+"px;overflow:hidden;width:"+(c.slotw+.6)+"px;height:"+n+'px"><div class="slotslide" style="position:absolute;top:0px;left:'+q+"px;width:"+(c.slotw+.6)+"px;height:"+n+'px;overflow:hidden;"><div style="background-color:'+l+";position:absolute;top:0px;left:"+(0-B*c.slotw)+"px;width:"+m+"px;height:"+n+"px;background-image:url("+k+");background-repeat:"+t+";background-size:"+s+";background-position:"+v+';"></div></div></div>'),h!=b&&j!=b&&punchgs.TweenLite.set(f.find(".slot").last(),{rotationZ:j}),i(8)&&(f.find(".slot ").last().find(".slotslide").append('<img class="ieeightfallbackimage" src="'+w+'" style="width:100%;height:auto">'),u(f,c))}else{if(!d)var q=0-c.sloth;for(var B=0;B<c.slots+2;B++)f.append('<div class="slot" style="position:absolute;top:'+(p+B*c.sloth)+"px;left:"+o+"px;overflow:hidden;width:"+m+"px;height:"+c.sloth+'px"><div class="slotslide" style="position:absolute;top:'+q+"px;left:0px;width:"+m+"px;height:"+c.sloth+'px;overflow:hidden;"><div style="background-color:'+l+";position:absolute;top:"+(0-B*c.sloth)+"px;left:0px;width:"+m+"px;height:"+n+"px;background-image:url("+k+");background-repeat:"+t+";background-size:"+s+";background-position:"+v+';"></div></div></div>'),h!=b&&j!=b&&punchgs.TweenLite.set(f.find(".slot").last(),{rotationZ:j}),i(8)&&(f.find(".slot ").last().find(".slotslide").append('<img class="ieeightfallbackimage" src="'+w+'" style="width:100%;height:auto;">'),u(f,c))}}},u=function(a,b){if(i(8)){var c=a.find(".ieeightfallbackimage");c.width(),c.height();b.startwidth/b.startheight<a.data("owidth")/a.data("oheight")?c.css({width:"auto",height:"100%"}):c.css({width:"100%",height:"auto"}),setTimeout(function(){var d=c.width(),e=c.height(),f=a.data("bgposition");"center center"==f&&c.css({position:"absolute",top:b.height/2-e/2+"px",left:b.width/2-d/2+"px"}),"center top"!=f&&"top center"!=f||c.css({position:"absolute",top:"0px",left:b.width/2-d/2+"px"}),"center bottom"!=f&&"bottom center"!=f||c.css({position:"absolute",bottom:"0px",left:b.width/2-d/2+"px"}),"right top"!=f&&"top right"!=f||c.css({position:"absolute",top:"0px",right:"0px"}),"right bottom"!=f&&"bottom right"!=f||c.css({position:"absolute",bottom:"0px",right:"0px"}),"right center"!=f&&"center right"!=f||c.css({position:"absolute",top:b.height/2-e/2+"px",right:"0px"}),"left bottom"!=f&&"bottom left"!=f||c.css({position:"absolute",bottom:"0px",left:"0px"}),"left center"!=f&&"center left"!=f||c.css({position:"absolute",top:b.height/2-e/2+"px",left:"0px"})},20)}},v=function(b,c,d){d.find(".slot").each(function(){a(this).remove()}),c.transition=0},w=function(c,d){c.find("img, .defaultimg").each(function(c){var e=a(this),f=e.data("lazyload");if(f!=e.attr("src")&&d<3&&f!=b&&"undefined"!=f){if(f!=b&&"undefined"!=f){e.attr("src",f);var g=new Image;g.onload=function(a){e.data("lazydone",1),e.hasClass("defaultimg")&&x(e,g)},g.error=function(){e.data("lazydone",1)},g.src=e.attr("src"),g.complete&&(e.hasClass("defaultimg")&&x(e,g),e.data("lazydone",1))}}else if((f===b||"undefined"===f)&&1!=e.data("lazydone")){var g=new Image;g.onload=function(){e.hasClass("defaultimg")&&x(e,g),e.data("lazydone",1)},g.error=function(){e.data("lazydone",1)},e.attr("src")!=b&&"undefined"!=e.attr("src")?g.src=e.attr("src"):g.src=e.data("src"),g.complete&&(e.hasClass("defaultimg")&&x(e,g),e.data("lazydone",1))}})},x=function(a,b){var c=a.closest("li"),d=b.width,e=b.height;c.data("owidth",d),c.data("oheight",e),c.find(".slotholder").data("owidth",d),c.find(".slotholder").data("oheight",e),c.data("loadeddone",1)},y=function(c,d,e){w(c,0);var f=setInterval(function(){e.bannertimeronpause=!0,e.container.trigger("stoptimer"),e.cd=0;var g=0;c.find("img, .defaultimg").each(function(b){1!=a(this).data("lazydone")&&g++}),g>0?w(c,g):(clearInterval(f),d!=b&&d())},100)},z=function(a,c){try{a.find(">ul:first-child >li:eq("+c.act+")")}catch(b){a.find(">ul:first-child >li:eq(1)")}c.lastslide=c.act;var e=a.find(">ul:first-child >li:eq("+c.next+")"),f=e.find(".defaultimg");c.bannertimeronpause=!0,a.trigger("stoptimer"),c.cd=0,f.data("lazyload")!=b&&"undefined"!=f.data("lazyload")&&1!=f.data("lazydone")?(i(8)?f.attr("src",e.find(".defaultimg").data("lazyload")):f.css({backgroundImage:'url("'+e.find(".defaultimg").data("lazyload")+'")'}),f.data("src",e.find(".defaultimg").data("lazyload")),f.data("lazydone",1),f.data("orgw",0),e.data("loadeddone",1),a.find(".tp-loader").css({display:"block"}),y(a.find(".tp-static-layers"),function(){y(e,function(){var b=e.find(".slotholder");if("on"==b.data("kenburns"))var d=setInterval(function(){var e=b.data("owidth");e>=0&&(clearInterval(d),A(c,f,a))},10);else A(c,f,a)},c)},c)):e.data("loadeddone")===b?(e.data("loadeddone",1),y(e,function(){A(c,f,a)},c)):A(c,f,a)},A=function(a,b,c){a.bannertimeronpause=!1,a.cd=0,c.trigger("nulltimer"),c.find(".tp-loader").css({display:"none"}),r(b,a),p(c,a),r(b,a),B(c,a)},B=function(a,c){a.trigger("revolution.slide.onbeforeswap"),c.transition=1,c.videoplaying=!1;try{var d=a.find(">ul:first-child >li:eq("+c.act+")")}catch(b){var d=a.find(">ul:first-child >li:eq(1)")}c.lastslide=c.act;var e=a.find(">ul:first-child >li:eq("+c.next+")");setTimeout(function(){q(c)},200);var f=d.find(".slotholder"),g=e.find(".slotholder");"on"!=g.data("kenburns")&&"on"!=f.data("kenburns")||(_(a,c),a.find(".kenburnimg").remove()),e.data("delay")!=b?(c.cd=0,c.delay=e.data("delay")):c.delay=c.origcd,1==c.firststart&&punchgs.TweenLite.set(d,{autoAlpha:0}),punchgs.TweenLite.set(d,{zIndex:18}),punchgs.TweenLite.set(e,{autoAlpha:0,zIndex:20});var h=0;d.index()!=e.index()&&1!=c.firststart&&(h=R(d,c)),"on"!=d.data("saveperformance")&&(h=0),setTimeout(function(){a.trigger("restarttimer"),C(a,c,e,d,f,g)},h)},C=function(c,d,e,f,g,h){function x(){a.each(o,function(a,b){b[0]!=m&&b[8]!=m||(j=b[1],n=b[2],r=s),s+=1})}"prepared"==e.data("differentissplayed")&&(e.data("differentissplayed","done"),e.data("transition",e.data("savedtransition")),e.data("slotamount",e.data("savedslotamount")),e.data("masterspeed",e.data("savedmasterspeed"))),e.data("fstransition")!=b&&"done"!=e.data("differentissplayed")&&(e.data("savedtransition",e.data("transition")),e.data("savedslotamount",e.data("slotamount")),e.data("savedmasterspeed",e.data("masterspeed")),e.data("transition",e.data("fstransition")),e.data("slotamount",e.data("fsslotamount")),e.data("masterspeed",e.data("fsmasterspeed")),e.data("differentissplayed","prepared")),c.find(".active-revslide").removeClass(".active-revslide"),e.addClass("active-revslide"),e.data("transition")==b&&e.data("transition","random");var j=0,k=e.data("transition").split(","),l=e.data("nexttransid")==b?-1:e.data("nexttransid");"on"==e.data("randomtransition")?l=Math.round(Math.random()*k.length):l+=1,l==k.length&&(l=0),e.data("nexttransid",l);var m=k[l];d.ie&&("boxfade"==m&&(m="boxslide"),"slotfade-vertical"==m&&(m="slotzoom-vertical"),"slotfade-horizontal"==m&&(m="slotzoom-horizontal")),i(8)&&(m=11);var n=0;"scroll"==d.parallax&&d.parallaxFirstGo==b&&(d.parallaxFirstGo=!0,ba(c,d),setTimeout(function(){ba(c,d)},210),setTimeout(function(){ba(c,d)},420)),"slidehorizontal"==m&&(m="slideleft",1==d.leftarrowpressed&&(m="slideright")),"slidevertical"==m&&(m="slideup",1==d.leftarrowpressed&&(m="slidedown")),"parallaxhorizontal"==m&&(m="parallaxtoleft",1==d.leftarrowpressed&&(m="parallaxtoright")),"parallaxvertical"==m&&(m="parallaxtotop",1==d.leftarrowpressed&&(m="parallaxtobottom"));
9537var o=[["boxslide",0,1,10,0,"box",!1,null,0],["boxfade",1,0,10,0,"box",!1,null,1],["slotslide-horizontal",2,0,0,200,"horizontal",!0,!1,2],["slotslide-vertical",3,0,0,200,"vertical",!0,!1,3],["curtain-1",4,3,0,0,"horizontal",!0,!0,4],["curtain-2",5,3,0,0,"horizontal",!0,!0,5],["curtain-3",6,3,25,0,"horizontal",!0,!0,6],["slotzoom-horizontal",7,0,0,400,"horizontal",!0,!0,7],["slotzoom-vertical",8,0,0,0,"vertical",!0,!0,8],["slotfade-horizontal",9,0,0,500,"horizontal",!0,null,9],["slotfade-vertical",10,0,0,500,"vertical",!0,null,10],["fade",11,0,1,300,"horizontal",!0,null,11],["slideleft",12,0,1,0,"horizontal",!0,!0,12],["slideup",13,0,1,0,"horizontal",!0,!0,13],["slidedown",14,0,1,0,"horizontal",!0,!0,14],["slideright",15,0,1,0,"horizontal",!0,!0,15],["papercut",16,0,0,600,"",null,null,16],["3dcurtain-horizontal",17,0,20,100,"vertical",!1,!0,17],["3dcurtain-vertical",18,0,10,100,"horizontal",!1,!0,18],["cubic",19,0,20,600,"horizontal",!1,!0,19],["cube",19,0,20,600,"horizontal",!1,!0,20],["flyin",20,0,4,600,"vertical",!1,!0,21],["turnoff",21,0,1,1600,"horizontal",!1,!0,22],["incube",22,0,20,200,"horizontal",!1,!0,23],["cubic-horizontal",23,0,20,500,"vertical",!1,!0,24],["cube-horizontal",23,0,20,500,"vertical",!1,!0,25],["incube-horizontal",24,0,20,500,"vertical",!1,!0,26],["turnoff-vertical",25,0,1,200,"horizontal",!1,!0,27],["fadefromright",12,1,1,0,"horizontal",!0,!0,28],["fadefromleft",15,1,1,0,"horizontal",!0,!0,29],["fadefromtop",14,1,1,0,"horizontal",!0,!0,30],["fadefrombottom",13,1,1,0,"horizontal",!0,!0,31],["fadetoleftfadefromright",12,2,1,0,"horizontal",!0,!0,32],["fadetorightfadetoleft",15,2,1,0,"horizontal",!0,!0,33],["fadetobottomfadefromtop",14,2,1,0,"horizontal",!0,!0,34],["fadetotopfadefrombottom",13,2,1,0,"horizontal",!0,!0,35],["parallaxtoright",12,3,1,0,"horizontal",!0,!0,36],["parallaxtoleft",15,3,1,0,"horizontal",!0,!0,37],["parallaxtotop",14,3,1,0,"horizontal",!0,!0,38],["parallaxtobottom",13,3,1,0,"horizontal",!0,!0,39],["scaledownfromright",12,4,1,0,"horizontal",!0,!0,40],["scaledownfromleft",15,4,1,0,"horizontal",!0,!0,41],["scaledownfromtop",14,4,1,0,"horizontal",!0,!0,42],["scaledownfrombottom",13,4,1,0,"horizontal",!0,!0,43],["zoomout",13,5,1,0,"horizontal",!0,!0,44],["zoomin",13,6,1,0,"horizontal",!0,!0,45],["notransition",26,0,1,0,"horizontal",!0,null,46]],p=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],q=[16,17,18,19,20,21,22,23,24,25,26,27],j=0,n=1,r=0,s=0,u=new Array;"on"==h.data("kenburns")&&("boxslide"!=m&&0!=m&&"boxfade"!=m&&1!=m&&"papercut"!=m&&16!=m||(m=11),Y(c,d,!0,!0)),"random"==m&&(m=Math.round(Math.random()*o.length-1),m>o.length-1&&(m=o.length-1)),"random-static"==m&&(m=Math.round(Math.random()*p.length-1),m>p.length-1&&(m=p.length-1),m=p[m]),"random-premium"==m&&(m=Math.round(Math.random()*q.length-1),m>q.length-1&&(m=q.length-1),m=q[m]);var v=[12,13,14,15,16,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45];if(1==d.isJoomla&&window.MooTools!=b&&v.indexOf(m)!=-1){var w=Math.round(Math.random()*(q.length-2))+1;w>q.length-1&&(w=q.length-1),0==w&&(w=1),m=q[w]}x(),i(8)&&j>15&&j<28&&(m=Math.round(Math.random()*p.length-1),m>p.length-1&&(m=p.length-1),m=p[m],s=0,x());var y=-1;(1==d.leftarrowpressed||d.act>d.next)&&(y=1),d.leftarrowpressed=0,j>26&&(j=26),j<0&&(j=0);var z=300;e.data("masterspeed")!=b&&e.data("masterspeed")>99&&e.data("masterspeed")<d.delay&&(z=e.data("masterspeed")),e.data("masterspeed")!=b&&e.data("masterspeed")>d.delay&&(z=d.delay),u=o[r],c.parent().find(".bullet").each(function(){var b=a(this),c=b.index();b.removeClass("selected"),"withbullet"!=d.navigationArrows&&"nexttobullets"!=d.navigationArrows||(c=b.index()-1),c==d.next&&b.addClass("selected")});var A=new punchgs.TimelineLite({onComplete:function(){D(c,d,h,g,e,f,A)}});if(A.add(punchgs.TweenLite.set(h.find(".defaultimg"),{opacity:0})),A.pause(),e.data("slotamount")==b||e.data("slotamount")<1?(d.slots=Math.round(12*Math.random()+4),"boxslide"==m?d.slots=Math.round(6*Math.random()+3):"flyin"==m&&(d.slots=Math.round(4*Math.random()+1))):d.slots=e.data("slotamount"),e.data("rotate")==b?d.rotate=0:999==e.data("rotate")?d.rotate=Math.round(360*Math.random()):d.rotate=e.data("rotate"),(!a.support.transition||d.ie||d.ie9)&&(d.rotate=0),1==d.firststart&&(d.firststart=0),z+=u[4],(4==j||5==j||6==j)&&d.slots<3&&(d.slots=3),0!=u[3]&&(d.slots=Math.min(d.slots,u[3])),9==j&&(d.slots=d.width/20),10==j&&(d.slots=d.height/20),null!=u[7]&&t(g,d,u[7],u[5]),null!=u[6]&&t(h,d,u[6],u[5]),0==j){var B=Math.ceil(d.height/d.sloth),C=0;h.find(".slotslide").each(function(b){var c=a(this);C+=1,C==B&&(C=0),A.add(punchgs.TweenLite.from(c,z/600,{opacity:0,top:0-d.sloth,left:0-d.slotw,rotation:d.rotate,force3D:"auto",ease:punchgs.Power2.easeOut}
9537),(15*b+30*C)/1500)})}if(1==j){var E,F=0;h.find(".slotslide").each(function(b){var c=a(this),e=Math.random()*z+300,f=500*Math.random()+200;e+f>E&&(E=f+f,F=b),A.add(punchgs.TweenLite.from(c,e/1e3,{autoAlpha:0,force3D:"auto",rotation:d.rotate,ease:punchgs.Power2.easeInOut}),f/1e3)})}if(2==j){var G=new punchgs.TimelineLite;g.find(".slotslide").each(function(){var b=a(this);G.add(punchgs.TweenLite.to(b,z/1e3,{left:d.slotw,force3D:"auto",rotation:0-d.rotate}),0),A.add(G,0)}),h.find(".slotslide").each(function(){var b=a(this);G.add(punchgs.TweenLite.from(b,z/1e3,{left:0-d.slotw,force3D:"auto",rotation:d.rotate}),0),A.add(G,0)})}if(3==j){var G=new punchgs.TimelineLite;g.find(".slotslide").each(function(){var b=a(this);G.add(punchgs.TweenLite.to(b,z/1e3,{top:d.sloth,rotation:d.rotate,force3D:"auto",transformPerspective:600}),0),A.add(G,0)}),h.find(".slotslide").each(function(){var b=a(this);G.add(punchgs.TweenLite.from(b,z/1e3,{top:0-d.sloth,rotation:d.rotate,ease:punchgs.Power2.easeOut,force3D:"auto",transformPerspective:600}),0),A.add(G,0)})}if(4==j||5==j){setTimeout(function(){g.find(".defaultimg").css({opacity:0})},100);var H=z/1e3,G=new punchgs.TimelineLite;g.find(".slotslide").each(function(b){var c=a(this),e=b*H/d.slots;5==j&&(e=(d.slots-b-1)*H/d.slots/1.5),G.add(punchgs.TweenLite.to(c,3*H,{transformPerspective:600,force3D:"auto",top:0+d.height,opacity:.5,rotation:d.rotate,ease:punchgs.Power2.easeInOut,delay:e}),0),A.add(G,0)}),h.find(".slotslide").each(function(b){var c=a(this),e=b*H/d.slots;5==j&&(e=(d.slots-b-1)*H/d.slots/1.5),G.add(punchgs.TweenLite.from(c,3*H,{top:0-d.height,opacity:.5,rotation:d.rotate,force3D:"auto",ease:punchgs.Power2.easeInOut,delay:e}),0),A.add(G,0)})}if(6==j){d.slots<2&&(d.slots=2),d.slots%2&&(d.slots=d.slots+1);var G=new punchgs.TimelineLite;setTimeout(function(){g.find(".defaultimg").css({opacity:0})},100),g.find(".slotslide").each(function(b){var c=a(this);if(b+1<d.slots/2)var e=90*(b+2);else var e=90*(2+d.slots-b);G.add(punchgs.TweenLite.to(c,(z+e)/1e3,{top:0+d.height,opacity:1,force3D:"auto",rotation:d.rotate,ease:punchgs.Power2.easeInOut}),0),A.add(G,0)}),h.find(".slotslide").each(function(b){var c=a(this);if(b+1<d.slots/2)var e=90*(b+2);else var e=90*(2+d.slots-b);G.add(punchgs.TweenLite.from(c,(z+e)/1e3,{top:0-d.height,opacity:1,force3D:"auto",rotation:d.rotate,ease:punchgs.Power2.easeInOut}),0),A.add(G,0)})}if(7==j){z*=2,z>d.delay&&(z=d.delay);var G=new punchgs.TimelineLite;setTimeout(function(){g.find(".defaultimg").css({opacity:0})},100),g.find(".slotslide").each(function(){var b=a(this).find("div");G.add(punchgs.TweenLite.to(b,z/1e3,{left:0-d.slotw/2+"px",top:0-d.height/2+"px",width:2*d.slotw+"px",height:2*d.height+"px",opacity:0,rotation:d.rotate,force3D:"auto",ease:punchgs.Power2.easeOut}),0),A.add(G,0)}),h.find(".slotslide").each(function(b){var c=a(this).find("div");G.add(punchgs.TweenLite.fromTo(c,z/1e3,{left:0,top:0,opacity:0,transformPerspective:600},{left:0-b*d.slotw+"px",ease:punchgs.Power2.easeOut,force3D:"auto",top:"0px",width:d.width,height:d.height,opacity:1,rotation:0,delay:.1}),0),A.add(G,0)})}if(8==j){z*=3,z>d.delay&&(z=d.delay);var G=new punchgs.TimelineLite;g.find(".slotslide").each(function(){var b=a(this).find("div");G.add(punchgs.TweenLite.to(b,z/1e3,{left:0-d.width/2+"px",top:0-d.sloth/2+"px",width:2*d.width+"px",height:2*d.sloth+"px",force3D:"auto",opacity:0,rotation:d.rotate}),0),A.add(G,0)}),h.find(".slotslide").each(function(b){var c=a(this).find("div");G.add(punchgs.TweenLite.fromTo(c,z/1e3,{left:0,top:0,opacity:0,force3D:"auto"},{left:"0px",top:0-b*d.sloth+"px",width:h.find(".defaultimg").data("neww")+"px",height:h.find(".defaultimg").data("newh")+"px",opacity:1,rotation:0}),0),A.add(G,0)})}if(9==j||10==j){var J=0;h.find(".slotslide").each(function(b){var c=a(this);J++,A.add(punchgs.TweenLite.fromTo(c,z/1e3,{autoAlpha:0,force3D:"auto",transformPerspective:600},{autoAlpha:1,ease:punchgs.Power2.easeInOut,delay:5*b/1e3}),0)})}if(11==j||26==j){var J=0;26==j&&(z=0),h.find(".slotslide").each(function(b){var c=a(this);A.add(punchgs.TweenLite.from(c,z/1e3,{autoAlpha:0,force3D:"auto",ease:punchgs.Power2.easeInOut}),0)})}if(12==j||13==j||14==j||15==j){z=z,z>d.delay&&(z=d.delay),setTimeout(function(){punchgs.TweenLite.set(g.find(".defaultimg"),{autoAlpha:0})},100);var K=d.width,M=d.height,N=h.find(".slotslide"),O=0,P=0,Q=1,R=1,S=1,T=punchgs.Power2.easeInOut,U=punchgs.Power2.easeInOut,V=z/1e3,W=V;"on"!=d.fullWidth&&"on"!=d.fullScreen||(K=N.width(),M=N.height()),12==j?O=K:15==j?O=0-K:13==j?P=M:14==j&&(P=0-M),1==n&&(Q=0),2==n&&(Q=0),3==n&&(T=punchgs.Power2.easeInOut,U=punchgs.Power1.easeInOut,V=z/1200),4!=n&&5!=n||(R=.6),6==n&&(R=1.4),5!=n&&6!=n||(S=1.4,Q=0,K=0,M=0,O=0,P=0),6==n&&(S=.6);A.add(punchgs.TweenLite.from(N,V,{left:O,top:P,scale:S,opacity:Q,rotation:d.rotate,ease:U,force3D:"auto"}),0);var Z=g.find(".slotslide");if(4!=n&&5!=n||(K=0,M=0),1!=n)switch(j){case 12:A.add(punchgs.TweenLite.to(Z,W,{left
vendor: 5,193 bytes, line 9537
9537:0-K+"px",force3D:"auto",scale:R,opacity:Q,rotation:d.rotate,ease:T}),0);break;case 15:A.add(punchgs.TweenLite.to(Z,W,{left:K+"px",force3D:"auto",scale:R,opacity:Q,rotation:d.rotate,ease:T}),0);break;case 13:A.add(punchgs.TweenLite.to(Z,W,{top:0-M+"px",force3D:"auto",scale:R,opacity:Q,rotation:d.rotate,ease:T}),0);break;case 14:A.add(punchgs.TweenLite.to(Z,W,{top:M+"px",force3D:"auto",scale:R,opacity:Q,rotation:d.rotate,ease:T}),0)}}if(16==j){var G=new punchgs.TimelineLite;A.add(punchgs.TweenLite.set(f,{position:"absolute","z-index":20}),0),A.add(punchgs.TweenLite.set(e,{position:"absolute","z-index":15}),0),f.wrapInner('<div class="tp-half-one" style="position:relative; width:100%;height:100%"></div>'),f.find(".tp-half-one").clone(!0).appendTo(f).addClass("tp-half-two"),f.find(".tp-half-two").removeClass("tp-half-one");var K=d.width,M=d.height;"on"==d.autoHeight&&(M=c.height()),f.find(".tp-half-one .defaultimg").wrap('<div class="tp-papercut" style="width:'+K+"px;height:"+M+'px;"></div>'),f.find(".tp-half-two .defaultimg").wrap('<div class="tp-papercut" style="width:'+K+"px;height:"+M+'px;"></div>'),f.find(".tp-half-two .defaultimg").css({position:"absolute",top:"-50%"}),f.find(".tp-half-two .tp-caption").wrapAll('<div style="position:absolute;top:-50%;left:0px;"></div>'),A.add(punchgs.TweenLite.set(f.find(".tp-half-two"),{width:K,height:M,overflow:"hidden",zIndex:15,position:"absolute",top:M/2,left:"0px",transformPerspective:600,transformOrigin:"center bottom"}),0),A.add(punchgs.TweenLite.set(f.find(".tp-half-one"),{width:K,height:M/2,overflow:"visible",zIndex:10,position:"absolute",top:"0px",left:"0px",transformPerspective:600,transformOrigin:"center top"}),0);var _=(f.find(".defaultimg"),Math.round(20*Math.random()-10)),aa=Math.round(20*Math.random()-10),ca=Math.round(20*Math.random()-10),da=.4*Math.random()-.2,ea=.4*Math.random()-.2,fa=1*Math.random()+1,ga=1*Math.random()+1,ha=.3*Math.random()+.3;A.add(punchgs.TweenLite.set(f.find(".tp-half-one"),{overflow:"hidden"}),0),A.add(punchgs.TweenLite.fromTo(f.find(".tp-half-one"),z/800,{width:K,height:M/2,position:"absolute",top:"0px",left:"0px",force3D:"auto",transformOrigin:"center top"},{scale:fa,rotation:_,y:0-M-M/4,autoAlpha:0,ease:punchgs.Power2.easeInOut}),0),A.add(punchgs.TweenLite.fromTo(f.find(".tp-half-two"),z/800,{width:K,height:M,overflow:"hidden",position:"absolute",top:M/2,left:"0px",force3D:"auto",transformOrigin:"center bottom"},{scale:ga,rotation:aa,y:M+M/4,ease:punchgs.Power2.easeInOut,autoAlpha:0,onComplete:function(){punchgs.TweenLite.set(f,{position:"absolute","z-index":15}),punchgs.TweenLite.set(e,{position:"absolute","z-index":20}),f.find(".tp-half-one").length>0&&(f.find(".tp-half-one .defaultimg").unwrap(),f.find(".tp-half-one .slotholder").unwrap()),f.find(".tp-half-two").remove()}}),0),G.add(punchgs.TweenLite.set(h.find(".defaultimg"),{autoAlpha:1}),0),null!=f.html()&&A.add(punchgs.TweenLite.fromTo(e,(z-200)/1e3,{scale:ha,x:d.width/4*da,y:M/4*ea,rotation:ca,force3D:"auto",transformOrigin:"center center",ease:punchgs.Power2.easeOut},{autoAlpha:1,scale:1,x:0,y:0,rotation:0}),0),A.add(G,0)}if(17==j&&h.find(".slotslide").each(function(b){var c=a(this);A.add(punchgs.TweenLite.fromTo(c,z/800,{opacity:0,rotationY:0,scale:.9,rotationX:-110,force3D:"auto",transformPerspective:600,transformOrigin:"center center"},{opacity:1,top:0,left:0,scale:1,rotation:0,rotationX:0,force3D:"auto",rotationY:0,ease:punchgs.Power3.easeOut,delay:.06*b}),0)}),18==j&&h.find(".slotslide").each(function(b){var c=a(this);A.add(punchgs.TweenLite.fromTo(c,z/500,{autoAlpha:0,rotationY:310,scale:.9,rotationX:10,force3D:"auto",transformPerspective:600,transformOrigin:"center center"},{autoAlpha:1,top:0,left:0,scale:1,rotation:0,rotationX:0,force3D:"auto",rotationY:0,ease:punchgs.Power3.easeOut,delay:.06*b}),0)}),19==j||22==j){var G=new punchgs.TimelineLite;A.add(punchgs.TweenLite.set(f,{zIndex:20}),0),A.add(punchgs.TweenLite.set(e,{zIndex:20}),0),setTimeout(function(){g.find(".defaultimg").css({opacity:0})},100);var ka=(e.css("z-index"),f.css("z-index"),90),Q=1,la="center center ";1==y&&(ka=-90),19==j?(la=la+"-"+d.height/2,Q=0):la+=d.height/2,punchgs.TweenLite.set(c,{transformStyle:"flat",backfaceVisibility:"hidden",transformPerspective:600}),h.find(".slotslide").each(function(b){var c=a(this);G.add(punchgs.TweenLite.fromTo(c,z/1e3,{transformStyle:"flat",backfaceVisibility:"hidden",left:0,rotationY:d.rotate,z:10,top:0,scale:1,force3D:"auto",transformPerspective:600,transformOrigin:la,rotationX:ka},{left:0,rotationY:0,top:0,z:0,scale:1,force3D:"auto",rotationX:0,delay:50*b/1e3,ease:punchgs.Power2.easeInOut}),0),G.add(punchgs.TweenLite.to(c,.1,{autoAlpha:1,delay:50*b/1e3}),0),A.add(G)}),g.find(".slotslide").each(function(b){var c=a(this),e=-90;1==y&&(e=90),G.add(punchgs.TweenLite.fromTo(c,z/1e3,{transformStyle:"flat",backfaceVisibility:"hidden",autoAlpha:1,rotationY:0,top:0,z:0,scale:1,force3D:"auto",transformPerspective:600,transformOrigin:la,rotationX:0},{autoAlpha:1,rotationY:d.rotate,top:0,z:10,scale:1,rotationX:e,delay:50*b/1e3,force3D:"auto",ease:punchgs.Power2.easeInOut}),0),A.add(G)})}if(20==j){setTimeout(function(){g.find(".defaultimg").css({opacity:0}
9537)},100);e.css("z-index"),f.css("z-index");if(1==y)var ma=-d.width,ka=70,la="left center -"+d.height/2;else var ma=d.width,ka=-70,la="right center -"+d.height/2;h.find(".slotslide").each(function(b){var c=a(this);A.add(punchgs.TweenLite.fromTo(c,z/1500,{left:ma,rotationX:40,z:-600,opacity:Q,top:0,force3D:"auto",transformPerspective:600,transformOrigin:la,rotationY:ka},{left:0,delay:50*b/1e3,ease:punchgs.Power2.easeInOut}),0),A.add(punchgs.TweenLite.fromTo(c,z/1e3,{rotationX:40,z:-600,opacity:Q,top:0,scale:1,force3D:"auto",transformPerspective:600,transformOrigin:la,rotationY:ka},{rotationX:0,opacity:1,top:0,z:0,scale:1,rotationY:0,delay:50*b/1e3,ease:punchgs.Power2.easeInOut}),0),A.add(punchgs.TweenLite.to(c,.1,{opacity:1,force3D:"auto",delay:50*b/1e3+z/2e3}),0)}),g.find(".slotslide").each(function(b){var c=a(this);if(1!=y)var e=-d.width,f=70,g="left center -"+d.height/2;else var e=d.width,f=-70,g="right center -"+d.height/2;A.add(punchgs.TweenLite.fromTo(c,z/1e3,{opacity:1,rotationX:0,top:0,z:0,scale:1,left:0,force3D:"auto",transformPerspective:600,transformOrigin:g,rotationY:0},{opacity:1,rotationX:40,top:0,z:-600,left:e,force3D:"auto",scale:.8,rotationY:f,delay:50*b/1e3,ease:punchgs.Power2.easeInOut}),0),A.add(punchgs.TweenLite.to(c,.1,{force3D:"auto",opacity:0,delay:50*b/1e3+(z/1e3-z/1e4)}),0)})}if(21==j||25==j){setTimeout(function(){g.find(".defaultimg").css({opacity:0})},100);var ka=(e.css("z-index"),f.css("z-index"),90),ma=-d.width,na=-ka;if(1==y)if(25==j){var la="center top 0";ka=d.rotate}else{var la="left center 0";na=d.rotate}else if(ma=d.width,ka=-90,25==j){var la="center bottom 0";na=-ka,ka=d.rotate}else{var la="right center 0";na=d.rotate}h.find(".slotslide").each(function(b){var c=a(this);A.add(punchgs.TweenLite.fromTo(c,z/1e3,{left:0,transformStyle:"flat",rotationX:na,z:0,autoAlpha:0,top:0,scale:1,force3D:"auto",transformPerspective:600,transformOrigin:la,rotationY:ka},{left:0,rotationX:0,top:0,z:0,autoAlpha:1,scale:1,rotationY:0,force3D:"auto",ease:punchgs.Power3.easeInOut}),0)}),1!=y?(ma=-d.width,ka=90,25==j?(la="center top 0",na=-ka,ka=d.rotate):(la="left center 0",na=d.rotate)):(ma=d.width,ka=-90,25==j?(la="center bottom 0",na=-ka,ka=d.rotate):(la="right center 0",na=d.rotate)),g.find(".slotslide").each(function(b){var c=a(this);A.add(punchgs.TweenLite.fromTo(c,z/1e3,{left:0,transformStyle:"flat",rotationX:0,z:0,autoAlpha:1,top:0,scale:1,force3D:"auto",transformPerspective:600,transformOrigin:la,rotationY:0},{left:0,rotationX:na,top:0,z:0,autoAlpha:1,force3D:"auto",scale:1,rotationY:ka,ease:punchgs.Power1.easeInOut}),0)})}if(23==j||24==j){setTimeout(function(){g.find(".defaultimg").css({opacity:0})},100);var ka=(e.css("z-index"),f.css("z-index"),-90),Q=1,oa=0;if(1==y&&(ka=90),23==j){var la="center center -"+d.width/2;Q=0}else var la="center center "+d.width/2;punchgs.TweenLite.set(c,{transformStyle:"preserve-3d",backfaceVisibility:"hidden",perspective:2500}),h.find(".slotslide").each(function(b){var c=a(this);A.add(punchgs.TweenLite.fromTo(c,z/1e3,{left:oa,rotationX:d.rotate,force3D:"auto",opacity:Q,top:0,scale:1,transformPerspective:600,transformOrigin:la,rotationY:ka},{left:0,rotationX:0,autoAlpha:1,top:0,z:0,scale:1,rotationY:0,delay:50*b/500,ease:punchgs.Power2.easeInOut}),0)}),ka=90,1==y&&(ka=-90),g.find(".slotslide").each(function(b){var c=a(this);A.add(punchgs.TweenLite.fromTo(c,z/1e3,{left:0,autoAlpha:1,rotationX:0,top:0,z:0,scale:1,force3D:"auto",transformPerspective:600,transformOrigin:la,rotationY:0},{left:oa,autoAlpha:1,rotationX:d.rotate,top:0,scale:1,rotationY:ka,delay:50*b/500,ease:punchgs.Power2.easeInOut}),0)})}A.pause(),L(e,d,null,A),punchgs.TweenLite.to(e,.001,{autoAlpha:1});var pa={};pa.slideIndex=d.next+1,pa.slide=e,c.trigger("revolution.slide.onchange",pa),setTimeout(function(){c.trigger("revolution.slide.onafterswap")},z),c.trigger("revolution.slide.onvideostop")},D=function(a,b,c,d,e,f,g){punchgs.TweenLite.to(c.find(".defaultimg"),.001,{autoAlpha:1,onComplete:function(){v(a,b,e)}}),e.index()!=f.index()&&punchgs.TweenLite.to(f,.2,{autoAlpha:0,onComplete:function(){v(a,b,f)}}),b.act=b.next,"thumb"==b.navigationType&&da(a),"on"==c.data("kenburns")&&Y(a,b),a.find(".current-sr-slide-visible").removeClass("current-sr-slide-visible"),e.addClass("current-sr-slide-visible"),"scroll"!=b.parallax&&"scroll+mouse"!=b.parallax&&"mouse+scroll"!=b.parallax||ba(a,b),g.clear()},E=function(b){var c=b.target.getVideoEmbedCode(),d=a("#"+c.split('id="')[1].split('"')[0]),e=d.closest(".tp-simpleresponsive"),f=d.parent().data("player");if(b.data==YT.PlayerState.PLAYING){var g=e.find(".tp-bannertimer"),h=g.data("opt");"mute"==d.closest(".tp-caption").data("volume")&&f.mute(),h.videoplaying=!0,e.trigger("stoptimer"),e.trigger("revolution.slide.onvideoplay")}else{var g=e.find(".tp-bannertimer"),h=g.data("opt");b.data!=-1&&3!=b.data&&(h.videoplaying=!1,e.trigger("starttimer"),e.trigger("revolution.slide.onvideostop")),0==b.data&&1==h.nextslideatend?h.container.revnext():(h.videoplaying=!1,e.trigger("starttimer"),e.trigger("revolution.slide.onvideostop"))}},F=function(a,b,c){a.addEventListener?a.addEventListener(b,c,!1):a.attachEvent(b,c,!1)},G=function(b,c){var d=$f(b),e=a("#"+b),f=e.closest(".tp-simpleresponsive"),g=e.closest(".tp-caption");setTimeout(function(){d.addEvent("ready",function(b){c&&d.api("play"),d.addEvent("play",function(a){var b=f.find(".tp-bannertimer"),c=b.data("opt");c.videoplaying=!0,f.trigger("stoptimer"),"mute"==g.data("volume")&&d.api("setVolume","0")}),d.addEvent("finish",function(a){var b=f.find(".tp-bannertimer"),c=b.data("opt");c.videoplaying=!1,f.trigger("starttimer"),f.trigger("revolution.slide.onvideoplay"),
95371==c.nextslideatend&&c.container.revnext()}),d.addEvent("pause",function(a){var b=f.find(".tp-bannertimer"),c=b.data("opt");c.videoplaying=!1,f.trigger("starttimer"),f.trigger("revolution.slide.onvideostop")}),g.find(".tp-thumb-image").click(function(){punchgs.TweenLite.to(a(this),.3,{autoAlpha:0,force3D:"auto",ease:punchgs.Power3.easeInOut}),d.api("play")})})},150)},H=function(a,c){var d=c.width(),e=c.height(),f=a.data("mediaAspect");f==b&&(f=1);var g=d/e;a.css({position:"absolute"});a.find("video");g<f?punchgs.TweenLite.to(a,1e-4,{width:e*f,force3D:"auto",top:0,left:0-(e*f-d)/2,height:e}):punchgs.TweenLite.to(a,1e-4,{width:d,force3D:"auto",top:0-(d/f-e)/2,left:0,height:d/f})},I=function(){var a=new Object;return a.x=0,a.y=0,a.rotationX=0,a.rotationY=0,a.rotationZ=0,a.scale=1,a.scaleX=1,a.scaleY=1,a.skewX=0,a.skewY=0,a.opacity=0,a.transformOrigin="center, center",a.transformPerspective=400,a.rotation=0,a},J=function(b,c){var d=c.split(";");return a.each(d,function(a,c){c=c.split(":");var d=c[0],e=c[1];"rotationX"==d&&(b.rotationX=parseInt(e,0)),"rotationY"==d&&(b.rotationY=parseInt(e,0)),"rotationZ"==d&&(b.rotationZ=p
9537arseInt(e,0)),"rotationZ"==d&&(b.rotation=parseInt(e,0)),"scaleX"==d&&(b.scaleX=parseFloat(e)),"scaleY"==d&&(b.scaleY=parseFloat(e)),"opacity"==d&&(b.opacity=parseFloat(e)),
9538"skewX"==d&&(b.skewX=parseInt(e,0)),"skewY"==d&&(b.skewY=parseInt(e,0)),"x"==d&&(b.x=parseInt(e,0)),"y"==d&&(b.y=parseInt(e,0)),"z"==d&&(b.z=parseInt(e,0)),"transformOrigin"==d&&(b.transformOrigin=e.toString()),"transformPerspective"==d&&(b.transformPerspective=parseInt(e,0))}),b},K=function(b){var c=b.split("animation:"),d=new Object;d.animation=J(I(),c[1]);var e=c[0].split(";");return a.each(e,function(a,b){b=b.split(":");var c=b[0],e=b[1];"typ"==c&&(d.typ=e),"speed"==c&&(d.speed=parseInt(e,0)/1e3),"start"==c&&(d.start=parseInt(e,0)/1e3),"elementdelay"==c&&(d.elementdelay=parseFloat(e)),"ease"==c&&(d.ease=e)}),d},L=function(c,d,e,f){function g(){}function h(){}c.data("ctl")==b&&c.data("ctl",new punchgs.TimelineLite);var j=c.data("ctl"),k=0,l=0,m=c.find(".tp-caption"),n=d.container.find(".tp-static-layers").find(".tp-caption");j.pause(),a.each(n,function(a,b){m.push(b)}),m.each(function(c){var f=e,j=-1,m=a(this);if(m.hasClass("tp-static-layer")){var n=m.data("startslide"),o=m.data("endslide");n!=-1&&"-1"!=n||m.data("startslide",0),o!=-1&&"-1"!=o||m.data("endslide",d.slideamount),0==n&&o==d.slideamount-1&&m.data("endslide",d.slideamount+1),n=m.data("startslide"),o=m.data("endslide"),m.hasClass("tp-is-shown")?j=o==d.next||n>d.next||o<d.next?2:0:n<=d.next&&o>=d.next||n==d.next||o==d.next?(m.addClass("tp-is-shown"),j=1):j=0}k=d.width/2-d.startwidth*d.bw/2;var p=d.bw;d.bh;"on"==d.fullScreen&&(l=d.height/2-d.startheight*d.bh/2),("on"==d.autoHeight||d.minHeight!=b&&d.minHeight>0)&&(l=d.container.height()/2-d.startheight*d.bh/2),l<0&&(l=0);var r=0;if(d.width<d.hideCaptionAtLimit&&"on"==m.data("captionhidden")?(m.addClass("tp-hidden-caption"),r=1):d.width<d.hideAllCaptionAtLimit||d.width<d.hideAllCaptionAtLilmit?(m.addClass("tp-hidden-caption"),r=1):m.removeClass("tp-hidden-caption"),0==r){if(m.data("linktoslide")==b||m.hasClass("hasclicklistener")||(m.addClass("hasclicklistener"),m.css({cursor:"pointer"}),"no"!=m.data("linktoslide")&&m.click(function(){var b=a(this),c=b.data("linktoslide");"next"!=c&&"prev"!=c?(d.container.data("showus",c),d.container.parent().find(".tp-rightarrow").click()):"next"==c?d.container.parent().find(".tp-rightarrow").click():"prev"==c&&d.container.parent().find(".tp-leftarrow").click()})),k<0&&(k=0),m.hasClass("tp-videolayer")||m.find("iframe").length>0||m.find("video").length>0){var s="iframe"+Math.round(1e5*Math.random()+1),t=m.data("videowidth"),u=m.data("videoheight"),v=m.data("videoattributes"),w=m.data("ytid"),x=m.data("vimeoid"),y=m.data("videpreload"),z=m.data("videomp4"),A=m.data("videowebm"),B=m.data("videoogv"),C=m.data("videocontrols"),D="http",L="loop"==m.data("videoloop")?"loop":"loopandnoslidestop"==m.data("videoloop")?"loop":"";if(m.data("thumbimage")!=b&&m.data("videoposter")==b&&m.data("videoposter",m.data("thumbimage")),w!=b&&String(w).length>1&&0==m.find("iframe").length&&(D="https","none"==C&&(v=v.replace("controls=1","controls=0"),v.toLowerCase().indexOf("controls")==-1&&(v+="&controls=0")),m.append('<iframe style="visible:hidden" src="'+D+"://www.youtube.com/embed/"+w+"?"+v+'" width="'+t+'" height="'+u+'" style="width:'+t+"px;height:"+u+'px"></iframe>')),x!=b&&String(x).length>1&&0==m.find("iframe").length&&("https:"===location.protocol&&(D="https"),m.append('<iframe style="visible:hidden" src="'+D+"://player.vimeo.com/video/"+x+"?"+v+'" width="'+t+'" height="'+u+'" style="width:'+t+"px;height:"+u+'px"></iframe>')),(z!=b||A!=b)&&0==m.find("video").length){"controls"!=C&&(C="");var N='<video style="visible:hidden" class="" '+L+' preload="'+y+'" width="'+t+'" height="'+u+'"';m.data("videoposter")!=b&&m.data("videoposter")!=b&&(N=N+'poster="'+m.data("videoposter")+'">'),A!=b&&"firefox"==M().toLowerCase()&&(N=N+'<source src="'+A+'" type="video/webm" />'),z!=b&&(N=N+'<source src="'+z+'" type="video/mp4" />'),B!=b&&(N=N+'<source src="'+B+'" type="video/ogg" />'),N+="</video>",m.append(N),"controls"==C&&m.append('<div class="tp-video-controls"><div class="tp-video-button-wrap"><button type="button" class="tp-video-button tp-vid-play-pause">Play</button></div><div class="tp-video-seek-bar-wrap">
9538<input  type="range" class="tp-seek-bar" value="0"></div><div class="tp-video-button-wrap"><button  type="button" class="tp-video-button tp-vid-mute">Mute</button></div><div class="tp-video-vol-bar-wrap"><input  type="range" class="tp-volume-bar" min="0" max="1" step="0.1" value="1"></div><div class="tp-video-button-wrap"><button  type="button" class="tp-video-button tp-vid-full-screen">Full-Screen</button></div></div>')}var R=!1;1!=m.data("autoplayonlyfirsttime")&&"true"!=m.data("autoplayonlyfirsttime")&&1!=m.data("autoplay")||(m.data("autoplay",!0),R=!0),m.find("iframe").each(function(){var c=a(this);if(punchgs.TweenLite.to(c,.1,{autoAlpha:1,zIndex:0,transformStyle:"preserve-3d",z:0,rotationX:0,force3D:"auto"}),W()){var g=c.attr("src");c.attr("src",""),c.attr("src",g)}if(d.nextslideatend=m.data("nextslideatend"),m.data("videoposter")!=b&&m.data("videoposter").length>2&&1!=m.data("autoplay")&&!f&&(0==m.find(".tp-thumb-image").length?m.append('<div class="tp-thumb-image" style="cursor:pointer; position:absolute;top:0px;left:0px;width:100%;height:100%;background-image:url('+m.data("videoposter")+'); background-size:cover"></div>'):punchgs.TweenLite.set(m.find(".tp-thumb-image"),{autoAlpha:1})),c.attr("src").toLowerCase().indexOf("youtube")>=0)if(c.hasClass("HasListener")){if(!e){var h=m.data("player");"on"!=m.data("forcerewind")||W()||h.seekTo(0),(!W()&&1==m.data("autoplay")||R)&&m.data("timerplay",setTimeout(function(){h.playVideo()},m.data("start")))}}else try{c.attr("id",s);var h,i=setInterval(function(){YT!=b&&typeof YT.Player!=b&&"undefined"!=typeof YT.Player&&(h=new YT.Player(s,{events:{onStateChange:E,onReady:function(c){var d=c.target.getVideoEmbedCode(),e=a("#"+d.split('id="')[1].split('"')[0]),f=e.closest(".tp-caption"),g=f.data("videorate");f.data("videostart");g!=b&&c.target.setPlaybackRate(parseFloat(g)),(!W()&&1==f.data("autoplay")||R)&&f.data("timerplay",setTimeout(function(){c.target.playVideo()},f.data("start"))),f.find(".tp-thumb-image").click(function(){punchgs.TweenLite.to(a(this),.3,{autoAlpha:0,force3D:"auto",ease:punchgs.Power3.easeInOut}),W()||h.playVideo()})}}})),c.addClass("HasListener"),m.data("player",h),clearInterval(i)},100)}catch(a){}else if(c.attr("src").toLowerCase().indexOf("vimeo")>=0)if(c.hasClass("HasListener")){if(!(e||W()||1!=m.data("autoplay")&&"on"!=m.data("forcerewind"))){var c=m.find("iframe"),q=c.attr("id"),r=$f(q);"on"==m.data("forcerewind")&&r.api("seekTo",0),m.data("timerplay",setTimeout(function(){1==m.data("autoplay")&&r.api("play")},m.data("start")))}}else{c.addClass("HasListener"),c.attr("id",s);for(var o,j=c.attr("src"),k={},l=j,n=/([^&=]+)=([^&]*)/g;o=n.exec(l);)k[decodeURIComponent(o[1])]=decodeURIComponent(o[2]);j=k.player_id!=b?j.replace(k.player_id,s):j+"&player_id="+s;try{j=j.replace("api=0","api=1")}catch(a){}j+="&api=1",c.attr("src",j);var h=m.find("iframe")[0],p=setInterval(function(){$f!=b&&typeof $f(s).api!=b&&"undefined"!=typeof $f(s).api&&($f(h).addEvent("ready",function(){G(s,R)}),clearInterval(p))},100)}}),(W()&&1==m.data("disablevideoonmobile")||i(8))&&m.find("video").remove(),m.find("video").length>0&&m.find("video").each(function(c){var e=this,f=a(this);f.parent().hasClass("html5vid")||f.wrap('<div class="html5vid" style="position:relative;top:0px;left:0px;width:auto;height:auto"></div>');var g=f.parent();F(e,"loadedmetadata",function(a){a.data("metaloaded",1)}(g)),clearInterval(g.data("interval")),g.data("interval",setInterval(function(){if(1==g.data("metaloaded")||NaN!=e.duration){if(clearInterval(g.data("interval")),!g.hasClass("HasListener")){g.addClass("HasListener"),"none"!=m.data("dottedoverlay")&&m.data("dottedoverlay")!=b&&1!=m.find(".tp-dottedoverlay").length&&g.append('<div class="tp-dottedoverlay '+m.data("dottedoverlay")+'"></div>'),f.attr("control")==b&&(0==g.find(".tp-video-play-button").length&&g.append('<div class="tp-video-play-button"><i class="revicon-right-dir"></i><div class="tp-revstop"></div></div>'),g.find("video, .tp-poster, .tp-video-play-button").click(function(){g.hasClass("videoisplaying")?e.pause():e.play()})),(1==m.data("forcecover")||m.hasClass("fullscreenvideo"))&&(1==m.data("forcecover")&&(H(g,d.container),g.addClass("fullcoveredvideo"),m.addClass("fullcoveredvideo")),g.css({width:"100%",height:"100%"}));
9538var a=m.find(".tp-vid-play-pause")[0],c=m.find(".tp-vid-mute")[0],h=m.find(".tp-vid-full-screen")[0],i=m.find(".tp-seek-bar")[0],j=m.find(".tp-volume-bar")[0];a!=b&&(F(a,"click",function(){1==e.paused?e.play():e.pause()}),F(c,"click",function(){0==e.muted?(e.muted=!0,c.innerHTML="Unmute"):(e.muted=!1,c.innerHTML="Mute")}),F(h,"click",function(){e.requestFullscreen?e.requestFullscreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.webkitRequestFullscreen&&e.webkitRequestFullscreen()}),F(i,"change",function(){var a=e.duration*(i.value/100);e.currentTime=a}),F(e,"timeupdate",function(){var a=100/e.duration*e.currentTime;i.value=a}),F(i,"mousedown",function(){e.pause()}),F(i,"mouseup",function(){e.play()}),F(j,"change",function(){e.volume=j.value})),F(e,"play",function(){"mute"==m.data("volume")&&(e.muted=!0),g.addClass("videoisplaying"),"loopandnoslidestop"==m.data("videoloop")?(d.videoplaying=!1,d.container.trigger("starttimer"),d.container.trigger("revolution.slide.onvideostop")):(d.videoplaying=!0,d.container.trigger("stoptimer"),d.container.trigger("revolution.slide.onvideoplay"));var a=m.find(".tp-vid-play-pause")[0],c=m.find(".tp-vid-mute")[0];a!=b&&(a.innerHTML="Pause"),c!=b&&e.muted&&(c.innerHTML="Unmute")}),F(e,"pause",function(){g.removeClass("videoisplaying"),d.videoplaying=!1,d.container.trigger("starttimer"),d.container.trigger("revolution.slide.onvideostop");var a=m.find(".tp-vid-play-pause")[0];a!=b&&(a.innerHTML="Play")}),F(e,"ended",function(){g.removeClass("videoisplaying"),d.videoplaying=!1,d.container.trigger("starttimer"),d.container.trigger("revolution.slide.onvideostop"),1==d.nextslideatend&&d.container.revnext()})}var k=!1;1!=m.data("autoplayonlyfirsttime")&&"true"!=m.data("autoplayonlyfirsttime")||(k=!0);var l=16/9;if("4:3"==m.data("aspectratio")&&(l=4/3),g.data("mediaAspect",l),1==g.closest(".tp-caption").data("forcecover")&&(H(g,d.container),g.addClass("fullcoveredvideo")),f.css({display:"block"}),d.nextslideatend=m.data("nextslideatend"),1!=m.data("autoplay")&&1!=k||("loopandnoslidestop"==m.data("videoloop")?(d.videoplaying=!1,d.container.trigger("starttimer"),d.container.trigger("revolution.slide.onvideostop")):(d.videoplaying=!0,d.container.trigger("stoptimer"),d.container.trigger("revolution.slide.onvideoplay")),"on"!=m.data("forcerewind")||g.hasClass("videoisplaying")||e.currentTime>0&&(e.currentTime=0),"mute"==m.data("volume")&&(e.muted=!0),g.data("timerplay",setTimeout(function(){"on"!=m.data("forcerewind")||g.hasClass("videoisplaying")||e.currentTime>0&&(e.currentTime=0),"mute"==m.data("volume")&&(e.muted=!0),e.play()},10+m.data("start")))),g.data("ww")==b&&g.data("ww",f.attr("width")),g.data("hh")==b&&g.data("hh",f.attr("height")),!m.hasClass("fullscreenvideo")&&1==m.data("forcecover"))try{g.width(g.data("ww")*d.bw),g.height(g.data("hh")*d.bh)}catch(a){}clearInterval(g.data("interval"))}}),100)}),1==m.data("autoplay")&&(setTimeout(function(){"loopandnoslidestop"!=m.data("videoloop")&&(d.videoplaying=!0,d.container.trigger("stoptimer"))},200),"loopandnoslidestop"!=m.data("videoloop")&&(d.videoplaying=!0,d.container.trigger("stoptimer")),1!=m.data("autoplayonlyfirsttime")&&"true"!=m.data("autoplayonlyfirsttime")||(m.data("autoplay",!1),m.data("autoplayonlyfirsttime",!1)))}var U=0,V=0;if(m.find("img").length>0){var X=m.find("img");0==X.width()&&X.css({width:"auto"}),0==X.height()&&X.css({height:"auto"}),X.data("ww")==b&&X.width()>0&&X.data("ww",X.width()),X.data("hh")==b&&X.height()>0&&X.data("hh",X.height());var Y=X.data("ww"),Z=X.data("hh");Y==b&&(Y=0),Z==b&&(Z=0),X.width(Y*d.bw),X.height(Z*d.bh),U=X.width(),V=X.height()}else if(m.find("iframe").length>0||m.find("video").length>0){var $=!1,X=m.find("iframe");0==X.length&&(X=m.find("video"),$=!0),X.css({display:"block"}),m.data("ww")==b&&m.data("ww",X.width()),m.data("hh")==b&&m.data("hh",X.height());var Y=m.data("ww"),Z=m.data("hh"),_=m;_.data("fsize")==b&&_.data("fsize",parseInt(_.css("font-size"),0)||0),_.data("pt")==b&&_.data("pt",parseInt(_.css("paddingTop"),0)||0),_.data("pb")==b&&_.data("pb",parseInt(_.css("paddingBottom"),0)||0),_.data("pl")==b&&_.data("pl",parseInt(_.css("paddingLeft"),0)||0),_.data("pr")==b&&_.data("pr",parseInt(_.css("paddingRight"),0)||0),_.data("mt")==b&&_.data("mt",parseInt(_.css("marginTop"),
95380)||0),_.data("mb")==b&&_.data("mb",parseInt(_.css("marginBottom"),0)||0),_.data("ml")==b&&_.data("ml",parseInt(_.css("marginLeft"),0)||0),_.data("mr")==b&&_.data("mr",parseInt(_.css("marginRight"),0)||0),_.data("bt")==b&&_.data("bt",parseInt(_.css("borderTop"),0)||0),_.data("bb")==b&&_.data("bb",parseInt(_.css("borderBottom"),0)||0),_.data("bl")==b&&_.data("bl",parseInt(_.css("borderLeft"),0)||0),_.data("br")==b&&_.data("br",parseInt(_.css("borderRight"),0)||0),_.data("lh")==b&&_.data("lh",parseInt(_.css("lineHeight"),0)||0),"auto"==_.data("lh")&&_.data("lh",_.data("fsize")+4);var aa=d.width,ba=d.height;if(aa>d.startwidth&&(aa=d.startwidth),ba>d.startheight&&(ba=d.startheight),m.hasClass("fullscreenvideo")){k=0,l=0,m.data("x",0),m.data("y",0);var ca=d.height;"on"==d.autoHeight&&(ca=d.container.height()),m.css({width:d.width,height:ca})}else m.css({"font-size":_.data("fsize")*d.bw+"px","padding-top":_.data("pt")*d.bh+"px","padding-bottom":_.data("pb")*d.bh+"px","padding-left":_.data("pl")*d.bw+"px","padding-right":_.data("pr")*d.bw+"px","margin-top":_.data("mt")*d.bh+"px","margin-bottom":_.data("mb")*d.bh+"px","margin-left":_.data("ml")*d.bw+"px","margin-right":_.data("mr")*d.bw+"px","border-top":_.data("bt")*d.bh+"px","border-bottom":_.data("bb")*d.bh+"px","border-left":_.data("bl")*d.bw+"px","border-right":_.data("br")*d.bw+"px","line-height":_.data("lh")*d.bh+"px",height:Z*d.bh+"px"});0==$?(X.width(Y*d.bw),X.height(Z*d.bh)):1==m.data("forcecover")||m.hasClass("fullscreenvideo")||(X.width(Y*d.bw),X.height(Z*d.bh)),U=X.width(),V=X.height()}else{m.find(".tp-resizeme, .tp-resizeme *").each(function(){O(a(this),d)}),m.hasClass("tp-resizeme")&&m.find("*").each(function(){O(a(this),d)}),O(m,d),V=m.outerHeight(!0),U=m.outerWidth(!0);var da=m.outerHeight(),ea=m.css("backgroundColor");m.find(".frontcorner").css({borderWidth:da+"px",left:0-da+"px",borderRight:"0px solid transparent",borderTopColor:ea}),m.find(".frontcornertop").css({borderWidth:da+"px",left:0-da+"px",borderRight:"0px solid transparent",borderBottomColor:ea}),m.find(".backcorner").css({borderWidth:da+"px",right:0-da+"px",borderLeft:"0px solid transparent",borderBottomColor:ea}),m.find(".backcornertop").css({borderWidth:da+"px",right:0-da+"px",borderLeft:"0px solid transparent",borderTopColor:ea})}"on"==d.fullScreenAlignForce&&(k=0,l=0),m.data("voffset")==b&&m.data("voffset",0),m.data("hoffset")==b&&m.data("hoffset",0);var fa=m.data("voffset")*p,ga=m.data("hoffset")*p,ha=d.startwidth*p,ia=d.startheight*p;"on"==d.fullScreenAlignForce&&(ha=d.container.width(),ia=d.container.height()),"center"!=m.data("x")&&"center"!=m.data("xcenter")||(m.data("xcenter","center"),m.data("x",ha/2-m.outerWidth(!0)/2+ga)),"left"!=m.data("x")&&"left"!=m.data("xleft")||(m.data("xleft","left"),m.data("x",0/p+ga)),"right"!=m.data("x")&&"right"!=m.data("xright")||(m.data("xright","right"),m.data("x",(ha-m.outerWidth(!0)+ga)/p)),"center"!=m.data("y")&&"center"!=m.data("ycenter")||(m.data("ycenter","center"),m.data("y",ia/2-m.outerHeight(!0)/2+fa)),"top"!=m.data("y")&&"top"!=m.data("ytop")||(m.data("ytop","top"),m.data("y",0/d.bh+fa)),"bottom"!=m.data("y")&&"bottom"!=m.data("ybottom")||(m.data("ybottom","bottom"),m.data("y",(ia-m.outerHeight(!0)+fa)/p)),m.data("start")==b&&m.data("start",1e3);var ja=m.data("easing");ja==b&&(ja="punchgs.Power1.easeOut");var ka=m.data("start")/1e3,la=m.data("speed")/1e3;if("center"==m.data("x")||"center"==m.data("xcenter"))var ma=m.data("x")+k;else var ma=p*m.data("x")+k;if("center"==m.data("y")||"center"==m.data("ycenter"))var na=m.data("y")+l;else var na=d.bh*m.data("y")+l;if(punchgs.TweenLite.set(m,{top:na,left:ma,overwrite:"auto"}),0==j&&(f=!0),m.data("timeline")==b||f||(2!=j&&m.data("timeline").gotoAndPlay(0),f=!0),!f){m.data("timeline")!=b;var oa=new punchgs.TimelineLite({smoothChildTiming:!0,onStart:h});oa.pause(),"on"==d.fullScreenAlignForce;var pa=m;m.data("mySplitText")!=b&&m.data("mySplitText").revert(),"chars"!=m.data("splitin")&&"words"!=m.data("splitin")&&"lines"!=m.data("splitin")&&"chars"!=m.data("splitout")&&"words"!=m.data("splitout")&&"lines"!=m.data("splitout")||(m.find("a").length>0?m.data("mySplitText",new punchgs.SplitText(m.find("a"),{type:"lines,words,chars",charsClass:"tp-splitted",wordsClass:"tp-splitted",linesClass:"tp-splitted"})):m.find(".tp-layer-inner-rotation").length>0?m.data("mySplitText",new punchgs.SplitText(m.find(".tp-layer-inner-rotation"),{type:"lines,words,chars",charsClass:"tp-splitted",wordsClass:"tp-splitted",linesClass:"tp-splitted"})):m.data("mySplitText",new punchgs.SplitText(m,{type:"lines,words,chars",charsClass:"tp-splitted",wordsClass:"tp-splitted",linesClass:"tp-splitted"})),m.addClass("splitted")),"chars"==m.data("splitin")&&(pa=m.data("mySplitText").chars),"words"==m.data("splitin")&&(pa=m.data("mySplitText").words),"lines"==m.data("splitin")&&(pa=m.data("mySplitText").lines);var qa=I(),ra=I();m.data("repeat")!=b&&(repeatV=m.data("repeat")),m.data("yoyo")!=b&&(yoyoV=m.data("yoyo")),m.data("repeatdelay")!=b&&(repeatdelayV=m.data("repeatdelay"));var sa=m.attr("class");sa.match("customin")?qa=J(qa,m.data("customin")):sa.match("randomrotate")?(qa.scale=3*Math.random()+1,qa.rotation=Math.round(200*Math.random()-100),qa.x=Math.round(200*Math.random()-100),qa.y=Math.round(200*Math.random()-100)):sa.match("lfr")||sa.match("skewfromright")?qa.x=15+d.width:sa.match("lfl")||sa.match("skewfromleft")?qa.x=-1
95385-U:sa.match("sfl")||sa.match("skewfromleftshort")?qa.x=-50:sa.match("sfr")||sa.match("skewfromrightshort")?qa.x=50:sa.match("lft")?qa.y=-25-V:sa.match("lfb")?qa.y=25+d.height:sa.match("sft")?qa.y=-50:sa.match("sfb")&&(qa.y=50),sa.match("skewfromright")||m.hasClass("skewfromrightshort")?qa.skewX=-85:(sa.match("skewfromleft")||m.hasClass("skewfromleftshort"))&&(qa.skewX=85),(sa.match("fade")||sa.match("sft")||sa.match("sfl")||sa.match("sfb")||sa.match("skewfromleftshort")||sa.match("sfr")||sa.match("skewfromrightshort"))&&(qa.opacity=0),"safari"==M().toLowerCase();var ta=m.data("elementdelay")==b?0:m.data("elementdelay");ra.ease=qa.ease=m.data("easing")==b?punchgs.Power1.easeInOut:m.data("easing"),qa.data=new Object,qa.data.oldx=qa.x,qa.data.oldy=qa.y,ra.data=new Object,ra.data.oldx=ra.x,ra.data.oldy=ra.y,qa.x=qa.x*p,qa.y=qa.y*p;var ua=new punchgs.TimelineLite;if(2!=j)if(sa.match("customin"))pa!=m&&oa.add(punchgs.TweenLite.set(m,{force3D:"auto",opacity:1,scaleX:1,scaleY:1,rotationX:0,rotationY:0,rotationZ:0,skewX:0,skewY:0,z:0,x:0,y:0,visibility:"visible",delay:0,overwrite:"all"})),qa.visibility="hidden",ra.visibility="visible",ra.overwrite="all",ra.opacity=1,ra.onComplete=g(),ra.delay=ka,ra.force3D="auto",oa.add(ua.staggerFromTo(pa,la,qa,ra,ta),"frame0");else if(qa.visibility="visible",qa.transformPerspective=600,pa!=m&&oa.add(punchgs.TweenLite.set(m,{force3D:"auto",opacity:1,scaleX:1,scaleY:1,rotationX:0,rotationY:0,rotationZ:0,skewX:0,skewY:0,z:0,x:0,y:0,visibility:"visible",delay:0,overwrite:"all"})),ra.visibility="visible",ra.delay=ka,ra.onComplete=g(),ra.opacity=1,ra.force3D="auto",sa.match("randomrotate")&&pa!=m)for(var c=0;c<pa.length;c++){var va=new Object,wa=new Object;a.extend(va,qa),a.extend(wa,ra),qa.scale=3*Math.random()+1,qa.rotation=Math.round(200*Math.random()-100),qa.x=Math.round(200*Math.random()-100),qa.y=Math.round(200*Math.random()-100),0!=c&&(wa.delay=ka+c*ta),oa.append(punchgs.TweenLite.fromTo(pa[c],la,va,wa),"frame0")}else oa.add(ua.staggerFromTo(pa,la,qa,ra,ta),"frame0");m.data("timeline",oa);new Array;if(m.data("frames")!=b){var ya=m.data("frames");ya=ya.replace(/\s+/g,""),ya=ya.replace("{","");var za=ya.split("}");a.each(za,function(a,b){if(b.length>0){var c=K(b);S(m,d,c,"frame"+(a+10),p)}})}oa=m.data("timeline"),m.data("end")==b||j!=-1&&2!=j?j==-1||2==j?T(m,d,999999,qa,"frame99",p):T(m,d,200,qa,"frame99",p):T(m,d,m.data("end")/1e3,qa,"frame99",p),oa=m.data("timeline"),m.data("timeline",oa),P(m,p),oa.resume()}}if(f&&(Q(m),P(m,p),m.data("timeline")!=b)){var Aa=m.data("timeline").getTweensOf();a.each(Aa,function(a,c){if(c.vars.data!=b){var d=c.vars.data.oldx*p,e=c.vars.data.oldy*p;if(1!=c.progress()&&0!=c.progress())try{c.vars.x=d,c.vary.y=e}catch(a){}else 1==c.progress()&&punchgs.TweenLite.set(c.target,{x:d,y:e})}})}});var o=a("body").find("#"+d.container.attr("id")).find(".tp-bannertimer");o.data("opt",d),f!=b&&setTimeout(function(){f.resume()},30)},M=function(){var c,a=navigator.appName,b=navigator.userAgent,d=b.match(/(opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i);return d&&null!=(c=b.match(/version\/([\.\d]+)/i))&&(d[2]=c[1]),d=d?[d[1],d[2]]:[a,navigator.appVersion,"-?"],d[0]},O=function(a,c){a.data("fsize")==b&&a.data("fsize",parseInt(a.css("font-size"),0)||0),a.data("pt")==b&&a.data("pt",parseInt(a.css("paddingTop"),0)||0),a.data("pb")==b&&a.data("pb",parseInt(a.css("paddingBottom"),0)||0),a.data("pl")==b&&a.data("pl",parseInt(a.css("paddingLeft"),0)||0),a.data("pr")==b&&a.data("pr",parseInt(a.css("paddingRight"),0)||0),a.data("mt")==b&&a.data("mt",parseInt(a.css("marginTop"),0)||0),a.data("mb")==b&&a.data("mb",parseInt(a.css("marginBottom"),0)||0),a.data("ml")==b&&a.data("ml",parseInt(a.css("marginLeft"),0)||0),a.data("mr")==b&&a.data("mr",parseInt(a.css("marginRight"),0)||0),a.data("bt")==b&&a.data("bt",parseInt(a.css("borderTopWidth"),0)||0),a.data("bb")==b&&a.data("bb",parseInt(a.css("borderBottomWidth"),0)||0),a.data("bl")==b&&a.data("bl",parseInt(a.css("borderLeftWidth"),0)||0),a.data("br")==b&&a.data("br",parseInt(a.css("borderRightWidth"),0)||0),a.data("ls")==b&&a.data("ls",parseInt(a.css("letterSpacing"),0)||0),a.data("lh")==b&&a.data("lh",parseInt(a.css("lineHeight"),0)||"auto"),a.data("minwidth")==b&&a.data("minwidth",parseInt(a.css("minWidth"),0)||0),a.data("minheight")==b&&a.data("minheight",parseInt(a.css("minHeight"),0)||0),a.data("maxwidth")==b&&a.data("maxwidth",parseInt(a.css("maxWidth"),0)||"none"),a.data("maxheight")==b&&a.data("maxheight",parseInt(a.css("maxHeight"),0)||"none"),a.data("wii")==b&&a.data("wii",parseInt(a.css("width"),0)||0),a.data("hii")==b&&a.data("hii",parseInt(a.css("height"),0)||0),a.data("wan")==b&&a.data("wan",a.css("-webkit-transition")),a.data("moan")==b&&a.data("moan",a.css("-moz-animation-transition")),a.data("man")==b&&a.data("man",a.css("-ms-animation-transition")),a.data("ani")==b&&a.data("ani",a.css("transition")),"auto"==a.data("lh")&&a.data("lh",a.data("fsize")+4),a.hasClass("tp-splitted")||(a.css("-webkit-transition","none"),a.css("-moz-transition","none"),a.css("-ms-transition","none"),a.css("transition","none"),punchgs.TweenLite.set(a,{fontSize:Math.round(a.data("fsize")*c.bw)+"px",letterSpacing:Math.floor(a.data("ls")*c.bw)+"px",paddingTop:Math.round(a.data("pt")*c.bh)+"px",paddingBottom:Math.round(a.data("pb")*c.bh)+"px",paddingLeft:Math.round(a.data("pl")*c.bw)+"px",paddingRight:Math.round(a.data("pr")*c.bw)+"px",marginTop:a.data("mt")*c.bh+"px",marginBottom:a.data("mb")*c.bh+"px",marginLeft:a.data("ml")*c.bw+"px",marginRight:a.data("mr")*c.bw+"px",borderTopWidth:Math.round(a.data("bt")*c.bh)+"px",borderBottomWidth:Math.round(a.data("bb")*c.bh)+"px",borderLeftWidth:Math.round(a.data("bl")*c.bw)+"px",borderRightWidth:Math.round(a.data("br")*c.bw)+"px",lineHeight:Math.round(a.data("lh")*c.bh)+"px",minWidth:a.data("minwidth")*c.bw+"px",minHeight:a.data("minheight")*c.bh+"px",overwrite:"auto"}),setTimeout(function(){a.css("-webkit-transition",a.data("wan")),a.css("-moz-transition",a.data("moan")),a.css("-ms-transition",a.data("man")),a.css("transition",a.data("ani"))},30),"none"!=a.data("maxheight")&&a.css({maxHeight:a.data("maxheight")*c.bh+"px"}),"none"!=a.data("maxwidth")&&a.css({maxWidth:a.data("maxwidth")*c.bw+"px"}))},P=function(c,d){c.find(".rs-pendulum").each(function(){var c=a(this);if(c.data("timeline")==b){c.data("timeline",new punchgs.TimelineLite);var e=c.data("startdeg")==b?-20:c.data("startdeg"),f=c.data("enddeg")==b?20:c.data("enddeg"),g=c.data("speed")==b?2:c.data("speed"),h=c.data("origin")==b?"50% 50%":c.data("origin"),i=c.data("easing")==b?punchgs.Power2.easeInOut:c.data("ease");e*=d,f*=d,c.data("timeline").append(new punchgs.TweenLite.fromTo(c,g,{force3D:"auto",rotation:e,transformOrigin:h},{rotation:f,ease:i})),c.data("timeline").append(new punchgs.TweenLite.fromTo(c,g,{force3D:"auto",rotation:f,transformOrigin:h},{rotation:e,ease:i,onComplete:function(){c.data("timeline").restart()}}))}}),c.find(".rs-rotate").each(function(){var c=a(this);if(c.data("timeline")==b){c.data("timeline",new punchgs.TimelineLite);var e=c.data("startdeg")==b?0:c.data("startdeg"),f=c.data("enddeg")==b?360:c.data("enddeg");speed=c.data("speed")==b?2:c.data("speed"),origin=c.data("origin")==b?"50% 50%":c.data("origin"),easing=c.data("easing")==b?punchgs.Power2.easeInOut:c.data("easing"),e*=d,f*=d,c.data("timeline").append(new punchgs.TweenLite.fromTo(c,speed,{force3D:"auto",rotation:e,transformOrigin:origin},{rotation:f,ease:easing,onComplete:function(){c.data("timeline").restart()}}))}}),c.find(".rs-slideloop").each(function(){var c=a(this);if(c.data("timeline")==b){c.data("timeline",new punchgs.TimelineLite);var e=c.data("xs")==b?0:c.data("xs"),f=c.data("ys")==b?0:c.data("ys"),g=c.data("xe")==b?0:c.data("xe"),h=c.data("ye")==b?0:c.data("ye"),i=c.data("speed")==b?2:c.data("speed"),j=c.data("easing")==b?punchgs.Power2.easeInOut:c.data("easing");e*=d,f*=d,g*=d,h*=d,c.data("timeline").append(new punchgs.TweenLite.fromTo(c,i,{force3D:"auto",x:e,y:f},{x:g,y:h,ease:j})),c.data("timeline").append(new punchgs.TweenLite.fromTo(c,i,{force3D:"auto",x:g,y:h},{x:e,y:f,onComplete:function(){c.data("timeline").restart()}}))}}),c.find(".rs-pulse").each(function(){var c=a(this);if(c.data("timeline")==b){c.data("timeline",new punchgs.TimelineLite);var d=c.data("zoomstart")==b?0:c.data("zoomstart"),e=c.data("zoomend")==b?0:c.data("zoomend"),f=c.data("speed")==b?2:c.data("speed"),g=c.data("easing")==b?punchgs.Power2.easeInOut:c.data("easing");c.data("timeline").append(new punchgs.TweenLite.fromTo(c,f,{force3D:"auto",scale:d},{scale:e,ease:g})),c.data("timeline").append(new punchgs.TweenLite.fromTo(c,f,{force3D:"auto",scale:e},{scale:d,onComplete:function(){c.data("timeline").restart()}}))}}),c.find(".rs-wave").each(function(){var c=a(this);if(c.data("timeline")==b){c.data("timeline",new punchgs.TimelineLite);var e=c.data("angle")==b?10:c.data("angle"),f=c.data("radius")==b?10:c.data("radius"),g=c.data("speed")==b?-20:c.data("speed");c.data("origin")==b?-20:c.data("origin");e*=d,f*=d;var i={a:0,ang:e,element:c,unit:f};c.data("timeline").append(new punchgs.TweenLite.fromTo(i,g,{a:360},{a:0,force3D:"auto",ease:punchgs.Linear.easeNone,onUpdate:function(){var a=i.a*(Math.PI/180);punchgs.TweenLite.to(i.element,.1,{force3D:"auto",x:Math.cos(a)*i.unit,y:i.unit*(1-Math.sin(a))})},onComplete:function(){c.data("timeline").restart()}}))}})},Q=function(c){c.find(".rs-pendulum, .rs-slideloop, .rs-pulse, .rs-wave").each(function(){var c=a(this);c.data("timeline")!=b&&(c.data("timeline").pause(),c.data("timeline",null))})},R=function(c,d){var e=0,f=c.find(".tp-caption"),g=d.container.find(".tp-static-layers").find(".tp-caption");return a.each(g,function(a,b){f.push(b)}),f.each(function(c){var f=-1,g=a(this);if(g.hasClass("tp-static-layer")&&(g.data("startslide")!=-1&&"-1"!=g.data("startslide")||g.data("startslide",0),g.data("endslide")!=-1&&"-1"!=g.data("endslide")||g.data("endslide",d.slideamount),g.hasClass("tp-is-shown")?g.data("startslide")>d.next||g.data("endslide")<d.next?(f=2,g.removeClass("tp-is-shown")):f=0:f=2),0!=f){if(Q(g),g.find("iframe").length>0){punchgs.TweenLite.to(g.find("iframe"),.2,{autoAlpha:0}),W()&&g.find("iframe").remove();try{var h=g.find("iframe"),i=h.attr("id"),j=$f(i);j.api("pause"),clearTimeout(g.data("timerplay"))}catch(a){}try{var k=g.data("player");k.stopVideo(),clearTimeout(g.data("timerplay"))}catch(a){}}if(g.find("video").length>0)try{g.find("video").each(function(b){var c=a(this).parent();c.attr("id");clearTimeout(c.data("timerplay"));var e=this;e.pause()})}catch(a){}try{var l=g.data("timeline"),m=l.getLabelTime("frame99"),n=l.time();if(m>n){var o=l.getTweensOf(g);if(a.each(o,function(a,b){0!=a&&b.pause()}),0!=g.css("opacity")){var p=g.data("endspeed")==b?g.data("speed"):g.data("endspeed");p>e&&(e=p),l.play("frame99")}else l.progress(1,!1)}}catch(a){}}}),e},S=function(a,c,d,e,f){var g=a.data("timeline"),h=new punchgs.TimelineLite,i=a;"chars"==d.typ?i=a.data("mySplitText").chars:"words"==d.typ?i=a.data("mySplitText").words:"lines"==d.typ&&(i=a.data("mySplitText").lines),d.animation.ease=d.ease,d.animation.rotationZ!=b&&(d.animation.rotation=d.animation.rotationZ),d.animation.data=new Object,d.animation.data.oldx=d.animation.x,d.animation.data.oldy=d.animation.y,d.animation.x=d.animation.x*f,d.animation.y=d.animation.y*f,g.add(h.staggerTo(i,d.speed,d.animation,d.elementdelay),d.start),g.addLabel(e,d.start),a.data("timeline",g)},T=function(a,c,d,e,f,g){var h=a.data("timeline"),i=new punchgs.TimelineLite,j=I(),k=a.data("endspeed")==b?a.data("speed"):a.data("endspeed"),l=a.attr("class");if(j.ease=a.data("endeasing")==b?punchgs.Power1.easeInOut:a.data("endeasing"),k/=1e3,l.match("ltr")||l.match("ltl")||l.match("str")||l.match("stl")||l.match("ltt")||l.match("ltb")||l.match("stt")||l.match("stb")||l.match("skewtoright")||l.match("skewtorightshort")||l.match("skewtoleft")||l.match("skewtoleftshort")||l.match("fadeout")||l.match("randomrotateout")){l.match("skewtoright")||l.match("skewtorightshort")?j.skewX=35:(l.match("skewtoleft")||l.match("skewtoleftshort"))&&(j.skewX=-35),l.match("ltr")||l.match("skewtoright")?j.x=c.width+60:l.match("ltl")||l.match("skewtoleft")?j.x=0-(c.width+60):l.match("ltt")?j.y=0-(c.height+60):l.match("ltb")?j.y=c.height+60:l.match("str")||l.match("skewtorightshort")?(j.x=50,j.opacity=0):l.match("stl")||l.match("skewtoleftshort")?(j.x=-50,j.opacity=0):l.match("stt")?(j.y=-50,j.opacity=0):l.match("stb")?(j.y=50,j.opacity=0):l.match("randomrotateout")?(j.x=Math.random()*c.width,j.y=Math.random()*c.height,j.scale=2*Math.random()+.3,j.rotation=360*Math.random()-180,j.opacity=0):l.match("fadeout")&&(j.opacity=0),l.match("skewtorightshort")?j.x=270:l.match("skewtoleftshort")&&(j.x=-270),j.data=new Object,j.data.oldx=j.x,j.data.oldy=j.y,j.x=j.x*g,j.y=j.y*g,j.overwrite="auto";var m=a,m=a;"chars"==a.data("splitout")?m=a.data("mySplitText").chars:"words"==a.data("splitout")?m=a.data("mySplitText").words:"lines"==a.data("splitout")&&(m=a.data("mySplitText").lines);var n=a.data("endelementdelay")==b?0:a.data("endelementdelay");h.add(i.staggerTo(m,k,j,n),d)}else if(a.hasClass("customout")){j=J(j,a.data("customout"));var m=a;"chars"==a.data("splitout")?m=a.data("mySplitText").chars:"words"==a.data("splitout")?m=a.data("mySplitText").words:"lines"==a.data("splitout")&&(m=a.data("mySplitText").lines);var n=a.data("endelementdelay")==b?0:a.data("endelementdelay");j.onStart=function(){punchgs.TweenLite.set(a,{transformPerspective:j.transformPerspective,transformOrigin:j.transformOrigin,overwrite:"auto"})},j.data=new Object,j.data.oldx=j.x,j.data.oldy=j.y,j.x=j.x*g,j.y=j.y*g,h.add(i.staggerTo(m,k,j,n),d)}else e.delay=0,h.add(punchgs.TweenLite.to(a,k,e),d);h.addLabel(f,d),a.data("timeline",h)},U=function(b,c){b.children().each(function(){try{a(this).die("click")}catch(a){}try{a(this).die("mouseenter")}catch(a){}try{a(this).die("mouseleave")}catch(a){}try{
9539a(this).unbind("hover")}catch(a){}});try{b.die("click","mouseenter","mouseleave")}catch(a){}clearInterval(c.cdint),b=null},V=function(c,d){if(d.cd=0,d.loop=0,d.stopAfterLoops!=b&&d.stopAfterLoops>-1?d.looptogo=d.stopAfterLoops:d.looptogo=9999999,d.stopAtSlide!=b&&d.stopAtSlide>-1?d.lastslidetoshow=d.stopAtSlide:d.lastslidetoshow=999,d.stopLoop="off",0==d.looptogo&&(d.stopLoop="on"),d.slideamount>1&&(0!=d.stopAfterLoops||1!=d.stopAtSlide)){var e=c.find(".tp-bannertimer");c.on("stoptimer",function(){var b=a(this).find(".tp-bannertimer");b.data("tween").pause(),"on"==d.hideTimerBar&&b.css({visibility:"hidden"})}),c.on("starttimer",function(){1!=d.conthover&&1!=d.videoplaying&&d.width>d.hideSliderAtLimit&&1!=d.bannertimeronpause&&1!=d.overnav&&("on"==d.stopLoop&&d.next==d.lastslidetoshow-1||1==d.noloopanymore?d.noloopanymore=1:(e.css({visibility:"visible"}),e.data("tween").resume())),"on"==d.hideTimerBar&&e.css({visibility:"hidden"})}),c.on("restarttimer",function(){var b=a(this).find(".tp-bannertimer");"on"==d.stopLoop&&d.next==d.lastslidetoshow-1||1==d.noloopanymore?d.noloopanymore=1:(b.css({visibility:"visible"}),b.data("tween").kill(),b.data("tween",punchgs.TweenLite.fromTo(b,d.delay/1e3,{width:"0%"},{force3D:"auto",width:"100%",ease:punchgs.Linear.easeNone,onComplete:f,delay:1}))),"on"==d.hideTimerBar&&b.css({visibility:"hidden"})}),c.on("nulltimer",function(){e.data("tween").pause(0),"on"==d.hideTimerBar&&e.css({visibility:"hidden"})});var f=function(){0==a("body").find(c).length&&(U(c,d),clearInterval(d.cdint)),c.trigger("revolution.slide.slideatend"),1==c.data("c
9539onthover-changed")&&(d.conthover=c.data("conthover"),c.data("conthover-changed",0)),d.act=d.next,d.next=d.next+1,d.next>c.find(">ul >li").length-1&&(d.next=0,d.looptogo=d.looptogo-1,d.looptogo<=0&&(d.stopLoop="on")),"on"==d.stopLoop&&d.next==d.lastslidetoshow-1?(c.find(".tp-bannertimer").css({visibility:"hidden"}),c.trigger("revolution.slide.onstop"),d.noloopanymore=1):e.data("tween").restart(),z(c,d)};e.data("tween",punchgs.TweenLite.fromTo(e,d.delay/1e3,{width:"0%"},{force3D:"auto",width:"100%",ease:punchgs.Linear.easeNone,onComplete:f,delay:1})),e.data("opt",d),c.hover(function(){if("on"==d.onHoverStop&&!W()){c.trigger("stoptimer"),c.trigger("revolution.slide.onpause");var e=c.find(">ul >li:eq("+d.next+") .slotholder");e.find(".defaultimg").each(function(){var c=a(this);c.data("kenburn")!=b&&c.data("kenburn").pause()})}},function(){if(1!=c.data("conthover")){c.trigger("revolution.slide.onresume"),c.trigger("starttimer");var e=c.find(">ul >li:eq("+d.next+") .slotholder");e.find(".defaultimg").each(function(){var c=a(this);c.data("kenburn")!=b&&c.data("kenburn").play()})}})}},W=function(){var a=["android","webos","iphone","ipad","blackberry","Android","webos",,"iPod","iPhone","iPad","Blackberry","BlackBerry"],b=!1;
9539for(var c in a)navigator.userAgent.split(a[c]).length>1&&(b=!0);return b},X=function(a,b,c){var d=b.data("owidth"),e=b.data("oheight");if(d/e>c.width/c.height){var f=c.container.width()/d,g=e*f,h=g/c.container.height()*a;return a*=100/h,h=100,a=a,a+"% "+h+"% 1"}var f=c.container.width()/d,g=e*f,h=g/c.container.height()*a;return a+"% "+h+"%"},Y=function(c,d,e,f){try{c.find(">ul:first-child >li:eq("+d.act+")")}catch(a){c.find(">ul:first-child >li:eq(1)")}d.lastslide=d.act;var h=c.find(">ul:first-child >li:eq("+d.next+")"),j=h.find(".slotholder"),k=j.data("bgposition"),l=j.data("bgpositionend"),m=j.data("zoomstart")/100,n=j.data("zoomend")/100,o=j.data("rotationstart"),p=j.data("rotationend"),q=j.data("bgfit"),r=j.data("bgfitend"),s=j.data("easeme"),t=j.data("duration")/1e3,u=100;q==b&&(q=100),r==b&&(r=100);var v=q,w=r;q=X(q,j,d),r=X(r,j,d),u=X(100,j,d),m==b&&(m=1),n==b&&(n=1),o==b&&(o=0),p==b&&(p=0),m<1&&(m=1),n<1&&(n=1);var x=new Object;x.w=parseInt(u.split(" ")[0],0),x.h=parseInt(u.split(" ")[1],0);var y=!1;"1"==u.split(" ")[2]&&(y=!0),j.find(".defaultimg").each(function(){var b=a(this);0==j.find(".kenburnimg").length?j.append('<div class="kenburnimg" style="position:absolute;z-index:1;width:100%;height:100%;top:0px;left:0px;"><img src="'+b.attr("src")+'" style="-webkit-touch-callout: none;-webkit-user-select: none;-khtml-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;position:absolute;width:'+x.w+"%;height:"+x.h+'%;"></div>'):j.find(".kenburnimg img").css({width:x.w+"%",height:x.h+"%"});var c=j.find(".kenburnimg img"),e=Z(d,k,q,c,y),g=Z(d,l,r,c,y);if(y&&(e.w=v/100,g.w=w/100),f){punchgs.TweenLite.set(c,{autoAlpha:0,transformPerspective:1200,transformOrigin:"0% 0%",top:0,left:0,scale:e.w,x:e.x,y:e.y});var h=e.w,m=h*c.width()-d.width,n=h*c.height()-d.height,o=Math.abs(e.x/m*100),u=Math.abs(e.y/n*100);0==n&&(u=0),0==m&&(o=0),b.data("bgposition",o+"% "+u+"%"),i(8)||b.data("currotate",$(c)),i(8)||b.data("curscale",x.w*h+"%  "+(x.h*h+"%")),j.find(".kenburnimg").remove()}else b.data("kenburn",punchgs.TweenLite.fromTo(c,t,{autoAlpha:1,force3D:punchgs.force3d,transformOrigin:"0% 0%",top:0,left:0,scale:e.w,x:e.x,y:e.y},{autoAlpha:1,rotationZ:p,ease:s,x:g.x,y:g.y,scale:g.w,onUpdate:function(){var a=c[0]._gsTransform.scaleX,e=a*c.width()-d.width,f=a*c.height()-d.height,g=Math.abs(c[0]._gsTransform.x/e*100),h=Math.abs(c[0]._gsTransform.y/f*100);0==f&&(h=0),0==e&&(g=0),b.data("bgposition",g+"% "+h+"%"),i(8)||b.data("currotate",$(c)),i(8)||b.data("curscale",x.w*a+"%  "+(x.h*a+"%"))}}))})},Z=function(a,b,c,d,e){var f=new Object;switch(e?f.w=parseInt(c.split(" ")[1],0)/100:f.w=parseInt(c.split(" ")[0],0)/100,b){case"left top":case"top left":f.x=0,f.y=0;break;case"center top":case"top center":f.x=((0-d.width())*f.w+parseInt(a.width,0))/2,f.y=0;break;case"top right":case"right top":f.x=(0-d.width())*f.w+parseInt(a.width,0),f.y=0;break;case"center left":case"left center":f.x=0,f.y=((0-d.height())*f.w+parseInt(a.height,0))/2;break;case"center center":f.x=((0-d.width())*f.w+parseInt(a.width,0))/2,f.y=((0-d.height())*f.w+parseInt(a.height,0))/2;break;case"center right":case"right center":f.x=(0-d.width())*f.w+parseInt(a.width,0),f.y=((0-d.height())*f.w+parseInt(a.height,0))/2;break;case"bottom left":case"left bottom":f.x=0,f.y=(0-d.height())*f.w+parseInt(a.height,0);break;
9539case"bottom center":case"center bottom":f.x=((0-d.width())*f.w+parseInt(a.width,0))/2,f.y=(0-d.height())*f.w+parseInt(a.height,0);break;case"bottom right":case"right bottom":f.x=(0-d.width())*f.w+parseInt(a.width,0),f.y=(0-d.height())*f.w+parseInt(a.height,0)}return f},$=function(a){var b=a.css("-webkit-transform")||a.css("-moz-transform")||a.css("-ms-transform")||a.css("-o-transform")||a.css("transform");if("none"!==b)var c=b.split("(")[1].split(")")[0].split(","),d=c[0],e=c[1],f=Math.round(Math.atan2(e,d)*(180/Math.PI));else var f=0;return f<0?f+=360:f},_=function(c,d){try{var e=c.find(">ul:first-child >li:eq("+d.act+")")}catch(a){var e=c.find(">ul:first-child >li:eq(1)")}d.lastslide=d.act;var f=c.find(">ul:first-child >li:eq("+d.next+")");e.find(".slotholder"),f.find(".slotholder");c.find(".defaultimg").each(function(){var c=a(this);punchgs.TweenLite.killTweensOf(c,!1),punchgs.TweenLite.set(c,{scale:1,rotationZ:0}),punchgs.TweenLite.killTweensOf(c.data("kenburn img"),!1),c.data("kenburn")!=b&&c.data("kenburn").pause(),c.data("currotate")!=b&&c.data("bgposition")!=b&&c.data("curscale")!=b&&punchgs.TweenLite.set(c,{rotation:c.data("currotate"),backgroundPosition:c.data("bgposition"),backgroundSize:c.data("curscale")}),c!=b&&c.data("kenburn img")!=b&&c.data("kenburn img").length>0&&punchgs.TweenLite.set(c.data("kenburn img"),{autoAlpha:0})})},aa=function(b,c){return(!W()||"on"!=c.parallaxDisableOnMobile)&&(b.find(">ul:first-child >li").each(function(){for(var b=a(this),d=1;d<=10;d++)b.find(".rs-parallaxlevel-"+d).each(function(){var b=a(this);b.wrap('<div style="position:absolute;top:0px;left:0px;width:100%;height:100%;z-index:'+b.css("zIndex")+'" class="tp-parallax-container" data-parallaxlevel="'+c.parallaxLevels[d-1]+'"></div>')})}),"mouse"!=c.parallax&&"scroll+mouse"!=c.parallax&&"mouse+scroll"!=c.parallax||(b.mouseenter(function(a){var c=b.find(".current-sr-slide-visible"),d=b.offset().top,e=b.offset().left,f=a.pageX-e,g=a.pageY-d;c.data("enterx",f),c.data("entery",g)}),b.on("mousemove.hoverdir, mouseleave.hoverdir",function(d){var e=b.find(".current-sr-slide-visible");switch(d.type){case"mousemove":var f=b.offset().top,g=b.offset().left,h=e.data("enterx"),i=e.data("entery"),j=h-(d.pageX-g),k=i-(d.pageY-f);e.find(".tp-parallax-container").each(function(){var b=a(this),d=parseInt(b.data("parallaxlevel"),0)/100,e=j*d,f=k*d;"scroll+mouse"==c.parallax||"mouse+scroll"==c.parallax?punchgs.TweenLite.to(b,.4,{force3D:"auto",x:e,ease:punchgs.Power3.easeOut,overwrite:"all"}):punchgs.TweenLite.to(b,.4,{force3D:"auto",x:e,y:f,ease:punchgs.Power3.easeOut,overwrite:"all"})});break;case"mouseleave":e.find(".tp-parallax-container").each(function(){var b=a(this);"scroll+mouse"==c.parallax||"mouse+scroll"==c.parallax?punchgs.TweenLite.to(b,1.5,{force3D:"auto",x:0,ease:punchgs.Power3.easeOut}):punchgs.TweenLite.to(b,1.5,{force3D:"auto",x:0,y:0,ease:punchgs.Power3.easeOut})})}}),W()&&(window.ondeviceorientation=function(c){var d=Math.round(c.beta||0),e=Math.round(c.gamma||0),f=b.find(".current-sr-slide-visible");if(a(window).width()>a(window).height()){var g=e;e=d,d=g}var h=360/b.width()*e,i=180/b.height()*d;f.find(".tp-parallax-container").each(function(){var b=a(this),c=parseInt(b.data("parallaxlevel"),0)/100,d=h*c,e=i*c;punchgs.TweenLite.to(b,.2,{force3D:"auto",x:d,y:e,ease:punchgs.Power3.easeOut})})})),void("scroll"!=c.parallax&&"scroll+mouse"!=c.parallax&&"mouse+scroll"!=c.parallax||a(window).on("scroll",function(a){ba(b,c)})))},ba=function(b,c){if(W()&&"on"==c.parallaxDisableOnMobile)return!1;var d=b.offset().top,e=a(window).scrollTop(),f=d+b.height()/2,g=d+b.height()/2-e,h=a(window).height()/2,i=h-g;f<h&&(i-=h-f);b.find(".current-sr-slide-visible");if(b.find(".tp-parallax-container").each(function(b){var c=a(this),d=parseInt(c.data("parallaxlevel"),0)/100,e=i*d;c.data("parallaxoffset",e),punchgs.TweenLite.to(c,.2,{force3D:"auto",y:e,ease:punchgs.Power3.easeOut})}),"on"!=c.parallaxBgFreeze){var k=c.parallaxLevels[0]/100,l=i*k;punchgs.TweenLite.to(b,.2,{force3D:"auto",y:l,ease:punchgs.Power3.easeOut})}},ca=function(c,d){var e=c.parent();"thumb"!=d.navigationType&&"both"!=d.navsecond||e.append('<div class="tp-bullets tp-thumbs '+d.navigationStyle+'"><div class="tp-mask"><div class="tp-thumbcontainer"></div></div></div>');var f=e.find(".tp-bullets.tp-thumbs .tp-mask .tp-thumbcontainer"),g=f.parent();
9539g.width(d.thumbWidth*d.thumbAmount),g.height(d.thumbHeight),g.parent().width(d.thumbWidth*d.thumbAmount),g.parent().height(d.thumbHeight),c.find(">ul:first >li").each(function(a){var e=c.find(">ul:first >li:eq("+a+")"),g=e.find(".defaultimg").css("backgroundColor");if(e.data("thumb")!=b)var h=e.data("thumb");else var h=e.find("img:first").attr("src");f.append('<div class="bullet thumb" style="background-color:'+g+";position:relative;width:"+d.thumbWidth+"px;height:"+d.thumbHeight+"px;background-image:url("+h+') !important;background-size:cover;background-position:center center;"></div>');f.find(".bullet:first")});var h=10;f.find(".bullet").each(function(b){var e=a(this);b==d.slideamount-1&&e.addClass("last"),0==b&&e.addClass("first"),e.width(d.thumbWidth),e.height(d.thumbHeight),h<e.outerWidth(!0)&&(h=e.outerWidth(!0)),e.click(function(){0==d.transition&&e.index()!=d.act&&(d.next=e.index(),j(d,c))})});var i=h*c.find(">ul:first >li").length,k=f.parent().width();d.thumbWidth=h,k<i&&(a(document).mousemove(function(b){a("body").data("mousex",b.pageX)}),f.parent().mouseenter(function(){var b=a(this),d=b.offset(),e=a("body").data("mousex")-d.left,f=b.width(),g=b.find(".bullet:first").outerWidth(!0),h=g*c.find(">ul:first >li").length,i=h-f+15,j=i/f;b.addClass("over"),e-=30;var k=0-e*j;k>0&&(k=0),k<0-h+f&&(k=0-h+f),ea(b,k,200)}),f.parent().mousemove(function(){var b=a(this),d=b.offset(),e=a("body").data("mousex")-d.left,f=b.width(),g=b.find(".bullet:first").outerWidth(!0),h=g*c.find(">ul:first >li").length-1,i=h-f+15,j=i/f;e-=3,e<6&&(e=0),e+3>f-6&&(e=f);var k=0-e*j;k>0&&(k=0),k<0-h+f&&(k=0-h+f),ea(b,k,0)}),f.parent().mouseleave(function(){var b=a(this);b.removeClass("over"),da(c)}))},da=function(a){var b=a.parent().find(".tp-bullets.tp-thumbs .tp-mask .tp-thumbcontainer"),c=b.parent(),e=(c.offset(),c.find(".bullet:first").outerWidth(!0)),f=c.find(".bullet.selected").index()*e,g=c.width(),e=c.find(".bullet:first").outerWidth(!0),h=e*a.find(">ul:first >li").length,k=0-f;k>0&&(k=0),k<0-h+g&&(k=0-h+g),c.hasClass("over")||ea(c,k,200)},ea=function(a,b,c){punchgs.TweenLite.to(a.find(".tp-thumbcontainer"),.2,{force3D:"auto",left:b,ease:punchgs.Power3.easeOut,overwrite:"auto"})}}(jQuery);
9540</script>
9540
9541    
9541<script src="https://cdn.paraty.es/static_files/sahotels/generic/202608191505/lib/jquery.simpleweather/jquery.simpleWeather.min.js?v=1.1" crossorigin="anonymous" integrity="sha512-DFIZ3v+Pe/dhHNuFxIwBZOjhUwE8lPujFixqpQSjc7bRp/LgdnSjRlUxScC0z++C96uu/v8bprGcL0eiATymeQ=="></script>
9541
9542    
9542<script type="text/javascript" src="https://cdn.paraty.es/static_files/sahotels/generic/202608191505/i18n/messages_en.js?v=1.2"></script>
9542
9543    
9543<script async defer src="https://cdn.paraty.es/static_files/sahotels/generic/202608191505/lib/owlcarousel/owl.carousel.min.js" crossorigin="anonymous" integrity="sha512-w3VtLstKUtGqSqUX5T04jDbyz27PkqkEKRuTlQU7cxu934A5KktmSFOB0zUIzPLS3F+XCWj8v+9/dvOBxvVWkA=="></script>
9543
9544    
9544<script type="text/javascript" src="https://cdn.paraty.es/static_files/sahotels/generic/202608191505/scripts/common.js" crossorigin="anonymous" integrity="sha512-T2GzMtE332mVrrtfpEquC/k05aPayZyMT68NA5hSPrxCloYBqyg30ZT6nYY6E0EmYOwu/Tvdp26bVHeJ2EFiQQ=="></script>
9544
9545    
9545<script type="text/javascript" src="https://cdn.paraty.es/static_files/sahotels/generic/202608191505/plugins/pricescalendar/calendar.plugin.js" crossorigin="anonymous" integrity="sha512-Pj5NVB17kisQhbHxeHHaXfWCdPow94Lo69hfPMNE7h5U1TecCOhz44br1k55JgjzTzxdT4yZYlWRsktA8TdGtA=="></script>
9545
9546    
9546<script type="text/javascript" src="https://cdn.paraty.es/static_files/sahotels/generic/202608191505/plugins/dates-selector/datepicker_v1.js" crossorigin="anonymous" integrity="sha512-NRmdihwFdZn8IRkR9uQ11UpI9GYFc83z09xYgakibrmGU6LDAZiUlyG5gSQkWwr3dfb+PnFG5VVU5ir5Qrqd3Q=="></script>
9546
9547    
9547<script>
9548    $(function () {
9549        DP_extend_info.config.booking_version = '27';
9550        DP_extend_info.config.flexibility_dates_datepicker = true;
9551        deep_copy = jQuery.extend(true, {}, DP_extend_info);
9552        old_copy = jQuery.extend(true, {}, DP_extend_info);
9553
9554        old_copy.config.booking_version = '7';
9555        old_copy.config.custom_format_day_month = function (dateComponents) {
9556            dateComponents = dateComponents.split("/");
9557            var html_date = "<span class='day'>%d</span> <span class='month'>%m</span>",
9558                month_names = $.datepicker._defaults.monthNamesShort,
9559                month_name = month_names[parseInt(dateComponents[1], 10) - 1];
9560            return html_date.replace("%d", dateComponents[0]).replace("%m", month_name);
9561        };
9562        deep_copy.config.class_general_datepicker_wrapper = 'datepicker_wrapper_element_2';
9563        deep_copy.config.class_datepicker_sd = 'datepicker_ext_inf_sd_2';
9564        deep_copy.config.class_datepicker_ed = 'datepicker_ext_inf_ed_2';
9565        deep_copy.config.start_date_selector = "#fecha_entrada";
9566        deep_copy.config.end_date_selector = "#fecha_salida";
9567        deep_copy.config.booking_version = '2';
9568    });
9569    $(window).load(function () {
9570        old_copy.init();
9571        deep_copy.init();
9572        $("#full_wrapper_booking label.dates_selector_label").html("<span>Check-In</span><span>Check-Out</span>");
9573    });
9574    </script>
9574
9575    <input type="hidden" id="room_tag" value="Room">
9576    <input type="hidden" id="rooms_tag" value="Rooms">
9577    
9577<script type="text/javascript" src="https://cdn.paraty.es/static_files/sahotels/generic/202608191505/lib/addAnimation.js" crossorigin="anonymous" integrity="sha512-X026I6gXpvAcNDyh5xwgvquH2vTCS3fmKp/3G7hsTDl8HhnAOF88XzmBthnjo3NERIUjwE4ns120cXXQZ7jZ3A=="></script>
9577
9578    
9578<script async type="text/javascript" src="https://cdn.paraty.es/static_files/sahotels/generic/202608191505/scripts/booking_7.js" crossorigin="anonymous" integrity="sha512-YsB6ZzwjCjUbxUbhatw0XJay9bs100BMzxh+fLx0tGlygGZ6gsb6heqFIfZ6lRQUORUEvkfW9KsUzgo6WywCTw=="></script>
9578
9579    
9579<script src="https://cdn.paraty.es/static_files/sahotels/generic/202608191505/scripts/hotel_selector_2.js" crossorigin="anonymous" integrity="sha512-G4ndY9vZ6/5UZi+IcScaBnFr/eAtJB0FUPB3iEK2a3VCRmgsu3uqrDEFrg1xKZR5NDGQCwfah/UM1aCQwp7O2Q=="></script>
9579
9580    
9580<script async type="text/javascript" src="https://cdn.paraty.es/static_files/sahotels/generic/202608191505/scripts/booking_full_popup.js" crossorigin="anonymous" integrity="sha512-FADz3wfZ+rjOlYy8l6VwdMIReyc8ho8cTOQNKsfoYtG/YLODRfXw+TdsxeR2CG9w3QOvxI3WIiybGIpYKODbBw=="></script>
9580
9581    
9581<script async type="text/javascript" type="text/javascript" src="/js/sahos/booking_engine_personalize.js?v=1.15"></script>
9581
9582    
9582<script async type="text/javascript" type="text/javascript" src="/js/sahos/functions.js?v=1.14"></script>
9582
9583    
9583<script async type="text/javascript" src="//www.tripadvisor.com/js3/conversion/pixel.js" crossorigin="anonymous" integrity="sha512-SqG9s7MDCO3rsgQClul/Zc+o4IfKK0trb4ozTj2bwIz1jKACSgBThnpH85WWGMviEKs33h60W4XE5WwHllfYMQ=="></script>
9583
9584
9585    <div style="display: none;">
9586        <div id="data">
9587            <div id="wrapper_booking_fancybox">
9588                <div id="booking_widget_popup" class="booking_widget_fancybox">
9589
9590
9591
9592
9593
9594<div id="motor_reserva">
9595<!-- booking engine 2 -->
9596	<form action="https://www.hotelsantoamaro.com/booking1" name="searchForm" id="searchForm" method="post" class="paraty-booking-form motor2">
9597
9598
9599        
9600
9601        
9602
9603        
9604
9605        
9606
9607		<input type="hidden" id="language" name="language" value="ENGLISH" />
9608		<input type="hidden" id="agesKid1" name="agesKid1" value="" />
9609		<input type="hidden" id="agesKid2" name="agesKid2" value="" />
9610		<input type="hidden" id="agesKid3" name="agesKid3" value="" />
9611
9612        <input id="roomType"  type="hidden" name="roomType" value="">
9613         <input class="roomTypeValue"  type="hidden" name="roomTypeValue" value="">
9614
9615        <input id="roomFilter"  type="hidden" name="roomFilter" value="">
9616        <input id="roomFilterName"  type="hidden" name="roomFilterName" value="">
9617
9618        <input type="hidden" id="roomtype_list_json" name="roomtype_list_json" value="">
9619
9620        <input id="boardFilter"  type="hidden" name="boardFilter" value="">
9621        <input id="keyBooking0Source"  type="hidden" name="keyBooking0Source" value="">
9622
9623        
9624
9625         <input type="hidden" value="" name="priceSeekerHotel" id="priceSeekerHotel"/>
9626
9627        
9628
9629
9630        
9631        
9632
9633        <!-- EXTRA PARAMS -->
9634        
9635        <!-- END EXTRA PARAMS -->
9636
9637        <input type="hidden" id="gclid" name="gclid" value="" />
9638
9639        <input type="hidden" id="using_booking_0" name="using_booking_0" value="" />
9640
9641        
9642
9643        
9644
9645        <input type="hidden" id="namespace" name="namespace" value="sa-amaro" />
9646
9647        <div id="booking_engine_title">
9648            <h4 id="booking_title1">Book here</h4>
9649            <h4 id="booking_title2">Book now</h4>
9650            <h3 id="best_price">BEST PRICE GUARANTEED</h3>
9651            
9652        </div>
9653
9654
9655        
9656
9657
9658		<div id="contenedor_hotel">
9659         
9660        
9661        
9662        
9663        
9664        
9665
9666        
9667        </div>
9668
9669    <fieldset id="contenedor_fechas">
9670        <legend class="sr-only">Dates</legend>
9671        <div id="fecha_entrada" class="colocar_fechas fecha_entrada">
9672            <label id="titulo_fecha_entrada" class="float_fecha" for="datepicker1">Check-In Date</label>
9673            <input type="text" class="float_fecha classdatepicker1" name="startDate" id="datepicker1" tabindex="4" readonly="readonly" autocomplete="off"/>
9674        </div>
9675        <div id="fecha_salida" class="colocar_fechas fecha_salida">
9676            <label id="titulo_fecha_salida" class="float_fecha" for="datepicker2">Check-Out Date</label>
9677            <input type="text" class="float_fecha classdatepicker2" name="endDate" id="datepicker2" tabindex="5" readonly="readonly" autocomplete="off"/>
9678        </div>
9679        <div id="contador_noches" class="colocar_fechas">
9680            <p class="float_fecha">Number of Nights: X</p>
9681        </div>
9682    </fieldset>
9683
9684
9685    <fieldset id="contenedor_habitaciones" >
9686      <legend class="sr-only">Rooms</legend>
9687      <label for="selector_habitaciones">   Rooms  </label>
9688      <select id="selector_habitaciones" name="numRooms" onchange="mostrarHabitaciones(this.value);" tabindex="6">
9689          
9690              <option value="1" selected="selected">1</option>
9691          
9692              <option value="2" >2</option>
9693          
9694              <option value="3" >3</option>
9695          
9696      </select>
9697    </fieldset>
9698        <fieldset id="contenedor_opciones" >
9699            <legend class="sr-only">Occupancy</legend>
9700			<div id="hab1">
9701                <label class="numero_habitacion"> Room   1</label>
9702                <div class="adultos numero_personas">
9703                    <label class="selector_adultos" id="titulo_adultos">Adults</label>
9704                    <select class="selector_adultos" id="hab1_adultos" name="adultsRoom1" tabindex="7">
9705                        
9706                            <option value="1" >1</option>
9707                        
9708                            <option value="2"  selected="selected">2</option>
9709                        
9710                            <option value="3" >3</option>
9711                        
9712                            <option value="4" >4</option>
9713                        
9714                            <option value="5" >5</option>
9715                        
9716                            <option value="6" >6</option>
9717                        
9718                            <option value="7" >7</option>
9719                        
9720                            <option value="8" >8</option>
9721                        
9722                    </select>
9723                </div>
9724                <div class="ninos numero_personas " title="Babies go free">
9725                    <label for="childrenRoom1" id="titulo_ninos" class="selector_ninos">Children</label>
9726                    <select id="hab1_ninos" class="selector_ninos" name="childrenRoom1" onchange="" tabindex="8">
9727                        
9728                        <option value="0"  selected="selected" >
9729                        
9730                        0
9731                        
9732                        </option>
9733                        
9734                        <option value="1" >
9735                        
9736                        1
9737                        
9738                        </option>
9739                        
9740                        <option value="2" >
9741                        
9742                        2
9743                        
9744                        </option>
9745                        
9746                        <option value="3" >
9747                        
9748                        3
9749                        
9750                        </option>
9751                        
9752                        <option value="4" >
9753                        
9754                        4
9755                        
9756                        </option>
9757                        
9758                    </select>
9759                    <label id="info_ninos" class="selector_ninos">
9760                    
9761                        
9762                          (from&nbsp;4&nbsp;to&nbsp;12&nbsp;years)
9763                        
9764                    
9765                    </label>
9766                </div>
9767
9768                
9769            </div>
9770
9771
9772            <div id="hab2">
9773                <label class="numero_habitacion">Room 2</label>
9774                <div class="adultos numero_personas">
9775                    <select class="selector_adultos" id="hab2_adultos" name="adultsRoom2" tabindex="10">
9776                        
9777                        <option value="1" >1</option>
9778                        
9779                        <option value="2"  selected="selected">2</option>
9780                        
9781                        <option value="3" >3</option>
9782                        
9783                        <option value="4" >4</option>
9784                        
9785                        <option value="5" >5</option>
9786                        
9787                        <option value="6" >6</option>
9788                        
9789                        <option value="7" >7</option>
9790                        
9791                        <option value="8" >8</option>
9792                        
9793                    </select>
9794                </div>
9795                <div class="ninos numero_personas " title="Babies go free">
9796                    <select id="hab2_ninos" class="selector_ninos" name="childrenRoom2" onchange="" tabindex="11">
9797                        
9798                        <option value="0"  selected="selected" >
9799                        
9800                        0
9801                        
9802                        </option>
9803                        
9804                        <option value="1" >
9805                        
9806                        1
9807                        
9808                        </option>
9809                        
9810                        <option value="2" >
9811                        
9812                        2
9813                        
9814                        </option>
9815                        
9816                        <option value="3" >
9817                        
9818                        3
9819                        
9820                        </option>
9821                        
9822                        <option value="4" >
9823                        
9824                        4
9825                        
9826                        </option>
9827                        
9828                    </select>
9829                </div>
9830
9831                
9832            </div>
9833
9834            <div id="hab3">
9835                <label class="numero_habitacion">Room 3</label>
9836                <div class="adultos numero_personas">
9837                    <select class="selector_adultos" id="hab3_adultos" name="adultsRoom3" tabindex="13">
9838                        
9839                        <option value="1" >1</option>
9840                        
9841                        <option value="2"  selected="selected">2</option>
9842                        
9843                        <option value="3" >3</option>
9844                        
9845                        <option value="4" >4</option>
9846                        
9847                        <option value="5" >5</option>
9848                        
9849                        <option value="6" >6</option>
9850                        
9851                        <option value="7" >7</option>
9852                        
9853                        <option value="8" >8</option>
9854                        
9855                    </select>
9856                </div>
9857                <div class="ninos numero_personas " title="Babies go free">
9858                    <select id="hab3_ninos" class="selector_ninos" name="childrenRoom3" onchange="" tabindex="14">
9859                        
9860                        <option value="0"  selected="selected" >
9861                        
9862                        0
9863                        
9864                        </option>
9865                        
9866                        <option value="1" >
9867                        
9868                        1
9869                        
9870                        </option>
9871                        
9872                        <option value="2" >
9873                        
9874                        2
9875                        
9876                        </option>
9877                        
9878                        <option value="3" >
9879                        
9880                        3
9881                        
9882                        </option>
9883                        
9884                        <option value="4" >
9885                        
9886                        4
9887                        
9888                        </option>
9889                        
9890                    </select>
9891                </div>
9892
9893                
9894            </div>
9895		</fieldset>
9896
9897		<fieldset id="envio">
9898            <legend class="sr-only">Book here</legend>
9899            
9900                <input type="text" id="promocode" class="colocar_envio promocode_input_class" name="promocode" aria-label="Promotional code"
9901                        placeholder="Promotional code" 
9902                       value=""
9903                       tabindex="16">
9904
9905                
9906			
9907
9908            <button type="submit" onclick="$(this).addClass('clicked_button');return bookingSearch() " id="search-button" class="colocar_envio buttonsearch-ratecheck" tabindex="17">Book here</button>
9909            <div id="envio_spinner"></div>
9910        </fieldset>
9911
9912        
9913
9914            <input type="hidden" id="booking-search-popup" name="booking-search-popup" value="true">
9915
9916            
9916<script>
9917
9918                function show_booking_search_popup(myForm) {
9919                    if (typeof(sending_form_custom_from_paraty) == 'undefined'){
9920                        sending_form_custom_from_paraty = true;
9921                        setTimeout( function(myForm) { openBookingSearchPopup(myForm); }, 1000, myForm );
9922                    }
9923                };
9924
9925                function openBookingSearchPopup(myForm) {
9926                    
9927                        return openBookingSearchPopup_v2(myForm);
9928                    
9929
9930                    var elements = [
9931                        
9932                    ]
9933
9934                    var popup_description = "";
9935                    if (typeof(custom_popup_loading_description) != 'undefined') {
9936                        popup_description = custom_popup_loading_description;
9937                    }
9938
9939
9940                    
9941                        showGallery(elements);
9942                    
9943
9944                    myForm.submit();
9945
9946                }
9947
9948                function openBookingSearchPopup_v2(myForm, show_popup=true) {
9949
9950                    if ((window.location !== window.parent.location) && show_popup) {
9951                        const parentMessage = {
9952                            message: 'resize_iframe',
9953                            height: 700,
9954                        };
9955
9956                        window.parent.postMessage(parentMessage, '*');
9957                    }
9958
9959                    var container_booking_popup = $('<div></div>').addClass('container_popup_booking').css('text-align', 'center'),
9960                        loading_popup_top_text = `Updating to continue with your booking`;
9961
9962                        
9963                            var loading_popup_top_text = $("<img src='https://cdn2.paraty.es/sa-amaro/images/fa00045fe099c1a'>");
9964                        
9965                        
9966                        if ($('.logo_namespace').length) {
9967                            var logo_namespace = $("input[name='namespace']").val();
9968                            var url_logo = $('#logo_' + logo_namespace).val();
9969                            loading_popup_top_text = $("<img src='"+ url_logo +"'>");
9970                        }
9971
9972                    let loading_popup_bottom_text = `<div><font color='#030303'>	Checking the availability of your search:<br><br>        From  <strong>@@start_date@@</strong> to <strong>@@end_date@@</strong></font></div>`,
9973                        descipription_top_booking_popup = $("<div></div>").addClass('description_top_popup_booking').html(loading_popup_top_text);
9974
9975                    const specialLoadingTextElem = $('input[name="special_loading_text"]');
9976                    if(specialLoadingTextElem.length && specialLoadingTextElem.val()){
9977                        loading_popup_bottom_text = specialLoadingTextElem.val();
9978                    }
9979
9980                    let descipription_bottom_booking_popup = $("<div></div>").addClass('description_bottom_popup_booking').html(loading_popup_bottom_text),
9981                        gif_wrapper = $("<div></div>").addClass('gif_wrapper'),
9982                        number_of_lines = 20;
9983
9984                    for (var x = 0; x < number_of_lines; x++) {
9985                        var target_delay_css = {
9986                            '-webkit-animation-delay': -(1.5 - (0.1 * x)) + 's',
9987                            '-moz-animation-delay': -(1.5 - (0.1 * x)) + 's',
9988                            '-o-animation-delay': -(1.5 - (0.1 * x)) + 's',
9989                            'animation-delay': -(1.5 - (0.1 * x)) + 's'
9990                        };
9991                        var element_line_to_append = $("<div></div>").addClass("default_line_loading").css(target_delay_css);
9992                        
9993                            element_line_to_append.css('background', '#1C1C1C');
9994                        
9995
9996                        element_line_to_append.appendTo(gif_wrapper);
9997                    }
9998
9999                    
10000                        container_booking_popup.css('border', '1px solid #1C1C1C');
10001                    
10002
10003                    
10004
10005                    
10006
10007                    
10008                        container_booking_popup.append(descipription_top_booking_popup).append(gif_wrapper).append(descipription_bottom_booking_popup);
10009                    
10010
10011                    var selected_start_date = $("input.has_datepicker[name='startDate']").val() || $("input[name='startDate']").val();
10012                        selected_end_date = $("input.has_datepicker[name='endDate']").val() || $("input[name='endDate']").val();
10013                    if(selected_start_date === ''){
10014                        var today = new Date();
10015                        var dd = today.getDate();
10016                        var mm = today.getMonth()+1; //January is 0!
10017                        var yyyy = today.getFullYear();
10018                        if(dd<10) {dd = '0'+dd}
10019                        if(mm<10) {mm = '0'+mm}
10020                        today = dd + '/' + mm + '/' + yyyy;
10021                        selected_start_date = today;
10022                    }
10023
10024                    var custom_format_date = "";
10025                    if (custom_format_date) {
10026
10027                        var splitted_start_date = selected_start_date.split("/"),
10028                            start_day = splitted_start_date[0],
10029                            start_month = splitted_start_date[1],
10030                            start_year = splitted_start_date[2],
10031                            start_datetime = new Date(start_year, start_month - 1, start_day),
10032                            week_start_day = start_datetime.getDay();
10033
10034                        var splitted_end_date = selected_end_date.split("/"),
10035                            end_day = splitted_end_date[0],
10036                            end_month = splitted_end_date[1],
10037                            end_year = splitted_end_date[2],
10038                            end_datetime = new Date(end_year, end_month - 1, end_day),
10039                            week_end_day = end_datetime.getDay();
10040
10041                        var days_list = $.datepicker._defaults.dayNames;
10042
10043                        //Start date
10044                        selected_start_date = custom_format_date.replace("%m", start_month).replace("%d", start_day).replace("%Y", start_year);
10045                        selected_start_date = selected_start_date.replace("%a", days_list[week_start_day]).replace("%bb", _monthNames[start_month - 1]).replace("%b", _monthNames[start_month - 1]);
10046
10047                        //End date
10048                        selected_end_date = custom_format_date.replace("%m", end_month).replace("%d", end_day).replace("%Y", end_year);
10049                        selected_end_date = selected_end_date.replace("%a", days_list[week_end_day]).replace("%bb", _monthNames[end_month - 1]).replace("%b", _monthNames[end_month - 1]);
10050                    }
10051
10052                    //Protection for failures
10053                    if(selected_start_date.indexOf('NaN') > -1 || selected_end_date.indexOf('NaN')){
10054                        container_booking_popup.html(container_booking_popup.html().replace("@@start_date@@", selected_start_date).replace("@@end_date@@", selected_end_date));
10055                    } else {
10056                        container_booking_popup.find(".description_bottom_popup_booking").remove();
10057                    }
10058                    if (show_popup) {
10059                        var fancybox_params = {
10060                            width: 'auto',
10061                            maxWidth: 800,
10062                            height: 'auto',
10063                            fitToView: false,
10064                            autoSize: false,
10065                            padding: 0,
10066                            closeClick: false,
10067                            closeBtn: false,
10068                            helpers: {
10069                                overlay: {
10070                                    css:
10071                                        {'background': '#FFFFFF'},
10072                                    closeClick: false
10073                                } // prevents closing when clicking OUTSIDE fancybox
10074                            },
10075                            wrapCSS: 'fancy-booking-search_v2 full_screen_engine custom_color_overlay',
10076                            beforeShow: function () {
10077                                $('.fancybox-bg').css('background', '#FFFFFF');
10078                                if (typeof (cookiesController) !== 'undefined' && cookiesController.search_cookie("step_history_back")) {
10079                                    cookiesController.delete_cookie("step_history_back");
10080                                }
10081                            }
10082                        };
10083                        if ($.fancybox.version.slice(0, 2) === '3.') {
10084                            fancybox_params['baseClass'] = 'fancybox-wrap fancy-booking-search_v2 full_screen_engine custom_color_overlay';
10085                            fancybox_params['modal'] = true;
10086                            $.fancybox.open(container_booking_popup, fancybox_params);
10087                        } else {
10088                            $.fancybox(container_booking_popup, fancybox_params);
10089                        }
10090                        if (myForm) {
10091                            if (!navigator.userAgent.match(/chrome/i) && (navigator.userAgent.match(/safari/i) || !navigator.userAgent.match(/firefox/i))) {
10092                                setTimeout(function () {
10093                                    myForm.submit();
10094                                }, 700);
10095                            } else {
10096                                myForm.submit();
10097                            }
10098                        }
10099                    }
10100                }
10101
10102
10103                
10104
10105                function showGallery(elements) {
10106                    $.fancybox(elements, {
10107                        'modal': true,
10108                        'closeBtn': false,
10109                        'autoPlay': true,
10110                        'playSpeed': 3000,
10111                        'prevEffect': 'none',
10112                        'nextEffect': 'none',
10113                        'type': 'image',
10114                        'arrows': false,
10115                        'nextClick': false,
10116                        'mouseWheel': false,
10117                        'helpers': {
10118                            title: {
10119                                type: 'outside'
10120                            },
10121                            overlay: {
10122                                opacity: 0.8,
10123                                css: {
10124                                    'background-color': '#000'
10125                                }
10126                            }
10127                        },
10128                        'padding': 0
10129                    });
10130                }
10131
10132            </script>
10132
10133
10134        
10135
10136	</form>
10137
10138    
10139
10140 </div>
10141
10142 
10143 <!-- Javascript at the bottom to increase speed -->
10144
10145  
10146
10147<script type="text/javascript" src="https://cdn.paraty.es/static_files/sahotels/generic/202608191505/lib/spin.min.js" crossorigin="anonymous" integrity="sha512-V8YgI4rsECe0shqE5P2p/ecolN3asrnTMTChlJ1pwxjrtc2nxJyYDP3k55/9Yxp+qsTDUMrUoAd7q62sC998Gw=="></script>
10147
10148
10149
10150<!-- Javascript at the bottom to increase speed -->
10151
10152
10153
10154<script type="text/javascript">
10155
10156
10157
10158    var datePicker1Selector = ".classdatepicker1";
10159    var datePicker2Selector = ".classdatepicker2";
10160
10161
10162
10163
10164$("#hotel_destino").change(function() {
10165	  var action = $(this).val();
10166	  $("#searchForm").attr("action", action);
10167      var newNamespace = namespaces[action];
10168      $("#namespace").val(newNamespace);
10169
10170	});
10171
10172
10173
10174
10175	
10176
10177
10178
10179if (typeof $.datepicker !== "undefined"){
10180    $.datepicker.regional['en'] = {
10181        closeText: 'Done',
10182        prevText: 'Prev',
10183        nextText: 'Next',
10184        currentText: 'Today',
10185        monthNames: ['January','February','March','April','May','June',
10186        'July','August','September','October','November','December'],
10187        monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
10188        'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
10189        dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
10190        dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
10191        dayNamesMin: ['Su','Mo','Tu','We','Th','Fr','Sa'],
10192        weekHeader: 'Wk',
10193        dateFormat: 'dd/mm/yy',
10194        firstDay: 1,
10195        isRTL: false,
10196        showMonthAfterYear: false,
10197        yearSuffix: ''};
10198    $.datepicker.setDefaults($.datepicker.regional['en-GB']);
10199}
10200
10201
10202
10203$(function(){
10204    $.datepicker.setDefaults($.datepicker.regional["en"]);
10205});
10206
10207var checkDates = function() {
10208
10209
10210	var date1_str = $(datePicker1Selector).val();
10211	var date2_str = $(datePicker2Selector).val();
10212
10213	if (date1_str == "" || date2_str == ""){
10214		return false;
10215	} else {
10216		return true;
10217	}
10218}
10219
10220$(document).ready(function () {
10221
10222  if ($('#internalStartDate').length != 0) {
10223        var startDate = $('#internalStartDate').val();
10224        var startYear = startDate.substring(0,4);
10225        var startMonth = startDate.substring(5,7);
10226        var startDay = startDate.substring(8,10);
10227        var startParse = startDay + "/" + startMonth + "/" + startYear;
10228        var endDate = $('#internalEndDate').val();
10229        var endYear = endDate.substring(0,4);
10230        var endMonth = endDate.substring(5,7);
10231        var endDay = endDate.substring(8,10);
10232        var endParse = endDay + "/" + endMonth + "/" + endYear;
10233    } else {
10234        var startParse = "";
10235        var endParse = "";
10236    }
10237
10238	$(datePicker1Selector).val(startParse);
10239	$(datePicker2Selector).val(endParse);
10240
10241	if ($(".internalUrlParamsTransfer").length){
10242
10243	    let target_value = $(".internalUrlParamsTransfer").val();
10244	    if (!$(".transfer_to_booking").length) {
10245	        $(".paraty-booking-form").each(function(){
10246                $(this).append($("<input type='hidden' class='transfer_to_booking' name='transfer_url_params' value='" + target_value + "'>"));
10247            })
10248        } else {
10249	        $(".transfer_to_booking").val(target_value)
10250        }
10251    }
10252
10253    if ($('#internalNumRooms').length != 0){
10254
10255        $("#selector_habitaciones").val($("#internalNumRooms").val());
10256        $("#selector_habitaciones").change();
10257
10258        var internalNum1AdultsRooms = 2;
10259        var internalNum2AdultsRooms = 2;
10260        var internalNum3AdultsRooms = 2;
10261
10262        var internalNum1BabiesRooms = 0;
10263        var internalNum2BabiesRooms = 0;
10264        var internalNum3BabiesRooms = 0;
10265
10266        if ($('#internalNum1AdultsRooms').length != 0) internalNum1AdultsRooms = $("#internalNum1AdultsRooms").val()
10267        if ($('#internalNum2AdultsRooms').length != 0) internalNum2AdultsRooms = $("#internalNum2AdultsRooms").val()
10268        if ($('#internalNum3AdultsRooms').length != 0) internalNum3AdultsRooms = $("#internalNum3AdultsRooms").val()
10269
10270
10271        if ($('#internalNum1BabiesRooms').length != 0) internalNum1BabiesRooms = $("#internalNum1BabiesRooms").val()
10272        if ($('#internalNum2BabiesRooms').length != 0) internalNum2BabiesRooms = $("#internalNum2BabiesRooms").val()
10273        if ($('#internalNum3BabiesRooms').length != 0) internalNum3BabiesRooms = $("#internalNum3BabiesRooms").val()
10274
10275
10276        $("#hab1_adultos").val(internalNum1AdultsRooms);
10277        $("#hab2_adultos").val(internalNum2AdultsRooms);
10278        $("#hab3_adultos").val(internalNum3AdultsRooms);
10279        $("#hab1_ninos").val($("#internalNum1KidsRooms").val());
10280        $("#hab2_ninos").val($("#internalNum2KidsRooms").val());
10281        $("#hab3_ninos").val($("#internalNum3KidsRooms").val());
10282        $("#hab1_bebes").val(internalNum1BabiesRooms);
10283        $("#hab2_bebes").val(internalNum2BabiesRooms);
10284        $("#hab3_bebes").val(internalNum3BabiesRooms);
10285
10286
10287
10288
10289    }
10290
10291
10292if ($("#internalPromocode") && $("#internalPromocode").val()){
10293
10294  $("#promocode").val($("#internalPromocode").val());
10295}
10296
10297	
10298
10299    
10300    if (typeof(DP_extend_info) === 'undefined' || !DP_extend_info.config.initialized || DP_extend_info.config.start_datepicker_input !== datePicker1Selector) {
10301        $(datePicker1Selector).datepicker({
10302
10303            
10304            minDate: new Date(),
10305            altFormat: "dd/mm/yy",
10306            dateFormat: "dd/mm/yy",
10307            
10308            onClose: function (selectedDate, inst) {
10309                if (selectedDate) {
10310                    var theDate = $.datepicker.parseDate("dd/mm/yy", selectedDate);
10311
10312                    var theSelectedDate = $.datepicker.parseDate("dd/mm/yy", selectedDate);
10313                    theSelectedDate.setDate(theSelectedDate.getDate());
10314                    $(datePicker1Selector).datepicker('setDate', theSelectedDate);
10315
10316                    if (typeof(min_stay_number) != 'undefined'){
10317                        theDate.setDate(theDate.getDate() + min_stay_number);
10318                    } else {
10319                        theDate.setDate(theDate.getDate() + 1);
10320                    }
10321                    $(datePicker2Selector).datepicker("option", "minDate", theDate);
10322                    $(datePicker2Selector).datepicker('setDate', theDate);
10323                    $(this).closest("#contenedor_fechas").find(datePicker2Selector).datepicker("show");
10324                }
10325            }
10326        });
10327
10328
10329        $(datePicker2Selector).datepicker({
10330            
10331            
10332            minDate: minDateDeparture(),
10333            altFormat: "dd/mm/yy",
10334            dateFormat: "dd/mm/yy"
10335        });
10336
10337
10338        $(datePicker1Selector).change(function () {
10339            var date2 = $(this).datepicker('getDate', '+3d');
10340            $(datePicker1Selector).datepicker('setDate', date2);
10341            date2.setDate(date2.getDate() + 1);
10342            $(datePicker2Selector).datepicker('setDate', date2);
10343            checkDates();
10344        });
10345
10346        $(datePicker2Selector).change(function () {
10347            var date2 = $(this).datepicker('getDate', '+3d');
10348            $(datePicker2Selector).datepicker('setDate', date2);
10349            checkDates();
10350        });
10351
10352        $(datePicker1Selector).removeAttr('disabled');
10353        $(datePicker2Selector).removeAttr('disabled');
10354    }
10355    
10356
10357
10358
10359});
10360
10361
10362
10363
10364function  minDateDeparture(){
10365
10366   if  ($(datePicker1Selector).val()){
10367        var theDate = $.datepicker.parseDate("dd/mm/yy", $(datePicker1Selector).val());
10368        theDate.setDate(theDate.getDate() + 1 );
10369   }
10370   else{
10371       var theDate = new Date();
10372   }
10373
10374    return theDate;
10375
10376}
10377
10378function mostrarHabitaciones(selector_habitaciones) {
10379
10380
10381
10382	for ( var i = 3; i > selector_habitaciones; i--) {
10383
10384        //$('#hab' + i).hide();
10385	    $('[id="hab'+ i + '"]').each(function() {
10386            $(this).hide();
10387        });
10388
10389		//$('#childrenRoom' + (i + 1)).val("0");
10390		$('[id="childrenRoom'+ (i + 1) + '"]').each(function() {
10391            $(this).val("0");
10392        });
10393	}
10394	for ( var i = selector_habitaciones; i > 0; i--) {
10395		//$('#hab' + i).show();
10396
10397		$('[id="hab'+ i + '"]').each(function() {
10398            $(this).show();
10399
10400        });
10401	}
10402}
10403
10404function bookingSearch(){
10405	
10406		if (!checkDates()){
10407			return false;
10408		}
10409
10410        var destination_input = $("form.paraty-booking-form.motor2").find(".destination");
10411        if(destination_input.length && destination_input.val() == ''){
10412            $("form.paraty-booking-form .destination_field, form.paraty-booking-form.motor2 .destination_wrapper").show();
10413            return false;
10414        }
10415
10416        try {
10417            ga(function (tracker) {
10418                client_id = tracker.get('clientId');
10419            });
10420            $('<input>').attr({
10421                type: 'hidden',
10422                id: '_ga',
10423                name: '_ga',
10424                value: client_id
10425            }).appendTo($("#search-button").closest('form'));
10426        }
10427        catch (err) {
10428            console.log("Google Analytics defined incorrectly (May use a old version)");
10429        }
10430	
10431		var opts = {
10432		  lines: 13, // The number of lines to draw
10433		  length: 4, // The length of each line
10434		  width: 3, // The line thickness
10435		  radius: 10, // The radius of the inner circle
10436		  rotate: 0, // The rotation offset
10437		  color: '#e1e1e1', // #rgb or #rrggbb
10438		  speed: 1.5, // Rounds per second
10439		  trail: 60, // Afterglow percentage
10440		  shadow: false, // Whether to render a shadow
10441		  hwaccel: false, // Whether to use hardware acceleration
10442		  className: 'spinner', // The CSS class to assign to the spinner
10443		  zIndex: 2e9, // The z-index (defaults to 2000000000)
10444		  top: 'auto', // Top position relative to parent in px
10445		  left: 'auto' // Left position relative to parent in px
10446		};
10447
10448		
10449		var target = document.getElementById('envio_spinner');
10450
10451        if( $('#booking-search-popup').length ) {
10452            show_booking_search_popup($('#searchForm'));
10453            return false;
10454
10455        } else {
10456		    $("#search-button").hide();
10457		    var spinner = new Spinner(opts).spin(target);
10458            $('#searchForm').submit();
10459        }
10460};
10461
10462</script>
10462
10463
10464
10465<script>
10466    adult_tag = "Adult";
10467    adults_tag = "Adults";
10468    kid_tag = "Child";
10469    kids_tag = "Children";
10470    baby_tag = "Baby";
10471    babies_tag = "Babies";
10472    no_dispo_text = "Unavailable";
10473</script>
10473
10474
10475
10476    
10477
10478
10479<script async>
10480    ($ => {
10481        if (typeof window.only_once_rescueseeker == "undefined") {
10482            // Reserve synchronously so a concurrent re-injection does not fire a second load.
10483            window.only_once_rescueseeker = 1;
10484            $.getScript("https://rescueseeker-default-697653561069.europe-west1.run.app/static/rescue-seeker/common/js/rescue-seeker-widget.js?v=2")
10485                .done(function (script, textStatus) {
10486                    if (typeof RescueSeeker === 'undefined') {
10487                        console.error("RESCUE SEEKER: script loaded but global missing");
10488                        window.only_once_rescueseeker = undefined; // release so a later load can retry
10489                        return;
10490                    }
10491                    console.log("RESCUE SEEKER: Main rescue seeker script loaded!");
10492
10493                    
10494                        RescueSeeker.config.email_controller = 'hotel-webs';
10495                    
10496                    RescueSeeker.load('sa-amaro', 'en', 'paraty');
10497                })
10498                .fail(function (jqxhr, settings, exception) {
10499                    window.only_once_rescueseeker = undefined; // release on failure so a later load can retry
10500                    console.error("RESCUE SEEKER: Main rescue seeker script NOT loaded!");
10501                    console.error(exception);
10502                });
10503        }
10504    })(jQuery);
10505</script>
10505
10506
10507
10508
10509
10510
10511
10512</div>
10513            </div>
10514        </div>
10515    </div>
10516
10517
10518<script>
10519    $.simpleWeather({
10520        location: 'Fatima',
10521        woeid: '',
10522        unit: 'c',
10523        success: function (weather) {
10524            var weather_icon = weather.code,
10525                weather_img = 'https://cdn.paraty.es/static_files/sahotels/generic/202608191505/images/weather/1/' + weather_icon + '.png',
10526                weather_temp = Math.round(weather.temp);
10527
10528            $("#weather_temp").find(".temp").html(weather_temp + "º");
10529            $("#weather_img").find("img").attr("src", weather_img);
10530        },
10531        error: function (error) {
10532            console.log("Error con api del tiempo")
10533        }
10534    });
10535</script>
10535
10536<style>
10537    .automatic_floating_picture {
10538        position: fixed;
10539        bottom: 32px;
10540        left: 32px;
10541        z-index: 1000;
10542        transition: .3s all;
10543    }
10544
10545    
10546      .automatic_floating_picture.hide_picture{
10547        opacity: 0;
10548        left: -100%;
10549      }
10550    
10551
10552    .automatic_floating_picture .right {
10553        position: fixed;
10554        bottom: 32px;
10555        right: 32px;
10556        z-index: 1000;
10557    }
10558
10559    
10560    .automatic_floating_picture img {
10561        width: 100%;
10562        height: 100%;
10563    }
10564
10565    
10566</style>
10567
10568<div class="automatic_floating_picture ">
10569    
10570</div>
10571
10572
10573
10574
10575
10576<script>
10577    $(document).on('popupSeekerReady', function () {
10578        const sid = new URL(window.location.href).searchParams.get('sid');
10579        const sidParam = sid ? `&sid=${encodeURIComponent(sid)}` : '';
10580        $.post(`/utils?action=get_last_search&namespace=sa-amaro${sidParam}`)
10581            .done(function (data) {
10582                if (data.event_name && data.event_data) {
10583                    $(document).trigger(data.event_name, data.event_data);
10584                }
10585            })
10586            .fail(function (jqxhr, settings, exception) {
10587                console.error("LAST SEARCH: get_last_search request failed!");
10588                console.error(exception);
10589            });
10590    });
10591
10592    $(document).on('last_search.copy_url', function (event, eventData) {
10593        const shareElement = $("#share_last_search");
10594        const path = (shareElement.data('link') || '').trim() || window.last_search?.search_url;
10595
10596        if (!path) {
10597            showCopyErrorNotification('');
10598            return;
10599        }
10600
10601        const link = window.location.origin + path;
10602
10603        if (navigator.clipboard && navigator.clipboard.writeText) {
10604            navigator.clipboard.writeText(link).then(function() {
10605                showCopySuccessNotification();
10606            }).catch(function(err) {
10607                fallbackCopyToClipboard(link);
10608            });
10609        } else {
10610            fallbackCopyToClipboard(link);
10611        }
10612
10613        // Fallback for older browsers or errors
10614        function fallbackCopyToClipboard(text) {
10615            try {
10616                const tempInput = $('<input>');
10617                $('body').append(tempInput);
10618                tempInput.val(text).select();
10619
10620                const successful = document.execCommand('copy');
10621                tempInput.remove();
10622
10623                if (successful) {
10624                    showCopySuccessNotification();
10625                } else {
10626                    showCopyErrorNotification(text);
10627                }
10628            } catch (err) {
10629                showCopyErrorNotification(text);
10630            }
10631        }
10632
10633        function showCopySuccessNotification() {
10634            try {
10635                $(document).trigger("notification.popup.seeker", {
10636                    type: 'success',
10637                    title: 'Copied!',
10638                    content: 'The search link has been copied to its clipboard'
10639                });
10640            } catch {
10641                alert('The search link has been copied to its clipboard');
10642            }
10643        }
10644
10645        function showCopyErrorNotification(link) {
10646            try {
10647                $(document).trigger("notification.popup.seeker", {
10648                    type: 'error',
10649                    title: "Copy error",
10650                    content: `You cannot copy the link to the clipboard. Try it again or copy the URL manually. ${link}`
10651                });
10652            } catch {
10653                alert(`You cannot copy the link to the clipboard. Try it again or copy the URL manually. ${link}`);
10654            }
10655        }
10656    });
10657</script>
10657<link rel="stylesheet" href="https://cdn.paraty.es/static_files/sahotels/generic/202608191505/css/utils/users/reset_password_banner.css?v=1.13">
10658
10659<div class="popup-container" id="user-reset-pass-general" style="display:none">
10660  <i class="fas fa-times close-popup"></i>
10661  <p class="popup-title">Access recovery</p>
10662  <p class="popup-text">Enter the new password: </p>
10663  <div class="popup-restart-password-form">
10664      <input class="input-form" name="new-password" id="reset-new-password" type="password" placeholder="New Password">
10665      <input class="input-form" name="repeat-password" id="reset-repeat-password" type="password" placeholder="Confirm new password">
10666      <button class="btn-send-form">Change Password</button>
10667  </div>
10668</div>
10669
10670<div class="popup-container success" id="reset-pass-success" style="display:none">
10671    <p class="popup-title">Data updated correctly.</p>
10672</div>
10673
10674<script type="text/javascript" src="https://cdn.paraty.es/static_files/sahotels/generic/202608191505/scripts/utils/users/reset_password_controller.js?v=202608200104" crossorigin="anonymous" integrity="sha512-ZWh8C0Oa0IJttxSUprRn+fpD/AK378BVSe17hW1ki37onww4UmU5SEsGriQv1qubBJeBCzu65a5OLUG5jyxNSQ=="></script>
10674
10675
10676<script>
10677    UserPasswordResetController.init();
10678</script>
10678<script data-cookieconsent="ignore" src="https://popup-seeker-296770026789.europe-west1.run.app/script.js?v=1.00"></script>
vendor: 1 bytes, line 10678
10678
10679<script>
10680    $(function () {
10681        try {
10682            POPUP_SEEKER.init({
10683                
10684                
10685                
10686                    public_captcha_key: '6LfnXOUUAAAAAMQr1vmiXhy_1fFw4FvsOImCLmOm',
10687                
10688                language_code: 'en',
10689                hotel_code: 'sa-amaro',
10690                
10691                    is_mobile: false,
10692                
10693                section_type: 'Inicio',
10694                section_key: 'agplfnNhaG90ZWxzchcLEgpXZWJTZWN0aW9uGICAgOi3_qoLDKIBCHNhLWFtYXJv',
10695                user_type: ['normal'],
10696            });
10697        } catch (e) {
10698            console.warn('Error initializing Popup Seeker');
10699            console.warn(e);
10700        }
10701    });
10702</script>
10702
10703
10704
10705
10706
10707<script>
10708    window.addEventListener("load", function (event) {
10709        var script_fa_tag = document.createElement('script');
10710        script_fa_tag.src = 'https://kit.fontawesome.com/d8b9925505.js';
10711        script_fa_tag.setAttribute("defer", "");
10712
10713        document.head.appendChild(script_fa_tag);
10714    });
10715</script>
10715
10716
10717<style>
10718    :root {
10719        --font-family-awesome: "Font Awesome 6 Pro";
10720    }
10721</style>
10722
10723</body>
10724</html>

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.